From af202a5052b6e9a1885d06941ffbba7630acb7df Mon Sep 17 00:00:00 2001 From: Dag-Erling Smørgrav Date: Tue, 7 Jul 2026 08:47:36 +0200 Subject: Retire dialog This is the last remaining piece of GPL software in the base system. The installer transitioned to bsddialog four years ago, and the last remaining dialog consumer, dpv, was turned off more than two years ago. Retire dpv, libdpv, libfigpar (used only by dpv), and dialog itself. Reviewed by: dteske Differential Revision: https://reviews.freebsd.org/D55424 --- contrib/dialog/CHANGES | 2461 -- contrib/dialog/COPYING | 504 - contrib/dialog/README | 61 - contrib/dialog/VERSION | 1 - contrib/dialog/aclocal.m4 | 7150 ------ contrib/dialog/argv.c | 168 - contrib/dialog/arrows.c | 277 - contrib/dialog/buildlist.c | 1268 -- contrib/dialog/buttons.c | 833 - contrib/dialog/calendar.c | 1016 - contrib/dialog/checklist.c | 702 - contrib/dialog/columns.c | 174 - contrib/dialog/config.guess | 1687 -- contrib/dialog/config.hin | 4 - contrib/dialog/config.sub | 1851 -- contrib/dialog/configure | 27284 ----------------------- contrib/dialog/configure.in | 285 - contrib/dialog/demo.pl | 337 - contrib/dialog/dialog-config.in | 254 - contrib/dialog/dialog.1 | 2041 -- contrib/dialog/dialog.3 | 3823 ---- contrib/dialog/dialog.c | 2144 -- contrib/dialog/dialog.h | 1002 - contrib/dialog/dialog.lsm | 23 - contrib/dialog/dialog.pl | 600 - contrib/dialog/dlg_colors.h | 280 - contrib/dialog/dlg_internals.h | 47 - contrib/dialog/dlg_keys.c | 973 - contrib/dialog/dlg_keys.h | 182 - contrib/dialog/editbox.c | 771 - contrib/dialog/formbox.c | 1002 - contrib/dialog/fselect.c | 962 - contrib/dialog/guage.c | 456 - contrib/dialog/headers-sh.in | 199 - contrib/dialog/help.c | 54 - contrib/dialog/inputbox.c | 274 - contrib/dialog/inputstr.c | 808 - contrib/dialog/install-sh | 294 - contrib/dialog/makefile.in | 363 - contrib/dialog/menubox.c | 814 - contrib/dialog/mixedform.c | 118 - contrib/dialog/mixedgauge.c | 408 - contrib/dialog/mouse.c | 162 - contrib/dialog/mousewget.c | 96 - contrib/dialog/msgbox.c | 204 - contrib/dialog/package/debian/changelog | 337 - contrib/dialog/package/debian/compat | 1 - contrib/dialog/package/debian/control | 33 - contrib/dialog/package/debian/copyright | 111 - contrib/dialog/package/debian/docs | 1 - contrib/dialog/package/debian/postinst | 7 - contrib/dialog/package/debian/rules | 140 - contrib/dialog/package/debian/source/format | 1 - contrib/dialog/package/debian/watch | 4 - contrib/dialog/package/dialog.map | 263 - contrib/dialog/package/dialog.spec | 110 - contrib/dialog/package/dialog.sym | 225 - contrib/dialog/package/freebsd/Makefile | 48 - contrib/dialog/package/freebsd/distinfo | 2 - contrib/dialog/package/freebsd/pkg-descr | 9 - contrib/dialog/package/freebsd/pkg-plist | 203 - contrib/dialog/pause.c | 259 - contrib/dialog/po/POTFILES.in | 32 - contrib/dialog/po/an.po | 111 - contrib/dialog/po/ar.po | 112 - contrib/dialog/po/ast.po | 115 - contrib/dialog/po/be@latin.po | 109 - contrib/dialog/po/bg.po | 112 - contrib/dialog/po/ca.po | 111 - contrib/dialog/po/cs.po | 114 - contrib/dialog/po/cy.po | 111 - contrib/dialog/po/da.po | 112 - contrib/dialog/po/de.po | 115 - contrib/dialog/po/dialog.pot | 120 - contrib/dialog/po/el.po | 111 - contrib/dialog/po/eo.po | 110 - contrib/dialog/po/es.po | 112 - contrib/dialog/po/et.po | 110 - contrib/dialog/po/eu.po | 112 - contrib/dialog/po/fa.po | 113 - contrib/dialog/po/fi.po | 114 - contrib/dialog/po/fr.po | 111 - contrib/dialog/po/fur.po | 113 - contrib/dialog/po/ga.po | 109 - contrib/dialog/po/gd.po | 111 - contrib/dialog/po/gl.po | 119 - contrib/dialog/po/hi.po | 113 - contrib/dialog/po/hr.po | 114 - contrib/dialog/po/hu.po | 114 - contrib/dialog/po/ia.po | 111 - contrib/dialog/po/id.po | 111 - contrib/dialog/po/is.po | 112 - contrib/dialog/po/it.po | 112 - contrib/dialog/po/ja.po | 112 - contrib/dialog/po/ku.po | 113 - contrib/dialog/po/lt.po | 112 - contrib/dialog/po/lv.po | 115 - contrib/dialog/po/makefile.inn | 249 - contrib/dialog/po/mg.po | 110 - contrib/dialog/po/mk.po | 111 - contrib/dialog/po/ms.po | 110 - contrib/dialog/po/nb.po | 108 - contrib/dialog/po/nl.po | 113 - contrib/dialog/po/pl.po | 113 - contrib/dialog/po/pt.po | 114 - contrib/dialog/po/pt_BR.po | 113 - contrib/dialog/po/rm.po | 113 - contrib/dialog/po/ro.po | 115 - contrib/dialog/po/ru.po | 115 - contrib/dialog/po/rw.po | 126 - contrib/dialog/po/sk.po | 111 - contrib/dialog/po/sl.po | 112 - contrib/dialog/po/sq.po | 113 - contrib/dialog/po/sr.po | 112 - contrib/dialog/po/sv.po | 110 - contrib/dialog/po/sw.po | 111 - contrib/dialog/po/th.po | 112 - contrib/dialog/po/tr.po | 115 - contrib/dialog/po/uk.po | 113 - contrib/dialog/po/vi.po | 113 - contrib/dialog/po/wa.po | 110 - contrib/dialog/po/zh_CN.po | 112 - contrib/dialog/po/zh_TW.po | 112 - contrib/dialog/prgbox.c | 118 - contrib/dialog/progressbox.c | 488 - contrib/dialog/rangebox.c | 421 - contrib/dialog/rc.c | 665 - contrib/dialog/rename.sh | 60 - contrib/dialog/run_test.sh | 58 - contrib/dialog/samples/README | 7 - contrib/dialog/samples/buildlist | 20 - contrib/dialog/samples/buildlist2 | 42 - contrib/dialog/samples/buildlist4 | 22 - contrib/dialog/samples/calendar | 11 - contrib/dialog/samples/calendar-stdout | 9 - contrib/dialog/samples/calendar2 | 11 - contrib/dialog/samples/calendar2-stdout | 9 - contrib/dialog/samples/calendar3 | 11 - contrib/dialog/samples/calendar3-stdout | 9 - contrib/dialog/samples/checklist | 28 - contrib/dialog/samples/checklist-8bit | 30 - contrib/dialog/samples/checklist-utf8 | 30 - contrib/dialog/samples/checklist1 | 28 - contrib/dialog/samples/checklist10 | 30 - contrib/dialog/samples/checklist11 | 33 - contrib/dialog/samples/checklist12 | 44 - contrib/dialog/samples/checklist2 | 28 - contrib/dialog/samples/checklist3 | 28 - contrib/dialog/samples/checklist4 | 28 - contrib/dialog/samples/checklist5 | 29 - contrib/dialog/samples/checklist6 | 30 - contrib/dialog/samples/checklist7 | 34 - contrib/dialog/samples/checklist8 | 33 - contrib/dialog/samples/checklist9 | 13 - contrib/dialog/samples/checklist9.txt | 21 - contrib/dialog/samples/copifuncs/copi.ifman1 | 29 - contrib/dialog/samples/copifuncs/copi.ifmcfg2 | 68 - contrib/dialog/samples/copifuncs/copi.ifmcfg4 | 30 - contrib/dialog/samples/copifuncs/copi.ifmcfg5 | 14 - contrib/dialog/samples/copifuncs/copi.ifpoll1 | 9 - contrib/dialog/samples/copifuncs/copi.ifreq1 | 20 - contrib/dialog/samples/copifuncs/copi.rcnews | 79 - contrib/dialog/samples/copifuncs/copi.sendifm2 | 15 - contrib/dialog/samples/copifuncs/copi.trnrc | 13 - contrib/dialog/samples/copifuncs/ifpatch | 101 - contrib/dialog/samples/debian.rc | 143 - contrib/dialog/samples/dft-cancel | 3 - contrib/dialog/samples/dft-extra | 3 - contrib/dialog/samples/dft-help | 3 - contrib/dialog/samples/dft-no | 3 - contrib/dialog/samples/dialog.py | 354 - contrib/dialog/samples/dselect | 11 - contrib/dialog/samples/editbox | 45 - contrib/dialog/samples/editbox-utf8 | 35 - contrib/dialog/samples/editbox2 | 45 - contrib/dialog/samples/editbox3 | 18 - contrib/dialog/samples/editbox4 | 45 - contrib/dialog/samples/form1 | 71 - contrib/dialog/samples/form1-both | 61 - contrib/dialog/samples/form1-extra | 61 - contrib/dialog/samples/form1-help | 61 - contrib/dialog/samples/form1-utf8 | 63 - contrib/dialog/samples/form2 | 84 - contrib/dialog/samples/form3 | 69 - contrib/dialog/samples/form4 | 70 - contrib/dialog/samples/form5 | 71 - contrib/dialog/samples/form6 | 71 - contrib/dialog/samples/fselect | 11 - contrib/dialog/samples/fselect-stdout | 9 - contrib/dialog/samples/fselect0 | 11 - contrib/dialog/samples/fselect1 | 20 - contrib/dialog/samples/fselect1-stdout | 18 - contrib/dialog/samples/fselect2 | 11 - contrib/dialog/samples/fselect2-stdout | 9 - contrib/dialog/samples/gauge | 22 - contrib/dialog/samples/gauge0 | 23 - contrib/dialog/samples/gauge0-input-fd | 27 - contrib/dialog/samples/gauge2 | 28 - contrib/dialog/samples/infobox | 21 - contrib/dialog/samples/infobox1 | 21 - contrib/dialog/samples/infobox2 | 21 - contrib/dialog/samples/infobox3 | 22 - contrib/dialog/samples/infobox4 | 22 - contrib/dialog/samples/infobox5 | 39 - contrib/dialog/samples/infobox6 | 41 - contrib/dialog/samples/inputbox | 20 - contrib/dialog/samples/inputbox-both | 22 - contrib/dialog/samples/inputbox-extra | 21 - contrib/dialog/samples/inputbox-help | 21 - contrib/dialog/samples/inputbox1 | 23 - contrib/dialog/samples/inputbox2 | 20 - contrib/dialog/samples/inputbox3 | 21 - contrib/dialog/samples/inputbox4 | 20 - contrib/dialog/samples/inputbox5 | 21 - contrib/dialog/samples/inputbox6-8bit | 17 - contrib/dialog/samples/inputbox6-utf8 | 18 - contrib/dialog/samples/inputbox7 | 29 - contrib/dialog/samples/inputmenu | 65 - contrib/dialog/samples/inputmenu-stdout | 63 - contrib/dialog/samples/inputmenu1 | 85 - contrib/dialog/samples/inputmenu2 | 97 - contrib/dialog/samples/inputmenu3 | 106 - contrib/dialog/samples/inputmenu4 | 86 - contrib/dialog/samples/install/FDISK.TEST | 28 - contrib/dialog/samples/install/makefile.in | 35 - contrib/dialog/samples/install/setup.c | 371 - contrib/dialog/samples/install/setup.help | 49 - contrib/dialog/samples/killall | 16 - contrib/dialog/samples/listing | 8 - contrib/dialog/samples/menubox | 27 - contrib/dialog/samples/menubox-8bit | 29 - contrib/dialog/samples/menubox-utf8 | 29 - contrib/dialog/samples/menubox1 | 27 - contrib/dialog/samples/menubox10 | 22 - contrib/dialog/samples/menubox11 | 31 - contrib/dialog/samples/menubox12 | 43 - contrib/dialog/samples/menubox2 | 27 - contrib/dialog/samples/menubox3 | 27 - contrib/dialog/samples/menubox4 | 27 - contrib/dialog/samples/menubox5 | 30 - contrib/dialog/samples/menubox6 | 28 - contrib/dialog/samples/menubox7 | 29 - contrib/dialog/samples/menubox8 | 30 - contrib/dialog/samples/menubox9 | 26 - contrib/dialog/samples/mixedform | 53 - contrib/dialog/samples/mixedform2 | 53 - contrib/dialog/samples/mixedgauge | 26 - contrib/dialog/samples/msgbox | 13 - contrib/dialog/samples/msgbox-help | 14 - contrib/dialog/samples/msgbox-utf8 | 14 - contrib/dialog/samples/msgbox1 | 34 - contrib/dialog/samples/msgbox2 | 34 - contrib/dialog/samples/msgbox3 | 22 - contrib/dialog/samples/msgbox4-8bit | 33 - contrib/dialog/samples/msgbox4-eucjp | 25 - contrib/dialog/samples/msgbox4-utf8 | 39 - contrib/dialog/samples/msgbox5 | 23 - contrib/dialog/samples/msgbox6 | 17 - contrib/dialog/samples/msgbox6a | 17 - contrib/dialog/samples/password | 20 - contrib/dialog/samples/password1 | 21 - contrib/dialog/samples/password2 | 21 - contrib/dialog/samples/passwordform1 | 61 - contrib/dialog/samples/passwordform1-utf8 | 63 - contrib/dialog/samples/pause | 10 - contrib/dialog/samples/pause-both | 14 - contrib/dialog/samples/pause-extra | 13 - contrib/dialog/samples/pause-help | 12 - contrib/dialog/samples/prgbox | 9 - contrib/dialog/samples/prgbox2 | 9 - contrib/dialog/samples/programbox | 22 - contrib/dialog/samples/programbox2 | 22 - contrib/dialog/samples/programbox3 | 22 - contrib/dialog/samples/progress | 22 - contrib/dialog/samples/progress2 | 22 - contrib/dialog/samples/radiolist | 28 - contrib/dialog/samples/radiolist1 | 33 - contrib/dialog/samples/radiolist10 | 30 - contrib/dialog/samples/radiolist2 | 30 - contrib/dialog/samples/radiolist3 | 30 - contrib/dialog/samples/radiolist4 | 30 - contrib/dialog/samples/rangebox | 11 - contrib/dialog/samples/rangebox2 | 11 - contrib/dialog/samples/rangebox3 | 11 - contrib/dialog/samples/rangebox4 | 11 - contrib/dialog/samples/report-button | 25 - contrib/dialog/samples/report-edit | 27 - contrib/dialog/samples/report-string | 28 - contrib/dialog/samples/report-tempfile | 28 - contrib/dialog/samples/report-yesno | 25 - contrib/dialog/samples/rotated-data | 23 - contrib/dialog/samples/run_test.sh | 56 - contrib/dialog/samples/setup-edit | 7 - contrib/dialog/samples/setup-tempfile | 6 - contrib/dialog/samples/setup-utf8 | 12 - contrib/dialog/samples/setup-vars | 24 - contrib/dialog/samples/shortlist | 19 - contrib/dialog/samples/slackware.rc | 142 - contrib/dialog/samples/sourcemage.rc | 142 - contrib/dialog/samples/suse.rc | 142 - contrib/dialog/samples/tailbox | 16 - contrib/dialog/samples/tailboxbg | 22 - contrib/dialog/samples/tailboxbg1 | 32 - contrib/dialog/samples/tailboxbg2 | 33 - contrib/dialog/samples/testdata-8bit | 48 - contrib/dialog/samples/textbox | 44 - contrib/dialog/samples/textbox-both | 21 - contrib/dialog/samples/textbox-help | 20 - contrib/dialog/samples/textbox.txt | 24 - contrib/dialog/samples/textbox2 | 44 - contrib/dialog/samples/textbox3 | 20 - contrib/dialog/samples/timebox | 14 - contrib/dialog/samples/timebox-stdout | 10 - contrib/dialog/samples/timebox2 | 11 - contrib/dialog/samples/timebox2-stdout | 10 - contrib/dialog/samples/treeview | 22 - contrib/dialog/samples/treeview2 | 52 - contrib/dialog/samples/treeview4 | 24 - contrib/dialog/samples/wheel | 65 - contrib/dialog/samples/whiptail.rc | 142 - contrib/dialog/samples/with-dquotes | 3 - contrib/dialog/samples/with-squotes | 3 - contrib/dialog/samples/yesno | 21 - contrib/dialog/samples/yesno-both | 24 - contrib/dialog/samples/yesno-extra | 23 - contrib/dialog/samples/yesno-help | 18 - contrib/dialog/samples/yesno-utf8 | 14 - contrib/dialog/samples/yesno2 | 18 - contrib/dialog/samples/yesno3 | 18 - contrib/dialog/samples/yesno4 | 18 - contrib/dialog/tailbox.c | 433 - contrib/dialog/textbox.c | 1004 - contrib/dialog/timebox.c | 430 - contrib/dialog/trace.c | 280 - contrib/dialog/treeview.c | 674 - contrib/dialog/ttysize.c | 87 - contrib/dialog/ui_getc.c | 681 - contrib/dialog/util.c | 3047 --- contrib/dialog/version.c | 33 - contrib/dialog/yesno.c | 171 - 340 files changed, 88746 deletions(-) delete mode 100644 contrib/dialog/CHANGES delete mode 100644 contrib/dialog/COPYING delete mode 100644 contrib/dialog/README delete mode 100644 contrib/dialog/VERSION delete mode 100644 contrib/dialog/aclocal.m4 delete mode 100644 contrib/dialog/argv.c delete mode 100644 contrib/dialog/arrows.c delete mode 100644 contrib/dialog/buildlist.c delete mode 100644 contrib/dialog/buttons.c delete mode 100644 contrib/dialog/calendar.c delete mode 100644 contrib/dialog/checklist.c delete mode 100644 contrib/dialog/columns.c delete mode 100755 contrib/dialog/config.guess delete mode 100644 contrib/dialog/config.hin delete mode 100755 contrib/dialog/config.sub delete mode 100755 contrib/dialog/configure delete mode 100644 contrib/dialog/configure.in delete mode 100755 contrib/dialog/demo.pl delete mode 100644 contrib/dialog/dialog-config.in delete mode 100644 contrib/dialog/dialog.1 delete mode 100644 contrib/dialog/dialog.3 delete mode 100644 contrib/dialog/dialog.c delete mode 100644 contrib/dialog/dialog.h delete mode 100644 contrib/dialog/dialog.lsm delete mode 100644 contrib/dialog/dialog.pl delete mode 100644 contrib/dialog/dlg_colors.h delete mode 100644 contrib/dialog/dlg_internals.h delete mode 100644 contrib/dialog/dlg_keys.c delete mode 100644 contrib/dialog/dlg_keys.h delete mode 100644 contrib/dialog/editbox.c delete mode 100644 contrib/dialog/formbox.c delete mode 100644 contrib/dialog/fselect.c delete mode 100644 contrib/dialog/guage.c delete mode 100755 contrib/dialog/headers-sh.in delete mode 100644 contrib/dialog/help.c delete mode 100644 contrib/dialog/inputbox.c delete mode 100644 contrib/dialog/inputstr.c delete mode 100755 contrib/dialog/install-sh delete mode 100644 contrib/dialog/makefile.in delete mode 100644 contrib/dialog/menubox.c delete mode 100644 contrib/dialog/mixedform.c delete mode 100644 contrib/dialog/mixedgauge.c delete mode 100644 contrib/dialog/mouse.c delete mode 100644 contrib/dialog/mousewget.c delete mode 100644 contrib/dialog/msgbox.c delete mode 100644 contrib/dialog/package/debian/changelog delete mode 100644 contrib/dialog/package/debian/compat delete mode 100644 contrib/dialog/package/debian/control delete mode 100644 contrib/dialog/package/debian/copyright delete mode 100644 contrib/dialog/package/debian/docs delete mode 100755 contrib/dialog/package/debian/postinst delete mode 100755 contrib/dialog/package/debian/rules delete mode 100644 contrib/dialog/package/debian/source/format delete mode 100644 contrib/dialog/package/debian/watch delete mode 100644 contrib/dialog/package/dialog.map delete mode 100644 contrib/dialog/package/dialog.spec delete mode 100644 contrib/dialog/package/dialog.sym delete mode 100644 contrib/dialog/package/freebsd/Makefile delete mode 100644 contrib/dialog/package/freebsd/distinfo delete mode 100644 contrib/dialog/package/freebsd/pkg-descr delete mode 100644 contrib/dialog/package/freebsd/pkg-plist delete mode 100644 contrib/dialog/pause.c delete mode 100644 contrib/dialog/po/POTFILES.in delete mode 100644 contrib/dialog/po/an.po delete mode 100644 contrib/dialog/po/ar.po delete mode 100644 contrib/dialog/po/ast.po delete mode 100644 contrib/dialog/po/be@latin.po delete mode 100644 contrib/dialog/po/bg.po delete mode 100644 contrib/dialog/po/ca.po delete mode 100644 contrib/dialog/po/cs.po delete mode 100644 contrib/dialog/po/cy.po delete mode 100644 contrib/dialog/po/da.po delete mode 100644 contrib/dialog/po/de.po delete mode 100644 contrib/dialog/po/dialog.pot delete mode 100644 contrib/dialog/po/el.po delete mode 100644 contrib/dialog/po/eo.po delete mode 100644 contrib/dialog/po/es.po delete mode 100644 contrib/dialog/po/et.po delete mode 100644 contrib/dialog/po/eu.po delete mode 100644 contrib/dialog/po/fa.po delete mode 100644 contrib/dialog/po/fi.po delete mode 100644 contrib/dialog/po/fr.po delete mode 100644 contrib/dialog/po/fur.po delete mode 100644 contrib/dialog/po/ga.po delete mode 100644 contrib/dialog/po/gd.po delete mode 100644 contrib/dialog/po/gl.po delete mode 100644 contrib/dialog/po/hi.po delete mode 100644 contrib/dialog/po/hr.po delete mode 100644 contrib/dialog/po/hu.po delete mode 100644 contrib/dialog/po/ia.po delete mode 100644 contrib/dialog/po/id.po delete mode 100644 contrib/dialog/po/is.po delete mode 100644 contrib/dialog/po/it.po delete mode 100644 contrib/dialog/po/ja.po delete mode 100644 contrib/dialog/po/ku.po delete mode 100644 contrib/dialog/po/lt.po delete mode 100644 contrib/dialog/po/lv.po delete mode 100644 contrib/dialog/po/makefile.inn delete mode 100644 contrib/dialog/po/mg.po delete mode 100644 contrib/dialog/po/mk.po delete mode 100644 contrib/dialog/po/ms.po delete mode 100644 contrib/dialog/po/nb.po delete mode 100644 contrib/dialog/po/nl.po delete mode 100644 contrib/dialog/po/pl.po delete mode 100644 contrib/dialog/po/pt.po delete mode 100644 contrib/dialog/po/pt_BR.po delete mode 100644 contrib/dialog/po/rm.po delete mode 100644 contrib/dialog/po/ro.po delete mode 100644 contrib/dialog/po/ru.po delete mode 100644 contrib/dialog/po/rw.po delete mode 100644 contrib/dialog/po/sk.po delete mode 100644 contrib/dialog/po/sl.po delete mode 100644 contrib/dialog/po/sq.po delete mode 100644 contrib/dialog/po/sr.po delete mode 100644 contrib/dialog/po/sv.po delete mode 100644 contrib/dialog/po/sw.po delete mode 100644 contrib/dialog/po/th.po delete mode 100644 contrib/dialog/po/tr.po delete mode 100644 contrib/dialog/po/uk.po delete mode 100644 contrib/dialog/po/vi.po delete mode 100644 contrib/dialog/po/wa.po delete mode 100644 contrib/dialog/po/zh_CN.po delete mode 100644 contrib/dialog/po/zh_TW.po delete mode 100644 contrib/dialog/prgbox.c delete mode 100644 contrib/dialog/progressbox.c delete mode 100644 contrib/dialog/rangebox.c delete mode 100644 contrib/dialog/rc.c delete mode 100755 contrib/dialog/rename.sh delete mode 100755 contrib/dialog/run_test.sh delete mode 100644 contrib/dialog/samples/README delete mode 100755 contrib/dialog/samples/buildlist delete mode 100755 contrib/dialog/samples/buildlist2 delete mode 100755 contrib/dialog/samples/buildlist4 delete mode 100755 contrib/dialog/samples/calendar delete mode 100755 contrib/dialog/samples/calendar-stdout delete mode 100755 contrib/dialog/samples/calendar2 delete mode 100755 contrib/dialog/samples/calendar2-stdout delete mode 100755 contrib/dialog/samples/calendar3 delete mode 100755 contrib/dialog/samples/calendar3-stdout delete mode 100755 contrib/dialog/samples/checklist delete mode 100755 contrib/dialog/samples/checklist-8bit delete mode 100755 contrib/dialog/samples/checklist-utf8 delete mode 100755 contrib/dialog/samples/checklist1 delete mode 100755 contrib/dialog/samples/checklist10 delete mode 100755 contrib/dialog/samples/checklist11 delete mode 100755 contrib/dialog/samples/checklist12 delete mode 100755 contrib/dialog/samples/checklist2 delete mode 100755 contrib/dialog/samples/checklist3 delete mode 100755 contrib/dialog/samples/checklist4 delete mode 100755 contrib/dialog/samples/checklist5 delete mode 100755 contrib/dialog/samples/checklist6 delete mode 100755 contrib/dialog/samples/checklist7 delete mode 100755 contrib/dialog/samples/checklist8 delete mode 100755 contrib/dialog/samples/checklist9 delete mode 100644 contrib/dialog/samples/checklist9.txt delete mode 100755 contrib/dialog/samples/copifuncs/copi.ifman1 delete mode 100755 contrib/dialog/samples/copifuncs/copi.ifmcfg2 delete mode 100755 contrib/dialog/samples/copifuncs/copi.ifmcfg4 delete mode 100755 contrib/dialog/samples/copifuncs/copi.ifmcfg5 delete mode 100755 contrib/dialog/samples/copifuncs/copi.ifpoll1 delete mode 100755 contrib/dialog/samples/copifuncs/copi.ifreq1 delete mode 100755 contrib/dialog/samples/copifuncs/copi.rcnews delete mode 100755 contrib/dialog/samples/copifuncs/copi.sendifm2 delete mode 100644 contrib/dialog/samples/copifuncs/copi.trnrc delete mode 100644 contrib/dialog/samples/copifuncs/ifpatch delete mode 100644 contrib/dialog/samples/debian.rc delete mode 100755 contrib/dialog/samples/dft-cancel delete mode 100755 contrib/dialog/samples/dft-extra delete mode 100755 contrib/dialog/samples/dft-help delete mode 100755 contrib/dialog/samples/dft-no delete mode 100644 contrib/dialog/samples/dialog.py delete mode 100755 contrib/dialog/samples/dselect delete mode 100755 contrib/dialog/samples/editbox delete mode 100755 contrib/dialog/samples/editbox-utf8 delete mode 100755 contrib/dialog/samples/editbox2 delete mode 100755 contrib/dialog/samples/editbox3 delete mode 100755 contrib/dialog/samples/editbox4 delete mode 100755 contrib/dialog/samples/form1 delete mode 100755 contrib/dialog/samples/form1-both delete mode 100755 contrib/dialog/samples/form1-extra delete mode 100755 contrib/dialog/samples/form1-help delete mode 100755 contrib/dialog/samples/form1-utf8 delete mode 100755 contrib/dialog/samples/form2 delete mode 100755 contrib/dialog/samples/form3 delete mode 100755 contrib/dialog/samples/form4 delete mode 100755 contrib/dialog/samples/form5 delete mode 100755 contrib/dialog/samples/form6 delete mode 100755 contrib/dialog/samples/fselect delete mode 100755 contrib/dialog/samples/fselect-stdout delete mode 100755 contrib/dialog/samples/fselect0 delete mode 100755 contrib/dialog/samples/fselect1 delete mode 100755 contrib/dialog/samples/fselect1-stdout delete mode 100755 contrib/dialog/samples/fselect2 delete mode 100755 contrib/dialog/samples/fselect2-stdout delete mode 100755 contrib/dialog/samples/gauge delete mode 100755 contrib/dialog/samples/gauge0 delete mode 100755 contrib/dialog/samples/gauge0-input-fd delete mode 100755 contrib/dialog/samples/gauge2 delete mode 100755 contrib/dialog/samples/infobox delete mode 100755 contrib/dialog/samples/infobox1 delete mode 100755 contrib/dialog/samples/infobox2 delete mode 100755 contrib/dialog/samples/infobox3 delete mode 100755 contrib/dialog/samples/infobox4 delete mode 100755 contrib/dialog/samples/infobox5 delete mode 100755 contrib/dialog/samples/infobox6 delete mode 100755 contrib/dialog/samples/inputbox delete mode 100755 contrib/dialog/samples/inputbox-both delete mode 100755 contrib/dialog/samples/inputbox-extra delete mode 100755 contrib/dialog/samples/inputbox-help delete mode 100755 contrib/dialog/samples/inputbox1 delete mode 100755 contrib/dialog/samples/inputbox2 delete mode 100755 contrib/dialog/samples/inputbox3 delete mode 100755 contrib/dialog/samples/inputbox4 delete mode 100755 contrib/dialog/samples/inputbox5 delete mode 100755 contrib/dialog/samples/inputbox6-8bit delete mode 100755 contrib/dialog/samples/inputbox6-utf8 delete mode 100755 contrib/dialog/samples/inputbox7 delete mode 100755 contrib/dialog/samples/inputmenu delete mode 100755 contrib/dialog/samples/inputmenu-stdout delete mode 100755 contrib/dialog/samples/inputmenu1 delete mode 100755 contrib/dialog/samples/inputmenu2 delete mode 100755 contrib/dialog/samples/inputmenu3 delete mode 100755 contrib/dialog/samples/inputmenu4 delete mode 100644 contrib/dialog/samples/install/FDISK.TEST delete mode 100644 contrib/dialog/samples/install/makefile.in delete mode 100644 contrib/dialog/samples/install/setup.c delete mode 100644 contrib/dialog/samples/install/setup.help delete mode 100755 contrib/dialog/samples/killall delete mode 100755 contrib/dialog/samples/listing delete mode 100755 contrib/dialog/samples/menubox delete mode 100755 contrib/dialog/samples/menubox-8bit delete mode 100755 contrib/dialog/samples/menubox-utf8 delete mode 100755 contrib/dialog/samples/menubox1 delete mode 100755 contrib/dialog/samples/menubox10 delete mode 100755 contrib/dialog/samples/menubox11 delete mode 100755 contrib/dialog/samples/menubox12 delete mode 100755 contrib/dialog/samples/menubox2 delete mode 100755 contrib/dialog/samples/menubox3 delete mode 100755 contrib/dialog/samples/menubox4 delete mode 100755 contrib/dialog/samples/menubox5 delete mode 100755 contrib/dialog/samples/menubox6 delete mode 100755 contrib/dialog/samples/menubox7 delete mode 100755 contrib/dialog/samples/menubox8 delete mode 100755 contrib/dialog/samples/menubox9 delete mode 100755 contrib/dialog/samples/mixedform delete mode 100755 contrib/dialog/samples/mixedform2 delete mode 100755 contrib/dialog/samples/mixedgauge delete mode 100755 contrib/dialog/samples/msgbox delete mode 100755 contrib/dialog/samples/msgbox-help delete mode 100755 contrib/dialog/samples/msgbox-utf8 delete mode 100755 contrib/dialog/samples/msgbox1 delete mode 100755 contrib/dialog/samples/msgbox2 delete mode 100755 contrib/dialog/samples/msgbox3 delete mode 100755 contrib/dialog/samples/msgbox4-8bit delete mode 100755 contrib/dialog/samples/msgbox4-eucjp delete mode 100755 contrib/dialog/samples/msgbox4-utf8 delete mode 100755 contrib/dialog/samples/msgbox5 delete mode 100755 contrib/dialog/samples/msgbox6 delete mode 100755 contrib/dialog/samples/msgbox6a delete mode 100755 contrib/dialog/samples/password delete mode 100755 contrib/dialog/samples/password1 delete mode 100755 contrib/dialog/samples/password2 delete mode 100755 contrib/dialog/samples/passwordform1 delete mode 100755 contrib/dialog/samples/passwordform1-utf8 delete mode 100755 contrib/dialog/samples/pause delete mode 100755 contrib/dialog/samples/pause-both delete mode 100755 contrib/dialog/samples/pause-extra delete mode 100755 contrib/dialog/samples/pause-help delete mode 100755 contrib/dialog/samples/prgbox delete mode 100755 contrib/dialog/samples/prgbox2 delete mode 100755 contrib/dialog/samples/programbox delete mode 100755 contrib/dialog/samples/programbox2 delete mode 100755 contrib/dialog/samples/programbox3 delete mode 100755 contrib/dialog/samples/progress delete mode 100755 contrib/dialog/samples/progress2 delete mode 100755 contrib/dialog/samples/radiolist delete mode 100755 contrib/dialog/samples/radiolist1 delete mode 100755 contrib/dialog/samples/radiolist10 delete mode 100755 contrib/dialog/samples/radiolist2 delete mode 100755 contrib/dialog/samples/radiolist3 delete mode 100755 contrib/dialog/samples/radiolist4 delete mode 100755 contrib/dialog/samples/rangebox delete mode 100755 contrib/dialog/samples/rangebox2 delete mode 100755 contrib/dialog/samples/rangebox3 delete mode 100755 contrib/dialog/samples/rangebox4 delete mode 100644 contrib/dialog/samples/report-button delete mode 100644 contrib/dialog/samples/report-edit delete mode 100644 contrib/dialog/samples/report-string delete mode 100644 contrib/dialog/samples/report-tempfile delete mode 100644 contrib/dialog/samples/report-yesno delete mode 100755 contrib/dialog/samples/rotated-data delete mode 100755 contrib/dialog/samples/run_test.sh delete mode 100644 contrib/dialog/samples/setup-edit delete mode 100644 contrib/dialog/samples/setup-tempfile delete mode 100644 contrib/dialog/samples/setup-utf8 delete mode 100644 contrib/dialog/samples/setup-vars delete mode 100755 contrib/dialog/samples/shortlist delete mode 100644 contrib/dialog/samples/slackware.rc delete mode 100644 contrib/dialog/samples/sourcemage.rc delete mode 100644 contrib/dialog/samples/suse.rc delete mode 100755 contrib/dialog/samples/tailbox delete mode 100755 contrib/dialog/samples/tailboxbg delete mode 100755 contrib/dialog/samples/tailboxbg1 delete mode 100755 contrib/dialog/samples/tailboxbg2 delete mode 100644 contrib/dialog/samples/testdata-8bit delete mode 100755 contrib/dialog/samples/textbox delete mode 100755 contrib/dialog/samples/textbox-both delete mode 100755 contrib/dialog/samples/textbox-help delete mode 100644 contrib/dialog/samples/textbox.txt delete mode 100755 contrib/dialog/samples/textbox2 delete mode 100755 contrib/dialog/samples/textbox3 delete mode 100755 contrib/dialog/samples/timebox delete mode 100755 contrib/dialog/samples/timebox-stdout delete mode 100755 contrib/dialog/samples/timebox2 delete mode 100755 contrib/dialog/samples/timebox2-stdout delete mode 100755 contrib/dialog/samples/treeview delete mode 100755 contrib/dialog/samples/treeview2 delete mode 100755 contrib/dialog/samples/treeview4 delete mode 100755 contrib/dialog/samples/wheel delete mode 100644 contrib/dialog/samples/whiptail.rc delete mode 100755 contrib/dialog/samples/with-dquotes delete mode 100755 contrib/dialog/samples/with-squotes delete mode 100755 contrib/dialog/samples/yesno delete mode 100755 contrib/dialog/samples/yesno-both delete mode 100755 contrib/dialog/samples/yesno-extra delete mode 100755 contrib/dialog/samples/yesno-help delete mode 100755 contrib/dialog/samples/yesno-utf8 delete mode 100755 contrib/dialog/samples/yesno2 delete mode 100755 contrib/dialog/samples/yesno3 delete mode 100755 contrib/dialog/samples/yesno4 delete mode 100644 contrib/dialog/tailbox.c delete mode 100644 contrib/dialog/textbox.c delete mode 100644 contrib/dialog/timebox.c delete mode 100644 contrib/dialog/trace.c delete mode 100644 contrib/dialog/treeview.c delete mode 100644 contrib/dialog/ttysize.c delete mode 100644 contrib/dialog/ui_getc.c delete mode 100644 contrib/dialog/util.c delete mode 100644 contrib/dialog/version.c delete mode 100644 contrib/dialog/yesno.c (limited to 'contrib') diff --git a/contrib/dialog/CHANGES b/contrib/dialog/CHANGES deleted file mode 100644 index 8e5d22e400a3..000000000000 --- a/contrib/dialog/CHANGES +++ /dev/null @@ -1,2461 +0,0 @@ --- $Id: CHANGES,v 1.723 2021/01/17 20:21:41 tom Exp $ --- Thomas E. Dickey - -This version of dialog was originally from a Debian snapshot. I've done this -to it: - -2021/01/17 - + updated dialog.pot - + add option --no-hot-list, to allow suppressing the hotkey feature - from lists. - + increase minimum height of inputbox to avoid input field overlapping - with the button-box (report by Victor Ananjevsky). - + modify options-parsing to permit a "no" on any boolean option and - deprecating the "no" options without a "-" , e.g., generalizing on - "--nook" equivalence to "--no-ok". - -2021/01/12 - + minor spelling fixes, per codespell - + update configure macros, for quoting/escaping fixes per shellcheck - + update config.guess, config.sub - -2020/11/26 - + modify configure script's compiler check to work around Xcode's - useless aliases for standard C. - + enable keep-tite feature for NetBSD 8 and up; earlier releases would - dump core. - > new features/fixes (Glenn Herteg) - + add option "--cursor-off-label" - + add option "--erase-on-exit" - + fix errata in manpage. - + fix logic: dlg_button_to_char() would return wrong value if no - uppercase was found - -2020/11/25 - + add DIALOG_TIMEOUT to sample scripts, and use report-button more - consistently to handle unexpected exit-status values. - -2020/11/24 - + add dlg_getenv_num() and dlg_getenv_str(). - + add DLG_EXIT_TIMEOUT to allow scripts to exit on an expired timeout - with an exit-status different from DLG_EXIT_ERROR or DLG_EXIT_ESC - (patch by Norbert Koch). - -2020/11/23 - + modify dlg_ok_label() and dlg_ok_labels() to ignore --no-ok if all - buttons would be omitted. - + add/use dlg_der_window() to account for derived windows just like - subwindows, to fix regression in dlg_getc() in fselect/dselect - widget. - + modify several widgets to make their handling of --no-ok consistent - with the majority of the widgets: editbox.c, menubox.c, msgbox.c, - rangebox.c, textbox.c, timebox.c - + add ^D as binding for new virtual key DLGK_LEAVE, which will close - the current dialog by activating the currently-selected button. - + improve manual-page description of --no-ok option (reports by - Hans Mueller, Gil Delescluse). - + modify configure script to make Solaris -R rpath feature work - -2020/11/21 - + fix regression in dlg_getc() caused by not taking into account - subwindows used for input (report by Michael Wihl). - -2020/11/20 - + add validity-checks for window pointer (report/testcase by Michael - Wihl). - + improve configure macros: - CF_CLANG_COMPILER: apply compiler-flags needed for test. - CF_WITH_SCREEN_PDCURSES: use this to reduce X11-checks. - -2020/11/17 - + amend initialization for dlg_getc to fix regression in pause widget - from 2020/03/27 changes (reports by Aidan Tessier, Norbert Koch, - Josmar Pierri). - + improve configure macros: - CF_CLANG_COMPILER: split-out check for -Qunused-arguments to ensure - that clang supports it. IBM xlclang does not. - CF_MIXEDCASE_FILENAMES: when cross-compiling to darwin (macOS), - assume the filesystem doesn't support mixed-case - -2020/09/21 - + modify init_dialog's initialization of tab_len and aspect_ratio to - avoid overwriting initialization done in process_common_options - (report/patch by Rainer Weikusat, Debian #970508). - -2020/09/13 - + fix out-of-order description for --tailbox vs --rangebox in manpage - (report by Glenn Herteg). - + updated configure-macros: compiler-warnings and shared-library - options. Changed configure --with-warnings to --enable-warnings for - consistency. - + update config.guess - -2020/04/01 - + updated sq.po from - http://translationproject.org/latest/dialog/ - -2020/03/27 - + add clarification in manual page to show when the single/double - quotes may be needed (prompted by discussion with Danilo G Baio). - + fix an extra ".exe" in makefile.in which prevented Cygwin build. - + fix most cppcheck warnings - + tailbox/tailboxbg's exit-button now works with mouse-clicks - + fix repainting while resizing for the editbox widget. - + add configure-check for curses_exit() from ncurses 6.2 - + fix a few memory leaks in fselect.c, mixedgauge.c when resizing. - + fix inconsistency in dlg_string_to_argv() which made the checklist9 - example not work. - + add empty-string check in dlg_print_listitem() to avoid indexing past - the end of the array of character-offsets. - + improve handling of KEY_RESIZE by repainting the backtitle after - clearing the screen (integrated patch by Rainer Weikusat, Debian - #954185). - + improve logic for wtimeout() calls which are used to set temporary - non-blocking reads (prompted by patch by Rainer Weikusat, Debian - #954220). - + add "make check" rule. - + updated configure-macros. - -2020/02/28 - + updated configure-macros, to work around ncurses vs xcode's c99 -W - + update config.guess - -2019/12/31 - + updated configure-macros. - + update config.guess - -2019/12/10 - + correct rc-file lookup of "default" color (report by Grady Martin, - cf: 2019/09/24). - + fix several issues in the sample scripts reported by shellcheck. - + fix a few spelling errors reported by codespell (report by Jens - Schleusener). - + correct check for return-value of isblank(), which is not necessarily - 0/1 (report/patch by Paul Cercueil, Peter Korsgaard, cf: 2018/05/31). - -2019/12/09 - + amend change for parsing command-options before calling init_dialog, - to handle --no-shadow, etc., which are initialized in init_dialog - (report by Paul Cercueil, cf: 2018/06/21). - + add dlg_trace_va_msg to manpage, symbol files. - -2019/11/10 - + improve layout of several widgets' data area when maximizing. - + modify dselect/fselect to work with autosizing (Debian #915949). - + add error messages from dlg_exiterr() to trace file. - + improve manual page description of escaping in key-bindings. - + modify inputmenu to recognize the "Cancel" button and keys bound to - that feature while editing a renamed menu item. - + revert one change, in form.c to the --last-key feature (Debian - #942025). - + correct ordering of libraries in configure-script, which appended - in a case where it should have prepended. - + update config.guess, config.sub - -2019/09/26 - + improve dialog-config script's filtering of -L options using the - linker default directories. - + improve dialog-config script, adding a -L option corresponding to - the configure --libdir option if it would be a duplicate (report by - Andrew Kosteltsev). - + build-fix for configure --disable-trace - + updated pt.po from - http://translationproject.org/latest/dialog/ - -2019/09/24 - + allow for underline- and reverse-video flags in the ".rc" file - (integrated patch by Richard Robbins). - -2019/08/08 - + amend change to --last-key feature to eliminate an unnecessary - separator (report by Gabriele Balducci). - -2019/08/06 - + extend --last-key feature to the remaining widgets which have - ok/cancel buttons, and add logic to map keys which happen to be - bound to ok/extra/cancel/help to simulate a button-press on the - corresponding button (report by "sgewrk"). - -2019/08/01 - + further fixes for dialog-config.in (report by Andrew Kosteltsev). - -2019/07/28 - + modify dialog-config.in so that setting prefix or exec-prefix to - a given value with --prefix=VALUE or --exec-prefix=VALUE has the - expected result of changing bindir, etc. - + correct substitution for $LIBS value in dialog-config.in (report by - Andrew Kosteltsev). - -2019/07/24 - + modify dlg_will_resize() and dlg_result_key() functions to reduce - the chance that dialog exits on a SIGWINCH (Debian #930775). - + make test-package for the development headers/library - + add --libs-only-L, etc., to dialog-config script (prompted by - discussion with Andrew Kosteltsev). - + fix a memory leak in gauge widget (Andrew Kosteltsev). - + minor fix for CF_GCC_WARNINGS - + update config.guess, config.sub - -2019/02/11 - + modify to work with ncurses' threaded-library, which does not allow - assignment to LINES/COLS (report by Marcus Roeckrath). - + correct clearing after text in progressbox from 2018/06/21 changes - for resizing (reports by David Boyd, Alan Somers). - + improved configure macros CF_GNU_SOURCE, CF_POSIX_C_SOURCE, - CF_XOPEN_SOURCE - + update config.guess, config.sub - -2018/11/07 - + convert ja.po to UTF-8 for consistency (suggested by Stanislav - Brabec). - + repair mis-encoded hi.po (report/analysis by Stanislav Brabec). - -2018/10/22 - + improved configure macros CF_CC_ENV_FLAGS, CF_LD_RPATH_OPT, - CF_LIBRARY_PATH, CF_SHARED_OPTS, CF_WITH_MAN2HTML, - CF_WITH_VERSIONED_SYMS from ncurses - + add ast.po, from - http://translationproject.org/latest/dialog/ - -2018/06/21 - + improve file-offset computation in textbox.c (Werner Fink). - + fix an overlooked case with real_auto_size() to maximize when - height or width is given as -1. - + build-fixes for configure options "--disable-Xdialog2" and - "--disable-form" - + add traces for each widget to show its parameters. - + modify color scheme for mixedgauge to use the dialog window colors, - like the captions. - + fix a too-small malloc in the mixedgauge widget. - + fix a use-after-free in dlg_remove_callback(). - + improve handling of SIGWINCH for several widgets (Debian #865840). - + menubox, the point of the Debian report was that it would be nice - to increase the window size if the terminal size increases. Did - that as a special case less problematic than decreasing the - terminal size. Added samples/menubox11 to demonstrate by - comparison with menubox10 a problem with debconf which puts extra - newlines in the caption that interfere with autowrap. - + progressbox and derived prgbox, programbox, now handle resizing. - + yesno, window was cleared - + add dlg_ttysize() to support new options, allowing scripts to obtain - some text-formatting details without initializing the terminal. - + add options --print-text-only, and --print-text-size for scripts that - adjust the widget size according to how the captions are formatted. - + improve dialog.pl: - + add demo.pl, to demonstrate the functions - + quote/escape string parameters passed to dialog. - + ensure all "integer" parameters are really integers. - + use actual screensize for list captions rather than assuming 24 - lines. - + when trimming blanks, treat unconverted tabs the same as spaces. - + correct parameter to test when trimming blanks from the script, - e.g., with "--trim" (report by Jarno Suni). - + improve documentation of the various whitespace-filtering options, - to show which take precedence (Debian #867536, cf: Debian #102942). - + modify msgbox.c, yesno.c to bind SCROLLKEY_BINDINGS before - TRAVERSE_BINDINGS so that up/down arrow will by default scroll the - message up/down rather than be aliases for tab-traversal (report by - Fredrik Kers). - + modify dump_one_binding() to show when a binding is overridden. - + improve format of trace-file, making comment-syntax consistent, - as well as showing argv-splitting as a series of comments. - + modify dlg_string_to_argv() to change the quoting behavior to be - more consistent with shell behavior (patch by Denilson Sa Maia). - + modify dlg_getc() to return ESC when a timeout expires, notifying - callers that a quit occurred rather than exiting the application - (suggested by Rodrigo Freitas). - + modify handle_inputs() to ensure cursor-visibility is restored when - there is no input character available (report by Guillaume Vareille). - + improve comment in manual page regarding which widgets can use the - "--help-button" (prompted by discussion with Csanyi Pal). - + add a check for valid object pointer in tailbox's main loop since - the getc-callback may have been freed within ui_getc.c (report by - "David"). - + improved configure macros for ncurses: CF_GNU_SOURCE, CF_SHARED_OPTS, - CF_CURSES_LIBS, CF_CURSES_FUNCS, CF_NCURSES_CONFIG - + improved configure script checks for groff vs man2html: - CF_PROG_GROFF and CF_WITH_MAN2HTML - + build-fix from lynx for AM_WITH_NLS configure macro - + update config.guess, config.sub - -2017/12/09 - + update ftp url in test-packages. - + modify test-packages to use recommended compiler/linker flags. - + improved configure macros AM_WITH_NLS, CF_CC_ENV_FLAGS, - CF_CURSES_LIBS, CF_NCURSES_CONFIG, CF_SHARED_OPTS, CF_WITH_LIBTOOL, - CF__INTL_BODY. - + update config.guess, config.sub - -2017/05/09 - + improved configure macros CF_ADD_CFLAGS, CF_CC_ENV_FLAGS, and - CF_SHARED_OPTS. - + updated hu.po and tr.po from - http://translationproject.org/latest/dialog/ - + update config.guess, config.sub - -2017/01/31 - + use DLG_TRACE macro consistently to make "--disable-trace" configure - option work. - + modify buildlist widget to support option "--reorder" for to allow - user to reorder the data based on the sequence of selections - (discussion with Paraic O'Ceallaigh). - + fill background color on unused parts of buildlist. - + fix a minor error in buildlist which let pageup switch columns. - + change several calls to dlg_trace_msg to prefix with "#" to make - the trace logs more consistent for parsing. - + add samples/run_test.sh - + further improve performance with very long command-lines by changes - to howmany_tags(). - + modify dlg_string_to_argv() to convert escaped double-quotes to - plain double-quotes when within a double-quoted string. - + modify makefile to apply CFLAGS to linking - + modify dlg_string_to_argv() to ignore escaped newlines except when - quoted, fixing a problem with samples/checklist9. - + interpret $DIALOGOPTS before expanding "--file", etc., to allow - the environment variable to turn on tracing in that process. - + improve performance when processing very long command lines, e.g., - using "--file" by changing dialog_opts[] to an array of pointers to - the expanded argv[] (discussion with Lars Tauber). - + modified autoconf macros - + CF_CC_ENV_FLAGS amend the last change to move only the - preprocessor, optimization and warning flags to CPPFLAGS and - CFLAGS, leaving the residue in CC. That happens to work for gcc's - various "model" options, but may require tuning for other compilers - + CF_LARGEFILE workaround for clang exit-code vs warnings - + CF_MATH_LIB quiet strict gcc warning - + CF_WITH_LIBTOOL fix a few places in configure/build scripts where - DESTDIR and rpath were combined - + CF_XOPEN_SOURCE add "uclinux" to list of Linux's - + update config.guess, config.sub - -2016/11/20 - + added fur.po (Friulian) from - http://translationproject.org/latest/dialog/ - -2016/08/28 - + improve parsing and trace for "bindkey", to convert space to/from - "\s", as well as handle octal escapes for single byte characters. - + change explicit checks for space character used for select or toggle - to make this rebindable to "TOGGLE" (prompted by discussion with - Paul van Tilburg). - + add default bindings for cursor left/right to formbox. The cursor - left/right cases were replaced with rebindable symbols in 2005/12/07 - without providing these keys as default values (report/patch by - Miroslav Lichvar). - + modified autoconf macros - + CF_PROG_LINT add cpplint to programs to use; drop ad hoc tdlint and - alint. - + CF_CC_ENV_FLAGS don't limit the check to -I, -U and -D options, - since the added options can include various compiler options before - and after preprocessor options. - + CF_GNU_SOURCE recent glibc (Debian 2.23-4 for example) has - misordered ifdef/checks for new symbol _DEFAULT_SOURCE, producing - warning messages when only _GNU_SOURCE is defined. Add a followup - check to define _DEFAULT_SOURCE. - + CF_XOPEN_SOURCE use _GNU_SOURCE for cygwin headers, tested with - cygwin 2.3, 2.5 (patch by Corinna Vinschen). - + mention --no-collapse option in manual page description of - --tab-correct option. - + update config.guess, config.sub - -2016/04/24 - + fix a special case in drawing shadow on a line-drawing cell where the - alternate-character set flag was lost (report by Martin Kravec). - + fix a regression from 2015/05/13 changes for escaping; it is - necessary to retain backslashes within quotes to make "\Z" escapes - work (report by Marcin Krol). - + fix test package for RPMs; changes in 2015 omitted symbolic links - for the library. - + fix typo in help message for "--buildlist" (report by Rihards Olups). - + modified autoconf macros - + CF_PROG_AR, CF_AR_FLAGS added to improve check for archive tool. - + CF_LD_RPATH_OPT, change FreeBSD to use -Wl,-rpath rather than - -rpath option. According to FreeBSD #178732, either works since - FreeBSD 4.x; however scons does not accept anything except the - -Wl,-rpath form. - + CF_WITH_NCURSES_ETC, change from ncurses to check for pthreads - dependency. - -2016/02/09 - + modify editbox widget to add a trailing newline if the text has none - to ensure the last line is not ignored (report by Florent Rougon). - + change mouse initialization to look for button-presses rather than - button-clicks, for better response. - + modify dump_curses_key() to show mouse-coding in readable form. - + correct mapping of mouse-clicks on the day-grid in calendar widget - when "--week-start" is used to set the start of the week (report by - Stefan Vogtner). - > integrated changes from Stefan Vogtner: - + use Gregorian algorithm for leap year - + use mktime if available; calendar was written just as it became - standard. - -2016/01/26 - release 1.3 - + correct --infobox documentation, which said it shows an OK button. - + fix a couple of place in test-scripts which referred to $SIG_TRAP - rather than $SIG_QUIT - + reorganize dialog.3, to use subsections for generating navigation - pane, using man2html - + add "--week-start" option for calendar widget (prompted by discussion - with Stefan Vogtner). - + add a limit-check in editbox.c to ensure that mouse-clicks outside - the filled-in text area do not access past the end of the array - (report by Stefan Vogtner). - + update configure macros from ncurses changes. - + update config.guess, config.sub - -2015/09/20 - + decrease table value for minimum number of arguments for the widgets - which use --no-items option (report by Raven Singularity). - + update configure macros: - + use $SHELL consistently, deprecate non-POSIX shell - + PKG_CONFIG may simply be unset - fix - + add option to allow changing ABI version, from ncurses6. - -2015/05/28 - + fixes for two autoconf macros, CF_ADD_INCDIR and CF_NCURSES_CONFIG - from work on ncurses. - + build-fix for NetBSD curses (patch by Matthias Scheler). - -2015/05/13 - + add configure option --with-install-prefix, like ncurses. - + add --with-screen and related configure options from ncurses-examples - to allow building with ncurses6 test-packages. - + update configure macros for improved coding style from lynx changes. - + updated ro.po from - http://translationproject.org/latest/dialog/ - + update config.guess, config.sub - > patches by Florent Rougon: - + fix two bugs in the "--file" option. - + When the number of arguments read from the included file is 0, the - code used to just skip over '--file' and its argument instead of - removing them from the argument list, causing "Error: Unknown - option --file" later on. - + In the alternative case (at least one argument read from the file), - the previous code used to do '--j;' in order to "force rescan" of - the inserted arguments. However, control then flowed to outer - blocks where a '++j;' counteracted this measure, causing "Error: - Unknown option --msgbox" (for instance) later on. - + modify escaping in argv.c to be more uniform, whether or not the - backslash is found within a parameter. - -2015/02/25 - + modify gauge widget to keep from erasing a second gauge widget, e.g., - via the "--and-widget" option. This is a cosmetic change to match - behavior of dialog 1.0 (report by Jason Orendorf). - + add configure option "--with-man2html" - + add configure options for versioned symbols, from ongoing work on - ncurses. - + update configure macros, e.g., for shared libraries - -2015/01/25 - + suppress highlighting of character which denotes an abbreviation or - shortcut for the OK/Cancel and other buttons for these widgets, which - use abbreviations for the list shown on the screen: buildlist, - checklist/radiobox, menubox, treeview (Debian #775295). - + add grid up/left and down/right bindings in editbox.c as synonyms for - field prev and next, respectively when handling the OK/Cancel buttons - (Debian #775294). - -2014/09/11 - + correct malloc-size for change to prgbox. - -2014/09/10 - + fixes to make "-c" option work when passing command to shell for the - prgbox widget, for example in samples/prgbox2 (report by Korantin - Auguste). - -2014/09/08 - + fix an out-of-bounds array index in buildlist widget (report by - Cade Foster). - -2014/09/01 - + add configure check for groff, needed for html/ps/pdf output. - + update configure-script macros: - + CF_ACVERSION_CHECK - work around another gratuitous incompatibility - introduced in 2.69 - + CF_ADD_CFLAGS - workaround for ash-shell, e.g., with Minix - + CF_ADD_LIBS - filter out duplicates - + CF_CURSES_FUNCS - improve workaround for weak-linkage, seems to fix - tests with NetBSD 6.1 - + CF_INTEL_COMPILER - clean up the -no-gcc option which was leftover - from testing. - + CF_LIB_SUFFIX - change suffix for AIX shared libraries to ".so". - + CF_MAKEFLAGS - workaround for GNU make 4.0 incompatibility with - previous releases. - + CF_XOPEN_SOURCE - add cases for Minix, UnixWare and improve the - workaround for Solaris. - + improve comparison in compare_cache() function, in case difference - between pointers does not fit in int's. - + updated de.po, es.po, hu.po, lv.po from - http://translationproject.org/latest/dialog/ - + update config.guess, config.sub - -2014/02/19 - + cleanup of manpages prompted by Gislason's comments. - + several changes to manpages to improve presentation (patches by - Bjarni I. Gislason, Debian #739180, Debian #739181) - + use "\/" when transitioning from italic to normal font - + correct an instance of "e.g,." - + use "\e" rather than "\\" to present a literal "\" - + improve formatting of table header - + remove some excess space-characters - + change a reference 0-9 to use "through" as the connector - + use "\&" to separate "." from a space to make the space shorter - + change a list's TP macro parameters to make the hanging text align - better with the adjacent paragraph - + add comma in a few places before "and" in a list - + separate units from numbers with a nonfillable space - + replace "-" with en-dash in a few places - + corrected argument indices after "--args" and "--file" to rescan the - argument list after removing/substituting those options. - + fix loops for "--file" option to handle cases with zero or no tokens at - all substituted (Redhat #1066168). - + add gd.po from - http://translationproject.org/latest/dialog/ - -2014/01/12 - + improve calculation for amount to scroll in programbox when an "Ok" - button might obscure part of the data (report by Florent Rougon). - + modify program to permit --separate-output to be used with buildlist - and treeview widgets (report by Florent Rougon). - + add list-height parameter to manpage description of --buildlist - (report by Florent Rougon). - + minor fixes to dialog.1 manpage; the reported problem was actually - fixed in 20120703 (Debian #726233, patch by Bjarni Ingi Gislason). - + add a "Hello World" example to dialog.3 manpage (prompted by - discussions with Dustin Oprea, Kevin Ingwersen). - + correct comparison in dlg_lookup_key() so that using "bindkey" with - a "*" wildcard parameter works as documented (report by Stewart - Benedict). - + updated configure macros, fixes for clang and mingw. - + update config.guess, config.sub - -2013/09/28 - + fix a regression in gauge widget from 2013/09/28 changes; - dlg_reallocate_gauge() failed when no --title option was given - (report by Tritonas Insomnia). - -2013/09/23 - + fix samples/inputbox6-utf8, which had depended unnecessarily on bash. - + improve memory caching for wide-character manipulation in gauge - widget (report by Devin Teske). - + add dlg_reallocate_gauge (discussion with Devin Teske). - + updated configure macros to use msys changes from ncurses. - + update config.guess, config.sub - -2013/09/02 - + modify makefile rule to make the ".png" filenames created by groff - predictable. - + add option --help-tags to allow scripts to get the item's tag field - consistently from help- and help-item button results rather than - getting the item's text for the latter (discussion with Florent - Rougon). - + correct manpage discussion of DIALOG_ITEM_HELP versus --item-help, - as well as --help-button return status (report by Florent Rougon). - + correct limit used for --hline option (report by Devin Teske, - cf: 2011/06/30). - + do not print empty "[]" if a --hline option was given with an empty - value (report by Devin Teske). - + miscellaneous configure script fixes/updates. In particular, add - option --with-shared which builds shared libraries without a libtool - dependency. - + add FreeBSD port-files for test-builds. - + update lt.po, add fa.po from - http://translationproject.org/latest/dialog/ - + update config.guess, config.sub - -2013/05/23 - + modify ifdef in arrows.c to work around packages which use the - wide-character ncursesw headers with the ncurses library (report - by Aleksey Cheusov). - + correct workaround for xterm alternate-screen to work with/without - the fix made in ncurses that makes putp() always write to the - standard output (Debian #708829). - + improve limit-checks for checklist, in case the dialog is resized - (report by Ilya A Arkhipov). - + add --last-key option (adapted from patch by Jordi Pujol, Debian - #697607). - -2013/03/15 - + update zh_TW.po, add an.po from - http://translationproject.org/latest/dialog/ - -2012/12/30 - release 1.2 - + improve some older changelog entries to help with HTML'izing content. - + various fixes/improvements for scrollbar appearance. - + add mappings for some equivalent options provided by whiptail; - add configure option --disable-whiptail to allow suppressing these. - + add configure option --disable-Xdialog2 to allow suppressing the - newer features, i.e., for cdialog 1.2 - + add --no-items option, for consistency. - + add --no-tags option, like Xdialog. - + add buildlist, rangebox and treeview dialogs, like Xdialog. - + remove obsolete workaround for ncurses 4.2 scrolling in checklist - and menubox. - + improve dialog_helpfile() by preventing it from showing extra buttons - (suggested by xDog Walker). - + correct logic in formbox's scroll_next() function (report by xDog - Walker). - + fix a case with inputbox widget where preset input text is not shown - until moving the cursor within the text (report by xDog Walker). - + handle SIGCHLD in dialog_prgbox() to eliminate defunct processes - (report by xDog Walker). - + improve the way "hotkeys" are assigned to widget buttons by checking - if a given key has already been used in the row of buttons (Debian - #684933). - + amend fix for --trace parsing from 2012/07/03, which sometimes - skipped a parameter (report by xDog Walker). - + drop copismall and install files from samples, which were essentially - nonfunctional. - + correct secondary border colors in samples/slackware.rc and - samples/whiptail.rc - + update gl.po, add ia.po from - http://translationproject.org/latest/dialog/ - + fix various issues reported by coverity scan. - + miscellaneous configure script fixes/updates: - + require autoconf 2.52+patches - + support --datarootdir option - + check for clang compiler - + check for tinfo library when looking for ncurses - + add 3rd parameter to AC_DEFINE for autoheader - + remove unused macros from aclocal.m4 - + update config.guess, config.sub - -2012/07/06 - + modify samples/setup-tempfile to work with Tru64's shell. - + modify inputmenu sample scripts to make them more portable: - + use "id" rather than "$GROUPS", use sed to work with Solaris. - + use sed to split-up the rename results to work with HPUX. - + fix regression in msgbox (ArchLinux #30574) - -2012/07/03 - + modify prgbox widget to work with --extra-button, etc. - + add case values to several widgets to allow for mouse-clicks with - "--extra-button" and "--help-button" additions. - + correct timebox widget's exit code for "--extra-button" when handing - the "enter" key. - + modify msgbox widget to honor "--extra-button". - + corrected processing of "--trace" option, which did not update the - index into command-line to point past its value. - + add a check in dialog program for valid characters used in option, - e.g., to generate an error if a script attempts to add option value - using "=" rather than with whitespace. - + add new command-line option --default-button and library function - dlg_default_button() to retrieve the value set by the option - to provide a way to set the default button directly rather than - by combining --nook, etc. (patch by Zoltan Kelemen). - + amend include of unctrl.h to apply only to the case where curses.h - is included, to avoid conflict of ncurses' unctrl.h with a system - implementation (report by Martin Roedlach) - + add limit-check to dlg_toupper() in non-wide curses mode to work - when non-character values such as arrow-key codes are passed to - it (patch by Zoltan Kelemen). - + override timeout value, e.g., as set via --timeout command-line - option in pause widget because that interferes with pause's behavior - (report by Jan Spitalnik). - + modify samples/inputmenu* to allow ":" in renamed text (report by - Andreas Stoewing). - + modify double-quoting to make it more consistent, i.e., checklist - output is quoted only when needed. This fixes the case where - single-quotes were used whether or not needed, but also modifies - older checklist behavior for double-quoting which always added those - (Debian #663664). - + correct exit-code used in inputmenu for "rename" button (Debian - #673041, forwarded from Ubuntu #333909, patch by Lebedev Vadim). - + update el.po and hr.po from - http://translationproject.org/latest/dialog/ - + use checkbashisms to clean up sample scripts. - -2012/02/15 - + modify menubox.c to use the same improvement as in checklist.c - + improve auto width computation for checklist widget by using - dlg_calc_list_width as in the non-auto case (Edho Arief). - + eliminate some bashisms in the sample scripts (Pedro Giffuni). - + makefile fixes from FreeBSD ports (Li-Wen Hsu): - + make --with-package option of configure script work. - + get LIBTOOL_VERSION from configure script, needed by - ${LIBTOOL_VERSION} in LIBTOOL_CREATE (LIB_CREATE in configure and - aclocal.m4) - + update cs.po and sr.po from - http://translationproject.org/latest/dialog/ - + updated configure script macros, improving CF_XOPEN_SOURCE among - other fixes. - -2011/10/20 - + fix --analyze warnings for clang versions 2.8, 2.9. - + add configure check for lint program. - + add check in dlg_getc() in case its window is freed as a side effect - of removing callbacks. - + fix logic in freeing subwindows (report by xDog Walker). - + fix a regression in logic distinguishing between inputmenu and menu - widgets (report by xDog Walker). - + minor fixes to library manpage. - -2011/10/18 - + modify header-sh.in to work around limit on sed script length on - HPUX. - + add a special case of parameter parsing for "--trace" to the - initialization done before calling init_dialog(), to allow users to - capture the initial state of the parameter list before any options - are processed and removed. This is only done if "--trace" is the - first option, otherwise it is handled in the common options as before - (report by xDog Walker). - + modify samples/testdata-8bit, discarding $1 from the parameter list - if it was used, so that the source'ing scripts can consistently use - "$@" to insert parameters before the widget, e.g., as an alternative - to using $DIALOGOPTS (report by xDog Walker). - + modify treatment of function pointers in menubox.c, make - dlg_renamed_menutext() and dlg_dummy_menutext() visible to library - users (request by xDog Walker). - + add dlg_count_real_columns(), use to modify centering for "--hline" - text to account for "\Z"s (report by xDog Walker). - + improve check in dlg_draw_arrows2() for conflict between the window - title and up-arrow marker to take into account that the given window - may not be the top-level window of the widget. - + change width of page up/down mouse areas in fselect panes to use the - full width of the panes rather than only the portion from the left - margin to the up/down arrow. - + add/use dlg_draw_box2() and dlg_draw_bottom_box2() to use the - secondary borders. - + modify rc-file read/write to accept/generate color values that refer - to previously-processed items in the color table. This reduces the - number of distinct colors that must be specified to set up a color - scheme. - + add color table entries for secondary borders, i.e., the ones that - are normally drawn with the dialog's text-colors (Debian #641168). - + modify fselect.c to scan the current directory if the input field - happens to be empty (Debian #640905). - + repeated the discussion of environment variables that can override - the exit-status values in the manpage's return-codes section - (Debian #642105). - + add an example to the manpage showing how to override the form - widget's keys used for field/button traversal (Debian #642108). - + modify call to dlg_register_window() in formbox.c so that the editing - bindings are attached to the form sub-window rather than the - top-level dialog window. Also change the name by which the editing - bindings are bound for editbox.c, fselect.c and inputbox.c, so that - the editing and navigation bindings can be different. - + correct logic in dlg_lookup_key() so that it matches the widget name - before using a binding from .dialogrc, allowing the inner/outer - windows of form and other editing widgets to have different bindings. - + modify dlg_register_window() to call dlg_dump_window_keys() after - its updates, via the --trace output, to supplement the manpage - description of key bindings (Debian #642108). - + add DLGK_FORM_PREV and DLGK_FORM_NEXT key-bindings to form.c, to - allow binding a single key to traverse both form-fields and buttons - (Debian #642108). - + modify dlg_parse_rc() to check for error return from - dlg_parse_bindkey(). - + add function dlg_dump_window_keys(), to help with debugging widgets. - + add CR, LF, TAB, FF and ESC to table of curses names to help make - key bindings more readable. - + update table of dialog key-names so that helpfile and trace are - dumped properly. - + correct dlg_dump_keys(), which was showing only the first item in - the matched binding table. - + save/restore window current position in dlg_update_mixedgauge(). - + pass return-code from pause_for_ok() from dlg_progressbox() when - pauseopt is set, rather than only DLG_OK. - + call setlocale() in init_dialog() rather than relying on on-demand - use within inputstr.c, since there are paths in textbox widget which - do not exercise the latter (report by xDog Walker). - + fix some places where checks for "\Z" were done without also checking - dialog_vars.colors (report by Moray Henderson). - + correct logic for DIALOGOPTS parsing so that the parse happens only - once unless memory leak checking is enabled (report by xDog Walker). - + remove an incorrect free() call in dlg_free_gauge() (report by xDog - Walker). - + modify dlg_trace_win() to log wide-characters (report by xDog Walker). - + make traces shorter by skipping repeated ERR's, but showing the - number skipped (report by xDog Walker). - + improve description in manpage to distinguish program box and - progress box from tailboxes (adapted from email by xDog Walker). - + modify dlg_trace_win() so that it looks for the topmost window in a - dialog. Because subwindows share space with the top window, tracing - the latter shows the whole widget (report by xDog Walker). - + expand tracing so that each window is traced before soliciting input, - making the ^T feature to print a window on demand partly redundant - (suggested by xDog Walker). - + cosmetic change in dialog.h to avoid "*/*" strings from comments next - to "*" (report by xDog Walker). - + ensure result from dlg_align_columns() has trailing null on each - string. Analysis was hindered by libc6's continuance of libc5's - early-1990s misfeature of clearing the result from malloc, noting - that libc6's documentation incorrectly claims that it does not do - this (report by xDog Walker). - -2011/07/07 - + modify util.c to work better with old versions of ncurses: - + suppress use of wchgat() before fix in 20060715 which is needed - for simple shadow manipulation used here in 2011/06/30 (report - by xDog Walker). - + add a null-pointer check in dlg_print_scrolled() - + fix a regression in dlg_getc() introduced by changes to intercept - F1 for help-popup (report by xDog Walker). - -2011/06/30 - + correct license statement for prgbox.c (Debian #632198). - + correct layout when "--colors" is used, by discounting characters in - the escape sequences from the column counts (report by xDog Walker). - + modify dlg_checklist() so that only one item in the list can - initially be selected (report by xDog Walker). - + add/use macro dlg_enter_buttoncode() to improve implementation of - "--nook" option (report by xDog Walker). - + add option "--no-nl-expand" to suppress the conversion of "\n" - strings into newlines (request by xDog Walker). - + modify LIB_CREATE symbol in makefile.in to include the library - dependencies such as ncurses. This is needed when dynamically - loading the library (report/analysis by xDog Walker). - + modify dlg_exit_label() to suppress the Cancel button, for - consistency. - + modify dlg_exit_label() to honor the --nook option, except when there - is no other button, e.g., the help-button. - + modify dlg_exit_buttoncode() so that it returns the proper code for - help-button (report by xDog Walker). - + correct loop limit when processing "--column-separator" (report by - xDog Walker). - + modify handling of "--version" and "--help" to ensure that they are - processed, and exit before widgets. Separate "--print-version" - from "--version", allowing its output to be interspersed with - widget output (report by xDog Walker). - + correct a few places where "--version" or "--help" options went - always to stdout rather than allowing redirection with the "--stderr" - option (report by xDog Walker). - + improve repainting after erasing a widget and its shadow. - + add "--hline" and "--hfile" options for compatibility with FreeBSD - dialog (request by Devin Teske). - + add dialog version message when opening a trace file (request by - xDog Walker). - + show filename of rc-file in traces. - + add piped-in data for gauge widget to traces. - + add entrypoints to gauge widget, for allocating, updating and freeing - the widget (adapted from patch by Stephen Hurd). - + fix a reference to freed memory in the gauge widget. - + fix --no-mouse option by actually closing the mouse (report by - xDog Walker). - + add sk.po from - http://translationproject.org/latest/dialog/ - + limit Solaris xpg4 portability fix for redefinition of ERR to cover - the specific value found in , in case an application - includes dialog.h after curses.h (FreeBSD #156601, report by Jaakko - Heinonen, Stephen Hurd). - + updated configure macros: - + CF_CURSES_CPPFLAGS, - + CF_CURSES_LIBS, make checks for special libraries on hpux10 and - sunos4 optional - + CF_CURSES_FUNCS, workaround for bug in gcc 4.2.1 (FreeBSD 8.1) - which caused part of test program to be omitted, i.e., when it saw - two return-statements in a row it omitted the _first_ one. Also - add expression to pointer check to help FreeBSD's linker decide it - should be validated. Just an assignment was not enough. Also, add - check for unctrl.h - + CF_CURSES_HEADER, change order for curses.h / ncurses.h pairs to - put ncurses.h first, which will tend to provide the same #define's - as in CF_NCURSES_HEADER (report by Dennis Preiser). - + CF_CURSES_TERM_H, modify to avoid spurious check for - if there is no ncurses version. Look for - ncurses's term.h anyway, to work around breakage by packagers who - separate ncurses' header files. - + CF_DISABLE_RPATH_HACK, fix garbled message - + CF_LD_RPATH_OPT, add mirbsd - + CF_MAKEFLAGS, filter out GNU make's entering/leaving messages. - This only appeared when using the macro in a dpkg script, though it - should have in other cases. - + CF_RPATH_HACK, add a check for libraries not found, e.g., from - suppressed functionality of gcc in linking from /usr/local/lib, and - add a -L option to help work around this. - + CF_XOPEN_SOURCE, workaround for cygwin to get ncurses' configure - script to define _XOPEN_SOURCE_EXTENDED (cygwin's features.h - doesn't do anything, so it needs a crutch). - + update config.guess, config.sub - -2011/03/02 - + add --prgbox and --programbox (adapted from patch by David Boyd). - + add sl.po from - http://translationproject.org/latest/dialog/ - + fix timeouts from 2011/01/18, which were being interpreted as - milliseconds rather than seconds (report by Luis Moreira). - -2011/01/18 - + fix inconsistency in return-codes for textbox when help-button is - used by making dlg_exit_buttoncode() a wrapper for - dlg_ok_buttoncode(). - + modify pause widget to use dlg_ok_buttoncode(), so help-button works. - + correct two infobox sample scripts, which did not pass extra - command-line parameters due to quoting problems. - + add a limit-check to the timebox widget (patch by Garrett Cooper). - + modify --trace option to also trace the command-line parameters. - + account for combining characters when wrapping text (Debian #570634). - + correct handling of SIGWINCH in gauge widget (Debian #305705). - + add gauge_color, to make guage's progress-bar distinct from - title_color (request by Dominic Derdau). - + update fi.po from - http://translationproject.org/latest/dialog/ - as well as resync line-numbers in the other po-files. - + modify configure script and dialog program to build with NetBSD's - wide-character curses functions, including workarounds for its - incorrect WACS_xxx definitions. Some of the UTF-8 examples work. - + add back-tab for traversal of tailboxbg widgets, for symmetry with - tab-traversal. - + reduce flicker in tailboxbg by checking if the input file size has - changed. - + modify internals of callbacks to avoid blocking reads of their - associated files by keyboard input. - + add command-line option --no-mouse, to suppress use of mouse. - + add configure option --enable-header-subdir to allow the header files - to be installed into a subdirectory named for the package. - + modify dlg_restore_vars() to retain the updated values of - input_result and input_length, eliminating the need for a caller to - provide their own user buffer (prompted by report by Thiago Bimbatti - Felicio). - + add a null-pointer check in show_result() for - dialog_vars.input_result, and ensure it is set to null after freeing - (prompted by report by Thiago Bimbatti Felicio). - + change order of -I options in CPPFLAGS (report by Michel Feldheim) - + modify pause-widget so that it no longer exits when an unrecognized - key is pressed (patch by Creidieki M Crouch). - + add --with-package option to configure script to allow renaming - of the dialog program and library, to support the package scripts. - + add Debian and RPM package scripts for test-builds. - + several improvements to configure script: - + quote params of ifelse() - + change obsolete ${name-value} to standard ${name:-value} - + use new macros CF_ADD_LIB/CF_ADD_LIBS to enforce consistency. - + AM_GNU_GETTEXT, drop $MKINSTALLDIRS, use "mkdir -p" consistently. - + CF_ADD_SUBDIR_PATH, workaround - if $prefix was not mkdir'd yet, no - directories were added. - + CF_BUNDLED_INTL, add --with-textdomain option, to use with lynx-dev - package - + CF_FIND_LINKAGE, simplify save/restore of $LIBS - + CF_GCC_WARNINGS, fix for Mac OS X (compiler makes conftest.dSYM - directory) - + CF_HEADER_PATH, don't search for variations of everything in the - current include-path - + CF_WITH_CURSES_DIR, move the calls to CF_ADD_INCDIR and - CF_ADD_LIBDIR for the curses-directory here, from - CF_NCURSES_CPPFLAGS and CF_NCURSES_LDFLAGS, so it will work even - with the default checking, e.g., no --with-ncurses, etc. - + update config.guess, config.sub - -2010/04/28 - + several improvements to configure script: - + modify CF_CURSES_TERM_H to handle cases such as cygwin where - packager has installed curses.h and term.h in different - directories, e.g., to wedge in a termcap library. - + modify CF_XOPEN_SOURCE, adding special case for OpenSolaris - + modify CF_MAKE_TAGS to add check for exctags and exetags, prefer to - ctags and etags to work around pkgsrc (NetBSD) renaming. - + correct CF_FIND_LINKAGE, setting cache variable for library_file in - the special case where no directory search is made. - + improve CF_GCC_VERSION, suppress stderr for c89 alias of gcc. - + improve CF_GCC_WARNINGS, moving -W and -Wall into the list to - check, since c89 alias for gcc complains about these options. - + modify CF_HEADER_PATH, to not search for variations of everything - in the current include-path - + use "mkdir -p", remove mkdirs.sh - + use CF_CURSES_HEADER to fill in possible subdirectory used for - ncurses header filename. - + modify CF_XOPEN_CURSES to work around current ncurse header loss of - predefinition of _XOPEN_SOURCE_EXTENDED - + add "--disable-rpath-hack" option, along with scripting to add - rpath option to libraries found in unusual places. - + modify pause widget to autosize like gauge, and to omit the area for - buttons when none are displayed. - + fix an infinite loop in dlg_button_layout() if there are no buttons - to display (Debian #579390). - + add makefile rules for generating html, etc., documentation from - nroff. - > patches by Samuel Martin Moro - + reset errors in tailbox before reading new character. - + modify dlg_draw_scrollbar(), omitting hiding percentages in boxes - when no arrows or scrollbar are needed. - + correct value of row for scrollbars in formbox. - + update es.po from - http://translationproject.org/latest/dialog/ - -2010/01/19 - + split up binding tables in inputbox and similar widgets to avoid - conflict between cursor-key use for input-string versus navigation - (report by slakmagik). - + if strftime() is available, support --time-format option for timebox - widget. - + if strftime() is available, support --date-format option for calendar - widget (request by Walter Harms). - + build-fixes for linking to intl library in /usr/local - + add --scrollbar option, use in most widgets to show a scrollbar on - the right margin of the data. That is cosmetic, does not respond to - the mouse. - + reuse functions from msgbox to allow prompt for yesno box to be - scrolled in a too-small window. - + correct mapping of button-codes with --nook option (report by Lebedev - Vadim). - + cleanup sample scripts using new utility scripts setup-* and report-*, - and allow command-line parameters to be added, for ad hoc testing. - + correct change to tailbox widget from 2009/02/22 using - dlg_button_layout(), which broke that widget. - + document some of the portability caveats. - + modify gauge widget to service callbacks (prompted by patch and - comments by Frank Sorenson). - + modify editbox to allow its input buffer to be larger than MAX_LEN - unless bounded by the --max-input option, and add limit-checks for - the buffer (report by slakmagik). - + improve manpage description of --checklist (report by Isaac Good). - + several improvements to configure script macros: CF_ADD_CFLAGS - CF_CURSES_FUNCS CF_DISABLE_ECHO CF_GCC_ATTRIBUTES CF_MATH_LIB - CF_POSIX_C_SOURCE CF_REMOVE_DEFINE CF_WITH_LIBTOOL CF_XOPEN_SOURCE - + add is.po, lv.po, sw.po from - http://translationproject.org/latest/dialog/ - + update de.po, id.po, pl.po, pt_BR.po, vi.po from - http://translationproject.org/latest/dialog/ - -2009/02/22 - + do not display top-arrows for scrolling if they would overwrite the - title (report by slakmagik) - + consistently use dlg_button_layout() when autosizing widgets (report - by slakmagik). - + add "-" and "+" bindings to timebox widget. - + add "-" and "+" bindings to calendar widget (OpenSolaris #6739031). - + review/fix other widgets to ensure that they exit on error, e.g., - editbox.c - + modify check in dlg_getc() to treat closure of either stdin or stdout - as an error, rather than both. This is more stringent than the check - added in 2007/07/04. - + modify dlg_result_key() to map curses ERR to dialog's error exit - (adapted from patch by Domagoj Pensa). - + updated several configure script macros: - + consistently append, rather then prepend, to $CFLAGS - + add cases for AIX 6, mint, and dragonfly to CF_XOPEN_SOURCE - + use $PATH_SEPARATOR rather than $PATHSEP - + improve CF_FIND_LINKAGE, use in checks for more libraries, e.g., - libutf8 and libiconv. - + update da.po, ru.po from - http://translationproject.org/latest/dialog/ - + update config.guess, config.sub - -2008/08/19 - + amend changes to quoting; by default, the checklist widget quotes its - output except when --separate-output is used (Debian #495600). - + add eo.po from - http://translationproject.org/latest/dialog/ - -2008/07/27 - + add pointer-check when closing piped input (cf: 2007/03/25) - + use here-documents rather than echo, when passing backslashes in - strings, to accommodate the Debian shell "dash" (Debian #489563). - + recode several ".po" files to UTF-8 for consistency. - + change --separator to be an alias for --output-separator, for - compatibility with Xdialog. - + add --output-separator option to allow scripts to change the output - separator from a newline (for --separate-output) or a space. This - applies to other widgets such as forms and editboxes which normally - use a newline. - + add --column-separator option, to tell where column-aligned data for - radio/checkboxes or menus should be split into columns (request by - Ben Dibbens). - + add id.po, ku.po, lt.po, nb.po and update ca.po, fr.po, gl.po, ja.po, - th.po from - http://translationproject.org/latest/dialog/ - + add "--quoted" option, to quote values returned by formbox, etc. - + change names of EX/ES macros in dialog.1 to work around name- - pollution caused by changes in Debian #470729. - -2008/03/16 - + modify dlg_mouse_wgetch() to loop only on errors that it detects, - rather than on errors forwarded from dlg_getc(), in case those are - due to a disconnected terminal (report by Anatoli Sakhnik). - + allow "default" color in dialogrc file (request by Dashing). - + fix an indexing error in formbox (Debian #469190, report by Dmitry - Gomerman, patch by Vladimir Mezentsev). - + add bindings for CTL/N, CTL/P to checklist, fselect and menubox - widgets (prompted by discussion with John Gatewood Ham). - + add be@latin.po, th.po and update zh_TW.po from - http://translationproject.org/latest/dialog/ - > patches by Peter Astrand: - + modify dlg_auto_sizefile() to ensure the computed height and width - do not extend beyond the screen size. - + use unctrl() to make inputstr.c work with Solaris curses. - > patches by Yura Kalinichenko: - + extend pause widget to use ok/cancel buttons (the former giving the - same result as a timeout), rather than an exit-button. - + fix initialization parameter of inputbox for multibyte characters. - -2007/10/28 - + improve layout of checklist.c, menubox.c, ensuring that the list fits - within the available space (report by Gordon Schumacher). - + undo removal of redundant chunk from checklist.c in 2007/02/27, - since some scripts depend on this (Debian #443077). - + update nl.po from - http://translationproject.org/latest/dialog/ - -2007/09/30 - + correct cursor position in editbox after deleting past left margin - (report by Joe McDonagh). - + add "--no-ok" option (patch by Klaus Knopper). - + modify "--file" option to allow it to read from sources other than - a regular file (patch by Pieter van Beek). - + improved hi.po (Hindi) (from Klaus Knopper). - + fix masking of attributes in dlg_draw_shadow() which lost - line-drawing bit (report by David Everly). - + fix editbox widget to handle zero-length files (report by Joe - McDonagh). - + update "po" files eu.po ga.po it.po ms.po sv.po vi.po wa.po zh_CN.po - from - http://translationproject.org/latest/dialog/ - -2007/07/04 - + revise the resizable shadows so textbox's search dialog has text - visible in the shadow again. - + improve the prefixing of autoconf-related symbols in the installed - header files, taking into account symbols which are not mentioned in - dlg_config.h - + add a check when ERR returned from wgetch() to ensure that the - input/output streams are still valid. If that happens, force - ESC to be returned, quitting dialog (report by Reiner Huober). - + add extern "C" declarations to dlg_keys.h so the corresponding - function declarations are exported to C++ as C symbols. - + update config.guess, config.sub - -2007/06/04 - + fix a memory leak in editbox.c - + revise change from 2007/02/27 which moved the logic for trimming - option text out of the loop because that moved it before - initialization of the "--trim" option. Put it back in the loop, but - limit the tokens which are trimmed to cover only those for the - current widget. Also ensure that all tokens for a widget are - trimmed, rather than only the first, which is usually text (report by - Lai Zit Seng). - + add _FILE_OFFSET_BITS definition in CF_LARGEFILE configure macro. - -2007/05/28 - + revise changes needed to make textbox's searchbox handle ncurses - resizing events, e.g., by handling the ERR in that code rather than - in dlg_getc() (Debian #423732). - -2007/05/14 - + supply a repaint_text() call in tailbox.c which was bypassed because - dlg_getc() now retries on ERR (Debian #423732, cf: 2007/02/27). - + modify dlg_getc() to fix regression in 2007/02/27 for use of - timeouts, broken by fixes to allow resizing of textbox (patch by - Arnaud Fontaine, Debian #418905). - + modify dlg_getc() to fix regression in use of TAB for traversal of - tailboxbg widgets due to changes for user-definable key bindings - (Debian #418917, cf: 2005/12/07). - -2007/04/09 - + add case in dlg_getc() to handle tab for traversing between widgets - as in the samples/tailboxbg1 script. Normally the key binding - overrides, except for the special case where multiple widgets are - available. - + add configure --with-libtool-opts, which passes its value to the - library creation and linkage passes, e.g., - --with-libtool-opts=-static - to force the result to be static libraries (prompted by a related - request by Santiago Vila). - > several fixes based on Coverity scan: - + fix memory leak in timebox, calendar widgets if the widget cannot - be created. - + fix memory leak in dlg_key.c if a user binding's storage cannot - be allocated. - + fix improperly delinked entry in dlg_del_window(). - -2007/03/25 - + improve mkdirs.sh to ignore error from mkdir if the target directory - happens to already exist (suggested by Harald van Dijk). - + amend documentation for --gauge to reflect longstanding quirk which - allows it to read percentage from the first line after an "XXX" - (Debian #415596). - + fix makefile dependency so "configure && make install-lib" works. - + fix resizing of msgbox; the message was not repainted (Debian - #415022, patch by Brian Rolfe). - + fix typo in makefile LIB_OBJECT symbol from 2007/02/27 changes. - + improve CF_MBSTATE_T by including stdio.h, needed on Tru64 to make - the test-compile work. - + change makefile to install dialog.3 as part of install-lib rather - than install-man (report by Thomas Klausner). - + use $(INSTALL_SCRIPT) for installing dialog-config (report by - Santiago Vila). - -2007/02/27 - release 1.1 - + mark as "dialog 1.1" - + add dialog-config script, which provides applications with compile- - and link-information for using the dialog library. - + move calls to dlg_trim_string() out of loop in dialog.c, so each - string is trimmed once (report by Ivanov Makcim). - + modify textbox.c to allow resizing while the search box is presented. - This relies on bug-fix in ncurses 5.6 20070224. - + use dgettext() rather than gettext() to allow libdialog to use the - messages installed for dialog (patch by Vajna Miklos). - + modify inputbox to position the cursor initially at the end of any - initial-text (request by Klaus Knopper). - + add configure --with-valgrind for testing. - + add --trace option, for debugging. - + add --ascii-lines and --no-lines options to control the way the - line-drawing characters are rendered (request by Klaus Knopper). - + add --keep-tite option, to override suppression of smcup/rmcup - (termcap ti/te) strings which would switch to xterm's alternate - screen (Debian #380665). - + modify fselect/dselect to use space-character as a completion - operator like tab in shells (patch by Yoram Bar Haim). - + remove a redundant chunk from checklist.c which reported status a - second time if the help-button was pressed but no item-help option - was in effect (Andre C Barros). - + fix return-status from "dialog --pause" (Debian #409254). - + add --mixedform and --mixedgauge dialogs based on patch from - Kiran Cherupally. - + add some notes on compatibility to the manpage. - + add editbox dialog (compatible with Xdialog, Debian #368478). - + add dselect dialog (compatible with Xdialog). - + remove an incorrect initialization of .text_flen from 2005/12/07 - changes, which made all fields in a form editable (Debian #404045). - + report error and exit if a filename given for the --file option - cannot be opened (report by "Dog Walker"). - + make --program-prefix, etc., work in configure script, e.g., to make - program install as "cdialog". This does not alter the library name. - + add install-bin, install-man (and uninstall) rules to makefile. - + updates for configure script macros (originally vile, lynx, xterm): - AM_PATH_PROG_WITH_TEST, AM_WITH_NLS, CF_CURSES_CPPFLAGS, - CF_CURSES_LIBS, CF_INCLUDE_DIRS, CF_LARGEFILE, CF_MAKEFLAGS, - CF_PATH_SYNTAX, CF_SUBDIR_PATH, CF_SUBST, CF_WITH_DBMALLOC, - CF_WITH_DMALLOC, CF_WITH_LIBTOOL and CF_XOPEN_SOURCE. - + update config.guess, config.sub - > adapted fixes from SuSE package (Werner Fink): - + add some limit-checks in dlg_draw_shadow(). - + make shadows resizable, using new dlg_move_window() in msgbox.c - and yesno.c - + add dialog_state.input, use this in end_dialog() to decide whether - to close pipe inputs and call _exit(), or simply call exit(). - + modify dlg_ctl_size() to check if the reason for failure is because - shadows were used; retry in that case without shadows. - + add signal catcher for SIGSEGV. - -2006/02/21 - + fix logic in split-out dlg_menu() to separate inputmenu and menu - handling (report by Auke Kok). - -2006/01/26 - + fix fselect.c to compile properly with Intel compiler and largefile - option. - + improve configure script checks for curses headers to work around - breakage in some packages, e.g., cygwin. - + amend correction to menubox, fixes normal menus (Debian #349969). - -2006/01/19 - + completed dialog.3 manpage - + modify configure script option --with-gauge to cover all flavors of - the gauge (gauge, pause, progressbox). - + add progressbox widget, a hybrid of gauge and tailbox (Reznic Valery). - + fix a comparison in checklist.c to avoid unneeded arrows when the - list happens to fit in the window (patch by Peter Postma). - + correct wrapping computation in print_line() from 2005/11/07 changes - (report by Barry Kauler). - + update sv.po (comments only). - http://www.iro.umontreal.ca/translation/maint/dialog/ - + correct logic that passes the callback for menubox to do inputmenu - operations from 2005/12/7 changes (report by Reznic Valery). - -2006/01/01 - + add a null-pointer check in dlg_register_buttons(), needed for the - tailboxbg (Debian #345524). - + fix a few memory leaks reported by valgrind. - -2005/12/19 - + correct return-values of new functions dlg_default_listitem() and - dlg_default_formitem() (Debian #344002). - + add Swedish translation (Debian #343303, by Daniel Nylander) - + begin function-summaries in dialog.3 - + update config.guess, config.sub - -2005/12/07 - + change license to LGPL. - + change naming convention in dlg_colors.h to make it easier to read, - and incidentally remove the last chunk of code preventing relicense. - + add --passwordform (request by Reznic Valery). - + modify pause.c, msgbox.c to work with --help-button. - + modify formbox.c, inputbox.c, textbox.c, yesno.c to work with extra - button (adapted from Reznic Valery patch). - + modify dlg_exit_label(), dlg_yes_labels() and dlg_ok_label() to allow - help-button (prompted by Reznic Valery patch). - + add zh_CN.po file from - http://www.iro.umontreal.ca/translation/maint/dialog/ - + provide alternate interfaces for dialog_checklist(), dialog_menu() - and dialog_form(): dlg_checklist(), dlg_menu() and dlg_form() - (discussion with Michael Gebetsroither). - + add/use dlg_result_key() to allow binding function keys to the - buttons. - + implement user-definable key bindings in the rc-file. - + modify inline cases for KEY_xxx values to use binding tables in new - module dlg_keys.c - + add several DIALOG_STATE items to the rc file: aspect, - separate_widget, tab_len and visit_links - + add a tab-adjustment to dlg_print_text() to improve solution from - 2005/10/30, e.g., in the samples/form* scripts. - + fix an off-by-one which made mouse-selection not work for menu items - past the first page (GenToo #112024, patch by Harald van Dijk). - -2005/11/07 - + extend dlg_add_result() to allow caller to pass a null pointer - for dialog_vars.input_result (Debian #336986). - + correct length used for text portion of radio/checkboxes (report by - Valentin Stoykov). - + modify msgbox, textbox and center_label() to work properly for - LANG=bg_BG.utf8 examples by Valentin Stoykov. - + modify use of freopen() to work with opaque FILE type on DragonFly - (report by Jeremy C Reed). - + modify print_line() to compute columns, use that for the call to - dlg_print_line(). Fix a few places where strlen() was used instead - of dlg_count_columns() (reports by Valentin Stoykov). - -2005/10/30 - + reviewed changes since beginning development in 1999, decided that - there are no appreciable portions of original code remaining. - Marked sources to correspond. - + improve cache performance for inputstr.c using tsearch() rather than - a linked-list search (Debian #294853). - + remove a special case for darwin in CF_XOPEN_SOURCE configure macro. - + add ms.po file from - http://www.iro.umontreal.ca/translation/maint/dialog/ - + remove an assignment that caused the cursor to appear initially on a - form field rather than button (Debian #333506). - + modify buttons.c to count columns rather than bytes, fixing case - where buttons were laid out incorrectly (report by Valentin Stoykov). - + change dlg_print_text() to count columns rather than bytes, fixing - case where fewer columns were displayed in menu than expected - (report by Valentin Stoykov). - -2005/10/05 - + improve fix for dlg_does_output(), eliminating redundant leading - separator. - + fill background color for item-help text (report by Peter Postma). - + correct interaction between --separate-output and --output-separator - broken in 2005/09/11 fix for Debian #326918 (Debian #331440). - + update config.guess, config.sub - -2005/09/11 - + undo doubled adjustment for left/right margins when wrapping text - for msgbox, gauge and pause (report by Xyba). - + correct position of scrolled text in formbox broken by 2004/12/19 - changes (report by Konrad Jelen). - + call dlg_does_output() from dlg_add_result(), ensuring that - separators are used when combining widgets such as formbox (report by - John Suykerbuyk). - + fix marker in textbox.c to make it disappear at the top of the file - (report by Patrick J. Volkerding). - + fix marker shown in arrows.c for checklists, etc., which was "(+)" - where it should have been "(-)" (report/patch by Patrick J. - Volkerding). - + fix --input-fd (changes in glibc since 2003 made dialog hang on exit - due to the way dialog updated stdin). - + restore default value (a tab) for --separator or --separate-widget - lost in 2003/11/26 changes (Debian #326918). - + make several widgets handle SIGWINCH (calendar, checklist, formbox, - fselect, inputbox, menubox, pause, tailbox, textbox, timebox). Only - msgbox and yesno had been done before. Note that some still have - fixed geometry requirements, so they cannot be shrunk below a given - threshold. Also, these changes do not address traversal, e.g., for - tailboxbg. - + make gauge widget handle SIGWINCH with ncurses (Debian #305705). - + add configure option to control whether largefile support is - compiled-in (Debian #298882). - + update eu.po (Debian #312622, patch by Piarres Egana). - + add/update po files from - http://www.iro.umontreal.ca/translation/maint/dialog/ - fi.po, rw.po, sr.po, tr.po, zh_TW.po - + fixes for configure script: - + improve script for determining gcc version - + improve checks for Intel compiler and related warning options - + improve checks for defining _XOPEN_SOURCE (or alternatives) and - _POSIX_C_SOURCE - + update config.guess, config.sub - -2005/03/06 - + add/update po files from - http://www.iro.umontreal.ca/translation/maint/dialog/ - ga.po, it.po - + revert last change for da.po; it was from an older version (report by - Morten Brix Pedersen). - -2005/02/06 - + modify makefile.in so --disable-echo applies to libtool builds. - + corrected malloc size used for editable fields in formbox widget to - match the function which updates the corresponding buffer. - + modify formbox widget's use of flen to allow negative values to be - used to limit the length of the displayed field. - + improve description in manpage of output from formbox widget - (Debian #292418). - + modify formbox widget to allow fields with flen==0 to display - (Debian #292417). - + improved configure macros CF_POSIX_C_SOURCE and CF_XOPEN_SOURCE, to - avoid redefinition warnings on cygwin. - + fix a typo in inputmenu-stdout found via "sh -n" (report by Steve - Grubb). - + add/update po files from - http://www.iro.umontreal.ca/translation/maint/dialog/ - ca.po, da.po, hu.po, nl.po, rm.po, ro.po, vi.po - -2005/01/16 - + add --args option to help with debugging scripts. - + adapted some new po files from Debian package for whiptail: ar.po, - bg.po, gl.po, hi.po, hr.po, mg.po, mk.po, ro.po, sq.po and zh_TW.po - + update da.po (Morten Brix Pedersen). - + add configure check for Intel 8.0 compiler, to set appropriate - warning options. - + update config.guess, config.sub - -2004/12/22 - + correct a typo in 2004/12/19 changes which caused width of multibyte - characters to be incorrectly computed in some locales. - + modify --version and --help options to write consistently to the - standard output (report by Santiago Vila). - + modify tailboxbg by resetting tty modes at the point where it forks a - process to update the screen, rather than waiting until that process - exits. This improves user feedback by making it apparent that dialog - is no longer processing input after that point (Redhat #142538). - + minor updates to some .po files using Babel Fish, comparing with lynx. - + update es.po (Santiago Vila). - + work around bug in NetBSD 1.6 curses which seems to be confused by - reusing color pairs with different video attributes. The problem - does not appear in NetBSD 2.0 curses (but its headers do not provide - version info, so color-caching is not available for that - configuration). - + modify pause and gauge widgets to ensure that reverse-video progress - bar is visible when the background is reversed, e.g., using the - default non-color attributes. - + use chtype rather than attr_t, to build with old Solaris curses, - used in save/restore operation from 2004/09/20. - -2004/12/19 - + add pause-widget (patch by Yura Kalinichenko). - + modify exit-code returned on selecting the "Help"-button when the - --item-help option is given. Previously this returned the same code - as "OK", since it combines output for "OK" with the help status. It - now returns the help-code, but this can be overridden by setting the - environment variable $DIALOG_ITEM_HELP (reports by Erika Pacholleck - and Sebastian Muesch). - + modify formbox widget so input-length is not limited to field-length - (report by David Liebermann). - + localize the label on the search box for textbox widget (report by - Erika Pacholleck). - + correct usage message detail for fselect, which listed an extra - parameter (Debian #284008). - + add include for in ui_getc.c to build with QNX 4.25 - using Watcom 10.6 (patch by Len Meakin). - + modify behavior when no locale (or POSIX locale) is set to allow - legacy interpretation of Latin-1 character set (Debian #284795). - -2004/11/18 - + correct computation of column width for menubox/checkbox tags, for - multicolumn characters, e.g., the menubox-utf8 example. - + correct calls to wbkgdset(), which set the background attribute but - not the corresponding character (ncurses uses blank if none is given). - + improve configure script check for _XOPEN_SOURCE and _POSIX_C_SOURCE. - + improved limit-computation in show_message() to allow for scrolling - very long messages. - + adjust scrolling logic in msgbox to account for the one-line offset - used by the logic which wraps text in a box, thus avoiding leaving - an extra blank line (report by Maxim Sobolev). - -2004/09/20 - + add samples/whiptail.rc - + add samples/dialog.py (noting that a later version of this exists - as pythondialog, but this is relatively self-contained). Modified - the script to accept the $DIALOG environment variable like the other - sample scripts, to specify the path of the program to use. - + modify the install rule for header-files so the autoconf names in - dlg_config.h (and corresponding usage in dialog.h, etc), are altered - from "HAVE_xxx" to "DLG_HAVE_xxx", etc. - + add a check for getenv("HOME") in rc.c - + add a call to end_dialog() in signal_handler for tailboxbg (from - patch by Werner Fink). - + correct initialization in checklist and radiobox for --default-item, - scrolling as needed. - + modify --visit-items option so that it puts the cursor initially on - the list (in menubox, checklist and radiobox), accepts abbreviations - for the buttons when the cursor is on the button-row, and otherwise - (when --visit-items is given) abbreviations apply only to the list - (report by Erika Pacholleck). - + modify a few widgets (inputbox, textbox, yesno) to beep on unexpected - input. - + modify some msgbox widget to accept abbreviations of its button - label, for consistency with other widgets (request by Erika - Pacholleck). - + corrected logic of dlg_char_to_button(), making it check only the - first uppercase letter in each button label rather than all uppercase - letters (report by Erika Pacholleck, cf: 2003/09/10). - + improved description of --clear and --keep-window options (adapted - from Erika Pacholleck). - + move discussion of --beep and --beep-signal options to Obsolete - Options section of manpage, remove these from the help-message - (report by Erika Pacholleck). - + bracket extern's in dialog.h with C++ extern "C" declaration, in case - the library is used from a C++ application. - + modify inputmenu examples to allow ESC to cancel the script. - + modify inputmenu widget to cancel edit on a TAB or ESC. - + modify inputmenu widget to use the same color scheme for the editable - text as the inputbox widget. - + modify samples/killall to work around differences in "cut" versions. - + use the color-caching from the \Z logic when loading the ".rc" file, - thereby reducing the number of color pairs required, and making it - less likely that deriving color pairs for drawing arrows on a given - background will run out of colors. - + save/restore window attributes in dlg_draw_arrows() and similar - functions, to allow widgets to draw arrows using the widget's - background rather than a common/fixed value (request by Erika - Pacholleck). - + modify textbox widget so the down-arrow will be hidden when at the - end of the file. (Modifying the up-arrow to be hidden is harder - - will do this when implementing scrollbars). - + correct off-by-one in fselect.c which left down-arrows showing at - the bottom of directory- and file-lists (report by Erika Pacholleck). - + improve display of percentages by omitting blanks where lines should - be shown. - + modify logic for \Z escapes to make those that set video attributes - not clear the colors (report by Erika Pacholleck). - + modify logic for \Z escapes to allow foreground and background - colors to be the same, provided that bold attribute is set. - Also improved the logic for choosing a background color when the - foreground and background are the same (report by Erika Pacholleck). - + updated configure script macro CF_XOPEN_SOURCE, ensuring that the - _POSIX_C_SOURCE value is defined with a specific value (bug report - originally for lynx). - + fix configure script so that po/makefile is generated properly when - the configure --srcdir --enable-nls options are used. - + modify makefile.in to allow build/install from another directory, - i.e., using configure --srcdir (patch by Mike Castle). - + updated da.po (Debian #262587, Morten Brix Pedersen). - + modify some sample scripts to avoid using grave quotes nested within - double quotes with multiple file redirection, which does not work - with Solaris /bin/sh (report/analysis by Eric Haller). - + check for end of string immediately after a \Z escape to avoid - displaying the null terminator as a ^@ (report by Erika Pacholleck). - > patches by Erika Pacholleck: - + modify calendar.c, fselect.c and timebox.c to use color scheme like - other lists, using menubox colors rather than dialog colors. - + correct charset for po/de.po, translate messages for "Help" and - "Rename". - + omit parentheses around percentage in textbox.c - + correct a few mismatched attributes, e.g., searchbox_attr in textbox.c, - percentage in msgbox.c, - - -2004/07/31 - + add test scripts to cover zero-width column case. - + remove limit checks from checklist.c and menubox.c (cf: 2004/07/28), - since some scripts use zero-width columns (Debian #262411 and report - by Kyle Sallee). - -2004/07/29 - + modify msgbox.c to only reserve space for percentage shown as part - of scrollable text for the msgbox widget. This makes infobox look - as it did before 2004/06/06 changes (report by Vinesh Christopher) - -2004/07/28 - + remove redundant calls to wtimeout() from widgets since wtimeout() - is properly called from ui_getc() where it is controlled by the - --timeout option (bug report by juanjo). - + add limit checks in checklist.c and menubox.c for very narrow screens - (prompted by Steve Grubb patch). - + initialize step in dlg_draw_buttons() in case it is used to draw - a vertical list of buttons (prompted by Steve Grubb patch). - > fixes by Steve Grubb: - + correct logic in checklist.c (cf: 2003/11/26 changes) which turned - quoting on unnecessarily for radiobox, breaking some old scripts. - + increase size of array in dlg_ok_labels() to avoid overrun if extra - and help buttons are used (cf: 2002/06/12 changes). - + initialize fkey variable in menubox.c and textbox.c (cf: 2003/07/12). - -2004/07/21 - release 1.0 - + minor updates for configure script, i.e., CF_XOPEN_SOURCE, - CF_NCURSES_LIBS macros. - + update config.guess, config.sub - + add nl.po (Jacques Weewer). - -2004/06/06 - + add --visit-items option, which allows the user to tab to the item - list in the checklist/radiobox and menubox widgets (request by - Ari Moisio). - + use wide-character line-drawing for up/down arrows when configured - for wide-characters, gives better results with uxterm. - + limit the number of times a --file option can be used, to prevent - runaway recursion if a --file option is embedded within a file which - is included. - + improve discussion of wrapping in the manpage (Debian #251937). - + modify msgbox to allow it to scroll vertically like textbox (Debian - #233276). This only works with ncurses. - + implement $DIALOGVARS environment variable to apply common options to - dialog_vars when it is reset before processing other common options. - + add --single-quoted option to control whether output is double-quoted - with '"' or single-quoted with single-quotes. - + revert the default quoting behavior of checklists to use - double-quotes (report by Mark K Post regarding Slackware scripts). - + add eu.po (Basque) (Piarres Beobide Egaa). - + add ca.po (Catalan) (Jordi Mallach). - -2004/04/21 - + add a call to flushinp() to init_dialog(), to discard any typeahead - before dialog is invoked (Debian #244746). - + correct dlg_match_char() function, which was broken during rewrite - to support wide-characters (Debian #244777). - + improved ru.po, uses UTF-8 charset (Leonid Kanter, Redhat #119200). - + correct position of shadow drawn for dialogs, which appeared to work - for most versions of curses (other than NetBSD) but would have been - visible for certain color schemes (discussion with Julian Coleman). - + correct loop-exit in longest_word() (Tomas Heredia, forwarded by - Santiago Vila). - + add cy.po (Welsh) (Dafydd Harries). - -2004/03/16 - + modify quoting of results to use single-quote rather than double - quote, and ensure that results containing a quote or backslash - character are escaped (report by Florent Rougon) - + remove an incorrect comparison from checklist which made cursor - stick on the last line, from 2004/03/01 changes. - -2004/03/14 - + add a dependency to install library if "--with-libtool" is used. - + add manpage for the library. - + add "--file" - + modify formbox.c to support "--help-status" like menubox. - + modify checklist.c to add item name to the "HELP" string when - "--help-button" is used and no --item-help option is given (Debian - #236841, report/patch by Jorg Sommer). - + rename colors.h to dlg_colors.h, install that when the library is - installed. - + add copyright notice to usage ("--help") message. - + correct a missing bounds check for mouse-clicks in menubox (prompted - by Debian #233044). - + updated several configure-script macros: AM_GNU_GETTEXT, - AM_WITH_NLS, CF_OUR_MESSAGES, CF_PROG_EXT, CF_WITH_DBMALLOC, - CF_WITH_DMALLOC, CF_WITH_LIBTOOL, CF_XOPEN_SOURCE. - -2004/03/01 - + improve layout of calendar widget to allow for very long button - labels (report by Santiago Vila). - + correct logic for $DIALOG_TTY, broken in 2003/11/30. The environment - variable must evaluate to a nonzero integer (report by Florent - Rougon). - + document interaction between "--default-no" and "--no-cancel" options - in manpage (Debian #223488). - + change configure script to use autoconf 2.52+patch, to work around - issues with Estonian locale (report by Seemant Kulleen). - + add uk.po (Ukrainian) (Debian #232441). - + make --default-item apply to checklist widget (Debian #225255). - + correct a missing check for --item-help when --help-status was given - for checklist (Debian #232921). - + correct a missing bounds check for mouse-clicks in checklist (Debian - #233044). - + update config.guess, config.sub - -2003/12/07 - + correct infinite loop in yesno widget when "--defaultno" option is - combined with "--no-cancel" (Debian #223077). - -2003/11/30 - + suppress double-quotes added for "--help-status" option if the - string does not contain any special characters. - -2003/11/26 - + add samples/sourcemage.rc, for comparison with slackware.rc - + add "--insecure" option (request by Sean Mathews (DrWho@f34r.com)). - + make "--defaultno" option apply to widgets which use OK/Cancel - buttons as well (Debian #209030). - + improve documentation of exit-codes for each widget in the manpage - (Debian #217926). - + add option "--keep-window" to suppress repainting after completing - each widget (request by Ingo van Lil). - + add options "--yes-label" and "--no-label" to allow override of the - "Yes" and "No" strings (request by Christoph Zwerschke). - + add option "--help-status" to allow script to restore a checklist - or radiolist after processing an item-help string (Debian #209031). - + modify width-calculation for non-formatted text to ensure it is - wide enough for the longest word in the text (patch by Andrew Gaul). - + modify dlg_index_columns() to count a newline as a single cell rather - than 2 for the normal curses case. This fixes an off-by-one for - the text-justification, shown in screen 2 of msgbox1 sample script. - + fix dlg_char_to_button(); 2003/09/10 changes made it incorrectly - ignore case of the labels. - + change calendar's use of arrow keys so they are (as before 2002/06/22) - interpreted within the day-grid as movement within that grid (request - by David Anders). - + correct missing initialization of last_getc variable in dlg_getc() - (report/analysis by Victor Wodecki). - + modify main program to make - dialog --no-shadow --print-maxsize - work. Normally dialog prints the screen size after subtracting the - area reserved for shadows, but some applications may need the actual - screen size (Debian #213424). - + several related changes (Debian #213425): - + separate the examples using "--stdout" and "--output-fd" from the - normal usage examples. - + add "--input-fd" option, provide a sample of its use. - + modify init_dialog() to use initscr() unless a "--stdout" option - was used. Some scripts relied on the coincidence that redirecting - standard output from dialog would "work". Before this change - init_dialog() assumed that redirected standard output was - synonymous with "--stdout" option (not the intended behavior). - + modify command-line parsing to look for "--stdout" and "--stderr" - options first, allowing only one. - + add a check for an environment variable $DIALOG_TTY which provides - the older behavior, i.e., try to open the terminal directly if - stdout is redirected. - + interface changes, to make libdialog simpler to use: - + rename all of the internal functions to begin with "dlg_", but - provide compatibility with older names if the application defines - __DIALOG_OLD_NAMES__. - + add dialog_version() function, and corresponding DIALOG_VERSION and - DIALOG_PATCHDATE definitions to dlg_config.h - + eliminate remaining global variables such as screen_initialized in - favor of dialog_state and dialog_vars. - + move some data such as dialog_vars.output to dialog_state, since - they are normally not reset between widgets. - + change interfaces of dialog_yesno() and dialog_checklist() to use - dialog_state.defaultno and dialog_vars.separate_output, making it - simpler and more consistent. - + improve configure script and related definitions: - + add "--with-libtool" option to provide shared library support by - libtool. - + rename generated "config.h" to "dlg_config.h", so it can be - installed without naming conflict. Added "dlg_config.h" to - install-lib rule. - + modify configure script and makefile to use EXEEXT and OBJEXT. - + add "--enable-widec" option to control whether wide-curses features - are compiled-in, rather than check for the existence of those in - the curses library. This allows building with HPUX curses, which - has abandoned legacy features while not quite supporting X/Open - curses. - + add configure check for getbegx(), etc., which are not provided on - all platforms. - + update config.guess, config.sub - -2003/10/02 - + update hu.po (Arpad Biro). - + revert part of the 2003/08/18 change to "--stdout" option. Using - stderr for screen output does not work well on several platforms - since stdout's settings are affected (report by Kent Robotti). - -2003/09/24 - + modify tailbox to allow it to display files with arbitrarily long - lines. - + fix an infinite loop in tailbox, broken when making interface changes - to dlg_getc() (report by Ingo van Lil). - + amend fix for "--and-widget" to not treat "---" as an option (report - by Kent Robotti). - + updated es.po (Santiago Vila). - -2003/09/10 - + correct "RENAMED" result from inputmenu widget, which did not reset - the result buffer, and did not account for scroll-offset (Debian - #209336). - + modify button, menu and checklist logic that matches a character to - the beginning of a text field to support wide-characters (completes - Debian #195674). - + modify configure script to not use "head -1". - -2003/08/30 - + modify searchbox popup in textbox widget so one can simply press - return on an empty input to cancel the popup. - + modify error reporting to avoid clearing screen if a problem is - found in the ".rc" file. - + add color/attribute combinations for form widget (based on patch by - Reznic Valery). - + combine rc-file colors, attribute- and color-tables to obtain a - single table for color values, which requires less work to add new - entries. - + modify fselect widget to make back-tab work again, since it was - broken by the rewrite of dlg_edit_string(). - + modify howmany_tags() so it will quit searching when it finds any - option, not only "--and-widget" (Debian #206636). - + correct call to dlg_print_text() in print_line(), which did not - account for hidden characters (report/patch by David Poole). - + modify print_button() to display properly if locale defines ok/cancel - or yes/no buttons that contain multibyte characters. - -2003/08/20 - + correct an indexing error when deleting from the end of a line using - KEY_DC; it happened to work on Linux because malloc() clears memory - like calloc(). - + add '\r' to case statement where '\n' is translated to KEY_ENTER to - work around defect in NetBSD curses. - + modify configure check for getparyx(), etc., which are implemented - by NetBSD curses as functions rather than macros. - + correct configure check for term.h, which may be - if ncursesw development headers are installed, but not ncurses - development headers. Or they may not coincide (Debian #206287). - -2003/08/18 - + modify checklist.c and menubox.c to display tags properly if they - contain wide-characters. - + better solution for initializing curses when "--stdout" option is - used, e.g., use stderr for the output if it is a tty. Also correct - the error handling, so dialog exits with an error if it cannot - find a way to do output (Debian #205509). - + modify sample scripts to use consistent definition of $DIALOG - (Debian #205508). - + add UTF-8 examples inputbox6-utf8, inputbox6-utf8 (from Tomohiro - Kubota, Debian #195674). - + modify print_line() to work with wide-characters, e.g., so it handles - wrapping for double-width characters. - + cache results from multibyte character indices, speeds up cursor - movement. - + modify form widget to support scrolling and mouse-selection. - + add form widget (based on patch by Reznic Valery). - + correct mouse-handling for inputmenu widget. - + corrections to menu.c: location of clearing operation, and height of - rows in code for older ncurses versions (patch by Reznic Valery). - + improve logic that compensates for xterm's alternate-screen by - cancelling the rmcup/smcup strings after the rmcup has been issued. - That ensures that dialog will not clear the screen on exit (report - by Javier Kohen). - + modify initialization between widgets to retain the values for the - --aspect, --separate-widget and --tab-len options. - + add --separator as an alias for --separate-widget (compatible with - Xdialog). - + correct handling of Xdialog's --icon and --wmclass options, whose - parameter was not ignored. - + correct logic for --separate-widget so its string is written before - each output, rather than only for --and-widget option (report by - Javier Kohen). - + improve limit-check in center_label() for buttons.c (report by Tor - Vidar Havstad). - + correct layout of --menu widget, which reduced display width due to - logic for --inputmenu being applied whether or not that configuration - was used (reports by Javier Kohen, Dimitar Zhekov and MAL - ). Fixes Debian #201215. - + modify gauge widget to support --begin option (Hans-Joachim Baader). - + updated pl.po (Jaroslaw Swierczynski). - + hide cursor while painting gauge. - + add auto-sizing logic to gauge widget (reports by Javier Kohen and - Robert Schubert). - -2003/07/20 - + rewrote inputstr.c, allowing it to enter and display wide-characters. - Some nonprinting characters such as control/B can be edited as well. - + modify timebox to allow user to type numbers into the fields. - + change interfaces of dlg_getc(), mouse_wgetch(), etc., to add - parameter that returns whether the result is really a function-key. - This is needed to work with wide-character curses. - + correct computation of week-number in calendar widget (report by - Heiner Lamann). - + updated configure script macros: - + suppress -Winline with gcc 3.3, since it is broken. - + fix caching bug in CF_UTF8_LIB - + improved script for CF_BUNDLED_INTL. - + update config.guess, config.sub - -2003/03/08 - + add null-pointer checks to some malloc calls which were overlooked. - + correct logic in dlg_add_result(), which did not copy content of - non-allocated buffer to the first allocation (report by Daniel - Dupont). - -2003/03/02 - + correct an uninitialized value in dlg_add_result() (Debian #182683). - -2003/01/30 - + corrected print_line(), which subtracted the margin twice from the - right-limit, making a string wrap unnecessarily (Debian #168823). - + correct initial limit-check for arrows in checklist.c, which used - the wrong variable, showing the bottom arrow when it should not - (Debian #168823). - + modify driver to always call show_result(), to simplify updates. - + fix several memory leaks, important if dialog is run with a large - number of widgets (report by albert.veli@telia.com forwarded by - Santiago Vila). - + check if the screen output is actually to the terminal before trying - to suppress xterm's alternate screen mode (see 2000/01/18) (report by - David Oliveira). - + use dialog_vars.input_result consistently to return the text which is - printed after a widget completes. In many cases, dialog now - allocates enough space to hold the text, rather than use a fixed - buffer. The checklist widget was writing directly to the output to - avoid limits of the fixed buffer. - + modify dialog.c to also write dialog_vars.input_result if the - Help-button was pressed (request by Amon Ott). - + add hu.po (Arpad Biro). - + update fr.po, pt.po, pt_BR.po to add strings for "Help" button (patch - by Frederic L W Meunier). - + fix off-by-one error in menu.c, checklist.c (reported by - Tomasz Wasiak 2002/09/15 and others: - Andrew Gaul 2002/11/12, - Tobias C Rittweiler 2002/11/19, - Arpad Biro 2003/01/21). - + updated configure script, improving checks for ncurses in various - locations, updated NLS script to match lynx. Added --with-curses-dir - option. - > Tobias C Rittweiler: - + make ifdef in mousewget.c consistent with usage in dialog.h - + use beep() rather than flash() in dlg_edit_string(), for consistency - with the other functions. - + change order of buttons so extra button falls between Ok/Cancel. - + fix so "dialog --print-maxsize" exits from curses. - + add --inputmenu option. - -2002/08/14 - + modify checklist.c and menubox.c to treat the extra button like the - "Ok" button by making dialog print the chosen items (request by - Tobias C Rittweiler). - + add examples checklist6 and menubox6 to illustrate the --colors - option. - + implement -colors option, which allows one to highlight words in the - titles and most text areas with color or video attributes (adapted - from patch by Tobias C Rittweiler). - + add examples inputbox4, inputbox5 to illustrate how to use the - --output-fd option, and how to use dialog without any temporary - file at all. - + add --output-fd option (Debian #153984). - + documented vi-style keys for calendar, textbox widgets in manpage. - -2002/06/22 - + improve mouse handling, e.g., for up/down scrolling in calendar, - checklist, etc. - + add --extra-button and --extra-label options (adapted from patch - by Tobias C Rittweiler). - + correct displayed cursor position in inputbox when returning to the - input area after traversing the buttons with tabs, etc. - + add left/right arrows for traversal in calendar and timebox dialogs. - + implement two new functions dlg_next_ok_buttonindex() and - dlg_prev_ok_buttonindex(), using these to hide details about the - traversal over buttons in several widgets. - + modify checklist.c and menubox.c to verify if both --help-button and - --item-help are specified before assuming that selecting the help - button should cause the "HELP {item-help}" message to be printed - (reported by Marcel Ritter). - + modify init_dialog() to work around HP's broken tty driver (report by - John Mudd). Specifically, the problem is that when opening /dev/tty - directly (to support the --stdout option), the terminal does not - change to raw mode. The workaround opens /dev/tty only as needed; - the --stdout option does not work on HPUX but otherwise dialog works. - + updated el.po (patch by kromJx ). - -2002/05/19 - release 0.9b - + add --no-collapse option to allow one to retain tabs and repeated - blanks in a message box (request by Roberto Simoni). - + use DLG_EXIT_ESC constant rather than -1's in several places. This - has the effect of changing some exit-with-error cases to denote that - the exit was because ESC was pressed (patch by Diego Alvarez, - forward by Santiago Vila). - + bump package version to 0.9b (with patch-date, as usual). - + add --exit-label option (request by Roberto Simoni). - + updated de.po to correct translation for "Cancel" (from Michael - Piefel, Debian #146402). - + use definitions from autoconf macro AC_HEADER_TIME to ensure that - time() is properly prototyped. - + update pl.po, adding translation for "Help" (patch by Jaroslaw - Swierczynski ). - + update COPYING file, to reflect address change of FSF (reported by - Santiago Vila). - + update some configuration script macros: CF_CHECK_CACHE, - CF_CURSES_CPPFLAGS, CF_HEADER_PATH and CF_MAKEFLAGS. - + correct misuse of "$with_XXX" variables in the configure script, - which prevented configuration against curses library as opposed to - ncurses. - + update config.guess, config.sub - -2002/03/09 (a) - + modify geometry of samples/fselect scripts to allow them to run in - a 24x80 screen (report/patch by Santiago Vila). - + correct exit-code for menubox.c when Cancel is pressed. This was - unintentionally altered when adding --help-button (reported by - Patrick J Volkerding) - -2002/03/09 - + add --timeout option, which forces the program to exit with an error - if no user response is given within the specified number of seconds - (request by ). - + modify calendar widget to allow day/month/year values to default to - the current date (request by ). - + modify display of buttons in checklist.c and menubox.c to handle the - case where the button label is empty (Debian #134388). - + extended logic for ok/cancel/help to make this work with checklist - widget. - + revert pt_BT.po, apply changes to pt.po (report by Frederic L W - Meunier). - > several changes from Stanislav Ievlev: - + add options --help-button and --help-label to make menubox display a - third button which can be used to return an exit code causing the - calling script to show extended help information. - + use home/end keys in input string-editing, e.g., inputbox. - + add option --max-input to limit length of string returned by inputbox - and other widgets which allow the user to edit a string. - -2001/12/02 - + add --ok-label and --cancel-label options (request by Kyle Sallee). - + correct usage message for --fselect option (reported by Patrick J - Volkerding). - + add samples/debian.rc, for comparison with slackware.rc - + corrected samples/slackware.rc, which was just the compiled-in - default values (patch by Patrick J Volkerding). - + modify search rule for rc-file to add a global rc file /etc/dialogrc - (patch by Patrick J Volkerding). - + updated pt_BR.po with modified entries for fselect.c (Frederic L W - Meunier). - + add pl.po (Swiergot ). - -2001/11/11 - + modify command-line parsing to allow a "--" argument to act as an - escape, so the next argument is not recognized as an option if it - begins with "--". This is apparently one of popt's undocumented - features, upon which some Debian scripts depend (Debian #116642). - + add da.po (Morten Brix Pedersen ). - + add an install-strip rule to makefile, changing the normal install - rule to not strip the installed executable (based on discussion with - Santiago Vila). - + initialize my_output variable if user cannot open /dev/tty, e.g., if - su'd to another user (patch by Richard Braakman (), Debian - #117177). - + add configure option --with-ncursesw, to allow configure/build with - wide-character version of ncurses. - -2001/10/14 - + add option --ignore, to make dialog be ignore options that it does - not recognize. - + add option --trim, to trim literal newlines and repeated spaces from - text that will be displayed. Add samples/msgbox2, which is the - same as msgbox1, but using --trim (cf: change for Debian #102942). - + minor correction to attributes for buttons.c to use active_attr on - the right-side of a button. - + add a sample dialog rc-file slackware.rc based on diffs in hdasetup - package at - http://ftp1.sourceforge.net/pub/mirrors/slackware/slackware/source/a/hdsetup/ - (discussion with Frederic L W Meunier). - + modify dialog.pl to avoid using a statically-named tempfile, allowing - multiple processes to use this script (patch by James Ranson - (), Debian #110609). - + correct fprintf() call in j_menu() function, i.e., "--menu" option, - which did not guard against expanding '%' embedded in the parameters - (Stavros Chatzistefanidis ). - + add et.po (Ivar Smolin ). - + update fr.po (Frederic L W Meunier). - + modify to allow scripts to alter the exit codes, mainly to - distinguish ESC and ERROR exits. This is done by setting a shell - variable such as DIALOG_ESC to a new value (request by Petr Vandrovec - (), Debian #99264) - -2001/08/27 - + use VPATH in makefile to support build with configure --srcdir, if - the make program supports that. Note that samples/install/makefile - is not generated, due to awkward limitation of autoconf script - (reported by Frederic L W Meunier <0@pervalidus.net>). - + add po/pt_BR.po (Frederic L W Meunier <0@pervalidus.net>). - + correct sense of --enable/--disable shown in configure --help (report - by Frederic L W Meunier <0@pervalidus.net>). - + correct logic for --clear option, broken in 2000/07/02 (fixes Debian - #110254). - -2001/08/11 - + porting fixes to work on AIX: flush output to work around bug in - curses library, use ./killall in scripts to avoid conflict with - AIX program by that name. - + modify dlg_trim_string() to retain literal newlines if the string - does not contain "\\n" strings, and to retain leading blanks on the - resulting lines, for compatibility with older scripts (Debian - #102942). - + add charset specification to cs.po - + change dates in CHANGES to consistent format, add el.po for Greek - (patch by kromJx ). - + eliminate static globals (bss, data) from modules rc, tailbox, - textbox using better parameter-passing convention, and const. - + cleanup temporary files in a few of the sample scripts. - + rewrote tailboxbg using select() rather than fork(), thereby - eliminating lock-files. Only one process should be trying to display - on the screen at any given time. - + add error check to ensure that numeric parameters are really numbers. - + correct off-by-one in error messages reporting too-few or too-many - tokens for a given option (reported by George Mirchev). - + fix typo in manpage, "textboxbg" where "tailboxbg" was meant - (reported by George Mirchev ). - + use DLG_EXIT_xxx symbols consistently for all exit codes. - + updated es.po (patch by Santiago Vila). - + updates for some configure script macros from lynx: CF_MAKEFLAGS, - CF_NCURSES_VERSION, CF_PROG_EXT. - + fixes to compile if is included, e.g., when building with - AIX curses (report by Suzi Dowson ). - -2001/05/27 - + updated dialog.pot - + modify fselect.c to work with autosize, i.e., given height and width - zero (report by Martin Povolny). - + add a null-pointer check in justify_text(), needed by fselect.c - + add several more options which dialog can safely ignore, from - Xdialog 2.0.2 - + refinements for configure macros checking for $CPPFLAGS, from lynx. - + update config.guess, config.sub to match autoconf 2.50 - > Martin Povolny : - + add cs.po - + use nl_langinfo() to customize names for day-of-week, and month - -2001/05/11 - > Vincent Stemen : - Fixed dialog.c to not pass menu items through dlg_trim_string(). - Stripping extra spaces out of the menu items broke some of my - scripts by altering the string that it compared to know which menu - item was selected. There should be no need to do justification on - the menu items, which are always one line, anyway. - -2001/04/29 - > Vincent Stemen : - + rewrote the text justification code to be able to have preformatted - text in the prompts with extra spaces like the older versions of - dialog. If there are "\n" strings in the text, then extra spaces are - preserved. Lines are always wrapped on word boundaries. - + fixed --cr-wrap to break lines on '\n' (newline) characters and not - add an extra line at the top and bottom of the text. It now works - as the manual says it should. - + it is no longer necessary to use "\n\" at the end of lines to escape - the '\n' character. "\n" now works. However, the old way, "\n\" - still works. - + the fixes involved the following changes: - - rewrote dlg_trim_string() to recognize preformatted text (know - when not to strip extra spaces) and to pay attention to --cr-wrap. - - rewrote justify_text() which now calls a new function in util.c, - print_line(), to print each line and end it on a word boundary. - - modified real_auto_size() to call a new function - auto_size_preformated() to calculate the box size for preformatted - text. - - removed skip_blanks() and skip_text() since they are not used by - the new justify_text(). - - modified dialog.c to not call dlg_trim_string() on title strings - so that titles retain their spaces. - + modified the following demo files in the sample directory: - - inputbox - changed all "\n\" strings to "\n" to demonstrate the extra - backslash is no longer needed. - - inputbox1 - removed all the "\n\" strings from the end of the lines to - properly demonstrate --cr-wrap. - - msgbox1 - this sample was using "--aspect 9 --cr-wrap". Rewrote it to - properly demonstrate --aspect. 9 is already dialog's default - aspect ratio. It now creates several dialogs in sequence, - demonstrating aspect ratios of 9, 12 and 6 and properly - demonstrates --cr-wrap. - + made the following changes to the manual (dialog.1). - - rewrote the description of --aspect to be more understandable. - - rewrote the description of --cr-wrap to be more correct and more - detailed. It did say, "Otherwise, the text for each dialog will - display on a single line.", which is not correct. It wraps the - text to fit in the box. - > T.Dickey: - + use logic from menubox dialog in checklist to handle autosizing when - list height is given as zero (fixes problem reported by Eric Veltman - ). - + modify checklist and menubox dialogs to check for too-wide data, and - truncate one or both of the name and text fields to fit (also - reported by Eric Veltman). - + corrected a few items from Vincent's patch: - - use C89-style comments rather than C++ - - restore logic in justify_text() which checks for win==0, needed to - work with standard curses implementations other than ncurses. - The first call on justify_text() passes a null pointer as a flag - to indicate that checking should be done, but no screen updates. - - avoid modifying the buffer in decode_percent(), otherwise a message - containing a space or newline would be truncated at the whitespace. - - modify dlg_button_x_step() and dlg_button_layout() slightly to - work with altered print_autowrap(), etc. - + fixes to build/work with SunOS 4.x 5lib curses - -2001/04/15 - + fix a memory leak in mouse_region(). - + simplify handling of optional parameters with new functions - optional_str() and optional_num(). - + add calendar and timebox dialogs (compatible with Xdialog). - + correct typo in fallback definition for getparyx, and remove void - cast for mouse_open and mouse_close which prevented build with - Sun's Solaris compiler. - + rename --enable-lxdialog configure option to --enable-Xdialog - + modify CF_NCURSES_CPPFLAGS macro to match more variations of ncurses - header files. - + update config.guess, config.sub - + modify some configure script macros to avoid problems with buggy - autoconf 2.49c which breaks changequote(). - -2001/01/15 - + small fix to revised real_auto_size() and justify_text() to avoid - adding origin to box-width, which broke samples/wheel. - + apply 1999/12/25 tempfile change to wheel and copismall samples. - + add sample script for tailboxbg. - + revised lock-file management to better ensure that locks are actually - created by the tailbox subprocess(es). - + correct hardcoded signal 15 in tailbox to SIGHUP to match - documentation. Signal 15 is usually SIGTERM, which cannot be caught. - + correct off-by-one comparison of return-value for arg_rest() which - made - dialog --gauge test 10 50 - dump core because it expected a 4th parameter (fixes Debian #80641). - + resync config.sub, config.guess from - http://subversions.gnu.org/cgi-bin/cvsweb/config/ (which finally have - cases for OS/2 EMX), minor tweaks to related configure script macros. - -2000/12/17 - + restore treatment of predefined height/width in real_auto_size() - which was lost in 2000/12/12 rewrite (report by Raphael Halimi - ). - + updates for configure script macros AM_PATH_PROG_WITH_TEST, - CF_CURSES_LIBS, CF_LIB_PREFIX, CF_PROG_EXT for $PATHSEP and $CFLAGS - fixes. - -2000/12/13 - + correct change for create_lock(), which resulted in an infinite loop - (patch by Chris Butler, ). - -2000/12/12 - + rewrote print_autowrap() and real_auto_size() to share common code - justify_text(), which now does text flow even when the string - contains newlines (fixes Debian #77199). - + improve create_lock() function using open() with O_EXCL rather than - fopen() (patch by Matt Kraai (), Debian #78951). - + correct description of --fselect in man page (patch by Tomas Pospisek - (), Debian #77200). - + add --no-cancel as alias for --nocancel for compatibility with - Xdialog (report by Luis E Limon ). - -2000/10/27 - + some lint fixes using lclint (mostly void-casts, but some - sign-extension fixes e.g., for ctype.h macros, and loop in - dlg_char_to_button()). - + modified to build/run on OS/2 EMX with ncurses. - + minor changes to po/*.po (trim trailing blanks, provide explicit - translation for "OK"), to work with Solaris gettext. - + modified to allow this to build with archaic version (1.8.6) - of ncurses on FreeBSD 3.1 (does not run). - + update config.guess, config.sub from subversions.gnu.org - -2000/10/17 - + use new function sub_window() to check success/failure of calls to - subwin(), printing an error message if it fails (fixes Debian #74903). - + use combination of isatty/ttyname to look for workable tty device - on systems which have no /dev/tty, e.g., BeOS. - -2000/10/08 - + change exiterr() to use stdarg.h, make some messages easier to - understand. - + add dialog_clear() - + make samples/install/setup build. - + implemented mouse support for buttons, e.g., in yesno dialog using - ncurses (the gpm support no longer works, but is useful for reference) - + add a configure check for chtype. - + updates for configure script macros (CF_BUNDLED_INTL, CF_CURSES_LIBS, - CF_GCC_ATTRIBUTES, CF_GCC_WARNINGS, CF_INCLUDE_DIRS), and scripts - config.guess, config.sub - + cleanup of item-help change, integrate with checklist and radiobox. - + add ja.po, from Hirofumi Takeda . - > patch by Marco Mariani - + add --item-help option, which makes menubox data interpreted as - 3 columns rather than 2. The third column is displayed on the - last line of the screen as a help/status message for the currently - selected item. - + add it.po, pt.po - + change TAG_KEY_HL to FALSE, making unselected items in checklist - easier to read on Linux console. - -2000/07/30 - + change real_auto_size() to allow it to be used for dialogs that have - no prompt, e.g., fselect. Also, rather than requiring both height - and width to be given as -1 for maximizing the dialog, allow either - alone. - + increase minimum height needed for autosized yesno dialog. - + add --version as an alias for --print-version. - + fix for build on Solaris without NLS (cannot redefine 'gettext()'). - + add fselect dialog (compatible with Xdialog). - + add --enable-lxdialog configure option. - + use new configure macro CF_ARG_MSG_ENABLE to show progress with - enable/disable switches. - -2000/07/02 - + implement --stdout and --stderr options as in Xdialog. - + move logic that translates "\\n" into '\n' into main program to - simplify logic that formats text. - + make ifdef's for rc-file not specific to ncurses. - + correct logic making percent parameter of gauge optional. - -2000/06/29 - + add alternate test-script for gauge, adapted from Xdialog. - + modify gauge to make optional a percentage which was read at the - beginning of the XXX-delimited message text, since clones of dialog - are written to assume this is text. If the line is not a simple - integer, dialog will treat it as text. - + make the percent parameter of gauge optional, as in Xdialog. - + undo one use of CharOf() in guage.c, an error. - + fix configure macro AM_WITH_NLS to refrain from attempting to make a - symbolic link into/libintl.h if we are not using the bundled intl - directory from gettext (reported by Julian Coleman - ). - + add ru.po, from Michael Sobolev - + updates for config.guess, config.sub from tin. - + updates for configure script macros: CF_MATH_LIB (improperly nested - brackets/parenthesis) and CF_XOPEN_CURSES (make include of - <*curses.h> depend on configure tests). - -2000/04/25 - + repaint screen when a control/L is pressed. - + apply CharOf() macro to avoid sign-extension on calls to waddch(), - fixes a problem with accented characters (reported by Santiago Vila). - + add es.po, from Santiago Vila - -2000/04/23 - + modified to use gettext (configure option --enable-nls). This uses - gettext 0.10.35, which must be previously installed. (It can also - use an included intl library, but I consider that to be a waste of - disk space). - + remove code in checklist/radiobox, menubox that try to use - abbreviations for the OK/Cancel buttons since those conflict with the - check for abbreviations in list entries, which are more useful. - + moved padding of button labels out of string literals, into the - logic of dlg_draw_buttons(). - + resync/update with configure macros CF_CURSES_LIBS, CF_FIND_LIBRARY, - CF_HEADER_PATH, CF_LIBRARY_PATH and CF_NCURSES_LIBS, as well as - mkdirs.sh and config.guess. - -2000/02/22 - + add --default-item option, for menubox to set the default selection - (fixes Debian #49796). - + add sample scripts for --nocancel and --fb options with inputbox. - + modify inputbox* sample scripts to show application errors, if any. - + add --nocancel option, and ignore --noitem, --fb, --fullbutton, to - make this compatible with whiptail scripts. (whiptail does not - handle many dialog scripts however). - + modify checklist/radiobox to handle home, end, nextpage, prevpage - keys, as well as make the abbreviation search work for the whole - list, not only the current page. - + treat KEY_LL the same as KEY_END in checklist and textbox. - + add logic for KEY_BTAB. - + use new function dlg_draw_buttons() to better manage the layout of - yes/no/ok/cancel buttons. - + another pass of cleanup of dialog.c, makes it use a single table for - lookup of option names and help-message. Eliminated numerous - adjustments to 'offset' variable. - + on initialization, check if standard input is from a terminal. If - not, open /dev/tty (fixes Debian #57771) - -2000/02/05 - + implement inline editing in textbox.c search dialog. - + revise inputbox.c, allowing inline editing with arrow-keys. removed - redundant logic in that module. - + correct a typo that prevented rc-file configuration from building. - + correct ifdef's to compile/run if the curses implementation does not - support color. - -2000/01/23 - + improve test-case for gauge. - + change gauge.c to show progress in reverse-video, add a check for - end-of-file in the loop for reading new messages. - + use curses whline() function to simplify print_arrows() logic in - checklist.c and menubox.c - + use curses beep() function rather than hardcoded strings. - + correct several compiler warnings for gcc -pedantic (mismatch of - const, signed/unsigned). - + modify exiterr() to avoid possible expansion of '%'. - + change CF_MATH_LIB configure macro to allow specifying a particular - test-function. For dialog, this should be sqrt(). The macro was - originally written for ncurses, which needs sin(). However, that is - a builtin function on the m68k port (reported by Roman Hodek - , this fixes Debian #55553). - -2000/01/18 - + update manpage (Debian #25648). - + modify configure test for math library to avoid using a constant - parameter to the test function, lest gcc optimize the call away - (fixes Debian #55553). - + restructure help-message so actual problem is indicated. The original - help-message is shown if no parameters are given, or if the --help - option is specified alone. - + suppress xterm's alternate screen mode by sending an exit_ca_mode - after initscr if the terminal looks like xterm, e.g., has key_mouse - defined, and has private-mode escapes in both enter_ca_mode and - exit_ca_mode (fixes Debian #55181). - + change yellow lettering on white to blue on white, since it offers - better contrast (fixes Debian #51196). - + use napms() rather than sleep(). - + some cleanup/simplification of main program. Indent'd dialog.c and - util.c - + eliminate several places where repeated options are treated as - an error, since they are really executed once anyway. - -2000/01/15 - + remove pre-autoconf Makefile - + remove sleep's from a few of the sample scripts, which left users - thinking that dialog was slow to complete an action. - + rewrote infobox sample script, using dialog's --sleep option and - a loop in the script. - + change 'ch' variable in tailbox.c to an integer, because it is - compared against EOF (fixes Debian #53157). - + corrected mandir variable in makefile.in (reported by Santiago Vila). - + small changes to sample scripts, from Debian: rename "guage" script - to "gauge", change path to copy of GPL used in textbox. - + add uninstall rule to makefile.in, fixed some dependencies so - "make install" works without first doing "make all". - -1999/12/25 - + use more portable scheme for tempfile generation in samples. - + add a configure script, prefer to not use the original Makefile - because it works only with GNU make. - + correct prototype of 'main()', which misused const. - + modify guage.c to use fgets() rather than gets(). - + merge changes from Debian package maintainer - Santiago Vila : - - 1999/10/07 - + add a password dialog box (Debian #45964, patch by Joey Hess). - + implement "--defaultno" option to specify if the default for - the yes/no box is "No" (Debian #46076, patch by Joey Hess). - 1999/03/10 - + modify input.c to clear the input field to the right of the - given string, to help with screen-refresh - 1998/12/08 - + check for list_height less than one in checklist.c (Debian - #22239). - 1998/10/21 - + use function wscrl() in preference to scroll() in checklist.c - and menubox.c (unclear: in ncurses, scroll() is a macro that - uses wscrl()). - + remove the "-I/usr/include/ncurses" option from Makefile - since Debian does not install ncurses' header files into - that directory. - 1998/09/12 - + simplify menubox.c using new functions print_arrows() and - print_items(). add logic to handle KEY_NPAGE and KEY_PPAGE - (Debian #26326). - + modifications to provide sample scripts (Debian #26211): - + change sample scripts to use Debian tempfile utility rather - than putting files into /tmp. - + change sample scripts to use 'dialog' from user's path - rather than in the parent directory as in the build - directory. - + use the system copy of GPL rather than that in the build - directory as an example for the textbox script. - -1999/11/27 - + fix some gcc warnings about ambiguous use of "else" - -1999/05/01 - + cleaned up some of the redundant code with new functions: - box_x_ordinate - box_y_ordinate - draw_title - draw_bottom_box - new_window - - + modified msgbox.c and yesno.c to work with the KEY_RESIZE sigwinch - handling in ncurses 4.2 - - + corrected spelling of "gauge" - -The relevant portions of the Debian change log for the original version -(dialog-0.9a-12) are abstracted here, omitting details of their packaging: - -1998/05/24 - - + Replaced guage.c by the one in dialog 0.6z, which is known to work. - Fixes Debian #18284: unstable dialog. - -1997/12/16 - - + dialog.c: dialog_input_result printed with "%s" format. This was - Debian #9913, fixed by Bill Mitchell, but the change was lost. - + Pristine source, .depend is not removed in clean target. Instead, it - is made zero length (otherwise it would not work *without* fakeroot). - + Added '^U' support in input box (Debian #9915, patch by Joey Hess). - + Wrote patch to fix core-dumping problem (Debian #13170). Sven Rudolph - : - --- vile:fk=8bit diff --git a/contrib/dialog/COPYING b/contrib/dialog/COPYING deleted file mode 100644 index 8add30ad590a..000000000000 --- a/contrib/dialog/COPYING +++ /dev/null @@ -1,504 +0,0 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 2.1, February 1999 - - Copyright (C) 1991, 1999 Free Software Foundation, Inc. - 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -[This is the first released version of the Lesser GPL. It also counts - as the successor of the GNU Library Public License, version 2, hence - the version number 2.1.] - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. - - This license, the Lesser General Public License, applies to some -specially designated software packages--typically libraries--of the -Free Software Foundation and other authors who decide to use it. You -can use it too, but we suggest you first think carefully about whether -this license or the ordinary General Public License is the better -strategy to use in any particular case, based on the explanations below. - - When we speak of free software, we are referring to freedom of use, -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 and use pieces of -it in new free programs; and that you are informed that you can do -these things. - - To protect your rights, we need to make restrictions that forbid -distributors to deny you these rights or to ask you to surrender these -rights. These restrictions translate to certain responsibilities for -you if you distribute copies of the library or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link other code with the library, you must provide -complete object files to the recipients, so that they can relink them -with the library after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - We protect your rights with a two-step method: (1) we copyright the -library, and (2) we offer you this license, which gives you legal -permission to copy, distribute and/or modify the library. - - To protect each distributor, we want to make it very clear that -there is no warranty for the free library. Also, if the library is -modified by someone else and passed on, the recipients should know -that what they have is not the original version, so that the original -author's reputation will not be affected by problems that might be -introduced by others. - - Finally, software patents pose a constant threat to the existence of -any free program. We wish to make sure that a company cannot -effectively restrict the users of a free program by obtaining a -restrictive license from a patent holder. Therefore, we insist that -any patent license obtained for a version of the library must be -consistent with the full freedom of use specified in this license. - - Most GNU software, including some libraries, is covered by the -ordinary GNU General Public License. This license, the GNU Lesser -General Public License, applies to certain designated libraries, and -is quite different from the ordinary General Public License. We use -this license for certain libraries in order to permit linking those -libraries into non-free programs. - - When a program is linked with a library, whether statically or using -a shared library, the combination of the two is legally speaking a -combined work, a derivative of the original library. The ordinary -General Public License therefore permits such linking only if the -entire combination fits its criteria of freedom. The Lesser General -Public License permits more lax criteria for linking other code with -the library. - - We call this license the "Lesser" General Public License because it -does Less to protect the user's freedom than the ordinary General -Public License. It also provides other free software developers Less -of an advantage over competing non-free programs. These disadvantages -are the reason we use the ordinary General Public License for many -libraries. However, the Lesser license provides advantages in certain -special circumstances. - - For example, on rare occasions, there may be a special need to -encourage the widest possible use of a certain library, so that it becomes -a de-facto standard. To achieve this, non-free programs must be -allowed to use the library. A more frequent case is that a free -library does the same job as widely used non-free libraries. In this -case, there is little to gain by limiting the free library to free -software only, so we use the Lesser General Public License. - - In other cases, permission to use a particular library in non-free -programs enables a greater number of people to use a large body of -free software. For example, permission to use the GNU C Library in -non-free programs enables many more people to use the whole GNU -operating system, as well as its variant, the GNU/Linux operating -system. - - Although the Lesser General Public License is Less protective of the -users' freedom, it does ensure that the user of a program that is -linked with the Library has the freedom and the wherewithal to run -that program using a modified version of the Library. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, whereas the latter must -be combined with the library in order to run. - - GNU LESSER GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library or other -program which contains a notice placed by the copyright holder or -other authorized party saying it may be distributed under the terms of -this Lesser General Public License (also called "this License"). -Each licensee is addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, 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 library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete 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 distribute a copy of this License along with the -Library. - - 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 Library or any portion -of it, thus forming a work based on the Library, 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) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -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 Library, 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 Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. - - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you 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. - - If distribution of 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 satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also combine or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (1) uses at run time a - copy of the library already present on the user's computer system, - rather than copying library functions into the executable, and (2) - will operate properly with a modified version of the library, if - the user installs one, as long as the modified version is - interface-compatible with the version that the work was made with. - - c) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - d) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - e) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the materials to be 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. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. - - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library 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. - - 9. 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 Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -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 with -this License. - - 11. 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 Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library 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 Library. - -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. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library 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. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Lesser 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 Library -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 Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -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 - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "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 -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. 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 LIBRARY 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 -LIBRARY (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 LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Libraries - - If you develop a new library, and you want it to be of the greatest -possible use to the public, we recommend making it free software that -everyone can redistribute and change. You can do so by permitting -redistribution under these terms (or, alternatively, under the terms of the -ordinary General Public License). - - To apply these terms, attach the following notices to the library. It is -safest to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least the -"copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - -Also add information on how to contact you by electronic and paper mail. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the library, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the - library `Frob' (a library for tweaking knobs) written by James Random Hacker. - - , 1 April 1990 - Ty Coon, President of Vice - -That's all there is to it! - - diff --git a/contrib/dialog/README b/contrib/dialog/README deleted file mode 100644 index 1bad4311dd40..000000000000 --- a/contrib/dialog/README +++ /dev/null @@ -1,61 +0,0 @@ --(1999-12-25)------------------------------------------------------------------- -This version of dialog, formerly known as cdialog is based on the Debian -package for dialog 0.9a (see CHANGES for recent modifications) -- T.Dickey - --(1996-01-15)------------------------------------------------------------------- -I have uploaded cdialog-0.9a.tar.gz to sunsite. It should be moved -to pub/Linux/utils/shell, I think. - -Starting point for cdialog v.0.9a was dialog-0.6c. Many new features -like as Resolution-independence, Auto-sizing, Maximizing, more widget -on the same screen (multi-widget), etc. were added. New widget are -tailbox and tailbox-in-background. Here are the options: - - Usage: dialog - { --and-widget } - - Common options: - [--backtitle ] [--sleep ] [--beep] [--beep-after] - [--clear] [--begin ] [--aspect ] [--print-size] - [--print-maxsize] [--size-err] [--separate-output] [--cr-wrap] - [--tab-len ] [--tab-correct] [--print-version] [--no-kill] - [--title ] - - Global options: [--shadow] [--no-shadow] [--separate-widget "<str>"] - -At the moment, mouse support with libgpm can't be added because it -does't implement the wtimeout() function of ncurses. Wtimeout() is -needed to have more widgets (es.tailbox) cooperating on the same -screen... I don't know if with newer versions of libgpm it's possible. - -I have no more time to write docs for this new version...Is there -anyone, that looking at the code, can do it??? Ouch! :-) -Don't flame me! - -For the future, if any volunteer want, the way to evolve cdialog is to -1) make a daemon for a better support of multi-tasking or implementing - multithreading. -2) add an option that could permit to read commands (--options) from a - file, like as in a normal programming language, but maintaining - compatibility with older version of dialog. - -I no longer could maintain cdialog... -Executable and library name of cdialog are the same of dialog, for -compatibility. - -I think that only one directive should be follow: don't use a resource -like stdin, stdout when you'll write new options for cdialog; these -resources have to be shared from all widgets on the command line. -Guage uses stdin :-/ so that can't be mixed for example with an inputbox, -but it was made before of multi-widget. However this is not a big problem! - -THERE ARE NO *KNOWN* BUGS. If anyone has much time and can find the way -to add wtimeout() support to libgpm, also mouse could be supported. - -Please use ncurses-1.9.4 or newer. - -| __ | demarco_p@abramo.it:~$ make Linux | more > UserFriendly; -| /__) | /~~ _ _ _ _ /~\ _ / . _ | -|/ ako | (___ (_) | ) ) (-' (__/ | ) /__ | | ) (_| >< . coordinator. - diff --git a/contrib/dialog/VERSION b/contrib/dialog/VERSION deleted file mode 100644 index fc653b601c01..000000000000 --- a/contrib/dialog/VERSION +++ /dev/null @@ -1 +0,0 @@ -15:0:0 1.3 20210117 diff --git a/contrib/dialog/aclocal.m4 b/contrib/dialog/aclocal.m4 deleted file mode 100644 index 191ba9c373fe..000000000000 --- a/contrib/dialog/aclocal.m4 +++ /dev/null @@ -1,7150 +0,0 @@ -dnl macros used for DIALOG configure script -dnl $Id: aclocal.m4,v 1.150 2021/01/11 09:03:36 tom Exp $ -dnl --------------------------------------------------------------------------- -dnl Copyright 1999-2020,2021 -- Thomas E. Dickey -dnl -dnl Permission is hereby granted, free of charge, to any person obtaining a -dnl copy of this software and associated documentation files (the -dnl "Software"), to deal in the Software without restriction, including -dnl without limitation the rights to use, copy, modify, merge, publish, -dnl distribute, distribute with modifications, sublicense, and/or sell -dnl copies of the Software, and to permit persons to whom the Software is -dnl furnished to do so, subject to the following conditions: -dnl -dnl The above copyright notice and this permission notice shall be included -dnl in all copies or portions of the Software. -dnl -dnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -dnl OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -dnl MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -dnl IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -dnl DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -dnl OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -dnl THE USE OR OTHER DEALINGS IN THE SOFTWARE. -dnl -dnl Except as contained in this notice, the name(s) of the above copyright -dnl holders shall not be used in advertising or otherwise to promote the -dnl sale, use or other dealings in this Software without prior written -dnl authorization. -dnl -dnl see -dnl https://invisible-island.net/autoconf/ -dnl --------------------------------------------------------------------------- -dnl --------------------------------------------------------------------------- -dnl AM_GNU_GETTEXT version: 15 updated: 2021/01/02 09:31:20 -dnl -------------- -dnl Usage: Just like AM_WITH_NLS, which see. -AC_DEFUN([AM_GNU_GETTEXT], - [AC_REQUIRE([AC_PROG_MAKE_SET])dnl - AC_REQUIRE([AC_CANONICAL_HOST])dnl - AC_REQUIRE([AC_PROG_RANLIB])dnl - AC_REQUIRE([AC_HEADER_STDC])dnl - AC_REQUIRE([AC_C_INLINE])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([jm_GLIBC21])dnl - AC_REQUIRE([CF_PROG_CC])dnl - - AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h stddef.h \ -stdlib.h string.h unistd.h sys/param.h]) - AC_CHECK_FUNCS([feof_unlocked fgets_unlocked getcwd getegid geteuid \ -getgid getuid mempcpy munmap putenv setenv setlocale stpcpy strchr strcasecmp \ -strdup strtoul tsearch __argz_count __argz_stringify __argz_next]) - - AM_ICONV - AM_LANGINFO_CODESET - AM_LC_MESSAGES - AM_WITH_NLS([$1],[$2],[$3],[$4]) - - 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 presentlang in $ALL_LINGUAS; do - useit=no - for desiredlang in ${LINGUAS-$ALL_LINGUAS}; do - # Use the presentlang catalog if desiredlang is - # a. equal to presentlang, or - # b. a variant of presentlang (because in this case, - # presentlang can be used as a fallback for messages - # which are not translated in the desiredlang catalog). - case "$desiredlang" in - ("$presentlang"*) useit=yes;; - esac - done - if test "$useit" = yes; then - NEW_LINGUAS="$NEW_LINGUAS $presentlang" - fi - 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 - - dnl Enable libtool support if the surrounding package wishes it. - INTL_LIBTOOL_SUFFIX_PREFIX=ifelse([$1], use-libtool, [l], []) - AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX) -])dnl -dnl --------------------------------------------------------------------------- -dnl AM_ICONV version: 12 updated: 2007/07/30 19:12:03 -dnl -------- -dnl Inserted as requested by gettext 0.10.40 -dnl File from /usr/share/aclocal -dnl iconv.m4 -dnl ==================== -dnl serial AM2 -dnl -dnl From Bruno Haible. -dnl -dnl ==================== -dnl Modified to use CF_FIND_LINKAGE and CF_ADD_SEARCHPATH, to broaden the -dnl range of locations searched. Retain the same cache-variable naming to -dnl allow reuse with the other gettext macros -Thomas E Dickey -AC_DEFUN([AM_ICONV], -[ - dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and - dnl those with the standalone portable GNU libiconv installed). - - AC_ARG_WITH([libiconv-prefix], -[ --with-libiconv-prefix=DIR - search for libiconv in DIR/include and DIR/lib], [ - CF_ADD_OPTIONAL_PATH($withval, libiconv) - ]) - - AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [ - CF_FIND_LINKAGE(CF__ICONV_HEAD, - CF__ICONV_BODY, - iconv, - am_cv_func_iconv=yes, - am_cv_func_iconv=["no, consider installing GNU libiconv"])]) - - if test "$am_cv_func_iconv" = yes; then - AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.]) - - AC_CACHE_CHECK([if the declaration of iconv() needs const.], - am_cv_proto_iconv_const,[ - AC_TRY_COMPILE(CF__ICONV_HEAD [ -extern -#ifdef __cplusplus -"C" -#endif -#if defined(__STDC__) || defined(__cplusplus) -size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); -#else -size_t iconv(); -#endif -],[], am_cv_proto_iconv_const=no, - am_cv_proto_iconv_const=yes)]) - - if test "$am_cv_proto_iconv_const" = yes ; then - am_cv_proto_iconv_arg1="const" - else - am_cv_proto_iconv_arg1="" - fi - - AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1, - [Define as const if the declaration of iconv() needs const.]) - fi - - LIBICONV= - if test "$cf_cv_find_linkage_iconv" = yes; then - CF_ADD_INCDIR($cf_cv_header_path_iconv) - if test -n "$cf_cv_library_file_iconv" ; then - LIBICONV="-liconv" - CF_ADD_LIBDIR($cf_cv_library_path_iconv) - fi - fi - - AC_SUBST(LIBICONV) -])dnl -dnl --------------------------------------------------------------------------- -dnl AM_LANGINFO_CODESET version: 6 updated: 2021/01/01 16:53:59 -dnl ------------------- -dnl Inserted as requested by gettext 0.10.40 -dnl File from /usr/share/aclocal -dnl codeset.m4 -dnl ==================== -dnl serial AM1 -dnl -dnl From Bruno Haible. -AC_DEFUN([AM_LANGINFO_CODESET], -[ -AC_CACHE_CHECK([for nl_langinfo and CODESET], am_cv_langinfo_codeset, - [AC_TRY_LINK([#include <langinfo.h>], - [char* cs = nl_langinfo(CODESET); (void)cs], - am_cv_langinfo_codeset=yes, - am_cv_langinfo_codeset=no) - ]) - if test "$am_cv_langinfo_codeset" = yes; then - AC_DEFINE(HAVE_LANGINFO_CODESET, 1, - [Define if you have <langinfo.h> and nl_langinfo(CODESET).]) - fi -])dnl -dnl --------------------------------------------------------------------------- -dnl AM_LC_MESSAGES version: 6 updated: 2021/01/02 09:31:20 -dnl -------------- -dnl Inserted as requested by gettext 0.10.40 -dnl File from /usr/share/aclocal -dnl lcmessage.m4 -dnl ==================== -dnl Check whether LC_MESSAGES is available in <locale.h>. -dnl Ulrich Drepper <drepper@cygnus.com>, 1995. -dnl -dnl This file can be copied and used freely without restrictions. It can -dnl be used in projects which are not available under the GNU General Public -dnl License or the GNU Library General Public License but which still want -dnl to provide support for the GNU gettext functionality. -dnl Please note that the actual code of the GNU gettext library is covered -dnl by the GNU Library General Public License, and the rest of the GNU -dnl gettext package package is covered by the GNU General Public License. -dnl They are *not* in the public domain. -dnl -dnl serial 2 -dnl -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 <locale.h>], [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 defines LC_MESSAGES.]) - fi -fi])dnl -dnl --------------------------------------------------------------------------- -dnl AM_PATH_PROG_WITH_TEST version: 10 updated: 2021/01/02 09:31:20 -dnl ---------------------- -dnl Inserted as requested by gettext 0.10.40 -dnl File from /usr/share/aclocal -dnl progtest.m4 -dnl ==================== -dnl Search path for a program which passes the given test. -dnl Ulrich Drepper <drepper@cygnus.com>, 1996. -dnl -dnl This file can be copied and used freely without restrictions. It can -dnl be used in projects which are not available under the GNU General Public -dnl License or the GNU Library General Public License but which still want -dnl to provide support for the GNU gettext functionality. -dnl Please note that the actual code of the GNU gettext library is covered -dnl by the GNU Library General Public License, and the rest of the GNU -dnl gettext package package is covered by the GNU General Public License. -dnl They are *not* in the public domain. -dnl -dnl serial 2 -dnl -dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR, -dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]]) -AC_DEFUN([AM_PATH_PROG_WITH_TEST], -[# Extract the first word of "$2", so it can be a program name with args. -AC_REQUIRE([CF_PATHSEP]) -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}${PATH_SEPARATOR}" - for ac_dir in ifelse([$5], , $PATH, [$5]); do - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_word$ac_exeext" ; then - if [$3]; then - ac_cv_path_$1="$ac_dir/$ac_word$ac_exeext" - 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 ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then - AC_MSG_RESULT([$]$1) -else - AC_MSG_RESULT(no) -fi -AC_SUBST($1)dnl -])dnl -dnl --------------------------------------------------------------------------- -dnl AM_WITH_NLS version: 31 updated: 2021/01/04 17:48:08 -dnl ----------- -dnl Inserted as requested by gettext 0.10.40 -dnl File from /usr/share/aclocal -dnl gettext.m4 -dnl ==================== -dnl Macro to add for using GNU gettext. -dnl Ulrich Drepper <drepper@cygnus.com>, 1995. -dnl ==================== -dnl Modified to use CF_FIND_LINKAGE and CF_ADD_SEARCHPATH, to broaden the -dnl range of locations searched. Retain the same cache-variable naming to -dnl allow reuse with the other gettext macros -Thomas E Dickey -dnl ==================== -dnl -dnl This file can be copied and used freely without restrictions. It can -dnl be used in projects which are not available under the GNU General Public -dnl License or the GNU Library General Public License but which still want -dnl to provide support for the GNU gettext functionality. -dnl Please note that the actual code of the GNU gettext library is covered -dnl by the GNU Library General Public License, and the rest of the GNU -dnl gettext package package is covered by the GNU General Public License. -dnl They are *not* in the public domain. -dnl -dnl serial 10 -dnl -dnl Usage: AM_WITH_NLS([TOOLSYMBOL], [NEEDSYMBOL], [LIBDIR], [ENABLED]). -dnl If TOOLSYMBOL is specified and is 'use-libtool', then a libtool library -dnl $(top_builddir)/intl/libintl.la will be created (shared and/or static, -dnl depending on --{enable,disable}-{shared,static} and on the presence of -dnl AM-DISABLE-SHARED). Otherwise, a static library -dnl $(top_builddir)/intl/libintl.a will be created. -dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext -dnl implementations (in libc or libintl) without the ngettext() function -dnl will be ignored. -dnl LIBDIR is used to find the intl libraries. If empty, -dnl the value `$(top_builddir)/intl/' is used. -dnl ENABLED is used to control the default for the related --enable-nls, since -dnl not all application developers want this feature by default, e.g., lynx. -dnl -dnl The result of the configuration is one of three cases: -dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled -dnl and used. -dnl Catalog format: GNU --> install in $(datadir) -dnl Catalog extension: .mo after installation, .gmo in source tree -dnl 2) GNU gettext has been found in the system's C library. -dnl Catalog format: GNU --> install in $(datadir) -dnl Catalog extension: .mo after installation, .gmo in source tree -dnl 3) No internationalization, always use English msgid. -dnl Catalog format: none -dnl Catalog extension: none -dnl The use of .gmo is historical (it was needed to avoid overwriting the -dnl GNU format catalogs when building on a platform with an X/Open gettext), -dnl but we keep it in order not to force irrelevant filename changes on the -dnl maintainers. -dnl -AC_DEFUN([AM_WITH_NLS], -[AC_MSG_CHECKING([whether NLS is requested]) - dnl Default is enabled NLS - ifelse([$4],,[ - AC_ARG_ENABLE(nls, - [ --disable-nls do not use Native Language Support], - USE_NLS=$enableval, USE_NLS=yes)],[ - AC_ARG_ENABLE(nls, - [ --enable-nls use Native Language Support], - USE_NLS=$enableval, USE_NLS=no)]) - AC_MSG_RESULT($USE_NLS) - AC_SUBST(USE_NLS) - - BUILD_INCLUDED_LIBINTL=no - USE_INCLUDED_LIBINTL=no - INTLLIBS= - - dnl If we use NLS figure out what method - if test "$USE_NLS" = "yes"; then - dnl We need to process the po/ directory. - POSUB=po - AC_DEFINE(ENABLE_NLS, 1, - [Define to 1 if translation of program messages to the user's native language - is requested.]) - AC_MSG_CHECKING([whether included gettext is requested]) - AC_ARG_WITH(included-gettext, - [ --with-included-gettext use the GNU gettext library included here], - nls_cv_force_use_gnu_gettext=$withval, - nls_cv_force_use_gnu_gettext=no) - AC_MSG_RESULT($nls_cv_force_use_gnu_gettext) - - nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext" - if test "$nls_cv_force_use_gnu_gettext" != "yes"; then - dnl User does not insist on using GNU NLS library. Figure out what - dnl to use. If GNU gettext is available we use this. Else we may have - dnl to fall back to GNU NLS library. - CATOBJEXT=NONE - - dnl Save these (possibly-set) variables for reference. If the user - dnl overrode these to provide full pathnames, then warn if not actually - dnl GNU gettext, but do not override their values. Also, if they were - dnl overridden, suppress the part of the library test which prevents it - dnl from finding anything other than GNU gettext. Doing this also - dnl suppresses a bogus search for the intl library. - cf_save_msgfmt_path="$MSGFMT" - cf_save_xgettext_path="$XGETTEXT" - - dnl Search for GNU msgfmt in the PATH. - AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, - ["$ac_dir/$ac_word" --statistics /dev/null >/dev/null 2>&1], :) - AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) - AC_SUBST(MSGFMT) - - dnl Search for GNU xgettext in the PATH. - AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, - ["$ac_dir/$ac_word" --omit-header /dev/null >/dev/null 2>&1], :) - - cf_save_OPTS_1="$CPPFLAGS" - if test "x$cf_save_msgfmt_path" = "x$MSGFMT" && \ - test "x$cf_save_xgettext_path" = "x$XGETTEXT" ; then - CF_ADD_CFLAGS(-DIGNORE_MSGFMT_HACK) - fi - - cf_save_LIBS_1="$LIBS" - CF_ADD_LIBS($LIBICONV) - - CF_FIND_LINKAGE(CF__INTL_HEAD, - CF__INTL_BODY($2), - intl, - cf_cv_func_gettext=yes, - cf_cv_func_gettext=no) - - AC_MSG_CHECKING([for libintl.h and gettext()]) - AC_MSG_RESULT($cf_cv_func_gettext) - - LIBS="$cf_save_LIBS_1" - CPPFLAGS="$cf_save_OPTS_1" - - if test "$cf_cv_func_gettext" = yes ; then - AC_DEFINE(HAVE_LIBINTL_H,1,[Define to 1 if we have libintl.h]) - - dnl If an already present or preinstalled GNU gettext() is found, - dnl use it. But if this macro is used in GNU gettext, and GNU - dnl gettext is already preinstalled in libintl, we update this - dnl libintl. (Cf. the install rule in intl/Makefile.in.) - if test "$PACKAGE" != gettext; then - AC_DEFINE(HAVE_GETTEXT, 1, - [Define if the GNU gettext() function is already present or preinstalled.]) - - CF_ADD_INCDIR($cf_cv_header_path_intl) - - if test -n "$cf_cv_library_file_intl" ; then - dnl If iconv() is in a separate libiconv library, then anyone - dnl linking with libintl{.a,.so} also needs to link with - dnl libiconv. - INTLLIBS="$cf_cv_library_file_intl $LIBICONV" - CF_ADD_LIBDIR($cf_cv_library_path_intl,INTLLIBS) - fi - - gt_save_LIBS="$LIBS" - LIBS="$LIBS $INTLLIBS" - AC_CHECK_FUNCS(dcgettext) - LIBS="$gt_save_LIBS" - - CATOBJEXT=.gmo - fi - elif test -z "$MSGFMT" || test -z "$XGETTEXT" ; then - AC_MSG_WARN(disabling NLS feature) - sed -e /ENABLE_NLS/d confdefs.h >confdefs.tmp - mv confdefs.tmp confdefs.h - ALL_LINGUAS= - CATOBJEXT=.ignored - MSGFMT=":" - GMSGFMT=":" - XGETTEXT=":" - POSUB= - BUILD_INCLUDED_LIBINTL=no - USE_INCLUDED_LIBINTL=no - USE_NLS=no - nls_cv_use_gnu_gettext=no - fi - - if test "$CATOBJEXT" = "NONE"; then - dnl GNU gettext is not found in the C library. - dnl Fall back on GNU gettext library. - nls_cv_use_gnu_gettext=maybe - fi - fi - - if test "$nls_cv_use_gnu_gettext" != "no"; then - CATOBJEXT=.gmo - if test -f "$srcdir/intl/libintl.h" ; then - dnl Mark actions used to generate GNU NLS library. - INTLOBJS="\$(GETTOBJS)" - BUILD_INCLUDED_LIBINTL=yes - USE_INCLUDED_LIBINTL=yes - INTLLIBS="ifelse([$3],[],\$(top_builddir)/intl,[$3])/libintl.ifelse([$1], use-libtool, [l], [])a $LIBICONV" - LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'` - elif test "$nls_cv_use_gnu_gettext" = "yes"; then - nls_cv_use_gnu_gettext=no - AC_MSG_WARN(no NLS library is packaged with this application) - fi - fi - - dnl Test whether we really found GNU msgfmt. - if test "$GMSGFMT" != ":"; then - if $GMSGFMT --statistics /dev/null >/dev/null 2>&1; then - : ; - else - AC_MSG_WARN([found msgfmt program is not GNU msgfmt]) - fi - fi - - dnl Test whether we really found GNU xgettext. - if test "$XGETTEXT" != ":"; then - if $XGETTEXT --omit-header /dev/null >/dev/null 2>&1; then - : ; - else - AC_MSG_WARN([found xgettext program is not GNU xgettext]) - fi - fi - fi - - if test "$XGETTEXT" != ":"; then - AC_OUTPUT_COMMANDS( - [for ac_file in $CONFIG_FILES; do - - # Support "outfile[:infile[:infile...]]" - case "$ac_file" in - (*:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; - esac - - # PO directories have a Makefile.in generated from Makefile.inn. - case "$ac_file" in - (*/[Mm]akefile.in) - # Adjust a relative srcdir. - ac_dir="`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`" - ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" - ac_dots="`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`" - ac_base="`basename $ac_file .in`" - # In autoconf-2.13 it is called $ac_given_srcdir. - # In autoconf-2.50 it is called $srcdir. - test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" - - case "$ac_given_srcdir" in - (.) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; - (/*) top_srcdir="$ac_given_srcdir" ;; - (*) top_srcdir="$ac_dots$ac_given_srcdir" ;; - esac - - if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then - rm -f "$ac_dir/POTFILES" - test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" - sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," -e "\$s/\(.*\) \\\\/\1/" < "$ac_given_srcdir/$ac_dir/POTFILES.in" > "$ac_dir/POTFILES" - test -n "$as_me" && echo "$as_me: creating $ac_dir/$ac_base" || echo "creating $ac_dir/$ac_base" - sed -e "/POTFILES =/r $ac_dir/POTFILES" "$ac_dir/$ac_base.in" > "$ac_dir/$ac_base" - fi - ;; - esac - done]) - - dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL - dnl to 'yes' because some of the testsuite requires it. - if test "$PACKAGE" = gettext; then - BUILD_INCLUDED_LIBINTL=yes - fi - - dnl intl/plural.c is generated from intl/plural.y. It requires bison, - dnl because plural.y uses bison specific features. It requires at least - dnl bison-1.26 because earlier versions generate a plural.c that doesn't - dnl compile. - dnl bison is only needed for the maintainer (who touches plural.y). But in - dnl order to avoid separate Makefiles or --enable-maintainer-mode, we put - dnl the rule in general Makefile. Now, some people carelessly touch the - dnl files or have a broken "make" program, hence the plural.c rule will - dnl sometimes fire. To avoid an error, defines BISON to ":" if it is not - dnl present or too old. - if test "$nls_cv_use_gnu_gettext" = "yes"; then - AC_CHECK_PROGS([INTLBISON], [bison]) - if test -z "$INTLBISON"; then - ac_verc_fail=yes - else - dnl Found it, now check the version. - AC_MSG_CHECKING([version of bison]) -changequote(<<,>>)dnl - ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'` - case "$ac_prog_version" in - ('') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; - (1.2[6-9]*|1.[3-9][0-9]*|[2-9].*) -changequote([,])dnl - ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;; - (*) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;; - esac - AC_MSG_RESULT([$ac_prog_version]) - fi - if test "$ac_verc_fail" = yes; then - INTLBISON=: - fi - fi - - dnl These rules are solely for the distribution goal. While doing this - dnl we only have to keep exactly one list of the available catalogs - dnl in configure.in. - for lang in $ALL_LINGUAS; do - GMOFILES="$GMOFILES $lang.gmo" - POFILES="$POFILES $lang.po" - done - fi - - dnl Make all variables we use known to autoconf. - AC_SUBST(BUILD_INCLUDED_LIBINTL) - AC_SUBST(USE_INCLUDED_LIBINTL) - AC_SUBST(CATALOGS) - AC_SUBST(CATOBJEXT) - AC_SUBST(GMOFILES) - AC_SUBST(INTLLIBS) - AC_SUBST(INTLOBJS) - AC_SUBST(POFILES) - AC_SUBST(POSUB) - - dnl For backward compatibility. Some configure.ins may be using this. - nls_cv_header_intl= - nls_cv_header_libgt= - - dnl For backward compatibility. Some Makefiles may be using this. - DATADIRNAME=share - AC_SUBST(DATADIRNAME) - - dnl For backward compatibility. Some Makefiles may be using this. - INSTOBJEXT=.mo - AC_SUBST(INSTOBJEXT) - - dnl For backward compatibility. Some Makefiles may be using this. - GENCAT=gencat - AC_SUBST(GENCAT) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_ACVERSION_CHECK version: 5 updated: 2014/06/04 19:11:49 -dnl ------------------ -dnl Conditionally generate script according to whether we're using a given autoconf. -dnl -dnl $1 = version to compare against -dnl $2 = code to use if AC_ACVERSION is at least as high as $1. -dnl $3 = code to use if AC_ACVERSION is older than $1. -define([CF_ACVERSION_CHECK], -[ -ifdef([AC_ACVERSION], ,[ifdef([AC_AUTOCONF_VERSION],[m4_copy([AC_AUTOCONF_VERSION],[AC_ACVERSION])],[m4_copy([m4_PACKAGE_VERSION],[AC_ACVERSION])])])dnl -ifdef([m4_version_compare], -[m4_if(m4_version_compare(m4_defn([AC_ACVERSION]), [$1]), -1, [$3], [$2])], -[CF_ACVERSION_COMPARE( -AC_PREREQ_CANON(AC_PREREQ_SPLIT([$1])), -AC_PREREQ_CANON(AC_PREREQ_SPLIT(AC_ACVERSION)), AC_ACVERSION, [$2], [$3])])])dnl -dnl --------------------------------------------------------------------------- -dnl CF_ACVERSION_COMPARE version: 3 updated: 2012/10/03 18:39:53 -dnl -------------------- -dnl CF_ACVERSION_COMPARE(MAJOR1, MINOR1, TERNARY1, -dnl MAJOR2, MINOR2, TERNARY2, -dnl PRINTABLE2, not FOUND, FOUND) -define([CF_ACVERSION_COMPARE], -[ifelse(builtin([eval], [$2 < $5]), 1, -[ifelse([$8], , ,[$8])], -[ifelse([$9], , ,[$9])])])dnl -dnl --------------------------------------------------------------------------- -dnl CF_ADD_CFLAGS version: 15 updated: 2020/12/31 10:54:15 -dnl ------------- -dnl Copy non-preprocessor flags to $CFLAGS, preprocessor flags to $CPPFLAGS -dnl $1 = flags to add -dnl $2 = if given makes this macro verbose. -dnl -dnl Put any preprocessor definitions that use quoted strings in $EXTRA_CPPFLAGS, -dnl to simplify use of $CPPFLAGS in compiler checks, etc., that are easily -dnl confused by the quotes (which require backslashes to keep them usable). -AC_DEFUN([CF_ADD_CFLAGS], -[ -cf_fix_cppflags=no -cf_new_cflags= -cf_new_cppflags= -cf_new_extra_cppflags= - -for cf_add_cflags in $1 -do -case "$cf_fix_cppflags" in -(no) - case "$cf_add_cflags" in - (-undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) - case "$cf_add_cflags" in - (-D*) - cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^-D[[^=]]*='\''\"[[^"]]*//'` - - test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=yes - - if test "$cf_fix_cppflags" = yes ; then - CF_APPEND_TEXT(cf_new_extra_cppflags,$cf_add_cflags) - continue - elif test "${cf_tst_cflags}" = "\"'" ; then - CF_APPEND_TEXT(cf_new_extra_cppflags,$cf_add_cflags) - continue - fi - ;; - esac - case "$CPPFLAGS" in - (*$cf_add_cflags) - ;; - (*) - case "$cf_add_cflags" in - (-D*) - cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'` - CF_REMOVE_DEFINE(CPPFLAGS,$CPPFLAGS,$cf_tst_cppflags) - ;; - esac - CF_APPEND_TEXT(cf_new_cppflags,$cf_add_cflags) - ;; - esac - ;; - (*) - CF_APPEND_TEXT(cf_new_cflags,$cf_add_cflags) - ;; - esac - ;; -(yes) - CF_APPEND_TEXT(cf_new_extra_cppflags,$cf_add_cflags) - - cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^[[^"]]*"'\''//'` - - test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=no - ;; -esac -done - -if test -n "$cf_new_cflags" ; then - ifelse([$2],,,[CF_VERBOSE(add to \$CFLAGS $cf_new_cflags)]) - CF_APPEND_TEXT(CFLAGS,$cf_new_cflags) -fi - -if test -n "$cf_new_cppflags" ; then - ifelse([$2],,,[CF_VERBOSE(add to \$CPPFLAGS $cf_new_cppflags)]) - CF_APPEND_TEXT(CPPFLAGS,$cf_new_cppflags) -fi - -if test -n "$cf_new_extra_cppflags" ; then - ifelse([$2],,,[CF_VERBOSE(add to \$EXTRA_CPPFLAGS $cf_new_extra_cppflags)]) - CF_APPEND_TEXT(EXTRA_CPPFLAGS,$cf_new_extra_cppflags) -fi - -AC_SUBST(EXTRA_CPPFLAGS) - -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_ADD_INCDIR version: 16 updated: 2020/12/31 20:19:42 -dnl ------------- -dnl Add an include-directory to $CPPFLAGS. Don't add /usr/include, since it's -dnl redundant. We don't normally need to add -I/usr/local/include for gcc, -dnl but old versions (and some misinstalled ones) need that. To make things -dnl worse, gcc 3.x may give error messages if -I/usr/local/include is added to -dnl the include-path). -AC_DEFUN([CF_ADD_INCDIR], -[ -if test -n "$1" ; then - for cf_add_incdir in $1 - do - while test "$cf_add_incdir" != /usr/include - do - if test -d "$cf_add_incdir" - then - cf_have_incdir=no - if test -n "$CFLAGS$CPPFLAGS" ; then - # a loop is needed to ensure we can add subdirs of existing dirs - for cf_test_incdir in $CFLAGS $CPPFLAGS ; do - if test ".$cf_test_incdir" = ".-I$cf_add_incdir" ; then - cf_have_incdir=yes; break - fi - done - fi - - if test "$cf_have_incdir" = no ; then - if test "$cf_add_incdir" = /usr/local/include ; then - if test "$GCC" = yes - then - cf_save_CPPFLAGS=$CPPFLAGS - CF_APPEND_TEXT(CPPFLAGS,-I$cf_add_incdir) - AC_TRY_COMPILE([#include <stdio.h>], - [printf("Hello")], - [], - [cf_have_incdir=yes]) - CPPFLAGS=$cf_save_CPPFLAGS - fi - fi - fi - - if test "$cf_have_incdir" = no ; then - CF_VERBOSE(adding $cf_add_incdir to include-path) - ifelse([$2],,CPPFLAGS,[$2])="$ifelse([$2],,CPPFLAGS,[$2]) -I$cf_add_incdir" - - cf_top_incdir=`echo "$cf_add_incdir" | sed -e 's%/include/.*$%/include%'` - test "$cf_top_incdir" = "$cf_add_incdir" && break - cf_add_incdir="$cf_top_incdir" - else - break - fi - else - break - fi - done - done -fi -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_ADD_LIB version: 2 updated: 2010/06/02 05:03:05 -dnl ---------- -dnl Add a library, used to enforce consistency. -dnl -dnl $1 = library to add, without the "-l" -dnl $2 = variable to update (default $LIBS) -AC_DEFUN([CF_ADD_LIB],[CF_ADD_LIBS(-l$1,ifelse($2,,LIBS,[$2]))])dnl -dnl --------------------------------------------------------------------------- -dnl CF_ADD_LIBDIR version: 11 updated: 2020/12/31 20:19:42 -dnl ------------- -dnl Adds to the library-path -dnl -dnl Some machines have trouble with multiple -L options. -dnl -dnl $1 is the (list of) directory(s) to add -dnl $2 is the optional name of the variable to update (default LDFLAGS) -dnl -AC_DEFUN([CF_ADD_LIBDIR], -[ -if test -n "$1" ; then - for cf_add_libdir in $1 - do - if test "$cf_add_libdir" = /usr/lib ; then - : - elif test -d "$cf_add_libdir" - then - cf_have_libdir=no - if test -n "$LDFLAGS$LIBS" ; then - # a loop is needed to ensure we can add subdirs of existing dirs - for cf_test_libdir in $LDFLAGS $LIBS ; do - if test ".$cf_test_libdir" = ".-L$cf_add_libdir" ; then - cf_have_libdir=yes; break - fi - done - fi - if test "$cf_have_libdir" = no ; then - CF_VERBOSE(adding $cf_add_libdir to library-path) - ifelse([$2],,LDFLAGS,[$2])="-L$cf_add_libdir $ifelse([$2],,LDFLAGS,[$2])" - fi - fi - done -fi -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_ADD_LIBS version: 3 updated: 2019/11/02 16:47:33 -dnl ----------- -dnl Add one or more libraries, used to enforce consistency. Libraries are -dnl prepended to an existing list, since their dependencies are assumed to -dnl already exist in the list. -dnl -dnl $1 = libraries to add, with the "-l", etc. -dnl $2 = variable to update (default $LIBS) -AC_DEFUN([CF_ADD_LIBS],[ -cf_add_libs="[$]ifelse($2,,LIBS,[$2])" -# reverse order -cf_add_0lib= -for cf_add_1lib in $1; do cf_add_0lib="$cf_add_1lib $cf_add_0lib"; done -# filter duplicates -for cf_add_1lib in $cf_add_0lib; do - for cf_add_2lib in $cf_add_libs; do - if test "x$cf_add_1lib" = "x$cf_add_2lib"; then - cf_add_1lib= - break - fi - done - test -n "$cf_add_1lib" && cf_add_libs="$cf_add_1lib $cf_add_libs" -done -ifelse($2,,LIBS,[$2])="$cf_add_libs" -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_ADD_LIB_AFTER version: 3 updated: 2013/07/09 21:27:22 -dnl ---------------- -dnl Add a given library after another, e.g., following the one it satisfies a -dnl dependency for. -dnl -dnl $1 = the first library -dnl $2 = its dependency -AC_DEFUN([CF_ADD_LIB_AFTER],[ -CF_VERBOSE(...before $LIBS) -LIBS=`echo "$LIBS" | sed -e "s/[[ ]][[ ]]*/ /g" -e "s%$1 %$1 $2 %" -e 's% % %g'` -CF_VERBOSE(...after $LIBS) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_ADD_OPTIONAL_PATH version: 3 updated: 2015/05/10 19:52:14 -dnl -------------------- -dnl Add an optional search-path to the compile/link variables. -dnl See CF_WITH_PATH -dnl -dnl $1 = shell variable containing the result of --with-XXX=[DIR] -dnl $2 = module to look for. -AC_DEFUN([CF_ADD_OPTIONAL_PATH],[ -case "$1" in -(no) - ;; -(yes) - ;; -(*) - CF_ADD_SEARCHPATH([$1], [AC_MSG_ERROR(cannot find $2 under $1)]) - ;; -esac -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_ADD_SEARCHPATH version: 6 updated: 2020/12/31 20:19:42 -dnl ----------------- -dnl Set $CPPFLAGS and $LDFLAGS with the directories given via the parameter. -dnl They can be either the common root of include- and lib-directories, or the -dnl lib-directory (to allow for things like lib64 directories). -dnl See also CF_FIND_LINKAGE. -dnl -dnl $1 is the list of colon-separated directory names to search. -dnl $2 is the action to take if a parameter does not yield a directory. -AC_DEFUN([CF_ADD_SEARCHPATH], -[ -AC_REQUIRE([CF_PATHSEP]) -for cf_searchpath in `echo "$1" | tr $PATH_SEPARATOR ' '`; do - if test -d "$cf_searchpath/include" ; then - CF_ADD_INCDIR($cf_searchpath/include) - elif test -d "$cf_searchpath/../include" ; then - CF_ADD_INCDIR($cf_searchpath/../include) - ifelse([$2],,,[else -$2]) - fi - if test -d "$cf_searchpath/lib" ; then - CF_ADD_LIBDIR($cf_searchpath/lib) - elif test -d "$cf_searchpath" ; then - CF_ADD_LIBDIR($cf_searchpath) - ifelse([$2],,,[else -$2]) - fi -done -]) -dnl --------------------------------------------------------------------------- -dnl CF_ADD_SUBDIR_PATH version: 5 updated: 2020/12/31 20:19:42 -dnl ------------------ -dnl Append to a search-list for a nonstandard header/lib-file -dnl $1 = the variable to return as result -dnl $2 = the package name -dnl $3 = the subdirectory, e.g., bin, include or lib -dnl $4 = the directory under which we will test for subdirectories -dnl $5 = a directory that we do not want $4 to match -AC_DEFUN([CF_ADD_SUBDIR_PATH], -[ -test "x$4" != "x$5" && \ -test -d "$4" && \ -ifelse([$5],NONE,,[{ test -z "$5" || test "x$5" = xNONE || test "x$4" != "x$5"; } &&]) { - test -n "$verbose" && echo " ... testing for $3-directories under $4" - test -d "$4/$3" && $1="[$]$1 $4/$3" - test -d "$4/$3/$2" && $1="[$]$1 $4/$3/$2" - test -d "$4/$3/$2/$3" && $1="[$]$1 $4/$3/$2/$3" - test -d "$4/$2/$3" && $1="[$]$1 $4/$2/$3" - test -d "$4/$2/$3/$2" && $1="[$]$1 $4/$2/$3/$2" -} -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_APPEND_TEXT version: 1 updated: 2017/02/25 18:58:55 -dnl -------------- -dnl use this macro for appending text without introducing an extra blank at -dnl the beginning -define([CF_APPEND_TEXT], -[ - test -n "[$]$1" && $1="[$]$1 " - $1="[$]{$1}$2" -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_ARG_DISABLE version: 3 updated: 1999/03/30 17:24:31 -dnl -------------- -dnl Allow user to disable a normally-on option. -AC_DEFUN([CF_ARG_DISABLE], -[CF_ARG_OPTION($1,[$2],[$3],[$4],yes)])dnl -dnl --------------------------------------------------------------------------- -dnl CF_ARG_ENABLE version: 3 updated: 1999/03/30 17:24:31 -dnl ------------- -dnl Allow user to enable a normally-off option. -AC_DEFUN([CF_ARG_ENABLE], -[CF_ARG_OPTION($1,[$2],[$3],[$4],no)])dnl -dnl --------------------------------------------------------------------------- -dnl CF_ARG_MSG_ENABLE version: 2 updated: 2000/07/29 19:32:03 -dnl ----------------- -dnl Verbose form of AC_ARG_ENABLE: -dnl -dnl Parameters: -dnl $1 = message -dnl $2 = option name -dnl $3 = help-string -dnl $4 = action to perform if option is enabled -dnl $5 = action if perform if option is disabled -dnl $6 = default option value (either 'yes' or 'no') -AC_DEFUN([CF_ARG_MSG_ENABLE],[ -AC_MSG_CHECKING($1) -AC_ARG_ENABLE($2,[$3],,enableval=ifelse($6,,no,$6)) -AC_MSG_RESULT($enableval) -if test "$enableval" != no ; then -ifelse($4,,[ :],$4) -else -ifelse($5,,[ :],$5) -fi -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_ARG_OPTION version: 5 updated: 2015/05/10 19:52:14 -dnl ------------- -dnl Restricted form of AC_ARG_ENABLE that ensures user doesn't give bogus -dnl values. -dnl -dnl Parameters: -dnl $1 = option name -dnl $2 = help-string -dnl $3 = action to perform if option is not default -dnl $4 = action if perform if option is default -dnl $5 = default option value (either 'yes' or 'no') -AC_DEFUN([CF_ARG_OPTION], -[AC_ARG_ENABLE([$1],[$2],[test "$enableval" != ifelse([$5],no,yes,no) && enableval=ifelse([$5],no,no,yes) - if test "$enableval" != "$5" ; then -ifelse([$3],,[ :]dnl -,[ $3]) ifelse([$4],,,[ - else - $4]) - fi],[enableval=$5 ifelse([$4],,,[ - $4 -])dnl -])])dnl -dnl --------------------------------------------------------------------------- -dnl CF_AR_FLAGS version: 9 updated: 2021/01/01 13:31:04 -dnl ----------- -dnl Check for suitable "ar" (archiver) options for updating an archive. -dnl -dnl In particular, handle some obsolete cases where the "-" might be omitted, -dnl as well as a workaround for breakage of make's archive rules by the GNU -dnl binutils "ar" program. -AC_DEFUN([CF_AR_FLAGS],[ -AC_REQUIRE([CF_PROG_AR]) - -AC_CACHE_CHECK(for options to update archives, cf_cv_ar_flags,[ - case "$cf_cv_system_name" in - (*-msvc*) - cf_cv_ar_flags='' - cat >mk_static_lib.sh <<-EOF - #!$SHELL - MSVC_BIN="[$]AR" - out="\[$]1" - shift - exec \[$]MSVC_BIN -out:"\[$]out" \[$]@ - EOF - chmod +x mk_static_lib.sh - AR=`pwd`/mk_static_lib.sh - ;; - (*) - cf_cv_ar_flags=unknown - for cf_ar_flags in -curvU -curv curv -crv crv -cqv cqv -rv rv - do - - # check if $ARFLAGS already contains this choice - if test "x$ARFLAGS" != "x" ; then - cf_check_ar_flags=`echo "x$ARFLAGS" | sed -e "s/$cf_ar_flags\$//" -e "s/$cf_ar_flags / /"` - if test "x$ARFLAGS" != "$cf_check_ar_flags" ; then - cf_cv_ar_flags= - break - fi - fi - - rm -f "conftest.$ac_cv_objext" - rm -f conftest.a - - cat >"conftest.$ac_ext" <<EOF -#line __oline__ "configure" -int testdata[[3]] = { 123, 456, 789 }; -EOF - if AC_TRY_EVAL(ac_compile) ; then - echo "$AR $ARFLAGS $cf_ar_flags conftest.a conftest.$ac_cv_objext" >&AC_FD_CC - $AR $ARFLAGS "$cf_ar_flags" conftest.a "conftest.$ac_cv_objext" 2>&AC_FD_CC 1>/dev/null - if test -f conftest.a ; then - cf_cv_ar_flags="$cf_ar_flags" - break - fi - else - CF_VERBOSE(cannot compile test-program) - break - fi - done - rm -f conftest.a "conftest.$ac_ext" "conftest.$ac_cv_objext" - ;; - esac -]) - -if test -n "$ARFLAGS" ; then - if test -n "$cf_cv_ar_flags" ; then - ARFLAGS="$ARFLAGS $cf_cv_ar_flags" - fi -else - ARFLAGS=$cf_cv_ar_flags -fi - -AC_SUBST(ARFLAGS) -]) -dnl --------------------------------------------------------------------------- -dnl CF_BUNDLED_INTL version: 20 updated: 2021/01/02 09:31:20 -dnl --------------- -dnl Top-level macro for configuring an application with a bundled copy of -dnl the intl and po directories for gettext. -dnl -dnl $1 specifies either Makefile or makefile, defaulting to the former. -dnl $2 if nonempty sets the option to --enable-nls rather than to --disable-nls -dnl -dnl Sets variables which can be used to substitute in makefiles: -dnl GT_YES - "#" comment unless building intl library, otherwise empty -dnl GT_NO - "#" comment if building intl library, otherwise empty -dnl INTLDIR_MAKE - to make ./intl directory -dnl MSG_DIR_MAKE - to make ./po directory -dnl SUB_MAKEFILE - list of makefiles in ./intl, ./po directories -dnl -dnl Defines: -dnl HAVE_LIBGETTEXT_H if we're using ./intl -dnl NLS_TEXTDOMAIN -dnl -dnl Environment: -dnl ALL_LINGUAS if set, lists the root names of the ".po" files. -dnl CONFIG_H assumed to be "config.h" -dnl PACKAGE must be set, used as default for textdomain -dnl VERSION may be set, otherwise extract from "VERSION" file. -dnl -AC_DEFUN([CF_BUNDLED_INTL],[ -cf_makefile=ifelse($1,,Makefile,$1) - -dnl Set of available languages (based on source distribution). Note that -dnl setting $LINGUAS overrides $ALL_LINGUAS. Some environments set $LINGUAS -dnl rather than $LC_ALL -test -z "$ALL_LINGUAS" && ALL_LINGUAS=`test -d "$srcdir/po" && cd "$srcdir/po" && echo *.po|sed -e 's/\.po//g' -e 's/*//'` - -# Allow override of "config.h" definition: -: ${CONFIG_H:=config.h} -AC_SUBST(CONFIG_H) - -if test -z "$PACKAGE" ; then - AC_MSG_ERROR([[CF_BUNDLED_INTL] used without setting [PACKAGE] variable]) -fi - -if test -z "$VERSION" ; then -if test -f "$srcdir/VERSION" ; then - VERSION=`sed -e '2,$d' "$srcdir/VERSION" |cut -f1` -else - VERSION=unknown -fi -fi -AC_SUBST(VERSION) - -AM_GNU_GETTEXT(,,,[$2]) - -if test "$USE_NLS" = yes ; then - AC_ARG_WITH(textdomain, - [ --with-textdomain=PKG NLS text-domain (default is package name)], - [NLS_TEXTDOMAIN=$withval], - [NLS_TEXTDOMAIN=$PACKAGE]) - AC_DEFINE_UNQUOTED(NLS_TEXTDOMAIN,"$NLS_TEXTDOMAIN",[Define to the nls textdomain value]) - AC_SUBST(NLS_TEXTDOMAIN) -fi - -INTLDIR_MAKE= -MSG_DIR_MAKE= -SUB_MAKEFILE= - -dnl this updates SUB_MAKEFILE and MSG_DIR_MAKE: -CF_OUR_MESSAGES($1) - -if test "$USE_INCLUDED_LIBINTL" = yes ; then - if test "$nls_cv_force_use_gnu_gettext" = yes ; then - : - elif test "$nls_cv_use_gnu_gettext" = yes ; then - : - else - INTLDIR_MAKE="#" - fi - if test -z "$INTLDIR_MAKE"; then - AC_DEFINE(HAVE_LIBGETTEXT_H,1,[Define to 1 if we have libgettext.h]) - for cf_makefile in \ - $srcdir/intl/Makefile.in \ - $srcdir/intl/makefile.in - do - if test -f "$cf_makefile" ; then - SUB_MAKEFILE="$SUB_MAKEFILE `echo \"${cf_makefile}\"|sed -e 's,^'$srcdir/',,' -e 's/\.in$//'`:${cf_makefile}" - break - fi - done - fi -else - INTLDIR_MAKE="#" - if test "$USE_NLS" = yes ; then - AC_CHECK_HEADERS(libintl.h) - fi -fi - -if test -z "$INTLDIR_MAKE" ; then - CF_APPEND_TEXT(CPPFLAGS,-I../intl) -fi - -dnl FIXME: we use this in lynx (the alternative is a spurious dependency upon -dnl GNU make) -if test "$BUILD_INCLUDED_LIBINTL" = yes ; then - GT_YES="#" - GT_NO= -else - GT_YES= - GT_NO="#" -fi - -AC_SUBST(INTLDIR_MAKE) -AC_SUBST(MSG_DIR_MAKE) -AC_SUBST(GT_YES) -AC_SUBST(GT_NO) - -dnl FIXME: the underlying AM_GNU_GETTEXT macro either needs some fixes or a -dnl little documentation. It doesn't define anything so that we can ifdef our -dnl own code, except ENABLE_NLS, which is too vague to be of any use. - -if test "$USE_INCLUDED_LIBINTL" = yes ; then - if test "$nls_cv_force_use_gnu_gettext" = yes ; then - AC_DEFINE(HAVE_GETTEXT,1,[Define to 1 if we have gettext function]) - elif test "$nls_cv_use_gnu_gettext" = yes ; then - AC_DEFINE(HAVE_GETTEXT,1,[Define to 1 if we have gettext function]) - fi - if test -n "$nls_cv_header_intl" ; then - AC_DEFINE(HAVE_LIBINTL_H,1,[Define to 1 if we have header-file for libintl]) - fi -fi -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_CC_ENV_FLAGS version: 10 updated: 2020/12/31 18:40:20 -dnl --------------- -dnl Check for user's environment-breakage by stuffing CFLAGS/CPPFLAGS content -dnl into CC. This will not help with broken scripts that wrap the compiler -dnl with options, but eliminates a more common category of user confusion. -dnl -dnl In particular, it addresses the problem of being able to run the C -dnl preprocessor in a consistent manner. -dnl -dnl Caveat: this also disallows blanks in the pathname for the compiler, but -dnl the nuisance of having inconsistent settings for compiler and preprocessor -dnl outweighs that limitation. -AC_DEFUN([CF_CC_ENV_FLAGS], -[ -# This should have been defined by AC_PROG_CC -: "${CC:=cc}" - -AC_MSG_CHECKING(\$CFLAGS variable) -case "x$CFLAGS" in -(*-[[IUD]]*) - AC_MSG_RESULT(broken) - AC_MSG_WARN(your environment uses the CFLAGS variable to hold CPPFLAGS options) - cf_flags="$CFLAGS" - CFLAGS= - for cf_arg in $cf_flags - do - CF_ADD_CFLAGS($cf_arg) - done - ;; -(*) - AC_MSG_RESULT(ok) - ;; -esac - -AC_MSG_CHECKING(\$CC variable) -case "$CC" in -(*[[\ \ ]]-*) - AC_MSG_RESULT(broken) - AC_MSG_WARN(your environment uses the CC variable to hold CFLAGS/CPPFLAGS options) - # humor him... - cf_prog=`echo "$CC" | sed -e 's/ / /g' -e 's/[[ ]]* / /g' -e 's/[[ ]]*[[ ]]-[[^ ]].*//'` - cf_flags=`echo "$CC" | ${AWK:-awk} -v prog="$cf_prog" '{ printf("%s", [substr]([$]0,1+length(prog))); }'` - CC="$cf_prog" - for cf_arg in $cf_flags - do - case "x$cf_arg" in - (x-[[IUDfgOW]]*) - CF_ADD_CFLAGS($cf_arg) - ;; - (*) - CC="$CC $cf_arg" - ;; - esac - done - CF_VERBOSE(resulting CC: '$CC') - CF_VERBOSE(resulting CFLAGS: '$CFLAGS') - CF_VERBOSE(resulting CPPFLAGS: '$CPPFLAGS') - ;; -(*) - AC_MSG_RESULT(ok) - ;; -esac -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_CHECK_CACHE version: 13 updated: 2020/12/31 10:54:15 -dnl -------------- -dnl Check if we're accidentally using a cache from a different machine. -dnl Derive the system name, as a check for reusing the autoconf cache. -dnl -dnl If we've packaged config.guess and config.sub, run that (since it does a -dnl better job than uname). Normally we'll use AC_CANONICAL_HOST, but allow -dnl an extra parameter that we may override, e.g., for AC_CANONICAL_SYSTEM -dnl which is useful in cross-compiles. -dnl -dnl Note: we would use $ac_config_sub, but that is one of the places where -dnl autoconf 2.5x broke compatibility with autoconf 2.13 -AC_DEFUN([CF_CHECK_CACHE], -[ -if test -f "$srcdir/config.guess" || test -f "$ac_aux_dir/config.guess" ; then - ifelse([$1],,[AC_CANONICAL_HOST],[$1]) - system_name="$host_os" -else - system_name="`(uname -s -r) 2>/dev/null`" - if test -z "$system_name" ; then - system_name="`(hostname) 2>/dev/null`" - fi -fi -test -n "$system_name" && AC_DEFINE_UNQUOTED(SYSTEM_NAME,"$system_name",[Define to the system name.]) -AC_CACHE_VAL(cf_cv_system_name,[cf_cv_system_name="$system_name"]) - -test -z "$system_name" && system_name="$cf_cv_system_name" -test -n "$cf_cv_system_name" && AC_MSG_RESULT(Configuring for $cf_cv_system_name) - -if test ".$system_name" != ".$cf_cv_system_name" ; then - AC_MSG_RESULT(Cached system name ($system_name) does not agree with actual ($cf_cv_system_name)) - AC_MSG_ERROR("Please remove config.cache and try again.") -fi -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_CHECK_CFLAGS version: 4 updated: 2021/01/02 19:22:58 -dnl --------------- -dnl Conditionally add to $CFLAGS and $CPPFLAGS values which are derived from -dnl a build-configuration such as imake. These have the pitfall that they -dnl often contain compiler-specific options which we cannot use, mixed with -dnl preprocessor options that we usually can. -AC_DEFUN([CF_CHECK_CFLAGS], -[ -CF_VERBOSE(checking additions to CFLAGS) -cf_check_cflags="$CFLAGS" -cf_check_cppflags="$CPPFLAGS" -CF_ADD_CFLAGS($1,yes) -if test "x$cf_check_cflags" != "x$CFLAGS" ; then -AC_TRY_LINK([#include <stdio.h>],[printf("Hello world");],, - [CF_VERBOSE(test-compile failed. Undoing change to \$CFLAGS) - if test "x$cf_check_cppflags" != "x$CPPFLAGS" ; then - CF_VERBOSE(but keeping change to \$CPPFLAGS) - fi - CFLAGS="$cf_check_cflags"]) -fi -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_CHECK_LIBTOOL_VERSION version: 1 updated: 2013/04/06 18:03:09 -dnl ------------------------ -dnl Show the version of libtool -dnl -dnl Save the version in a cache variable - this is not entirely a good thing, -dnl but the version string from libtool is very ugly, and for bug reports it -dnl might be useful to have the original string. -AC_DEFUN([CF_CHECK_LIBTOOL_VERSION],[ -if test -n "$LIBTOOL" && test "$LIBTOOL" != none -then - AC_MSG_CHECKING(version of $LIBTOOL) - CF_LIBTOOL_VERSION - AC_MSG_RESULT($cf_cv_libtool_version) - if test -z "$cf_cv_libtool_version" ; then - AC_MSG_ERROR(This is not GNU libtool) - fi -else - AC_MSG_ERROR(GNU libtool has not been found) -fi -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_CLANG_COMPILER version: 8 updated: 2021/01/01 13:31:04 -dnl ----------------- -dnl Check if the given compiler is really clang. clang's C driver defines -dnl __GNUC__ (fooling the configure script into setting $GCC to yes) but does -dnl not ignore some gcc options. -dnl -dnl This macro should be run "soon" after AC_PROG_CC or AC_PROG_CPLUSPLUS, to -dnl ensure that it is not mistaken for gcc/g++. It is normally invoked from -dnl the wrappers for gcc and g++ warnings. -dnl -dnl $1 = GCC (default) or GXX -dnl $2 = CLANG_COMPILER (default) -dnl $3 = CFLAGS (default) or CXXFLAGS -AC_DEFUN([CF_CLANG_COMPILER],[ -ifelse([$2],,CLANG_COMPILER,[$2])=no - -if test "$ifelse([$1],,[$1],GCC)" = yes ; then - AC_MSG_CHECKING(if this is really Clang ifelse([$1],GXX,C++,C) compiler) - cf_save_CFLAGS="$ifelse([$3],,CFLAGS,[$3])" - AC_TRY_COMPILE([],[ -#ifdef __clang__ -#else -make an error -#endif -],[ifelse([$2],,CLANG_COMPILER,[$2])=yes -],[]) - ifelse([$3],,CFLAGS,[$3])="$cf_save_CFLAGS" - AC_MSG_RESULT($ifelse([$2],,CLANG_COMPILER,[$2])) -fi - -CLANG_VERSION=none - -if test "x$ifelse([$2],,CLANG_COMPILER,[$2])" = "xyes" ; then - case "$CC" in - (c[[1-9]][[0-9]]|*/c[[1-9]][[0-9]]) - AC_MSG_WARN(replacing broken compiler alias $CC) - CFLAGS="$CFLAGS -std=`echo "$CC" | sed -e 's%.*/%%'`" - CC=clang - ;; - esac - - AC_MSG_CHECKING(version of $CC) - CLANG_VERSION="`$CC --version 2>/dev/null | sed -e '2,$d' -e 's/^.*(CLANG[[^)]]*) //' -e 's/^.*(Debian[[^)]]*) //' -e 's/^[[^0-9.]]*//' -e 's/[[^0-9.]].*//'`" - test -z "$CLANG_VERSION" && CLANG_VERSION=unknown - AC_MSG_RESULT($CLANG_VERSION) - - for cf_clang_opt in \ - -Qunused-arguments \ - -Wno-error=implicit-function-declaration - do - AC_MSG_CHECKING(if option $cf_clang_opt works) - cf_save_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS $cf_clang_opt" - AC_TRY_LINK([ - #include <stdio.h>],[ - printf("hello!\\n");],[ - cf_clang_optok=yes],[ - cf_clang_optok=no]) - AC_MSG_RESULT($cf_clang_optok) - CFLAGS="$cf_save_CFLAGS" - if test "$cf_clang_optok" = yes; then - CF_VERBOSE(adding option $cf_clang_opt) - CF_APPEND_TEXT(CFLAGS,$cf_clang_opt) - fi - done -fi -]) -dnl --------------------------------------------------------------------------- -dnl CF_CONST_X_STRING version: 6 updated: 2021/01/01 13:31:04 -dnl ----------------- -dnl The X11R4-X11R6 Xt specification uses an ambiguous String type for most -dnl character-strings. -dnl -dnl It is ambiguous because the specification accommodated the pre-ANSI -dnl compilers bundled by more than one vendor in lieu of providing a standard C -dnl compiler other than by costly add-ons. Because of this, the specification -dnl did not take into account the use of const for telling the compiler that -dnl string literals would be in readonly memory. -dnl -dnl As a workaround, one could (starting with X11R5) define XTSTRINGDEFINES, to -dnl let the compiler decide how to represent Xt's strings which were #define'd. -dnl That does not solve the problem of using the block of Xt's strings which -dnl are compiled into the library (and is less efficient than one might want). -dnl -dnl Xt specification 7 introduces the _CONST_X_STRING symbol which is used both -dnl when compiling the library and compiling using the library, to tell the -dnl compiler that String is const. -AC_DEFUN([CF_CONST_X_STRING], -[ -AC_REQUIRE([AC_PATH_XTRA]) - -CF_SAVE_XTRA_FLAGS([CF_CONST_X_STRING]) - -AC_TRY_COMPILE( -[ -#include <stdlib.h> -#include <X11/Intrinsic.h> -], -[String foo = malloc(1); (void)foo],[ - -AC_CACHE_CHECK(for X11/Xt const-feature,cf_cv_const_x_string,[ - AC_TRY_COMPILE( - [ -#define _CONST_X_STRING /* X11R7.8 (perhaps) */ -#undef XTSTRINGDEFINES /* X11R5 and later */ -#include <stdlib.h> -#include <X11/Intrinsic.h> - ],[String foo = malloc(1); *foo = 0],[ - cf_cv_const_x_string=no - ],[ - cf_cv_const_x_string=yes - ]) -]) - -CF_RESTORE_XTRA_FLAGS([CF_CONST_X_STRING]) - -case "$cf_cv_const_x_string" in -(no) - CF_APPEND_TEXT(CPPFLAGS,-DXTSTRINGDEFINES) - ;; -(*) - CF_APPEND_TEXT(CPPFLAGS,-D_CONST_X_STRING) - ;; -esac - -]) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_CURSES_CHTYPE version: 11 updated: 2021/01/02 09:31:20 -dnl ---------------- -dnl Test if curses defines 'chtype' (usually a 'long' type for SysV curses). -AC_DEFUN([CF_CURSES_CHTYPE], -[ -AC_REQUIRE([CF_CURSES_CPPFLAGS])dnl -AC_CACHE_CHECK(for chtype typedef,cf_cv_chtype_decl,[ - AC_TRY_COMPILE([#include <${cf_cv_ncurses_header:-curses.h}>], - [chtype foo; (void)foo], - [cf_cv_chtype_decl=yes], - [cf_cv_chtype_decl=no])]) -if test "$cf_cv_chtype_decl" = yes ; then - AC_DEFINE(HAVE_TYPE_CHTYPE,1,[Define to 1 if chtype is declared]) - AC_CACHE_CHECK(if chtype is scalar or struct,cf_cv_chtype_type,[ - AC_TRY_COMPILE([#include <${cf_cv_ncurses_header:-curses.h}>], - [static chtype foo; long x = foo; (void)x], - [cf_cv_chtype_type=scalar], - [cf_cv_chtype_type=struct])]) - if test "$cf_cv_chtype_type" = scalar ; then - AC_DEFINE(TYPE_CHTYPE_IS_SCALAR,1,[Define to 1 if chtype is a scaler/integer]) - fi -fi -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_CURSES_CONFIG version: 2 updated: 2006/10/29 11:06:27 -dnl ---------------- -dnl Tie together the configure-script macros for curses. It may be ncurses, -dnl but unless asked, we do not make a special search for ncurses. However, -dnl still check for the ncurses version number, for use in other macros. -AC_DEFUN([CF_CURSES_CONFIG], -[ -CF_CURSES_CPPFLAGS -CF_NCURSES_VERSION -CF_CURSES_LIBS -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_CURSES_CPPFLAGS version: 14 updated: 2021/01/02 09:31:20 -dnl ------------------ -dnl Look for the curses headers. -AC_DEFUN([CF_CURSES_CPPFLAGS],[ - -AC_CACHE_CHECK(for extra include directories,cf_cv_curses_incdir,[ -cf_cv_curses_incdir=no -case "$host_os" in -(hpux10.*) - if test "x$cf_cv_screen" = "xcurses_colr" - then - test -d /usr/include/curses_colr && \ - cf_cv_curses_incdir="-I/usr/include/curses_colr" - fi - ;; -(sunos3*|sunos4*) - if test "x$cf_cv_screen" = "xcurses_5lib" - then - test -d /usr/5lib && \ - test -d /usr/5include && \ - cf_cv_curses_incdir="-I/usr/5include" - fi - ;; -esac -]) -if test "$cf_cv_curses_incdir" != no -then - CF_APPEND_TEXT(CPPFLAGS,$cf_cv_curses_incdir) -fi - -CF_CURSES_HEADER -CF_TERM_HEADER -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_CURSES_EXIT version: 1 updated: 2020/03/26 19:15:16 -dnl -------------- -dnl Check for ncurses memory-leak/debug feature. Starting with ncurses 6.2, -dnl the curses_exit() function is always present, simplifying linkage changes -dnl when switching to/from a debug-library. -AC_DEFUN([CF_CURSES_EXIT], -[ -CF_CURSES_FUNCS(\ -curses_exit \ -_nc_free_and_exit \ -) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_CURSES_FUNCS version: 20 updated: 2020/12/31 20:19:42 -dnl --------------- -dnl Curses-functions are a little complicated, since a lot of them are macros. -AC_DEFUN([CF_CURSES_FUNCS], -[ -AC_REQUIRE([CF_CURSES_CPPFLAGS])dnl -AC_REQUIRE([CF_XOPEN_CURSES]) -AC_REQUIRE([CF_CURSES_TERM_H]) -AC_REQUIRE([CF_CURSES_UNCTRL_H]) -for cf_func in $1 -do - CF_UPPER(cf_tr_func,$cf_func) - AC_MSG_CHECKING(for ${cf_func}) - CF_MSG_LOG(${cf_func}) - AC_CACHE_VAL(cf_cv_func_$cf_func,[ - eval cf_result='$ac_cv_func_'$cf_func - if test ".$cf_result" != ".no"; then - AC_TRY_LINK(CF__CURSES_HEAD, - [ -#ifndef ${cf_func} -long foo = (long)(&${cf_func}); -fprintf(stderr, "testing linkage of $cf_func:%p\\n", (void *)foo); -if (foo + 1234L > 5678L) - ${cf_cv_main_return:-return}(foo != 0); -#endif - ], - [cf_result=yes], - [cf_result=no]) - fi - eval 'cf_cv_func_'$cf_func'="$cf_result"' - ]) - # use the computed/retrieved cache-value: - eval 'cf_result=$cf_cv_func_'$cf_func - AC_MSG_RESULT($cf_result) - if test "$cf_result" != no; then - AC_DEFINE_UNQUOTED(HAVE_${cf_tr_func}) - fi -done -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_CURSES_HEADER version: 5 updated: 2015/04/23 20:35:30 -dnl ---------------- -dnl Find a "curses" header file, e.g,. "curses.h", or one of the more common -dnl variations of ncurses' installs. -dnl -dnl $1 = ncurses when looking for ncurses, or is empty -AC_DEFUN([CF_CURSES_HEADER],[ -AC_CACHE_CHECK(if we have identified curses headers,cf_cv_ncurses_header,[ -cf_cv_ncurses_header=none -for cf_header in \ - ncurses.h ifelse($1,,,[$1/ncurses.h]) \ - curses.h ifelse($1,,,[$1/curses.h]) ifelse($1,,[ncurses/ncurses.h ncurses/curses.h]) -do -AC_TRY_COMPILE([#include <${cf_header}>], - [initscr(); tgoto("?", 0,0)], - [cf_cv_ncurses_header=$cf_header; break],[]) -done -]) - -if test "$cf_cv_ncurses_header" = none ; then - AC_MSG_ERROR(No curses header-files found) -fi - -# cheat, to get the right #define's for HAVE_NCURSES_H, etc. -AC_CHECK_HEADERS($cf_cv_ncurses_header) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_CURSES_LIBS version: 44 updated: 2021/01/02 09:31:20 -dnl -------------- -dnl Look for the curses libraries. Older curses implementations may require -dnl termcap/termlib to be linked as well. Call CF_CURSES_CPPFLAGS first. -AC_DEFUN([CF_CURSES_LIBS],[ - -AC_REQUIRE([CF_CURSES_CPPFLAGS])dnl -AC_MSG_CHECKING(if we have identified curses libraries) -AC_TRY_LINK([#include <${cf_cv_ncurses_header:-curses.h}>], - [initscr(); tgoto("?", 0,0)], - cf_result=yes, - cf_result=no) -AC_MSG_RESULT($cf_result) - -if test "$cf_result" = no ; then -case "$host_os" in -(freebsd*) - AC_CHECK_LIB(mytinfo,tgoto,[CF_ADD_LIBS(-lmytinfo)]) - ;; -(hpux10.*) - # Looking at HPUX 10.20, the Hcurses library is the oldest (1997), cur_colr - # next (1998), and xcurses "newer" (2000). There is no header file for - # Hcurses; the subdirectory curses_colr has the headers (curses.h and - # term.h) for cur_colr - if test "x$cf_cv_screen" = "xcurses_colr" - then - AC_CHECK_LIB(cur_colr,initscr,[ - CF_ADD_LIBS(-lcur_colr) - ac_cv_func_initscr=yes - ],[ - AC_CHECK_LIB(Hcurses,initscr,[ - # HP's header uses __HP_CURSES, but user claims _HP_CURSES. - CF_ADD_LIBS(-lHcurses) - CF_APPEND_TEXT(CPPFLAGS,-D__HP_CURSES -D_HP_CURSES) - ac_cv_func_initscr=yes - ])]) - fi - ;; -(linux*) - case `arch 2>/dev/null` in - (x86_64) - if test -d /lib64 - then - CF_ADD_LIBDIR(/lib64) - else - CF_ADD_LIBDIR(/lib) - fi - ;; - (*) - CF_ADD_LIBDIR(/lib) - ;; - esac - ;; -(sunos3*|sunos4*) - if test "x$cf_cv_screen" = "xcurses_5lib" - then - if test -d /usr/5lib ; then - CF_ADD_LIBDIR(/usr/5lib) - CF_ADD_LIBS(-lcurses -ltermcap) - fi - fi - ac_cv_func_initscr=yes - ;; -esac - -if test ".$ac_cv_func_initscr" != .yes ; then - cf_save_LIBS="$LIBS" - - if test ".${cf_cv_ncurses_version:-no}" != .no - then - cf_check_list="ncurses curses cursesX" - else - cf_check_list="cursesX curses ncurses" - fi - - # Check for library containing tgoto. Do this before curses library - # because it may be needed to link the test-case for initscr. - if test "x$cf_term_lib" = x - then - AC_CHECK_FUNC(tgoto,[cf_term_lib=predefined],[ - for cf_term_lib in $cf_check_list otermcap termcap tinfo termlib unknown - do - AC_CHECK_LIB($cf_term_lib,tgoto,[ - : "${cf_nculib_root:=$cf_term_lib}" - break - ]) - done - ]) - fi - - # Check for library containing initscr - test "$cf_term_lib" != predefined && test "$cf_term_lib" != unknown && LIBS="-l$cf_term_lib $cf_save_LIBS" - if test "x$cf_curs_lib" = x - then - for cf_curs_lib in $cf_check_list xcurses jcurses pdcurses unknown - do - LIBS="-l$cf_curs_lib $cf_save_LIBS" - if test "$cf_term_lib" = unknown || test "$cf_term_lib" = "$cf_curs_lib" ; then - AC_MSG_CHECKING(if we can link with $cf_curs_lib library) - AC_TRY_LINK([#include <${cf_cv_ncurses_header:-curses.h}>], - [initscr()], - [cf_result=yes], - [cf_result=no]) - AC_MSG_RESULT($cf_result) - test "$cf_result" = yes && break - elif test "$cf_curs_lib" = "$cf_term_lib" ; then - cf_result=no - elif test "$cf_term_lib" != predefined ; then - AC_MSG_CHECKING(if we need both $cf_curs_lib and $cf_term_lib libraries) - AC_TRY_LINK([#include <${cf_cv_ncurses_header:-curses.h}>], - [initscr(); tgoto((char *)0, 0, 0);], - [cf_result=no], - [ - LIBS="-l$cf_curs_lib -l$cf_term_lib $cf_save_LIBS" - AC_TRY_LINK([#include <${cf_cv_ncurses_header:-curses.h}>], - [initscr()], - [cf_result=yes], - [cf_result=error]) - ]) - AC_MSG_RESULT($cf_result) - test "$cf_result" != error && break - fi - done - fi - test "$cf_curs_lib" = unknown && AC_MSG_ERROR(no curses library found) -fi -fi - -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_CURSES_TERM_H version: 15 updated: 2021/01/02 09:31:20 -dnl ---------------- -dnl SVr4 curses should have term.h as well (where it puts the definitions of -dnl the low-level interface). This may not be true in old/broken implementations, -dnl as well as in misconfigured systems (e.g., gcc configured for Solaris 2.4 -dnl running with Solaris 2.5.1). -AC_DEFUN([CF_CURSES_TERM_H], -[ -AC_REQUIRE([CF_CURSES_CPPFLAGS])dnl - -AC_CACHE_CHECK(for term.h, cf_cv_term_header,[ - -# If we found <ncurses/curses.h>, look for <ncurses/term.h>, but always look -# for <term.h> if we do not find the variant. - -cf_header_list="term.h ncurses/term.h ncursesw/term.h" - -case "${cf_cv_ncurses_header:-curses.h}" in -(*/*) - cf_header_item=`echo "${cf_cv_ncurses_header:-curses.h}" | sed -e 's%\..*%%' -e 's%/.*%/%'`term.h - cf_header_list="$cf_header_item $cf_header_list" - ;; -esac - -for cf_header in $cf_header_list -do - AC_TRY_COMPILE([ -#include <${cf_cv_ncurses_header:-curses.h}> -#include <${cf_header}>], - [WINDOW *x; (void)x], - [cf_cv_term_header=$cf_header - break], - [cf_cv_term_header=no]) -done - -case "$cf_cv_term_header" in -(no) - # If curses is ncurses, some packagers still mess it up by trying to make - # us use GNU termcap. This handles the most common case. - for cf_header in ncurses/term.h ncursesw/term.h - do - AC_TRY_COMPILE([ -#include <${cf_cv_ncurses_header:-curses.h}> -#ifdef NCURSES_VERSION -#include <${cf_header}> -#else -make an error -#endif], - [WINDOW *x; (void)x], - [cf_cv_term_header=$cf_header - break], - [cf_cv_term_header=no]) - done - ;; -esac -]) - -case "$cf_cv_term_header" in -(term.h) - AC_DEFINE(HAVE_TERM_H,1,[Define to 1 if we have term.h]) - ;; -(ncurses/term.h) - AC_DEFINE(HAVE_NCURSES_TERM_H,1,[Define to 1 if we have ncurses/term.h]) - ;; -(ncursesw/term.h) - AC_DEFINE(HAVE_NCURSESW_TERM_H,1,[Define to 1 if we have ncursesw/term.h]) - ;; -esac -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_CURSES_UNCTRL_H version: 8 updated: 2021/01/02 09:31:20 -dnl ------------------ -dnl Any X/Open curses implementation must have unctrl.h, but ncurses packages -dnl may put it in a subdirectory (along with ncurses' other headers, of -dnl course). Packages which put the headers in inconsistent locations are -dnl broken). -AC_DEFUN([CF_CURSES_UNCTRL_H], -[ -AC_REQUIRE([CF_CURSES_CPPFLAGS])dnl - -AC_CACHE_CHECK(for unctrl.h, cf_cv_unctrl_header,[ - -# If we found <ncurses/curses.h>, look for <ncurses/unctrl.h>, but always look -# for <unctrl.h> if we do not find the variant. - -cf_header_list="unctrl.h ncurses/unctrl.h ncursesw/unctrl.h" - -case "${cf_cv_ncurses_header:-curses.h}" in -(*/*) - cf_header_item=`echo "${cf_cv_ncurses_header:-curses.h}" | sed -e 's%\..*%%' -e 's%/.*%/%'`unctrl.h - cf_header_list="$cf_header_item $cf_header_list" - ;; -esac - -for cf_header in $cf_header_list -do - AC_TRY_COMPILE([ -#include <${cf_cv_ncurses_header:-curses.h}> -#include <${cf_header}>], - [WINDOW *x; (void)x], - [cf_cv_unctrl_header=$cf_header - break], - [cf_cv_unctrl_header=no]) -done -]) - -case "$cf_cv_unctrl_header" in -(no) - AC_MSG_WARN(unctrl.h header not found) - ;; -esac - -case "$cf_cv_unctrl_header" in -(unctrl.h) - AC_DEFINE(HAVE_UNCTRL_H,1,[Define to 1 if we have unctrl.h]) - ;; -(ncurses/unctrl.h) - AC_DEFINE(HAVE_NCURSES_UNCTRL_H,1,[Define to 1 if we have ncurses/unctrl.h]) - ;; -(ncursesw/unctrl.h) - AC_DEFINE(HAVE_NCURSESW_UNCTRL_H,1,[Define to 1 if we have ncursesw/unctrl.h]) - ;; -esac -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_CURSES_WACS_MAP version: 8 updated: 2021/01/04 19:45:09 -dnl ------------------ -dnl Check for likely values of wacs_map[]. -AC_DEFUN([CF_CURSES_WACS_MAP], -[ -AC_CACHE_CHECK(for wide alternate character set array, cf_cv_curses_wacs_map,[ - cf_cv_curses_wacs_map=unknown - for name in wacs_map _wacs_map __wacs_map _nc_wacs _wacs_char - do - AC_TRY_LINK([ -#ifndef _XOPEN_SOURCE_EXTENDED -#define _XOPEN_SOURCE_EXTENDED -#endif -#include <${cf_cv_ncurses_header:-curses.h}>], - [void *foo = &(${name}['k']); (void)foo], - [cf_cv_curses_wacs_map=$name - break]) - done]) - -test "$cf_cv_curses_wacs_map" != unknown && AC_DEFINE_UNQUOTED(CURSES_WACS_ARRAY,$cf_cv_curses_wacs_map,[Define to name of (n)curses wide-character array]) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_CURSES_WACS_SYMBOLS version: 4 updated: 2021/01/04 19:45:09 -dnl ---------------------- -dnl Do a check to see if the WACS_xxx constants are defined compatibly with -dnl X/Open Curses. In particular, NetBSD's implementation of the WACS_xxx -dnl constants is broken since those constants do not point to cchar_t's. -AC_DEFUN([CF_CURSES_WACS_SYMBOLS], -[ -AC_REQUIRE([CF_CURSES_WACS_MAP]) - -AC_CACHE_CHECK(for wide alternate character constants, cf_cv_curses_wacs_symbols,[ -cf_cv_curses_wacs_symbols=no -if test "$cf_cv_curses_wacs_map" != unknown -then - AC_TRY_LINK([ -#ifndef _XOPEN_SOURCE_EXTENDED -#define _XOPEN_SOURCE_EXTENDED -#endif -#include <${cf_cv_ncurses_header:-curses.h}>], - [cchar_t *foo = WACS_PLUS; - ${cf_cv_curses_wacs_map}['k'] = *WACS_PLUS; (void)foo], - [cf_cv_curses_wacs_symbols=yes]) -else - AC_TRY_LINK([ -#ifndef _XOPEN_SOURCE_EXTENDED -#define _XOPEN_SOURCE_EXTENDED -#endif -#include <${cf_cv_ncurses_header:-curses.h}>], - [cchar_t *foo = WACS_PLUS; (void)foo], - [cf_cv_curses_wacs_symbols=yes]) -fi -]) - -test "$cf_cv_curses_wacs_symbols" != no && AC_DEFINE(CURSES_WACS_SYMBOLS,1,[Define to 1 if (n)curses supports wide-character WACS_ symbols]) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_CURSES_WGETPARENT version: 4 updated: 2020/03/19 20:23:48 -dnl -------------------- -dnl Check for curses support for directly determining the parent of a given -dnl window. Some implementations make this difficult, so we provide for -dnl defining an application-specific function that gives this functionality. -dnl -dnl $1 = name of function to use if the feature is missing -AC_DEFUN([CF_CURSES_WGETPARENT],[ -CF_CURSES_FUNCS(wgetparent) -if test "x$cf_cv_func_wgetparent" != xyes -then - AC_MSG_CHECKING(if WINDOW has _parent member) - AC_TRY_COMPILE([#include <${cf_cv_ncurses_header:-curses.h}>], - [WINDOW *p = stdscr->_parent; (void)p], - [cf_window__parent=yes], - [cf_window__parent=no]) - AC_MSG_RESULT($cf_window__parent) - if test "$cf_window__parent" = yes - then - AC_DEFINE(HAVE_WINDOW__PARENT,1,[Define to 1 if WINDOW struct has _parent member]) - fi -fi -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_DIRNAME version: 5 updated: 2020/12/31 20:19:42 -dnl ---------- -dnl "dirname" is not portable, so we fake it with a shell script. -AC_DEFUN([CF_DIRNAME],[$1=`echo "$2" | sed -e 's%/[[^/]]*$%%'`])dnl -dnl --------------------------------------------------------------------------- -dnl CF_DISABLE_ECHO version: 13 updated: 2015/04/18 08:56:57 -dnl --------------- -dnl You can always use "make -n" to see the actual options, but it's hard to -dnl pick out/analyze warning messages when the compile-line is long. -dnl -dnl Sets: -dnl ECHO_LT - symbol to control if libtool is verbose -dnl ECHO_LD - symbol to prefix "cc -o" lines -dnl RULE_CC - symbol to put before implicit "cc -c" lines (e.g., .c.o) -dnl SHOW_CC - symbol to put before explicit "cc -c" lines -dnl ECHO_CC - symbol to put before any "cc" line -dnl -AC_DEFUN([CF_DISABLE_ECHO],[ -AC_MSG_CHECKING(if you want to see long compiling messages) -CF_ARG_DISABLE(echo, - [ --disable-echo do not display "compiling" commands], - [ - ECHO_LT='--silent' - ECHO_LD='@echo linking [$]@;' - RULE_CC='@echo compiling [$]<' - SHOW_CC='@echo compiling [$]@' - ECHO_CC='@' -],[ - ECHO_LT='' - ECHO_LD='' - RULE_CC='' - SHOW_CC='' - ECHO_CC='' -]) -AC_MSG_RESULT($enableval) -AC_SUBST(ECHO_LT) -AC_SUBST(ECHO_LD) -AC_SUBST(RULE_CC) -AC_SUBST(SHOW_CC) -AC_SUBST(ECHO_CC) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_DISABLE_LIBTOOL_VERSION version: 3 updated: 2015/04/17 21:13:04 -dnl -------------------------- -dnl Check if we should use the libtool 1.5 feature "-version-number" instead of -dnl the older "-version-info" feature. The newer feature allows us to use -dnl version numbering on shared libraries which make them compatible with -dnl various systems. -AC_DEFUN([CF_DISABLE_LIBTOOL_VERSION], -[ -AC_MSG_CHECKING(if libtool -version-number should be used) -CF_ARG_DISABLE(libtool-version, - [ --disable-libtool-version enable to use libtool's incompatible naming scheme], - [cf_libtool_version=no], - [cf_libtool_version=yes]) -AC_MSG_RESULT($cf_libtool_version) - -if test "$cf_libtool_version" = yes ; then - LIBTOOL_VERSION="-version-number" -else - LIBTOOL_VERSION="-version-info" - case "x$VERSION" in - (x) - AC_MSG_WARN(VERSION was not set) - ;; - (x*.*.*) - ABI_VERSION="$VERSION" - CF_VERBOSE(ABI_VERSION: $ABI_VERSION) - ;; - (x*:*:*) - ABI_VERSION=`echo "$VERSION" | sed -e 's/:/./g'` - CF_VERBOSE(ABI_VERSION: $ABI_VERSION) - ;; - (*) - AC_MSG_WARN(unexpected VERSION value: $VERSION) - ;; - esac -fi - -AC_SUBST(ABI_VERSION) -AC_SUBST(LIBTOOL_VERSION) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_DISABLE_RPATH_HACK version: 3 updated: 2021/01/05 20:14:44 -dnl --------------------- -dnl The rpath-hack makes it simpler to build programs, particularly with the -dnl *BSD ports which may have essential libraries in unusual places. But it -dnl can interfere with building an executable for the base system. Use this -dnl option in that case. -AC_DEFUN([CF_DISABLE_RPATH_HACK], -[ -AC_MSG_CHECKING(if rpath-hack should be disabled) -CF_ARG_DISABLE(rpath-hack, - [ --disable-rpath-hack don't add rpath options for additional libraries], - [enable_rpath_hack=no], - [enable_rpath_hack=yes]) -dnl TODO - drop cf_disable_rpath_hack -if test "x$enable_rpath_hack" = xno; then cf_disable_rpath_hack=yes; else cf_disable_rpath_hack=no; fi -AC_MSG_RESULT($cf_disable_rpath_hack) - -if test "$enable_rpath_hack" = yes ; then - CF_RPATH_HACK -fi -]) -dnl --------------------------------------------------------------------------- -dnl CF_ENABLE_RPATH version: 2 updated: 2010/03/27 18:39:42 -dnl --------------- -dnl Check if the rpath option should be used, setting cache variable -dnl cf_cv_enable_rpath if so. -AC_DEFUN([CF_ENABLE_RPATH], -[ -AC_MSG_CHECKING(if rpath option should be used) -AC_ARG_ENABLE(rpath, -[ --enable-rpath use rpath option when generating shared libraries], -[cf_cv_enable_rpath=$enableval], -[cf_cv_enable_rpath=no]) -AC_MSG_RESULT($cf_cv_enable_rpath) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_ENABLE_WARNINGS version: 9 updated: 2021/01/05 19:40:50 -dnl ------------------ -dnl Configure-option to enable gcc warnings -dnl -dnl $1 = extra options to add, if supported -dnl $2 = option for checking attributes. By default, this is done when -dnl warnings are enabled. For other values: -dnl yes: always do this, e.g., to use in generated library-headers -dnl no: never do this -AC_DEFUN([CF_ENABLE_WARNINGS],[ -if test "$GCC" = yes || test "$GXX" = yes -then -CF_FIX_WARNINGS(CFLAGS) -CF_FIX_WARNINGS(CPPFLAGS) -CF_FIX_WARNINGS(LDFLAGS) -AC_MSG_CHECKING(if you want to turn on gcc warnings) -CF_ARG_ENABLE(warnings, - [ --enable-warnings test: turn on gcc compiler warnings], - [enable_warnings=yes], - [enable_warnings=no]) -AC_MSG_RESULT($enable_warnings) -if test "$enable_warnings" = "yes" -then - ifelse($2,,[CF_GCC_ATTRIBUTES]) - CF_GCC_WARNINGS($1) -fi -ifelse($2,yes,[CF_GCC_ATTRIBUTES]) -fi -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_FIND_LIBRARY version: 11 updated: 2021/01/02 09:31:20 -dnl --------------- -dnl Look for a non-standard library, given parameters for AC_TRY_LINK. We -dnl prefer a standard location, and use -L options only if we do not find the -dnl library in the standard library location(s). -dnl $1 = library name -dnl $2 = library class, usually the same as library name -dnl $3 = includes -dnl $4 = code fragment to compile/link -dnl $5 = corresponding function-name -dnl $6 = flag, nonnull if failure should not cause an error-exit -dnl -dnl Sets the variable "$cf_libdir" as a side-effect, so we can see if we had -dnl to use a -L option. -AC_DEFUN([CF_FIND_LIBRARY], -[ - eval 'cf_cv_have_lib_'"$1"'=no' - cf_libdir="" - AC_CHECK_FUNC($5, - eval 'cf_cv_have_lib_'"$1"'=yes',[ - cf_save_LIBS="$LIBS" - AC_MSG_CHECKING(for $5 in -l$1) - LIBS="-l$1 $LIBS" - AC_TRY_LINK([$3],[$4], - [AC_MSG_RESULT(yes) - eval 'cf_cv_have_lib_'"$1"'=yes' - ], - [AC_MSG_RESULT(no) - CF_LIBRARY_PATH(cf_search,$2) - for cf_libdir in $cf_search - do - AC_MSG_CHECKING(for -l$1 in $cf_libdir) - LIBS="-L$cf_libdir -l$1 $cf_save_LIBS" - AC_TRY_LINK([$3],[$4], - [AC_MSG_RESULT(yes) - eval 'cf_cv_have_lib_'"$1"'=yes' - break], - [AC_MSG_RESULT(no) - LIBS="$cf_save_LIBS"]) - done - ]) - ]) -eval 'cf_found_library="[$]cf_cv_have_lib_'"$1"\" -ifelse($6,,[ -if test "$cf_found_library" = no ; then - AC_MSG_ERROR(Cannot link $1 library) -fi -]) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_FIND_LINKAGE version: 22 updated: 2020/12/31 20:19:42 -dnl --------------- -dnl Find a library (specifically the linkage used in the code fragment), -dnl searching for it if it is not already in the library path. -dnl See also CF_ADD_SEARCHPATH. -dnl -dnl Parameters (4-on are optional): -dnl $1 = headers for library entrypoint -dnl $2 = code fragment for library entrypoint -dnl $3 = the library name without the "-l" option or ".so" suffix. -dnl $4 = action to perform if successful (default: update CPPFLAGS, etc) -dnl $5 = action to perform if not successful -dnl $6 = module name, if not the same as the library name -dnl $7 = extra libraries -dnl -dnl Sets these variables: -dnl $cf_cv_find_linkage_$3 - yes/no according to whether linkage is found -dnl $cf_cv_header_path_$3 - include-directory if needed -dnl $cf_cv_library_path_$3 - library-directory if needed -dnl $cf_cv_library_file_$3 - library-file if needed, e.g., -l$3 -AC_DEFUN([CF_FIND_LINKAGE],[ - -# If the linkage is not already in the $CPPFLAGS/$LDFLAGS configuration, these -# will be set on completion of the AC_TRY_LINK below. -cf_cv_header_path_$3= -cf_cv_library_path_$3= - -CF_MSG_LOG([Starting [FIND_LINKAGE]($3,$6)]) - -cf_save_LIBS="$LIBS" - -AC_TRY_LINK([$1],[$2],[ - cf_cv_find_linkage_$3=yes - cf_cv_header_path_$3=/usr/include - cf_cv_library_path_$3=/usr/lib -],[ - -LIBS="-l$3 $7 $cf_save_LIBS" - -AC_TRY_LINK([$1],[$2],[ - cf_cv_find_linkage_$3=yes - cf_cv_header_path_$3=/usr/include - cf_cv_library_path_$3=/usr/lib - cf_cv_library_file_$3="-l$3" -],[ - cf_cv_find_linkage_$3=no - LIBS="$cf_save_LIBS" - - CF_VERBOSE(find linkage for $3 library) - CF_MSG_LOG([Searching for headers in [FIND_LINKAGE]($3,$6)]) - - cf_save_CPPFLAGS="$CPPFLAGS" - cf_test_CPPFLAGS="$CPPFLAGS" - - CF_HEADER_PATH(cf_search,ifelse([$6],,[$3],[$6])) - for cf_cv_header_path_$3 in $cf_search - do - if test -d "$cf_cv_header_path_$3" ; then - CF_VERBOSE(... testing $cf_cv_header_path_$3) - CPPFLAGS="$cf_save_CPPFLAGS" - CF_APPEND_TEXT(CPPFLAGS,-I$cf_cv_header_path_$3) - AC_TRY_COMPILE([$1],[$2],[ - CF_VERBOSE(... found $3 headers in $cf_cv_header_path_$3) - cf_cv_find_linkage_$3=maybe - cf_test_CPPFLAGS="$CPPFLAGS" - break],[ - CPPFLAGS="$cf_save_CPPFLAGS" - ]) - fi - done - - if test "$cf_cv_find_linkage_$3" = maybe ; then - - CF_MSG_LOG([Searching for $3 library in [FIND_LINKAGE]($3,$6)]) - - cf_save_LIBS="$LIBS" - cf_save_LDFLAGS="$LDFLAGS" - - ifelse([$6],,,[ - CPPFLAGS="$cf_test_CPPFLAGS" - LIBS="-l$3 $7 $cf_save_LIBS" - AC_TRY_LINK([$1],[$2],[ - CF_VERBOSE(... found $3 library in system) - cf_cv_find_linkage_$3=yes]) - CPPFLAGS="$cf_save_CPPFLAGS" - LIBS="$cf_save_LIBS" - ]) - - if test "$cf_cv_find_linkage_$3" != yes ; then - CF_LIBRARY_PATH(cf_search,$3) - for cf_cv_library_path_$3 in $cf_search - do - if test -d "$cf_cv_library_path_$3" ; then - CF_VERBOSE(... testing $cf_cv_library_path_$3) - CPPFLAGS="$cf_test_CPPFLAGS" - LIBS="-l$3 $7 $cf_save_LIBS" - LDFLAGS="$cf_save_LDFLAGS -L$cf_cv_library_path_$3" - AC_TRY_LINK([$1],[$2],[ - CF_VERBOSE(... found $3 library in $cf_cv_library_path_$3) - cf_cv_find_linkage_$3=yes - cf_cv_library_file_$3="-l$3" - break],[ - CPPFLAGS="$cf_save_CPPFLAGS" - LIBS="$cf_save_LIBS" - LDFLAGS="$cf_save_LDFLAGS" - ]) - fi - done - CPPFLAGS="$cf_save_CPPFLAGS" - LDFLAGS="$cf_save_LDFLAGS" - fi - - else - cf_cv_find_linkage_$3=no - fi - ],$7) -]) - -LIBS="$cf_save_LIBS" - -if test "$cf_cv_find_linkage_$3" = yes ; then -ifelse([$4],,[ - CF_ADD_INCDIR($cf_cv_header_path_$3) - CF_ADD_LIBDIR($cf_cv_library_path_$3) - CF_ADD_LIB($3) -],[$4]) -else -ifelse([$5],,AC_MSG_WARN(Cannot find $3 library),[$5]) -fi -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_FIX_WARNINGS version: 3 updated: 2020/12/31 18:40:20 -dnl --------------- -dnl Warning flags do not belong in CFLAGS, CPPFLAGS, etc. Any of gcc's -dnl "-Werror" flags can interfere with configure-checks. Those go into -dnl EXTRA_CFLAGS. -dnl -dnl $1 = variable name to repair -define([CF_FIX_WARNINGS],[ -if test "$GCC" = yes || test "$GXX" = yes -then - case [$]$1 in - (*-Werror=*) - CF_VERBOSE(repairing $1: [$]$1) - cf_temp_flags= - for cf_temp_scan in [$]$1 - do - case "x$cf_temp_scan" in - (x-Werror=*) - CF_APPEND_TEXT(EXTRA_CFLAGS,$cf_temp_scan) - ;; - (*) - CF_APPEND_TEXT(cf_temp_flags,$cf_temp_scan) - ;; - esac - done - $1="$cf_temp_flags" - CF_VERBOSE(... fixed [$]$1) - CF_VERBOSE(... extra $EXTRA_CFLAGS) - ;; - esac -fi -AC_SUBST(EXTRA_CFLAGS) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_FORGET_TOOL version: 1 updated: 2013/04/06 18:03:09 -dnl -------------- -dnl Forget that we saw the given tool. -AC_DEFUN([CF_FORGET_TOOL],[ -unset ac_cv_prog_ac_ct_$1 -unset ac_ct_$1 -unset $1 -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_FUNC_WAIT version: 4 updated: 2021/01/02 09:31:20 -dnl ------------ -dnl Test for the presence of <sys/wait.h>, 'union wait', arg-type of 'wait()' -dnl and/or 'waitpid()'. -dnl -dnl Note that we cannot simply grep for 'union wait' in the wait.h file, -dnl because some Posix systems turn this on only when a BSD variable is -dnl defined. -dnl -dnl I don't use AC_HEADER_SYS_WAIT, because it defines HAVE_SYS_WAIT_H, which -dnl would conflict with an attempt to test that header directly. -dnl -AC_DEFUN([CF_FUNC_WAIT], -[ -AC_REQUIRE([CF_UNION_WAIT]) -if test "$cf_cv_type_unionwait" = yes; then - - AC_MSG_CHECKING(if union wait can be used as wait-arg) - AC_CACHE_VAL(cf_cv_arg_union_wait,[ - AC_TRY_COMPILE($cf_wait_headers, - [union wait x; wait(&x)], - [cf_cv_arg_union_wait=yes], - [cf_cv_arg_union_wait=no]) - ]) - AC_MSG_RESULT($cf_cv_arg_union_wait) - test "$cf_cv_arg_union_wait" = yes && AC_DEFINE(WAIT_USES_UNION,1,[Define to 1 if wait() uses a union parameter]) - - AC_MSG_CHECKING(if union wait can be used as waitpid-arg) - AC_CACHE_VAL(cf_cv_arg_union_waitpid,[ - AC_TRY_COMPILE($cf_wait_headers, - [union wait x; waitpid(0, &x, 0)], - [cf_cv_arg_union_waitpid=yes], - [cf_cv_arg_union_waitpid=no]) - ]) - AC_MSG_RESULT($cf_cv_arg_union_waitpid) - test "$cf_cv_arg_union_waitpid" = yes && AC_DEFINE(WAITPID_USES_UNION,1,[Define to 1 if waitpid() uses a union parameter]) - -fi -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_GCC_ATTRIBUTES version: 23 updated: 2021/01/03 18:30:50 -dnl ----------------- -dnl Test for availability of useful gcc __attribute__ directives to quiet -dnl compiler warnings. Though useful, not all are supported -- and contrary -dnl to documentation, unrecognized directives cause older compilers to barf. -AC_DEFUN([CF_GCC_ATTRIBUTES], -[AC_REQUIRE([AC_PROG_FGREP])dnl - -if test "$GCC" = yes || test "$GXX" = yes -then -cat > conftest.i <<EOF -#ifndef GCC_PRINTF -#define GCC_PRINTF 0 -#endif -#ifndef GCC_SCANF -#define GCC_SCANF 0 -#endif -#ifndef GCC_NORETURN -#define GCC_NORETURN /* nothing */ -#endif -#ifndef GCC_UNUSED -#define GCC_UNUSED /* nothing */ -#endif -EOF -if test "$GCC" = yes -then - AC_CHECKING([for $CC __attribute__ directives]) -cat > "conftest.$ac_ext" <<EOF -#line __oline__ "${as_me:-configure}" -#include "confdefs.h" -#include "conftest.h" -#include "conftest.i" -#if GCC_PRINTF -#define GCC_PRINTFLIKE(fmt,var) __attribute__((format(printf,fmt,var))) -#else -#define GCC_PRINTFLIKE(fmt,var) /*nothing*/ -#endif -#if GCC_SCANF -#define GCC_SCANFLIKE(fmt,var) __attribute__((format(scanf,fmt,var))) -#else -#define GCC_SCANFLIKE(fmt,var) /*nothing*/ -#endif -extern void wow(char *,...) GCC_SCANFLIKE(1,2); -extern void oops(char *,...) GCC_PRINTFLIKE(1,2) GCC_NORETURN; -extern void foo(void) GCC_NORETURN; -int main(int argc GCC_UNUSED, char *argv[[]] GCC_UNUSED) { (void)argc; (void)argv; return 0; } -EOF - cf_printf_attribute=no - cf_scanf_attribute=no - for cf_attribute in scanf printf unused noreturn - do - CF_UPPER(cf_ATTRIBUTE,$cf_attribute) - cf_directive="__attribute__(($cf_attribute))" - echo "checking for $CC $cf_directive" 1>&AC_FD_CC - - case "$cf_attribute" in - (printf) - cf_printf_attribute=yes - cat >conftest.h <<EOF -#define GCC_$cf_ATTRIBUTE 1 -EOF - ;; - (scanf) - cf_scanf_attribute=yes - cat >conftest.h <<EOF -#define GCC_$cf_ATTRIBUTE 1 -EOF - ;; - (*) - cat >conftest.h <<EOF -#define GCC_$cf_ATTRIBUTE $cf_directive -EOF - ;; - esac - - if AC_TRY_EVAL(ac_compile); then - test -n "$verbose" && AC_MSG_RESULT(... $cf_attribute) - cat conftest.h >>confdefs.h - case "$cf_attribute" in - (noreturn) - AC_DEFINE_UNQUOTED(GCC_NORETURN,$cf_directive,[Define to noreturn-attribute for gcc]) - ;; - (printf) - cf_value='/* nothing */' - if test "$cf_printf_attribute" != no ; then - cf_value='__attribute__((format(printf,fmt,var)))' - AC_DEFINE(GCC_PRINTF,1,[Define to 1 if the compiler supports gcc-like printf attribute.]) - fi - AC_DEFINE_UNQUOTED(GCC_PRINTFLIKE(fmt,var),$cf_value,[Define to printf-attribute for gcc]) - ;; - (scanf) - cf_value='/* nothing */' - if test "$cf_scanf_attribute" != no ; then - cf_value='__attribute__((format(scanf,fmt,var)))' - AC_DEFINE(GCC_SCANF,1,[Define to 1 if the compiler supports gcc-like scanf attribute.]) - fi - AC_DEFINE_UNQUOTED(GCC_SCANFLIKE(fmt,var),$cf_value,[Define to sscanf-attribute for gcc]) - ;; - (unused) - AC_DEFINE_UNQUOTED(GCC_UNUSED,$cf_directive,[Define to unused-attribute for gcc]) - ;; - esac - fi - done -else - ${FGREP-fgrep} define conftest.i >>confdefs.h -fi -rm -rf ./conftest* -fi -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_GCC_VERSION version: 8 updated: 2019/09/07 13:38:36 -dnl -------------- -dnl Find version of gcc, and (because icc/clang pretend to be gcc without being -dnl compatible), attempt to determine if icc/clang is actually used. -AC_DEFUN([CF_GCC_VERSION],[ -AC_REQUIRE([AC_PROG_CC]) -GCC_VERSION=none -if test "$GCC" = yes ; then - AC_MSG_CHECKING(version of $CC) - GCC_VERSION="`${CC} --version 2>/dev/null | sed -e '2,$d' -e 's/^.*(GCC[[^)]]*) //' -e 's/^.*(Debian[[^)]]*) //' -e 's/^[[^0-9.]]*//' -e 's/[[^0-9.]].*//'`" - test -z "$GCC_VERSION" && GCC_VERSION=unknown - AC_MSG_RESULT($GCC_VERSION) -fi -CF_INTEL_COMPILER(GCC,INTEL_COMPILER,CFLAGS) -CF_CLANG_COMPILER(GCC,CLANG_COMPILER,CFLAGS) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_GCC_WARNINGS version: 41 updated: 2021/01/01 16:53:59 -dnl --------------- -dnl Check if the compiler supports useful warning options. There's a few that -dnl we don't use, simply because they're too noisy: -dnl -dnl -Wconversion (useful in older versions of gcc, but not in gcc 2.7.x) -dnl -Winline (usually not worthwhile) -dnl -Wredundant-decls (system headers make this too noisy) -dnl -Wtraditional (combines too many unrelated messages, only a few useful) -dnl -Wwrite-strings (too noisy, but should review occasionally). This -dnl is enabled for ncurses using "--enable-const". -dnl -pedantic -dnl -dnl Parameter: -dnl $1 is an optional list of gcc warning flags that a particular -dnl application might want to use, e.g., "no-unused" for -dnl -Wno-unused -dnl Special: -dnl If $with_ext_const is "yes", add a check for -Wwrite-strings -dnl -AC_DEFUN([CF_GCC_WARNINGS], -[ -AC_REQUIRE([CF_GCC_VERSION]) -if test "x$have_x" = xyes; then CF_CONST_X_STRING fi -cat > "conftest.$ac_ext" <<EOF -#line __oline__ "${as_me:-configure}" -int main(int argc, char *argv[[]]) { return (argv[[argc-1]] == 0) ; } -EOF -if test "$INTEL_COMPILER" = yes -then -# The "-wdXXX" options suppress warnings: -# remark #1419: external declaration in primary source file -# remark #1683: explicit conversion of a 64-bit integral type to a smaller integral type (potential portability problem) -# remark #1684: conversion from pointer to same-sized integral type (potential portability problem) -# remark #193: zero used for undefined preprocessing identifier -# remark #593: variable "curs_sb_left_arrow" was set but never used -# remark #810: conversion from "int" to "Dimension={unsigned short}" may lose significant bits -# remark #869: parameter "tw" was never referenced -# remark #981: operands are evaluated in unspecified order -# warning #279: controlling expression is constant - - AC_CHECKING([for $CC warning options]) - cf_save_CFLAGS="$CFLAGS" - EXTRA_CFLAGS="$EXTRA_CFLAGS -Wall" - for cf_opt in \ - wd1419 \ - wd1683 \ - wd1684 \ - wd193 \ - wd593 \ - wd279 \ - wd810 \ - wd869 \ - wd981 - do - CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt" - if AC_TRY_EVAL(ac_compile); then - test -n "$verbose" && AC_MSG_RESULT(... -$cf_opt) - EXTRA_CFLAGS="$EXTRA_CFLAGS -$cf_opt" - fi - done - CFLAGS="$cf_save_CFLAGS" -elif test "$GCC" = yes && test "$GCC_VERSION" != "unknown" -then - AC_CHECKING([for $CC warning options]) - cf_save_CFLAGS="$CFLAGS" - cf_warn_CONST="" - test "$with_ext_const" = yes && cf_warn_CONST="Wwrite-strings" - cf_gcc_warnings="Wignored-qualifiers Wlogical-op Wvarargs" - test "x$CLANG_COMPILER" = xyes && cf_gcc_warnings= - for cf_opt in W Wall \ - Wbad-function-cast \ - Wcast-align \ - Wcast-qual \ - Wdeclaration-after-statement \ - Wextra \ - Winline \ - Wmissing-declarations \ - Wmissing-prototypes \ - Wnested-externs \ - Wpointer-arith \ - Wshadow \ - Wstrict-prototypes \ - Wundef Wno-inline $cf_gcc_warnings $cf_warn_CONST $1 - do - CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt" - if AC_TRY_EVAL(ac_compile); then - test -n "$verbose" && AC_MSG_RESULT(... -$cf_opt) - case "$cf_opt" in - (Winline) - case "$GCC_VERSION" in - ([[34]].*) - CF_VERBOSE(feature is broken in gcc $GCC_VERSION) - continue;; - esac - ;; - (Wpointer-arith) - case "$GCC_VERSION" in - ([[12]].*) - CF_VERBOSE(feature is broken in gcc $GCC_VERSION) - continue;; - esac - ;; - esac - EXTRA_CFLAGS="$EXTRA_CFLAGS -$cf_opt" - fi - done - CFLAGS="$cf_save_CFLAGS" -fi -rm -rf ./conftest* - -AC_SUBST(EXTRA_CFLAGS) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_GNU_SOURCE version: 10 updated: 2018/12/10 20:09:41 -dnl ------------- -dnl Check if we must define _GNU_SOURCE to get a reasonable value for -dnl _XOPEN_SOURCE, upon which many POSIX definitions depend. This is a defect -dnl (or misfeature) of glibc2, which breaks portability of many applications, -dnl since it is interwoven with GNU extensions. -dnl -dnl Well, yes we could work around it... -dnl -dnl Parameters: -dnl $1 is the nominal value for _XOPEN_SOURCE -AC_DEFUN([CF_GNU_SOURCE], -[ -cf_gnu_xopen_source=ifelse($1,,500,$1) - -AC_CACHE_CHECK(if this is the GNU C library,cf_cv_gnu_library,[ -AC_TRY_COMPILE([#include <sys/types.h>],[ - #if __GLIBC__ > 0 && __GLIBC_MINOR__ >= 0 - return 0; - #elif __NEWLIB__ > 0 && __NEWLIB_MINOR__ >= 0 - return 0; - #else - # error not GNU C library - #endif], - [cf_cv_gnu_library=yes], - [cf_cv_gnu_library=no]) -]) - -if test x$cf_cv_gnu_library = xyes; then - - # With glibc 2.19 (13 years after this check was begun), _DEFAULT_SOURCE - # was changed to help a little. newlib incorporated the change about 4 - # years later. - AC_CACHE_CHECK(if _DEFAULT_SOURCE can be used as a basis,cf_cv_gnu_library_219,[ - cf_save="$CPPFLAGS" - CF_APPEND_TEXT(CPPFLAGS,-D_DEFAULT_SOURCE) - AC_TRY_COMPILE([#include <sys/types.h>],[ - #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 19) || (__GLIBC__ > 2) - return 0; - #elif (__NEWLIB__ == 2 && __NEWLIB_MINOR__ >= 4) || (__GLIBC__ > 3) - return 0; - #else - # error GNU C library __GLIBC__.__GLIBC_MINOR__ is too old - #endif], - [cf_cv_gnu_library_219=yes], - [cf_cv_gnu_library_219=no]) - CPPFLAGS="$cf_save" - ]) - - if test "x$cf_cv_gnu_library_219" = xyes; then - cf_save="$CPPFLAGS" - AC_CACHE_CHECK(if _XOPEN_SOURCE=$cf_gnu_xopen_source works with _DEFAULT_SOURCE,cf_cv_gnu_dftsrc_219,[ - CF_ADD_CFLAGS(-D_DEFAULT_SOURCE -D_XOPEN_SOURCE=$cf_gnu_xopen_source) - AC_TRY_COMPILE([ - #include <limits.h> - #include <sys/types.h> - ],[ - #if (_XOPEN_SOURCE >= $cf_gnu_xopen_source) && (MB_LEN_MAX > 1) - return 0; - #else - # error GNU C library is too old - #endif], - [cf_cv_gnu_dftsrc_219=yes], - [cf_cv_gnu_dftsrc_219=no]) - ]) - test "x$cf_cv_gnu_dftsrc_219" = "xyes" || CPPFLAGS="$cf_save" - else - cf_cv_gnu_dftsrc_219=maybe - fi - - if test "x$cf_cv_gnu_dftsrc_219" != xyes; then - - AC_CACHE_CHECK(if we must define _GNU_SOURCE,cf_cv_gnu_source,[ - AC_TRY_COMPILE([#include <sys/types.h>],[ - #ifndef _XOPEN_SOURCE - #error expected _XOPEN_SOURCE to be defined - #endif], - [cf_cv_gnu_source=no], - [cf_save="$CPPFLAGS" - CF_ADD_CFLAGS(-D_GNU_SOURCE) - AC_TRY_COMPILE([#include <sys/types.h>],[ - #ifdef _XOPEN_SOURCE - #error expected _XOPEN_SOURCE to be undefined - #endif], - [cf_cv_gnu_source=no], - [cf_cv_gnu_source=yes]) - CPPFLAGS="$cf_save" - ]) - ]) - - if test "$cf_cv_gnu_source" = yes - then - AC_CACHE_CHECK(if we should also define _DEFAULT_SOURCE,cf_cv_default_source,[ - CF_APPEND_TEXT(CPPFLAGS,-D_GNU_SOURCE) - AC_TRY_COMPILE([#include <sys/types.h>],[ - #ifdef _DEFAULT_SOURCE - #error expected _DEFAULT_SOURCE to be undefined - #endif], - [cf_cv_default_source=no], - [cf_cv_default_source=yes]) - ]) - if test "$cf_cv_default_source" = yes - then - CF_APPEND_TEXT(CPPFLAGS,-D_DEFAULT_SOURCE) - fi - fi - fi - -fi -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_HEADERS_SH version: 1 updated: 2007/07/04 15:37:05 -dnl ------------- -dnl Setup variables needed to construct headers-sh -AC_DEFUN([CF_HEADERS_SH],[ -PACKAGE_PREFIX=$1 -PACKAGE_CONFIG=$2 -AC_SUBST(PACKAGE_PREFIX) -AC_SUBST(PACKAGE_CONFIG) -EXTRA_OUTPUT="$EXTRA_OUTPUT headers-sh:$srcdir/headers-sh.in" -]) -dnl --------------------------------------------------------------------------- -dnl CF_HEADER_PATH version: 15 updated: 2021/01/01 13:31:04 -dnl -------------- -dnl Construct a search-list of directories for a nonstandard header-file -dnl -dnl Parameters -dnl $1 = the variable to return as result -dnl $2 = the package name -AC_DEFUN([CF_HEADER_PATH], -[ -$1= - -# collect the current set of include-directories from compiler flags -cf_header_path_list="" -if test -n "${CFLAGS}${CPPFLAGS}" ; then - for cf_header_path in $CPPFLAGS $CFLAGS - do - case "$cf_header_path" in - (-I*) - cf_header_path=`echo ".$cf_header_path" |sed -e 's/^...//' -e 's,/include$,,'` - CF_ADD_SUBDIR_PATH($1,$2,include,$cf_header_path,NONE) - cf_header_path_list="$cf_header_path_list [$]$1" - ;; - esac - done -fi - -# add the variations for the package we are looking for -CF_SUBDIR_PATH($1,$2,include) - -test "$includedir" != NONE && \ -test "$includedir" != "/usr/include" && \ -test -d "$includedir" && { - test -d "$includedir" && $1="[$]$1 $includedir" - test -d "$includedir/$2" && $1="[$]$1 $includedir/$2" -} - -test "$oldincludedir" != NONE && \ -test "$oldincludedir" != "/usr/include" && \ -test -d "$oldincludedir" && { - test -d "$oldincludedir" && $1="[$]$1 $oldincludedir" - test -d "$oldincludedir/$2" && $1="[$]$1 $oldincludedir/$2" -} - -$1="[$]$1 $cf_header_path_list" -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_INTEL_COMPILER version: 8 updated: 2021/01/01 16:53:59 -dnl ----------------- -dnl Check if the given compiler is really the Intel compiler for Linux. It -dnl tries to imitate gcc, but does not return an error when it finds a mismatch -dnl between prototypes, e.g., as exercised by CF_MISSING_CHECK. -dnl -dnl This macro should be run "soon" after AC_PROG_CC or AC_PROG_CPLUSPLUS, to -dnl ensure that it is not mistaken for gcc/g++. It is normally invoked from -dnl the wrappers for gcc and g++ warnings. -dnl -dnl $1 = GCC (default) or GXX -dnl $2 = INTEL_COMPILER (default) or INTEL_CPLUSPLUS -dnl $3 = CFLAGS (default) or CXXFLAGS -AC_DEFUN([CF_INTEL_COMPILER],[ -AC_REQUIRE([AC_CANONICAL_HOST]) -ifelse([$2],,INTEL_COMPILER,[$2])=no - -if test "$ifelse([$1],,[$1],GCC)" = yes ; then - case "$host_os" in - (linux*|gnu*) - AC_MSG_CHECKING(if this is really Intel ifelse([$1],GXX,C++,C) compiler) - cf_save_CFLAGS="$ifelse([$3],,CFLAGS,[$3])" - ifelse([$3],,CFLAGS,[$3])="$ifelse([$3],,CFLAGS,[$3]) -no-gcc" - AC_TRY_COMPILE([],[ -#ifdef __INTEL_COMPILER -#else -make an error -#endif -],[ifelse([$2],,INTEL_COMPILER,[$2])=yes -cf_save_CFLAGS="$cf_save_CFLAGS -we147" -],[]) - ifelse([$3],,CFLAGS,[$3])="$cf_save_CFLAGS" - AC_MSG_RESULT($ifelse([$2],,INTEL_COMPILER,[$2])) - ;; - esac -fi -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_LARGEFILE version: 12 updated: 2020/03/19 20:23:48 -dnl ------------ -dnl Add checks for large file support. -AC_DEFUN([CF_LARGEFILE],[ -ifdef([AC_FUNC_FSEEKO],[ - AC_SYS_LARGEFILE - if test "$enable_largefile" != no ; then - AC_FUNC_FSEEKO - - # Normally we would collect these definitions in the config.h, - # but (like _XOPEN_SOURCE), some environments rely on having these - # defined before any of the system headers are included. Another - # case comes up with C++, e.g., on AIX the compiler compiles the - # header files by themselves before looking at the body files it is - # told to compile. For ncurses, those header files do not include - # the config.h - if test "$ac_cv_sys_large_files" != no - then - CF_APPEND_TEXT(CPPFLAGS,-D_LARGE_FILES) - fi - if test "$ac_cv_sys_largefile_source" != no - then - CF_APPEND_TEXT(CPPFLAGS,-D_LARGEFILE_SOURCE) - fi - if test "$ac_cv_sys_file_offset_bits" != no - then - CF_APPEND_TEXT(CPPFLAGS,-D_FILE_OFFSET_BITS=$ac_cv_sys_file_offset_bits) - fi - - AC_CACHE_CHECK(whether to use struct dirent64, cf_cv_struct_dirent64,[ - AC_TRY_COMPILE([ -#pragma GCC diagnostic error "-Wincompatible-pointer-types" -#include <sys/types.h> -#include <dirent.h> - ],[ - /* if transitional largefile support is setup, this is true */ - extern struct dirent64 * readdir(DIR *); - struct dirent64 *x = readdir((DIR *)0); - struct dirent *y = readdir((DIR *)0); - int z = x - y; - (void)z; - ], - [cf_cv_struct_dirent64=yes], - [cf_cv_struct_dirent64=no]) - ]) - test "$cf_cv_struct_dirent64" = yes && AC_DEFINE(HAVE_STRUCT_DIRENT64,1,[Define to 1 if we have struct dirent64]) - fi -]) -]) -dnl --------------------------------------------------------------------------- -dnl CF_LD_RPATH_OPT version: 9 updated: 2021/01/01 13:31:04 -dnl --------------- -dnl For the given system and compiler, find the compiler flags to pass to the -dnl loader to use the "rpath" feature. -AC_DEFUN([CF_LD_RPATH_OPT], -[ -AC_REQUIRE([CF_CHECK_CACHE]) - -LD_RPATH_OPT= -if test "x$cf_cv_enable_rpath" != xno -then - AC_MSG_CHECKING(for an rpath option) - case "$cf_cv_system_name" in - (irix*) - if test "$GCC" = yes; then - LD_RPATH_OPT="-Wl,-rpath," - else - LD_RPATH_OPT="-rpath " - fi - ;; - (linux*|gnu*|k*bsd*-gnu|freebsd*) - LD_RPATH_OPT="-Wl,-rpath," - ;; - (openbsd[[2-9]].*|mirbsd*) - LD_RPATH_OPT="-Wl,-rpath," - ;; - (dragonfly*) - LD_RPATH_OPT="-rpath " - ;; - (netbsd*) - LD_RPATH_OPT="-Wl,-rpath," - ;; - (osf*|mls+*) - LD_RPATH_OPT="-rpath " - ;; - (solaris2*) - LD_RPATH_OPT="-R" - ;; - (*) - ;; - esac - AC_MSG_RESULT($LD_RPATH_OPT) - - case "x$LD_RPATH_OPT" in - (x-R*) - AC_MSG_CHECKING(if we need a space after rpath option) - cf_save_LIBS="$LIBS" - CF_ADD_LIBS(${LD_RPATH_OPT}$libdir) - AC_TRY_LINK(, , cf_rpath_space=no, cf_rpath_space=yes) - LIBS="$cf_save_LIBS" - AC_MSG_RESULT($cf_rpath_space) - test "$cf_rpath_space" = yes && LD_RPATH_OPT="$LD_RPATH_OPT " - ;; - esac -fi -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_LD_SEARCHPATH version: 2 updated: 2019/09/26 20:34:14 -dnl ---------------- -dnl Try to obtain the linker's search-path, for use in scripts. -dnl -dnl Ignore LD_LIBRARY_PATH, etc. -AC_DEFUN([CF_LD_SEARCHPATH],[ -AC_CACHE_CHECK(for linker search path,cf_cv_ld_searchpath,[ - -if test "$cross_compiling" != yes ; then - -# GNU binutils' ld does not involve permissions which may stop ldconfig. -cf_pathlist=`ld --verbose 2>/dev/null | grep SEARCH_DIR | sed -e 's,SEARCH_DIR[[("=]][[("=]]*,,g' -e 's/"[[)]];//gp' | sort -u` - -# The -NX options tell newer versions of Linux ldconfig to not attempt to -# update the cache, which makes it run faster. -test -z "$cf_pathlist" && \ - cf_pathlist=`ldconfig -NX -v 2>/dev/null | sed -e '/^[[ ]]/d' -e 's/:$//' | sort -u` - -test -z "$cf_pathlist" && - cf_pathlist=`ldconfig -v 2>/dev/null | sed -n -e '/^[[ ]]/d' -e 's/:$//p' | sort -u` - -# This works with OpenBSD 6.5, which lists only filenames -test -z "$cf_pathlist" && - cf_pathlist=`ldconfig -v 2>/dev/null | sed -n -e 's,^Adding \(.*\)/.*[$],\1,p' | sort -u` - -if test -z "$cf_pathlist" -then - # dyld default path with MacOS - if test -f /usr/bin/otool && test "x`uname -s`" = xDarwin - then - # do this to bypass check - cf_cv_ld_searchpath='$HOME/lib' - cf_pathlist="/usr/local/lib /lib /usr/lib" - fi -fi - -if test -z "$cf_pathlist" -then - # Solaris is hardcoded - if test -d /opt/SUNWspro/lib - then - cf_pathlist="/opt/SUNWspro/lib /usr/ccs/lib /usr/lib" - elif test -d /usr/ccs/lib - then - cf_pathlist="/usr/ccs/lib /usr/lib" - fi -fi - -fi - -# If nothing else, assume it is conventional -test -z "$cf_pathlist" && cf_pathlist="/usr/lib /lib" - -# Finally, check that this is only directories -for cf_path in [$]0 $cf_pathlist -do - if test -d "$cf_path"; then - test -n "$cf_cv_ld_searchpath" && cf_cv_ld_searchpath="${cf_cv_ld_searchpath} " - cf_cv_ld_searchpath="${cf_cv_ld_searchpath}${cf_path}" - fi -done - -# Ensure that it is nonempty -test -z "$cf_cv_ld_searchpath" && cf_cv_ld_searchpath=/usr/lib -]) - -LD_SEARCHPATH=`echo "$cf_cv_ld_searchpath"|sed -e 's/ /|/g'` -AC_SUBST(LD_SEARCHPATH) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_LIBRARY_PATH version: 11 updated: 2021/01/01 13:31:04 -dnl --------------- -dnl Construct a search-list of directories for a nonstandard library-file -dnl -dnl Parameters -dnl $1 = the variable to return as result -dnl $2 = the package name -AC_DEFUN([CF_LIBRARY_PATH], -[ -$1= -cf_library_path_list="" -if test -n "${LDFLAGS}${LIBS}" ; then - for cf_library_path in $LDFLAGS $LIBS - do - case "$cf_library_path" in - (-L*) - cf_library_path=`echo ".$cf_library_path" |sed -e 's/^...//' -e 's,/lib$,,'` - CF_ADD_SUBDIR_PATH($1,$2,lib,$cf_library_path,NONE) - cf_library_path_list="$cf_library_path_list [$]$1" - ;; - esac - done -fi - -CF_SUBDIR_PATH($1,$2,lib) - -$1="$cf_library_path_list [$]$1" -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_LIBTOOL_VERSION version: 1 updated: 2013/04/06 18:03:09 -dnl ------------------ -AC_DEFUN([CF_LIBTOOL_VERSION],[ -if test -n "$LIBTOOL" && test "$LIBTOOL" != none -then - cf_cv_libtool_version=`$LIBTOOL --version 2>&1 | sed -e '/^$/d' |sed -e '2,$d' -e 's/([[^)]]*)//g' -e 's/^[[^1-9]]*//' -e 's/[[^0-9.]].*//'` -else - cf_cv_libtool_version= -fi -test -z "$cf_cv_libtool_version" && unset cf_cv_libtool_version -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_LIB_PREFIX version: 14 updated: 2021/01/01 13:31:04 -dnl ------------- -dnl Compute the library-prefix for the given host system -dnl $1 = variable to set -define([CF_LIB_PREFIX], -[ - case "$cf_cv_system_name" in - (OS/2*|os2*) - if test "$DFT_LWR_MODEL" = libtool; then - LIB_PREFIX='lib' - else - LIB_PREFIX='' - fi - ;; - (*-msvc*) - LIB_PREFIX='' - ;; - (*) LIB_PREFIX='lib' - ;; - esac -ifelse($1,,,[$1=$LIB_PREFIX]) - AC_SUBST(LIB_PREFIX) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_LIB_SUFFIX version: 28 updated: 2021/01/01 16:53:59 -dnl ------------- -dnl Compute the library file-suffix from the given model name -dnl $1 = model name -dnl $2 = variable to set (the nominal library suffix) -dnl $3 = dependency variable to set (actual filename) -dnl The variable $LIB_SUFFIX, if set, prepends the variable to set. -AC_DEFUN([CF_LIB_SUFFIX], -[ - case X$1 in - (Xlibtool) - $2='.la' - $3=[$]$2 - ;; - (Xdebug) - case "$cf_cv_system_name" in - (*-msvc*) - $2='_g.lib' - ;; - (*) - $2='_g.a' - ;; - esac - $3=[$]$2 - ;; - (Xprofile) - case "$cf_cv_system_name" in - (*-msvc*) - $2='_p.lib' - ;; - (*) - $2='_p.a' - ;; - esac - $3=[$]$2 - ;; - (Xshared) - case "$cf_cv_system_name" in - (aix[[5-7]]*) - $2='.so' - $3=[$]$2 - ;; - (*-msvc*) - $2='.dll' - $3='.dll.lib' - ;; - (cygwin*|msys*|mingw*) - $2='.dll' - $3='.dll.a' - ;; - (darwin*) - $2='.dylib' - $3=[$]$2 - ;; - (hpux*) - case "$target" in - (ia64*) - $2='.so' - $3=[$]$2 - ;; - (*) - $2='.sl' - $3=[$]$2 - ;; - esac - ;; - (*) - $2='.so' - $3=[$]$2 - ;; - esac - ;; - (*) - case "$target" in - (*-msvc*) - $2='.lib' - ;; - (*) - $2='.a' - ;; - esac - $3=[$]$2 - ;; - esac - if test -n "${LIB_SUFFIX}${EXTRA_SUFFIX}" - then - $2="${LIB_SUFFIX}${EXTRA_SUFFIX}[$]{$2}" - $3="${LIB_SUFFIX}${EXTRA_SUFFIX}[$]{$3}" - fi -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_MAKEFLAGS version: 20 updated: 2021/01/03 19:29:49 -dnl ------------ -dnl Some 'make' programs support ${MAKEFLAGS}, some ${MFLAGS}, to pass 'make' -dnl options to lower-levels. It's very useful for "make -n" -- if we have it. -dnl (GNU 'make' does both, something POSIX 'make', which happens to make the -dnl ${MAKEFLAGS} variable incompatible because it adds the assignments :-) -AC_DEFUN([CF_MAKEFLAGS], -[AC_REQUIRE([AC_PROG_FGREP])dnl - -AC_CACHE_CHECK(for makeflags variable, cf_cv_makeflags,[ - cf_cv_makeflags='' - for cf_option in '-${MAKEFLAGS}' '${MFLAGS}' - do - cat >cf_makeflags.tmp <<CF_EOF -SHELL = $SHELL -all : - @ echo '.$cf_option' -CF_EOF - cf_result=`${MAKE:-make} -k -f cf_makeflags.tmp 2>/dev/null | ${FGREP-fgrep} -v "ing directory" | sed -e 's,[[ ]]*$,,'` - case "$cf_result" in - (.*k|.*kw) - cf_result="`${MAKE:-make} -k -f cf_makeflags.tmp CC=cc 2>/dev/null`" - case "$cf_result" in - (.*CC=*) cf_cv_makeflags= - ;; - (*) cf_cv_makeflags=$cf_option - ;; - esac - break - ;; - (.-) - ;; - (*) - CF_MSG_LOG(given option \"$cf_option\", no match \"$cf_result\") - ;; - esac - done - rm -f cf_makeflags.tmp -]) - -AC_SUBST(cf_cv_makeflags) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_MAKE_TAGS version: 6 updated: 2010/10/23 15:52:32 -dnl ------------ -dnl Generate tags/TAGS targets for makefiles. Do not generate TAGS if we have -dnl a monocase filesystem. -AC_DEFUN([CF_MAKE_TAGS],[ -AC_REQUIRE([CF_MIXEDCASE_FILENAMES]) - -AC_CHECK_PROGS(CTAGS, exctags ctags) -AC_CHECK_PROGS(ETAGS, exetags etags) - -AC_CHECK_PROG(MAKE_LOWER_TAGS, ${CTAGS:-ctags}, yes, no) - -if test "$cf_cv_mixedcase" = yes ; then - AC_CHECK_PROG(MAKE_UPPER_TAGS, ${ETAGS:-etags}, yes, no) -else - MAKE_UPPER_TAGS=no -fi - -if test "$MAKE_UPPER_TAGS" = yes ; then - MAKE_UPPER_TAGS= -else - MAKE_UPPER_TAGS="#" -fi - -if test "$MAKE_LOWER_TAGS" = yes ; then - MAKE_LOWER_TAGS= -else - MAKE_LOWER_TAGS="#" -fi - -AC_SUBST(CTAGS) -AC_SUBST(ETAGS) - -AC_SUBST(MAKE_UPPER_TAGS) -AC_SUBST(MAKE_LOWER_TAGS) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_MATH_LIB version: 10 updated: 2020/12/31 18:40:20 -dnl ----------- -dnl Checks for libraries. At least one UNIX system, Apple Macintosh -dnl Rhapsody 5.5, does not have -lm. We cannot use the simpler -dnl AC_CHECK_LIB(m,sin), because that fails for C++. -AC_DEFUN([CF_MATH_LIB], -[ -AC_CACHE_CHECK(if -lm needed for math functions, - cf_cv_need_libm,[ - AC_TRY_LINK([ - #include <stdio.h> - #include <stdlib.h> - #include <math.h> - ], - [double x = rand(); printf("result = %g\\n", ]ifelse([$2],,sin(x),$2)[)], - [cf_cv_need_libm=no], - [cf_cv_need_libm=yes])]) -if test "$cf_cv_need_libm" = yes -then -ifelse($1,,[ - CF_ADD_LIB(m) -],[$1=-lm]) -fi -]) -dnl --------------------------------------------------------------------------- -dnl CF_MBSTATE_T version: 5 updated: 2020/03/19 20:23:48 -dnl ------------ -dnl Check if mbstate_t is declared, and if so, which header file. -dnl This (including wchar.h) is needed on Tru64 5.0 to declare mbstate_t, -dnl as well as include stdio.h to work around a misuse of varargs in wchar.h -AC_DEFUN([CF_MBSTATE_T], -[ -AC_CACHE_CHECK(if we must include wchar.h to declare mbstate_t,cf_cv_mbstate_t,[ -AC_TRY_COMPILE([ -#include <stdlib.h> -#include <stdio.h> -#ifdef HAVE_LIBUTF8_H -#include <libutf8.h> -#endif], - [mbstate_t state; (void)state], - [cf_cv_mbstate_t=no], - [AC_TRY_COMPILE([ -#include <stdlib.h> -#include <stdio.h> -#include <wchar.h> -#ifdef HAVE_LIBUTF8_H -#include <libutf8.h> -#endif], - [mbstate_t value; (void)value], - [cf_cv_mbstate_t=yes], - [cf_cv_mbstate_t=unknown])])]) - -if test "$cf_cv_mbstate_t" = yes ; then - AC_DEFINE(NEED_WCHAR_H,1,[Define to 1 if we must include wchar.h]) -fi - -if test "$cf_cv_mbstate_t" != unknown ; then - AC_DEFINE(HAVE_MBSTATE_T,1,[Define to 1 if mbstate_t is declared]) -fi -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_MERGE_EXTRA_CFLAGS version: 2 updated: 2021/01/02 09:31:20 -dnl --------------------- -dnl CF_FIX_WARNINGS moves problematic flags into EXTRA_CFLAGS, but some scripts -dnl may depend on being able to override that variable at build-time. Move it -dnl all back. -define([CF_MERGE_EXTRA_CFLAGS],[ -if test "$GCC" = yes || test "$GXX" = yes -then - CF_APPEND_TEXT(CFLAGS,$EXTRA_CFLAGS) - EXTRA_CFLAGS= -fi -]) -dnl --------------------------------------------------------------------------- -dnl CF_MIXEDCASE_FILENAMES version: 9 updated: 2021/01/01 16:53:59 -dnl ---------------------- -dnl Check if the file-system supports mixed-case filenames. If we're able to -dnl create a lowercase name and see it as uppercase, it doesn't support that. -AC_DEFUN([CF_MIXEDCASE_FILENAMES], -[ -AC_CACHE_CHECK(if filesystem supports mixed-case filenames,cf_cv_mixedcase,[ -if test "$cross_compiling" = yes ; then - case "$target_alias" in - (*-os2-emx*|*-msdosdjgpp*|*-cygwin*|*-msys*|*-mingw*|*-uwin*|darwin*) - cf_cv_mixedcase=no - ;; - (*) - cf_cv_mixedcase=yes - ;; - esac -else - rm -f conftest CONFTEST - echo test >conftest - if test -f CONFTEST ; then - cf_cv_mixedcase=no - else - cf_cv_mixedcase=yes - fi - rm -f conftest CONFTEST -fi -]) -test "$cf_cv_mixedcase" = yes && AC_DEFINE(MIXEDCASE_FILENAMES,1,[Define to 1 if filesystem supports mixed-case filenames.]) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_MSG_LOG version: 5 updated: 2010/10/23 15:52:32 -dnl ---------- -dnl Write a debug message to config.log, along with the line number in the -dnl configure script. -AC_DEFUN([CF_MSG_LOG],[ -echo "${as_me:-configure}:__oline__: testing $* ..." 1>&AC_FD_CC -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_NCURSES_CC_CHECK version: 5 updated: 2020/12/31 20:19:42 -dnl ------------------- -dnl Check if we can compile with ncurses' header file -dnl $1 is the cache variable to set -dnl $2 is the header-file to include -dnl $3 is the root name (ncurses or ncursesw) -AC_DEFUN([CF_NCURSES_CC_CHECK],[ - AC_TRY_COMPILE([ -]ifelse($3,ncursesw,[ -#define _XOPEN_SOURCE_EXTENDED -#undef HAVE_LIBUTF8_H /* in case we used CF_UTF8_LIB */ -#define HAVE_LIBUTF8_H /* to force ncurses' header file to use cchar_t */ -])[ -#include <$2>],[ -#ifdef NCURSES_VERSION -]ifelse($3,ncursesw,[ -#ifndef WACS_BSSB - make an error -#endif -])[ -printf("%s\\n", NCURSES_VERSION); -#else -#ifdef __NCURSES_H -printf("old\\n"); -#else - make an error -#endif -#endif - ] - ,[$1=$2] - ,[$1=no]) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_NCURSES_CONFIG version: 26 updated: 2021/01/03 08:05:37 -dnl ----------------- -dnl Tie together the configure-script macros for ncurses, preferring these in -dnl order: -dnl a) ".pc" files for pkg-config, using $NCURSES_CONFIG_PKG -dnl b) the "-config" script from ncurses, using $NCURSES_CONFIG -dnl c) just plain libraries -dnl -dnl $1 is the root library name (default: "ncurses") -AC_DEFUN([CF_NCURSES_CONFIG],[ -AC_REQUIRE([CF_PKG_CONFIG]) -cf_ncuconfig_root=ifelse($1,,ncurses,$1) -cf_have_ncuconfig=no - -if test "x${PKG_CONFIG:=none}" != xnone; then - AC_MSG_CHECKING(pkg-config for $cf_ncuconfig_root) - if "$PKG_CONFIG" --exists $cf_ncuconfig_root ; then - AC_MSG_RESULT(yes) - - AC_MSG_CHECKING(if the $cf_ncuconfig_root package files work) - cf_have_ncuconfig=unknown - - cf_save_CFLAGS="$CFLAGS" - cf_save_CPPFLAGS="$CPPFLAGS" - cf_save_LIBS="$LIBS" - - cf_pkg_cflags="`$PKG_CONFIG --cflags $cf_ncuconfig_root`" - cf_pkg_libs="`$PKG_CONFIG --libs $cf_ncuconfig_root`" - - # while -W for passing linker flags is prevalent, it is not "standard". - # At least one wrapper for c89/c99 (in Apple's xcode) has its own - # incompatible _and_ non-standard -W option which gives an error. Work - # around that pitfall. - case "x${CC}@@${cf_pkg_libs}@${cf_pkg_cflags}" in - (x*c[[89]]9@@*-W*) - CF_ADD_CFLAGS($cf_pkg_cflags) - CF_ADD_LIBS($cf_pkg_libs) - - AC_TRY_LINK([#include <${cf_cv_ncurses_header:-curses.h}>], - [initscr(); mousemask(0,0); tigetstr((char *)0);], - [AC_TRY_RUN([#include <${cf_cv_ncurses_header:-curses.h}> - int main(void) - { char *xx = curses_version(); return (xx == 0); }], - [cf_test_ncuconfig=yes], - [cf_test_ncuconfig=no], - [cf_test_ncuconfig=maybe])], - [cf_test_ncuconfig=no]) - - CFLAGS="$cf_save_CFLAGS" - CPPFLAGS="$cf_save_CPPFLAGS" - LIBS="$cf_save_LIBS" - - if test "x$cf_test_ncuconfig" != xyes; then - cf_temp=`echo "x$cf_pkg_cflags" | sed -e s/^x// -e 's/-W[[^ ]]*//g'` - cf_pkg_cflags="$cf_temp" - cf_temp=`echo "x$cf_pkg_libs" | sed -e s/^x// -e 's/-W[[^ ]]*//g'` - cf_pkg_libs="$cf_temp" - fi - ;; - esac - - CF_ADD_CFLAGS($cf_pkg_cflags) - CF_ADD_LIBS($cf_pkg_libs) - - AC_TRY_LINK([#include <${cf_cv_ncurses_header:-curses.h}>], - [initscr(); mousemask(0,0); tigetstr((char *)0);], - [AC_TRY_RUN([#include <${cf_cv_ncurses_header:-curses.h}> - int main(void) - { char *xx = curses_version(); return (xx == 0); }], - [cf_have_ncuconfig=yes], - [cf_have_ncuconfig=no], - [cf_have_ncuconfig=maybe])], - [cf_have_ncuconfig=no]) - AC_MSG_RESULT($cf_have_ncuconfig) - test "$cf_have_ncuconfig" = maybe && cf_have_ncuconfig=yes - if test "$cf_have_ncuconfig" != "yes" - then - CPPFLAGS="$cf_save_CPPFLAGS" - LIBS="$cf_save_LIBS" - NCURSES_CONFIG_PKG=none - else - AC_DEFINE(NCURSES,1,[Define to 1 if we are using ncurses headers/libraries]) - NCURSES_CONFIG_PKG=$cf_ncuconfig_root - CF_TERM_HEADER - fi - - else - AC_MSG_RESULT(no) - NCURSES_CONFIG_PKG=none - fi -else - NCURSES_CONFIG_PKG=none -fi - -if test "x$cf_have_ncuconfig" = "xno"; then - cf_ncurses_config="${cf_ncuconfig_root}${NCURSES_CONFIG_SUFFIX}-config"; echo "Looking for ${cf_ncurses_config}" - - CF_ACVERSION_CHECK(2.52, - [AC_CHECK_TOOLS(NCURSES_CONFIG, ${cf_ncurses_config} ${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}5-config, none)], - [AC_PATH_PROGS(NCURSES_CONFIG, ${cf_ncurses_config} ${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}5-config, none)]) - - if test "$NCURSES_CONFIG" != none ; then - - CF_ADD_CFLAGS(`$NCURSES_CONFIG --cflags`) - CF_ADD_LIBS(`$NCURSES_CONFIG --libs`) - - # even with config script, some packages use no-override for curses.h - CF_CURSES_HEADER(ifelse($1,,ncurses,$1)) - - dnl like CF_NCURSES_CPPFLAGS - AC_DEFINE(NCURSES,1,[Define to 1 if we are using ncurses headers/libraries]) - - dnl like CF_NCURSES_LIBS - CF_UPPER(cf_nculib_ROOT,HAVE_LIB$cf_ncuconfig_root) - AC_DEFINE_UNQUOTED($cf_nculib_ROOT) - - dnl like CF_NCURSES_VERSION - cf_cv_ncurses_version="`$NCURSES_CONFIG --version`" - - else - - CF_NCURSES_CPPFLAGS(ifelse($1,,ncurses,$1)) - CF_NCURSES_LIBS(ifelse($1,,ncurses,$1)) - - fi -else - NCURSES_CONFIG=none -fi -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_NCURSES_CPPFLAGS version: 22 updated: 2021/01/02 09:31:20 -dnl ------------------- -dnl Look for the SVr4 curses clone 'ncurses' in the standard places, adjusting -dnl the CPPFLAGS variable so we can include its header. -dnl -dnl The header files may be installed as either curses.h, or ncurses.h (would -dnl be obsolete, except that some packagers prefer this name to distinguish it -dnl from a "native" curses implementation). If not installed for overwrite, -dnl the curses.h file would be in an ncurses subdirectory (e.g., -dnl /usr/include/ncurses), but someone may have installed overwriting the -dnl vendor's curses. Only very old versions (pre-1.9.2d, the first autoconf'd -dnl version) of ncurses don't define either __NCURSES_H or NCURSES_VERSION in -dnl the header. -dnl -dnl If the installer has set $CFLAGS or $CPPFLAGS so that the ncurses header -dnl is already in the include-path, don't even bother with this, since we cannot -dnl easily determine which file it is. In this case, it has to be <curses.h>. -dnl -dnl The optional parameter gives the root name of the library, in case it is -dnl not installed as the default curses library. That is how the -dnl wide-character version of ncurses is installed. -AC_DEFUN([CF_NCURSES_CPPFLAGS], -[AC_REQUIRE([CF_WITH_CURSES_DIR]) - -AC_PROVIDE([CF_CURSES_CPPFLAGS])dnl -cf_ncuhdr_root=ifelse($1,,ncurses,$1) - -test -n "$cf_cv_curses_dir" && \ -test "$cf_cv_curses_dir" != "no" && { \ - CF_ADD_INCDIR($cf_cv_curses_dir/include/$cf_ncuhdr_root) -} - -AC_CACHE_CHECK(for $cf_ncuhdr_root header in include-path, cf_cv_ncurses_h,[ - cf_header_list="$cf_ncuhdr_root/curses.h $cf_ncuhdr_root/ncurses.h" - { test "$cf_ncuhdr_root" = ncurses || test "$cf_ncuhdr_root" = ncursesw; } && cf_header_list="$cf_header_list curses.h ncurses.h" - for cf_header in $cf_header_list - do - CF_NCURSES_CC_CHECK(cf_cv_ncurses_h,$cf_header,$1) - test "$cf_cv_ncurses_h" != no && break - done -]) - -CF_NCURSES_HEADER -CF_TERM_HEADER - -# some applications need this, but should check for NCURSES_VERSION -AC_DEFINE(NCURSES,1,[Define to 1 if we are using ncurses headers/libraries]) - -CF_NCURSES_VERSION -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_NCURSES_HEADER version: 7 updated: 2021/01/04 19:33:05 -dnl ----------------- -dnl Find a "curses" header file, e.g,. "curses.h", or one of the more common -dnl variations of ncurses' installs. -dnl -dnl See also CF_CURSES_HEADER, which sets the same cache variable. -AC_DEFUN([CF_NCURSES_HEADER],[ - -if test "$cf_cv_ncurses_h" != no ; then - cf_cv_ncurses_header=$cf_cv_ncurses_h -else - -AC_CACHE_CHECK(for $cf_ncuhdr_root include-path, cf_cv_ncurses_h2,[ - test -n "$verbose" && echo - CF_HEADER_PATH(cf_search,$cf_ncuhdr_root) - test -n "$verbose" && echo "search path $cf_search" - cf_save2_CPPFLAGS="$CPPFLAGS" - for cf_incdir in $cf_search - do - CF_ADD_INCDIR($cf_incdir) - for cf_header in \ - ncurses.h \ - curses.h - do - CF_NCURSES_CC_CHECK(cf_cv_ncurses_h2,$cf_header,$1) - if test "$cf_cv_ncurses_h2" != no ; then - cf_cv_ncurses_h2=$cf_incdir/$cf_header - test -n "$verbose" && echo $ECHO_N " ... found $ECHO_C" 1>&AC_FD_MSG - break - fi - test -n "$verbose" && echo " ... tested $cf_incdir/$cf_header" 1>&AC_FD_MSG - done - CPPFLAGS="$cf_save2_CPPFLAGS" - test "$cf_cv_ncurses_h2" != no && break - done - test "$cf_cv_ncurses_h2" = no && AC_MSG_ERROR(not found) - ]) - - CF_DIRNAME(cf_1st_incdir,$cf_cv_ncurses_h2) - cf_cv_ncurses_header="`basename "$cf_cv_ncurses_h2"`" - if test "`basename "$cf_1st_incdir"`" = "$cf_ncuhdr_root" ; then - cf_cv_ncurses_header="$cf_ncuhdr_root/$cf_cv_ncurses_header" - fi - CF_ADD_INCDIR($cf_1st_incdir) - -fi - -# Set definitions to allow ifdef'ing for ncurses.h - -case "$cf_cv_ncurses_header" in -(*ncurses.h) - AC_DEFINE(HAVE_NCURSES_H,1,[Define to 1 if we have ncurses.h]) - ;; -esac - -case "$cf_cv_ncurses_header" in -(ncurses/curses.h|ncurses/ncurses.h) - AC_DEFINE(HAVE_NCURSES_NCURSES_H,1,[Define to 1 if we have ncurses/ncurses.h]) - ;; -(ncursesw/curses.h|ncursesw/ncurses.h) - AC_DEFINE(HAVE_NCURSESW_NCURSES_H,1,[Define to 1 if we have ncursesw/ncurses.h]) - ;; -esac - -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_NCURSES_LIBS version: 20 updated: 2021/01/03 08:05:37 -dnl --------------- -dnl Look for the ncurses library. This is a little complicated on Linux, -dnl because it may be linked with the gpm (general purpose mouse) library. -dnl Some distributions have gpm linked with (bsd) curses, which makes it -dnl unusable with ncurses. However, we don't want to link with gpm unless -dnl ncurses has a dependency, since gpm is normally set up as a shared library, -dnl and the linker will record a dependency. -dnl -dnl The optional parameter gives the root name of the library, in case it is -dnl not installed as the default curses library. That is how the -dnl wide-character version of ncurses is installed. -AC_DEFUN([CF_NCURSES_LIBS], -[AC_REQUIRE([CF_NCURSES_CPPFLAGS]) - -cf_nculib_root=ifelse($1,,ncurses,$1) - # This works, except for the special case where we find gpm, but - # ncurses is in a nonstandard location via $LIBS, and we really want - # to link gpm. -cf_ncurses_LIBS="" -cf_ncurses_SAVE="$LIBS" -AC_CHECK_LIB(gpm,Gpm_Open, - [AC_CHECK_LIB(gpm,initscr, - [LIBS="$cf_ncurses_SAVE"], - [cf_ncurses_LIBS="-lgpm"])]) - -case "$host_os" in -(freebsd*) - # This is only necessary if you are linking against an obsolete - # version of ncurses (but it should do no harm, since it's static). - if test "$cf_nculib_root" = ncurses ; then - AC_CHECK_LIB(mytinfo,tgoto,[cf_ncurses_LIBS="-lmytinfo $cf_ncurses_LIBS"]) - fi - ;; -esac - -CF_ADD_LIBS($cf_ncurses_LIBS) - -if test -n "$cf_cv_curses_dir" && test "$cf_cv_curses_dir" != "no" -then - CF_ADD_LIBS(-l$cf_nculib_root) -else - CF_FIND_LIBRARY($cf_nculib_root,$cf_nculib_root, - [#include <${cf_cv_ncurses_header:-curses.h}>], - [initscr()], - initscr) -fi - -if test -n "$cf_ncurses_LIBS" ; then - AC_MSG_CHECKING(if we can link $cf_nculib_root without $cf_ncurses_LIBS) - cf_ncurses_SAVE="$LIBS" - for p in $cf_ncurses_LIBS ; do - q=`echo "$LIBS" | sed -e "s%$p %%" -e "s%$p$%%"` - if test "$q" != "$LIBS" ; then - LIBS="$q" - fi - done - AC_TRY_LINK([#include <${cf_cv_ncurses_header:-curses.h}>], - [initscr(); mousemask(0,0); tigetstr((char *)0);], - [AC_MSG_RESULT(yes)], - [AC_MSG_RESULT(no) - LIBS="$cf_ncurses_SAVE"]) -fi - -CF_UPPER(cf_nculib_ROOT,HAVE_LIB$cf_nculib_root) -AC_DEFINE_UNQUOTED($cf_nculib_ROOT) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_NCURSES_PTHREADS version: 2 updated: 2016/04/22 05:07:41 -dnl ------------------- -dnl Use this followup check to ensure that we link with pthreads if ncurses -dnl uses it. -AC_DEFUN([CF_NCURSES_PTHREADS],[ -: ${cf_nculib_root:=ifelse($1,,ncurses,$1)} -AC_CHECK_LIB($cf_nculib_root,_nc_init_pthreads, - cf_cv_ncurses_pthreads=yes, - cf_cv_ncurses_pthreads=no) -if test "$cf_cv_ncurses_pthreads" = yes -then - CF_ADD_LIBS(-lpthread) -fi -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_NCURSES_VERSION version: 16 updated: 2020/12/31 20:19:42 -dnl ------------------ -dnl Check for the version of ncurses, to aid in reporting bugs, etc. -dnl Call CF_CURSES_CPPFLAGS first, or CF_NCURSES_CPPFLAGS. We don't use -dnl AC_REQUIRE since that does not work with the shell's if/then/else/fi. -AC_DEFUN([CF_NCURSES_VERSION], -[ -AC_REQUIRE([CF_CURSES_CPPFLAGS])dnl -AC_CACHE_CHECK(for ncurses version, cf_cv_ncurses_version,[ - cf_cv_ncurses_version=no - cf_tempfile=out$$ - rm -f "$cf_tempfile" - AC_TRY_RUN([ -#include <${cf_cv_ncurses_header:-curses.h}> -#include <stdio.h> -int main(void) -{ - FILE *fp = fopen("$cf_tempfile", "w"); -#ifdef NCURSES_VERSION -# ifdef NCURSES_VERSION_PATCH - fprintf(fp, "%s.%d\\n", NCURSES_VERSION, NCURSES_VERSION_PATCH); -# else - fprintf(fp, "%s\\n", NCURSES_VERSION); -# endif -#else -# ifdef __NCURSES_H - fprintf(fp, "old\\n"); -# else - make an error -# endif -#endif - ${cf_cv_main_return:-return}(0); -}],[ - cf_cv_ncurses_version=`cat $cf_tempfile`],,[ - - # This will not work if the preprocessor splits the line after the - # Autoconf token. The 'unproto' program does that. - cat > "conftest.$ac_ext" <<EOF -#include <${cf_cv_ncurses_header:-curses.h}> -#undef Autoconf -#ifdef NCURSES_VERSION -Autoconf NCURSES_VERSION -#else -#ifdef __NCURSES_H -Autoconf "old" -#endif -; -#endif -EOF - cf_try="$ac_cpp conftest.$ac_ext 2>&AC_FD_CC | grep '^Autoconf ' >conftest.out" - AC_TRY_EVAL(cf_try) - if test -f conftest.out ; then - cf_out=`sed -e 's%^Autoconf %%' -e 's%^[[^"]]*"%%' -e 's%".*%%' conftest.out` - test -n "$cf_out" && cf_cv_ncurses_version="$cf_out" - rm -f conftest.out - fi -]) - rm -f "$cf_tempfile" -]) -test "$cf_cv_ncurses_version" = no || AC_DEFINE(NCURSES,1,[Define to 1 if we are using ncurses headers/libraries]) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_NL_LANGINFO_1STDAY version: 3 updated: 2020/03/19 20:23:48 -dnl --------------------- -dnl glibc locale support has runtime extensions which might be implemented in -dnl other systems. -AC_DEFUN([CF_NL_LANGINFO_1STDAY],[ -AC_CACHE_CHECK(if runtime has nl_langinfo support for first weekday, - cf_nl_langinfo_1stday,[ - AC_TRY_COMPILE([ -#include <langinfo.h> -#include <locale.h> -],[ - int first_weekday = nl_langinfo (_NL_TIME_FIRST_WEEKDAY)[0]; - long week_1stday_l = (long) nl_langinfo (_NL_TIME_WEEK_1STDAY); - (void) first_weekday; - (void) week_1stday_l; -],[cf_nl_langinfo_1stday=yes -],[cf_nl_langinfo_1stday=no -]) -]) -test "x$cf_nl_langinfo_1stday" = xyes && AC_DEFINE(HAVE_NL_LANGINFO_1STDAY,1,[Define to 1 if runtime has nl_langinfo support for first weekday]) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_NO_LEAKS_OPTION version: 8 updated: 2021/01/05 20:05:09 -dnl ------------------ -dnl see CF_WITH_NO_LEAKS -AC_DEFUN([CF_NO_LEAKS_OPTION],[ -AC_MSG_CHECKING(if you want to use $1 for testing) -AC_ARG_WITH($1, - [$2], - [AC_DEFINE_UNQUOTED($3,1,"Define to 1 if you want to use $1 for testing.")ifelse([$4],,[ - $4 -]) - : "${with_cflags:=-g}" - : "${enable_leaks:=no}" - with_$1=yes], - [with_$1=]) -AC_MSG_RESULT(${with_$1:-no}) - -case ".$with_cflags" in -(.*-g*) - case .$CFLAGS in - (.*-g*) - ;; - (*) - CF_ADD_CFLAGS([-g]) - ;; - esac - ;; -esac -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_NUMBER_SYNTAX version: 2 updated: 2015/04/17 21:13:04 -dnl ---------------- -dnl Check if the given variable is a number. If not, report an error. -dnl $1 is the variable -dnl $2 is the message -AC_DEFUN([CF_NUMBER_SYNTAX],[ -if test -n "$1" ; then - case $1 in - ([[0-9]]*) - ;; - (*) - AC_MSG_ERROR($2 is not a number: $1) - ;; - esac -else - AC_MSG_ERROR($2 value is empty) -fi -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_OUR_MESSAGES version: 8 updated: 2021/01/02 09:31:20 -dnl --------------- -dnl Check if we use the messages included with this program -dnl -dnl $1 specifies either Makefile or makefile, defaulting to the former. -dnl -dnl Sets variables which can be used to substitute in makefiles: -dnl MSG_DIR_MAKE - to make ./po directory -dnl SUB_MAKEFILE - makefile in ./po directory (see CF_BUNDLED_INTL) -dnl -AC_DEFUN([CF_OUR_MESSAGES], -[ -cf_makefile=ifelse($1,,Makefile,$1) - -use_our_messages=no -if test "$USE_NLS" = yes ; then -if test -d "$srcdir/po" ; then -AC_MSG_CHECKING(if we should use included message-library) - AC_ARG_ENABLE(included-msgs, - [ --disable-included-msgs use included messages, for i18n support], - [use_our_messages=$enableval], - [use_our_messages=yes]) -fi -AC_MSG_RESULT($use_our_messages) -fi - -MSG_DIR_MAKE="#" -if test "$use_our_messages" = yes -then - SUB_MAKEFILE="$SUB_MAKEFILE po/$cf_makefile.in:$srcdir/po/$cf_makefile.inn" - MSG_DIR_MAKE= -fi - -AC_SUBST(MSG_DIR_MAKE) -AC_SUBST(SUB_MAKEFILE) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_PATHSEP version: 8 updated: 2021/01/01 13:31:04 -dnl ---------- -dnl Provide a value for the $PATH and similar separator (or amend the value -dnl as provided in autoconf 2.5x). -AC_DEFUN([CF_PATHSEP], -[ - AC_MSG_CHECKING(for PATH separator) - case "$cf_cv_system_name" in - (os2*) PATH_SEPARATOR=';' ;; - (*) ${PATH_SEPARATOR:=':'} ;; - esac -ifelse([$1],,,[$1=$PATH_SEPARATOR]) - AC_SUBST(PATH_SEPARATOR) - AC_MSG_RESULT($PATH_SEPARATOR) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_PATH_SYNTAX version: 18 updated: 2020/12/31 18:40:20 -dnl -------------- -dnl Check the argument to see that it looks like a pathname. Rewrite it if it -dnl begins with one of the prefix/exec_prefix variables, and then again if the -dnl result begins with 'NONE'. This is necessary to work around autoconf's -dnl delayed evaluation of those symbols. -AC_DEFUN([CF_PATH_SYNTAX],[ -if test "x$prefix" != xNONE; then - cf_path_syntax="$prefix" -else - cf_path_syntax="$ac_default_prefix" -fi - -case ".[$]$1" in -(.\[$]\(*\)*|.\'*\'*) - ;; -(..|./*|.\\*) - ;; -(.[[a-zA-Z]]:[[\\/]]*) # OS/2 EMX - ;; -(.\[$]\{*prefix\}*|.\[$]\{*dir\}*) - eval $1="[$]$1" - case ".[$]$1" in - (.NONE/*) - $1=`echo "[$]$1" | sed -e s%NONE%$cf_path_syntax%` - ;; - esac - ;; -(.no|.NONE/*) - $1=`echo "[$]$1" | sed -e s%NONE%$cf_path_syntax%` - ;; -(*) - ifelse([$2],,[AC_MSG_ERROR([expected a pathname, not \"[$]$1\"])],$2) - ;; -esac -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_PDCURSES_X11 version: 15 updated: 2021/01/02 09:31:20 -dnl --------------- -dnl Configure for PDCurses' X11 library -AC_DEFUN([CF_PDCURSES_X11],[ -AC_REQUIRE([CF_X_ATHENA]) - -CF_ACVERSION_CHECK(2.52, - [AC_CHECK_TOOLS(XCURSES_CONFIG, xcurses-config, none)], - [AC_PATH_PROGS(XCURSES_CONFIG, xcurses-config, none)]) - -if test "$XCURSES_CONFIG" != none ; then - -CF_ADD_CFLAGS(`$XCURSES_CONFIG --cflags`) -CF_ADD_LIBS(`$XCURSES_CONFIG --libs`) - -cf_cv_lib_XCurses=yes - -else - -LDFLAGS="$LDFLAGS $X_LIBS" -CF_CHECK_CFLAGS($X_CFLAGS) -AC_CHECK_LIB(X11,XOpenDisplay, - [CF_ADD_LIBS(-lX11)],, - [$X_PRE_LIBS $LIBS $X_EXTRA_LIBS]) -AC_CACHE_CHECK(for XCurses library,cf_cv_lib_XCurses,[ -CF_ADD_LIBS(-lXCurses) -AC_TRY_LINK([ -#include <xcurses.h> -char *XCursesProgramName = "test"; -],[XCursesExit();], -[cf_cv_lib_XCurses=yes], -[cf_cv_lib_XCurses=no]) -]) - -fi - -if test "$cf_cv_lib_XCurses" = yes ; then - AC_DEFINE(UNIX,1,[Define to 1 if using PDCurses on Unix]) - AC_DEFINE(XCURSES,1,[Define to 1 if using PDCurses on Unix]) - AC_CHECK_HEADER(xcurses.h, AC_DEFINE(HAVE_XCURSES,1,[Define to 1 if using PDCurses on Unix])) -else - AC_MSG_ERROR(Cannot link with XCurses) -fi -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_PKG_CONFIG version: 11 updated: 2021/01/01 13:31:04 -dnl ------------- -dnl Check for the package-config program, unless disabled by command-line. -AC_DEFUN([CF_PKG_CONFIG], -[ -AC_MSG_CHECKING(if you want to use pkg-config) -AC_ARG_WITH(pkg-config, - [ --with-pkg-config{=path} enable/disable use of pkg-config], - [cf_pkg_config=$withval], - [cf_pkg_config=yes]) -AC_MSG_RESULT($cf_pkg_config) - -case "$cf_pkg_config" in -(no) - PKG_CONFIG=none - ;; -(yes) - CF_ACVERSION_CHECK(2.52, - [AC_PATH_TOOL(PKG_CONFIG, pkg-config, none)], - [AC_PATH_PROG(PKG_CONFIG, pkg-config, none)]) - ;; -(*) - PKG_CONFIG=$withval - ;; -esac - -test -z "$PKG_CONFIG" && PKG_CONFIG=none -if test "$PKG_CONFIG" != none ; then - CF_PATH_SYNTAX(PKG_CONFIG) -elif test "x$cf_pkg_config" != xno ; then - AC_MSG_WARN(pkg-config is not installed) -fi - -AC_SUBST(PKG_CONFIG) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_POSIX_C_SOURCE version: 11 updated: 2018/12/31 20:46:17 -dnl ----------------- -dnl Define _POSIX_C_SOURCE to the given level, and _POSIX_SOURCE if needed. -dnl -dnl POSIX.1-1990 _POSIX_SOURCE -dnl POSIX.1-1990 and _POSIX_SOURCE and -dnl POSIX.2-1992 C-Language _POSIX_C_SOURCE=2 -dnl Bindings Option -dnl POSIX.1b-1993 _POSIX_C_SOURCE=199309L -dnl POSIX.1c-1996 _POSIX_C_SOURCE=199506L -dnl X/Open 2000 _POSIX_C_SOURCE=200112L -dnl -dnl Parameters: -dnl $1 is the nominal value for _POSIX_C_SOURCE -AC_DEFUN([CF_POSIX_C_SOURCE], -[AC_REQUIRE([CF_POSIX_VISIBLE])dnl - -if test "$cf_cv_posix_visible" = no; then - -cf_POSIX_C_SOURCE=ifelse([$1],,199506L,[$1]) - -cf_save_CFLAGS="$CFLAGS" -cf_save_CPPFLAGS="$CPPFLAGS" - -CF_REMOVE_DEFINE(cf_trim_CFLAGS,$cf_save_CFLAGS,_POSIX_C_SOURCE) -CF_REMOVE_DEFINE(cf_trim_CPPFLAGS,$cf_save_CPPFLAGS,_POSIX_C_SOURCE) - -AC_CACHE_CHECK(if we should define _POSIX_C_SOURCE,cf_cv_posix_c_source,[ - CF_MSG_LOG(if the symbol is already defined go no further) - AC_TRY_COMPILE([#include <sys/types.h>],[ -#ifndef _POSIX_C_SOURCE -make an error -#endif], - [cf_cv_posix_c_source=no], - [cf_want_posix_source=no - case .$cf_POSIX_C_SOURCE in - (.[[12]]??*) - cf_cv_posix_c_source="-D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE" - ;; - (.2) - cf_cv_posix_c_source="-D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE" - cf_want_posix_source=yes - ;; - (.*) - cf_want_posix_source=yes - ;; - esac - if test "$cf_want_posix_source" = yes ; then - AC_TRY_COMPILE([#include <sys/types.h>],[ -#ifdef _POSIX_SOURCE -make an error -#endif],[], - cf_cv_posix_c_source="$cf_cv_posix_c_source -D_POSIX_SOURCE") - fi - CF_MSG_LOG(ifdef from value $cf_POSIX_C_SOURCE) - CFLAGS="$cf_trim_CFLAGS" - CPPFLAGS="$cf_trim_CPPFLAGS" - CF_APPEND_TEXT(CPPFLAGS,$cf_cv_posix_c_source) - CF_MSG_LOG(if the second compile does not leave our definition intact error) - AC_TRY_COMPILE([#include <sys/types.h>],[ -#ifndef _POSIX_C_SOURCE -make an error -#endif],, - [cf_cv_posix_c_source=no]) - CFLAGS="$cf_save_CFLAGS" - CPPFLAGS="$cf_save_CPPFLAGS" - ]) -]) - -if test "$cf_cv_posix_c_source" != no ; then - CFLAGS="$cf_trim_CFLAGS" - CPPFLAGS="$cf_trim_CPPFLAGS" - CF_ADD_CFLAGS($cf_cv_posix_c_source) -fi - -fi # cf_cv_posix_visible - -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_POSIX_VISIBLE version: 1 updated: 2018/12/31 20:46:17 -dnl ---------------- -dnl POSIX documents test-macros which an application may set before any system -dnl headers are included to make features available. -dnl -dnl Some BSD platforms (originally FreeBSD, but copied by a few others) -dnl diverged from POSIX in 2002 by setting symbols which make all of the most -dnl recent features visible in the system header files unless the application -dnl overrides the corresponding test-macros. Doing that introduces portability -dnl problems. -dnl -dnl This macro makes a special check for the symbols used for this, to avoid a -dnl conflicting definition. -AC_DEFUN([CF_POSIX_VISIBLE], -[ -AC_CACHE_CHECK(if the POSIX test-macros are already defined,cf_cv_posix_visible,[ -AC_TRY_COMPILE([#include <stdio.h>],[ -#if defined(__POSIX_VISIBLE) && ((__POSIX_VISIBLE - 0L) > 0) \ - && defined(__XSI_VISIBLE) && ((__XSI_VISIBLE - 0L) > 0) \ - && defined(__BSD_VISIBLE) && ((__BSD_VISIBLE - 0L) > 0) \ - && defined(__ISO_C_VISIBLE) && ((__ISO_C_VISIBLE - 0L) > 0) -#error conflicting symbols found -#endif -],[cf_cv_posix_visible=no],[cf_cv_posix_visible=yes]) -]) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_PROG_AR version: 1 updated: 2009/01/01 20:15:22 -dnl ---------- -dnl Check for archiver "ar". -AC_DEFUN([CF_PROG_AR],[ -AC_CHECK_TOOL(AR, ar, ar) -]) -dnl --------------------------------------------------------------------------- -dnl CF_PROG_CC version: 5 updated: 2019/12/31 08:53:54 -dnl ---------- -dnl standard check for CC, plus followup sanity checks -dnl $1 = optional parameter to pass to AC_PROG_CC to specify compiler name -AC_DEFUN([CF_PROG_CC],[ -CF_ACVERSION_CHECK(2.53, - [AC_MSG_WARN(this will incorrectly handle gnatgcc choice) - AC_REQUIRE([AC_PROG_CC])], - []) -ifelse($1,,[AC_PROG_CC],[AC_PROG_CC($1)]) -CF_GCC_VERSION -CF_ACVERSION_CHECK(2.52, - [AC_PROG_CC_STDC], - [CF_ANSI_CC_REQD]) -CF_CC_ENV_FLAGS -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_PROG_EXT version: 15 updated: 2021/01/02 09:31:20 -dnl ----------- -dnl Compute $PROG_EXT, used for non-Unix ports, such as OS/2 EMX. -AC_DEFUN([CF_PROG_EXT], -[ -AC_REQUIRE([CF_CHECK_CACHE]) -case "$cf_cv_system_name" in -(os2*) - CFLAGS="$CFLAGS -Zmt" - CF_APPEND_TEXT(CPPFLAGS,-D__ST_MT_ERRNO__) - CXXFLAGS="$CXXFLAGS -Zmt" - # autoconf's macro sets -Zexe and suffix both, which conflict:w - LDFLAGS="$LDFLAGS -Zmt -Zcrtdll" - ac_cv_exeext=.exe - ;; -esac - -AC_EXEEXT -AC_OBJEXT - -PROG_EXT="$EXEEXT" -AC_SUBST(PROG_EXT) -test -n "$PROG_EXT" && AC_DEFINE_UNQUOTED(PROG_EXT,"$PROG_EXT",[Define to the program extension (normally blank)]) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_PROG_GROFF version: 3 updated: 2018/01/07 13:16:19 -dnl ------------- -dnl Check if groff is available, for cases (such as html output) where nroff -dnl is not enough. -AC_DEFUN([CF_PROG_GROFF],[ -AC_PATH_PROG(GROFF_PATH,groff,no) -AC_PATH_PROGS(NROFF_PATH,nroff mandoc,no) -AC_PATH_PROG(TBL_PATH,tbl,cat) -if test "x$GROFF_PATH" = xno -then - NROFF_NOTE= - GROFF_NOTE="#" -else - NROFF_NOTE="#" - GROFF_NOTE= -fi -AC_SUBST(GROFF_NOTE) -AC_SUBST(NROFF_NOTE) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_PROG_LINT version: 4 updated: 2019/11/20 18:55:37 -dnl ------------ -AC_DEFUN([CF_PROG_LINT], -[ -AC_CHECK_PROGS(LINT, lint cppcheck splint) -case "x$LINT" in -(xcppcheck|x*/cppcheck) - test -z "$LINT_OPTS" && LINT_OPTS="--enable=all" - ;; -esac -AC_SUBST(LINT_OPTS) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_PROG_LN_S version: 2 updated: 2010/08/14 18:25:37 -dnl ------------ -dnl Combine checks for "ln -s" and "ln -sf", updating $LN_S to include "-f" -dnl option if it is supported. -AC_DEFUN([CF_PROG_LN_S],[ -AC_PROG_LN_S -AC_MSG_CHECKING(if $LN_S -f options work) - -rm -f conf$$.src conf$$dst -echo >conf$$.dst -echo first >conf$$.src -if $LN_S -f conf$$.src conf$$.dst 2>/dev/null; then - cf_prog_ln_sf=yes -else - cf_prog_ln_sf=no -fi -rm -f conf$$.dst conf$$src -AC_MSG_RESULT($cf_prog_ln_sf) - -test "$cf_prog_ln_sf" = yes && LN_S="$LN_S -f" -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_REMOVE_DEFINE version: 3 updated: 2010/01/09 11:05:50 -dnl ---------------- -dnl Remove all -U and -D options that refer to the given symbol from a list -dnl of C compiler options. This works around the problem that not all -dnl compilers process -U and -D options from left-to-right, so a -U option -dnl cannot be used to cancel the effect of a preceding -D option. -dnl -dnl $1 = target (which could be the same as the source variable) -dnl $2 = source (including '$') -dnl $3 = symbol to remove -define([CF_REMOVE_DEFINE], -[ -$1=`echo "$2" | \ - sed -e 's/-[[UD]]'"$3"'\(=[[^ ]]*\)\?[[ ]]/ /g' \ - -e 's/-[[UD]]'"$3"'\(=[[^ ]]*\)\?[$]//g'` -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_RESTORE_XTRA_FLAGS version: 1 updated: 2020/01/11 16:47:45 -dnl --------------------- -dnl Restore flags saved in CF_SAVE_XTRA_FLAGS -dnl $1 = name of current macro -define([CF_RESTORE_XTRA_FLAGS], -[ -LIBS="$cf_save_LIBS_$1" -CFLAGS="$cf_save_CFLAGS_$1" -CPPFLAGS="$cf_save_CPPFLAGS_$1" -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_RPATH_HACK version: 13 updated: 2021/01/03 18:30:50 -dnl ------------- -AC_DEFUN([CF_RPATH_HACK], -[AC_REQUIRE([AC_PROG_FGREP])dnl -AC_REQUIRE([CF_LD_RPATH_OPT])dnl - -AC_MSG_CHECKING(for updated LDFLAGS) -if test -n "$LD_RPATH_OPT" ; then - AC_MSG_RESULT(maybe) - - AC_CHECK_PROGS(cf_ldd_prog,ldd,no) - cf_rpath_list="/usr/lib /lib" - if test "$cf_ldd_prog" != no - then - cf_rpath_oops= - -AC_TRY_LINK([#include <stdio.h>], - [printf("Hello");], - [cf_rpath_oops=`"$cf_ldd_prog" "conftest$ac_exeext" | ${FGREP-fgrep} ' not found' | sed -e 's% =>.*$%%' |sort | uniq` - cf_rpath_list=`"$cf_ldd_prog" "conftest$ac_exeext" | ${FGREP-fgrep} / | sed -e 's%^.*[[ ]]/%/%' -e 's%/[[^/]][[^/]]*$%%' |sort | uniq`]) - - # If we passed the link-test, but get a "not found" on a given library, - # this could be due to inept reconfiguration of gcc to make it only - # partly honor /usr/local/lib (or whatever). Sometimes this behavior - # is intentional, e.g., installing gcc in /usr/bin and suppressing the - # /usr/local libraries. - if test -n "$cf_rpath_oops" - then - for cf_rpath_src in $cf_rpath_oops - do - for cf_rpath_dir in \ - /usr/local \ - /usr/pkg \ - /opt/sfw - do - if test -f "$cf_rpath_dir/lib/$cf_rpath_src" - then - CF_VERBOSE(...adding -L$cf_rpath_dir/lib to LDFLAGS for $cf_rpath_src) - LDFLAGS="$LDFLAGS -L$cf_rpath_dir/lib" - break - fi - done - done - fi - fi - - CF_VERBOSE(...checking EXTRA_LDFLAGS $EXTRA_LDFLAGS) - - CF_RPATH_HACK_2(LDFLAGS) - CF_RPATH_HACK_2(LIBS) - - CF_VERBOSE(...checked EXTRA_LDFLAGS $EXTRA_LDFLAGS) -else - AC_MSG_RESULT(no) -fi -AC_SUBST(EXTRA_LDFLAGS) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_RPATH_HACK_2 version: 8 updated: 2021/01/01 13:31:04 -dnl --------------- -dnl Do one set of substitutions for CF_RPATH_HACK, adding an rpath option to -dnl EXTRA_LDFLAGS for each -L option found. -dnl -dnl $cf_rpath_list contains a list of directories to ignore. -dnl -dnl $1 = variable name to update. The LDFLAGS variable should be the only one, -dnl but LIBS often has misplaced -L options. -AC_DEFUN([CF_RPATH_HACK_2], -[ -CF_VERBOSE(...checking $1 [$]$1) - -cf_rpath_dst= -for cf_rpath_src in [$]$1 -do - case "$cf_rpath_src" in - (-L*) - - # check if this refers to a directory which we will ignore - cf_rpath_skip=no - if test -n "$cf_rpath_list" - then - for cf_rpath_item in $cf_rpath_list - do - if test "x$cf_rpath_src" = "x-L$cf_rpath_item" - then - cf_rpath_skip=yes - break - fi - done - fi - - if test "$cf_rpath_skip" = no - then - # transform the option - if test "$LD_RPATH_OPT" = "-R " ; then - cf_rpath_tmp=`echo "$cf_rpath_src" |sed -e "s%-L%-R %"` - else - cf_rpath_tmp=`echo "$cf_rpath_src" |sed -e "s%-L%$LD_RPATH_OPT%"` - fi - - # if we have not already added this, add it now - cf_rpath_tst=`echo "$EXTRA_LDFLAGS" | sed -e "s%$cf_rpath_tmp %%"` - if test "x$cf_rpath_tst" = "x$EXTRA_LDFLAGS" - then - CF_VERBOSE(...Filter $cf_rpath_src ->$cf_rpath_tmp) - EXTRA_LDFLAGS="$cf_rpath_tmp $EXTRA_LDFLAGS" - fi - fi - ;; - esac - cf_rpath_dst="$cf_rpath_dst $cf_rpath_src" -done -$1=$cf_rpath_dst - -CF_VERBOSE(...checked $1 [$]$1) -AC_SUBST(EXTRA_LDFLAGS) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_SAVE_XTRA_FLAGS version: 1 updated: 2020/01/11 16:46:44 -dnl ------------------ -dnl Use this macro to save CFLAGS/CPPFLAGS/LIBS before checks against X headers -dnl and libraries which do not update those variables. -dnl -dnl $1 = name of current macro -define([CF_SAVE_XTRA_FLAGS], -[ -cf_save_LIBS_$1="$LIBS" -cf_save_CFLAGS_$1="$CFLAGS" -cf_save_CPPFLAGS_$1="$CPPFLAGS" -LIBS="$LIBS ${X_PRE_LIBS} ${X_LIBS} ${X_EXTRA_LIBS}" -for cf_X_CFLAGS in $X_CFLAGS -do - case "x$cf_X_CFLAGS" in - x-[[IUD]]*) - CPPFLAGS="$CPPFLAGS $cf_X_CFLAGS" - ;; - *) - CFLAGS="$CFLAGS $cf_X_CFLAGS" - ;; - esac -done -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_SHARED_OPTS version: 105 updated: 2021/01/02 17:09:14 -dnl -------------- -dnl -------------- -dnl Attempt to determine the appropriate CC/LD options for creating a shared -dnl library. -dnl -dnl Notes: -dnl a) ${LOCAL_LDFLAGS} is used to link executables that will run within -dnl the build-tree, i.e., by making use of the libraries that are compiled in -dnl $rel_builddir/lib We avoid compiling-in a $rel_builddir/lib path for the -dnl shared library since that can lead to unexpected results at runtime. -dnl b) ${LOCAL_LDFLAGS2} has the same intention but assumes that the shared -dnl libraries are compiled in ../../lib -dnl -dnl The variable 'cf_cv_do_symlinks' is used to control whether we configure -dnl to install symbolic links to the rel/abi versions of shared libraries. -dnl -dnl The variable 'cf_cv_shlib_version' controls whether we use the rel or abi -dnl version when making symbolic links. -dnl -dnl The variable 'cf_cv_shlib_version_infix' controls whether shared library -dnl version numbers are infix (ex: libncurses.<ver>.dylib) or postfix -dnl (ex: libncurses.so.<ver>). -dnl -dnl Some loaders leave 'so_locations' lying around. It's nice to clean up. -AC_DEFUN([CF_SHARED_OPTS], -[ - AC_REQUIRE([CF_LD_RPATH_OPT]) - - RM_SHARED_OPTS= - LOCAL_LDFLAGS= - LOCAL_LDFLAGS2= - LD_SHARED_OPTS= - INSTALL_LIB="-m 644" - : ${rel_builddir:=.} - - shlibdir=$libdir - AC_SUBST(shlibdir) - - MAKE_DLLS="#" - AC_SUBST(MAKE_DLLS) - - cf_cv_do_symlinks=no - cf_ld_rpath_opt= - test "$cf_cv_enable_rpath" = yes && cf_ld_rpath_opt="$LD_RPATH_OPT" - - AC_MSG_CHECKING(if release/abi version should be used for shared libs) - AC_ARG_WITH(shlib-version, - [ --with-shlib-version=X Specify rel or abi version for shared libs], - [test -z "$withval" && withval=auto - case "$withval" in - (yes) - cf_cv_shlib_version=auto - ;; - (rel|abi|auto) - cf_cv_shlib_version=$withval - ;; - (*) - AC_MSG_RESULT($withval) - AC_MSG_ERROR([option value must be one of: rel, abi, or auto]) - ;; - esac - ],[cf_cv_shlib_version=auto]) - AC_MSG_RESULT($cf_cv_shlib_version) - - cf_cv_rm_so_locs=no - cf_try_cflags= - - # Some less-capable ports of gcc support only -fpic - CC_SHARED_OPTS= - - cf_try_fPIC=no - if test "$GCC" = yes - then - cf_try_fPIC=yes - else - case "$cf_cv_system_name" in - (*linux*) # e.g., PGI compiler - cf_try_fPIC=yes - ;; - esac - fi - - if test "$cf_try_fPIC" = yes - then - AC_MSG_CHECKING(which $CC option to use) - cf_save_CFLAGS="$CFLAGS" - for CC_SHARED_OPTS in -fPIC -fpic '' - do - CFLAGS="$cf_save_CFLAGS $CC_SHARED_OPTS" - AC_TRY_COMPILE([#include <stdio.h>],[int x = 1],[break],[]) - done - AC_MSG_RESULT($CC_SHARED_OPTS) - CFLAGS="$cf_save_CFLAGS" - fi - - cf_cv_shlib_version_infix=no - - case "$cf_cv_system_name" in - (aix4.[3-9]*|aix[[5-7]]*) - if test "$GCC" = yes; then - CC_SHARED_OPTS='-Wl,-brtl' - MK_SHARED_LIB='${CC} ${LDFLAGS} ${CFLAGS} -shared -Wl,-brtl -Wl,-blibpath:${RPATH_LIST}:/usr/lib -o [$]@' - else - CC_SHARED_OPTS='-brtl' - # as well as '-qpic=large -G' or perhaps "-bM:SRE -bnoentry -bexpall" - MK_SHARED_LIB='${CC} ${LDFLAGS} ${CFLAGS} -G -Wl,-brtl -Wl,-blibpath:${RPATH_LIST}:/usr/lib -o [$]@' - fi - ;; - (beos*) - MK_SHARED_LIB='${CC} ${LDFLAGS} ${CFLAGS} -o $[@] -Xlinker -soname=`basename $[@]` -nostart -e 0' - ;; - (cygwin*) - CC_SHARED_OPTS= - MK_SHARED_LIB=$SHELL' '$rel_builddir'/mk_shared_lib.sh [$]@ [$]{CC} [$]{CFLAGS}' - RM_SHARED_OPTS="$RM_SHARED_OPTS $rel_builddir/mk_shared_lib.sh *.dll.a" - cf_cv_shlib_version=cygdll - cf_cv_shlib_version_infix=cygdll - shlibdir=$bindir - MAKE_DLLS= - cat >mk_shared_lib.sh <<-CF_EOF - #!$SHELL - SHARED_LIB=\[$]1 - IMPORT_LIB=\`echo "\[$]1" | sed -e 's/cyg/lib/' -e 's/[[0-9]]*\.dll[$]/.dll.a/'\` - shift - cat <<-EOF - Linking shared library - ** SHARED_LIB \[$]SHARED_LIB - ** IMPORT_LIB \[$]IMPORT_LIB -EOF - exec \[$]* ${LDFLAGS} -shared -Wl,--out-implib=\[$]{IMPORT_LIB} -Wl,--export-all-symbols -o \[$]{SHARED_LIB} -CF_EOF - chmod +x mk_shared_lib.sh - ;; - (msys*) - CC_SHARED_OPTS= - MK_SHARED_LIB=$SHELL' '$rel_builddir'/mk_shared_lib.sh [$]@ [$]{CC} [$]{CFLAGS}' - RM_SHARED_OPTS="$RM_SHARED_OPTS $rel_builddir/mk_shared_lib.sh *.dll.a" - cf_cv_shlib_version=msysdll - cf_cv_shlib_version_infix=msysdll - shlibdir=$bindir - MAKE_DLLS= - cat >mk_shared_lib.sh <<-CF_EOF - #!$SHELL - SHARED_LIB=\[$]1 - IMPORT_LIB=\`echo "\[$]1" | sed -e 's/msys-/lib/' -e 's/[[0-9]]*\.dll[$]/.dll.a/'\` - shift - cat <<-EOF - Linking shared library - ** SHARED_LIB \[$]SHARED_LIB - ** IMPORT_LIB \[$]IMPORT_LIB -EOF - exec \[$]* ${LDFLAGS} -shared -Wl,--out-implib=\[$]{IMPORT_LIB} -Wl,--export-all-symbols -o \[$]{SHARED_LIB} -CF_EOF - chmod +x mk_shared_lib.sh - ;; - (darwin*) - cf_try_cflags="no-cpp-precomp" - CC_SHARED_OPTS="-dynamic" - MK_SHARED_LIB='${CC} ${LDFLAGS} ${CFLAGS} -dynamiclib -install_name ${libdir}/`basename $[@]` -compatibility_version ${ABI_VERSION} -current_version ${ABI_VERSION} -o $[@]' - test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=abi - cf_cv_shlib_version_infix=yes - AC_CACHE_CHECK([if ld -search_paths_first works], cf_cv_ldflags_search_paths_first, [ - cf_save_LDFLAGS=$LDFLAGS - LDFLAGS="$LDFLAGS -Wl,-search_paths_first" - AC_TRY_LINK(, [int i;], cf_cv_ldflags_search_paths_first=yes, cf_cv_ldflags_search_paths_first=no) - LDFLAGS=$cf_save_LDFLAGS]) - if test "$cf_cv_ldflags_search_paths_first" = yes; then - LDFLAGS="$LDFLAGS -Wl,-search_paths_first" - fi - ;; - (hpux[[7-8]]*) - # HP-UX 8.07 ld lacks "+b" option used for libdir search-list - if test "$GCC" != yes; then - CC_SHARED_OPTS='+Z' - fi - MK_SHARED_LIB='${LD} ${LDFLAGS} -b -o $[@]' - INSTALL_LIB="-m 555" - ;; - (hpux*) - # (tested with gcc 2.7.2 -- I don't have c89) - if test "$GCC" = yes; then - LD_SHARED_OPTS='-Xlinker +b -Xlinker ${libdir}' - else - CC_SHARED_OPTS='+Z' - LD_SHARED_OPTS='-Wl,+b,${libdir}' - fi - MK_SHARED_LIB='${LD} ${LDFLAGS} +b ${libdir} -b -o $[@]' - # HP-UX shared libraries must be executable, and should be - # readonly to exploit a quirk in the memory manager. - INSTALL_LIB="-m 555" - ;; - (interix*) - test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel - if test "$cf_cv_shlib_version" = rel; then - cf_shared_soname='`basename $[@] .${REL_VERSION}`.${ABI_VERSION}' - else - cf_shared_soname='`basename $[@]`' - fi - CC_SHARED_OPTS= - MK_SHARED_LIB='${CC} ${LDFLAGS} ${CFLAGS} -shared -Wl,-rpath,${RPATH_LIST} -Wl,-h,'$cf_shared_soname' -o $[@]' - ;; - (irix*) - if test "$cf_cv_enable_rpath" = yes ; then - EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS" - fi - # tested with IRIX 5.2 and 'cc'. - if test "$GCC" != yes; then - CC_SHARED_OPTS='-KPIC' - MK_SHARED_LIB='${CC} ${LDFLAGS} ${CFLAGS} -shared -rdata_shared -soname `basename $[@]` -o $[@]' - else - MK_SHARED_LIB='${CC} ${LDFLAGS} ${CFLAGS} -shared -Wl,-soname,`basename $[@]` -o $[@]' - fi - cf_cv_rm_so_locs=yes - ;; - (linux*|gnu*|k*bsd*-gnu) - if test "$DFT_LWR_MODEL" = "shared" && test -n "$LD_RPATH_OPT" ; then - LOCAL_LDFLAGS="${LD_RPATH_OPT}\$(LOCAL_LIBDIR)" - LOCAL_LDFLAGS2="$LOCAL_LDFLAGS" - fi - if test "$cf_cv_enable_rpath" = yes ; then - EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS" - fi - CF_SHARED_SONAME - MK_SHARED_LIB='${CC} ${LDFLAGS} ${CFLAGS} -shared -Wl,-soname,'$cf_cv_shared_soname',-stats,-lc -o $[@]' - ;; - (mingw*msvc*) - cf_cv_shlib_version=msvcdll - cf_cv_shlib_version_infix=msvcdll - shlibdir=$bindir - MAKE_DLLS= - if test "$DFT_LWR_MODEL" = "shared" ; then - LOCAL_LDFLAGS="-link -dll" - LOCAL_LDFLAGS2="$LOCAL_LDFLAGS" - EXTRA_LDFLAGS="-link -dll $EXTRA_LDFLAGS" - fi - CC_SHARED_OPTS= - MK_SHARED_LIB=$SHELL' '$rel_builddir'/mk_shared_lib.sh [$]@ ${LD} [$]{CFLAGS}' - RM_SHARED_OPTS="$RM_SHARED_OPTS $rel_builddir/mk_shared_lib.sh *.dll.lib" - cat >mk_shared_lib.sh <<-CF_EOF - #!$SHELL - SHARED_LIB=\[$]1 - IMPORT_LIB=\`echo "\[$]1" | sed -e 's/[[0-9]]*\.dll[$]/.dll.lib/'\` - shift - my_ld=\[$]1 - shift - cat <<-EOF - Linking shared library - ** SHARED LIB \$SHARED_LIB - ** IMPORT_LIB \$IMPORT_LIB -EOF - args=\$(echo \[$]* | sed -E "s#-l(\w*)#\1.dll.lib#g" | sed -E "s#-L(\w*)#-LIBPATH:\1#g") - exec \$my_ld -DLL -IMPLIB:"\${IMPORT_LIB}" -OUT:"\${SHARED_LIB}" ${LDFLAGS} \$args - mv "\${IMPORT_LIB}" "\${IMPORT_LIB}" -CF_EOF - chmod +x mk_shared_lib.sh - cat >mk_prog.sh <<-CF_EOF - #!$SHELL - shift - # Ignore first argument (compiler) and use LD (link.exe) unconditionally - LD="[$]LD" - clopts=() - ldopts=("/subsystem:console") - libs=() - isdll=0 - while test \[$]# -gt 0; do - case "\[$]1" in - -link) - # ignore -link argument - ;; - -M[[TD]] | -M[[TD]]d) - # ignore runtime-library option - ;; - -dll) - isdll=1 - ;; - -W* | -w*) - # ignore warnings - ;; - -D*) - clopts+=("\[$]1") - ;; - -I*) - clopts+=("\[$]1") - ;; - -l*) - libs+=("\`echo \"\[$]1\" | sed \"s/^-l//\"\`") - ;; - -L*) - ldopts+=("\`echo \"\[$]1\" | sed \"s/^-L/-LIBPATH:/\"\`") - ;; - *.obj | *.o) - ldopts+=("\[$]1") - ;; - -Wl,*) - for linkarg in \`echo '\[$]1' | sed -e 's/-Wl,//' -e 's/,/ /'\`; do - ldopts+=("\[$]{linkarg}") - done - ;; - *.lib) - ldopts+=("\[$]1") - ;; - -o) - shift - ldopts+=("-out:\[$]1") - ;; - *) - clopts+=("\[$]1") - ldopts+=("\[$]1") - ;; - esac - shift - done - if [[ "\$isdll" -ne 0 ]]; then - for lib in \[$]{libs[[*]]}; do - ldopts+=("\[$]lib.dll.lib") - done - else - for lib in \[$]{libs[[*]]}; do - ldopts+=("\[$]lib.lib") - done - fi - cat <<-EOF - Creating program - ** ld options: "\[$]{ldopts[[@]]}" -EOF - exec \[$]LD \[$]{ldopts[[@]]} -CF_EOF - chmod +x mk_prog.sh - LINK_PROGS="$SHELL ${rel_builddir}/mk_prog.sh" - LINK_TESTS="$SHELL ${rel_builddir}/mk_prog.sh" - ;; - (mingw*) - cf_cv_shlib_version=mingw - cf_cv_shlib_version_infix=mingw - shlibdir=$bindir - MAKE_DLLS= - if test "$DFT_LWR_MODEL" = "shared" ; then - LOCAL_LDFLAGS="-Wl,--enable-auto-import" - LOCAL_LDFLAGS2="$LOCAL_LDFLAGS" - EXTRA_LDFLAGS="-Wl,--enable-auto-import $EXTRA_LDFLAGS" - fi - CC_SHARED_OPTS= - MK_SHARED_LIB=$SHELL' '$rel_builddir'/mk_shared_lib.sh [$]@ [$]{CC} [$]{CFLAGS}' - RM_SHARED_OPTS="$RM_SHARED_OPTS $rel_builddir/mk_shared_lib.sh *.dll.a" - cat >mk_shared_lib.sh <<-CF_EOF - #!$SHELL - SHARED_LIB=\[$]1 - IMPORT_LIB=\`echo "\[$]1" | sed -e 's/[[0-9]]*\.dll[$]/.dll.a/'\` - shift - cat <<-EOF - Linking shared library - ** SHARED_LIB \[$]SHARED_LIB - ** IMPORT_LIB \[$]IMPORT_LIB -EOF - exec \[$]* ${LDFLAGS} -shared -Wl,--enable-auto-import,--out-implib=\[$]{IMPORT_LIB} -Wl,--export-all-symbols -o \[$]{SHARED_LIB} -CF_EOF - chmod +x mk_shared_lib.sh - ;; - (openbsd[[2-9]].*|mirbsd*) - if test "$DFT_LWR_MODEL" = "shared" && test -n "$LD_RPATH_OPT" ; then - LOCAL_LDFLAGS="${LD_RPATH_OPT}\$(LOCAL_LIBDIR)" - LOCAL_LDFLAGS2="$LOCAL_LDFLAGS" - fi - if test "$cf_cv_enable_rpath" = yes ; then - EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS" - fi - CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC" - CF_SHARED_SONAME - MK_SHARED_LIB='${CC} ${LDFLAGS} ${CFLAGS} -shared -Wl,-Bshareable,-soname,'$cf_cv_shared_soname',-stats,-lc -o $[@]' - ;; - (nskJ*) - CC_SHARED_OPTS= - MK_SHARED_LIB='${LD} -Wshared -Weld=-export_all -o $[@]' - ;; - (nskL*) - CC_SHARED_OPTS= - MK_SHARED_LIB='${LD} -Wshared -Wxld=-export_all -o $[@]' - ;; - (nto-qnx*|openbsd*|freebsd[[12]].*) - CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC" - MK_SHARED_LIB='${LD} ${LDFLAGS} -Bshareable -o $[@]' - test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel - ;; - (dragonfly*|freebsd*) - CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC" - if test "$DFT_LWR_MODEL" = "shared" && test "$cf_cv_enable_rpath" = yes ; then - LOCAL_LDFLAGS="${cf_ld_rpath_opt}\$(LOCAL_LIBDIR)" - LOCAL_LDFLAGS2="${cf_ld_rpath_opt}\${RPATH_LIST} $LOCAL_LDFLAGS" - EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS" - fi - CF_SHARED_SONAME - MK_SHARED_LIB='${CC} ${LDFLAGS} ${CFLAGS} -shared -Wl,-soname,'$cf_cv_shared_soname',-stats,-lc -o $[@]' - ;; - (netbsd*) - CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC" - if test "$DFT_LWR_MODEL" = "shared" && test "$cf_cv_enable_rpath" = yes ; then - LOCAL_LDFLAGS="${cf_ld_rpath_opt}\$(LOCAL_LIBDIR)" - LOCAL_LDFLAGS2="$LOCAL_LDFLAGS" - EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS" - if test "$cf_cv_shlib_version" = auto; then - if test -f /usr/libexec/ld.elf_so; then - cf_cv_shlib_version=abi - else - cf_cv_shlib_version=rel - fi - fi - CF_SHARED_SONAME - MK_SHARED_LIB='${CC} ${LDFLAGS} ${CFLAGS} -shared -Wl,-soname,'$cf_cv_shared_soname' -o $[@]' - else - MK_SHARED_LIB='${CC} ${LDFLAGS} ${CFLAGS} -shared -o $[@]' - fi - ;; - (osf*|mls+*) - # tested with OSF/1 V3.2 and 'cc' - # tested with OSF/1 V3.2 and gcc 2.6.3 (but the c++ demo didn't - # link with shared libs). - MK_SHARED_LIB='${LD} ${LDFLAGS} -set_version ${REL_VERSION}:${ABI_VERSION} -expect_unresolved "*" -shared -soname `basename $[@]`' - case "$host_os" in - (osf4*) - MK_SHARED_LIB="${MK_SHARED_LIB} -msym" - ;; - esac - MK_SHARED_LIB="${MK_SHARED_LIB}"' -o $[@]' - if test "$DFT_LWR_MODEL" = "shared" && test -n "$LD_RPATH_OPT" ; then - LOCAL_LDFLAGS="${LD_RPATH_OPT}\$(LOCAL_LIBDIR)" - LOCAL_LDFLAGS2="$LOCAL_LDFLAGS" - fi - cf_cv_rm_so_locs=yes - ;; - (sco3.2v5*) # also uw2* and UW7: hops 13-Apr-98 - # tested with osr5.0.5 - if test "$GCC" != yes; then - CC_SHARED_OPTS='-belf -KPIC' - fi - MK_SHARED_LIB='${LD} ${LDFLAGS} -dy -G -h `basename $[@] .${REL_VERSION}`.${ABI_VERSION} -o [$]@' - if test "$cf_cv_enable_rpath" = yes ; then - # only way is to set LD_RUN_PATH but no switch for it - RUN_PATH=$libdir - fi - test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel - LINK_PROGS='LD_RUN_PATH=${libdir}' - LINK_TESTS='Pwd=`pwd`;LD_RUN_PATH=`dirname $${Pwd}`/lib' - ;; - (sunos4*) - # tested with SunOS 4.1.1 and gcc 2.7.0 - if test "$GCC" != yes; then - CC_SHARED_OPTS='-KPIC' - fi - MK_SHARED_LIB='${LD} ${LDFLAGS} -assert pure-text -o $[@]' - test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel - ;; - (solaris2*) - # tested with SunOS 5.5.1 (solaris 2.5.1) and gcc 2.7.2 - # tested with SunOS 5.10 (solaris 10) and gcc 3.4.3 - if test "$DFT_LWR_MODEL" = "shared" ; then - LOCAL_LDFLAGS="-R \$(LOCAL_LIBDIR):\${libdir}" - LOCAL_LDFLAGS2="$LOCAL_LDFLAGS" - fi - if test "$cf_cv_enable_rpath" = yes ; then - EXTRA_LDFLAGS="-R \${libdir} $EXTRA_LDFLAGS" - fi - CF_SHARED_SONAME - if test "$GCC" != yes; then - cf_save_CFLAGS="$CFLAGS" - for cf_shared_opts in -xcode=pic32 -xcode=pic13 -KPIC -Kpic -O - do - CFLAGS="$cf_shared_opts $cf_save_CFLAGS" - AC_TRY_COMPILE([#include <stdio.h>],[printf("Hello\\n");],[break]) - done - CFLAGS="$cf_save_CFLAGS" - CC_SHARED_OPTS=$cf_shared_opts - MK_SHARED_LIB='${CC} ${LDFLAGS} ${CFLAGS} -dy -G -h '$cf_cv_shared_soname' -o $[@]' - else - MK_SHARED_LIB='${CC} ${LDFLAGS} ${CFLAGS} -shared -dy -G -h '$cf_cv_shared_soname' -o $[@]' - fi - ;; - (sysv5uw7*|unix_sv*) - # tested with UnixWare 7.1.0 (gcc 2.95.2 and cc) - if test "$GCC" != yes; then - CC_SHARED_OPTS='-KPIC' - fi - MK_SHARED_LIB='${LD} ${LDFLAGS} -d y -G -o [$]@' - ;; - (*) - CC_SHARED_OPTS='unknown' - MK_SHARED_LIB='echo unknown' - ;; - esac - - # This works if the last tokens in $MK_SHARED_LIB are the -o target. - case "$cf_cv_shlib_version" in - (rel|abi) - case "$MK_SHARED_LIB" in - (*'-o $[@]') - test "$cf_cv_do_symlinks" = no && cf_cv_do_symlinks=yes - ;; - (*) - AC_MSG_WARN(ignored --with-shlib-version) - ;; - esac - ;; - esac - - if test -n "$cf_try_cflags" - then -cat > conftest.$ac_ext <<EOF -#line __oline__ "${as_me:-configure}" -#include <stdio.h> -int main(int argc, char *argv[[]]) -{ - printf("hello\\n"); - return (argv[[argc-1]] == 0) ; -} -EOF - cf_save_CFLAGS="$CFLAGS" - for cf_opt in $cf_try_cflags - do - CFLAGS="$cf_save_CFLAGS -$cf_opt" - AC_MSG_CHECKING(if CFLAGS option -$cf_opt works) - if AC_TRY_EVAL(ac_compile); then - AC_MSG_RESULT(yes) - cf_save_CFLAGS="$CFLAGS" - else - AC_MSG_RESULT(no) - fi - done - CFLAGS="$cf_save_CFLAGS" - fi - - - # RPATH_LIST is a colon-separated list of directories - test -n "$cf_ld_rpath_opt" && MK_SHARED_LIB="$MK_SHARED_LIB $cf_ld_rpath_opt\${RPATH_LIST}" - test -z "$RPATH_LIST" && RPATH_LIST="\${libdir}" - - test "$cf_cv_rm_so_locs" = yes && RM_SHARED_OPTS="$RM_SHARED_OPTS so_locations" - - CF_VERBOSE(CC_SHARED_OPTS: $CC_SHARED_OPTS) - CF_VERBOSE(MK_SHARED_LIB: $MK_SHARED_LIB) - - AC_SUBST(CC_SHARED_OPTS) - AC_SUBST(LD_RPATH_OPT) - AC_SUBST(LD_SHARED_OPTS) - AC_SUBST(MK_SHARED_LIB) - AC_SUBST(RM_SHARED_OPTS) - - AC_SUBST(LINK_PROGS) - AC_SUBST(LINK_TESTS) - - AC_SUBST(EXTRA_LDFLAGS) - AC_SUBST(LOCAL_LDFLAGS) - AC_SUBST(LOCAL_LDFLAGS2) - - AC_SUBST(INSTALL_LIB) - AC_SUBST(RPATH_LIST) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_SHARED_SONAME version: 3 updated: 2008/09/08 18:34:43 -dnl ---------------- -dnl utility macro for CF_SHARED_OPTS, constructs "$cf_cv_shared_soname" for -dnl substitution into MK_SHARED_LIB string for the "-soname" (or similar) -dnl option. -dnl -dnl $1 is the default that should be used for "$cf_cv_shlib_version". -dnl If missing, use "rel". -define([CF_SHARED_SONAME], -[ - test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=ifelse($1,,rel,$1) - if test "$cf_cv_shlib_version" = rel; then - cf_cv_shared_soname='`basename $[@] .${REL_VERSION}`.${ABI_VERSION}' - else - cf_cv_shared_soname='`basename $[@]`' - fi -]) -dnl --------------------------------------------------------------------------- -dnl CF_SIZECHANGE version: 17 updated: 2021/01/01 13:31:04 -dnl ------------- -dnl Check for definitions & structures needed for window size-changing -dnl -dnl https://stackoverflow.com/questions/18878141/difference-between-structures-ttysize-and-winsize/50769952#50769952 -AC_DEFUN([CF_SIZECHANGE], -[ -AC_REQUIRE([CF_STRUCT_TERMIOS]) -AC_CACHE_CHECK(declaration of size-change, cf_cv_sizechange,[ - cf_cv_sizechange=unknown - cf_save_CPPFLAGS="$CPPFLAGS" - -for cf_opts in "" "NEED_PTEM_H" -do - - CPPFLAGS="$cf_save_CPPFLAGS" - if test -n "$cf_opts" - then - CF_APPEND_TEXT(CPPFLAGS,-D$cf_opts) - fi - AC_TRY_COMPILE([#include <sys/types.h> -#ifdef HAVE_TERMIOS_H -#include <termios.h> -#else -#ifdef HAVE_TERMIO_H -#include <termio.h> -#endif -#endif - -#ifdef NEED_PTEM_H -/* This is a workaround for SCO: they neglected to define struct winsize in - * termios.h -- it's only in termio.h and ptem.h - */ -#include <sys/stream.h> -#include <sys/ptem.h> -#endif - -#ifdef HAVE_SYS_IOCTL_H -#include <sys/ioctl.h> -#endif -],[ -#ifdef TIOCGSIZE - struct ttysize win; /* SunOS 3.0... */ - int y = win.ts_lines = 2; - int x = win.ts_cols = 1; - (void)y; - (void)x; -#else -#ifdef TIOCGWINSZ - struct winsize win; /* everything else */ - int y = win.ws_row = 2; - int x = win.ws_col = 1; - (void)y; - (void)x; -#else - no TIOCGSIZE or TIOCGWINSZ -#endif /* TIOCGWINSZ */ -#endif /* TIOCGSIZE */ - ], - [cf_cv_sizechange=yes], - [cf_cv_sizechange=no]) - - CPPFLAGS="$cf_save_CPPFLAGS" - if test "$cf_cv_sizechange" = yes ; then - echo "size-change succeeded ($cf_opts)" >&AC_FD_CC - test -n "$cf_opts" && cf_cv_sizechange="$cf_opts" - break - fi -done -]) -if test "$cf_cv_sizechange" != no ; then - AC_DEFINE(HAVE_SIZECHANGE,1,[Define to 1 if sizechange declarations are provided]) - case "$cf_cv_sizechange" in - (NEED*) - AC_DEFINE_UNQUOTED($cf_cv_sizechange ) - ;; - esac -fi -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_STRUCT_TERMIOS version: 11 updated: 2020/03/19 20:46:13 -dnl ----------------- -dnl Some machines require _POSIX_SOURCE to completely define struct termios. -AC_DEFUN([CF_STRUCT_TERMIOS],[ -AC_REQUIRE([CF_XOPEN_SOURCE]) - -AC_CHECK_HEADERS( \ -termio.h \ -termios.h \ -unistd.h \ -sys/ioctl.h \ -sys/termio.h \ -) - -if test "$ac_cv_header_termios_h" = yes ; then - case "$CFLAGS $CPPFLAGS" in - (*-D_POSIX_SOURCE*) - termios_bad=dunno ;; - (*) termios_bad=maybe ;; - esac - if test "$termios_bad" = maybe ; then - AC_MSG_CHECKING(whether termios.h needs _POSIX_SOURCE) - AC_TRY_COMPILE([#include <termios.h>], - [struct termios foo; int x = foo.c_iflag = 1; (void)x], - termios_bad=no, [ - AC_TRY_COMPILE([ -#define _POSIX_SOURCE -#include <termios.h>], - [struct termios foo; int x = foo.c_iflag = 2; (void)x], - termios_bad=unknown, - termios_bad=yes AC_DEFINE(_POSIX_SOURCE,1,[Define to 1 if we must define _POSIX_SOURCE])) - ]) - AC_MSG_RESULT($termios_bad) - fi -fi -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_SUBDIR_PATH version: 7 updated: 2014/12/04 04:33:06 -dnl -------------- -dnl Construct a search-list for a nonstandard header/lib-file -dnl $1 = the variable to return as result -dnl $2 = the package name -dnl $3 = the subdirectory, e.g., bin, include or lib -AC_DEFUN([CF_SUBDIR_PATH], -[ -$1= - -CF_ADD_SUBDIR_PATH($1,$2,$3,$prefix,NONE) - -for cf_subdir_prefix in \ - /usr \ - /usr/local \ - /usr/pkg \ - /opt \ - /opt/local \ - [$]HOME -do - CF_ADD_SUBDIR_PATH($1,$2,$3,$cf_subdir_prefix,$prefix) -done -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_TERM_HEADER version: 6 updated: 2021/01/02 09:31:20 -dnl -------------- -dnl Look for term.h, which is part of X/Open curses. It defines the interface -dnl to terminfo database. Usually it is in the same include-path as curses.h, -dnl but some packagers change this, breaking various applications. -AC_DEFUN([CF_TERM_HEADER],[ -AC_CACHE_CHECK(for terminfo header, cf_cv_term_header,[ -case "${cf_cv_ncurses_header}" in -(*/ncurses.h|*/ncursesw.h) - cf_term_header=`echo "$cf_cv_ncurses_header" | sed -e 's%ncurses[[^.]]*\.h$%term.h%'` - ;; -(*) - cf_term_header=term.h - ;; -esac - -for cf_test in $cf_term_header "ncurses/term.h" "ncursesw/term.h" -do -AC_TRY_COMPILE([#include <stdio.h> -#include <${cf_cv_ncurses_header:-curses.h}> -#include <$cf_test> -],[int x = auto_left_margin; (void)x],[ - cf_cv_term_header="$cf_test"],[ - cf_cv_term_header=unknown - ]) - test "$cf_cv_term_header" != unknown && break -done -]) - -# Set definitions to allow ifdef'ing to accommodate subdirectories - -case "$cf_cv_term_header" in -(*term.h) - AC_DEFINE(HAVE_TERM_H,1,[Define to 1 if we have term.h]) - ;; -esac - -case "$cf_cv_term_header" in -(ncurses/term.h) - AC_DEFINE(HAVE_NCURSES_TERM_H,1,[Define to 1 if we have ncurses/term.h]) - ;; -(ncursesw/term.h) - AC_DEFINE(HAVE_NCURSESW_TERM_H,1,[Define to 1 if we have ncursesw/term.h]) - ;; -esac -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_TRIM_X_LIBS version: 3 updated: 2015/04/12 15:39:00 -dnl -------------- -dnl Trim extra base X libraries added as a workaround for inconsistent library -dnl dependencies returned by "new" pkg-config files. -AC_DEFUN([CF_TRIM_X_LIBS],[ - for cf_trim_lib in Xmu Xt X11 - do - case "$LIBS" in - (*-l$cf_trim_lib\ *-l$cf_trim_lib*) - LIBS=`echo "$LIBS " | sed -e 's/ / /g' -e 's%-l'"$cf_trim_lib"' %%' -e 's/ $//'` - CF_VERBOSE(..trimmed $LIBS) - ;; - esac - done -]) -dnl --------------------------------------------------------------------------- -dnl CF_TRY_PKG_CONFIG version: 6 updated: 2020/12/31 10:54:15 -dnl ----------------- -dnl This is a simple wrapper to use for pkg-config, for libraries which may be -dnl available in that form. -dnl -dnl $1 = package name, which may be a shell variable -dnl $2 = extra logic to use, if any, after updating CFLAGS and LIBS -dnl $3 = logic to use if pkg-config does not have the package -AC_DEFUN([CF_TRY_PKG_CONFIG],[ -AC_REQUIRE([CF_PKG_CONFIG]) - -if test "$PKG_CONFIG" != none && "$PKG_CONFIG" --exists "$1"; then - CF_VERBOSE(found package $1) - cf_pkgconfig_incs="`$PKG_CONFIG --cflags "$1" 2>/dev/null`" - cf_pkgconfig_libs="`$PKG_CONFIG --libs "$1" 2>/dev/null`" - CF_VERBOSE(package $1 CFLAGS: $cf_pkgconfig_incs) - CF_VERBOSE(package $1 LIBS: $cf_pkgconfig_libs) - CF_ADD_CFLAGS($cf_pkgconfig_incs) - CF_ADD_LIBS($cf_pkgconfig_libs) - ifelse([$2],,:,[$2]) -else - cf_pkgconfig_incs= - cf_pkgconfig_libs= - ifelse([$3],,:,[$3]) -fi -]) -dnl --------------------------------------------------------------------------- -dnl CF_TRY_XOPEN_SOURCE version: 2 updated: 2018/06/20 20:23:13 -dnl ------------------- -dnl If _XOPEN_SOURCE is not defined in the compile environment, check if we -dnl can define it successfully. -AC_DEFUN([CF_TRY_XOPEN_SOURCE],[ -AC_CACHE_CHECK(if we should define _XOPEN_SOURCE,cf_cv_xopen_source,[ - AC_TRY_COMPILE([ -#include <stdlib.h> -#include <string.h> -#include <sys/types.h> -],[ -#ifndef _XOPEN_SOURCE -make an error -#endif], - [cf_cv_xopen_source=no], - [cf_save="$CPPFLAGS" - CF_APPEND_TEXT(CPPFLAGS,-D_XOPEN_SOURCE=$cf_XOPEN_SOURCE) - AC_TRY_COMPILE([ -#include <stdlib.h> -#include <string.h> -#include <sys/types.h> -],[ -#ifdef _XOPEN_SOURCE -make an error -#endif], - [cf_cv_xopen_source=no], - [cf_cv_xopen_source=$cf_XOPEN_SOURCE]) - CPPFLAGS="$cf_save" - ]) -]) - -if test "$cf_cv_xopen_source" != no ; then - CF_REMOVE_DEFINE(CFLAGS,$CFLAGS,_XOPEN_SOURCE) - CF_REMOVE_DEFINE(CPPFLAGS,$CPPFLAGS,_XOPEN_SOURCE) - cf_temp_xopen_source="-D_XOPEN_SOURCE=$cf_cv_xopen_source" - CF_ADD_CFLAGS($cf_temp_xopen_source) -fi -]) -dnl --------------------------------------------------------------------------- -dnl CF_UNION_WAIT version: 8 updated: 2021/01/02 09:31:20 -dnl ------------- -dnl Check to see if the BSD-style union wait is declared. Some platforms may -dnl use this, though it is deprecated in favor of the 'int' type in Posix. -dnl Some vendors provide a bogus implementation that declares union wait, but -dnl uses the 'int' type instead; we try to spot these by checking for the -dnl associated macros. -dnl -dnl Ahem. Some implementers cast the status value to an int*, as an attempt to -dnl use the macros for either union wait or int. So we do a check compile to -dnl see if the macros are defined and apply to an int. -dnl -dnl Sets: $cf_cv_type_unionwait -dnl Defines: HAVE_TYPE_UNIONWAIT -AC_DEFUN([CF_UNION_WAIT], -[ -AC_REQUIRE([CF_WAIT_HEADERS]) -AC_MSG_CHECKING([for union wait]) -AC_CACHE_VAL(cf_cv_type_unionwait,[ - AC_TRY_LINK($cf_wait_headers, - [int x; - int y = WEXITSTATUS(x); - int z = WTERMSIG(x); - wait(&x); - (void)x; - (void)y; - (void)z; - ], - [cf_cv_type_unionwait=no - echo compiles ok w/o union wait 1>&AC_FD_CC - ],[ - AC_TRY_LINK($cf_wait_headers, - [union wait x; -#ifdef WEXITSTATUS - int y = WEXITSTATUS(x); -#endif -#ifdef WTERMSIG - int z = WTERMSIG(x); -#endif - wait(&x); - (void)x; -#ifdef WEXITSTATUS - (void)y; -#endif -#ifdef WTERMSIG - (void)z; -#endif - ], - [cf_cv_type_unionwait=yes - echo compiles ok with union wait and possibly macros too 1>&AC_FD_CC - ], - [cf_cv_type_unionwait=no])])]) -AC_MSG_RESULT($cf_cv_type_unionwait) -test "$cf_cv_type_unionwait" = yes && AC_DEFINE(HAVE_TYPE_UNIONWAIT,1,[Define to 1 if type unionwait is declared]) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_UPPER version: 5 updated: 2001/01/29 23:40:59 -dnl -------- -dnl Make an uppercase version of a variable -dnl $1=uppercase($2) -AC_DEFUN([CF_UPPER], -[ -$1=`echo "$2" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_UTF8_LIB version: 8 updated: 2012/10/06 08:57:51 -dnl ----------- -dnl Check for multibyte support, and if not found, utf8 compatibility library -AC_DEFUN([CF_UTF8_LIB], -[ -AC_CACHE_CHECK(for multibyte character support,cf_cv_utf8_lib,[ - cf_save_LIBS="$LIBS" - AC_TRY_LINK([ -#include <stdlib.h>],[putwc(0,0);], - [cf_cv_utf8_lib=yes], - [CF_FIND_LINKAGE([ -#include <libutf8.h>],[putwc(0,0);],utf8, - [cf_cv_utf8_lib=add-on], - [cf_cv_utf8_lib=no]) -])]) - -# HAVE_LIBUTF8_H is used by ncurses if curses.h is shared between -# ncurses/ncursesw: -if test "$cf_cv_utf8_lib" = "add-on" ; then - AC_DEFINE(HAVE_LIBUTF8_H,1,[Define to 1 if we should include libutf8.h]) - CF_ADD_INCDIR($cf_cv_header_path_utf8) - CF_ADD_LIBDIR($cf_cv_library_path_utf8) - CF_ADD_LIBS($cf_cv_library_file_utf8) -fi -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_VERBOSE version: 3 updated: 2007/07/29 09:55:12 -dnl ---------- -dnl Use AC_VERBOSE w/o the warnings -AC_DEFUN([CF_VERBOSE], -[test -n "$verbose" && echo " $1" 1>&AC_FD_MSG -CF_MSG_LOG([$1]) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_VERSION_INFO version: 8 updated: 2021/01/01 13:31:04 -dnl --------------- -dnl Define several useful symbols derived from the VERSION file. A separate -dnl file is preferred to embedding the version numbers in various scripts. -dnl (automake is a textbook-example of why the latter is a bad idea, but there -dnl are others). -dnl -dnl The file contents are: -dnl libtool-version release-version patch-version -dnl or -dnl release-version -dnl where -dnl libtool-version (see ?) consists of 3 integers separated by '.' -dnl release-version consists of a major version and minor version -dnl separated by '.', optionally followed by a patch-version -dnl separated by '-'. The minor version need not be an -dnl integer (but it is preferred). -dnl patch-version is an integer in the form yyyymmdd, so ifdef's and -dnl scripts can easily compare versions. -dnl -dnl If libtool is used, the first form is required, since CF_WITH_LIBTOOL -dnl simply extracts the first field using 'cut -f1'. -dnl -dnl Optional parameters: -dnl $1 = internal name for package -dnl $2 = external name for package -AC_DEFUN([CF_VERSION_INFO], -[ -if test -f "$srcdir/VERSION" ; then - AC_MSG_CHECKING(for package version) - - # if there are not enough fields, cut returns the last one... - cf_field1=`sed -e '2,$d' "$srcdir/VERSION" |cut -f1` - cf_field2=`sed -e '2,$d' "$srcdir/VERSION" |cut -f2` - cf_field3=`sed -e '2,$d' "$srcdir/VERSION" |cut -f3` - - # this is how CF_BUNDLED_INTL uses $VERSION: - VERSION="$cf_field1" - - VERSION_MAJOR=`echo "$cf_field2" | sed -e 's/\..*//'` - test -z "$VERSION_MAJOR" && AC_MSG_ERROR(missing major-version) - - VERSION_MINOR=`echo "$cf_field2" | sed -e 's/^[[^.]]*\.//' -e 's/-.*//'` - test -z "$VERSION_MINOR" && AC_MSG_ERROR(missing minor-version) - - AC_MSG_RESULT(${VERSION_MAJOR}.${VERSION_MINOR}) - - AC_MSG_CHECKING(for package patch date) - VERSION_PATCH=`echo "$cf_field3" | sed -e 's/^[[^-]]*-//'` - case .$VERSION_PATCH in - (.) - AC_MSG_ERROR(missing patch-date $VERSION_PATCH) - ;; - (.[[0-9]][[0-9]][[0-9]][[0-9]][[0-9]][[0-9]][[0-9]][[0-9]]) - ;; - (*) - AC_MSG_ERROR(illegal patch-date $VERSION_PATCH) - ;; - esac - AC_MSG_RESULT($VERSION_PATCH) -else - AC_MSG_ERROR(did not find $srcdir/VERSION) -fi - -# show the actual data that we have for versions: -CF_VERBOSE(ABI VERSION $VERSION) -CF_VERBOSE(VERSION_MAJOR $VERSION_MAJOR) -CF_VERBOSE(VERSION_MINOR $VERSION_MINOR) -CF_VERBOSE(VERSION_PATCH $VERSION_PATCH) - -AC_SUBST(VERSION) -AC_SUBST(VERSION_MAJOR) -AC_SUBST(VERSION_MINOR) -AC_SUBST(VERSION_PATCH) - -dnl if a package name is given, define its corresponding version info. We -dnl need the package name to ensure that the defined symbols are unique. -ifelse($1,,,[ - cf_PACKAGE=$1 - PACKAGE=ifelse($2,,$1,$2) - AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE",[Define to the package-name]) - AC_SUBST(PACKAGE) - CF_UPPER(cf_PACKAGE,$cf_PACKAGE) - AC_DEFINE_UNQUOTED(${cf_PACKAGE}_VERSION,"${VERSION_MAJOR}.${VERSION_MINOR}") - AC_DEFINE_UNQUOTED(${cf_PACKAGE}_PATCHDATE,${VERSION_PATCH}) -]) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_WAIT_HEADERS version: 3 updated: 2021/01/02 09:31:20 -dnl --------------- -dnl Build up an expression $cf_wait_headers with the header files needed to -dnl compile against the prototypes for 'wait()', 'waitpid()', etc. Assume it's -dnl Posix, which uses <sys/types.h> and <sys/wait.h>, but allow SVr4 variation -dnl with <wait.h>. -AC_DEFUN([CF_WAIT_HEADERS], -[ -AC_HAVE_HEADERS(sys/wait.h) -cf_wait_headers="#include <sys/types.h> -" -if test "$ac_cv_header_sys_wait_h" = yes; then -cf_wait_headers="$cf_wait_headers -#include <sys/wait.h> -" -else -AC_HAVE_HEADERS(wait.h) -AC_HAVE_HEADERS(waitstatus.h) -if test "$ac_cv_header_wait_h" = yes; then -cf_wait_headers="$cf_wait_headers -#include <wait.h> -" -fi -if test "$ac_cv_header_waitstatus_h" = yes; then -cf_wait_headers="$cf_wait_headers -#include <waitstatus.h> -" -fi -fi -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_WIDEC_CURSES version: 6 updated: 2020/03/19 20:23:48 -dnl --------------- -dnl Check for curses implementations that can handle wide-characters -AC_DEFUN([CF_WIDEC_CURSES], -[ -AC_CACHE_CHECK(if curses supports wide characters,cf_cv_widec_curses,[ -AC_TRY_LINK([ -#include <stdlib.h> -#include <${cf_cv_ncurses_header:-curses.h}>],[ - wchar_t temp[2]; - wchar_t wch = 'A'; - temp[0] = wch; - waddnwstr(stdscr, temp, 1); -], -[cf_cv_widec_curses=yes], -[cf_cv_widec_curses=no]) -]) - -if test "$cf_cv_widec_curses" = yes ; then - AC_DEFINE(WIDEC_CURSES,1,[Define to 1 if curses supports wide characters]) - - # This is needed on Tru64 5.0 to declare mbstate_t - AC_CACHE_CHECK(if we must include wchar.h to declare mbstate_t,cf_cv_widec_mbstate,[ - AC_TRY_COMPILE([ -#include <stdlib.h> -#include <${cf_cv_ncurses_header:-curses.h}>], -[mbstate_t state; (void)state], -[cf_cv_widec_mbstate=no], -[AC_TRY_COMPILE([ -#include <stdlib.h> -#include <wchar.h> -#include <${cf_cv_ncurses_header:-curses.h}>], -[mbstate_t state; (void)state], -[cf_cv_widec_mbstate=yes], -[cf_cv_widec_mbstate=unknown])])]) - -if test "$cf_cv_widec_mbstate" = yes ; then - AC_DEFINE(NEED_WCHAR_H,1,[Define to 1 if we must include wchar.h]) -fi - -if test "$cf_cv_widec_mbstate" != unknown ; then - AC_DEFINE(HAVE_MBSTATE_T,1,[Define to 1 if we have mbstate_t type]) -fi - -fi -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_WITH_ABI_VERSION version: 4 updated: 2021/01/01 13:31:04 -dnl ------------------- -dnl Allow library's ABI to be overridden. Generally this happens when a -dnl packager has incremented the ABI past that used in the original package, -dnl and wishes to keep doing this. -dnl -dnl $1 is the package name, if any, to derive a corresponding {package}_ABI -dnl symbol. -AC_DEFUN([CF_WITH_ABI_VERSION],[ -test -z "$cf_cv_abi_version" && cf_cv_abi_version=0 -AC_ARG_WITH(abi-version, -[ --with-abi-version=XXX override derived ABI version],[ - if test "x$cf_cv_abi_version" != "x$withval" - then - AC_MSG_WARN(overriding ABI version $cf_cv_abi_version to $withval) - case "$cf_cv_rel_version" in - (5.*) - cf_cv_rel_version=$withval.0 - ;; - (6.*) - cf_cv_rel_version=$withval.9 # FIXME: should be 10 as of 6.0 release - ;; - esac - fi - cf_cv_abi_version=$withval]) - CF_NUMBER_SYNTAX($cf_cv_abi_version,ABI version) -ifelse($1,,,[ -$1_ABI=$cf_cv_abi_version -]) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_WITH_CURSES_DIR version: 4 updated: 2021/01/02 19:22:58 -dnl ------------------ -dnl Wrapper for AC_ARG_WITH to specify directory under which to look for curses -dnl libraries. -AC_DEFUN([CF_WITH_CURSES_DIR],[ - -AC_MSG_CHECKING(for specific curses-directory) -AC_ARG_WITH(curses-dir, - [ --with-curses-dir=DIR directory in which (n)curses is installed], - [cf_cv_curses_dir=$withval], - [cf_cv_curses_dir=no]) -AC_MSG_RESULT($cf_cv_curses_dir) - -if test -n "$cf_cv_curses_dir" && test "$cf_cv_curses_dir" != "no" -then - CF_PATH_SYNTAX(withval) - if test -d "$cf_cv_curses_dir" - then - CF_ADD_INCDIR($cf_cv_curses_dir/include) - CF_ADD_LIBDIR($cf_cv_curses_dir/lib) - fi -fi -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_WITH_DBMALLOC version: 7 updated: 2010/06/21 17:26:47 -dnl ---------------- -dnl Configure-option for dbmalloc. The optional parameter is used to override -dnl the updating of $LIBS, e.g., to avoid conflict with subsequent tests. -AC_DEFUN([CF_WITH_DBMALLOC],[ -CF_NO_LEAKS_OPTION(dbmalloc, - [ --with-dbmalloc test: use Conor Cahill's dbmalloc library], - [USE_DBMALLOC]) - -if test "$with_dbmalloc" = yes ; then - AC_CHECK_HEADER(dbmalloc.h, - [AC_CHECK_LIB(dbmalloc,[debug_malloc]ifelse([$1],,[],[,$1]))]) -fi -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_WITH_DMALLOC version: 7 updated: 2010/06/21 17:26:47 -dnl --------------- -dnl Configure-option for dmalloc. The optional parameter is used to override -dnl the updating of $LIBS, e.g., to avoid conflict with subsequent tests. -AC_DEFUN([CF_WITH_DMALLOC],[ -CF_NO_LEAKS_OPTION(dmalloc, - [ --with-dmalloc test: use Gray Watson's dmalloc library], - [USE_DMALLOC]) - -if test "$with_dmalloc" = yes ; then - AC_CHECK_HEADER(dmalloc.h, - [AC_CHECK_LIB(dmalloc,[dmalloc_debug]ifelse([$1],,[],[,$1]))]) -fi -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_WITH_EXPORT_SYMS version: 3 updated: 2014/12/20 19:16:08 -dnl ------------------- -dnl Use this with libtool to specify the list of symbols that may be exported. -dnl The input file contains one symbol per line; comments work with "#". -dnl -dnl $1 = basename of the ".sym" file (default $PACKAGE) -AC_DEFUN([CF_WITH_EXPORT_SYMS], -[ -AC_MSG_CHECKING(if exported-symbols file should be used) -AC_ARG_WITH(export-syms, - [ --with-export-syms=XXX limit exported symbols using libtool], - [with_export_syms=$withval], - [with_export_syms=no]) -if test "x$with_export_syms" = xyes -then - with_export_syms='${top_srcdir}/package/ifelse($1,,${PACKAGE},[$1]).sym' - AC_SUBST(PACKAGE) -fi -AC_MSG_RESULT($with_export_syms) -if test "x$with_export_syms" != xno -then - EXPORT_SYMS="-export-symbols $with_export_syms" - AC_SUBST(EXPORT_SYMS) -fi -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_WITH_INSTALL_PREFIX version: 4 updated: 2010/10/23 15:52:32 -dnl ---------------------- -dnl Configure-script option to give a default value for the poorly-chosen name -dnl $(DESTDIR). -AC_DEFUN([CF_WITH_INSTALL_PREFIX], -[ -AC_MSG_CHECKING(for install-prefix) -AC_ARG_WITH(install-prefix, - [ --with-install-prefix=XXX sets DESTDIR, useful for packaging], - [cf_opt_with_install_prefix=$withval], - [cf_opt_with_install_prefix=${DESTDIR:-no}]) -AC_MSG_RESULT($cf_opt_with_install_prefix) -if test "$cf_opt_with_install_prefix" != no ; then - CF_PATH_SYNTAX(cf_opt_with_install_prefix) - DESTDIR=$cf_opt_with_install_prefix -fi -AC_SUBST(DESTDIR) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_WITH_LIBTOOL version: 36 updated: 2021/01/01 13:31:04 -dnl --------------- -dnl Provide a configure option to incorporate libtool. Define several useful -dnl symbols for the makefile rules. -dnl -dnl The reference to AC_PROG_LIBTOOL does not normally work, since it uses -dnl macros from libtool.m4 which is in the aclocal directory of automake. -dnl Following is a simple script which turns on the AC_PROG_LIBTOOL macro. -dnl But that still does not work properly since the macro is expanded outside -dnl the CF_WITH_LIBTOOL macro: -dnl -dnl #!/bin/sh -dnl ACLOCAL=`aclocal --print-ac-dir` -dnl if test -z "$ACLOCAL" ; then -dnl echo cannot find aclocal directory -dnl exit 1 -dnl elif test ! -f $ACLOCAL/libtool.m4 ; then -dnl echo cannot find libtool.m4 file -dnl exit 1 -dnl fi -dnl -dnl LOCAL=aclocal.m4 -dnl ORIG=aclocal.m4.orig -dnl -dnl trap "mv $ORIG $LOCAL" 0 1 2 3 15 -dnl rm -f $ORIG -dnl mv $LOCAL $ORIG -dnl -dnl # sed the LIBTOOL= assignment to omit the current directory? -dnl sed -e 's/^LIBTOOL=.*/LIBTOOL=${LIBTOOL:-libtool}/' $ACLOCAL/libtool.m4 >>$LOCAL -dnl cat $ORIG >>$LOCAL -dnl -dnl autoconf-257 $* -dnl -AC_DEFUN([CF_WITH_LIBTOOL], -[ -AC_REQUIRE([CF_DISABLE_LIBTOOL_VERSION]) -ifdef([AC_PROG_LIBTOOL],,[ -LIBTOOL= -]) -# common library maintenance symbols that are convenient for libtool scripts: -LIB_CREATE='${AR} -cr' -LIB_OBJECT='${OBJECTS}' -LIB_SUFFIX=.a -LIB_PREP="$RANLIB" - -# symbols used to prop libtool up to enable it to determine what it should be -# doing: -LIB_CLEAN= -LIB_COMPILE= -LIB_LINK='${CC}' -LIB_INSTALL= -LIB_UNINSTALL= - -AC_MSG_CHECKING(if you want to build libraries with libtool) -AC_ARG_WITH(libtool, - [ --with-libtool generate libraries with libtool], - [with_libtool=$withval], - [with_libtool=no]) -AC_MSG_RESULT($with_libtool) -if test "$with_libtool" != "no"; then -ifdef([AC_PROG_LIBTOOL],[ - # missing_content_AC_PROG_LIBTOOL{{ - AC_PROG_LIBTOOL - # missing_content_AC_PROG_LIBTOOL}} -],[ - if test "$with_libtool" != "yes" ; then - CF_PATH_SYNTAX(with_libtool) - LIBTOOL=$with_libtool - else - AC_CHECK_TOOLS(LIBTOOL,[libtool glibtool],none) - CF_LIBTOOL_VERSION - if test -z "$cf_cv_libtool_version" && test "$LIBTOOL" = libtool - then - CF_FORGET_TOOL(LIBTOOL) - AC_CHECK_TOOLS(LIBTOOL,[glibtool],none) - CF_LIBTOOL_VERSION - fi - fi - if test -z "$LIBTOOL" ; then - AC_MSG_ERROR(Cannot find libtool) - fi -])dnl - LIB_CREATE='${LIBTOOL} --mode=link ${CC} -rpath ${libdir} ${LIBTOOL_VERSION} `cut -f1 ${top_srcdir}/VERSION` ${LIBTOOL_OPTS} ${LT_UNDEF} $(LIBS) -o' - LIB_OBJECT='${OBJECTS:.o=.lo}' - LIB_SUFFIX=.la - LIB_CLEAN='${LIBTOOL} --mode=clean' - LIB_COMPILE='${LIBTOOL} --mode=compile' - LIB_LINK='${LIBTOOL} --mode=link ${CC} ${LIBTOOL_OPTS}' - LIB_INSTALL='${LIBTOOL} --mode=install' - LIB_UNINSTALL='${LIBTOOL} --mode=uninstall' - LIB_PREP=: - - CF_CHECK_LIBTOOL_VERSION - - # special hack to add -no-undefined (which libtool should do for itself) - LT_UNDEF= - case "$cf_cv_system_name" in - (cygwin*|msys*|mingw32*|os2*|uwin*|aix[[4-7]]) - LT_UNDEF=-no-undefined - ;; - esac - AC_SUBST([LT_UNDEF]) - - # special hack to add --tag option for C++ compiler - case "$cf_cv_libtool_version" in - (1.[[5-9]]*|[[2-9]].[[0-9.a-z]]*) - LIBTOOL_CXX="$LIBTOOL --tag=CXX" - LIBTOOL="$LIBTOOL --tag=CC" - ;; - (*) - LIBTOOL_CXX="$LIBTOOL" - ;; - esac -else - LIBTOOL="" - LIBTOOL_CXX="" -fi - -test -z "$LIBTOOL" && ECHO_LT= - -AC_SUBST(LIBTOOL) -AC_SUBST(LIBTOOL_CXX) -AC_SUBST(LIBTOOL_OPTS) - -AC_SUBST(LIB_CREATE) -AC_SUBST(LIB_OBJECT) -AC_SUBST(LIB_SUFFIX) -AC_SUBST(LIB_PREP) - -AC_SUBST(LIB_CLEAN) -AC_SUBST(LIB_COMPILE) -AC_SUBST(LIB_LINK) -AC_SUBST(LIB_INSTALL) -AC_SUBST(LIB_UNINSTALL) - -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_WITH_LIBTOOL_OPTS version: 4 updated: 2015/04/17 21:13:04 -dnl -------------------- -dnl Allow user to pass additional libtool options into the library creation -dnl and link steps. The main use for this is to do something like -dnl ./configure --with-libtool-opts=-static -dnl to get the same behavior as automake-flavored -dnl ./configure --enable-static -AC_DEFUN([CF_WITH_LIBTOOL_OPTS],[ -AC_MSG_CHECKING(for additional libtool options) -AC_ARG_WITH(libtool-opts, - [ --with-libtool-opts=XXX specify additional libtool options], - [with_libtool_opts=$withval], - [with_libtool_opts=no]) -AC_MSG_RESULT($with_libtool_opts) - -case .$with_libtool_opts in -(.yes|.no|.) - ;; -(*) - LIBTOOL_OPTS="$LIBTOOL_OPTS $with_libtool_opts" - ;; -esac - -AC_SUBST(LIBTOOL_OPTS) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_WITH_MAN2HTML version: 12 updated: 2021/01/03 18:30:50 -dnl ---------------- -dnl Check for man2html and groff. Prefer man2html over groff, but use groff -dnl as a fallback. See -dnl -dnl http://invisible-island.net/scripts/man2html.html -dnl -dnl Generate a shell script which hides the differences between the two. -dnl -dnl We name that "man2html.tmp". -dnl -dnl The shell script can be removed later, e.g., using "make distclean". -AC_DEFUN([CF_WITH_MAN2HTML],[ -AC_REQUIRE([CF_PROG_GROFF])dnl -AC_REQUIRE([AC_PROG_FGREP])dnl - -case "x${with_man2html}" in -(xno) - cf_man2html=no - ;; -(x|xyes) - AC_PATH_PROG(cf_man2html,man2html,no) - case "x$cf_man2html" in - (x/*) - AC_MSG_CHECKING(for the modified Earl Hood script) - if ( $cf_man2html -help 2>&1 | grep 'Make an index of headers at the end' >/dev/null ) - then - cf_man2html_ok=yes - else - cf_man2html=no - cf_man2html_ok=no - fi - AC_MSG_RESULT($cf_man2html_ok) - ;; - (*) - cf_man2html=no - ;; - esac -esac - -AC_MSG_CHECKING(for program to convert manpage to html) -AC_ARG_WITH(man2html, - [ --with-man2html=XXX use XXX rather than groff], - [cf_man2html=$withval], - [cf_man2html=$cf_man2html]) - -cf_with_groff=no - -case $cf_man2html in -(yes) - AC_MSG_RESULT(man2html) - AC_PATH_PROG(cf_man2html,man2html,no) - ;; -(no|groff|*/groff*) - cf_with_groff=yes - cf_man2html=$GROFF_PATH - AC_MSG_RESULT($cf_man2html) - ;; -(*) - AC_MSG_RESULT($cf_man2html) - ;; -esac - -MAN2HTML_TEMP="man2html.tmp" - cat >$MAN2HTML_TEMP <<CF_EOF -#!$SHELL -# Temporary script generated by CF_WITH_MAN2HTML -# Convert inputs to html, sending result to standard output. -# -# Parameters: -# \${1} = rootname of file to convert -# \${2} = suffix of file to convert, e.g., "1" -# \${3} = macros to use, e.g., "man" -# -ROOT=\[$]1 -TYPE=\[$]2 -MACS=\[$]3 - -unset LANG -unset LC_ALL -unset LC_CTYPE -unset LANGUAGE -GROFF_NO_SGR=stupid -export GROFF_NO_SGR - -CF_EOF - -NROFF_OPTS= -if test "x$cf_with_groff" = xyes -then - MAN2HTML_NOTE="$GROFF_NOTE" - MAN2HTML_PATH="$GROFF_PATH" - cat >>$MAN2HTML_TEMP <<CF_EOF -$SHELL -c "$TBL_PATH \${ROOT}.\${TYPE} | $GROFF_PATH -P -o0 -I\${ROOT}_ -Thtml -\${MACS}" -CF_EOF -else - # disable hyphenation if this is groff - if test "x$GROFF_PATH" != xno - then - AC_MSG_CHECKING(if nroff is really groff) - cf_check_groff="`$NROFF_PATH --version 2>/dev/null | grep groff`" - test -n "$cf_check_groff" && cf_check_groff=yes - test -n "$cf_check_groff" || cf_check_groff=no - AC_MSG_RESULT($cf_check_groff) - test "x$cf_check_groff" = xyes && NROFF_OPTS="-rHY=0" - fi - MAN2HTML_NOTE="" - CF_PATH_SYNTAX(cf_man2html) - MAN2HTML_PATH="$cf_man2html" - AC_MSG_CHECKING(for $cf_man2html top/bottom margins) - - # for this example, expect 3 lines of content, the remainder is head/foot - cat >conftest.in <<CF_EOF -.TH HEAD1 HEAD2 HEAD3 HEAD4 HEAD5 -.SH SECTION -MARKER -CF_EOF - - LC_ALL=C LC_CTYPE=C LANG=C LANGUAGE=C $NROFF_PATH -man conftest.in >conftest.out - - cf_man2html_1st="`${FGREP-fgrep} -n MARKER conftest.out |sed -e 's/^[[^0-9]]*://' -e 's/:.*//'`" - cf_man2html_top=`expr "$cf_man2html_1st" - 2` - cf_man2html_bot="`wc -l conftest.out |sed -e 's/[[^0-9]]//g'`" - cf_man2html_bot=`expr "$cf_man2html_bot" - 2 - "$cf_man2html_top"` - cf_man2html_top_bot="-topm=$cf_man2html_top -botm=$cf_man2html_bot" - - AC_MSG_RESULT($cf_man2html_top_bot) - - AC_MSG_CHECKING(for pagesize to use) - for cf_block in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 - do - cat >>conftest.in <<CF_EOF -.nf -0 -1 -2 -3 -4 -5 -6 -7 -8 -9 -CF_EOF - done - - LC_ALL=C LC_CTYPE=C LANG=C LANGUAGE=C $NROFF_PATH -man conftest.in >conftest.out - cf_man2html_page="`${FGREP-fgrep} -n HEAD1 conftest.out |sed -n '$p' |sed -e 's/^[[^0-9]]*://' -e 's/:.*//'`" - test -z "$cf_man2html_page" && cf_man2html_page=99999 - test "$cf_man2html_page" -gt 100 && cf_man2html_page=99999 - - rm -rf conftest* - AC_MSG_RESULT($cf_man2html_page) - - cat >>$MAN2HTML_TEMP <<CF_EOF -: \${MAN2HTML_PATH=$MAN2HTML_PATH} -MAN2HTML_OPTS="\$MAN2HTML_OPTS -index -title=\"\$ROOT(\$TYPE)\" -compress -pgsize $cf_man2html_page" -case \${TYPE} in -(ms) - $TBL_PATH \${ROOT}.\${TYPE} | $NROFF_PATH $NROFF_OPTS -\${MACS} | \$MAN2HTML_PATH -topm=0 -botm=0 \$MAN2HTML_OPTS - ;; -(*) - $TBL_PATH \${ROOT}.\${TYPE} | $NROFF_PATH $NROFF_OPTS -\${MACS} | \$MAN2HTML_PATH $cf_man2html_top_bot \$MAN2HTML_OPTS - ;; -esac -CF_EOF -fi - -chmod 700 $MAN2HTML_TEMP - -AC_SUBST(MAN2HTML_NOTE) -AC_SUBST(MAN2HTML_PATH) -AC_SUBST(MAN2HTML_TEMP) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_WITH_NCURSES_ETC version: 5 updated: 2016/02/20 19:23:20 -dnl ------------------- -dnl Use this macro for programs which use any variant of "curses", e.g., -dnl "ncurses", and "PDCurses". Programs that can use curses and some unrelated -dnl library (such as slang) should use a "--with-screen=XXX" option. -dnl -dnl This does not use AC_DEFUN, because that would tell autoconf to run each -dnl of the macros inside this one - before this macro. -define([CF_WITH_NCURSES_ETC],[ -CF_WITH_CURSES_DIR - -cf_cv_screen=curses - -AC_MSG_CHECKING(for specified curses library type) -AC_ARG_WITH(screen, - [ --with-screen=XXX use specified curses-libraries], - [cf_cv_screen=$withval],[ - -AC_ARG_WITH(ncursesw, - [ --with-ncursesw use wide ncurses-libraries], - [cf_cv_screen=ncursesw],[ - -AC_ARG_WITH(ncurses, - [ --with-ncurses use ncurses-libraries], - [cf_cv_screen=ncurses],[ - -AC_ARG_WITH(pdcurses, - [ --with-pdcurses compile/link with pdcurses X11 library], - [cf_cv_screen=pdcurses],[ - -AC_ARG_WITH(curses-colr, - [ --with-curses-colr compile/link with HPUX 10.x color-curses], - [cf_cv_screen=curses_colr],[ - -AC_ARG_WITH(curses-5lib, - [ --with-curses-5lib compile/link with SunOS 5lib curses], - [cf_cv_screen=curses_5lib])])])])])]) - -AC_MSG_RESULT($cf_cv_screen) - -case $cf_cv_screen in -(curses|curses_*) - CF_CURSES_CONFIG - ;; -(ncursesw*) - CF_UTF8_LIB - CF_NCURSES_CONFIG($cf_cv_screen) - ;; -(ncurses*) - CF_NCURSES_CONFIG($cf_cv_screen) - ;; -(pdcurses) - CF_PDCURSES_X11 - ;; -(*) - AC_MSG_ERROR(unexpected screen-value: $cf_cv_screen) - ;; -esac - -CF_NCURSES_PTHREADS($cf_cv_screen) - -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_WITH_NO_LEAKS version: 4 updated: 2021/01/05 20:08:11 -dnl ---------------- -AC_DEFUN([CF_WITH_NO_LEAKS],[ - -AC_REQUIRE([CF_WITH_DMALLOC]) -AC_REQUIRE([CF_WITH_DBMALLOC]) -AC_REQUIRE([CF_WITH_PURIFY]) -AC_REQUIRE([CF_WITH_VALGRIND]) - -AC_MSG_CHECKING(if you want to perform memory-leak testing) -AC_ARG_WITH(no-leaks, - [ --with-no-leaks test: free permanent memory, analyze leaks], - [AC_DEFINE(NO_LEAKS,1,[Define to 1 to enable leak-checking]) - cf_doalloc=".${with_dmalloc}${with_dbmalloc}${with_purify}${with_valgrind}" - case ${cf_doalloc} in - (*yes*) ;; - (*) AC_DEFINE(DOALLOC,10000,[Define to size of malloc-array]) ;; - esac - enable_leaks=no], - [enable_leaks=yes]) -dnl TODO - drop with_no_leaks -if test "x$enable_leaks" = xno; then with_no_leaks=yes; else with_no_leaks=no; fi -AC_MSG_RESULT($with_no_leaks) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_WITH_PURIFY version: 2 updated: 2006/12/14 18:43:43 -dnl -------------- -AC_DEFUN([CF_WITH_PURIFY],[ -CF_NO_LEAKS_OPTION(purify, - [ --with-purify test: use Purify], - [USE_PURIFY], - [LINK_PREFIX="$LINK_PREFIX purify"]) -AC_SUBST(LINK_PREFIX) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_WITH_REL_VERSION version: 1 updated: 2003/09/20 18:12:49 -dnl ------------------- -dnl Allow library's release-version to be overridden. Generally this happens when a -dnl packager has incremented the release-version past that used in the original package, -dnl and wishes to keep doing this. -dnl -dnl $1 is the package name, if any, to derive corresponding {package}_MAJOR -dnl and {package}_MINOR symbols -dnl symbol. -AC_DEFUN([CF_WITH_REL_VERSION],[ -test -z "$cf_cv_rel_version" && cf_cv_rel_version=0.0 -AC_ARG_WITH(rel-version, -[ --with-rel-version=XXX override derived release version], -[AC_MSG_WARN(overriding release version $cf_cv_rel_version to $withval) - cf_cv_rel_version=$withval]) -ifelse($1,,[ - CF_NUMBER_SYNTAX($cf_cv_rel_version,Release version) -],[ - $1_MAJOR=`echo "$cf_cv_rel_version" | sed -e 's/\..*//'` - $1_MINOR=`echo "$cf_cv_rel_version" | sed -e 's/^[[^.]]*//' -e 's/^\.//' -e 's/\..*//'` - CF_NUMBER_SYNTAX([$]$1_MAJOR,Release major-version) - CF_NUMBER_SYNTAX([$]$1_MINOR,Release minor-version) -]) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_WITH_SCREEN_PDCURSES version: 1 updated: 2020/08/28 16:56:27 -dnl ----------------------- -dnl Call this macro before CF_ENABLE_WARNINGS for configure scripts which use -dnl the "--with-screen=pdcurses" selection. Doing that allows the configure -dnl script to search for the X11/Xt header files to declare (or not) the -dnl symbol needed to enable "const" in those header files. If that configure -dnl option is not used, then those checks are unnecessary. -AC_DEFUN([CF_WITH_SCREEN_PDCURSES],[ -AC_PROVIDE([AC_PATH_XTRA]) -AC_PROVIDE([AC_PATH_X]) -if test -n "$with_screen" && test "x$with_screen" = "xpdcurses" -then - AC_PATH_X - AC_PATH_XTRA -fi -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_WITH_SHARED_OR_LIBTOOL version: 7 updated: 2014/11/02 16:11:49 -dnl ------------------------- -dnl Provide shared libraries using either autoconf macros (--with-shared) or -dnl using the external libtool script (--with-libtool). -dnl -dnl $1 = program name (all caps preferred) -dnl $1 = release version -dnl $2 = ABI version -define([CF_WITH_SHARED_OR_LIBTOOL],[ - -REL_VERSION=$2 -ABI_VERSION=$3 -cf_cv_rel_version=$REL_VERSION -AC_SUBST(ABI_VERSION) -AC_SUBST(REL_VERSION) - -CF_WITH_REL_VERSION($1) -CF_WITH_ABI_VERSION - -LIB_MODEL=static -DFT_LWR_MODEL=$LIB_MODEL -LIBTOOL_MAKE="#" - -# use to comment-out makefile lines -MAKE_NORMAL= -MAKE_STATIC= -MAKE_SHARED="#" -MAKE_DLLS="#" - -shlibdir=$libdir -AC_SUBST(shlibdir) - -CF_WITH_LIBTOOL - -LIB_CREATE="$LIB_CREATE \[$]@" - -if test "$with_libtool" = "yes" ; then - OBJEXT="lo" - LIB_MODEL=libtool - DFT_LWR_MODEL=$LIB_MODEL - LIBTOOL_MAKE= - CF_WITH_LIBTOOL_OPTS - CF_WITH_EXPORT_SYMS - MAKE_NORMAL="#" - MAKE_STATIC="#" - MAKE_SHARED= -else - AC_MSG_CHECKING(if you want to build shared libraries) - AC_ARG_WITH(shared, - [ --with-shared generate shared-libraries], - [with_shared=$withval], - [with_shared=no]) - AC_MSG_RESULT($with_shared) - if test "$with_shared" = "yes" ; then - LIB_MODEL=shared - DFT_LWR_MODEL=$LIB_MODEL - CF_SHARED_OPTS - CF_WITH_VERSIONED_SYMS - LIB_PREP=: - LIB_CREATE="[$]MK_SHARED_LIB" - CFLAGS="$CFLAGS $CC_SHARED_OPTS" - MAKE_NORMAL="#" - MAKE_STATIC="#" - MAKE_SHARED= - fi -fi - -LIB_SUFFIX= -CF_LIB_SUFFIX($LIB_MODEL, DFT_LIB_SUFFIX, DFT_DEP_SUFFIX) -LIB_SUFFIX=$DFT_LIB_SUFFIX - -AC_SUBST(DFT_LWR_MODEL) -AC_SUBST(DFT_LIB_SUFFIX) -AC_SUBST(DFT_DEP_SUFFIX) -AC_SUBST(LIB_MODEL) - -AC_SUBST(LIBTOOL_MAKE) - -AC_SUBST(MAKE_DLLS) -AC_SUBST(MAKE_NORMAL) -AC_SUBST(MAKE_SHARED) -AC_SUBST(MAKE_STATIC) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_WITH_VALGRIND version: 1 updated: 2006/12/14 18:00:21 -dnl ---------------- -AC_DEFUN([CF_WITH_VALGRIND],[ -CF_NO_LEAKS_OPTION(valgrind, - [ --with-valgrind test: use valgrind], - [USE_VALGRIND]) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_WITH_VERSIONED_SYMS version: 10 updated: 2021/01/04 18:48:01 -dnl ---------------------- -dnl Use this when building shared library with ELF, to markup symbols with the -dnl version identifier from the given input file. Generally that identifier is -dnl the same as the SONAME at which the symbol was first introduced. -dnl -dnl $1 = basename of the ".map" file (default $PACKAGE) -AC_DEFUN([CF_WITH_VERSIONED_SYMS], -[AC_REQUIRE([AC_PROG_FGREP])dnl -AC_REQUIRE([AC_PROG_EGREP])dnl - -AC_MSG_CHECKING(if versioned-symbols file should be used) -AC_ARG_WITH(versioned-syms, - [ --with-versioned-syms=X markup versioned symbols using ld], - [with_versioned_syms=$withval], - [with_versioned_syms=no]) -case "x$with_versioned_syms" in -(xyes) - with_versioned_syms='${top_srcdir}/package/ifelse($1,,${PACKAGE},[$1]).map' - AC_SUBST(PACKAGE) - ;; -(xno) - ;; -(x/*) - test -f "$with_versioned_syms" || AC_MSG_ERROR(expected a filename: $with_versioned_syms) - ;; -(*) - test -f "$with_versioned_syms" || AC_MSG_ERROR(expected a filename: $with_versioned_syms) - with_versioned_syms=`pwd`/"$with_versioned_syms" - ;; -esac -AC_MSG_RESULT($with_versioned_syms) - -RESULTING_SYMS= -VERSIONED_SYMS= -WILDCARD_SYMS= - -if test "x$with_versioned_syms" != xno -then - RESULTING_SYMS=$with_versioned_syms - case "x$MK_SHARED_LIB" in - (*-Wl,*) - VERSIONED_SYMS="-Wl,--version-script,\${RESULTING_SYMS}" - MK_SHARED_LIB=`echo "$MK_SHARED_LIB" | sed -e "s%-Wl,%\\[$]{VERSIONED_SYMS} -Wl,%"` - CF_VERBOSE(MK_SHARED_LIB: $MK_SHARED_LIB) - ;; - (*-dy\ *) - VERSIONED_SYMS="-Wl,-M,\${RESULTING_SYMS}" - MK_SHARED_LIB=`echo "$MK_SHARED_LIB" | sed -e "s%-dy%\\[$]{VERSIONED_SYMS} -dy%"` - CF_VERBOSE(MK_SHARED_LIB: $MK_SHARED_LIB) - ;; - (*) - AC_MSG_WARN(this system does not support versioned-symbols) - ;; - esac - - # Linux ld can selectively override scope, e.g., of symbols beginning with - # "_" by first declaring some as global, and then using a wildcard to - # declare the others as local. Some other loaders cannot do this. Check - # by constructing a (very) simple shared library and inspecting its - # symbols. - if test "x$VERSIONED_SYMS" != "x" - then - AC_MSG_CHECKING(if wildcards can be used to selectively omit symbols) - WILDCARD_SYMS=no - - # make sources - rm -f conftest.* - - cat >conftest.ver <<EOF -module_1.0 { -global: - globalf1; -local: - localf1; -}; -module_2.0 { -global: - globalf2; -local: - localf2; - _*; -} module_1.0; -submodule_1.0 { -global: - subglobalf1; - _ismissing; -local: - sublocalf1; -}; -submodule_2.0 { -global: - subglobalf2; -local: - sublocalf2; - _*; -} submodule_1.0; -EOF - cat >conftest.$ac_ext <<EOF -#line __oline__ "configure" -int _ismissing(void) { return 1; } -int _localf1(void) { return 1; } -int _localf2(void) { return 2; } -int globalf1(void) { return 1; } -int globalf2(void) { return 2; } -int _sublocalf1(void) { return 1; } -int _sublocalf2(void) { return 2; } -int subglobalf1(void) { return 1; } -int subglobalf2(void) { return 2; } -EOF - cat >conftest.mk <<EOF -CC=${CC} -CFLAGS=${CFLAGS} -CPPFLAGS=${CPPFLAGS} -LDFLAGS=${LDFLAGS} -LIBS=${LIBS} -VERSIONED_SYMS=${VERSIONED_SYMS} -RESULTING_SYMS=conftest.ver -MK_SHARED_LIB=${MK_SHARED_LIB} -conftest.so: conftest.$ac_cv_objext - \$(MK_SHARED_LIB) conftest.$ac_cv_objext -EOF - - # compile source, make library - if make -f conftest.mk 2>&AC_FD_CC >/dev/null - then - # test for missing symbol in either Data or Text section - cf_missing="`nm -P conftest.so 2>&AC_FD_CC |${FGREP-fgrep} _ismissing | ${EGREP-egrep} '[[ ]][[DT]][[ ]]'`" - test -n "$cf_missing" && WILDCARD_SYMS=yes - fi - AC_MSG_RESULT($WILDCARD_SYMS) - rm -f conftest.* - fi -fi -AC_SUBST(RESULTING_SYMS) -AC_SUBST(VERSIONED_SYMS) -AC_SUBST(WILDCARD_SYMS) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_XOPEN_CURSES version: 16 updated: 2021/01/02 09:31:20 -dnl --------------- -dnl Test if we should define X/Open source for curses, needed on Digital Unix -dnl 4.x, to see the extended functions, but breaks on IRIX 6.x. -dnl -dnl The getbegyx() check is needed for HPUX, which omits legacy macros such -dnl as getbegy(). The latter is better design, but the former is standard. -AC_DEFUN([CF_XOPEN_CURSES], -[ -AC_REQUIRE([CF_CURSES_CPPFLAGS])dnl -AC_CACHE_CHECK(definition to turn on extended curses functions,cf_cv_need_xopen_extension,[ -cf_cv_need_xopen_extension=unknown -AC_TRY_LINK([ -#include <stdlib.h> -#include <${cf_cv_ncurses_header:-curses.h}>],[ -#if defined(NCURSES_VERSION_PATCH) -#if (NCURSES_VERSION_PATCH < 20100501) && (NCURSES_VERSION_PATCH >= 20100403) - make an error -#endif -#endif -#ifdef NCURSES_VERSION - cchar_t check; - int check2 = curs_set((int)sizeof(check)); -#endif - long x = winnstr(stdscr, "", 0); - int x1, y1; -#ifdef NCURSES_VERSION - (void)check2; -#endif - getbegyx(stdscr, y1, x1); - (void)x; - (void)y1; - (void)x1; - ], - [cf_cv_need_xopen_extension=none], - [ - for cf_try_xopen_extension in _XOPEN_SOURCE_EXTENDED NCURSES_WIDECHAR - do - AC_TRY_LINK([ -#define $cf_try_xopen_extension 1 -#include <stdlib.h> -#include <${cf_cv_ncurses_header:-curses.h}>],[ -#ifdef NCURSES_VERSION - cchar_t check; - int check2 = curs_set((int)sizeof(check)); -#endif - long x = winnstr(stdscr, "", 0); - int x1, y1; - getbegyx(stdscr, y1, x1); -#ifdef NCURSES_VERSION - (void)check2; -#endif - (void)x; - (void)y1; - (void)x1; - ], - [cf_cv_need_xopen_extension=$cf_try_xopen_extension; break]) - done - ]) -]) - -case "$cf_cv_need_xopen_extension" in -(*_*) - CF_APPEND_TEXT(CPPFLAGS,-D$cf_cv_need_xopen_extension) - ;; -esac - -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_XOPEN_SOURCE version: 57 updated: 2021/01/01 16:53:59 -dnl --------------- -dnl Try to get _XOPEN_SOURCE defined properly that we can use POSIX functions, -dnl or adapt to the vendor's definitions to get equivalent functionality, -dnl without losing the common non-POSIX features. -dnl -dnl Parameters: -dnl $1 is the nominal value for _XOPEN_SOURCE -dnl $2 is the nominal value for _POSIX_C_SOURCE -AC_DEFUN([CF_XOPEN_SOURCE],[ -AC_REQUIRE([AC_CANONICAL_HOST]) -AC_REQUIRE([CF_POSIX_VISIBLE]) - -if test "$cf_cv_posix_visible" = no; then - -cf_XOPEN_SOURCE=ifelse([$1],,500,[$1]) -cf_POSIX_C_SOURCE=ifelse([$2],,199506L,[$2]) -cf_xopen_source= - -case "$host_os" in -(aix[[4-7]]*) - cf_xopen_source="-D_ALL_SOURCE" - ;; -(msys) - cf_XOPEN_SOURCE=600 - ;; -(darwin[[0-8]].*) - cf_xopen_source="-D_APPLE_C_SOURCE" - ;; -(darwin*) - cf_xopen_source="-D_DARWIN_C_SOURCE" - cf_XOPEN_SOURCE= - ;; -(freebsd*|dragonfly*|midnightbsd*) - # 5.x headers associate - # _XOPEN_SOURCE=600 with _POSIX_C_SOURCE=200112L - # _XOPEN_SOURCE=500 with _POSIX_C_SOURCE=199506L - cf_POSIX_C_SOURCE=200112L - cf_XOPEN_SOURCE=600 - cf_xopen_source="-D_BSD_TYPES -D__BSD_VISIBLE -D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE" - ;; -(hpux11*) - cf_xopen_source="-D_HPUX_SOURCE -D_XOPEN_SOURCE=500" - ;; -(hpux*) - cf_xopen_source="-D_HPUX_SOURCE" - ;; -(irix[[56]].*) - cf_xopen_source="-D_SGI_SOURCE" - cf_XOPEN_SOURCE= - ;; -(linux*|uclinux*|gnu*|mint*|k*bsd*-gnu|cygwin) - CF_GNU_SOURCE($cf_XOPEN_SOURCE) - ;; -(minix*) - cf_xopen_source="-D_NETBSD_SOURCE" # POSIX.1-2001 features are ifdef'd with this... - ;; -(mirbsd*) - # setting _XOPEN_SOURCE or _POSIX_SOURCE breaks <sys/select.h> and other headers which use u_int / u_short types - cf_XOPEN_SOURCE= - CF_POSIX_C_SOURCE($cf_POSIX_C_SOURCE) - ;; -(netbsd*) - cf_xopen_source="-D_NETBSD_SOURCE" # setting _XOPEN_SOURCE breaks IPv6 for lynx on NetBSD 1.6, breaks xterm, is not needed for ncursesw - ;; -(openbsd[[4-9]]*) - # setting _XOPEN_SOURCE lower than 500 breaks g++ compile with wchar.h, needed for ncursesw - cf_xopen_source="-D_BSD_SOURCE" - cf_XOPEN_SOURCE=600 - ;; -(openbsd*) - # setting _XOPEN_SOURCE breaks xterm on OpenBSD 2.8, is not needed for ncursesw - ;; -(osf[[45]]*) - cf_xopen_source="-D_OSF_SOURCE" - ;; -(nto-qnx*) - cf_xopen_source="-D_QNX_SOURCE" - ;; -(sco*) - # setting _XOPEN_SOURCE breaks Lynx on SCO Unix / OpenServer - ;; -(solaris2.*) - cf_xopen_source="-D__EXTENSIONS__" - cf_cv_xopen_source=broken - ;; -(sysv4.2uw2.*) # Novell/SCO UnixWare 2.x (tested on 2.1.2) - cf_XOPEN_SOURCE= - cf_POSIX_C_SOURCE= - ;; -(*) - CF_TRY_XOPEN_SOURCE - CF_POSIX_C_SOURCE($cf_POSIX_C_SOURCE) - ;; -esac - -if test -n "$cf_xopen_source" ; then - CF_ADD_CFLAGS($cf_xopen_source,true) -fi - -dnl In anything but the default case, we may have system-specific setting -dnl which is still not guaranteed to provide all of the entrypoints that -dnl _XOPEN_SOURCE would yield. -if test -n "$cf_XOPEN_SOURCE" && test -z "$cf_cv_xopen_source" ; then - AC_MSG_CHECKING(if _XOPEN_SOURCE really is set) - AC_TRY_COMPILE([#include <stdlib.h>],[ -#ifndef _XOPEN_SOURCE -make an error -#endif], - [cf_XOPEN_SOURCE_set=yes], - [cf_XOPEN_SOURCE_set=no]) - AC_MSG_RESULT($cf_XOPEN_SOURCE_set) - if test "$cf_XOPEN_SOURCE_set" = yes - then - AC_TRY_COMPILE([#include <stdlib.h>],[ -#if (_XOPEN_SOURCE - 0) < $cf_XOPEN_SOURCE -make an error -#endif], - [cf_XOPEN_SOURCE_set_ok=yes], - [cf_XOPEN_SOURCE_set_ok=no]) - if test "$cf_XOPEN_SOURCE_set_ok" = no - then - AC_MSG_WARN(_XOPEN_SOURCE is lower than requested) - fi - else - CF_TRY_XOPEN_SOURCE - fi -fi -fi # cf_cv_posix_visible -]) -dnl --------------------------------------------------------------------------- -dnl CF_X_ATHENA version: 24 updated: 2020/03/10 18:53:47 -dnl ----------- -dnl Check for Xaw (Athena) libraries -dnl -dnl Sets $cf_x_athena according to the flavor of Xaw which is used. -AC_DEFUN([CF_X_ATHENA], -[ -cf_x_athena=${cf_x_athena:-Xaw} - -AC_MSG_CHECKING(if you want to link with Xaw 3d library) -withval= -AC_ARG_WITH(Xaw3d, - [ --with-Xaw3d link with Xaw 3d library]) -if test "$withval" = yes ; then - cf_x_athena=Xaw3d - AC_MSG_RESULT(yes) -else - AC_MSG_RESULT(no) -fi - -AC_MSG_CHECKING(if you want to link with Xaw 3d xft library) -withval= -AC_ARG_WITH(Xaw3dxft, - [ --with-Xaw3dxft link with Xaw 3d xft library]) -if test "$withval" = yes ; then - cf_x_athena=Xaw3dxft - AC_MSG_RESULT(yes) -else - AC_MSG_RESULT(no) -fi - -AC_MSG_CHECKING(if you want to link with neXT Athena library) -withval= -AC_ARG_WITH(neXtaw, - [ --with-neXtaw link with neXT Athena library]) -if test "$withval" = yes ; then - cf_x_athena=neXtaw - AC_MSG_RESULT(yes) -else - AC_MSG_RESULT(no) -fi - -AC_MSG_CHECKING(if you want to link with Athena-Plus library) -withval= -AC_ARG_WITH(XawPlus, - [ --with-XawPlus link with Athena-Plus library]) -if test "$withval" = yes ; then - cf_x_athena=XawPlus - AC_MSG_RESULT(yes) -else - AC_MSG_RESULT(no) -fi - -cf_x_athena_lib="" - -if test "$PKG_CONFIG" != none ; then - cf_athena_list= - test "$cf_x_athena" = Xaw && cf_athena_list="xaw8 xaw7 xaw6" - for cf_athena_pkg in \ - $cf_athena_list \ - ${cf_x_athena} \ - ${cf_x_athena}-devel \ - lib${cf_x_athena} \ - lib${cf_x_athena}-devel - do - CF_TRY_PKG_CONFIG($cf_athena_pkg,[ - cf_x_athena_lib="$cf_pkgconfig_libs" - CF_UPPER(cf_x_athena_LIBS,HAVE_LIB_$cf_x_athena) - AC_DEFINE_UNQUOTED($cf_x_athena_LIBS) - - CF_TRIM_X_LIBS - -AC_CACHE_CHECK(for usable $cf_x_athena/Xmu package,cf_cv_xaw_compat,[ -AC_TRY_LINK([ -#include <X11/Xmu/CharSet.h> -],[ -int check = XmuCompareISOLatin1("big", "small"); -(void)check; -],[cf_cv_xaw_compat=yes],[cf_cv_xaw_compat=no])]) - - if test "$cf_cv_xaw_compat" = no - then - # workaround for broken ".pc" files... - case "$cf_x_athena_lib" in - (*-lXmu*) - ;; - (*) - CF_VERBOSE(work around broken package) - cf_save_xmu="$LIBS" - cf_first_lib=`echo "$cf_save_xmu" | sed -e 's/^[ ][ ]*//' -e 's/ .*//'` - CF_TRY_PKG_CONFIG(xmu,[ - LIBS="$cf_save_xmu" - CF_ADD_LIB_AFTER($cf_first_lib,$cf_pkgconfig_libs) - ],[ - CF_ADD_LIB_AFTER($cf_first_lib,-lXmu) - ]) - CF_TRIM_X_LIBS - ;; - esac - fi - - break]) - done -fi - -if test -z "$cf_x_athena_lib" ; then - CF_X_EXT - CF_X_TOOLKIT - CF_X_ATHENA_CPPFLAGS($cf_x_athena) - CF_X_ATHENA_LIBS($cf_x_athena) -fi -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_X_ATHENA_CPPFLAGS version: 9 updated: 2020/12/31 10:54:15 -dnl -------------------- -dnl Normally invoked by CF_X_ATHENA, with $1 set to the appropriate flavor of -dnl the Athena widgets, e.g., Xaw, Xaw3d, neXtaw. -AC_DEFUN([CF_X_ATHENA_CPPFLAGS], -[ -AC_REQUIRE([AC_PATH_XTRA]) -cf_x_athena_root=ifelse([$1],,Xaw,[$1]) -cf_x_athena_inc="" - -for cf_path in default \ - /usr/contrib/X11R6 \ - /usr/contrib/X11R5 \ - /usr/lib/X11R5 \ - /usr/local -do - if test -z "$cf_x_athena_inc" ; then - CF_SAVE_XTRA_FLAGS([CF_X_ATHENA_CPPFLAGS]) - cf_test=X11/$cf_x_athena_root/SimpleMenu.h - if test "$cf_path" != default ; then - CF_APPEND_TEXT(CPPFLAGS,-I$cf_path/include) - AC_MSG_CHECKING(for $cf_test in $cf_path) - else - AC_MSG_CHECKING(for $cf_test) - fi - AC_TRY_COMPILE([ -#include <X11/Intrinsic.h> -#include <$cf_test>],[], - [cf_result=yes], - [cf_result=no]) - AC_MSG_RESULT($cf_result) - CF_RESTORE_XTRA_FLAGS([CF_X_ATHENA_CPPFLAGS]) - if test "$cf_result" = yes ; then - test "$cf_path" = default && cf_x_athena_inc=default - test "$cf_path" != default && cf_x_athena_inc="$cf_path/include" - break - fi - fi -done - -if test -z "$cf_x_athena_inc" ; then - AC_MSG_WARN([Unable to find Athena header files]) -elif test "$cf_x_athena_inc" != default ; then - CF_APPEND_TEXT(CPPFLAGS,-I$cf_x_athena_inc) -fi -]) -dnl --------------------------------------------------------------------------- -dnl CF_X_ATHENA_LIBS version: 13 updated: 2020/01/11 18:16:10 -dnl ---------------- -dnl Normally invoked by CF_X_ATHENA, with $1 set to the appropriate flavor of -dnl the Athena widgets, e.g., Xaw, Xaw3d, neXtaw. -AC_DEFUN([CF_X_ATHENA_LIBS], -[AC_REQUIRE([CF_X_TOOLKIT]) -cf_x_athena_root=ifelse([$1],,Xaw,[$1]) -cf_x_athena_lib="" - -for cf_path in default \ - /usr/contrib/X11R6 \ - /usr/contrib/X11R5 \ - /usr/lib/X11R5 \ - /usr/local -do - for cf_lib in \ - ${cf_x_athena_root} \ - ${cf_x_athena_root}7 \ - ${cf_x_athena_root}6 - do - for cf_libs in \ - "-l$cf_lib -lXmu" \ - "-l$cf_lib -lXpm -lXmu" \ - "-l${cf_lib}_s -lXmu_s" - do - test -n "$cf_x_athena_lib" && break - - CF_SAVE_XTRA_FLAGS([CF_X_ATHENA_LIBS]) - cf_test=XawSimpleMenuAddGlobalActions - test "$cf_path" != default && cf_libs="-L$cf_path/lib $cf_libs" - CF_ADD_LIBS($cf_libs) - AC_MSG_CHECKING(for $cf_test in $cf_libs) - AC_TRY_LINK([ -#include <X11/Intrinsic.h> -#include <X11/$cf_x_athena_root/SimpleMenu.h> -],[ -$cf_test((XtAppContext) 0)], - [cf_result=yes], - [cf_result=no]) - AC_MSG_RESULT($cf_result) - CF_RESTORE_XTRA_FLAGS([CF_X_ATHENA_LIBS]) - - if test "$cf_result" = yes ; then - cf_x_athena_lib="$cf_libs" - break - fi - done # cf_libs - test -n "$cf_x_athena_lib" && break - done # cf_lib -done - -if test -z "$cf_x_athena_lib" ; then - AC_MSG_ERROR( -[Unable to successfully link Athena library (-l$cf_x_athena_root) with test program]) -fi - -CF_ADD_LIBS($cf_x_athena_lib) -CF_UPPER(cf_x_athena_LIBS,HAVE_LIB_$cf_x_athena) -AC_DEFINE_UNQUOTED($cf_x_athena_LIBS) -]) -dnl --------------------------------------------------------------------------- -dnl CF_X_EXT version: 3 updated: 2010/06/02 05:03:05 -dnl -------- -AC_DEFUN([CF_X_EXT],[ -CF_TRY_PKG_CONFIG(Xext,,[ - AC_CHECK_LIB(Xext,XextCreateExtension, - [CF_ADD_LIB(Xext)])]) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_X_TOOLKIT version: 26 updated: 2021/01/02 09:31:20 -dnl ------------ -dnl Check for X Toolkit libraries -AC_DEFUN([CF_X_TOOLKIT], -[ -AC_REQUIRE([AC_PATH_XTRA]) -AC_REQUIRE([CF_CHECK_CACHE]) - -# OSX is schizoid about who owns /usr/X11 (old) versus /opt/X11 (new) (and -# in some cases has installed dummy files in the former, other cases replaced -# it with a link to the new location). This complicates the configure script. -# Check for that pitfall, and recover using pkg-config -# -# If none of these are set, the configuration is almost certainly broken. -if test -z "${X_CFLAGS}${X_PRE_LIBS}${X_LIBS}${X_EXTRA_LIBS}" -then - CF_TRY_PKG_CONFIG(x11,,[AC_MSG_WARN(unable to find X11 library)]) - CF_TRY_PKG_CONFIG(ice,,[AC_MSG_WARN(unable to find ICE library)]) - CF_TRY_PKG_CONFIG(sm,,[AC_MSG_WARN(unable to find SM library)]) - CF_TRY_PKG_CONFIG(xt,,[AC_MSG_WARN(unable to find Xt library)]) -else - LIBS="$X_PRE_LIBS $LIBS $X_EXTRA_LIBS" -fi - -cf_have_X_LIBS=no - -CF_TRY_PKG_CONFIG(xt,[ - - case "x$LIBS" in - (*-lX11*) - ;; - (*) -# we have an "xt" package, but it may omit Xt's dependency on X11 -AC_CACHE_CHECK(for usable X dependency,cf_cv_xt_x11_compat,[ -AC_TRY_LINK([ -#include <X11/Xlib.h> -],[ - int rc1 = XDrawLine((Display*) 0, (Drawable) 0, (GC) 0, 0, 0, 0, 0); - int rc2 = XClearWindow((Display*) 0, (Window) 0); - int rc3 = XMoveWindow((Display*) 0, (Window) 0, 0, 0); - int rc4 = XMoveResizeWindow((Display*)0, (Window)0, 0, 0, 0, 0); -],[cf_cv_xt_x11_compat=yes],[cf_cv_xt_x11_compat=no])]) - if test "$cf_cv_xt_x11_compat" = no - then - CF_VERBOSE(work around broken X11 dependency) - # 2010/11/19 - good enough until a working Xt on Xcb is delivered. - CF_TRY_PKG_CONFIG(x11,,[CF_ADD_LIB_AFTER(-lXt,-lX11)]) - fi - ;; - esac - -AC_CACHE_CHECK(for usable X Toolkit package,cf_cv_xt_ice_compat,[ -AC_TRY_LINK([ -#include <X11/Shell.h> -],[int num = IceConnectionNumber(0); (void) num -],[cf_cv_xt_ice_compat=yes],[cf_cv_xt_ice_compat=no])]) - - if test "$cf_cv_xt_ice_compat" = no - then - # workaround for broken ".pc" files used for X Toolkit. - case "x$X_PRE_LIBS" in - (*-lICE*) - case "x$LIBS" in - (*-lICE*) - ;; - (*) - CF_VERBOSE(work around broken ICE dependency) - CF_TRY_PKG_CONFIG(ice, - [CF_TRY_PKG_CONFIG(sm)], - [CF_ADD_LIB_AFTER(-lXt,$X_PRE_LIBS)]) - ;; - esac - ;; - esac - fi - - cf_have_X_LIBS=yes -],[ - - LDFLAGS="$X_LIBS $LDFLAGS" - CF_CHECK_CFLAGS($X_CFLAGS) - - AC_CHECK_FUNC(XOpenDisplay,,[ - AC_CHECK_LIB(X11,XOpenDisplay, - [CF_ADD_LIB(X11)])]) - - AC_CHECK_FUNC(XtAppInitialize,,[ - AC_CHECK_LIB(Xt, XtAppInitialize, - [AC_DEFINE(HAVE_LIBXT,1,[Define to 1 if we can compile with the Xt library]) - cf_have_X_LIBS=Xt - LIBS="-lXt $LIBS"])]) -]) - -if test "$cf_have_X_LIBS" = no ; then - AC_MSG_WARN( -[Unable to successfully link X Toolkit library (-lXt) with -test program. You will have to check and add the proper libraries by hand -to makefile.]) -fi -])dnl -dnl --------------------------------------------------------------------------- -dnl CF__ADD_SHLIB_RULES version: 6 updated: 2016/04/21 21:07:50 -dnl ------------------- -dnl Append rules for creating, installing, uninstalling and cleaning library. -dnl In particular, this is needed for shared libraries since there are symbolic -dnl links which depend on configuration choices. -dnl -dnl The logic is controlled by these cache variables: -dnl $cf_cv_do_symlinks -dnl $cf_cv_shlib_version -dnl -dnl The macro uses variables set by CF__DEFINE_SHLIB_VARS -dnl -dnl $1 = makefile to append to -dnl $2 = model (static, shared, libtool) -dnl $3 = objects (dependencies) -dnl $4 = additional libraries needed to link the shared library -define([CF__ADD_SHLIB_RULES],[ - -CF__DEFINE_LIB_TARGET - -case x$2 in -(xlibtool|xshared) - cf_libdeps="ifelse($4,,,[$4])" - ;; -(x*) - cf_libdeps= - ;; -esac - -cat >>$1 <<CF_EOF - -# generated by CF__ADD_SHLIB_RULES -# libmodel: $2 -# symlinks: $cf_cv_do_symlinks -# shlibver: $cf_cv_shlib_version - -CF_EOF - -cat >>$1 <<CF_EOF -$cf_libname :: \\ -CF_EOF - -cat >>$1 <<CF_EOF - $3 - @echo linking \[$]@ - \$(LIBTOOL_CREATE) $3 $cf_libdeps -CF_EOF - -if test "x$cf_cv_do_symlinks" = xyes -then -cat >>$1 <<CF_EOF - \$(LN_S) $cf_libname $cf_liblink - \$(LN_S) $cf_liblink $cf_libroot -CF_EOF -fi - -cat >>$1 <<CF_EOF - -install \\ -install.libs :: \$(DESTDIR)\$(libdir)/$cf_libname - -\$(DESTDIR)\$(libdir)/$cf_libname :: \\ - \$(DESTDIR)\$(libdir) \\ - $3 - @echo linking \[$]@ - \$(LIBTOOL_CREATE) $3 $cf_libdeps -CF_EOF - -if test "x$cf_cv_do_symlinks" = xyes -then -cat >>$1 <<CF_EOF - cd \$(DESTDIR)\$(libdir) && (\$(LN_S) $cf_libname $cf_liblink; \$(LN_S) $cf_liblink $cf_libroot; ) -CF_EOF -fi - -if test x$2 = xshared -then -cat >>$1 <<CF_EOF - - \$(SHELL) -c "if test -z "\$(DESTDIR)" ; then /sbin/ldconfig; fi" -CF_EOF -fi - -cat >>$1 <<CF_EOF - -uninstall \\ -uninstall.libs :: - @echo uninstalling \$(DESTDIR)\$(libdir)/$cf_libname -CF_EOF - -if test "x$cf_cv_do_symlinks" = xyes -then -cat >>$1 <<CF_EOF - -rm -f \$(DESTDIR)\$(libdir)/$cf_libroot - -rm -f \$(DESTDIR)\$(libdir)/$cf_liblink -CF_EOF -fi - -cat >>$1 <<CF_EOF - -rm -f \$(DESTDIR)\$(libdir)/$cf_libname - -clean \\ -clean.libs :: -CF_EOF - -if test "x$cf_cv_do_symlinks" = xyes -then -cat >>$1 <<CF_EOF - -rm -f $cf_libroot - -rm -f $cf_liblink -CF_EOF -fi - -cat >>$1 <<CF_EOF - -rm -f $cf_libname - -mostlyclean:: - -rm -f $3 -# end generated by CF__ADD_SHLIB_RULES -CF_EOF -])dnl -dnl --------------------------------------------------------------------------- -dnl CF__CURSES_HEAD version: 2 updated: 2010/10/23 15:54:49 -dnl --------------- -dnl Define a reusable chunk which includes <curses.h> and <term.h> when they -dnl are both available. -define([CF__CURSES_HEAD],[ -#ifdef HAVE_XCURSES -#include <xcurses.h> -char * XCursesProgramName = "test"; -#else -#include <${cf_cv_ncurses_header:-curses.h}> -#if defined(NCURSES_VERSION) && defined(HAVE_NCURSESW_TERM_H) -#include <ncursesw/term.h> -#elif defined(NCURSES_VERSION) && defined(HAVE_NCURSES_TERM_H) -#include <ncurses/term.h> -#elif defined(HAVE_TERM_H) -#include <term.h> -#endif -#endif -]) -dnl --------------------------------------------------------------------------- -dnl CF__DEFINE_LIB_TARGET version: 2 updated: 2015/05/10 19:52:14 -dnl --------------------- -define([CF__DEFINE_LIB_TARGET],[ -cf_libname=\${LIB_BASENAME} -cf_liblink=$cf_libname -cf_libroot=$cf_libname - -if test "x$cf_cv_do_symlinks" = xyes -then - case "x$cf_cv_shlib_version" in - (xrel) - cf_liblink="\${LIB_ABI_NAME}" - cf_libname="\${LIB_REL_NAME}" - ;; - (xabi) - cf_liblink="\${LIB_REL_NAME}" - cf_libname="\${LIB_ABI_NAME}" - ;; - esac -fi -LIB_TARGET=$cf_libname -])dnl -dnl --------------------------------------------------------------------------- -dnl CF__DEFINE_SHLIB_VARS version: 4 updated: 2015/09/28 17:49:10 -dnl --------------------- -dnl Substitute makefile variables useful for CF__ADD_SHLIB_RULES. -dnl -dnl The substitution requires these variables: -dnl LIB_PREFIX - "lib" -dnl LIB_ROOTNAME - "foo" -dnl LIB_SUFFIX - ".so" -dnl REL_VERSION - "5.0" -dnl ABI_VERSION - "4.2.4" -define([CF__DEFINE_SHLIB_VARS],[ -CF__DEFINE_LIB_TARGET -SET_SHLIB_VARS="# begin CF__DEFINE_SHLIB_VARS\\ -LIB_BASENAME = \${LIB_PREFIX}\${LIB_ROOTNAME}\${LIB_SUFFIX}\\ -LIB_REL_NAME = \${LIB_BASENAME}.\${REL_VERSION}\\ -LIB_ABI_NAME = \${LIB_BASENAME}.\${ABI_VERSION}\\ -LIB_TARGET = $LIB_TARGET\\ -RM_SHARED_OPTS = $RM_SHARED_OPTS\\ -# end CF__DEFINE_SHLIB_VARS" -AC_SUBST(SET_SHLIB_VARS) -AC_SUBST(LIB_TARGET) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF__ICONV_BODY version: 2 updated: 2007/07/26 17:35:47 -dnl -------------- -dnl Test-code needed for iconv compile-checks -define([CF__ICONV_BODY],[ - iconv_t cd = iconv_open("",""); - iconv(cd,NULL,NULL,NULL,NULL); - iconv_close(cd);] -)dnl -dnl --------------------------------------------------------------------------- -dnl CF__ICONV_HEAD version: 1 updated: 2007/07/26 15:57:03 -dnl -------------- -dnl Header-files needed for iconv compile-checks -define([CF__ICONV_HEAD],[ -#include <stdlib.h> -#include <iconv.h>] -)dnl -dnl --------------------------------------------------------------------------- -dnl CF__INIT_SHLIB_RULES version: 2 updated: 2013/07/27 17:38:32 -dnl -------------------- -dnl The third parameter to AC_OUTPUT, used to pass variables needed for -dnl CF__ADD_SHLIB_RULES. -define([CF__INIT_SHLIB_RULES],[ -ABI_VERSION="$ABI_VERSION" -REL_VERSION="$REL_VERSION" -LIB_MODEL="$LIB_MODEL" -LIB_PREFIX="$LIB_PREFIX" -LIB_ROOTNAME="$LIB_ROOTNAME" -DFT_DEP_SUFFIX="$DFT_DEP_SUFFIX" -RM_SHARED_OPTS="$RM_SHARED_OPTS" -cf_cv_do_symlinks="$cf_cv_do_symlinks" -cf_cv_shlib_version="$cf_cv_shlib_version" -]) -dnl --------------------------------------------------------------------------- -dnl CF__INTL_BODY version: 3 updated: 2017/07/10 20:13:33 -dnl ------------- -dnl Test-code needed for libintl compile-checks -dnl $1 = parameter 2 from AM_WITH_NLS -define([CF__INTL_BODY],[ - bindtextdomain ("", ""); - return (int) gettext ("") - ifelse([$1], need-ngettext, [ + (int) ngettext ("", "", 0)], []) -#ifndef IGNORE_MSGFMT_HACK - [ + _nl_msg_cat_cntr] -#endif -]) -dnl --------------------------------------------------------------------------- -dnl CF__INTL_HEAD version: 1 updated: 2007/07/26 17:35:47 -dnl ------------- -dnl Header-files needed for libintl compile-checks -define([CF__INTL_HEAD],[ -#include <libintl.h> -extern int _nl_msg_cat_cntr; -])dnl -dnl --------------------------------------------------------------------------- -dnl jm_GLIBC21 version: 4 updated: 2015/05/10 19:52:14 -dnl ---------- -dnl Inserted as requested by gettext 0.10.40 -dnl File from /usr/share/aclocal -dnl glibc21.m4 -dnl ==================== -dnl serial 2 -dnl -dnl Test for the GNU C Library, version 2.1 or newer. -dnl From Bruno Haible. -AC_DEFUN([jm_GLIBC21], -[ -AC_CACHE_CHECK(whether we are using the GNU C Library 2.1 or newer, - ac_cv_gnu_library_2_1, - [AC_EGREP_CPP([Lucky GNU user], - [ -#include <features.h> -#ifdef __GNU_LIBRARY__ - #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2) - Lucky GNU user - #endif -#endif - ], - ac_cv_gnu_library_2_1=yes, - ac_cv_gnu_library_2_1=no)]) - AC_SUBST(GLIBC21) - GLIBC21="$ac_cv_gnu_library_2_1" -]) diff --git a/contrib/dialog/argv.c b/contrib/dialog/argv.c deleted file mode 100644 index e5dc4c8894bc..000000000000 --- a/contrib/dialog/argv.c +++ /dev/null @@ -1,168 +0,0 @@ -/* - * $Id: argv.c,v 1.13 2020/03/26 02:55:37 tom Exp $ - * - * argv - Reusable functions for argv-parsing. - * - * Copyright 2011-2018,2020 Thomas E. Dickey - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License, version 2.1 - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this program; if not, write to - * Free Software Foundation, Inc. - * 51 Franklin St., Fifth Floor - * Boston, MA 02110, USA. - */ - -#include <dialog.h> -#include <string.h> - -/* - * Convert a string to an argv[], returning a char** index (which must be - * freed by the caller). The string is modified (replacing gaps between - * tokens with nulls). - */ -char ** -dlg_string_to_argv(char *blob) -{ - size_t n, k; - int pass; - size_t length = strlen(blob); - char **result = 0; - -#ifdef HAVE_DLG_TRACE - if (dialog_state.trace_output) { - DLG_TRACE(("# dlg_string_to_argv:\n")); - DLG_TRACE(("# given:\n")); - for (n = k = 0; n < length; ++n) { - if (blob[n] == '\n') { - DLG_TRACE(("#%s\t%.*s\\n\n", - k ? "+" : "", - (int) (n - k), blob + k)); - k = n + 1; - } - } - if (n > k) { - DLG_TRACE(("#%s\t%.*s\n", - k ? "+" : "", - (int) (n - k), blob + k)); - } - DLG_TRACE(("# result:\n")); - } -#endif - for (pass = 0; pass < 2; ++pass) { - bool inparm = FALSE; - bool quoted = FALSE; - char *param = blob; - size_t count = 0; - - for (n = 0; n < length; ++n) { - if (quoted && blob[n] == '"') { - quoted = FALSE; - } else if (blob[n] == '"') { - quoted = TRUE; - if (!inparm) { - if (pass) { - result[count] = param; - } - ++count; - inparm = TRUE; - } - } else if (!quoted && isspace(UCH(blob[n]))) { - if (inparm) { - if (pass) { - *param = '\0'; - } - ++param; - inparm = FALSE; - } - } else { - if (blob[n] == '\\') { - size_t n1 = (n + 1); - bool ignore = FALSE; - if (n1 == length) { - break; /* The string is terminated by a backslash */ - } else if ((blob[n1] == '\\') || - (blob[n1] == '"') || - (ignore = (blob[n1] == '\n'))) { - /* eat the backslash */ - if (pass) { - --length; - for (k = n; k < length; ++k) - blob[k] = blob[k + 1]; - blob[length] = '\0'; - } else { - ++param; /* pretend I ate it */ - } - if (ignore) - continue; - } - } - if (!inparm) { - if (pass) { - result[count] = param; - } - ++count; - inparm = TRUE; - } - if (pass) { - *param = blob[n]; - } - ++param; - } - } - - if (pass) { - *param = '\0'; - } else { - if (count) { - result = dlg_calloc(char *, count + 1); - assert_ptr(result, "string_to_argv"); - } else { - break; /* no tokens found */ - } - } - } -#ifdef HAVE_DLG_TRACE - if (result != 0) { - for (n = 0; result[n] != 0; ++n) { - DLG_TRACE(("#\targv[%d] = %s\n", (int) n, result[n])); - } - } -#endif - return result; -} - -/* - * Count the entries in an argv list. - */ -int -dlg_count_argv(char **argv) -{ - int result = 0; - - if (argv != 0) { - while (argv[result] != 0) - ++result; - } - return result; -} - -int -dlg_eat_argv(int *argcp, char ***argvp, int start, int count) -{ - int k; - - *argcp -= count; - for (k = start; k <= *argcp; k++) - (*argvp)[k] = (*argvp)[k + count]; - (*argvp)[*argcp] = 0; - return TRUE; -} diff --git a/contrib/dialog/arrows.c b/contrib/dialog/arrows.c deleted file mode 100644 index b8bf6c69e61c..000000000000 --- a/contrib/dialog/arrows.c +++ /dev/null @@ -1,277 +0,0 @@ -/* - * $Id: arrows.c,v 1.53 2019/07/24 23:04:14 tom Exp $ - * - * arrows.c -- draw arrows to indicate end-of-range for lists - * - * Copyright 2000-2018,2019 Thomas E. Dickey - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License, version 2.1 - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this program; if not, write to - * Free Software Foundation, Inc. - * 51 Franklin St., Fifth Floor - * Boston, MA 02110, USA. - */ - -#include <dialog.h> - -#ifdef USE_WIDE_CURSES -#if defined(CURSES_WACS_ARRAY) && !defined(CURSES_WACS_SYMBOLS) -/* workaround for NetBSD 5.1 curses */ -#undef WACS_DARROW -#undef WACS_UARROW -#define WACS_DARROW &(CURSES_WACS_ARRAY['.']) -#define WACS_UARROW &(CURSES_WACS_ARRAY['-']) -#endif -#define add_acs(win, code) wadd_wch(win, W ## code) -#else -#define add_acs(win, code) waddch(win, dlg_boxchar(code)) -#endif - -/* size of decorations */ -#define ON_LEFT 4 -#define ON_RIGHT 3 - -#ifdef HAVE_COLOR -static chtype -merge_colors(chtype foreground, chtype background) -{ - chtype result = foreground; - if ((foreground & A_COLOR) != (background & A_COLOR)) { - short fg_f, bg_f; - short fg_b, bg_b; - short fg_pair = (short) PAIR_NUMBER(foreground); - short bg_pair = (short) PAIR_NUMBER(background); - - if (pair_content(fg_pair, &fg_f, &bg_f) != ERR - && pair_content(bg_pair, &fg_b, &bg_b) != ERR) { - result &= ~A_COLOR; - result |= dlg_color_pair(fg_f, bg_b); - } - } - return result; -} -#else -#define merge_colors(f,b) (f) -#endif - -/* - * If we have help-line text, e.g., from "--hline", draw it between the other - * decorations at the bottom of the dialog window. - */ -void -dlg_draw_helpline(WINDOW *win, bool decorations) -{ - int bottom; - - if (dialog_vars.help_line != 0 - && dialog_vars.help_line[0] != 0 - && (bottom = getmaxy(win) - 1) > 0) { - chtype attr = A_NORMAL; - int cols = dlg_count_columns(dialog_vars.help_line); - int other = decorations ? (ON_LEFT + ON_RIGHT) : 0; - int avail = (getmaxx(win) - other - 2); - int limit = dlg_count_real_columns(dialog_vars.help_line) + 2; - - if (limit < avail) { - int cur_x, cur_y; - - getyx(win, cur_y, cur_x); - other = decorations ? ON_LEFT : 0; - (void) wmove(win, bottom, other + (avail - limit) / 2); - waddch(win, '['); - dlg_print_text(win, dialog_vars.help_line, cols, &attr); - waddch(win, ']'); - wmove(win, cur_y, cur_x); - } - } -} - -void -dlg_draw_arrows2(WINDOW *win, - int top_arrow, - int bottom_arrow, - int x, - int top, - int bottom, - chtype attr, - chtype borderattr) -{ - chtype save = dlg_get_attrs(win); - int cur_x, cur_y; - int limit_x = getmaxx(win); - bool draw_top = TRUE; - bool is_toplevel = (wgetparent(win) == stdscr); - - getyx(win, cur_y, cur_x); - - /* - * If we're drawing a centered title, do not overwrite with the arrows. - */ - if (dialog_vars.title && is_toplevel && (top - getbegy(win)) < MARGIN) { - int have = (limit_x - dlg_count_columns(dialog_vars.title)) / 2; - int need = x + 5; - if (need > have) - draw_top = FALSE; - } - - if (draw_top) { - (void) wmove(win, top, x); - if (top_arrow) { - dlg_attrset(win, merge_colors(uarrow_attr, attr)); - (void) add_acs(win, ACS_UARROW); - (void) waddstr(win, "(-)"); - } else { - dlg_attrset(win, attr); - (void) whline(win, dlg_boxchar(ACS_HLINE), ON_LEFT); - } - } - mouse_mkbutton(top, x - 1, 6, KEY_PPAGE); - - (void) wmove(win, bottom, x); - if (bottom_arrow) { - dlg_attrset(win, merge_colors(darrow_attr, borderattr)); - (void) add_acs(win, ACS_DARROW); - (void) waddstr(win, "(+)"); - } else { - dlg_attrset(win, borderattr); - (void) whline(win, dlg_boxchar(ACS_HLINE), ON_LEFT); - } - mouse_mkbutton(bottom, x - 1, 6, KEY_NPAGE); - - (void) wmove(win, cur_y, cur_x); - wrefresh(win); - - dlg_attrset(win, save); -} - -void -dlg_draw_scrollbar(WINDOW *win, - long first_data, - long this_data, - long next_data, - long total_data, - int left, - int right, - int top, - int bottom, - chtype attr, - chtype borderattr) -{ - int oldy, oldx; - - chtype save = dlg_get_attrs(win); - int top_arrow = (first_data != 0); - int bottom_arrow = (next_data < total_data); - - getyx(win, oldy, oldx); - - dlg_draw_helpline(win, TRUE); - if (bottom_arrow || top_arrow || dialog_state.use_scrollbar) { - char buffer[80]; - int percent; - int len; - - percent = (!total_data - ? 100 - : (int) ((next_data * 100) - / total_data)); - - if (percent < 0) - percent = 0; - else if (percent > 100) - percent = 100; - - dlg_attrset(win, position_indicator_attr); - (void) sprintf(buffer, "%d%%", percent); - (void) wmove(win, bottom, right - 7); - (void) waddstr(win, buffer); - if ((len = dlg_count_columns(buffer)) < 4) { - dlg_attrset(win, border_attr); - whline(win, dlg_boxchar(ACS_HLINE), 4 - len); - } - } -#define BARSIZE(num) (int) (0.5 + (double) ((all_high * (int) (num)) / (double) total_data)) -#define ORDSIZE(num) (int) ((double) ((all_high * (int) (num)) / (double) all_diff)) - - if (dialog_state.use_scrollbar) { - int all_high = (bottom - top - 1); - - this_data = MAX(0, this_data); - - if (total_data > 0 && all_high > 0) { - int all_diff = (int) (total_data + 1); - int bar_diff = (int) (next_data + 1 - this_data); - int bar_high; - - bar_high = ORDSIZE(bar_diff); - if (bar_high <= 0) - bar_high = 1; - - if (bar_high < all_high) { - int bar_last = BARSIZE(next_data); - int bar_y; - - wmove(win, top + 1, right); - - dlg_attrset(win, save); - wvline(win, ACS_VLINE | A_REVERSE, all_high); - - bar_y = ORDSIZE(this_data); - if (bar_y >= bar_last && bar_y > 0) - bar_y = bar_last - 1; - if (bar_last - bar_y > bar_high && bar_high > 1) - ++bar_y; - bar_last = MIN(bar_last, all_high); - - wmove(win, top + 1 + bar_y, right); - - dlg_attrset(win, position_indicator_attr); - dlg_attron(win, A_REVERSE); -#if defined(WACS_BLOCK) && defined(NCURSES_VERSION) && defined(USE_WIDE_CURSES) - wvline_set(win, WACS_BLOCK, bar_last - bar_y); -#else - wvline(win, ACS_BLOCK, bar_last - bar_y); -#endif - } - } - } - dlg_draw_arrows2(win, - top_arrow, - bottom_arrow, - left + ARROWS_COL, - top, - bottom, - attr, - borderattr); - - dlg_attrset(win, save); - wmove(win, oldy, oldx); -} - -void -dlg_draw_arrows(WINDOW *win, - int top_arrow, - int bottom_arrow, - int x, - int top, - int bottom) -{ - dlg_draw_helpline(win, TRUE); - dlg_draw_arrows2(win, - top_arrow, - bottom_arrow, - x, - top, - bottom, - menubox_border2_attr, - menubox_border_attr); -} diff --git a/contrib/dialog/buildlist.c b/contrib/dialog/buildlist.c deleted file mode 100644 index e21700e7c8ae..000000000000 --- a/contrib/dialog/buildlist.c +++ /dev/null @@ -1,1268 +0,0 @@ -/* - * $Id: buildlist.c,v 1.94 2020/11/23 00:37:17 tom Exp $ - * - * buildlist.c -- implements the buildlist dialog - * - * Copyright 2012-2019,2020 Thomas E. Dickey - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License, version 2.1 - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this program; if not, write to - * Free Software Foundation, Inc. - * 51 Franklin St., Fifth Floor - * Boston, MA 02110, USA. - */ - -#include <dlg_internals.h> -#include <dlg_keys.h> - -/* - * Visually like menubox, but two columns. - */ - -#define sLEFT (-2) -#define sRIGHT (-1) - -#define KEY_LEFTCOL '^' -#define KEY_RIGHTCOL '$' - -#define MIN_HIGH (1 + (5 * MARGIN)) - -typedef struct { - WINDOW *win; - int box_y; - int box_x; - int top_index; - int cur_index; - DIALOG_LISTITEM **ip; /* pointers to items in this list */ -} MY_DATA; - -#if 0 -#define TRACE(p) dlg_trace_msg p -#else -#define TRACE(p) /* nothing */ -#endif - -#define okIndex(all,index) ((index) >= 0 && (index) < (all)->item_no) - -#define myItem(p,n) ((p)->ip)[n] -#define mySide(n) ((n)?"right":"left") - -typedef struct { - DIALOG_LISTITEM *items; /* all items in the widget */ - int base_y; /* base for mouse coordinates */ - int base_x; - int use_height; /* actual size of column box */ - int use_width; - int item_no; - int check_x; - int item_x; - MY_DATA list[2]; -} ALL_DATA; - -/* - * Translate a choice from items[] to a row-number in an unbounded column, - * starting at zero. - */ -static int -index2row(ALL_DATA * all, int choice, int selected) -{ - MY_DATA *data = all->list + selected; - int result = -1; - - if (okIndex(all, choice)) { - int row; - - for (row = 0; row < all->item_no; ++row) { - TRACE(("!... choice %d: %p vs row %d: %p\n", - choice, all->items + choice, - row, myItem(data, row))); - if (myItem(data, row) == all->items + choice) { - result = row; - break; - } - } - } - TRACE(("! index2row(choice %d, %s) = %d\n", choice, mySide(selected), result)); - return result; -} - -/* - * Convert a row-number back to an item number, i.e., index into items[]. - */ -static int -row2index(ALL_DATA * all, int row, int selected) -{ - MY_DATA *data = all->list + selected; - int result = -1; - int n; - for (n = 0; n < all->item_no; ++n) { - TRACE(("!... row %d: %p vs choice %d: %p\n", - row, myItem(data, row), - n, all->items + n)); - if (myItem(data, row) == all->items + n) { - result = n; - break; - } - } - TRACE(("! row2index(row %d, %s) = %d\n", row, mySide(selected), result)); - return result; -} - -/* - * Print list item. The 'selected' parameter is true if 'choice' is the - * current item. That one is colored differently from the other items. - */ -static void -print_item(ALL_DATA * all, - WINDOW *win, - DIALOG_LISTITEM * item, - int row, - int selected) -{ - chtype save = dlg_get_attrs(win); - int i; - bool both = (!dialog_vars.no_tags && !dialog_vars.no_items); - bool first = TRUE; - int climit = (all->item_x - all->check_x - 1); - const char *show = (dialog_vars.no_items - ? item->name - : item->text); - - /* Clear 'residue' of last item */ - dlg_attrset(win, menubox_attr); - (void) wmove(win, row, 0); - for (i = 0; i < getmaxx(win); i++) - (void) waddch(win, ' '); - - (void) wmove(win, row, all->check_x); - dlg_attrset(win, menubox_attr); - - if (both) { - dlg_print_listitem(win, item->name, climit, first, selected); - (void) waddch(win, ' '); - first = FALSE; - } - - (void) wmove(win, row, all->item_x); - climit = (getmaxx(win) - all->item_x + 1); - dlg_print_listitem(win, show, climit, first, selected); - - if (selected) { - dlg_item_help(item->help); - } - dlg_attrset(win, save); -} - -/* - * Prints either the left (unselected) or right (selected) list. - */ -static void -print_1_list(ALL_DATA * all, - int choice, - int selected) -{ - MY_DATA *data = all->list + selected; - DIALOG_LISTITEM *target = (okIndex(all, choice) - ? all->items + choice - : 0); - WINDOW *win = data->win; - int i, j; - int last = 0; - int top_row = index2row(all, data->top_index, selected); - int max_rows = getmaxy(win); - - TRACE(("! print_1_list %d %s, top %d\n", choice, mySide(selected), top_row)); - for (i = j = 0; j < max_rows; i++) { - int ii = i + top_row; - if (ii < 0) { - continue; - } else if (myItem(data, ii)) { - print_item(all, - win, - myItem(data, ii), - j, myItem(data, ii) == target); - last = ++j; - } else { - break; - } - } - if (wmove(win, last, 0) != ERR) { - while (waddch(win, ' ') != ERR) { - ; - } - } - (void) wnoutrefresh(win); -} - -/* - * Return the previous item from the list, staying in the same column. If no - * further movement is possible, return the same choice as given. - */ -static int -prev_item(ALL_DATA * all, int choice, int selected) -{ - int result = choice; - int row = index2row(all, choice, selected); - if (row > 0) { - row--; - result = row2index(all, row, selected); - } - TRACE(("! prev_item choice %d, %s = %d\n", choice, mySide(selected), result)); - return result; -} - -/* - * Return true if the given choice is on the first page in the current column. - */ -static bool -stop_prev(ALL_DATA * all, int choice, int selected) -{ - return (prev_item(all, choice, selected) == choice); -} - -static bool -check_hotkey(DIALOG_LISTITEM * items, int choice, int selected) -{ - bool result = FALSE; - - if ((items[choice].state != 0) == selected) { - if (dlg_match_char(dlg_last_getc(), - (dialog_vars.no_tags - ? items[choice].text - : items[choice].name))) { - result = TRUE; - } - } - return result; -} - -/* - * Return the next item from the list, staying in the same column. If no - * further movement is possible, return the same choice as given. - */ -static int -next_item(ALL_DATA * all, int choice, int selected) -{ - MY_DATA *data = all->list + selected; - int result = choice; - int row = index2row(all, choice, selected); - TRACE(("! given item %d, testing next-item on row %d\n", choice, row + 1)); - if (myItem(data, row + 1)) { - result = row2index(all, row + 1, selected); - } - TRACE(("! next_item(%d, %s) ->%d\n", choice, mySide(selected), result)); - return result; -} - -/* - * Return the first choice from items[] for the given column. - */ -static int -first_item(ALL_DATA * all, int selected) -{ - MY_DATA *data = all->list + selected; - int result = -1; - - if (myItem(data, 0) != 0) { - int n; - - for (n = 0; n < all->item_no; ++n) { - if (myItem(data, 0) == &all->items[n]) { - result = n; - break; - } - } - } - TRACE(("! first_item %s = %d\n", mySide(selected), result)); - return result; -} - -/* - * Return the last choice from items[] for the given column. - */ -static int -last_item(ALL_DATA * all, int selected) -{ - MY_DATA *data = all->list + selected; - int result = -1; - int n; - - for (n = 0; myItem(data, n) != 0; ++n) { - result = n; - } - if (result >= 0) { - result = row2index(all, result, selected); - } - TRACE(("! last_item %s = %d\n", mySide(selected), result)); - return result; -} - -static int -skip_rows(ALL_DATA * all, int row, int skip, int selected) -{ - MY_DATA *data = all->list + selected; - int result = row; - - if (skip > 0) { - int n; - - for (n = row + 1; (n < all->item_no) && (n <= row + skip); ++n) { - if (myItem(data, n) == 0) - break; - result = n; - } - } else if (skip < 0) { - result -= skip; - if (result < 0) - result = 0; - } - TRACE(("! skip_rows row %d, skip %d, %s = %d\n", - row, skip, mySide(selected), result)); - return result; -} - -/* - * Find the closest item in the given column starting with the given choice. - */ -static int -closest_item(ALL_DATA * all, int choice, int selected) -{ - int prev = choice; - int next = choice; - int result = choice; - int n; - - for (n = choice; n >= 0; --n) { - if ((all->items[n].state != 0) == selected) { - prev = n; - break; - } - } - for (n = choice; n < all->item_no; ++n) { - if ((all->items[n].state != 0) == selected) { - next = n; - break; - } - } - if (prev != choice) { - result = prev; - if (next != choice) { - if ((choice - prev) > (next - choice)) { - result = next; - } - } - } else if (next != choice) { - result = next; - } - TRACE(("! XXX closest item choice %d, %s = %d\n", - choice, mySide(selected), result)); - return result; -} - -static void -print_both(ALL_DATA * all, - int choice) -{ - int selected; - int cur_y, cur_x; - WINDOW *dialog = wgetparent(all->list[0].win); - - TRACE(("! print_both %d\n", choice)); - getyx(dialog, cur_y, cur_x); - for (selected = 0; selected < 2; ++selected) { - MY_DATA *data = all->list + selected; - WINDOW *win = data->win; - int thumb_top = index2row(all, data->top_index, selected); - int thumb_max = index2row(all, -1, selected); - int thumb_end = thumb_top + getmaxy(win); - - print_1_list(all, choice, selected); - - dlg_mouse_setcode(selected * KEY_MAX); - dlg_draw_scrollbar(dialog, - (long) (data->top_index), - (long) (thumb_top), - (long) MIN(thumb_end, thumb_max), - (long) thumb_max, - data->box_x + all->check_x, - data->box_x + getmaxx(win), - data->box_y, - data->box_y + getmaxy(win) + 1, - menubox_border2_attr, - menubox_border_attr); - } - (void) wmove(dialog, cur_y, cur_x); - dlg_mouse_setcode(0); -} - -static void -set_top_item(ALL_DATA * all, int choice, int selected) -{ - if (choice != all->list[selected].top_index) { - DLG_TRACE(("# set top of %s column to %d\n", - mySide(selected), - choice)); - all->list[selected].top_index = choice; - } -} - -/* - * Adjust the top-index as needed to ensure that it and the given item are - * visible. - */ -static void -fix_top_item(ALL_DATA * all, int cur_item, int selected) -{ - int top_item = all->list[selected].top_index; - int cur_row = index2row(all, cur_item, selected); - int top_row = index2row(all, top_item, selected); - - if (cur_row < top_row) { - top_item = cur_item; - } else if ((cur_row - top_row) >= all->use_height) { - top_item = row2index(all, cur_row + 1 - all->use_height, selected); - } - if (cur_row < all->use_height) { - top_item = row2index(all, 0, selected); - } - DLG_TRACE(("# fix_top_item(cur_item %d, %s) ->top_item %d\n", - cur_item, mySide(selected), top_item)); - set_top_item(all, top_item, selected); -} - -static void -append_right_side(ALL_DATA * all, int choice) -{ - MY_DATA *data = &all->list[1]; - int j; - for (j = 0; j < all->item_no; ++j) { - if (myItem(data, j) == 0) { - myItem(data, j) = &all->items[choice]; - break; - } - } -} - -static void -amend_right_side(ALL_DATA * all, int choice) -{ - MY_DATA *data = &all->list[1]; - int j, k; - for (j = 0; j < all->item_no; ++j) { - if (myItem(data, j) == &all->items[choice]) { - for (k = j; k < all->item_no; ++k) { - if ((myItem(data, k) = myItem(data, k + 1)) == 0) - break; - } - break; - } - } -} - -static void -fill_one_side(ALL_DATA * all, int selected) -{ - int i, j; - MY_DATA *data = all->list + selected; - - for (i = j = 0; j < all->item_no; ++j) { - myItem(data, i) = 0; - if ((all->items[j].state != 0) == selected) { - myItem(data, i) = all->items + j; - TRACE(("! %s item[%d] %p = all[%d] %p\n", - mySide(selected), - i, myItem(data, i), - j, all->items + j)); - ++i; - } - } - myItem(data, i) = 0; -} - -static void -fill_both_sides(ALL_DATA * all) -{ - int k; - - for (k = 0; k < 2; ++k) { - fill_one_side(all, k); - } -} - -/* - * This is an alternate interface to 'buildlist' which allows the application - * to read the list item states back directly without putting them in the - * output buffer. - */ -int -dlg_buildlist(const char *title, - const char *cprompt, - int height, - int width, - int list_height, - int item_no, - DIALOG_LISTITEM * items, - const char *states, - int order_mode, - int *current_item) -{ -#define THIS_FUNC "dlg_buildlist" - /* *INDENT-OFF* */ - static DLG_KEYS_BINDING binding[] = { - HELPKEY_BINDINGS, - ENTERKEY_BINDINGS, - DLG_KEYS_DATA( DLGK_FIELD_NEXT, KEY_RIGHT ), - DLG_KEYS_DATA( DLGK_FIELD_NEXT, TAB ), - DLG_KEYS_DATA( DLGK_FIELD_PREV, KEY_BTAB ), - DLG_KEYS_DATA( DLGK_FIELD_PREV, KEY_LEFT ), - DLG_KEYS_DATA( DLGK_ITEM_FIRST, KEY_HOME ), - DLG_KEYS_DATA( DLGK_ITEM_LAST, KEY_END ), - DLG_KEYS_DATA( DLGK_ITEM_LAST, KEY_LL ), - DLG_KEYS_DATA( DLGK_ITEM_NEXT, '+' ), - DLG_KEYS_DATA( DLGK_ITEM_NEXT, KEY_DOWN ), - DLG_KEYS_DATA( DLGK_ITEM_NEXT, CHR_NEXT ), - DLG_KEYS_DATA( DLGK_ITEM_PREV, '-' ), - DLG_KEYS_DATA( DLGK_ITEM_PREV, KEY_UP ), - DLG_KEYS_DATA( DLGK_ITEM_PREV, CHR_PREVIOUS ), - DLG_KEYS_DATA( DLGK_PAGE_NEXT, KEY_NPAGE ), - DLG_KEYS_DATA( DLGK_PAGE_NEXT, DLGK_MOUSE(KEY_NPAGE) ), - DLG_KEYS_DATA( DLGK_PAGE_NEXT, DLGK_MOUSE(KEY_NPAGE+KEY_MAX) ), - DLG_KEYS_DATA( DLGK_PAGE_PREV, KEY_PPAGE ), - DLG_KEYS_DATA( DLGK_PAGE_PREV, DLGK_MOUSE(KEY_PPAGE) ), - DLG_KEYS_DATA( DLGK_PAGE_PREV, DLGK_MOUSE(KEY_PPAGE+KEY_MAX) ), - DLG_KEYS_DATA( DLGK_GRID_LEFT, KEY_LEFTCOL ), - DLG_KEYS_DATA( DLGK_GRID_RIGHT, KEY_RIGHTCOL ), - TOGGLEKEY_BINDINGS, - END_KEYS_BINDING - }; - /* *INDENT-ON* */ - -#ifdef KEY_RESIZE - int old_height = height; - int old_width = width; -#endif - ALL_DATA all; - MY_DATA *data = all.list; - int i, j, k, key2, found, x, y, cur_x, cur_y; - int key, fkey; - bool save_visit = dialog_state.visit_items; - int button; - int cur_item; - int name_width, text_width, full_width, list_width; - int result = DLG_EXIT_UNKNOWN; - int num_states; - bool first = TRUE; - WINDOW *dialog; - char *prompt; - const char **buttons = dlg_ok_labels(); - const char *widget_name = "buildlist"; - - dialog_state.plain_buttons = TRUE; - - /* - * Unlike other uses of --visit-items, we have two windows to visit. - */ - if (dialog_state.visit_cols) - dialog_state.visit_cols = 2; - - memset(&all, 0, sizeof(all)); - all.items = items; - all.item_no = item_no; - for (k = 0; k < 2; ++k) { - data[k].ip = dlg_calloc(DIALOG_LISTITEM *, (item_no + 2)); - } - fill_both_sides(&all); - - if (dialog_vars.default_item != 0) { - cur_item = dlg_default_listitem(items); - } else { - if ((cur_item = first_item(&all, 0)) < 0) - cur_item = first_item(&all, 1); - } - button = (dialog_state.visit_items - ? (items[cur_item].state ? sRIGHT : sLEFT) - : dlg_default_button()); - - dlg_does_output(); - -#ifdef KEY_RESIZE - retry: -#endif - - prompt = dlg_strclone(cprompt); - dlg_tab_correct_str(prompt); - - all.use_height = list_height; - all.use_width = (2 * (dlg_calc_list_width(item_no, items) - + 4 - + 2 * MARGIN) - + 1); - all.use_width = MAX(26, all.use_width); - if (all.use_height == 0) { - /* calculate height without items (4) */ - dlg_auto_size(title, prompt, &height, &width, MIN_HIGH, all.use_width); - dlg_calc_listh(&height, &all.use_height, item_no); - } else { - dlg_auto_size(title, prompt, - &height, &width, - MIN_HIGH + all.use_height, all.use_width); - } - dlg_button_layout(buttons, &width); - dlg_print_size(height, width); - dlg_ctl_size(height, width); - - /* we need at least two states */ - if (states == 0 || strlen(states) < 2) - states = " *"; - num_states = (int) strlen(states); - - x = dlg_box_x_ordinate(width); - y = dlg_box_y_ordinate(height); - - dialog = dlg_new_window(height, width, y, x); - dlg_register_window(dialog, widget_name, binding); - dlg_register_buttons(dialog, widget_name, buttons); - - dlg_mouse_setbase(all.base_x = x, all.base_y = y); - - dlg_draw_box2(dialog, 0, 0, height, width, dialog_attr, border_attr, border2_attr); - dlg_draw_bottom_box2(dialog, border_attr, border2_attr, dialog_attr); - dlg_draw_title(dialog, title); - - dlg_attrset(dialog, dialog_attr); - dlg_print_autowrap(dialog, prompt, height, width); - - list_width = (width - 6 * MARGIN - 2) / 2; - getyx(dialog, cur_y, cur_x); - data[0].box_y = cur_y + 1; - data[0].box_x = MARGIN + 1; - data[1].box_y = cur_y + 1; - data[1].box_x = data[0].box_x + 1 + 2 * MARGIN + list_width; - - /* - * After displaying the prompt, we know how much space we really have. - * Limit the list to avoid overwriting the ok-button. - */ - all.use_height = height - MIN_HIGH - cur_y; - if (all.use_height <= 0) - all.use_height = 1; - - for (k = 0; k < 2; ++k) { - /* create new window for the list */ - data[k].win = dlg_sub_window(dialog, all.use_height, list_width, - y + data[k].box_y + 1, - x + data[k].box_x + 1); - - /* draw a box around the list items */ - dlg_draw_box(dialog, data[k].box_y, data[k].box_x, - all.use_height + 2 * MARGIN, - list_width + 2 * MARGIN, - menubox_border_attr, menubox_border2_attr); - } - - text_width = 0; - name_width = 0; - /* Find length of longest item to center buildlist */ - for (i = 0; i < item_no; i++) { - text_width = MAX(text_width, dlg_count_columns(items[i].text)); - name_width = MAX(name_width, dlg_count_columns(items[i].name)); - } - - /* If the name+text is wider than the list is allowed, then truncate - * one or both of them. If the name is no wider than 1/4 of the list, - * leave it intact. - */ - all.use_width = (list_width - 6 * MARGIN); - if (dialog_vars.no_tags && !dialog_vars.no_items) { - full_width = MIN(all.use_width, text_width); - } else if (dialog_vars.no_items) { - full_width = MIN(all.use_width, name_width); - } else { - if (text_width >= 0 - && name_width >= 0 - && all.use_width > 0 - && text_width + name_width > all.use_width) { - int need = (int) (0.25 * all.use_width); - if (name_width > need) { - int want = (int) (all.use_width * ((double) name_width) / - (text_width + name_width)); - name_width = (want > need) ? want : need; - } - text_width = all.use_width - name_width; - } - full_width = text_width + name_width; - } - - all.check_x = (all.use_width - full_width) / 2; - all.item_x = ((dialog_vars.no_tags - ? 0 - : (dialog_vars.no_items - ? 0 - : (name_width + 2))) - + all.check_x); - - /* ensure we are scrolled to show the current choice */ - j = MIN(all.use_height, item_no); - for (i = 0; i < 2; ++i) { - if ((items[cur_item].state != 0) == i) { - int top_item = cur_item - j + 1; - if (top_item < 0) - top_item = 0; - while ((items[top_item].state != 0) != i) - ++top_item; - set_top_item(&all, top_item, i); - } else { - set_top_item(&all, 0, i); - } - } - - /* register the new window, along with its borders */ - for (i = 0; i < 2; ++i) { - dlg_mouse_mkbigregion(data[i].box_y + 1, - data[i].box_x, - all.use_height, - list_width + 2, - 2 * KEY_MAX + (i * (1 + all.use_height)), - 1, 1, 1 /* by lines */ ); - } - - dlg_draw_buttons(dialog, height - 2, 0, buttons, button, FALSE, width); - - while (result == DLG_EXIT_UNKNOWN) { - int which = (items[cur_item].state != 0); - MY_DATA *moi = data + which; - int at_top = index2row(&all, moi->top_index, which); - int at_end = index2row(&all, -1, which); - int at_bot = skip_rows(&all, at_top, all.use_height, which); - int was_mouse; - - DLG_TRACE(("# ** state %d:%d top %d (%d:%d:%d) %s\n", - cur_item, item_no - 1, - moi->top_index, - at_top, at_bot, at_end, - mySide(which))); - - if (first) { - print_both(&all, cur_item); - dlg_trace_win(dialog); - first = FALSE; - } - - if (button < 0) { /* --visit-items */ - int cur_row = index2row(&all, cur_item, which); - cur_y = (data[which].box_y - + cur_row - + 1); - if (at_top > 0) - cur_y -= at_top; - cur_x = (data[which].box_x - + all.check_x + 1); - DLG_TRACE(("# ...visit row %d (%d,%d)\n", cur_row, cur_y, cur_x)); - wmove(dialog, cur_y, cur_x); - } - - key = dlg_mouse_wgetch(dialog, &fkey); - if (dlg_result_key(key, fkey, &result)) { - if (!dlg_button_key(result, &button, &key, &fkey)) - break; - } - - was_mouse = (fkey && is_DLGK_MOUSE(key)); - if (was_mouse) - key -= M_EVENT; - - if (!was_mouse) { - ; - } else if (key >= 2 * KEY_MAX) { - i = (key - 2 * KEY_MAX) % (1 + all.use_height); - j = (key - 2 * KEY_MAX) / (1 + all.use_height); - k = row2index(&all, i + at_top, j); - DLG_TRACE(("# MOUSE column %d, row %d ->item %d\n", j, i, k)); - if (k >= 0 && j < 2) { - if (j != which) { - /* - * Mouse click was in the other column. - */ - moi = data + j; - fix_top_item(&all, k, j); - } - which = j; - at_top = index2row(&all, moi->top_index, which); - at_bot = skip_rows(&all, at_top, all.use_height, which); - cur_item = k; - print_both(&all, cur_item); - key = DLGK_TOGGLE; /* force the selected item to toggle */ - } else { - beep(); - continue; - } - fkey = FALSE; - } else if (key >= KEY_MIN) { - if (key > KEY_MAX) { - if (which == 0) { - key = KEY_RIGHTCOL; /* switch to right-column */ - fkey = FALSE; - } else { - key -= KEY_MAX; - } - } else { - if (which == 1) { - key = KEY_LEFTCOL; /* switch to left-column */ - fkey = FALSE; - } - } - key = dlg_lookup_key(dialog, key, &fkey); - } - - /* - * A space toggles the item status. Normally we put the cursor on - * the next available item in the same column. But if there are no - * more items in the column, move the cursor to the other column. - */ - if (key == DLGK_TOGGLE) { - int new_choice; - int new_state = items[cur_item].state + 1; - - if ((new_choice = next_item(&all, cur_item, which)) == cur_item) { - new_choice = prev_item(&all, cur_item, which); - } - DLG_TRACE(("# cur_item %d, new_choice:%d\n", cur_item, new_choice)); - /* FIXME - how to test and handle multiple states? */ - if (new_state >= num_states) - new_state = 0; - - items[cur_item].state = new_state; - if (order_mode) { - fill_one_side(&all, 0); - if (new_state) { - append_right_side(&all, cur_item); - } else { - amend_right_side(&all, cur_item); - } - } else { - fill_both_sides(&all); - } - if (cur_item == moi->top_index) { - set_top_item(&all, new_choice, which); - } - - if (new_choice >= 0) { - fix_top_item(&all, cur_item, !which); - cur_item = new_choice; - } - print_both(&all, cur_item); - dlg_trace_win(dialog); - continue; /* wait for another key press */ - } - - /* - * Check if key pressed matches first character of any item tag in - * list. If there is more than one match, we will cycle through - * each one as the same key is pressed repeatedly. - */ - found = FALSE; - if (!fkey) { - if (button < 0 || !dialog_state.visit_items) { - for (j = cur_item + 1; j < item_no; j++) { - if (check_hotkey(items, j, which)) { - found = TRUE; - i = j; - break; - } - } - if (!found) { - for (j = 0; j <= cur_item; j++) { - if (check_hotkey(items, j, which)) { - found = TRUE; - i = j; - break; - } - } - } - if (found) - dlg_flush_getc(); - } else if ((j = dlg_char_to_button(key, buttons)) >= 0) { - button = j; - ungetch('\n'); - continue; - } - } - - /* - * A single digit (1-9) positions the selection to that line in the - * current screen. - */ - if (!found - && (key <= '9') - && (key > '0') - && (key - '1' < at_bot)) { - found = TRUE; - i = key - '1'; - } - - if (!found && fkey) { - switch (key) { - case DLGK_FIELD_PREV: - if ((button == sRIGHT) && dialog_state.visit_items) { - key = DLGK_GRID_LEFT; - button = sLEFT; - } else { - button = dlg_prev_button(buttons, button); - dlg_draw_buttons(dialog, height - 2, 0, buttons, button, - FALSE, width); - if (button == sRIGHT) { - key = DLGK_GRID_RIGHT; - } else { - continue; - } - } - break; - case DLGK_FIELD_NEXT: - if ((button == sLEFT) && dialog_state.visit_items) { - key = DLGK_GRID_RIGHT; - button = sRIGHT; - } else { - button = dlg_next_button(buttons, button); - dlg_draw_buttons(dialog, height - 2, 0, buttons, button, - FALSE, width); - if (button == sLEFT) { - key = DLGK_GRID_LEFT; - } else { - continue; - } - } - break; - } - } - - if (!found && fkey) { - i = cur_item; - found = TRUE; - switch (key) { - case DLGK_GRID_LEFT: - i = closest_item(&all, cur_item, 0); - fix_top_item(&all, i, 0); - break; - case DLGK_GRID_RIGHT: - if (order_mode) { - i = last_item(&all, 1); - } else { - i = closest_item(&all, cur_item, 1); - } - fix_top_item(&all, i, 1); - break; - case DLGK_PAGE_PREV: - if (cur_item > moi->top_index) { - i = moi->top_index; - } else if (moi->top_index != 0) { - int temp = at_top; - if ((temp -= all.use_height) < 0) - temp = 0; - i = row2index(&all, temp, which); - } - break; - case DLGK_PAGE_NEXT: - if ((at_end - at_bot) < all.use_height) { - i = next_item(&all, - row2index(&all, at_end, which), - which); - } else { - i = next_item(&all, - row2index(&all, at_bot, which), - which); - at_top = at_bot; - set_top_item(&all, - next_item(&all, - row2index(&all, at_top, which), - which), - which); - at_bot = skip_rows(&all, at_top, all.use_height, which); - at_bot = MIN(at_bot, at_end); - } - break; - case DLGK_ITEM_FIRST: - i = first_item(&all, which); - break; - case DLGK_ITEM_LAST: - i = last_item(&all, which); - break; - case DLGK_ITEM_PREV: - i = prev_item(&all, cur_item, which); - if (stop_prev(&all, cur_item, which)) - continue; - break; - case DLGK_ITEM_NEXT: - i = next_item(&all, cur_item, which); - break; - default: - found = FALSE; - break; - } - } - - if (found) { - if (i != cur_item) { - int now_at = index2row(&all, i, which); - int oops = item_no; - int old_item; - - DLG_TRACE(("# <--CHOICE %d\n", i)); - DLG_TRACE(("# <--topITM %d\n", moi->top_index)); - DLG_TRACE(("# <--now_at %d\n", now_at)); - DLG_TRACE(("# <--at_top %d\n", at_top)); - DLG_TRACE(("# <--at_bot %d\n", at_bot)); - - if (now_at >= at_bot) { - while (now_at >= at_bot) { - if ((at_bot - at_top) >= all.use_height) { - set_top_item(&all, - next_item(&all, moi->top_index, which), - which); - } - at_top = index2row(&all, moi->top_index, which); - at_bot = skip_rows(&all, at_top, all.use_height, which); - - DLG_TRACE(("# ...at_bot %d (now %d vs %d)\n", - at_bot, now_at, at_end)); - DLG_TRACE(("# ...topITM %d\n", moi->top_index)); - DLG_TRACE(("# ...at_top %d (diff %d)\n", at_top, - at_bot - at_top)); - - if (at_bot >= at_end) { - /* - * If we bumped into the end, move the top-item - * down by one line so that we can display the - * last item in the list. - */ - if ((at_bot - at_top) > all.use_height) { - set_top_item(&all, - next_item(&all, moi->top_index, which), - which); - } else if (at_top > 0 && - (at_bot - at_top) >= all.use_height) { - set_top_item(&all, - next_item(&all, moi->top_index, which), - which); - } - break; - } - if (--oops < 0) { - DLG_TRACE(("# OOPS-forward\n")); - break; - } - } - } else if (now_at < at_top) { - while (now_at < at_top) { - old_item = moi->top_index; - set_top_item(&all, - prev_item(&all, moi->top_index, which), - which); - at_top = index2row(&all, moi->top_index, which); - - DLG_TRACE(("# ...at_top %d (now %d)\n", at_top, now_at)); - DLG_TRACE(("# ...topITM %d\n", moi->top_index)); - - if (moi->top_index >= old_item) - break; - if (at_top <= now_at) - break; - if (--oops < 0) { - DLG_TRACE(("# OOPS-backward\n")); - break; - } - } - } - DLG_TRACE(("# -->now_at %d\n", now_at)); - cur_item = i; - print_both(&all, cur_item); - } - dlg_trace_win(dialog); - continue; /* wait for another key press */ - } - - if (fkey) { - switch (key) { - case DLGK_ENTER: - result = dlg_enter_buttoncode(button); - break; - case DLGK_LEAVE: - result = dlg_ok_buttoncode(button); - break; -#ifdef KEY_RESIZE - case KEY_RESIZE: - dlg_will_resize(dialog); - /* reset data */ - height = old_height; - width = old_width; - free(prompt); - _dlg_resize_cleanup(dialog); - /* repaint */ - first = TRUE; - goto retry; -#endif - default: - if (was_mouse) { - if ((key2 = dlg_ok_buttoncode(key)) >= 0) { - result = key2; - break; - } - beep(); - } - } - } else if (key > 0) { - beep(); - } - } - - /* - * If told to re-order the list, update it to reflect the current display: - * a) The left-side will be at the beginning, without gaps. - * b) The right-side will follow, in display-order. - */ - if (order_mode) { - DIALOG_LISTITEM *redo; - int row; - int choice; - int new_item = cur_item; - - redo = dlg_calloc(DIALOG_LISTITEM, (size_t) item_no + 1); - assert_ptr(redo, THIS_FUNC); - - j = 0; - for (k = 0; k < 2; ++k) { - for (row = 0; row < item_no; ++row) { - if (myItem(all.list + k, row) == 0) - break; - choice = row2index(&all, row, k); - if (choice == cur_item) - new_item = j; - redo[j++] = items[choice]; - } - } - - cur_item = new_item; - memcpy(items, redo, sizeof(DIALOG_LISTITEM) * (size_t) (item_no + 1)); - - free(redo); - } - - for (k = 0; k < 2; ++k) { - free(data[k].ip); - } - - dialog_state.visit_cols = save_visit; - dlg_del_window(dialog); - dlg_mouse_free_regions(); - free(prompt); - - *current_item = cur_item; - return result; -#undef THIS_FUNC -} - -/* - * Display a dialog box with a list of options that can be turned on or off - */ -int -dialog_buildlist(const char *title, - const char *cprompt, - int height, - int width, - int list_height, - int item_no, - char **items, - int order_mode) -{ -#define THIS_FUNC "dialog_buildlist" - int result; - int i, j; - DIALOG_LISTITEM *listitems; - bool separate_output = dialog_vars.separate_output; - bool show_status = FALSE; - int current = 0; - char *help_result; - - DLG_TRACE(("# buildlist args:\n")); - DLG_TRACE2S("title", title); - DLG_TRACE2S("message", cprompt); - DLG_TRACE2N("height", height); - DLG_TRACE2N("width", width); - DLG_TRACE2N("lheight", list_height); - DLG_TRACE2N("llength", item_no); - /* FIXME dump the items[][] too */ - DLG_TRACE2N("order", order_mode != 0); - - listitems = dlg_calloc(DIALOG_LISTITEM, (size_t) item_no + 1); - assert_ptr(listitems, THIS_FUNC); - - for (i = j = 0; i < item_no; ++i) { - listitems[i].name = items[j++]; - listitems[i].text = (dialog_vars.no_items - ? dlg_strempty() - : items[j++]); - listitems[i].state = !dlg_strcmp(items[j++], "on"); - listitems[i].help = ((dialog_vars.item_help) - ? items[j++] - : dlg_strempty()); - } - dlg_align_columns(&listitems[0].text, (int) sizeof(DIALOG_LISTITEM), item_no); - - result = dlg_buildlist(title, - cprompt, - height, - width, - list_height, - item_no, - listitems, - NULL, - order_mode, - ¤t); - - switch (result) { - case DLG_EXIT_OK: /* FALLTHRU */ - case DLG_EXIT_EXTRA: - show_status = TRUE; - break; - case DLG_EXIT_HELP: - dlg_add_help_listitem(&result, &help_result, &listitems[current]); - if ((show_status = dialog_vars.help_status)) { - if (separate_output) { - dlg_add_string(help_result); - } else { - dlg_add_quoted(help_result); - } - } else { - dlg_add_string(help_result); - } - break; - } - - if (show_status) { - for (i = 0; i < item_no; i++) { - if (listitems[i].state) { - if (dlg_need_separator()) - dlg_add_separator(); - if (separate_output) { - dlg_add_string(listitems[i].name); - } else { - dlg_add_quoted(listitems[i].name); - } - } - } - AddLastKey(); - } - - dlg_free_columns(&listitems[0].text, (int) sizeof(DIALOG_LISTITEM), item_no); - free(listitems); - return result; -#undef THIS_FUNC -} diff --git a/contrib/dialog/buttons.c b/contrib/dialog/buttons.c deleted file mode 100644 index 1a9c87ee67a5..000000000000 --- a/contrib/dialog/buttons.c +++ /dev/null @@ -1,833 +0,0 @@ -/* - * $Id: buttons.c,v 1.106 2021/01/17 17:03:16 tom Exp $ - * - * buttons.c -- draw buttons, e.g., OK/Cancel - * - * Copyright 2000-2020,2021 Thomas E. Dickey - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License, version 2.1 - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this program; if not, write to - * Free Software Foundation, Inc. - * 51 Franklin St., Fifth Floor - * Boston, MA 02110, USA. - */ - -#include <dialog.h> -#include <dlg_keys.h> - -#ifdef NEED_WCHAR_H -#include <wchar.h> -#endif - -#define MIN_BUTTON (-dialog_state.visit_cols) -#define CHR_BUTTON (!dialog_state.plain_buttons) - -static void -center_label(char *buffer, int longest, const char *label) -{ - int len = dlg_count_columns(label); - int right = 0; - - *buffer = 0; - if (len < longest) { - int left = (longest - len) / 2; - right = (longest - len - left); - if (left > 0) - sprintf(buffer, "%*s", left, " "); - } - strcat(buffer, label); - if (right > 0) - sprintf(buffer + strlen(buffer), "%*s", right, " "); -} - -/* - * Parse a multibyte character out of the string, set it past the parsed - * character. - */ -static int -string_to_char(const char **stringp) -{ - int result; -#ifdef USE_WIDE_CURSES - const char *string = *stringp; - size_t have = strlen(string); - size_t len; - wchar_t cmp2[2]; - mbstate_t state; - - memset(&state, 0, sizeof(state)); - len = mbrlen(string, have, &state); - - if ((int) len > 0 && len <= have) { - size_t check; - - memset(&state, 0, sizeof(state)); - memset(cmp2, 0, sizeof(cmp2)); - check = mbrtowc(cmp2, string, len, &state); - if ((int) check <= 0) - cmp2[0] = 0; - *stringp += len; - } else { - cmp2[0] = UCH(*string); - *stringp += 1; - } - result = cmp2[0]; -#else - const char *string = *stringp; - result = UCH(*string); - *stringp += 1; -#endif - return result; -} - -static size_t -count_labels(const char **labels) -{ - size_t result = 0; - if (labels != 0) { - while (*labels++ != 0) { - ++result; - } - } - return result; -} - -/* - * Check if the latest key should be added to the hotkey list. - */ -static int -was_hotkey(int this_key, int *used_keys, size_t next) -{ - int result = FALSE; - - if (next != 0) { - size_t n; - for (n = 0; n < next; ++n) { - if (used_keys[n] == this_key) { - result = TRUE; - break; - } - } - } - return result; -} - -/* - * Determine the hot-keys for a set of button-labels. Normally these are - * the first uppercase character in each label. However, if more than one - * button has the same first-uppercase, then we will (attempt to) look for - * an alternate. - * - * This allocates data which must be freed by the caller. - */ -static int * -get_hotkeys(const char **labels) -{ - int *result = 0; - size_t count = count_labels(labels); - - if ((result = dlg_calloc(int, count + 1)) != 0) { - size_t n; - - for (n = 0; n < count; ++n) { - const char *label = labels[n]; - const int *indx = dlg_index_wchars(label); - int limit = dlg_count_wchars(label); - int i; - - for (i = 0; i < limit; ++i) { - int first = indx[i]; - int check = UCH(label[first]); -#ifdef USE_WIDE_CURSES - int last = indx[i + 1]; - if ((last - first) != 1) { - const char *temp = (label + first); - check = string_to_char(&temp); - } -#endif - if (dlg_isupper(check) && !was_hotkey(check, result, n)) { - result[n] = check; - break; - } - } - } - } - return result; -} - -typedef enum { - sFIND_KEY = 0 - ,sHAVE_KEY = 1 - ,sHAD_KEY = 2 -} HOTKEY; - -/* - * Print a button - */ -static void -print_button(WINDOW *win, char *label, int hotkey, int y, int x, int selected) -{ - int i; - HOTKEY state = sFIND_KEY; - const int *indx = dlg_index_wchars(label); - int limit = dlg_count_wchars(label); - chtype key_attr = (selected - ? button_key_active_attr - : button_key_inactive_attr); - chtype label_attr = (selected - ? button_label_active_attr - : button_label_inactive_attr); - - (void) wmove(win, y, x); - dlg_attrset(win, selected - ? button_active_attr - : button_inactive_attr); - (void) waddstr(win, "<"); - dlg_attrset(win, label_attr); - for (i = 0; i < limit; ++i) { - int check; - int first = indx[i]; - int last = indx[i + 1]; - - switch (state) { - case sFIND_KEY: - check = UCH(label[first]); -#ifdef USE_WIDE_CURSES - if ((last - first) != 1) { - const char *temp = (label + first); - check = string_to_char(&temp); - } -#endif - if (check == hotkey) { - dlg_attrset(win, key_attr); - state = sHAVE_KEY; - } - break; - case sHAVE_KEY: - dlg_attrset(win, label_attr); - state = sHAD_KEY; - break; - default: - break; - } - waddnstr(win, label + first, last - first); - } - dlg_attrset(win, selected - ? button_active_attr - : button_inactive_attr); - (void) waddstr(win, ">"); - if (!dialog_vars.cursor_off_label) { - (void) wmove(win, y, x + ((int) (strspn) (label, " ")) + 1); - } -} - -/* - * Count the buttons in the list. - */ -int -dlg_button_count(const char **labels) -{ - int result = 0; - while (*labels++ != 0) - ++result; - return result; -} - -/* - * Compute the size of the button array in columns. Return the total number of - * columns in *length, and the longest button's columns in *longest - */ -void -dlg_button_sizes(const char **labels, - int vertical, - int *longest, - int *length) -{ - int n; - - *length = 0; - *longest = 0; - for (n = 0; labels[n] != 0; n++) { - if (vertical) { - *length += 1; - *longest = 1; - } else { - int len = dlg_count_columns(labels[n]); - if (len > *longest) - *longest = len; - *length += len; - } - } - /* - * If we can, make all of the buttons the same size. This is only optional - * for buttons laid out horizontally. - */ - if (*longest < 6 - (*longest & 1)) - *longest = 6 - (*longest & 1); - if (!vertical) - *length = *longest * n; -} - -/* - * Compute the size of the button array. - */ -int -dlg_button_x_step(const char **labels, int limit, int *gap, int *margin, int *step) -{ - int count = dlg_button_count(labels); - int longest; - int length; - int result; - - *margin = 0; - if (count != 0) { - int unused; - int used; - - dlg_button_sizes(labels, FALSE, &longest, &length); - used = (length + (count * 2)); - unused = limit - used; - - if ((*gap = unused / (count + 3)) <= 0) { - if ((*gap = unused / (count + 1)) <= 0) - *gap = 1; - *margin = *gap; - } else { - *margin = *gap * 2; - } - *step = *gap + (used + count - 1) / count; - result = (*gap > 0) && (unused >= 0); - } else { - result = 0; - } - return result; -} - -/* - * Make sure there is enough space for the buttons - */ -void -dlg_button_layout(const char **labels, int *limit) -{ - int gap, margin, step; - - if (labels != 0 && dlg_button_count(labels)) { - int width = 1; - - while (!dlg_button_x_step(labels, width, &gap, &margin, &step)) - ++width; - width += (4 * MARGIN); - if (width > COLS) - width = COLS; - if (width > *limit) - *limit = width; - } -} - -/* - * Print a list of buttons at the given position. - */ -void -dlg_draw_buttons(WINDOW *win, - int y, int x, - const char **labels, - int selected, - int vertical, - int limit) -{ - chtype save = dlg_get_attrs(win); - int step = 0; - int length; - int longest; - int final_x; - int final_y; - int gap; - int margin; - size_t need; - - dlg_mouse_setbase(getbegx(win), getbegy(win)); - - getyx(win, final_y, final_x); - - dlg_button_sizes(labels, vertical, &longest, &length); - - if (vertical) { - y += 1; - step = 1; - } else { - dlg_button_x_step(labels, limit, &gap, &margin, &step); - x += margin; - } - - /* - * Allocate a buffer big enough for any label. - */ - need = (size_t) longest; - if (need != 0) { - char *buffer; - int n; - int *hotkeys = get_hotkeys(labels); - - assert_ptr(hotkeys, "dlg_draw_buttons"); - - for (n = 0; labels[n] != 0; ++n) { - need += strlen(labels[n]) + 1; - } - buffer = dlg_malloc(char, need); - assert_ptr(buffer, "dlg_draw_buttons"); - - /* - * Draw the labels. - */ - for (n = 0; labels[n] != 0; n++) { - center_label(buffer, longest, labels[n]); - mouse_mkbutton(y, x, dlg_count_columns(buffer), n); - print_button(win, buffer, - CHR_BUTTON ? hotkeys[n] : -1, - y, x, - (selected == n) || (n == 0 && selected < 0)); - if (selected == n) - getyx(win, final_y, final_x); - - if (vertical) { - if ((y += step) > limit) - break; - } else { - if ((x += step) > limit) - break; - } - } - (void) wmove(win, final_y, final_x); - wrefresh(win); - dlg_attrset(win, save); - free(buffer); - free(hotkeys); - } -} - -/* - * Match a given character against the beginning of the string, ignoring case - * of the given character. The matching string must begin with an uppercase - * character. - */ -int -dlg_match_char(int ch, const char *string) -{ - if (!dialog_vars.no_hot_list) { - if (string != 0) { - int cmp2 = string_to_char(&string); -#ifdef USE_WIDE_CURSES - wint_t cmp1 = dlg_toupper(ch); - if (cmp2 != 0 && (wchar_t) cmp1 == (wchar_t) dlg_toupper(cmp2)) { - return TRUE; - } -#else - if (ch > 0 && ch < 256) { - if (dlg_toupper(ch) == dlg_toupper(cmp2)) - return TRUE; - } -#endif - } - } - return FALSE; -} - -/* - * Find the first uppercase character in the label, which we may use for an - * abbreviation. - */ -int -dlg_button_to_char(const char *label) -{ - int cmp = -1; - - while (*label != 0) { - int ch = string_to_char(&label); - if (dlg_isupper(ch)) { - cmp = ch; - break; - } - } - return cmp; -} - -/* - * Given a list of button labels, and a character which may be the abbreviation - * for one, find it, if it exists. An abbreviation will be the first character - * which happens to be capitalized in the label. - */ -int -dlg_char_to_button(int ch, const char **labels) -{ - int result = DLG_EXIT_UNKNOWN; - - if (labels != 0) { - int *hotkeys = get_hotkeys(labels); - - ch = (int) dlg_toupper(dlg_last_getc()); - - if (hotkeys != 0) { - int j; - - for (j = 0; labels[j] != 0; ++j) { - if (ch == hotkeys[j]) { - dlg_flush_getc(); - result = j; - break; - } - } - free(hotkeys); - } - } - - return result; -} - -static const char * -my_yes_label(void) -{ - return (dialog_vars.yes_label != NULL) - ? dialog_vars.yes_label - : _("Yes"); -} - -static const char * -my_no_label(void) -{ - return (dialog_vars.no_label != NULL) - ? dialog_vars.no_label - : _("No"); -} - -static const char * -my_ok_label(void) -{ - return (dialog_vars.ok_label != NULL) - ? dialog_vars.ok_label - : _("OK"); -} - -static const char * -my_cancel_label(void) -{ - return (dialog_vars.cancel_label != NULL) - ? dialog_vars.cancel_label - : _("Cancel"); -} - -static const char * -my_exit_label(void) -{ - return (dialog_vars.exit_label != NULL) - ? dialog_vars.exit_label - : _("EXIT"); -} - -static const char * -my_extra_label(void) -{ - return (dialog_vars.extra_label != NULL) - ? dialog_vars.extra_label - : _("Extra"); -} - -static const char * -my_help_label(void) -{ - return (dialog_vars.help_label != NULL) - ? dialog_vars.help_label - : _("Help"); -} - -/* - * Return a list of button labels. - */ -const char ** -dlg_exit_label(void) -{ - const char **result; - DIALOG_VARS save; - - if (dialog_vars.extra_button) { - dlg_save_vars(&save); - dialog_vars.nocancel = TRUE; - result = dlg_ok_labels(); - dlg_restore_vars(&save); - } else { - static const char *labels[3]; - int n = 0; - - if (!dialog_vars.nook) - labels[n++] = my_exit_label(); - if (dialog_vars.help_button) - labels[n++] = my_help_label(); - if (n == 0) - labels[n++] = my_exit_label(); - labels[n] = 0; - - result = labels; - } - return result; -} - -/* - * Map the given button index for dlg_exit_label() into our exit-code. - */ -int -dlg_exit_buttoncode(int button) -{ - int result; - DIALOG_VARS save; - - dlg_save_vars(&save); - dialog_vars.nocancel = TRUE; - - result = dlg_ok_buttoncode(button); - - dlg_restore_vars(&save); - - return result; -} - -static const char ** -finish_ok_label(const char **labels, int n) -{ - if (n == 0) { - labels[n++] = my_ok_label(); - dialog_vars.nook = FALSE; - dlg_trace_msg("# ignore --nook, since at least one button is needed\n"); - } - - labels[n] = NULL; - return labels; -} - -/* - * Return a list of button labels for the OK (no Cancel) group, used in msgbox - * and progressbox. - */ -const char ** -dlg_ok_label(void) -{ - static const char *labels[4]; - int n = 0; - - if (!dialog_vars.nook) - labels[n++] = my_ok_label(); - if (dialog_vars.extra_button) - labels[n++] = my_extra_label(); - if (dialog_vars.help_button) - labels[n++] = my_help_label(); - - return finish_ok_label(labels, n); -} - -/* - * Return a list of button labels for the OK/Cancel group, used in most widgets - * that select an option or data. - */ -const char ** -dlg_ok_labels(void) -{ - static const char *labels[5]; - int n = 0; - - if (!dialog_vars.nook) - labels[n++] = my_ok_label(); - if (dialog_vars.extra_button) - labels[n++] = my_extra_label(); - if (!dialog_vars.nocancel) - labels[n++] = my_cancel_label(); - if (dialog_vars.help_button) - labels[n++] = my_help_label(); - - return finish_ok_label(labels, n); -} - -/* - * Map the given button index for dlg_ok_labels() into our exit-code - */ -int -dlg_ok_buttoncode(int button) -{ - int result = DLG_EXIT_ERROR; - int n = !dialog_vars.nook; - - if (!dialog_vars.nook && (button <= 0)) { - result = DLG_EXIT_OK; - } else if (dialog_vars.extra_button && (button == n++)) { - result = DLG_EXIT_EXTRA; - } else if (!dialog_vars.nocancel && (button == n++)) { - result = DLG_EXIT_CANCEL; - } else if (dialog_vars.help_button && (button == n)) { - result = DLG_EXIT_HELP; - } - DLG_TRACE(("# dlg_ok_buttoncode(%d) = %d:%s\n", - button, result, dlg_exitcode2s(result))); - return result; -} - -/* - * Given that we're using dlg_ok_labels() to list buttons, find the next index - * in the list of buttons. The 'extra' parameter if negative provides a way to - * enumerate extra active areas on the widget. - */ -int -dlg_next_ok_buttonindex(int current, int extra) -{ - int result = current + 1; - - if (current >= 0 - && dlg_ok_buttoncode(result) < 0) - result = extra; - return result; -} - -/* - * Similarly, find the previous button index. - */ -int -dlg_prev_ok_buttonindex(int current, int extra) -{ - int result = current - 1; - - if (result < extra) { - for (result = 0; dlg_ok_buttoncode(result + 1) >= 0; ++result) { - ; - } - } - return result; -} - -/* - * Find the button-index for the "OK" or "Cancel" button, according to - * whether --defaultno is given. If --nocancel was given, we always return - * the index for the first button (usually "OK" unless --nook was used). - */ -int -dlg_defaultno_button(void) -{ - int result = 0; - - if (dialog_vars.defaultno && !dialog_vars.nocancel) { - while (dlg_ok_buttoncode(result) != DLG_EXIT_CANCEL) - ++result; - } - DLG_TRACE(("# dlg_defaultno_button() = %d\n", result)); - return result; -} - -/* - * Find the button-index for a button named with --default-button. If the - * option was not specified, or if the selected button does not exist, return - * the index of the first button (usually "OK" unless --nook was used). - */ -int -dlg_default_button(void) -{ - int result = 0; - - if (dialog_vars.default_button >= 0) { - int i, n; - - for (i = 0; (n = dlg_ok_buttoncode(i)) >= 0; i++) { - if (n == dialog_vars.default_button) { - result = i; - break; - } - } - } - DLG_TRACE(("# dlg_default_button() = %d\n", result)); - return result; -} - -/* - * Return a list of buttons for Yes/No labels. - */ -const char ** -dlg_yes_labels(void) -{ - const char **result; - - if (dialog_vars.extra_button) { - result = dlg_ok_labels(); - } else { - static const char *labels[4]; - int n = 0; - - labels[n++] = my_yes_label(); - labels[n++] = my_no_label(); - if (dialog_vars.help_button) - labels[n++] = my_help_label(); - labels[n] = 0; - - result = labels; - } - - return result; -} - -/* - * Map the given button index for dlg_yes_labels() into our exit-code. - */ -int -dlg_yes_buttoncode(int button) -{ - int result = DLG_EXIT_ERROR; - - if (dialog_vars.extra_button) { - result = dlg_ok_buttoncode(button); - } else if (button == 0) { - result = DLG_EXIT_OK; - } else if (button == 1) { - result = DLG_EXIT_CANCEL; - } else if (button == 2 && dialog_vars.help_button) { - result = DLG_EXIT_HELP; - } - - return result; -} - -/* - * Return the next index in labels[]; - */ -int -dlg_next_button(const char **labels, int button) -{ - if (button < -1) - button = -1; - - if (labels[button + 1] != 0) { - ++button; - } else { - button = MIN_BUTTON; - } - return button; -} - -/* - * Return the previous index in labels[]; - */ -int -dlg_prev_button(const char **labels, int button) -{ - if (button > MIN_BUTTON) { - --button; - } else { - if (button < -1) - button = -1; - - while (labels[button + 1] != 0) - ++button; - } - return button; -} diff --git a/contrib/dialog/calendar.c b/contrib/dialog/calendar.c deleted file mode 100644 index 0caff60072c5..000000000000 --- a/contrib/dialog/calendar.c +++ /dev/null @@ -1,1016 +0,0 @@ -/* - * $Id: calendar.c,v 1.106 2020/11/23 09:03:49 tom Exp $ - * - * calendar.c -- implements the calendar box - * - * Copyright 2001-2019,2020 Thomas E. Dickey - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License, version 2.1 - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this program; if not, write to - * Free Software Foundation, Inc. - * 51 Franklin St., Fifth Floor - * Boston, MA 02110, USA. - */ - -#include <dlg_internals.h> -#include <dlg_keys.h> - -#include <time.h> - -#ifdef HAVE_STDINT_H -#include <stdint.h> -#else -#define intptr_t long -#endif - -#define ONE_DAY (60 * 60 * 24) - -#define MON_WIDE 4 /* width of a month-name */ -#define DAY_HIGH 6 /* maximum lines in day-grid */ -#define DAY_WIDE (8 * MON_WIDE) /* width of the day-grid */ -#define HDR_HIGH 1 /* height of cells with month/year */ -#define BTN_HIGH 1 /* height of button-row excluding margin */ - -/* two more lines: titles for day-of-week and month/year boxes */ -#define MIN_HIGH (DAY_HIGH + 2 + HDR_HIGH + BTN_HIGH + (MAX_DAYS * MARGIN)) -#define MIN_WIDE (DAY_WIDE + (4 * MARGIN)) - -typedef enum { - sMONTH = -3 - ,sYEAR = -2 - ,sDAY = -1 -} STATES; - -struct _box; - -typedef int (*BOX_DRAW) (struct _box *, struct tm *); - -typedef struct _box { - WINDOW *parent; - WINDOW *window; - int x; - int y; - int width; - int height; - BOX_DRAW box_draw; - int week_start; -} BOX; - -#define MAX_DAYS 7 -#define MAX_MONTHS 12 - -static char *cached_days[MAX_DAYS]; -static char *cached_months[MAX_MONTHS]; - -static const char * -nameOfDayOfWeek(int n) -{ - static bool shown[MAX_DAYS]; - - while (n < 0) { - n += MAX_DAYS; - } - n %= MAX_DAYS; -#ifdef ENABLE_NLS - if (cached_days[n] == 0) { - const nl_item items[MAX_DAYS] = - { - ABDAY_1, ABDAY_2, ABDAY_3, ABDAY_4, ABDAY_5, ABDAY_6, ABDAY_7 - }; - cached_days[n] = dlg_strclone(nl_langinfo(items[n])); - memset(shown, 0, sizeof(shown)); - } -#endif - if (cached_days[n] == 0) { - static const char *posix_days[MAX_DAYS] = - { - "Sunday", - "Monday", - "Tuesday", - "Wednesday", - "Thursday", - "Friday", - "Saturday" - }; - size_t limit = MON_WIDE - 1; - char *value = dlg_strclone(posix_days[n]); - - /* - * POSIX does not actually say what the length of an abbreviated name - * is. Typically it is 2, which will fit into our layout. That also - * happens to work with CJK entries as seen in glibc, which are a - * double-width cell. For now (2016/01/26), handle too-long names only - * for POSIX values. - */ - if (strlen(value) > limit) - value[limit] = '\0'; - cached_days[n] = value; - } - if (!shown[n]) { - DLG_TRACE(("# DAY(%d) = '%s'\n", n, cached_days[n])); - shown[n] = TRUE; - } - return cached_days[n]; -} - -static const char * -nameOfMonth(int n) -{ - static bool shown[MAX_MONTHS]; - - while (n < 0) { - n += MAX_MONTHS; - } - n %= MAX_MONTHS; -#ifdef ENABLE_NLS - if (cached_months[n] == 0) { - const nl_item items[MAX_MONTHS] = - { - MON_1, MON_2, MON_3, MON_4, MON_5, MON_6, - MON_7, MON_8, MON_9, MON_10, MON_11, MON_12 - }; - cached_months[n] = dlg_strclone(nl_langinfo(items[n])); - memset(shown, 0, sizeof(shown)); - } -#endif - if (cached_months[n] == 0) { - static const char *posix_mons[MAX_MONTHS] = - { - "January", - "February", - "March", - "April", - "May", - "June", - "July", - "August", - "September", - "October", - "November", - "December" - }; - cached_months[n] = dlg_strclone(posix_mons[n]); - } - if (!shown[n]) { - DLG_TRACE(("# MON(%d) = '%s'\n", n, cached_months[n])); - shown[n] = TRUE; - } - return cached_months[n]; -} - -/* - * Algorithm for Gregorian calendar. - */ -static int -isleap(int y) -{ - return ((y % 4 == 0) && - ((y % 100 != 0) || - (y % 400 == 0))) ? 1 : 0; -} - -static void -adjust_year_month(int *year, int *month) -{ - while (*month < 0) { - *month += MAX_MONTHS; - *year -= 1; - } - while (*month >= MAX_MONTHS) { - *month -= MAX_MONTHS; - *year += 1; - } -} - -static int -days_per_month(int year, int month) -{ - static const int nominal[] = - { - 31, 28, 31, 30, 31, 30, - 31, 31, 30, 31, 30, 31 - }; - int result; - - adjust_year_month(&year, &month); - result = nominal[month]; - if (month == 1) - result += isleap(year); - return result; -} - -static int -days_in_month(struct tm *current, int offset /* -1, 0, 1 */ ) -{ - int year = current->tm_year + 1900; - int month = current->tm_mon + offset; - - adjust_year_month(&year, &month); - return days_per_month(year, month); -} - -static int -days_per_year(int year) -{ - return (isleap(year) ? 366 : 365); -} - -static int -days_in_year(struct tm *current, int offset /* -1, 0, 1 */ ) -{ - return days_per_year(current->tm_year + 1900 + offset); -} - -/* - * Adapted from C FAQ - * "17.28: How can I find the day of the week given the date?" - * implementation by Tomohiko Sakamoto. - * - * d = day (0 to whatever) - * m = month (1 through 12) - * y = year (1752 and later, for Gregorian calendar) - */ -static int -day_of_week(int y, int m, int d) -{ - static int t[] = - { - 0, 3, 2, 5, 0, 3, 5, 1, 4, 6, 2, 4 - }; - y -= (m < 3); - return (6 + (y + (y / 4) - (y / 100) + (y / 400) + t[m - 1] + d)) % MAX_DAYS; -} - -static int -day_in_year(int year, int month, int day) -{ - int result = day; - while (--month >= 1) - result += days_per_month(year, month); - return result; -} - -static int -iso_week(int year, int month, int day) -{ - int week = 1; - int dow; - int new_year_dow; - int diy; - int new_years_eve_dow; - static const int thursday = 3; - - /* add the number weeks *between* date and newyear */ - diy = day_in_year(year, month, day); - week += (diy - 1) / MAX_DAYS; - - /* 0 = Monday */ - dow = day_of_week(year, month, day); - new_year_dow = day_of_week(year, 1, 1); - - /* - * If New Year falls on Friday, Saturday or Sunday, then New Years's week - * is the last week of the preceding year. In that case subtract one week. - */ - if (new_year_dow > thursday) - --week; - - /* Add one week if there is a Sunday to Monday transition. */ - if (dow - new_year_dow < 0) - ++week; - - /* Check if we are in the last week of the preceding year. */ - if (week < 1) { - week = iso_week(--year, 12, 31); - } - - /* - * If we are in the same week as New Year's eve, check if New Year's eve is - * in the first week of the next year. - */ - new_years_eve_dow = (new_year_dow + 364 + isleap(year)) % MAX_DAYS; - if (365 + isleap(year) - diy < MAX_DAYS - && new_years_eve_dow >= dow - && new_years_eve_dow < thursday) { - week = 1; - } - return week; -} - -static int * -getisoweeks(int year, int month) -{ - static int result[10]; - int windx = 0; - int day; - int dpm = days_per_month(year, month); - - for (day = 1; day <= dpm; day += MAX_DAYS) - result[windx++] = iso_week(year, month, day); - /* - * Ensure that there is a week number associated with the last day of the - * month, e.g., in case the last day of the month falls before Thursday, - * so that we have to show the week-number for the beginning of the - * following month. - */ - result[windx] = iso_week(year, month, dpm); - return result; -} - -static int -day_cell_number(struct tm *current) -{ - int cell; - cell = current->tm_mday - ((6 + current->tm_mday - current->tm_wday) % MAX_DAYS); - if ((current->tm_mday - 1) % MAX_DAYS != current->tm_wday) - cell += 6; - else - cell--; - return cell; -} - -static int -next_or_previous(int key, int two_d) -{ - int result = 0; - - switch (key) { - case DLGK_GRID_UP: - result = two_d ? -MAX_DAYS : -1; - break; - case DLGK_GRID_LEFT: - result = -1; - break; - case DLGK_GRID_DOWN: - result = two_d ? MAX_DAYS : 1; - break; - case DLGK_GRID_RIGHT: - result = 1; - break; - default: - beep(); - break; - } - return result; -} - -/* - * Draw the day-of-month selection box - */ -static int -draw_day(BOX * data, struct tm *current) -{ - int cell_wide = MON_WIDE; - int y, x, this_x; - int save_y = 0, save_x = 0; - int day = current->tm_mday; - int mday; - int week = 0; - int windx = 0; - int *weeks = 0; - int last = days_in_month(current, 0); - int prev = days_in_month(current, -1); - - werase(data->window); - dlg_draw_box2(data->parent, - data->y - MARGIN, data->x - MARGIN, - data->height + (2 * MARGIN), data->width + (2 * MARGIN), - menubox_attr, - menubox_border_attr, - menubox_border2_attr); - - dlg_attrset(data->window, menubox_attr); /* daynames headline */ - for (x = 0; x < MAX_DAYS; x++) { - mvwprintw(data->window, - 0, (x + 1) * cell_wide, "%*.*s ", - cell_wide - 1, - cell_wide - 1, - nameOfDayOfWeek(x + data->week_start)); - } - - mday = ((6 + current->tm_mday - - current->tm_wday + - data->week_start) % MAX_DAYS) - MAX_DAYS; - if (mday <= -MAX_DAYS) - mday += MAX_DAYS; - - if (dialog_vars.iso_week) { - weeks = getisoweeks(current->tm_year + 1900, current->tm_mon + 1); - } else { - /* mday is now in the range -6 to 0. */ - week = (current->tm_yday + 6 + mday - current->tm_mday) / MAX_DAYS; - } - - for (y = 1; mday < last; y++) { - dlg_attrset(data->window, menubox_attr); /* weeknumbers headline */ - mvwprintw(data->window, - y, 0, - "%*d ", - cell_wide - 1, - weeks ? weeks[windx++] : ++week); - for (x = 0; x < MAX_DAYS; x++) { - this_x = 1 + (x + 1) * cell_wide; - ++mday; - if (wmove(data->window, y, this_x) == ERR) - continue; - dlg_attrset(data->window, item_attr); /* not selected days */ - if (mday == day) { - dlg_attrset(data->window, item_selected_attr); /* selected day */ - save_y = y; - save_x = this_x; - } - if (mday > 0) { - if (mday <= last) { - wprintw(data->window, "%*d", cell_wide - 2, mday); - } else if (mday == day) { - wprintw(data->window, "%*d", cell_wide - 2, mday - last); - } - } else if (mday == day) { - wprintw(data->window, "%*d", cell_wide - 2, mday + prev); - } - } - wmove(data->window, save_y, save_x); - } - /* just draw arrows - scrollbar is unsuitable here */ - dlg_draw_arrows(data->parent, TRUE, TRUE, - data->x + ARROWS_COL, - data->y - 1, - data->y + data->height); - - return 0; -} - -/* - * Draw the month-of-year selection box - */ -static int -draw_month(BOX * data, struct tm *current) -{ - int month; - - month = current->tm_mon + 1; - - dlg_attrset(data->parent, dialog_attr); /* Headline "Month" */ - (void) mvwprintw(data->parent, data->y - 2, data->x - 1, _("Month")); - dlg_draw_box2(data->parent, - data->y - 1, data->x - 1, - data->height + 2, data->width + 2, - menubox_attr, - menubox_border_attr, - menubox_border2_attr); - dlg_attrset(data->window, item_attr); /* color the month selection */ - mvwprintw(data->window, 0, 0, "%s", nameOfMonth(month - 1)); - wmove(data->window, 0, 0); - return 0; -} - -/* - * Draw the year selection box - */ -static int -draw_year(BOX * data, struct tm *current) -{ - int year = current->tm_year + 1900; - - dlg_attrset(data->parent, dialog_attr); /* Headline "Year" */ - (void) mvwprintw(data->parent, data->y - 2, data->x - 1, _("Year")); - dlg_draw_box2(data->parent, - data->y - 1, data->x - 1, - data->height + 2, data->width + 2, - menubox_attr, - menubox_border_attr, - menubox_border2_attr); - dlg_attrset(data->window, item_attr); /* color the year selection */ - mvwprintw(data->window, 0, 0, "%4d", year); - wmove(data->window, 0, 0); - return 0; -} - -static int -init_object(BOX * data, - WINDOW *parent, - int x, int y, - int width, int height, - BOX_DRAW box_draw, - int key_offset, - int code) -{ - data->parent = parent; - data->x = x; - data->y = y; - data->width = width; - data->height = height; - data->box_draw = box_draw; - data->week_start = key_offset; - - data->window = dlg_der_window(data->parent, - data->height, data->width, - data->y, data->x); - if (data->window == 0) - return -1; - - dlg_mouse_setbase(getbegx(parent), getbegy(parent)); - if (code == 'D') { - dlg_mouse_mkbigregion(y + 1, x + MON_WIDE, height - 1, width - MON_WIDE, - KEY_MAX + key_offset, 1, MON_WIDE, 3); - } else { - dlg_mouse_mkregion(y, x, height, width, code); - } - - return 0; -} - -#if defined(ENABLE_NLS) && defined(HAVE_NL_LANGINFO_1STDAY) -#elif defined(HAVE_DLG_GAUGE) -static int -read_locale_setting(const char *name, int which) -{ - FILE *fp; - char command[80]; - int result = -1; - - sprintf(command, "locale %s", name); - if ((fp = dlg_popen(command, "r")) != 0) { - int count = 0; - char buf[80]; - - while (fgets(buf, (int) sizeof(buf) - 1, fp) != 0) { - if (++count > which) { - char *next = 0; - long check = strtol(buf, &next, 0); - if (next != 0 && - next != buf && - *next == '\n') { - result = (int) check; - } - break; - } - } - pclose(fp); - } - return result; -} -#endif - -static int -WeekStart(void) -{ - int result = 0; - char *option = dialog_vars.week_start; - if (option != 0) { - if (option[0]) { - char *next = 0; - long check = strtol(option, &next, 0); - if (next == 0 || - next == option || - *next != '\0') { - if (!strcmp(option, "locale")) { -#if defined(ENABLE_NLS) && defined(HAVE_NL_LANGINFO_1STDAY) - /* - * glibc-specific. - */ - int first_day = nl_langinfo(_NL_TIME_FIRST_WEEKDAY)[0]; - char *basis_ptr = nl_langinfo(_NL_TIME_WEEK_1STDAY); - int basis_day = (int) (intptr_t) basis_ptr; -#elif defined(HAVE_DLG_GAUGE) - /* - * probably Linux-specific, but harmless otherwise. When - * available, the locale program will return a single - * integer on one line. - */ - int first_day = read_locale_setting("first_weekday", 0); - int basis_day = read_locale_setting("week-1stday", 0); -#endif -#if (defined(ENABLE_NLS) && defined(HAVE_NL_LANGINFO_1STDAY)) || defined(HAVE_DLG_GAUGE) - int week_1stday = -1; - if (basis_day == 19971130) - week_1stday = 0; /* Sun */ - else if (basis_day == 19971201) - week_1stday = 1; /* Mon */ - if (week_1stday >= 0) { - result = first_day - week_1stday - 1; - } -#else - result = 0; /* Sun */ -#endif - } else { - int day; - size_t eql = strlen(option); - for (day = 0; day < MAX_DAYS; ++day) { - if (!strncmp(nameOfDayOfWeek(day), option, eql)) { - result = day; - break; - } - } - } - } else if (check < 0) { - result = -1; - } else { - result = (int) (check % MAX_DAYS); - } - } - } - return result; -} - -static int -CleanupResult(int code, WINDOW *dialog, char *prompt, DIALOG_VARS * save_vars) -{ - int n; - - if (dialog != 0) - dlg_del_window(dialog); - dlg_mouse_free_regions(); - if (prompt != 0) - free(prompt); - dlg_restore_vars(save_vars); - - for (n = 0; n < MAX_DAYS; ++n) { - free(cached_days[n]); - cached_days[n] = 0; - } - for (n = 0; n < MAX_MONTHS; ++n) { - free(cached_months[n]); - cached_months[n] = 0; - } - - return code; -} - -static void -trace_date(struct tm *current, struct tm *old) -{ - bool changed = (old == 0 || - current->tm_mday != old->tm_mday || - current->tm_mon != old->tm_mon || - current->tm_year != old->tm_year); - if (changed) { - DLG_TRACE(("# current %04d/%02d/%02d\n", - current->tm_year + 1900, - current->tm_mon + 1, - current->tm_mday)); - } else { - DLG_TRACE(("# current (unchanged)\n")); - } -} - -#define DrawObject(data) (data)->box_draw(data, ¤t) - -/* - * Display a dialog box for entering a date - */ -int -dialog_calendar(const char *title, - const char *subtitle, - int height, - int width, - int day, - int month, - int year) -{ - /* *INDENT-OFF* */ - static DLG_KEYS_BINDING binding[] = { - HELPKEY_BINDINGS, - ENTERKEY_BINDINGS, - TOGGLEKEY_BINDINGS, - DLG_KEYS_DATA( DLGK_FIELD_NEXT, TAB ), - DLG_KEYS_DATA( DLGK_FIELD_PREV, KEY_BTAB ), - DLG_KEYS_DATA( DLGK_GRID_DOWN, 'j' ), - DLG_KEYS_DATA( DLGK_GRID_DOWN, DLGK_MOUSE(KEY_NPAGE) ), - DLG_KEYS_DATA( DLGK_GRID_DOWN, KEY_DOWN ), - DLG_KEYS_DATA( DLGK_GRID_DOWN, KEY_NPAGE ), - DLG_KEYS_DATA( DLGK_GRID_LEFT, '-' ), - DLG_KEYS_DATA( DLGK_GRID_LEFT, 'h' ), - DLG_KEYS_DATA( DLGK_GRID_LEFT, CHR_BACKSPACE ), - DLG_KEYS_DATA( DLGK_GRID_LEFT, CHR_PREVIOUS ), - DLG_KEYS_DATA( DLGK_GRID_LEFT, KEY_LEFT ), - DLG_KEYS_DATA( DLGK_GRID_RIGHT, '+' ), - DLG_KEYS_DATA( DLGK_GRID_RIGHT, 'l' ), - DLG_KEYS_DATA( DLGK_GRID_RIGHT, CHR_NEXT ), - DLG_KEYS_DATA( DLGK_GRID_RIGHT, KEY_NEXT ), - DLG_KEYS_DATA( DLGK_GRID_RIGHT, KEY_RIGHT ), - DLG_KEYS_DATA( DLGK_GRID_UP, 'k' ), - DLG_KEYS_DATA( DLGK_GRID_UP, KEY_PPAGE ), - DLG_KEYS_DATA( DLGK_GRID_UP, KEY_PREVIOUS ), - DLG_KEYS_DATA( DLGK_GRID_UP, KEY_UP ), - DLG_KEYS_DATA( DLGK_GRID_UP, DLGK_MOUSE(KEY_PPAGE) ), - END_KEYS_BINDING - }; - /* *INDENT-ON* */ - -#ifdef KEY_RESIZE - int old_height = height; - int old_width = width; -#endif - BOX dy_box, mn_box, yr_box; - int fkey; - int key; - int step; - int button; - int result = DLG_EXIT_UNKNOWN; - int week_start; - WINDOW *dialog; - time_t now_time; - struct tm current; - int state = dlg_default_button(); - const char **buttons = dlg_ok_labels(); - char *prompt; - int mincols = MIN_WIDE; - char buffer[MAX_LEN]; - DIALOG_VARS save_vars; - - DLG_TRACE(("# calendar args:\n")); - DLG_TRACE2S("title", title); - DLG_TRACE2S("message", subtitle); - DLG_TRACE2N("height", height); - DLG_TRACE2N("width", width); - DLG_TRACE2N("day", day); - DLG_TRACE2N("month", month); - DLG_TRACE2N("year", year); - - dlg_save_vars(&save_vars); - dialog_vars.separate_output = TRUE; - - dlg_does_output(); - - /* - * Unless overridden, the current time/date is our starting point. - */ - now_time = time((time_t *) 0); - current = *localtime(&now_time); - -#if HAVE_MKTIME - current.tm_isdst = -1; - if (year >= 1900) { - current.tm_year = year - 1900; - } - if (month >= 1) { - current.tm_mon = month - 1; - } - if (day > 0 && day <= days_per_month(current.tm_year + 1900, - current.tm_mon + 1)) { - current.tm_mday = day; - } - now_time = mktime(¤t); -#else - if (day < 0) - day = current.tm_mday; - if (month < 0) - month = current.tm_mon + 1; - if (year < 0) - year = current.tm_year + 1900; - - /* compute a struct tm that matches the day/month/year parameters */ - if (((year -= 1900) > 0) && (year < 200)) { - /* ugly, but I'd like to run this on older machines w/o mktime -TD */ - for (;;) { - if (year > current.tm_year) { - now_time += ONE_DAY * days_in_year(¤t, 0); - } else if (year < current.tm_year) { - now_time -= ONE_DAY * days_in_year(¤t, -1); - } else if (month > current.tm_mon + 1) { - now_time += ONE_DAY * days_in_month(¤t, 0); - } else if (month < current.tm_mon + 1) { - now_time -= ONE_DAY * days_in_month(¤t, -1); - } else if (day > current.tm_mday) { - now_time += ONE_DAY; - } else if (day < current.tm_mday) { - now_time -= ONE_DAY; - } else { - break; - } - current = *localtime(&now_time); - } - } -#endif - - dlg_button_layout(buttons, &mincols); - -#ifdef KEY_RESIZE - retry: -#endif - - prompt = dlg_strclone(subtitle); - dlg_auto_size(title, prompt, &height, &width, 0, mincols); - - height += MIN_HIGH - 1; - dlg_print_size(height, width); - dlg_ctl_size(height, width); - - dialog = dlg_new_window(height, width, - dlg_box_y_ordinate(height), - dlg_box_x_ordinate(width)); - dlg_register_window(dialog, "calendar", binding); - dlg_register_buttons(dialog, "calendar", buttons); - - /* mainbox */ - dlg_draw_box2(dialog, 0, 0, height, width, dialog_attr, border_attr, border2_attr); - dlg_draw_bottom_box2(dialog, border_attr, border2_attr, dialog_attr); - dlg_draw_title(dialog, title); - - dlg_attrset(dialog, dialog_attr); /* text mainbox */ - dlg_print_autowrap(dialog, prompt, height, width); - - /* compute positions of day, month and year boxes */ - memset(&dy_box, 0, sizeof(dy_box)); - memset(&mn_box, 0, sizeof(mn_box)); - memset(&yr_box, 0, sizeof(yr_box)); - - if ((week_start = WeekStart()) < 0 || - init_object(&dy_box, - dialog, - (width - DAY_WIDE) / 2, - 1 + (height - (DAY_HIGH + BTN_HIGH + (5 * MARGIN))), - DAY_WIDE, - DAY_HIGH + 1, - draw_day, - week_start, - 'D') < 0 || - ((dy_box.week_start = WeekStart()) < 0) || - DrawObject(&dy_box) < 0) { - return CleanupResult(DLG_EXIT_ERROR, dialog, prompt, &save_vars); - } - - if (init_object(&mn_box, - dialog, - dy_box.x, - dy_box.y - (HDR_HIGH + 2 * MARGIN), - (DAY_WIDE / 2) - MARGIN, - HDR_HIGH, - draw_month, - 0, - 'M') < 0 - || DrawObject(&mn_box) < 0) { - return CleanupResult(DLG_EXIT_ERROR, dialog, prompt, &save_vars); - } - - if (init_object(&yr_box, - dialog, - dy_box.x + mn_box.width + 2, - mn_box.y, - mn_box.width, - mn_box.height, - draw_year, - 0, - 'Y') < 0 - || DrawObject(&yr_box) < 0) { - return CleanupResult(DLG_EXIT_ERROR, dialog, prompt, &save_vars); - } - - dlg_trace_win(dialog); - while (result == DLG_EXIT_UNKNOWN) { - int key2; - BOX *obj = (state == sDAY ? &dy_box - : (state == sMONTH ? &mn_box : - (state == sYEAR ? &yr_box : 0))); - - button = (state < 0) ? 0 : state; - dlg_draw_buttons(dialog, height - 2, 0, buttons, button, FALSE, width); - if (obj != 0) - dlg_set_focus(dialog, obj->window); - - key = dlg_mouse_wgetch(dialog, &fkey); - if (dlg_result_key(key, fkey, &result)) { - if (!dlg_button_key(result, &button, &key, &fkey)) - break; - } -#define Mouse2Key(key) (key - M_EVENT) - if (fkey && (key >= DLGK_MOUSE(KEY_MIN) && key <= DLGK_MOUSE(KEY_MAX))) { - key = dlg_lookup_key(dialog, Mouse2Key(key), &fkey); - } - - if ((key2 = dlg_char_to_button(key, buttons)) >= 0) { - result = key2; - } else if (fkey) { - /* handle function-keys */ - switch (key) { - case DLGK_MOUSE('D'): - state = sDAY; - break; - case DLGK_MOUSE('M'): - state = sMONTH; - break; - case DLGK_MOUSE('Y'): - state = sYEAR; - break; - case DLGK_TOGGLE: - case DLGK_ENTER: - result = dlg_enter_buttoncode(button); - break; - case DLGK_LEAVE: - result = dlg_ok_buttoncode(button); - break; - case DLGK_FIELD_PREV: - state = dlg_prev_ok_buttonindex(state, sMONTH); - break; - case DLGK_FIELD_NEXT: - state = dlg_next_ok_buttonindex(state, sMONTH); - break; -#ifdef KEY_RESIZE - case KEY_RESIZE: - dlg_will_resize(dialog); - /* reset data */ - height = old_height; - width = old_width; - free(prompt); - _dlg_resize_cleanup(dialog); - /* repaint */ - goto retry; -#endif - default: - step = 0; - key2 = -1; - if (is_DLGK_MOUSE(key)) { - if ((key2 = dlg_ok_buttoncode(Mouse2Key(key))) >= 0) { - result = key2; - break; - } else if (key >= DLGK_MOUSE(KEY_MAX)) { - state = sDAY; - obj = &dy_box; - key2 = 1; - step = (key - - DLGK_MOUSE(KEY_MAX) - - day_cell_number(¤t)); - DLG_TRACE(("# mouseclick decoded %d\n", step)); - } - } - if (obj != 0) { - if (key2 < 0) { - step = next_or_previous(key, (obj == &dy_box)); - } - if (step != 0) { - struct tm old = current; - - /* see comment regarding mktime -TD */ - if (obj == &dy_box) { - now_time += ONE_DAY * step; - } else if (obj == &mn_box) { - if (step > 0) - now_time += ONE_DAY * - days_in_month(¤t, 0); - else - now_time -= ONE_DAY * - days_in_month(¤t, -1); - } else if (obj == &yr_box) { - if (step > 0) - now_time += (ONE_DAY - * days_in_year(¤t, 0)); - else - now_time -= (ONE_DAY - * days_in_year(¤t, -1)); - } - - current = *localtime(&now_time); - - trace_date(¤t, &old); - if (obj != &dy_box - && (current.tm_mday != old.tm_mday - || current.tm_mon != old.tm_mon - || current.tm_year != old.tm_year)) - DrawObject(&dy_box); - if (obj != &mn_box && current.tm_mon != old.tm_mon) - DrawObject(&mn_box); - if (obj != &yr_box && current.tm_year != old.tm_year) - DrawObject(&yr_box); - (void) DrawObject(obj); - } - } else if (state >= 0) { - if (next_or_previous(key, FALSE) < 0) - state = dlg_prev_ok_buttonindex(state, sMONTH); - else if (next_or_previous(key, FALSE) > 0) - state = dlg_next_ok_buttonindex(state, sMONTH); - } - break; - } - } - } - -#define DefaultFormat(dst, src) \ - sprintf(dst, "%02d/%02d/%0d", \ - src.tm_mday, src.tm_mon + 1, src.tm_year + 1900) -#ifdef HAVE_STRFTIME - if (dialog_vars.date_format != 0) { - size_t used = strftime(buffer, - sizeof(buffer) - 1, - dialog_vars.date_format, - ¤t); - if (used == 0 || *buffer == '\0') - DefaultFormat(buffer, current); - } else -#endif - DefaultFormat(buffer, current); - - dlg_add_result(buffer); - AddLastKey(); - - return CleanupResult(result, dialog, prompt, &save_vars); -} diff --git a/contrib/dialog/checklist.c b/contrib/dialog/checklist.c deleted file mode 100644 index 13055b77ab4f..000000000000 --- a/contrib/dialog/checklist.c +++ /dev/null @@ -1,702 +0,0 @@ -/* - * $Id: checklist.c,v 1.167 2020/11/23 00:37:47 tom Exp $ - * - * checklist.c -- implements the checklist box - * - * Copyright 2000-2019,2020 Thomas E. Dickey - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License, version 2.1 - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this program; if not, write to - * Free Software Foundation, Inc. - * 51 Franklin St., Fifth Floor - * Boston, MA 02110, USA. - * - * An earlier version of this program lists as authors: - * Savio Lam (lam836@cs.cuhk.hk) - * Stuart Herbert - S.Herbert@sheffield.ac.uk: radiolist extension - * Alessandro Rubini - rubini@ipvvis.unipv.it: merged the two - */ - -#include <dialog.h> -#include <dlg_keys.h> - -#define MIN_HIGH (1 + (5 * MARGIN)) - -typedef struct { - /* the outer-window */ - WINDOW *dialog; - int box_y; - int box_x; - int check_x; - int item_x; - int checkflag; - int use_height; - int use_width; - /* the inner-window */ - WINDOW *list; - DIALOG_LISTITEM *items; - int item_no; - const char *states; -} ALL_DATA; - -/* - * Print list item. The 'selected' parameter is true if 'choice' is the - * current item. That one is colored differently from the other items. - */ -static void -print_item(ALL_DATA * data, - WINDOW *win, - DIALOG_LISTITEM * item, - const char *states, - int choice, - int selected) -{ - chtype save = dlg_get_attrs(win); - int i; - bool both = (!dialog_vars.no_tags && !dialog_vars.no_items); - bool first = TRUE; - int climit = (getmaxx(win) - data->check_x + 1); - const char *show = (dialog_vars.no_items - ? item->name - : item->text); - - /* Clear 'residue' of last item */ - dlg_attrset(win, menubox_attr); - (void) wmove(win, choice, 0); - for (i = 0; i < data->use_width; i++) - (void) waddch(win, ' '); - - (void) wmove(win, choice, data->check_x); - dlg_attrset(win, selected ? check_selected_attr : check_attr); - (void) wprintw(win, - (data->checkflag == FLAG_CHECK) ? "[%c]" : "(%c)", - states[item->state]); - dlg_attrset(win, menubox_attr); - (void) waddch(win, ' '); - - if (both) { - dlg_print_listitem(win, item->name, climit, first, selected); - first = FALSE; - } - - (void) wmove(win, choice, data->item_x); - dlg_print_listitem(win, show, climit, first, selected); - - if (selected) { - dlg_item_help(item->help); - } - dlg_attrset(win, save); -} - -static void -print_list(ALL_DATA * data, int choice, int scrollamt, int max_choice) -{ - int i; - int cur_y, cur_x; - - getyx(data->dialog, cur_y, cur_x); - for (i = 0; i < max_choice; i++) { - print_item(data, - data->list, - &data->items[i + scrollamt], - data->states, - i, i == choice); - } - (void) wnoutrefresh(data->list); - - dlg_draw_scrollbar(data->dialog, - (long) (scrollamt), - (long) (scrollamt), - (long) (scrollamt + max_choice), - (long) (data->item_no), - data->box_x + data->check_x, - data->box_x + data->use_width, - data->box_y, - data->box_y + data->use_height + 1, - menubox_border2_attr, - menubox_border_attr); - - (void) wmove(data->dialog, cur_y, cur_x); -} - -static bool -check_hotkey(DIALOG_LISTITEM * items, int choice) -{ - bool result = FALSE; - - if (dlg_match_char(dlg_last_getc(), - (dialog_vars.no_tags - ? items[choice].text - : items[choice].name))) { - result = TRUE; - } - return result; -} - -/* - * This is an alternate interface to 'checklist' which allows the application - * to read the list item states back directly without putting them in the - * output buffer. It also provides for more than two states over which the - * check/radio box can display. - */ -int -dlg_checklist(const char *title, - const char *cprompt, - int height, - int width, - int list_height, - int item_no, - DIALOG_LISTITEM * items, - const char *states, - int flag, - int *current_item) -{ - /* *INDENT-OFF* */ - static DLG_KEYS_BINDING binding[] = { - HELPKEY_BINDINGS, - ENTERKEY_BINDINGS, - DLG_KEYS_DATA( DLGK_FIELD_NEXT, KEY_RIGHT ), - DLG_KEYS_DATA( DLGK_FIELD_NEXT, TAB ), - DLG_KEYS_DATA( DLGK_FIELD_PREV, KEY_BTAB ), - DLG_KEYS_DATA( DLGK_FIELD_PREV, KEY_LEFT ), - DLG_KEYS_DATA( DLGK_ITEM_FIRST, KEY_HOME ), - DLG_KEYS_DATA( DLGK_ITEM_LAST, KEY_END ), - DLG_KEYS_DATA( DLGK_ITEM_LAST, KEY_LL ), - DLG_KEYS_DATA( DLGK_ITEM_NEXT, '+' ), - DLG_KEYS_DATA( DLGK_ITEM_NEXT, KEY_DOWN ), - DLG_KEYS_DATA( DLGK_ITEM_NEXT, CHR_NEXT ), - DLG_KEYS_DATA( DLGK_ITEM_PREV, '-' ), - DLG_KEYS_DATA( DLGK_ITEM_PREV, KEY_UP ), - DLG_KEYS_DATA( DLGK_ITEM_PREV, CHR_PREVIOUS ), - DLG_KEYS_DATA( DLGK_PAGE_NEXT, KEY_NPAGE ), - DLG_KEYS_DATA( DLGK_PAGE_NEXT, DLGK_MOUSE(KEY_NPAGE) ), - DLG_KEYS_DATA( DLGK_PAGE_PREV, KEY_PPAGE ), - DLG_KEYS_DATA( DLGK_PAGE_PREV, DLGK_MOUSE(KEY_PPAGE) ), - TOGGLEKEY_BINDINGS, - END_KEYS_BINDING - }; - /* *INDENT-ON* */ - -#ifdef KEY_RESIZE - int old_height = height; - int old_width = width; -#endif - ALL_DATA all; - int i, j, key2, found, x, y, cur_x, cur_y; - int key, fkey; - int button = dialog_state.visit_items ? -1 : dlg_default_button(); - int choice = dlg_default_listitem(items); - int scrollamt = 0; - int max_choice; - int use_width, list_width, name_width, text_width; - int result = DLG_EXIT_UNKNOWN; - int num_states; - WINDOW *dialog; - char *prompt; - const char **buttons = dlg_ok_labels(); - const char *widget_name; - - DLG_TRACE(("# %s args:\n", flag ? "checklist" : "radiolist")); - DLG_TRACE2S("title", title); - DLG_TRACE2S("message", cprompt); - DLG_TRACE2N("height", height); - DLG_TRACE2N("width", width); - DLG_TRACE2N("lheight", list_height); - DLG_TRACE2N("llength", item_no); - /* FIXME dump the items[][] too */ - DLG_TRACE2S("states", states); - DLG_TRACE2N("flag", flag); - DLG_TRACE2N("current", *current_item); - - dialog_state.plain_buttons = TRUE; - - memset(&all, 0, sizeof(all)); - all.items = items; - all.item_no = item_no; - - dlg_does_output(); - - /* - * If this is a radiobutton list, ensure that no more than one item is - * selected initially. Allow none to be selected, since some users may - * wish to provide this flavor. - */ - if (flag == FLAG_RADIO) { - bool first = TRUE; - - for (i = 0; i < item_no; i++) { - if (items[i].state) { - if (first) { - first = FALSE; - } else { - items[i].state = 0; - } - } - } - widget_name = "radiolist"; - } else { - widget_name = "checklist"; - } -#ifdef KEY_RESIZE - retry: -#endif - - prompt = dlg_strclone(cprompt); - dlg_tab_correct_str(prompt); - - all.use_height = list_height; - use_width = dlg_calc_list_width(item_no, items) + 10; - use_width = MAX(26, use_width); - if (all.use_height == 0) { - /* calculate height without items (4) */ - dlg_auto_size(title, prompt, &height, &width, MIN_HIGH, use_width); - dlg_calc_listh(&height, &all.use_height, item_no); - } else { - dlg_auto_size(title, prompt, - &height, &width, - MIN_HIGH + all.use_height, use_width); - } - dlg_button_layout(buttons, &width); - dlg_print_size(height, width); - dlg_ctl_size(height, width); - - /* we need at least two states */ - if (states == 0 || strlen(states) < 2) - states = " *"; - num_states = (int) strlen(states); - all.states = states; - - all.checkflag = flag; - - x = dlg_box_x_ordinate(width); - y = dlg_box_y_ordinate(height); - - dialog = dlg_new_window(height, width, y, x); - all.dialog = dialog; - dlg_register_window(dialog, widget_name, binding); - dlg_register_buttons(dialog, widget_name, buttons); - - dlg_mouse_setbase(x, y); - - dlg_draw_box2(dialog, 0, 0, height, width, dialog_attr, border_attr, border2_attr); - dlg_draw_bottom_box2(dialog, border_attr, border2_attr, dialog_attr); - dlg_draw_title(dialog, title); - - dlg_attrset(dialog, dialog_attr); - dlg_print_autowrap(dialog, prompt, height, width); - - all.use_width = width - 6; - getyx(dialog, cur_y, cur_x); - all.box_y = cur_y + 1; - all.box_x = (width - all.use_width) / 2 - 1; - - /* - * After displaying the prompt, we know how much space we really have. - * Limit the list to avoid overwriting the ok-button. - */ - all.use_height = height - MIN_HIGH - cur_y; - if (all.use_height <= 0) - all.use_height = 1; - - max_choice = MIN(all.use_height, item_no); - max_choice = MAX(max_choice, 1); - - /* create new window for the list */ - all.list = dlg_sub_window(dialog, all.use_height, all.use_width, - y + all.box_y + 1, x + all.box_x + 1); - - /* draw a box around the list items */ - dlg_draw_box(dialog, all.box_y, all.box_x, - all.use_height + 2 * MARGIN, - all.use_width + 2 * MARGIN, - menubox_border_attr, menubox_border2_attr); - - text_width = 0; - name_width = 0; - /* Find length of longest item to center checklist */ - for (i = 0; i < item_no; i++) { - text_width = MAX(text_width, dlg_count_columns(items[i].text)); - name_width = MAX(name_width, dlg_count_columns(items[i].name)); - } - - /* If the name+text is wider than the list is allowed, then truncate - * one or both of them. If the name is no wider than 1/4 of the list, - * leave it intact. - */ - use_width = (all.use_width - 6); - if (dialog_vars.no_tags) { - list_width = MIN(all.use_width, text_width); - } else if (dialog_vars.no_items) { - list_width = MIN(all.use_width, name_width); - } else { - if (text_width >= 0 - && name_width >= 0 - && use_width > 0 - && text_width + name_width > use_width) { - int need = (int) (0.25 * use_width); - if (name_width > need) { - int want = (int) (use_width * ((double) name_width) / - (text_width + name_width)); - name_width = (want > need) ? want : need; - } - text_width = use_width - name_width; - } - list_width = (text_width + name_width); - } - - all.check_x = (use_width - list_width) / 2; - all.item_x = ((dialog_vars.no_tags - ? 0 - : (dialog_vars.no_items - ? 0 - : (2 + name_width))) - + all.check_x + 4); - - /* ensure we are scrolled to show the current choice */ - scrollamt = MIN(scrollamt, max_choice + item_no - 1); - if (choice >= (max_choice + scrollamt - 1)) { - scrollamt = MAX(0, choice - max_choice + 1); - choice = max_choice - 1; - } - print_list(&all, choice, scrollamt, max_choice); - - /* register the new window, along with its borders */ - dlg_mouse_mkbigregion(all.box_y + 1, all.box_x, - all.use_height, all.use_width + 2, - KEY_MAX, 1, 1, 1 /* by lines */ ); - - dlg_draw_buttons(dialog, height - 2, 0, buttons, button, FALSE, width); - - dlg_trace_win(dialog); - - while (result == DLG_EXIT_UNKNOWN) { - int was_mouse; - - if (button < 0) /* --visit-items */ - wmove(dialog, all.box_y + choice + 1, all.box_x + all.check_x + 2); - - key = dlg_mouse_wgetch(dialog, &fkey); - if (dlg_result_key(key, fkey, &result)) { - if (!dlg_button_key(result, &button, &key, &fkey)) - break; - } - - was_mouse = (fkey && is_DLGK_MOUSE(key)); - if (was_mouse) - key -= M_EVENT; - - if (was_mouse && (key >= KEY_MAX)) { - getyx(dialog, cur_y, cur_x); - i = (key - KEY_MAX); - if (i < max_choice) { - choice = (key - KEY_MAX); - print_list(&all, choice, scrollamt, max_choice); - - key = DLGK_TOGGLE; /* force the selected item to toggle */ - } else { - beep(); - continue; - } - fkey = FALSE; - } else if (was_mouse && key >= KEY_MIN) { - key = dlg_lookup_key(dialog, key, &fkey); - } - - /* - * A space toggles the item status. We handle either a checklist - * (any number of items can be selected) or radio list (zero or one - * items can be selected). - */ - if (key == DLGK_TOGGLE) { - int current = scrollamt + choice; - int next = items[current].state + 1; - - if (next >= num_states) - next = 0; - - if (flag == FLAG_CHECK) { /* checklist? */ - getyx(dialog, cur_y, cur_x); - items[current].state = next; - print_item(&all, all.list, - &items[scrollamt + choice], - states, - choice, TRUE); - (void) wnoutrefresh(all.list); - (void) wmove(dialog, cur_y, cur_x); - } else { /* radiolist */ - for (i = 0; i < item_no; i++) { - if (i != current) { - items[i].state = 0; - } - } - if (items[current].state) { - getyx(dialog, cur_y, cur_x); - items[current].state = next ? next : 1; - print_item(&all, all.list, - &items[current], - states, - choice, TRUE); - (void) wnoutrefresh(all.list); - (void) wmove(dialog, cur_y, cur_x); - } else { - items[current].state = 1; - print_list(&all, choice, scrollamt, max_choice); - } - } - continue; /* wait for another key press */ - } - - /* - * Check if key pressed matches first character of any item tag in - * list. If there is more than one match, we will cycle through - * each one as the same key is pressed repeatedly. - */ - found = FALSE; - if (!fkey) { - if (button < 0 || !dialog_state.visit_items) { - for (j = scrollamt + choice + 1; j < item_no; j++) { - if (check_hotkey(items, j)) { - found = TRUE; - i = j - scrollamt; - break; - } - } - if (!found) { - for (j = 0; j <= scrollamt + choice; j++) { - if (check_hotkey(items, j)) { - found = TRUE; - i = j - scrollamt; - break; - } - } - } - if (found) - dlg_flush_getc(); - } else if ((j = dlg_char_to_button(key, buttons)) >= 0) { - button = j; - ungetch('\n'); - continue; - } - } - - /* - * A single digit (1-9) positions the selection to that line in the - * current screen. - */ - if (!found - && (key <= '9') - && (key > '0') - && (key - '1' < max_choice)) { - found = TRUE; - i = key - '1'; - } - - if (!found) { - if (fkey) { - found = TRUE; - switch (key) { - case DLGK_ITEM_FIRST: - i = -scrollamt; - break; - case DLGK_ITEM_LAST: - i = item_no - 1 - scrollamt; - break; - case DLGK_PAGE_PREV: - if (choice) - i = 0; - else if (scrollamt != 0) - i = -MIN(scrollamt, max_choice); - else - continue; - break; - case DLGK_PAGE_NEXT: - i = MIN(choice + max_choice, item_no - scrollamt - 1); - break; - case DLGK_ITEM_PREV: - i = choice - 1; - if (choice == 0 && scrollamt == 0) - continue; - break; - case DLGK_ITEM_NEXT: - i = choice + 1; - if (scrollamt + choice >= item_no - 1) - continue; - break; - default: - found = FALSE; - break; - } - } - } - - if (found) { - if (i != choice) { - getyx(dialog, cur_y, cur_x); - if (i < 0 || i >= max_choice) { - if (i < 0) { - scrollamt += i; - choice = 0; - } else { - choice = max_choice - 1; - scrollamt += (i - max_choice + 1); - } - print_list(&all, choice, scrollamt, max_choice); - } else { - choice = i; - print_list(&all, choice, scrollamt, max_choice); - } - } - continue; /* wait for another key press */ - } - - if (fkey) { - switch (key) { - case DLGK_ENTER: - result = dlg_enter_buttoncode(button); - break; - case DLGK_LEAVE: - result = dlg_ok_buttoncode(button); - break; - case DLGK_FIELD_PREV: - button = dlg_prev_button(buttons, button); - dlg_draw_buttons(dialog, height - 2, 0, buttons, button, - FALSE, width); - break; - case DLGK_FIELD_NEXT: - button = dlg_next_button(buttons, button); - dlg_draw_buttons(dialog, height - 2, 0, buttons, button, - FALSE, width); - break; -#ifdef KEY_RESIZE - case KEY_RESIZE: - dlg_will_resize(dialog); - /* reset data */ - height = old_height; - width = old_width; - free(prompt); - _dlg_resize_cleanup(dialog); - /* repaint */ - goto retry; -#endif - default: - if (was_mouse) { - if ((key2 = dlg_ok_buttoncode(key)) >= 0) { - result = key2; - break; - } - beep(); - } - } - } else if (key > 0) { - beep(); - } - } - - dlg_del_window(dialog); - dlg_mouse_free_regions(); - free(prompt); - *current_item = (scrollamt + choice); - return result; -} - -/* - * Display a dialog box with a list of options that can be turned on or off - * The `flag' parameter is used to select between radiolist and checklist. - */ -int -dialog_checklist(const char *title, - const char *cprompt, - int height, - int width, - int list_height, - int item_no, - char **items, - int flag) -{ - int result; - int i, j; - DIALOG_LISTITEM *listitems; - bool separate_output = ((flag == FLAG_CHECK) - && (dialog_vars.separate_output)); - bool show_status = FALSE; - int current = 0; - char *help_result; - - listitems = dlg_calloc(DIALOG_LISTITEM, (size_t) item_no + 1); - assert_ptr(listitems, "dialog_checklist"); - - for (i = j = 0; i < item_no; ++i) { - listitems[i].name = items[j++]; - listitems[i].text = (dialog_vars.no_items - ? dlg_strempty() - : items[j++]); - listitems[i].state = !dlg_strcmp(items[j++], "on"); - listitems[i].help = ((dialog_vars.item_help) - ? items[j++] - : dlg_strempty()); - } - dlg_align_columns(&listitems[0].text, (int) sizeof(DIALOG_LISTITEM), item_no); - - result = dlg_checklist(title, - cprompt, - height, - width, - list_height, - item_no, - listitems, - NULL, - flag, - ¤t); - - switch (result) { - case DLG_EXIT_OK: /* FALLTHRU */ - case DLG_EXIT_EXTRA: - show_status = TRUE; - break; - case DLG_EXIT_HELP: - dlg_add_help_listitem(&result, &help_result, &listitems[current]); - if ((show_status = dialog_vars.help_status)) { - if (separate_output) { - dlg_add_string(help_result); - dlg_add_separator(); - } else { - dlg_add_quoted(help_result); - } - } else { - dlg_add_string(help_result); - } - break; - } - - if (show_status) { - for (i = 0; i < item_no; i++) { - if (listitems[i].state) { - if (separate_output) { - dlg_add_string(listitems[i].name); - dlg_add_separator(); - } else { - if (dlg_need_separator()) - dlg_add_separator(); - if (flag == FLAG_CHECK) - dlg_add_quoted(listitems[i].name); - else - dlg_add_string(listitems[i].name); - } - } - } - dlg_add_last_key(separate_output); - } - - dlg_free_columns(&listitems[0].text, (int) sizeof(DIALOG_LISTITEM), item_no); - free(listitems); - return result; -} diff --git a/contrib/dialog/columns.c b/contrib/dialog/columns.c deleted file mode 100644 index 17f17f5f3d52..000000000000 --- a/contrib/dialog/columns.c +++ /dev/null @@ -1,174 +0,0 @@ -/* - * $Id: columns.c,v 1.11 2019/07/25 00:06:38 tom Exp $ - * - * columns.c -- implements column-alignment - * - * Copyright 2008-2011,2019 Thomas E. Dickey - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License, version 2.1 - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this program; if not, write to - * Free Software Foundation, Inc. - * 51 Franklin St., Fifth Floor - * Boston, MA 02110, USA. - */ - -#include <dialog.h> - -#define each(row, data) \ - row = 0, data = target; \ - row < num_rows; \ - ++row, data = next_row(data, per_row) - -static char * -column_separator(void) -{ - char *result = 0; - - if ((result = dialog_vars.column_separator) != 0) { - if (*result == '\0') - result = 0; - } - return result; -} - -static char ** -next_row(char **target, int per_row) -{ - char *result = (char *) target; - result += per_row; - return (char **) (void *) result; -} - -static char * -next_col(char *source, unsigned offset) -{ - char *mark = column_separator(); - char *result = source + offset; - if (offset) - result += strlen(mark); - return strstr(result, mark); -} - -/* - * Parse the source string, storing the offsets and widths of each column in - * the corresponding arrays. Return the number of columns. - */ -static unsigned -split_row(char *source, unsigned *offsets, unsigned *widths) -{ - int mark = (int) strlen(column_separator()); - char *next = 0; - unsigned result = 0; - unsigned offset = 0; - - do { - if (result) { - offset = (unsigned) (mark + next - source); - widths[result - 1] = offset - offsets[result - 1] - (unsigned) mark; - } - offsets[result] = offset; - ++result; - } while ((next = next_col(source, offset)) != 0); - - offset = (unsigned) strlen(source); - widths[result - 1] = offset - offsets[result - 1]; - - return result; -} - -/* - * The caller passes a pointer to a struct or array containing pointers - * to strings that we may want to copy and reformat according to the column - * separator. - */ -void -dlg_align_columns(char **target, int per_row, int num_rows) -{ - if (column_separator()) { - char **value; - unsigned numcols = 1; - size_t maxcols = 0; - unsigned *widths; - unsigned *offsets; - unsigned *maxwidth; - unsigned realwidth; - unsigned n; - int row; - - /* first allocate arrays for workspace */ - for (each(row, value)) { - size_t len = strlen(*value); - if (maxcols < len) - maxcols = len; - } - ++maxcols; - widths = dlg_calloc(unsigned, maxcols); - offsets = dlg_calloc(unsigned, maxcols); - maxwidth = dlg_calloc(unsigned, maxcols); - - assert_ptr(widths, "dlg_align_columns"); - assert_ptr(offsets, "dlg_align_columns"); - assert_ptr(maxwidth, "dlg_align_columns"); - - /* now, determine the number of columns and the column-widths */ - for (each(row, value)) { - unsigned cols = split_row(*value, offsets, widths); - if (numcols < cols) - numcols = cols; - for (n = 0; n < cols; ++n) { - if (maxwidth[n] < widths[n]) - maxwidth[n] = widths[n]; - } - } - realwidth = numcols - 1; - for (n = 0; n < numcols; ++n) { - realwidth += maxwidth[n]; - } - - /* finally, construct reformatted strings */ - for (each(row, value)) { - unsigned cols = split_row(*value, offsets, widths); - unsigned offset = 0; - char *text = dlg_malloc(char, realwidth + 1); - - assert_ptr(text, "dlg_align_columns"); - - memset(text, ' ', (size_t) realwidth); - for (n = 0; n < cols; ++n) { - memcpy(text + offset, *value + offsets[n], (size_t) widths[n]); - offset += maxwidth[n] + 1; - } - text[realwidth] = 0; - *value = text; - } - - free(widths); - free(offsets); - free(maxwidth); - } -} - -/* - * Free temporary storage used while making column-aligned data. - */ -void -dlg_free_columns(char **target, int per_row, int num_rows) -{ - if (column_separator()) { - int row; - char **value; - - for (each(row, value)) { - free(*value); - } - } -} diff --git a/contrib/dialog/config.guess b/contrib/dialog/config.guess deleted file mode 100755 index 9aff91cfd038..000000000000 --- a/contrib/dialog/config.guess +++ /dev/null @@ -1,1687 +0,0 @@ -#! /bin/sh -# Attempt to guess a canonical system name. -# Copyright 1992-2020 Free Software Foundation, Inc. - -timestamp='2020-08-17' - -# 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 3 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, see <https://www.gnu.org/licenses/>. -# -# 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. This Exception is an additional permission under section 7 -# of the GNU General Public License, version 3 ("GPLv3"). -# -# Originally written by Per Bothner; maintained since 2000 by Ben Elliston. -# -# You can get the latest version of this script from: -# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess -# -# Please send patches to <config-patches@gnu.org>. - - -me=`echo "$0" | sed -e 's,.*/,,'` - -usage="\ -Usage: $0 [OPTION] - -Output the configuration name of the system \`$me' is run on. - -Options: - -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 <config-patches@gnu.org>." - -version="\ -GNU config.guess ($timestamp) - -Originally written by Per Bothner. -Copyright 1992-2020 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 ;; - --version | -v ) - echo "$version" ; exit ;; - --help | --h* | -h ) - echo "$usage"; exit ;; - -- ) # 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 - -# 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. - -tmp= -# shellcheck disable=SC2172 -trap 'test -z "$tmp" || rm -fr "$tmp"' 0 1 2 13 15 - -set_cc_for_build() { - # prevent multiple calls if $tmp is already set - test "$tmp" && return 0 - : "${TMPDIR=/tmp}" - # shellcheck disable=SC2039 - { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || - { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } || - { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } || - { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } - dummy=$tmp/dummy - case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in - ,,) echo "int x;" > "$dummy.c" - for driver in cc gcc c89 c99 ; do - if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then - CC_FOR_BUILD="$driver" - 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 ; 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 - -case "$UNAME_SYSTEM" in -Linux|GNU|GNU/*) - # If the system lacks a compiler, then just pick glibc. - # We could probably try harder. - LIBC=gnu - - set_cc_for_build - cat <<-EOF > "$dummy.c" - #include <features.h> - #if defined(__UCLIBC__) - LIBC=uclibc - #elif defined(__dietlibc__) - LIBC=dietlibc - #else - LIBC=gnu - #endif - EOF - eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`" - - # If ldd exists, use it to detect musl libc. - if command -v ldd >/dev/null && \ - ldd --version 2>&1 | grep -q ^musl - then - LIBC=musl - fi - ;; -esac - -# 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 tuples: *-*-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=`(uname -p 2>/dev/null || \ - "/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 ;; - sh5el) machine=sh5le-unknown ;; - earmv*) - arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'` - endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'` - machine="${arch}${endian}"-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) and ABI. - case "$UNAME_MACHINE_ARCH" in - earm*) - os=netbsdelf - ;; - arm*|i386|m68k|ns32k|sh3*|sparc|vax) - set_cc_for_build - if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep -q __ELF__ - 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 - # Determine ABI tags. - case "$UNAME_MACHINE_ARCH" in - earm*) - expr='s/^earmv[0-9]/-eabi/;s/eb$//' - abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"` - ;; - 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/[-_].*//' | cut -d. -f1,2` - ;; - 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}${abi-}" - exit ;; - *:Bitrig:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` - echo "$UNAME_MACHINE_ARCH"-unknown-bitrig"$UNAME_RELEASE" - exit ;; - *:OpenBSD:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` - echo "$UNAME_MACHINE_ARCH"-unknown-openbsd"$UNAME_RELEASE" - exit ;; - *:LibertyBSD:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'` - echo "$UNAME_MACHINE_ARCH"-unknown-libertybsd"$UNAME_RELEASE" - exit ;; - *:MidnightBSD:*:*) - echo "$UNAME_MACHINE"-unknown-midnightbsd"$UNAME_RELEASE" - exit ;; - *:ekkoBSD:*:*) - echo "$UNAME_MACHINE"-unknown-ekkobsd"$UNAME_RELEASE" - exit ;; - *:SolidBSD:*:*) - echo "$UNAME_MACHINE"-unknown-solidbsd"$UNAME_RELEASE" - exit ;; - *:OS108:*:*) - echo "$UNAME_MACHINE"-unknown-os108_"$UNAME_RELEASE" - exit ;; - macppc:MirBSD:*:*) - echo powerpc-unknown-mirbsd"$UNAME_RELEASE" - exit ;; - *:MirBSD:*:*) - echo "$UNAME_MACHINE"-unknown-mirbsd"$UNAME_RELEASE" - exit ;; - *:Sortix:*:*) - echo "$UNAME_MACHINE"-unknown-sortix - exit ;; - *:Twizzler:*:*) - echo "$UNAME_MACHINE"-unknown-twizzler - exit ;; - *:Redox:*:*) - echo "$UNAME_MACHINE"-unknown-redox - exit ;; - mips:OSF1:*.*) - echo mips-dec-osf1 - exit ;; - 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`" - # Reset EXIT trap before exiting to avoid spurious non-zero exit code. - exitcode=$? - trap '' 0 - exit $exitcode ;; - Amiga*:UNIX_System_V:4.0:*) - echo m68k-unknown-sysv4 - exit ;; - *:[Aa]miga[Oo][Ss]:*:*) - echo "$UNAME_MACHINE"-unknown-amigaos - exit ;; - *:[Mm]orph[Oo][Ss]:*:*) - echo "$UNAME_MACHINE"-unknown-morphos - exit ;; - *:OS/390:*:*) - echo i370-ibm-openedition - exit ;; - *:z/VM:*:*) - echo s390-ibm-zvmoe - exit ;; - *:OS400:*:*) - echo powerpc-ibm-os400 - exit ;; - arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) - echo arm-acorn-riscix"$UNAME_RELEASE" - exit ;; - arm*:riscos:*:*|arm*:RISCOS:*:*) - echo arm-unknown-riscos - exit ;; - SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) - echo hppa1.1-hitachi-hiuxmpp - exit ;; - 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 ;; - NILE*:*:*:dcosx) - echo pyramid-pyramid-svr4 - exit ;; - DRS?6000:unix:4.0:6*) - echo sparc-icl-nx6 - exit ;; - DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) - case `/usr/bin/uname -p` in - sparc) echo sparc-icl-nx7; exit ;; - esac ;; - s390x:SunOS:*:*) - echo "$UNAME_MACHINE"-ibm-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`" - exit ;; - sun4H:SunOS:5.*:*) - echo sparc-hal-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" - exit ;; - sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) - echo sparc-sun-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`" - exit ;; - i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) - echo i386-pc-auroraux"$UNAME_RELEASE" - exit ;; - i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) - set_cc_for_build - SUN_ARCH=i386 - # If there is a compiler, see if it is configured for 64-bit objects. - # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. - # This test works for both compilers. - if test "$CC_FOR_BUILD" != no_compiler_found; then - if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_64BIT_ARCH >/dev/null - then - SUN_ARCH=x86_64 - fi - fi - echo "$SUN_ARCH"-pc-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" - exit ;; - 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 ;; - 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 ;; - sun3*:SunOS:*:*) - echo m68k-sun-sunos"$UNAME_RELEASE" - exit ;; - 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 ;; - aushp:SunOS:*:*) - echo sparc-auspex-sunos"$UNAME_RELEASE" - exit ;; - # 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 ;; - atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint"$UNAME_RELEASE" - exit ;; - *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) - echo m68k-atari-mint"$UNAME_RELEASE" - exit ;; - milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) - echo m68k-milan-mint"$UNAME_RELEASE" - exit ;; - hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) - echo m68k-hades-mint"$UNAME_RELEASE" - exit ;; - *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) - echo m68k-unknown-mint"$UNAME_RELEASE" - exit ;; - m68k:machten:*:*) - echo m68k-apple-machten"$UNAME_RELEASE" - exit ;; - powerpc:machten:*:*) - echo powerpc-apple-machten"$UNAME_RELEASE" - exit ;; - RISC*:Mach:*:*) - echo mips-dec-mach_bsd4.3 - exit ;; - RISC*:ULTRIX:*:*) - echo mips-dec-ultrix"$UNAME_RELEASE" - exit ;; - VAX*:ULTRIX*:*:*) - echo vax-dec-ultrix"$UNAME_RELEASE" - exit ;; - 2020:CLIX:*:* | 2430:CLIX:*:*) - echo clipper-intergraph-clix"$UNAME_RELEASE" - exit ;; - mips:*:*:UMIPS | mips:*:*:RISCos) - set_cc_for_build - sed 's/^ //' << EOF > "$dummy.c" -#ifdef __cplusplus -#include <stdio.h> /* 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" && - dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` && - SYSTEM_NAME=`"$dummy" "$dummyarg"` && - { echo "$SYSTEM_NAME"; exit; } - echo mips-mips-riscos"$UNAME_RELEASE" - exit ;; - Motorola:PowerMAX_OS:*:*) - echo powerpc-motorola-powermax - exit ;; - Motorola:*:4.3:PL8-*) - echo powerpc-harris-powermax - exit ;; - Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) - echo powerpc-harris-powermax - exit ;; - Night_Hawk:Power_UNIX:*:*) - echo powerpc-harris-powerunix - exit ;; - m88k:CX/UX:7*:*) - echo m88k-harris-cxux7 - exit ;; - m88k:*:4*:R4*) - echo m88k-motorola-sysv4 - exit ;; - m88k:*:3*:R3*) - echo m88k-motorola-sysv3 - exit ;; - AViiON:dgux:*:*) - # DG/UX returns AViiON for all architectures - UNAME_PROCESSOR=`/usr/bin/uname -p` - if test "$UNAME_PROCESSOR" = mc88100 || test "$UNAME_PROCESSOR" = mc88110 - then - if test "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx || \ - test "$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 ;; - M88*:DolphinOS:*:*) # DolphinOS (SVR3) - echo m88k-dolphin-sysv3 - exit ;; - M88*:*:R3*:*) - # Delta 88k system running SVR3 - echo m88k-motorola-sysv3 - exit ;; - XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) - echo m88k-tektronix-sysv3 - exit ;; - Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) - echo m68k-tektronix-bsd - exit ;; - *:IRIX*:*:*) - echo mips-sgi-irix"`echo "$UNAME_RELEASE"|sed -e 's/-/_/g'`" - exit ;; - ????????: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 ;; # Note that: echo "'`uname -s`'" gives 'AIX ' - i*86:AIX:*:*) - echo i386-ibm-aix - exit ;; - ia64:AIX:*:*) - if test -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 ;; - *:AIX:2:3) - if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then - set_cc_for_build - sed 's/^ //' << EOF > "$dummy.c" - #include <sys/systemcfg.h> - - main() - { - if (!__power_pc()) - exit(1); - puts("powerpc-ibm-aix3.2.5"); - exit(0); - } -EOF - if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` - then - echo "$SYSTEM_NAME" - else - echo rs6000-ibm-aix3.2.5 - fi - 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 ;; - *:AIX:*:[4567]) - 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 test -x /usr/bin/lslpp ; then - IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | - awk -F: '{ print $3 }' | sed s/[0-9]*$/0/` - else - IBM_REV="$UNAME_VERSION.$UNAME_RELEASE" - fi - echo "$IBM_ARCH"-ibm-aix"$IBM_REV" - exit ;; - *:AIX:*:*) - echo rs6000-ibm-aix - exit ;; - ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*) - echo romp-ibm-bsd4.4 - exit ;; - ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and - echo romp-ibm-bsd"$UNAME_RELEASE" # 4.3 with uname added to - exit ;; # report: romp-ibm BSD 4.3 - *:BOSX:*:*) - echo rs6000-bull-bosx - exit ;; - DPX/2?00:B.O.S.:*:*) - echo m68k-bull-sysv3 - exit ;; - 9000/[34]??:4.3bsd:1.*:*) - echo m68k-hp-bsd - exit ;; - hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) - echo m68k-hp-bsd4.4 - exit ;; - 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 test -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 test "$HP_ARCH" = ""; then - set_cc_for_build - sed 's/^ //' << EOF > "$dummy.c" - - #define _HPUX_SOURCE - #include <stdlib.h> - #include <unistd.h> - - 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 test "$HP_ARCH" = hppa2.0w - then - set_cc_for_build - - # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating - # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler - # generating 64-bit code. GNU and HP use different nomenclature: - # - # $ CC_FOR_BUILD=cc ./config.guess - # => hppa2.0w-hp-hpux11.23 - # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess - # => hppa64-hp-hpux11.23 - - if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | - grep -q __LP64__ - then - HP_ARCH=hppa2.0w - else - HP_ARCH=hppa64 - fi - fi - echo "$HP_ARCH"-hp-hpux"$HPUX_REV" - exit ;; - ia64:HP-UX:*:*) - HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'` - echo ia64-hp-hpux"$HPUX_REV" - exit ;; - 3050*:HI-UX:*:*) - set_cc_for_build - sed 's/^ //' << EOF > "$dummy.c" - #include <unistd.h> - 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" && SYSTEM_NAME=`"$dummy"` && - { echo "$SYSTEM_NAME"; exit; } - echo unknown-hitachi-hiuxwe2 - exit ;; - 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*) - echo hppa1.1-hp-bsd - exit ;; - 9000/8??:4.3bsd:*:*) - echo hppa1.0-hp-bsd - exit ;; - *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) - echo hppa1.0-hp-mpeix - exit ;; - hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*) - echo hppa1.1-hp-osf - exit ;; - hp8??:OSF1:*:*) - echo hppa1.0-hp-osf - exit ;; - i*86:OSF1:*:*) - if test -x /usr/sbin/sysversion ; then - echo "$UNAME_MACHINE"-unknown-osf1mk - else - echo "$UNAME_MACHINE"-unknown-osf1 - fi - exit ;; - parisc*:Lites*:*:*) - echo hppa1.1-hp-lites - exit ;; - C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) - echo c1-convex-bsd - exit ;; - C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) - if getsysinfo -f scalar_acc - then echo c32-convex-bsd - else echo c2-convex-bsd - fi - exit ;; - C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) - echo c34-convex-bsd - exit ;; - C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) - echo c38-convex-bsd - exit ;; - C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) - echo c4-convex-bsd - exit ;; - CRAY*Y-MP:*:*:*) - echo ymp-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' - exit ;; - 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 ;; - CRAY*TS:*:*:*) - echo t90-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*T3E:*:*:*) - echo alphaev5-cray-unicosmk"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*SV1:*:*:*) - echo sv1-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' - exit ;; - *:UNICOS/mp:*:*) - echo craynv-cray-unicosmp"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' - exit ;; - 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 ;; - 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 ;; - i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) - echo "$UNAME_MACHINE"-pc-bsdi"$UNAME_RELEASE" - exit ;; - sparc*:BSD/OS:*:*) - echo sparc-unknown-bsdi"$UNAME_RELEASE" - exit ;; - *:BSD/OS:*:*) - echo "$UNAME_MACHINE"-unknown-bsdi"$UNAME_RELEASE" - exit ;; - arm:FreeBSD:*:*) - UNAME_PROCESSOR=`uname -p` - set_cc_for_build - if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep -q __ARM_PCS_VFP - then - echo "${UNAME_PROCESSOR}"-unknown-freebsd"`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`"-gnueabi - else - echo "${UNAME_PROCESSOR}"-unknown-freebsd"`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`"-gnueabihf - fi - exit ;; - *:FreeBSD:*:*) - UNAME_PROCESSOR=`/usr/bin/uname -p` - case "$UNAME_PROCESSOR" in - amd64) - UNAME_PROCESSOR=x86_64 ;; - i386) - UNAME_PROCESSOR=i586 ;; - esac - echo "$UNAME_PROCESSOR"-unknown-freebsd"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`" - exit ;; - i*:CYGWIN*:*) - echo "$UNAME_MACHINE"-pc-cygwin - exit ;; - *:MINGW64*:*) - echo "$UNAME_MACHINE"-pc-mingw64 - exit ;; - *:MINGW*:*) - echo "$UNAME_MACHINE"-pc-mingw32 - exit ;; - *:MSYS*:*) - echo "$UNAME_MACHINE"-pc-msys - exit ;; - i*:PW*:*) - echo "$UNAME_MACHINE"-pc-pw32 - exit ;; - *:Interix*:*) - case "$UNAME_MACHINE" in - x86) - echo i586-pc-interix"$UNAME_RELEASE" - exit ;; - authenticamd | genuineintel | EM64T) - echo x86_64-unknown-interix"$UNAME_RELEASE" - exit ;; - IA64) - echo ia64-unknown-interix"$UNAME_RELEASE" - exit ;; - esac ;; - i*:UWIN*:*) - echo "$UNAME_MACHINE"-pc-uwin - exit ;; - amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) - echo x86_64-pc-cygwin - exit ;; - prep*:SunOS:5.*:*) - echo powerpcle-unknown-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" - exit ;; - *:GNU:*:*) - # the GNU system - echo "`echo "$UNAME_MACHINE"|sed -e 's,[-/].*$,,'`-unknown-$LIBC`echo "$UNAME_RELEASE"|sed -e 's,/.*$,,'`" - exit ;; - *:GNU/*:*:*) - # other systems with GNU libc and userland - echo "$UNAME_MACHINE-unknown-`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`-$LIBC" - exit ;; - *:Minix:*:*) - echo "$UNAME_MACHINE"-unknown-minix - exit ;; - aarch64:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - aarch64_be:Linux:*:*) - UNAME_MACHINE=aarch64_be - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - alpha:Linux:*:*) - case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null` 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 -q ld.so.1 - if test "$?" = 0 ; then LIBC=gnulibc1 ; fi - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - arc:Linux:*:* | arceb:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - arm*:Linux:*:*) - set_cc_for_build - if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep -q __ARM_EABI__ - then - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - else - if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep -q __ARM_PCS_VFP - then - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabi - else - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabihf - fi - fi - exit ;; - avr32*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - cris:Linux:*:*) - echo "$UNAME_MACHINE"-axis-linux-"$LIBC" - exit ;; - crisv32:Linux:*:*) - echo "$UNAME_MACHINE"-axis-linux-"$LIBC" - exit ;; - e2k:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - frv:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - hexagon:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - i*86:Linux:*:*) - echo "$UNAME_MACHINE"-pc-linux-"$LIBC" - exit ;; - ia64:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - k1om:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - m32r*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - m68*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - mips:Linux:*:* | mips64:Linux:*:*) - set_cc_for_build - IS_GLIBC=0 - test x"${LIBC}" = xgnu && IS_GLIBC=1 - sed 's/^ //' << EOF > "$dummy.c" - #undef CPU - #undef mips - #undef mipsel - #undef mips64 - #undef mips64el - #if ${IS_GLIBC} && defined(_ABI64) - LIBCABI=gnuabi64 - #else - #if ${IS_GLIBC} && defined(_ABIN32) - LIBCABI=gnuabin32 - #else - LIBCABI=${LIBC} - #endif - #endif - - #if ${IS_GLIBC} && defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 - CPU=mipsisa64r6 - #else - #if ${IS_GLIBC} && !defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 - CPU=mipsisa32r6 - #else - #if defined(__mips64) - CPU=mips64 - #else - CPU=mips - #endif - #endif - #endif - - #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - MIPS_ENDIAN=el - #else - #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - MIPS_ENDIAN= - #else - MIPS_ENDIAN= - #endif - #endif -EOF - eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI'`" - test "x$CPU" != x && { echo "$CPU${MIPS_ENDIAN}-unknown-linux-$LIBCABI"; exit; } - ;; - mips64el:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - openrisc*:Linux:*:*) - echo or1k-unknown-linux-"$LIBC" - exit ;; - or32:Linux:*:* | or1k*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - padre:Linux:*:*) - echo sparc-unknown-linux-"$LIBC" - exit ;; - parisc64:Linux:*:* | hppa64:Linux:*:*) - echo hppa64-unknown-linux-"$LIBC" - exit ;; - 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-"$LIBC" ;; - PA8*) echo hppa2.0-unknown-linux-"$LIBC" ;; - *) echo hppa-unknown-linux-"$LIBC" ;; - esac - exit ;; - ppc64:Linux:*:*) - echo powerpc64-unknown-linux-"$LIBC" - exit ;; - ppc:Linux:*:*) - echo powerpc-unknown-linux-"$LIBC" - exit ;; - ppc64le:Linux:*:*) - echo powerpc64le-unknown-linux-"$LIBC" - exit ;; - ppcle:Linux:*:*) - echo powerpcle-unknown-linux-"$LIBC" - exit ;; - riscv32:Linux:*:* | riscv64:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - s390:Linux:*:* | s390x:Linux:*:*) - echo "$UNAME_MACHINE"-ibm-linux-"$LIBC" - exit ;; - sh64*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - sh*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - sparc:Linux:*:* | sparc64:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - tile*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - vax:Linux:*:*) - echo "$UNAME_MACHINE"-dec-linux-"$LIBC" - exit ;; - x86_64:Linux:*:*) - set_cc_for_build - LIBCABI=$LIBC - if test "$CC_FOR_BUILD" != no_compiler_found; then - if (echo '#ifdef __ILP32__'; echo IS_X32; echo '#endif') | \ - (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_X32 >/dev/null - then - LIBCABI="$LIBC"x32 - fi - fi - echo "$UNAME_MACHINE"-pc-linux-"$LIBCABI" - exit ;; - xtensa*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - 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 ;; - 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 ;; - 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 ;; - i*86:XTS-300:*:STOP) - echo "$UNAME_MACHINE"-unknown-stop - exit ;; - i*86:atheos:*:*) - echo "$UNAME_MACHINE"-unknown-atheos - exit ;; - i*86:syllable:*:*) - echo "$UNAME_MACHINE"-pc-syllable - exit ;; - i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) - echo i386-unknown-lynxos"$UNAME_RELEASE" - exit ;; - i*86:*DOS:*:*) - echo "$UNAME_MACHINE"-pc-msdosdjgpp - exit ;; - i*86:*: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 ;; - i*86:*:5:[678]*) - # UnixWare 7.x, OpenUNIX and OpenServer 6. - 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 ;; - i*86:*:3.2:*) - if test -f /usr/options/cb.name; then - UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name` - echo "$UNAME_MACHINE"-pc-isc"$UNAME_REL" - elif /bin/uname -X 2>/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 ;; - 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 i586. - # Note: whatever this is, it MUST be the same as what config.sub - # prints for the "djgpp" host, or else GDB configure will decide that - # this is a cross-build. - echo i586-pc-msdosdjgpp - exit ;; - Intel:Mach:3*:*) - echo i386-pc-mach3 - exit ;; - paragon:*:*:*) - echo i860-intel-osf1 - exit ;; - 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 ;; - mini*:CTIX:SYS*5:*) - # "miniframe" - echo m68010-convergent-sysv - exit ;; - mc68k:UNIX:SYSTEM5:3.51m) - echo m68k-convergent-sysv - exit ;; - M680?0:D-NIX:5.3:*) - echo m68k-diab-dnix - exit ;; - M68*:*:R3V[5678]*:*) - test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; - 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) - 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; } - /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; - 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4; exit; } ;; - NCR*:*:4.2:* | MPRAS*:*:4.2:*) - OS_REL='.3' - 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; } - /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } - /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ - && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; - m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) - echo m68k-unknown-lynxos"$UNAME_RELEASE" - exit ;; - mc68030:UNIX_System_V:4.*:*) - echo m68k-atari-sysv4 - exit ;; - TSUNAMI:LynxOS:2.*:*) - echo sparc-unknown-lynxos"$UNAME_RELEASE" - exit ;; - rs6000:LynxOS:2.*:*) - echo rs6000-unknown-lynxos"$UNAME_RELEASE" - exit ;; - PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) - echo powerpc-unknown-lynxos"$UNAME_RELEASE" - exit ;; - SM[BE]S:UNIX_SV:*:*) - echo mips-dde-sysv"$UNAME_RELEASE" - exit ;; - RM*:ReliantUNIX-*:*:*) - echo mips-sni-sysv4 - exit ;; - RM*:SINIX-*:*:*) - echo mips-sni-sysv4 - exit ;; - *: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 ;; - PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort - # says <Richard.M.Bartel@ccMail.Census.GOV> - echo i586-unisys-sysv4 - exit ;; - *:UNIX_System_V:4*:FTX*) - # From Gerald Hewes <hewes@openmarket.com>. - # How about differentiating between stratus architectures? -djm - echo hppa1.1-stratus-sysv4 - exit ;; - *:*:*:FTX*) - # From seanf@swdc.stratus.com. - echo i860-stratus-sysv4 - exit ;; - i*86:VOS:*:*) - # From Paul.Green@stratus.com. - echo "$UNAME_MACHINE"-stratus-vos - exit ;; - *:VOS:*:*) - # From Paul.Green@stratus.com. - echo hppa1.1-stratus-vos - exit ;; - mc68*:A/UX:*:*) - echo m68k-apple-aux"$UNAME_RELEASE" - exit ;; - news*:NEWS-OS:6*:*) - echo mips-sony-newsos6 - exit ;; - R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) - if test -d /usr/nec; then - echo mips-nec-sysv"$UNAME_RELEASE" - else - echo mips-unknown-sysv"$UNAME_RELEASE" - fi - exit ;; - BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. - echo powerpc-be-beos - exit ;; - BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. - echo powerpc-apple-beos - exit ;; - BePC:BeOS:*:*) # BeOS running on Intel PC compatible. - echo i586-pc-beos - exit ;; - BePC:Haiku:*:*) # Haiku running on Intel PC compatible. - echo i586-pc-haiku - exit ;; - x86_64:Haiku:*:*) - echo x86_64-unknown-haiku - exit ;; - SX-4:SUPER-UX:*:*) - echo sx4-nec-superux"$UNAME_RELEASE" - exit ;; - SX-5:SUPER-UX:*:*) - echo sx5-nec-superux"$UNAME_RELEASE" - exit ;; - SX-6:SUPER-UX:*:*) - echo sx6-nec-superux"$UNAME_RELEASE" - exit ;; - SX-7:SUPER-UX:*:*) - echo sx7-nec-superux"$UNAME_RELEASE" - exit ;; - SX-8:SUPER-UX:*:*) - echo sx8-nec-superux"$UNAME_RELEASE" - exit ;; - SX-8R:SUPER-UX:*:*) - echo sx8r-nec-superux"$UNAME_RELEASE" - exit ;; - SX-ACE:SUPER-UX:*:*) - echo sxace-nec-superux"$UNAME_RELEASE" - exit ;; - Power*:Rhapsody:*:*) - echo powerpc-apple-rhapsody"$UNAME_RELEASE" - exit ;; - *:Rhapsody:*:*) - echo "$UNAME_MACHINE"-apple-rhapsody"$UNAME_RELEASE" - exit ;; - arm64:Darwin:*:*) - echo aarch64-apple-darwin"$UNAME_RELEASE" - exit ;; - *:Darwin:*:*) - UNAME_PROCESSOR=`uname -p` - case $UNAME_PROCESSOR in - unknown) UNAME_PROCESSOR=powerpc ;; - esac - if command -v xcode-select > /dev/null 2> /dev/null && \ - ! xcode-select --print-path > /dev/null 2> /dev/null ; then - # Avoid executing cc if there is no toolchain installed as - # cc will be a stub that puts up a graphical alert - # prompting the user to install developer tools. - CC_FOR_BUILD=no_compiler_found - else - set_cc_for_build - fi - if test "$CC_FOR_BUILD" != no_compiler_found; then - if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_64BIT_ARCH >/dev/null - then - case $UNAME_PROCESSOR in - i386) UNAME_PROCESSOR=x86_64 ;; - powerpc) UNAME_PROCESSOR=powerpc64 ;; - esac - fi - # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc - if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \ - (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_PPC >/dev/null - then - UNAME_PROCESSOR=powerpc - fi - elif test "$UNAME_PROCESSOR" = i386 ; then - # uname -m returns i386 or x86_64 - UNAME_PROCESSOR=$UNAME_MACHINE - fi - echo "$UNAME_PROCESSOR"-apple-darwin"$UNAME_RELEASE" - exit ;; - *: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 ;; - *:QNX:*:4*) - echo i386-pc-qnx - exit ;; - NEO-*:NONSTOP_KERNEL:*:*) - echo neo-tandem-nsk"$UNAME_RELEASE" - exit ;; - NSE-*:NONSTOP_KERNEL:*:*) - echo nse-tandem-nsk"$UNAME_RELEASE" - exit ;; - NSR-*:NONSTOP_KERNEL:*:*) - echo nsr-tandem-nsk"$UNAME_RELEASE" - exit ;; - NSV-*:NONSTOP_KERNEL:*:*) - echo nsv-tandem-nsk"$UNAME_RELEASE" - exit ;; - NSX-*:NONSTOP_KERNEL:*:*) - echo nsx-tandem-nsk"$UNAME_RELEASE" - exit ;; - *:NonStop-UX:*:*) - echo mips-compaq-nonstopux - exit ;; - BS2000:POSIX*:*:*) - echo bs2000-siemens-sysv - exit ;; - DS/*:UNIX_System_V:*:*) - echo "$UNAME_MACHINE"-"$UNAME_SYSTEM"-"$UNAME_RELEASE" - exit ;; - *:Plan9:*:*) - # "uname -m" is not consistent, so use $cputype instead. 386 - # is converted to i386 for consistency with other x86 - # operating systems. - # shellcheck disable=SC2154 - if test "$cputype" = 386; then - UNAME_MACHINE=i386 - else - UNAME_MACHINE="$cputype" - fi - echo "$UNAME_MACHINE"-unknown-plan9 - exit ;; - *:TOPS-10:*:*) - echo pdp10-unknown-tops10 - exit ;; - *:TENEX:*:*) - echo pdp10-unknown-tenex - exit ;; - KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) - echo pdp10-dec-tops20 - exit ;; - XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) - echo pdp10-xkl-tops20 - exit ;; - *:TOPS-20:*:*) - echo pdp10-unknown-tops20 - exit ;; - *:ITS:*:*) - echo pdp10-unknown-its - exit ;; - SEI:*:*:SEIUX) - echo mips-sei-seiux"$UNAME_RELEASE" - exit ;; - *:DragonFly:*:*) - echo "$UNAME_MACHINE"-unknown-dragonfly"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`" - exit ;; - *:*VMS:*:*) - UNAME_MACHINE=`(uname -p) 2>/dev/null` - case "$UNAME_MACHINE" in - A*) echo alpha-dec-vms ; exit ;; - I*) echo ia64-dec-vms ; exit ;; - V*) echo vax-dec-vms ; exit ;; - esac ;; - *:XENIX:*:SysV) - echo i386-pc-xenix - exit ;; - i*86:skyos:*:*) - echo "$UNAME_MACHINE"-pc-skyos"`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'`" - exit ;; - i*86:rdos:*:*) - echo "$UNAME_MACHINE"-pc-rdos - exit ;; - i*86:AROS:*:*) - echo "$UNAME_MACHINE"-pc-aros - exit ;; - x86_64:VMkernel:*:*) - echo "$UNAME_MACHINE"-unknown-esx - exit ;; - amd64:Isilon\ OneFS:*:*) - echo x86_64-unknown-onefs - exit ;; - *:Unleashed:*:*) - echo "$UNAME_MACHINE"-unknown-unleashed"$UNAME_RELEASE" - exit ;; -esac - -# No uname command or uname output not recognized. -set_cc_for_build -cat > "$dummy.c" <<EOF -#ifdef _SEQUENT_ -#include <sys/types.h> -#include <sys/utsname.h> -#endif -#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) -#if defined (vax) || defined (__vax) || defined (__vax__) || defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) -#include <signal.h> -#if defined(_SIZE_T_) || defined(SIGLOST) -#include <sys/utsname.h> -#endif -#endif -#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 <sys/param.h> - printf ("m68k-sony-newsos%s\n", -#ifdef NEWSOS4 - "4" -#else - "" -#endif - ); exit (0); -#endif -#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 <sys/param.h> -#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 -#if defined(_SIZE_T_) || defined(SIGLOST) - struct utsname un; - uname (&un); - printf ("vax-dec-ultrix%s\n", un.release); exit (0); -#else - printf ("vax-dec-ultrix\n"); exit (0); -#endif -#endif -#endif -#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) -#if defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) -#if defined(_SIZE_T_) || defined(SIGLOST) - struct utsname *un; - uname (&un); - printf ("mips-dec-ultrix%s\n", un.release); exit (0); -#else - printf ("mips-dec-ultrix\n"); exit (0); -#endif -#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 && SYSTEM_NAME=`$dummy` && - { echo "$SYSTEM_NAME"; exit; } - -# Apollos put the system type in the environment. -test -d /usr/apollo && { echo "$ISP-apollo-$SYSTYPE"; exit; } - -echo "$0: unable to guess system type" >&2 - -case "$UNAME_MACHINE:$UNAME_SYSTEM" in - mips:Linux | mips64:Linux) - # If we got here on MIPS GNU/Linux, output extra information. - cat >&2 <<EOF - -NOTE: MIPS GNU/Linux systems require a C compiler to fully recognize -the system type. Please install a C compiler and try again. -EOF - ;; -esac - -cat >&2 <<EOF - -This script (version $timestamp), has failed to recognize the -operating system you are using. If your script is old, overwrite *all* -copies of config.guess and config.sub with the latest versions from: - - https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess -and - https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub -EOF - -year=`echo $timestamp | sed 's,-.*,,'` -# shellcheck disable=SC2003 -if test "`expr "\`date +%Y\`" - "$year"`" -lt 3 ; then - cat >&2 <<EOF - -If $0 has already been updated, send the following data and any -information you think might be pertinent to config-patches@gnu.org to -provide the necessary 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 -fi - -exit 1 - -# Local variables: -# eval: (add-hook 'before-save-hook 'time-stamp) -# time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" -# time-stamp-end: "'" -# End: diff --git a/contrib/dialog/config.hin b/contrib/dialog/config.hin deleted file mode 100644 index e8fc0a919ee1..000000000000 --- a/contrib/dialog/config.hin +++ /dev/null @@ -1,4 +0,0 @@ -/* - * The configure script expands this as a set of definitions - */ -@DEFS@ diff --git a/contrib/dialog/config.sub b/contrib/dialog/config.sub deleted file mode 100755 index 0753e3084581..000000000000 --- a/contrib/dialog/config.sub +++ /dev/null @@ -1,1851 +0,0 @@ -#! /bin/sh -# Configuration validation subroutine script. -# Copyright 1992-2020 Free Software Foundation, Inc. - -timestamp='2020-08-17' - -# 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 3 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, see <https://www.gnu.org/licenses/>. -# -# 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. This Exception is an additional permission under section 7 -# of the GNU General Public License, version 3 ("GPLv3"). - - -# Please send patches to <config-patches@gnu.org>. -# -# 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. - -# You can get the latest version of this script from: -# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub - -# 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 or ALIAS - -Canonicalize a configuration name. - -Options: - -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 <config-patches@gnu.org>." - -version="\ -GNU config.sub ($timestamp) - -Copyright 1992-2020 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 ;; - --version | -v ) - echo "$version" ; exit ;; - --help | --h* | -h ) - echo "$usage"; exit ;; - -- ) # Stop option processing - shift; break ;; - - ) # Use stdin as input. - break ;; - -* ) - echo "$me: invalid option $1$help" >&2 - exit 1 ;; - - *local*) - # First pass through any local machine types. - echo "$1" - exit ;; - - * ) - 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 - -# Split fields of configuration type -# shellcheck disable=SC2162 -IFS="-" read field1 field2 field3 field4 <<EOF -$1 -EOF - -# Separate into logical components for further validation -case $1 in - *-*-*-*-*) - echo Invalid configuration \`"$1"\': more than four components >&2 - exit 1 - ;; - *-*-*-*) - basic_machine=$field1-$field2 - basic_os=$field3-$field4 - ;; - *-*-*) - # Ambiguous whether COMPANY is present, or skipped and KERNEL-OS is two - # parts - maybe_os=$field2-$field3 - case $maybe_os in - nto-qnx* | linux-* | uclinux-uclibc* \ - | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \ - | netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \ - | storm-chaos* | os2-emx* | rtmk-nova*) - basic_machine=$field1 - basic_os=$maybe_os - ;; - android-linux) - basic_machine=$field1-unknown - basic_os=linux-android - ;; - *) - basic_machine=$field1-$field2 - basic_os=$field3 - ;; - esac - ;; - *-*) - # A lone config we happen to match not fitting any pattern - case $field1-$field2 in - decstation-3100) - basic_machine=mips-dec - basic_os= - ;; - *-*) - # Second component is usually, but not always the OS - case $field2 in - # Prevent following clause from handling this valid os - sun*os*) - basic_machine=$field1 - basic_os=$field2 - ;; - # Manufacturers - dec* | mips* | sequent* | encore* | pc533* | 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 \ - | microblaze* | sim | cisco \ - | oki | wec | wrs | winbond) - basic_machine=$field1-$field2 - basic_os= - ;; - *) - basic_machine=$field1 - basic_os=$field2 - ;; - esac - ;; - esac - ;; - *) - # Convert single-component short-hands not valid as part of - # multi-component configurations. - case $field1 in - 386bsd) - basic_machine=i386-pc - basic_os=bsd - ;; - a29khif) - basic_machine=a29k-amd - basic_os=udi - ;; - adobe68k) - basic_machine=m68010-adobe - basic_os=scout - ;; - alliant) - basic_machine=fx80-alliant - basic_os= - ;; - altos | altos3068) - basic_machine=m68k-altos - basic_os= - ;; - am29k) - basic_machine=a29k-none - basic_os=bsd - ;; - amdahl) - basic_machine=580-amdahl - basic_os=sysv - ;; - amiga) - basic_machine=m68k-unknown - basic_os= - ;; - amigaos | amigados) - basic_machine=m68k-unknown - basic_os=amigaos - ;; - amigaunix | amix) - basic_machine=m68k-unknown - basic_os=sysv4 - ;; - apollo68) - basic_machine=m68k-apollo - basic_os=sysv - ;; - apollo68bsd) - basic_machine=m68k-apollo - basic_os=bsd - ;; - aros) - basic_machine=i386-pc - basic_os=aros - ;; - aux) - basic_machine=m68k-apple - basic_os=aux - ;; - balance) - basic_machine=ns32k-sequent - basic_os=dynix - ;; - blackfin) - basic_machine=bfin-unknown - basic_os=linux - ;; - cegcc) - basic_machine=arm-unknown - basic_os=cegcc - ;; - convex-c1) - basic_machine=c1-convex - basic_os=bsd - ;; - convex-c2) - basic_machine=c2-convex - basic_os=bsd - ;; - convex-c32) - basic_machine=c32-convex - basic_os=bsd - ;; - convex-c34) - basic_machine=c34-convex - basic_os=bsd - ;; - convex-c38) - basic_machine=c38-convex - basic_os=bsd - ;; - cray) - basic_machine=j90-cray - basic_os=unicos - ;; - crds | unos) - basic_machine=m68k-crds - basic_os= - ;; - da30) - basic_machine=m68k-da30 - basic_os= - ;; - decstation | pmax | pmin | dec3100 | decstatn) - basic_machine=mips-dec - basic_os= - ;; - delta88) - basic_machine=m88k-motorola - basic_os=sysv3 - ;; - dicos) - basic_machine=i686-pc - basic_os=dicos - ;; - djgpp) - basic_machine=i586-pc - basic_os=msdosdjgpp - ;; - ebmon29k) - basic_machine=a29k-amd - basic_os=ebmon - ;; - es1800 | OSE68k | ose68k | ose | OSE) - basic_machine=m68k-ericsson - basic_os=ose - ;; - gmicro) - basic_machine=tron-gmicro - basic_os=sysv - ;; - go32) - basic_machine=i386-pc - basic_os=go32 - ;; - h8300hms) - basic_machine=h8300-hitachi - basic_os=hms - ;; - h8300xray) - basic_machine=h8300-hitachi - basic_os=xray - ;; - h8500hms) - basic_machine=h8500-hitachi - basic_os=hms - ;; - harris) - basic_machine=m88k-harris - basic_os=sysv3 - ;; - hp300 | hp300hpux) - basic_machine=m68k-hp - basic_os=hpux - ;; - hp300bsd) - basic_machine=m68k-hp - basic_os=bsd - ;; - hppaosf) - basic_machine=hppa1.1-hp - basic_os=osf - ;; - hppro) - basic_machine=hppa1.1-hp - basic_os=proelf - ;; - i386mach) - basic_machine=i386-mach - basic_os=mach - ;; - isi68 | isi) - basic_machine=m68k-isi - basic_os=sysv - ;; - m68knommu) - basic_machine=m68k-unknown - basic_os=linux - ;; - magnum | m3230) - basic_machine=mips-mips - basic_os=sysv - ;; - merlin) - basic_machine=ns32k-utek - basic_os=sysv - ;; - mingw64) - basic_machine=x86_64-pc - basic_os=mingw64 - ;; - mingw32) - basic_machine=i686-pc - basic_os=mingw32 - ;; - mingw32ce) - basic_machine=arm-unknown - basic_os=mingw32ce - ;; - monitor) - basic_machine=m68k-rom68k - basic_os=coff - ;; - morphos) - basic_machine=powerpc-unknown - basic_os=morphos - ;; - moxiebox) - basic_machine=moxie-unknown - basic_os=moxiebox - ;; - msdos) - basic_machine=i386-pc - basic_os=msdos - ;; - msys) - basic_machine=i686-pc - basic_os=msys - ;; - mvs) - basic_machine=i370-ibm - basic_os=mvs - ;; - nacl) - basic_machine=le32-unknown - basic_os=nacl - ;; - ncr3000) - basic_machine=i486-ncr - basic_os=sysv4 - ;; - netbsd386) - basic_machine=i386-pc - basic_os=netbsd - ;; - netwinder) - basic_machine=armv4l-rebel - basic_os=linux - ;; - news | news700 | news800 | news900) - basic_machine=m68k-sony - basic_os=newsos - ;; - news1000) - basic_machine=m68030-sony - basic_os=newsos - ;; - necv70) - basic_machine=v70-nec - basic_os=sysv - ;; - nh3000) - basic_machine=m68k-harris - basic_os=cxux - ;; - nh[45]000) - basic_machine=m88k-harris - basic_os=cxux - ;; - nindy960) - basic_machine=i960-intel - basic_os=nindy - ;; - mon960) - basic_machine=i960-intel - basic_os=mon960 - ;; - nonstopux) - basic_machine=mips-compaq - basic_os=nonstopux - ;; - os400) - basic_machine=powerpc-ibm - basic_os=os400 - ;; - OSE68000 | ose68000) - basic_machine=m68000-ericsson - basic_os=ose - ;; - os68k) - basic_machine=m68k-none - basic_os=os68k - ;; - paragon) - basic_machine=i860-intel - basic_os=osf - ;; - parisc) - basic_machine=hppa-unknown - basic_os=linux - ;; - psp) - basic_machine=mipsallegrexel-sony - basic_os=psp - ;; - pw32) - basic_machine=i586-unknown - basic_os=pw32 - ;; - rdos | rdos64) - basic_machine=x86_64-pc - basic_os=rdos - ;; - rdos32) - basic_machine=i386-pc - basic_os=rdos - ;; - rom68k) - basic_machine=m68k-rom68k - basic_os=coff - ;; - sa29200) - basic_machine=a29k-amd - basic_os=udi - ;; - sei) - basic_machine=mips-sei - basic_os=seiux - ;; - sequent) - basic_machine=i386-sequent - basic_os= - ;; - sps7) - basic_machine=m68k-bull - basic_os=sysv2 - ;; - st2000) - basic_machine=m68k-tandem - basic_os= - ;; - stratus) - basic_machine=i860-stratus - basic_os=sysv4 - ;; - sun2) - basic_machine=m68000-sun - basic_os= - ;; - sun2os3) - basic_machine=m68000-sun - basic_os=sunos3 - ;; - sun2os4) - basic_machine=m68000-sun - basic_os=sunos4 - ;; - sun3) - basic_machine=m68k-sun - basic_os= - ;; - sun3os3) - basic_machine=m68k-sun - basic_os=sunos3 - ;; - sun3os4) - basic_machine=m68k-sun - basic_os=sunos4 - ;; - sun4) - basic_machine=sparc-sun - basic_os= - ;; - sun4os3) - basic_machine=sparc-sun - basic_os=sunos3 - ;; - sun4os4) - basic_machine=sparc-sun - basic_os=sunos4 - ;; - sun4sol2) - basic_machine=sparc-sun - basic_os=solaris2 - ;; - sun386 | sun386i | roadrunner) - basic_machine=i386-sun - basic_os= - ;; - sv1) - basic_machine=sv1-cray - basic_os=unicos - ;; - symmetry) - basic_machine=i386-sequent - basic_os=dynix - ;; - t3e) - basic_machine=alphaev5-cray - basic_os=unicos - ;; - t90) - basic_machine=t90-cray - basic_os=unicos - ;; - toad1) - basic_machine=pdp10-xkl - basic_os=tops20 - ;; - tpf) - basic_machine=s390x-ibm - basic_os=tpf - ;; - udi29k) - basic_machine=a29k-amd - basic_os=udi - ;; - ultra3) - basic_machine=a29k-nyu - basic_os=sym1 - ;; - v810 | necv810) - basic_machine=v810-nec - basic_os=none - ;; - vaxv) - basic_machine=vax-dec - basic_os=sysv - ;; - vms) - basic_machine=vax-dec - basic_os=vms - ;; - vsta) - basic_machine=i386-pc - basic_os=vsta - ;; - vxworks960) - basic_machine=i960-wrs - basic_os=vxworks - ;; - vxworks68) - basic_machine=m68k-wrs - basic_os=vxworks - ;; - vxworks29k) - basic_machine=a29k-wrs - basic_os=vxworks - ;; - xbox) - basic_machine=i686-pc - basic_os=mingw32 - ;; - ymp) - basic_machine=ymp-cray - basic_os=unicos - ;; - *) - basic_machine=$1 - basic_os= - ;; - esac - ;; -esac - -# Decode 1-component or ad-hoc basic machines -case $basic_machine in - # 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) - cpu=hppa1.1 - vendor=winbond - ;; - op50n) - cpu=hppa1.1 - vendor=oki - ;; - op60c) - cpu=hppa1.1 - vendor=oki - ;; - ibm*) - cpu=i370 - vendor=ibm - ;; - orion105) - cpu=clipper - vendor=highlevel - ;; - mac | mpw | mac-mpw) - cpu=m68k - vendor=apple - ;; - pmac | pmac-mpw) - cpu=powerpc - vendor=apple - ;; - - # Recognize the various machine names and aliases which stand - # for a CPU type and a company and sometimes even an OS. - 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) - cpu=m68000 - vendor=att - ;; - 3b*) - cpu=we32k - vendor=att - ;; - bluegene*) - cpu=powerpc - vendor=ibm - basic_os=cnk - ;; - decsystem10* | dec10*) - cpu=pdp10 - vendor=dec - basic_os=tops10 - ;; - decsystem20* | dec20*) - cpu=pdp10 - vendor=dec - basic_os=tops20 - ;; - delta | 3300 | motorola-3300 | motorola-delta \ - | 3300-motorola | delta-motorola) - cpu=m68k - vendor=motorola - ;; - dpx2*) - cpu=m68k - vendor=bull - basic_os=sysv3 - ;; - encore | umax | mmax) - cpu=ns32k - vendor=encore - ;; - elxsi) - cpu=elxsi - vendor=elxsi - basic_os=${basic_os:-bsd} - ;; - fx2800) - cpu=i860 - vendor=alliant - ;; - genix) - cpu=ns32k - vendor=ns - ;; - h3050r* | hiux*) - cpu=hppa1.1 - vendor=hitachi - basic_os=hiuxwe2 - ;; - hp3k9[0-9][0-9] | hp9[0-9][0-9]) - cpu=hppa1.0 - vendor=hp - ;; - hp9k2[0-9][0-9] | hp9k31[0-9]) - cpu=m68000 - vendor=hp - ;; - hp9k3[2-9][0-9]) - cpu=m68k - vendor=hp - ;; - hp9k6[0-9][0-9] | hp6[0-9][0-9]) - cpu=hppa1.0 - vendor=hp - ;; - hp9k7[0-79][0-9] | hp7[0-79][0-9]) - cpu=hppa1.1 - vendor=hp - ;; - hp9k78[0-9] | hp78[0-9]) - # FIXME: really hppa2.0-hp - cpu=hppa1.1 - vendor=hp - ;; - hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) - # FIXME: really hppa2.0-hp - cpu=hppa1.1 - vendor=hp - ;; - hp9k8[0-9][13679] | hp8[0-9][13679]) - cpu=hppa1.1 - vendor=hp - ;; - hp9k8[0-9][0-9] | hp8[0-9][0-9]) - cpu=hppa1.0 - vendor=hp - ;; - i*86v32) - cpu=`echo "$1" | sed -e 's/86.*/86/'` - vendor=pc - basic_os=sysv32 - ;; - i*86v4*) - cpu=`echo "$1" | sed -e 's/86.*/86/'` - vendor=pc - basic_os=sysv4 - ;; - i*86v) - cpu=`echo "$1" | sed -e 's/86.*/86/'` - vendor=pc - basic_os=sysv - ;; - i*86sol2) - cpu=`echo "$1" | sed -e 's/86.*/86/'` - vendor=pc - basic_os=solaris2 - ;; - j90 | j90-cray) - cpu=j90 - vendor=cray - basic_os=${basic_os:-unicos} - ;; - iris | iris4d) - cpu=mips - vendor=sgi - case $basic_os in - irix*) - ;; - *) - basic_os=irix4 - ;; - esac - ;; - miniframe) - cpu=m68000 - vendor=convergent - ;; - *mint | mint[0-9]* | *MiNT | *MiNT[0-9]*) - cpu=m68k - vendor=atari - basic_os=mint - ;; - news-3600 | risc-news) - cpu=mips - vendor=sony - basic_os=newsos - ;; - next | m*-next) - cpu=m68k - vendor=next - case $basic_os in - openstep*) - ;; - nextstep*) - ;; - ns2*) - basic_os=nextstep2 - ;; - *) - basic_os=nextstep3 - ;; - esac - ;; - np1) - cpu=np1 - vendor=gould - ;; - op50n-* | op60c-*) - cpu=hppa1.1 - vendor=oki - basic_os=proelf - ;; - pa-hitachi) - cpu=hppa1.1 - vendor=hitachi - basic_os=hiuxwe2 - ;; - pbd) - cpu=sparc - vendor=tti - ;; - pbb) - cpu=m68k - vendor=tti - ;; - pc532) - cpu=ns32k - vendor=pc532 - ;; - pn) - cpu=pn - vendor=gould - ;; - power) - cpu=power - vendor=ibm - ;; - ps2) - cpu=i386 - vendor=ibm - ;; - rm[46]00) - cpu=mips - vendor=siemens - ;; - rtpc | rtpc-*) - cpu=romp - vendor=ibm - ;; - sde) - cpu=mipsisa32 - vendor=sde - basic_os=${basic_os:-elf} - ;; - simso-wrs) - cpu=sparclite - vendor=wrs - basic_os=vxworks - ;; - tower | tower-32) - cpu=m68k - vendor=ncr - ;; - vpp*|vx|vx-*) - cpu=f301 - vendor=fujitsu - ;; - w65) - cpu=w65 - vendor=wdc - ;; - w89k-*) - cpu=hppa1.1 - vendor=winbond - basic_os=proelf - ;; - none) - cpu=none - vendor=none - ;; - leon|leon[3-9]) - cpu=sparc - vendor=$basic_machine - ;; - leon-*|leon[3-9]-*) - cpu=sparc - vendor=`echo "$basic_machine" | sed 's/-.*//'` - ;; - - *-*) - # shellcheck disable=SC2162 - IFS="-" read cpu vendor <<EOF -$basic_machine -EOF - ;; - # 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) - cpu=$basic_machine - vendor=pc - ;; - # These rules are duplicated from below for sake of the special case above; - # i.e. things that normalized to x86 arches should also default to "pc" - pc98) - cpu=i386 - vendor=pc - ;; - x64 | amd64) - cpu=x86_64 - vendor=pc - ;; - # Recognize the basic CPU types without company name. - *) - cpu=$basic_machine - vendor=unknown - ;; -esac - -unset -v basic_machine - -# Decode basic machines in the full and proper CPU-Company form. -case $cpu-$vendor in - # Here we handle the default manufacturer of certain CPU types in canonical form. It is in - # some cases the only manufacturer, in others, it is the most popular. - craynv-unknown) - vendor=cray - basic_os=${basic_os:-unicosmp} - ;; - c90-unknown | c90-cray) - vendor=cray - basic_os=${Basic_os:-unicos} - ;; - fx80-unknown) - vendor=alliant - ;; - romp-unknown) - vendor=ibm - ;; - mmix-unknown) - vendor=knuth - ;; - microblaze-unknown | microblazeel-unknown) - vendor=xilinx - ;; - rs6000-unknown) - vendor=ibm - ;; - vax-unknown) - vendor=dec - ;; - pdp11-unknown) - vendor=dec - ;; - we32k-unknown) - vendor=att - ;; - cydra-unknown) - vendor=cydrome - ;; - i370-ibm*) - vendor=ibm - ;; - orion-unknown) - vendor=highlevel - ;; - xps-unknown | xps100-unknown) - cpu=xps100 - vendor=honeywell - ;; - - # Here we normalize CPU types with a missing or matching vendor - dpx20-unknown | dpx20-bull) - cpu=rs6000 - vendor=bull - basic_os=${basic_os:-bosx} - ;; - - # Here we normalize CPU types irrespective of the vendor - amd64-*) - cpu=x86_64 - ;; - blackfin-*) - cpu=bfin - basic_os=linux - ;; - c54x-*) - cpu=tic54x - ;; - c55x-*) - cpu=tic55x - ;; - c6x-*) - cpu=tic6x - ;; - e500v[12]-*) - cpu=powerpc - basic_os=${basic_os}"spe" - ;; - mips3*-*) - cpu=mips64 - ;; - ms1-*) - cpu=mt - ;; - m68knommu-*) - cpu=m68k - basic_os=linux - ;; - m9s12z-* | m68hcs12z-* | hcs12z-* | s12z-*) - cpu=s12z - ;; - openrisc-*) - cpu=or32 - ;; - parisc-*) - cpu=hppa - basic_os=linux - ;; - pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) - cpu=i586 - ;; - pentiumpro-* | p6-* | 6x86-* | athlon-* | athalon_*-*) - cpu=i686 - ;; - pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) - cpu=i686 - ;; - pentium4-*) - cpu=i786 - ;; - pc98-*) - cpu=i386 - ;; - ppc-* | ppcbe-*) - cpu=powerpc - ;; - ppcle-* | powerpclittle-*) - cpu=powerpcle - ;; - ppc64-*) - cpu=powerpc64 - ;; - ppc64le-* | powerpc64little-*) - cpu=powerpc64le - ;; - sb1-*) - cpu=mipsisa64sb1 - ;; - sb1el-*) - cpu=mipsisa64sb1el - ;; - sh5e[lb]-*) - cpu=`echo "$cpu" | sed 's/^\(sh.\)e\(.\)$/\1\2e/'` - ;; - spur-*) - cpu=spur - ;; - strongarm-* | thumb-*) - cpu=arm - ;; - tx39-*) - cpu=mipstx39 - ;; - tx39el-*) - cpu=mipstx39el - ;; - x64-*) - cpu=x86_64 - ;; - xscale-* | xscalee[bl]-*) - cpu=`echo "$cpu" | sed 's/^xscale/arm/'` - ;; - arm64-*) - cpu=aarch64 - ;; - - # Recognize the canonical CPU Types that limit and/or modify the - # company names they are paired with. - cr16-*) - basic_os=${basic_os:-elf} - ;; - crisv32-* | etraxfs*-*) - cpu=crisv32 - vendor=axis - ;; - cris-* | etrax*-*) - cpu=cris - vendor=axis - ;; - crx-*) - basic_os=${basic_os:-elf} - ;; - neo-tandem) - cpu=neo - vendor=tandem - ;; - nse-tandem) - cpu=nse - vendor=tandem - ;; - nsr-tandem) - cpu=nsr - vendor=tandem - ;; - nsv-tandem) - cpu=nsv - vendor=tandem - ;; - nsx-tandem) - cpu=nsx - vendor=tandem - ;; - mipsallegrexel-sony) - cpu=mipsallegrexel - vendor=sony - ;; - tile*-*) - basic_os=${basic_os:-linux-gnu} - ;; - - *) - # Recognize the canonical CPU types that are allowed with any - # company name. - case $cpu in - 1750a | 580 \ - | a29k \ - | aarch64 | aarch64_be \ - | abacus \ - | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] \ - | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] \ - | alphapca5[67] | alpha64pca5[67] \ - | am33_2.0 \ - | amdgcn \ - | arc | arceb \ - | arm | arm[lb]e | arme[lb] | armv* \ - | avr | avr32 \ - | asmjs \ - | ba \ - | be32 | be64 \ - | bfin | bpf | bs2000 \ - | c[123]* | c30 | [cjt]90 | c4x \ - | c8051 | clipper | craynv | csky | cydra \ - | d10v | d30v | dlx | dsp16xx \ - | e2k | elxsi | epiphany \ - | f30[01] | f700 | fido | fr30 | frv | ft32 | fx80 \ - | h8300 | h8500 \ - | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ - | hexagon \ - | i370 | i*86 | i860 | i960 | ia16 | ia64 \ - | ip2k | iq2000 \ - | k1om \ - | le32 | le64 \ - | lm32 \ - | m32c | m32r | m32rle \ - | m5200 | m68000 | m680[012346]0 | m68360 | m683?2 | m68k \ - | m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x \ - | m88110 | m88k | maxq | mb | mcore | mep | metag \ - | microblaze | microblazeel \ - | mips | mipsbe | mipseb | mipsel | mipsle \ - | mips16 \ - | mips64 | mips64eb | mips64el \ - | mips64octeon | mips64octeonel \ - | mips64orion | mips64orionel \ - | mips64r5900 | mips64r5900el \ - | mips64vr | mips64vrel \ - | mips64vr4100 | mips64vr4100el \ - | mips64vr4300 | mips64vr4300el \ - | mips64vr5000 | mips64vr5000el \ - | mips64vr5900 | mips64vr5900el \ - | mipsisa32 | mipsisa32el \ - | mipsisa32r2 | mipsisa32r2el \ - | mipsisa32r6 | mipsisa32r6el \ - | mipsisa64 | mipsisa64el \ - | mipsisa64r2 | mipsisa64r2el \ - | mipsisa64r6 | mipsisa64r6el \ - | mipsisa64sb1 | mipsisa64sb1el \ - | mipsisa64sr71k | mipsisa64sr71kel \ - | mipsr5900 | mipsr5900el \ - | mipstx39 | mipstx39el \ - | mmix \ - | mn10200 | mn10300 \ - | moxie \ - | mt \ - | msp430 \ - | nds32 | nds32le | nds32be \ - | nfp \ - | nios | nios2 | nios2eb | nios2el \ - | none | np1 | ns16k | ns32k | nvptx \ - | open8 \ - | or1k* \ - | or32 \ - | orion \ - | picochip \ - | pdp10 | pdp11 | pj | pjl | pn | power \ - | powerpc | powerpc64 | powerpc64le | powerpcle | powerpcspe \ - | pru \ - | pyramid \ - | riscv | riscv32 | riscv64 \ - | rl78 | romp | rs6000 | rx \ - | s390 | s390x \ - | score \ - | sh | shl \ - | sh[1234] | sh[24]a | sh[24]ae[lb] | sh[23]e | she[lb] | sh[lb]e \ - | sh[1234]e[lb] | sh[12345][lb]e | sh[23]ele | sh64 | sh64le \ - | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet \ - | sparclite \ - | sparcv8 | sparcv9 | sparcv9b | sparcv9v | sv1 | sx* \ - | spu \ - | tahoe \ - | tic30 | tic4x | tic54x | tic55x | tic6x | tic80 \ - | tron \ - | ubicom32 \ - | v70 | v850 | v850e | v850e1 | v850es | v850e2 | v850e2v3 \ - | vax \ - | visium \ - | w65 \ - | wasm32 | wasm64 \ - | we32k \ - | x86 | x86_64 | xc16x | xgate | xps100 \ - | xstormy16 | xtensa* \ - | ymp \ - | z8k | z80) - ;; - - *) - echo Invalid configuration \`"$1"\': machine \`"$cpu-$vendor"\' not recognized 1>&2 - exit 1 - ;; - esac - ;; -esac - -# Here we canonicalize certain aliases for manufacturers. -case $vendor in - digital*) - vendor=dec - ;; - commodore*) - vendor=cbm - ;; - *) - ;; -esac - -# Decode manufacturer-specific aliases for certain operating systems. - -if test x$basic_os != x -then - -# First recognize some ad-hoc caes, or perhaps split kernel-os, or else just -# set os. -case $basic_os in - gnu/linux*) - kernel=linux - os=`echo $basic_os | sed -e 's|gnu/linux|gnu|'` - ;; - nto-qnx*) - kernel=nto - os=`echo $basic_os | sed -e 's|nto-qnx|qnx|'` - ;; - *-*) - # shellcheck disable=SC2162 - IFS="-" read kernel os <<EOF -$basic_os -EOF - ;; - # Default OS when just kernel was specified - nto*) - kernel=nto - os=`echo $basic_os | sed -e 's|nto|qnx|'` - ;; - linux*) - kernel=linux - os=`echo $basic_os | sed -e 's|linux|gnu|'` - ;; - *) - kernel= - os=$basic_os - ;; -esac - -# Now, normalize the OS (knowing we just have one component, it's not a kernel, -# etc.) -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. - auroraux) - os=auroraux - ;; - bluegene*) - os=cnk - ;; - solaris1 | solaris1.*) - os=`echo $os | sed -e 's|solaris1|sunos4|'` - ;; - solaris) - os=solaris2 - ;; - unixware*) - os=sysv4.2uw - ;; - # es1800 is here to avoid being matched by es* (a different OS) - es1800*) - os=ose - ;; - # Some version numbers need modification - chorusos*) - os=chorusos - ;; - isc) - os=isc2.2 - ;; - sco6) - os=sco5v6 - ;; - sco5) - os=sco3.2v5 - ;; - sco4) - os=sco3.2v4 - ;; - sco3.2.[4-9]*) - os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` - ;; - sco*v* | scout) - # Don't match below - ;; - sco*) - os=sco3.2v2 - ;; - psos*) - os=psos - ;; - qnx*) - case $cpu in - x86 | i*86) - ;; - *) - os=nto-$os - ;; - esac - ;; - hiux*) - os=hiuxwe2 - ;; - lynx*178) - os=lynxos178 - ;; - lynx*5) - os=lynxos5 - ;; - lynxos*) - # don't get caught up in next wildcard - ;; - lynx*) - os=lynxos - ;; - mac[0-9]*) - os=`echo "$os" | sed -e 's|mac|macos|'` - ;; - opened*) - os=openedition - ;; - os400*) - os=os400 - ;; - sunos5*) - os=`echo "$os" | sed -e 's|sunos5|solaris2|'` - ;; - sunos6*) - os=`echo "$os" | sed -e 's|sunos6|solaris3|'` - ;; - wince*) - os=wince - ;; - 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 - ;; - # 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 - ;; - ose*) - os=ose - ;; - *mint | mint[0-9]* | *MiNT | MiNT[0-9]*) - os=mint - ;; - dicos*) - os=dicos - ;; - pikeos*) - # Until real need of OS specific support for - # particular features comes up, bare metal - # configurations are quite functional. - case $cpu in - arm*) - os=eabi - ;; - *) - os=elf - ;; - esac - ;; - *) - # No normalization, but not necessarily accepted, that comes below. - ;; -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. - -kernel= -case $cpu-$vendor in - score-*) - os=elf - ;; - spu-*) - os=elf - ;; - *-acorn) - os=riscix1.2 - ;; - arm*-rebel) - kernel=linux - os=gnu - ;; - arm*-semi) - os=aout - ;; - c4x-* | tic4x-*) - os=coff - ;; - c8051-*) - os=elf - ;; - clipper-intergraph) - os=clix - ;; - hexagon-*) - os=elf - ;; - tic54x-*) - os=coff - ;; - tic55x-*) - os=coff - ;; - tic6x-*) - 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 - ;; - m68*-cisco) - os=aout - ;; - mep-*) - os=elf - ;; - 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 - ;; - pru-*) - os=elf - ;; - *-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 - ;; - *-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 - ;; - *-wrs) - os=vxworks - ;; - *) - os=none - ;; -esac - -fi - -# Now, validate our (potentially fixed-up) OS. -case $os in - # Sometimes we do "kernel-abi", so those need to count as OSes. - musl* | newlib* | uclibc*) - ;; - # Likewise for "kernel-libc" - eabi | eabihf | gnueabi | gnueabihf) - ;; - # Now accept the basic system types. - # The portable systems comes first. - # Each alternative MUST end in a * to match a version number. - gnu* | android* | bsd* | mach* | minix* | genix* | ultrix* | irix* \ - | *vms* | esix* | aix* | cnk* | sunos | sunos[34]* \ - | hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \ - | sym* | plan9* | psp* | sim* | xray* | os68k* | v88r* \ - | hiux* | abug | nacl* | netware* | windows* \ - | os9* | macos* | osx* | ios* \ - | mpw* | magic* | mmixware* | mon960* | lnews* \ - | amigaos* | amigados* | msdos* | newsos* | unicos* | aof* \ - | aos* | aros* | cloudabi* | sortix* | twizzler* \ - | nindy* | vxsim* | vxworks* | ebmon* | hms* | mvs* \ - | clix* | riscos* | uniplus* | iris* | isc* | rtu* | xenix* \ - | mirbsd* | netbsd* | dicos* | openedition* | ose* \ - | bitrig* | openbsd* | solidbsd* | libertybsd* | os108* \ - | ekkobsd* | freebsd* | riscix* | lynxos* | os400* \ - | bosx* | nextstep* | cxux* | aout* | elf* | oabi* \ - | ptx* | coff* | ecoff* | winnt* | domain* | vsta* \ - | udi* | lites* | ieee* | go32* | aux* | hcos* \ - | chorusrdb* | cegcc* | glidix* \ - | cygwin* | msys* | pe* | moss* | proelf* | rtems* \ - | midipix* | mingw32* | mingw64* | mint* \ - | uxpv* | beos* | mpeix* | udk* | moxiebox* \ - | interix* | uwin* | mks* | rhapsody* | darwin* \ - | openstep* | oskit* | conix* | pw32* | nonstopux* \ - | storm-chaos* | tops10* | tenex* | tops20* | its* \ - | os2* | vos* | palmos* | uclinux* | nucleus* | morphos* \ - | scout* | superux* | sysv* | rtmk* | tpf* | windiss* \ - | powermax* | dnix* | nx6 | nx7 | sei* | dragonfly* \ - | skyos* | haiku* | rdos* | toppers* | drops* | es* \ - | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \ - | midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \ - | nsk* | powerunix* | genode* | zvmoe* ) - ;; - # This one is extra strict with allowed versions - sco3.2v2 | sco3.2v[4-9]* | sco5v6*) - # Don't forget version if it is 3.2v4 or newer. - ;; - none) - ;; - *) - echo Invalid configuration \`"$1"\': OS \`"$os"\' not recognized 1>&2 - exit 1 - ;; -esac - -# As a final step for OS-related things, validate the OS-kernel combination -# (given a valid OS), if there is a kernel. -case $kernel-$os in - linux-gnu* | linux-dietlibc* | linux-android* | linux-newlib* | linux-musl* | linux-uclibc* ) - ;; - -dietlibc* | -newlib* | -musl* | -uclibc* ) - # These are just libc implementations, not actual OSes, and thus - # require a kernel. - echo "Invalid configuration \`$1': libc \`$os' needs explicit kernel." 1>&2 - exit 1 - ;; - kfreebsd*-gnu* | kopensolaris*-gnu*) - ;; - nto-qnx*) - ;; - *-eabi* | *-gnueabi*) - ;; - -*) - # Blank kernel with real OS is always fine. - ;; - *-*) - echo "Invalid configuration \`$1': Kernel \`$kernel' not known to work with OS \`$os'." 1>&2 - exit 1 - ;; -esac - -# Here we handle the case where we know the os, and the CPU type, but not the -# manufacturer. We pick the logical manufacturer. -case $vendor in - unknown) - case $cpu-$os in - *-riscix*) - vendor=acorn - ;; - *-sunos*) - vendor=sun - ;; - *-cnk* | *-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 - ;; - *-clix*) - vendor=intergraph - ;; - *-mvs* | *-opened*) - vendor=ibm - ;; - *-os400*) - vendor=ibm - ;; - s390-* | s390x-*) - 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 - ;; -esac - -echo "$cpu-$vendor-${kernel:+$kernel-}$os" -exit - -# Local variables: -# eval: (add-hook 'before-save-hook 'time-stamp) -# time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" -# time-stamp-end: "'" -# End: diff --git a/contrib/dialog/configure b/contrib/dialog/configure deleted file mode 100755 index 1e5c94ceb37c..000000000000 --- a/contrib/dialog/configure +++ /dev/null @@ -1,27284 +0,0 @@ -#! /bin/sh -# Guess values for system-dependent variables and create Makefiles. -# Generated by Autoconf 2.52.20210105. -# -# Copyright 2003-2020,2021 Thomas E. Dickey -# Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001 -# Free Software Foundation, Inc. -# This configure script is free software; the Free Software Foundation -# gives unlimited permission to copy, distribute and modify it. - -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g" - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g" - -# Be Bourne compatible -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: -elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then - set -o posix -fi - -# Name of the executable. -as_me=`echo "$0" |sed 's,.*[\\/],,'` - -if expr a : '\(a\)' >/dev/null 2>&1; then - as_expr=expr -else - as_expr=false -fi - -rm -f conf$$ conf$$.exe conf$$.file -echo >conf$$.file -if ln -s conf$$.file conf$$ 2>/dev/null; then - # We could just check for DJGPP; but this test a) works b) is more generic - # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). - if test -f conf$$.exe; then - # Don't use ln at all; we don't have any links - as_ln_s='cp -p' - else - as_ln_s='ln -s' - fi -elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln -else - as_ln_s='cp -p' -fi -rm -f conf$$ conf$$.exe conf$$.file - -as_executable_p="test -f" - -# Support unset when possible. -if (FOO=FOO; unset FOO) >/dev/null 2>&1; then - as_unset="unset" -else - as_unset="false" -fi - -# NLS nuisances. -$as_unset LANG || test "${LANG+set}" != set || { LANG=C; export LANG; } -$as_unset LC_ALL || test "${LC_ALL+set}" != set || { LC_ALL=C; export LC_ALL; } -$as_unset LC_TIME || test "${LC_TIME+set}" != set || { LC_TIME=C; export LC_TIME; } -$as_unset LC_CTYPE || test "${LC_CTYPE+set}" != set || { LC_CTYPE=C; export LC_CTYPE; } -$as_unset LANGUAGE || test "${LANGUAGE+set}" != set || { LANGUAGE=C; export LANGUAGE; } -$as_unset LC_COLLATE || test "${LC_COLLATE+set}" != set || { LC_COLLATE=C; export LC_COLLATE; } -$as_unset LC_NUMERIC || test "${LC_NUMERIC+set}" != set || { LC_NUMERIC=C; export LC_NUMERIC; } -$as_unset LC_MESSAGES || test "${LC_MESSAGES+set}" != set || { LC_MESSAGES=C; export LC_MESSAGES; } - -# IFS -# We need space, tab and new line, in precisely that order. -as_nl=' -' -IFS=" $as_nl" - -# CDPATH. -$as_unset CDPATH || test "${CDPATH+set}" != set || { CDPATH=:; export CDPATH; } - -# Name of the host. -# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, -# so uname gets run too. -ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` - -exec 6>&1 - -# -# Initializations. -# -ac_default_prefix=/usr/local -cross_compiling=no -subdirs= -MFLAGS= -MAKEFLAGS= -SHELL=${CONFIG_SHELL-/bin/sh} - -# Maximum number of lines to put in a shell here document. -# This variable seems obsolete. It should probably be removed, and -# only ac_max_sed_lines should be used. -: "${ac_max_here_lines=38}" - -ac_unique_file="dialog.h" -# Factoring default headers for most tests. -ac_includes_default="\ -#include <stdio.h> -#if HAVE_SYS_TYPES_H -# include <sys/types.h> -#endif -#if HAVE_SYS_STAT_H -# include <sys/stat.h> -#endif -#if STDC_HEADERS -# include <stdlib.h> -# include <stddef.h> -#else -# if HAVE_STDLIB_H -# include <stdlib.h> -# endif -#endif -#if HAVE_STRING_H -# if !STDC_HEADERS && HAVE_MEMORY_H -# include <memory.h> -# endif -# include <string.h> -#endif -#if HAVE_STRINGS_H -# include <strings.h> -#endif -#if HAVE_INTTYPES_H -# include <inttypes.h> -#else -# if HAVE_STDINT_H -# include <stdint.h> -# endif -#endif -#if HAVE_UNISTD_H -# include <unistd.h> -#endif" - -# Initialize some variables set by options. -ac_init_help= -ac_init_version=false -# The variables have the same names as the options, with -# dashes changed to underlines. -cache_file=/dev/null -exec_prefix=NONE -no_create= -no_recursion= -prefix=NONE -program_prefix=NONE -program_suffix=NONE -program_transform_name=s,x,x, -silent= -site= -srcdir= -verbose= -x_includes=NONE -x_libraries=NONE - -# Installation directory options. -# These are left unexpanded so users can "make install exec_prefix=/foo" -# and all the variables that are supposed to be based on exec_prefix -# by default will actually change. -# Use braces instead of parens because sh, perl, etc. also accept them. -bindir='${exec_prefix}/bin' -sbindir='${exec_prefix}/sbin' -libexecdir='${exec_prefix}/libexec' -datarootdir='${prefix}/share' -datadir='${datarootdir}' -sysconfdir='${prefix}/etc' -sharedstatedir='${prefix}/com' -localstatedir='${prefix}/var' -runstatedir='${localstatedir}/run' -libdir='${exec_prefix}/lib' -includedir='${prefix}/include' -oldincludedir='/usr/include' -infodir='${datarootdir}/info' -mandir='${datarootdir}/man' - -# Identity of this package. -PACKAGE_NAME= -PACKAGE_TARNAME= -PACKAGE_VERSION= -PACKAGE_STRING= -PACKAGE_BUGREPORT= - -ac_prev= -for ac_option -do - # If the previous option needs an argument, assign it. - if test -n "$ac_prev"; then - eval "$ac_prev=\$ac_option" - ac_prev= - continue - fi - - ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'` - - # Accept the important Cygnus configure options, so we can diagnose typos. - - case "$ac_option" in - - -bindir | --bindir | --bindi | --bind | --bin | --bi) - ac_prev=bindir ;; - -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) - bindir=$ac_optarg ;; - - -build | --build | --buil | --bui | --bu) - ac_prev=build_alias ;; - -build=* | --build=* | --buil=* | --bui=* | --bu=*) - build_alias=$ac_optarg ;; - - -cache-file | --cache-file | --cache-fil | --cache-fi \ - | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) - ac_prev=cache_file ;; - -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ - | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) - cache_file=$ac_optarg ;; - - --config-cache | -C) - cache_file=config.cache ;; - - -datadir | --datadir | --datadi | --datad | --data | --dat | --da) - ac_prev=datadir ;; - -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ - | --da=*) - datadir=$ac_optarg ;; - - -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ - | --dataroo | --dataro | --datar) - ac_prev=datarootdir ;; - -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ - | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) - datarootdir=$ac_optarg ;; - - -disable-* | --disable-*) - ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid feature name: $ac_feature" >&2 - { (exit 1); exit 1; }; } - ac_feature=`echo "$ac_feature" | sed 's/-/_/g'` - eval "enable_$ac_feature=no" ;; - - -enable-* | --enable-*) - ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid feature name: $ac_feature" >&2 - { (exit 1); exit 1; }; } - ac_feature=`echo "$ac_feature" | sed 's/-/_/g'` - case "$ac_option" in - *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; - *) ac_optarg=yes ;; - esac - eval "enable_$ac_feature='$ac_optarg'" ;; - - -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ - | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ - | --exec | --exe | --ex) - ac_prev=exec_prefix ;; - -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ - | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ - | --exec=* | --exe=* | --ex=*) - exec_prefix=$ac_optarg ;; - - -gas | --gas | --ga | --g) - # Obsolete; use --with-gas. - with_gas=yes ;; - - -help | --help | --hel | --he | -h) - ac_init_help=long ;; - -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) - ac_init_help=recursive ;; - -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) - ac_init_help=short ;; - - -host | --host | --hos | --ho) - ac_prev=host_alias ;; - -host=* | --host=* | --hos=* | --ho=*) - host_alias=$ac_optarg ;; - - -includedir | --includedir | --includedi | --included | --include \ - | --includ | --inclu | --incl | --inc) - ac_prev=includedir ;; - -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ - | --includ=* | --inclu=* | --incl=* | --inc=*) - includedir=$ac_optarg ;; - - -infodir | --infodir | --infodi | --infod | --info | --inf) - ac_prev=infodir ;; - -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) - infodir=$ac_optarg ;; - - -libdir | --libdir | --libdi | --libd) - ac_prev=libdir ;; - -libdir=* | --libdir=* | --libdi=* | --libd=*) - libdir=$ac_optarg ;; - - -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ - | --libexe | --libex | --libe) - ac_prev=libexecdir ;; - -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ - | --libexe=* | --libex=* | --libe=*) - libexecdir=$ac_optarg ;; - - -localstatedir | --localstatedir | --localstatedi | --localstated \ - | --localstate | --localstat | --localsta | --localst \ - | --locals | --local | --loca | --loc | --lo) - ac_prev=localstatedir ;; - -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ - | --localstate=* | --localstat=* | --localsta=* | --localst=* \ - | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) - localstatedir=$ac_optarg ;; - - -runstatedir | --runstatedir | --runstatedi | --runstated \ - | --runstate | --runstat | --runsta | --runst \ - | --runs | --run | --ru) - ac_prev=runstatedir ;; - -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \ - | --runstate=* | --runstat=* | --runsta=* | --runst=* \ - | --runs=* | --run=* | --ru=*) - runstatedir=$ac_optarg ;; - - -mandir | --mandir | --mandi | --mand | --man | --ma | --m) - ac_prev=mandir ;; - -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) - mandir=$ac_optarg ;; - - -nfp | --nfp | --nf) - # Obsolete; use --without-fp. - with_fp=no ;; - - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c) - no_create=yes ;; - - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) - no_recursion=yes ;; - - -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ - | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ - | --oldin | --oldi | --old | --ol | --o) - ac_prev=oldincludedir ;; - -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ - | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ - | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) - oldincludedir=$ac_optarg ;; - - -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) - ac_prev=prefix ;; - -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) - prefix=$ac_optarg ;; - - -program-prefix | --program-prefix | --program-prefi | --program-pref \ - | --program-pre | --program-pr | --program-p) - ac_prev=program_prefix ;; - -program-prefix=* | --program-prefix=* | --program-prefi=* \ - | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) - program_prefix=$ac_optarg ;; - - -program-suffix | --program-suffix | --program-suffi | --program-suff \ - | --program-suf | --program-su | --program-s) - ac_prev=program_suffix ;; - -program-suffix=* | --program-suffix=* | --program-suffi=* \ - | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) - program_suffix=$ac_optarg ;; - - -program-transform-name | --program-transform-name \ - | --program-transform-nam | --program-transform-na \ - | --program-transform-n | --program-transform- \ - | --program-transform | --program-transfor \ - | --program-transfo | --program-transf \ - | --program-trans | --program-tran \ - | --progr-tra | --program-tr | --program-t) - ac_prev=program_transform_name ;; - -program-transform-name=* | --program-transform-name=* \ - | --program-transform-nam=* | --program-transform-na=* \ - | --program-transform-n=* | --program-transform-=* \ - | --program-transform=* | --program-transfor=* \ - | --program-transfo=* | --program-transf=* \ - | --program-trans=* | --program-tran=* \ - | --progr-tra=* | --program-tr=* | --program-t=*) - program_transform_name=$ac_optarg ;; - - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - silent=yes ;; - - -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) - ac_prev=sbindir ;; - -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ - | --sbi=* | --sb=*) - sbindir=$ac_optarg ;; - - -sharedstatedir | --sharedstatedir | --sharedstatedi \ - | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ - | --sharedst | --shareds | --shared | --share | --shar \ - | --sha | --sh) - ac_prev=sharedstatedir ;; - -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ - | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ - | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ - | --sha=* | --sh=*) - sharedstatedir=$ac_optarg ;; - - -site | --site | --sit) - ac_prev=site ;; - -site=* | --site=* | --sit=*) - site=$ac_optarg ;; - - -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) - ac_prev=srcdir ;; - -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) - srcdir=$ac_optarg ;; - - -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ - | --syscon | --sysco | --sysc | --sys | --sy) - ac_prev=sysconfdir ;; - -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ - | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) - sysconfdir=$ac_optarg ;; - - -target | --target | --targe | --targ | --tar | --ta | --t) - ac_prev=target_alias ;; - -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) - target_alias=$ac_optarg ;; - - -v | -verbose | --verbose | --verbos | --verbo | --verb) - verbose=yes ;; - - -version | --version | --versio | --versi | --vers | -V) - ac_init_version=: ;; - - -with-* | --with-*) - ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid package name: $ac_package" >&2 - { (exit 1); exit 1; }; } - ac_package=`echo "$ac_package" | sed 's/-/_/g'` - case "$ac_option" in - *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; - *) ac_optarg=yes ;; - esac - eval "with_$ac_package='$ac_optarg'" ;; - - -without-* | --without-*) - ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid package name: $ac_package" >&2 - { (exit 1); exit 1; }; } - ac_package=`echo "$ac_package" | sed 's/-/_/g'` - eval "with_$ac_package=no" ;; - - --x) - # Obsolete; use --with-x. - with_x=yes ;; - - -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ - | --x-incl | --x-inc | --x-in | --x-i) - ac_prev=x_includes ;; - -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ - | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) - x_includes=$ac_optarg ;; - - -x-libraries | --x-libraries | --x-librarie | --x-librari \ - | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) - ac_prev=x_libraries ;; - -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ - | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) - x_libraries=$ac_optarg ;; - - -*) { echo "$as_me: error: unrecognized option: $ac_option -Try \`$0 --help' for more information." >&2 - { (exit 1); exit 1; }; } - ;; - - *=*) - ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` - # Reject names that are not valid shell variable names. - expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 - { (exit 1); exit 1; }; } - ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` - eval "$ac_envvar='$ac_optarg'" - export "$ac_envvar" ;; - - *) - # FIXME: should be removed in autoconf 3.0. - echo "$as_me: WARNING: you should use --build, --host, --target" >&2 - expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && - echo "$as_me: WARNING: invalid host type: $ac_option" >&2 - : "${build_alias=$ac_option}" "${host_alias=$ac_option}" "${target_alias=$ac_option}" - ;; - - esac -done - -if test -n "$ac_prev"; then - ac_option=--`echo "$ac_prev" | sed 's/_/-/g'` - { echo "$as_me: error: missing argument to $ac_option" >&2 - { (exit 1); exit 1; }; } -fi - -# Be sure to have absolute paths. -for ac_var in exec_prefix prefix -do - eval ac_val=$`echo "$ac_var"` - case "$ac_val" in - [\\/$]* | ?:[\\/]* | NONE | '' ) ;; - *) { echo "$as_me: error: expected an absolute path for --$ac_var: $ac_val" >&2 - { (exit 1); exit 1; }; };; - esac -done - -# Be sure to have absolute paths. -for ac_var in bindir sbindir libexecdir datarootdir datadir sysconfdir sharedstatedir \ - localstatedir libdir includedir oldincludedir infodir mandir -do - eval ac_val=$`echo "$ac_var"` - case "$ac_val" in - [\\/$]* | ?:[\\/]* ) ;; - *) { echo "$as_me: error: expected an absolute path for --$ac_var: $ac_val" >&2 - { (exit 1); exit 1; }; };; - esac -done - -# There might be people who depend on the old broken behavior: `$host' -# used to hold the argument of --host etc. -build=$build_alias -host=$host_alias -target=$target_alias - -# FIXME: should be removed in autoconf 3.0. -if test "x$host_alias" != x; then - if test "x$build_alias" = x; then - cross_compiling=maybe - echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. - If a cross compiler is detected then cross compile mode will be used." >&2 - elif test "x$build_alias" != "x$host_alias"; then - cross_compiling=yes - fi -fi - -ac_tool_prefix= -test -n "$host_alias" && ac_tool_prefix=$host_alias- - -test "$silent" = yes && exec 6>/dev/null - -# Find the source files, if location was not specified. -if test -z "$srcdir"; then - ac_srcdir_defaulted=yes - # Try the directory containing this script, then its parent. - ac_prog=$0 - ac_confdir=`echo "$ac_prog" | sed 's%[\\/][^\\/][^\\/]*$%%'` - test "x$ac_confdir" = "x$ac_prog" && ac_confdir=. - srcdir=$ac_confdir - if test ! -r "$srcdir/$ac_unique_file"; then - srcdir=.. - fi -else - ac_srcdir_defaulted=no -fi -if test ! -r "$srcdir/$ac_unique_file"; then - if test "$ac_srcdir_defaulted" = yes; then - { echo "$as_me: error: cannot find sources in $ac_confdir or .." >&2 - { (exit 1); exit 1; }; } - else - { echo "$as_me: error: cannot find sources in $srcdir" >&2 - { (exit 1); exit 1; }; } - fi -fi -srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'` -ac_env_build_alias_set=${build_alias+set} -ac_env_build_alias_value=$build_alias -ac_cv_env_build_alias_set=${build_alias+set} -ac_cv_env_build_alias_value=$build_alias -ac_env_host_alias_set=${host_alias+set} -ac_env_host_alias_value=$host_alias -ac_cv_env_host_alias_set=${host_alias+set} -ac_cv_env_host_alias_value=$host_alias -ac_env_target_alias_set=${target_alias+set} -ac_env_target_alias_value=$target_alias -ac_cv_env_target_alias_set=${target_alias+set} -ac_cv_env_target_alias_value=$target_alias -ac_env_CC_set=${CC+set} -ac_env_CC_value=$CC -ac_cv_env_CC_set=${CC+set} -ac_cv_env_CC_value=$CC -ac_env_CFLAGS_set=${CFLAGS+set} -ac_env_CFLAGS_value=$CFLAGS -ac_cv_env_CFLAGS_set=${CFLAGS+set} -ac_cv_env_CFLAGS_value=$CFLAGS -ac_env_LDFLAGS_set=${LDFLAGS+set} -ac_env_LDFLAGS_value=$LDFLAGS -ac_cv_env_LDFLAGS_set=${LDFLAGS+set} -ac_cv_env_LDFLAGS_value=$LDFLAGS -ac_env_CPPFLAGS_set=${CPPFLAGS+set} -ac_env_CPPFLAGS_value=$CPPFLAGS -ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set} -ac_cv_env_CPPFLAGS_value=$CPPFLAGS -ac_env_CPP_set=${CPP+set} -ac_env_CPP_value=$CPP -ac_cv_env_CPP_set=${CPP+set} -ac_cv_env_CPP_value=$CPP - -# -# Report the --help message. -# -if test "$ac_init_help" = "long"; then - # Omit some internal or obsolete options to make the list less imposing. - # This message is too long to be a string in the A/UX 3.1 sh. - cat <<EOF -\`configure' configures this package to adapt to many kinds of systems. - -Usage: $0 [OPTION]... [VAR=VALUE]... - -To assign environment variables (e.g., CC, CFLAGS...), specify them as -VAR=VALUE. See below for descriptions of some of the useful variables. - -Defaults for the options are specified in brackets. - -Configuration: - -h, --help display this help and exit - --help=short display options specific to this package - --help=recursive display the short help of all the included packages - -V, --version display version information and exit - -q, --quiet, --silent do not print \`checking...' messages - --cache-file=FILE cache test results in FILE [disabled] - -C, --config-cache alias for \`--cache-file=config.cache' - -n, --no-create do not create output files - --srcdir=DIR find the sources in DIR [configure dir or \`..'] - -EOF - - cat <<EOF -Installation directories: - --prefix=PREFIX install architecture-independent files in PREFIX - [$ac_default_prefix] - --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX - [PREFIX] - -By default, \`make install' will install all the files in -\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify -an installation prefix other than \`$ac_default_prefix' using \`--prefix', -for instance \`--prefix=\$HOME'. - -For better control, use the options below. - -Fine tuning of the installation directories: - --bindir=DIR user executables [EPREFIX/bin] - --sbindir=DIR system admin executables [EPREFIX/sbin] - --libexecdir=DIR program executables [EPREFIX/libexec] - --datarootdir=DIR read-only architecture-independent data [PREFIX/share] - --datadir=DIR read-only architecture-independent data [DATAROOTDIR] - --sysconfdir=DIR read-only single-machine data [PREFIX/etc] - --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] - --localstatedir=DIR modifiable single-machine data [PREFIX/var] - --runstatedir=DIR extra definition of runtime data [LOCALSTATEDIR/run] - --libdir=DIR object code libraries [EPREFIX/lib] - --includedir=DIR C header files [PREFIX/include] - --oldincludedir=DIR C header files for non-gcc [/usr/include] - --infodir=DIR info documentation [DATAROOTDIR/info] - --mandir=DIR man documentation [DATAROOTDIR/man] -EOF - - cat <<\EOF - -Program names: - --program-prefix=PREFIX prepend PREFIX to installed program names - --program-suffix=SUFFIX append SUFFIX to installed program names - --program-transform-name=PROGRAM run sed PROGRAM on installed program names - -X features: - --x-includes=DIR X include files are in DIR - --x-libraries=DIR X library files are in DIR - -System types: - --build=BUILD configure for building on BUILD [guessed] - --host=HOST build programs to run on HOST [BUILD] -EOF -fi - -if test -n "$ac_init_help"; then - - cat <<\EOF - -Optional Features: - --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) - --enable-FEATURE[=ARG] include FEATURE [ARG=yes] - -Optional Packages: - --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] - --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) - - --disable-echo do not display "compiling" commands - --disable-largefile omit support for large files - --with-install-prefix=XXX sets DESTDIR, useful for packaging - --with-x use the X Window System - --enable-warnings test: turn on gcc compiler warnings - --with-pkg-config{=path} enable/disable use of pkg-config - --with-package=XXX rename dialog to XXX, library to libXXX.a, etc - --enable-header-subdir install dlg_XXX headers to subdirectory - --with-man2html=XXX use XXX rather than groff - --with-libiconv-prefix=DIR - search for libiconv in DIR/include and DIR/lib - --enable-nls use Native Language Support - --with-included-gettext use the GNU gettext library included here - --with-textdomain=PKG NLS text-domain (default is package name) - --disable-included-msgs use included messages, for i18n support - --with-dmalloc test: use Gray Watson's dmalloc library - --with-dbmalloc test: use Conor Cahill's dbmalloc library - --with-purify test: use Purify - --with-valgrind test: use valgrind - --with-no-leaks test: free permanent memory, analyze leaks - --disable-trace do not support --trace option - --enable-rpath use rpath option when generating shared libraries - --with-rel-version=XXX override derived release version - --with-abi-version=XXX override derived ABI version - --disable-libtool-version enable to use libtool's incompatible naming scheme - --with-libtool generate libraries with libtool - --with-libtool-opts=XXX specify additional libtool options - --with-export-syms=XXX limit exported symbols using libtool - --with-shared generate shared-libraries - --with-shlib-version=X Specify rel or abi version for shared libs - --with-versioned-syms=X markup versioned symbols using ld - --with-curses-dir=DIR directory in which (n)curses is installed - --with-screen=XXX use specified curses-libraries - --with-ncursesw use wide ncurses-libraries - --with-ncurses use ncurses-libraries - --with-pdcurses compile/link with pdcurses X11 library - --with-curses-colr compile/link with HPUX 10.x color-curses - --with-curses-5lib compile/link with SunOS 5lib curses - --with-Xaw3d link with Xaw 3d library - --with-Xaw3dxft link with Xaw 3d xft library - --with-neXtaw link with neXT Athena library - --with-XawPlus link with Athena-Plus library - --disable-extras do not include extra dialogs - --disable-rc-file do not include config-file support - --disable-rc-file2 do not use extra attributes in config-file - --disable-Xdialog do not include Xdialog-style dialogs (1.1) - --disable-Xdialog2 do not include extra Xdialog-style dialogs (1.2) - --disable-whiptail do not map extra whiptail options - --disable-form do not include the form dialog - --disable-gauge do not include the gauge dialogs - --disable-tailbox do not include the tailbox dialog - --disable-mixedform do not include the mixedform dialog - --disable-mixedgauge do not include the mixedgauge dialog - --enable-widec enable wide-curses features - --disable-rpath-hack don't add rpath options for additional libraries - -Some influential environment variables: - CC C compiler command - CFLAGS C compiler flags - LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a - nonstandard directory <lib dir> - CPPFLAGS C/C++ preprocessor flags, e.g. -I<include dir> if you have - headers in a nonstandard directory <include dir> - CPP C preprocessor - -Use these variables to override the choices made by `configure' or to help -it to find libraries and programs with nonstandard names/locations. - -EOF -fi - -if test "$ac_init_help" = "recursive"; then - # If there are subdirs, report their specific --help. - ac_popdir=`pwd` - for ac_subdir in : $ac_subdirs_all; do test "x$ac_subdir" = x: && continue - cd "$ac_subdir" - # A "../" for each directory in /$ac_subdir. - ac_dots=`echo "$ac_subdir" | - sed 's,^\./,,;s,[^/]$,&/,;s,[^/]*/,../,g'` - - case "$srcdir" in - .) # No --srcdir option. We are building in place. - ac_sub_srcdir="$srcdir" ;; - [\\/]* | ?:[\\/]* ) # Absolute path. - ac_sub_srcdir="$srcdir/$ac_subdir" ;; - *) # Relative path. - ac_sub_srcdir="$ac_dots$srcdir/$ac_subdir" ;; - esac - - # Check for guested configure; otherwise get Cygnus style configure. - if test -f "$ac_sub_srcdir/configure.gnu"; then - echo - $SHELL "$ac_sub_srcdir/configure.gnu" --help=recursive - elif test -f "$ac_sub_srcdir/configure"; then - echo - $SHELL "$ac_sub_srcdir/configure" --help=recursive - elif test -f "$ac_sub_srcdir/configure.ac" || - test -f "$ac_sub_srcdir/configure.in"; then - echo - "$ac_configure" --help - else - echo "$as_me: WARNING: no configuration information is in $ac_subdir" >&2 - fi - cd "$ac_popdir" - done -fi - -test -n "$ac_init_help" && exit 0 -if "$ac_init_version"; then - cat <<\EOF - -Copyright 2003-2020,2021 Thomas E. Dickey -Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001 -Free Software Foundation, Inc. -This configure script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it. -EOF - exit 0 -fi -exec 5>config.log -cat >&5 <<EOF -This file contains any messages produced by compilers while -running configure, to aid debugging if configure makes a mistake. - -It was created by $as_me, which was -generated by GNU Autoconf 2.52.20210105. Invocation command line was - - $ $0 $@ - -EOF -{ -cat <<_ASUNAME -## ---------- ## -## Platform. ## -## ---------- ## - -hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` -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 || echo unknown` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` - -/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` -hostinfo = `(hostinfo) 2>/dev/null || echo unknown` -/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` -/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` - -PATH = $PATH - -_ASUNAME -} >&5 - -cat >&5 <<EOF -## ------------ ## -## Core tests. ## -## ------------ ## - -EOF - -# Keep a trace of the command line. -# Strip out --no-create and --no-recursion so they do not pile up. -# Also quote any args containing shell meta-characters. -ac_configure_args= -ac_sep= -for ac_arg -do - case "$ac_arg" in - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c) ;; - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;; - *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) - ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` - ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'" - ac_sep=" " ;; - *) ac_configure_args="$ac_configure_args$ac_sep$ac_arg" - ac_sep=" " ;; - esac - # Get rid of the leading space. -done - -# When interrupted or exit'd, cleanup temporary files, and complete -# config.log. We remove comments because anyway the quotes in there -# would cause problems or look ugly. -trap 'exit_status=$? - # Save into config.log some information that might help in debugging. - echo >&5 - echo "## ----------------- ##" >&5 - echo "## Cache variables. ##" >&5 - echo "## ----------------- ##" >&5 - echo >&5 - # The following way of writing the cache mishandles newlines in values, -{ - (set) 2>&1 | - case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in - *ac_space=\ *) - sed -n \ - "s/'"'"'/'"'"'\\\\'"'"''"'"'/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p" - ;; - *) - sed -n \ - "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" - ;; - esac; -} >&5 - sed "/^$/d" confdefs.h >conftest.log - if test -s conftest.log; then - echo >&5 - echo "## ------------ ##" >&5 - echo "## confdefs.h. ##" >&5 - echo "## ------------ ##" >&5 - echo >&5 - cat conftest.log >&5 - fi - (echo; echo) >&5 - test "$ac_signal" != 0 && - echo "$as_me: caught signal $ac_signal" >&5 - echo "$as_me: exit $exit_status" >&5 - rm -rf conftest* confdefs* core core.* *.core conf$$* $ac_clean_files && - exit $exit_status - ' 0 -for ac_signal in 1 2 13 15; do - trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' "$ac_signal" -done -ac_signal=0 - -# confdefs.h avoids OS command line length limits that DEFS can exceed. -rm -rf conftest* confdefs.h -# AIX cpp loses on an empty file, so make sure it contains at least a newline. -echo >confdefs.h - -# Let the site file select an alternate cache file if it wants to. -# Prefer explicitly selected file to automatically selected ones. -if test -z "$CONFIG_SITE"; then - if test "x$prefix" != xNONE; then - CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" - else - CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" - fi -fi -for ac_site_file in $CONFIG_SITE; do - if test -r "$ac_site_file"; then - { echo "$as_me:955: loading site script $ac_site_file" >&5 -echo "$as_me: loading site script $ac_site_file" >&6;} - cat "$ac_site_file" >&5 - . "$ac_site_file" - fi -done - -if test -r "$cache_file"; then - # Some versions of bash will fail to source /dev/null (special - # files actually), so we avoid doing that. - if test -f "$cache_file"; then - { echo "$as_me:966: loading cache $cache_file" >&5 -echo "$as_me: loading cache $cache_file" >&6;} - case $cache_file in - [\\/]* | ?:[\\/]* ) . $cache_file;; - *) . ./$cache_file;; - esac - fi -else - { echo "$as_me:974: creating cache $cache_file" >&5 -echo "$as_me: creating cache $cache_file" >&6;} - >$cache_file -fi - -# Check that the precious variables saved in the cache have kept the same -# value. -ac_cache_corrupted=false -for ac_var in `(set) 2>&1 | - sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do - eval ac_old_set=\$ac_cv_env_${ac_var}_set - eval ac_new_set=\$ac_env_${ac_var}_set - eval ac_old_val="\$ac_cv_env_${ac_var}_value" - eval ac_new_val="\$ac_env_${ac_var}_value" - case "$ac_old_set,$ac_new_set" in - set,) - { echo "$as_me:990: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 -echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,set) - { echo "$as_me:994: error: \`$ac_var' was not set in the previous run" >&5 -echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,);; - *) - if test "x$ac_old_val" != "x$ac_new_val"; then - { echo "$as_me:1000: error: \`$ac_var' has changed since the previous run:" >&5 -echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} - { echo "$as_me:1002: former value: $ac_old_val" >&5 -echo "$as_me: former value: $ac_old_val" >&2;} - { echo "$as_me:1004: current value: $ac_new_val" >&5 -echo "$as_me: current value: $ac_new_val" >&2;} - ac_cache_corrupted=: - fi;; - esac - # Pass precious variables to config.status. It doesn't matter if - # we pass some twice (in addition to the command line arguments). - if test "$ac_new_set" = set; then - case "$ac_new_val" in - *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) - ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` - ac_configure_args="$ac_configure_args '$ac_arg'" - ;; - *) ac_configure_args="$ac_configure_args $ac_var=$ac_new_val" - ;; - esac - fi -done -if "$ac_cache_corrupted"; then - { echo "$as_me:1023: error: changes in the environment can compromise the build" >&5 -echo "$as_me: error: changes in the environment can compromise the build" >&2;} - { { echo "$as_me:1025: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 -echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} - { (exit 1); exit 1; }; } -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS "conftest.$ac_ext" >&5' -ac_link='$CC -o "conftest$ac_exeext" $CFLAGS $CPPFLAGS $LDFLAGS "conftest.$ac_ext" $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -ac_main_return="return" - -case `echo "testing\c" 2>/dev/null; echo 1,2,3`,`echo -n testing 2>/dev/null; echo 1,2,3` in - *c*,-n*) ECHO_N= - ECHO_C= # newlines do not sed ;-) only broken shells would use this case anyway - ECHO_T=' ' - ;; - *c*,* ) ECHO_N=-n - ECHO_C= - ECHO_T= - ;; - *) ECHO_N= - ECHO_C='\c' - ECHO_T= - ;; -esac -echo "#! $SHELL" >conftest.sh -echo "exit 0" >>conftest.sh -chmod +x conftest.sh -if { (echo "$as_me:1054: PATH=\".;.\"; conftest.sh") >&5 - (PATH=".;."; conftest.sh) 2>&5 - ac_status=$? - echo "$as_me:1057: \$? = $ac_status" >&5 - (exit "$ac_status"); }; then - ac_path_separator=';' -else - ac_path_separator=: -fi -PATH_SEPARATOR="$ac_path_separator" -rm -f conftest.sh - -ac_config_headers="$ac_config_headers dlg_config.h:config.hin" - -test "$program_prefix" != NONE && - program_transform_name="s,^,$program_prefix,;$program_transform_name" -# Use a double $ so make ignores it. -test "$program_suffix" != NONE && - program_transform_name="s,\$,$program_suffix,;$program_transform_name" -# Double any \ or $. echo might interpret backslashes. -# By default was `s,x,x', remove it if useless. -cat <<\_ACEOF >conftest.sed -s/[\\$]/&&/g;s/;s,x,x,$// -_ACEOF -program_transform_name=`echo $program_transform_name | sed -f conftest.sed` -rm conftest.sed - -DESTDIR= - -ac_aux_dir= -for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do - if test -f "$ac_dir/install-sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install-sh -c" - break - elif test -f "$ac_dir/install.sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install.sh -c" - break - elif test -f "$ac_dir/shtool"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/shtool install -c" - break - fi -done -if test -z "$ac_aux_dir"; then - { { echo "$as_me:1100: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5 -echo "$as_me: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&2;} - { (exit 1); exit 1; }; } -fi -ac_config_guess="$SHELL $ac_aux_dir/config.guess" -ac_config_sub="$SHELL $ac_aux_dir/config.sub" -ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure. - -# Make sure we can run config.sub. -$ac_config_sub sun4 >/dev/null 2>&1 || - { { echo "$as_me:1110: error: cannot run $ac_config_sub" >&5 -echo "$as_me: error: cannot run $ac_config_sub" >&2;} - { (exit 1); exit 1; }; } - -echo "$as_me:1114: checking build system type" >&5 -echo $ECHO_N "checking build system type... $ECHO_C" >&6 -if test "${ac_cv_build+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_build_alias=$build_alias -test -z "$ac_cv_build_alias" && - ac_cv_build_alias=`$ac_config_guess` -test -z "$ac_cv_build_alias" && - { { echo "$as_me:1123: error: cannot guess build type; you must specify one" >&5 -echo "$as_me: error: cannot guess build type; you must specify one" >&2;} - { (exit 1); exit 1; }; } -ac_cv_build=`$ac_config_sub "$ac_cv_build_alias"` || - { { echo "$as_me:1127: error: $ac_config_sub $ac_cv_build_alias failed." >&5 -echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed." >&2;} - { (exit 1); exit 1; }; } - -fi -echo "$as_me:1132: result: $ac_cv_build" >&5 -echo "${ECHO_T}$ac_cv_build" >&6 -build=$ac_cv_build -build_cpu=`echo "$ac_cv_build" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -build_vendor=`echo "$ac_cv_build" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -build_os=`echo "$ac_cv_build" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` - -echo "$as_me:1139: checking host system type" >&5 -echo $ECHO_N "checking host system type... $ECHO_C" >&6 -if test "${ac_cv_host+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_host_alias=$host_alias -test -z "$ac_cv_host_alias" && - ac_cv_host_alias=$ac_cv_build_alias -ac_cv_host=`$ac_config_sub "$ac_cv_host_alias"` || - { { echo "$as_me:1148: error: $ac_config_sub $ac_cv_host_alias failed" >&5 -echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;} - { (exit 1); exit 1; }; } - -fi -echo "$as_me:1153: result: $ac_cv_host" >&5 -echo "${ECHO_T}$ac_cv_host" >&6 -host=$ac_cv_host -host_cpu=`echo "$ac_cv_host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -host_vendor=`echo "$ac_cv_host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -host_os=`echo "$ac_cv_host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS "conftest.$ac_ext" >&5' -ac_link='$CC -o "conftest$ac_exeext" $CFLAGS $CPPFLAGS $LDFLAGS "conftest.$ac_ext" $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -ac_main_return="return" -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. -set dummy ${ac_tool_prefix}gcc; ac_word=$2 -echo "$as_me:1169: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_CC="${ac_tool_prefix}gcc" -echo "$as_me:1184: found $ac_dir/$ac_word" >&5 -break -done - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - echo "$as_me:1192: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6 -else - echo "$as_me:1195: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -fi -if test -z "$ac_cv_prog_CC"; then - ac_ct_CC=$CC - # Extract the first word of "gcc", so it can be a program name with args. -set dummy gcc; ac_word=$2 -echo "$as_me:1204: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_ac_ct_CC="gcc" -echo "$as_me:1219: found $ac_dir/$ac_word" >&5 -break -done - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - echo "$as_me:1227: result: $ac_ct_CC" >&5 -echo "${ECHO_T}$ac_ct_CC" >&6 -else - echo "$as_me:1230: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - CC=$ac_ct_CC -else - CC="$ac_cv_prog_CC" -fi - -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. -set dummy ${ac_tool_prefix}cc; ac_word=$2 -echo "$as_me:1243: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_CC="${ac_tool_prefix}cc" -echo "$as_me:1258: found $ac_dir/$ac_word" >&5 -break -done - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - echo "$as_me:1266: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6 -else - echo "$as_me:1269: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -fi -if test -z "$ac_cv_prog_CC"; then - ac_ct_CC=$CC - # Extract the first word of "cc", so it can be a program name with args. -set dummy cc; ac_word=$2 -echo "$as_me:1278: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_ac_ct_CC="cc" -echo "$as_me:1293: found $ac_dir/$ac_word" >&5 -break -done - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - echo "$as_me:1301: result: $ac_ct_CC" >&5 -echo "${ECHO_T}$ac_ct_CC" >&6 -else - echo "$as_me:1304: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - CC=$ac_ct_CC -else - CC="$ac_cv_prog_CC" -fi - -fi -if test -z "$CC"; then - # Extract the first word of "cc", so it can be a program name with args. -set dummy cc; ac_word=$2 -echo "$as_me:1317: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - ac_prog_rejected=no - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then - ac_prog_rejected=yes - continue -fi -ac_cv_prog_CC="cc" -echo "$as_me:1337: found $ac_dir/$ac_word" >&5 -break -done - -if test "$ac_prog_rejected" = yes; then - # We found a bogon in the path, so make sure we never use it. - set dummy $ac_cv_prog_CC - shift - if test $# != 0; then - # We chose a different compiler from the bogus one. - # However, it has the same basename, so the bogon will be chosen - # first if we set CC to just the basename; use the full file name. - shift - set dummy "$ac_dir/$ac_word" ${1+"$@"} - shift - ac_cv_prog_CC="$@" - fi -fi -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - echo "$as_me:1359: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6 -else - echo "$as_me:1362: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -fi -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - for ac_prog in cl - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -echo "$as_me:1373: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_CC="$ac_tool_prefix$ac_prog" -echo "$as_me:1388: found $ac_dir/$ac_word" >&5 -break -done - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - echo "$as_me:1396: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6 -else - echo "$as_me:1399: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$CC" && break - done -fi -if test -z "$CC"; then - ac_ct_CC=$CC - for ac_prog in cl -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -echo "$as_me:1412: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_ac_ct_CC="$ac_prog" -echo "$as_me:1427: found $ac_dir/$ac_word" >&5 -break -done - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - echo "$as_me:1435: result: $ac_ct_CC" >&5 -echo "${ECHO_T}$ac_ct_CC" >&6 -else - echo "$as_me:1438: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$ac_ct_CC" && break -done - - CC=$ac_ct_CC -fi - -fi - -test -z "$CC" && { { echo "$as_me:1450: error: no acceptable cc found in \$PATH" >&5 -echo "$as_me: error: no acceptable cc found in \$PATH" >&2;} - { (exit 1); exit 1; }; } - -# Provide some information about the compiler. -echo "$as_me:1455:" \ - "checking for C compiler version" >&5 -ac_compiler=`set X $ac_compile; echo "$2"` -{ (eval echo "$as_me:1458: \"$ac_compiler --version </dev/null >&5\"") >&5 - (eval $ac_compiler --version </dev/null >&5) 2>&5 - ac_status=$? - echo "$as_me:1461: \$? = $ac_status" >&5 - (exit "$ac_status"); } -{ (eval echo "$as_me:1463: \"$ac_compiler -v </dev/null >&5\"") >&5 - (eval $ac_compiler -v </dev/null >&5) 2>&5 - ac_status=$? - echo "$as_me:1466: \$? = $ac_status" >&5 - (exit "$ac_status"); } -{ (eval echo "$as_me:1468: \"$ac_compiler -V </dev/null >&5\"") >&5 - (eval $ac_compiler -V </dev/null >&5) 2>&5 - ac_status=$? - echo "$as_me:1471: \$? = $ac_status" >&5 - (exit "$ac_status"); } - -cat >"conftest.$ac_ext" <<_ACEOF -#line 1475 "configure" -#include "confdefs.h" - -int -main (void) -{ - - ; - return 0; -} -_ACEOF -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files a.out a.exe" -# Try to create an executable without -o first, disregard a.out. -# It will help us diagnose broken compilers, and finding out an intuition -# of exeext. -echo "$as_me:1491: checking for C compiler default output" >&5 -echo $ECHO_N "checking for C compiler default output... $ECHO_C" >&6 -ac_link_default=`echo "$ac_link" | sed 's/ -o *"conftest[^"]*"//'` -if { (eval echo "$as_me:1494: \"$ac_link_default\"") >&5 - (eval $ac_link_default) 2>&5 - ac_status=$? - echo "$as_me:1497: \$? = $ac_status" >&5 - (exit "$ac_status"); }; then - # Find the output, starting from the most likely. This scheme is -# not robust to junk in `.', hence go to wildcards (a.*) only as a last -# resort. -for ac_file in `ls a.exe conftest.exe 2>/dev/null; - ls a.out conftest 2>/dev/null; - ls a.* conftest.* 2>/dev/null`; do - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.dbg | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; - a.out ) # We found the default executable, but exeext='' is most - # certainly right. - break;; - *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - # FIXME: I believe we export ac_cv_exeext for Libtool --akim. - export ac_cv_exeext - break;; - * ) break;; - esac -done -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -{ { echo "$as_me:1520: error: C compiler cannot create executables" >&5 -echo "$as_me: error: C compiler cannot create executables" >&2;} - { (exit 77); exit 77; }; } -fi - -ac_exeext=$ac_cv_exeext -echo "$as_me:1526: result: $ac_file" >&5 -echo "${ECHO_T}$ac_file" >&6 - -# Check the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -echo "$as_me:1531: checking whether the C compiler works" >&5 -echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6 -# FIXME: These cross compiler hacks should be removed for Autoconf 3.0 -# If not cross compiling, check that we can run a simple program. -if test "$cross_compiling" != yes; then - if { ac_try='./$ac_file' - { (eval echo "$as_me:1537: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:1540: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - cross_compiling=no - else - if test "$cross_compiling" = maybe; then - cross_compiling=yes - else - { { echo "$as_me:1547: error: cannot run C compiled programs. -If you meant to cross compile, use \`--host'." >&5 -echo "$as_me: error: cannot run C compiled programs. -If you meant to cross compile, use \`--host'." >&2;} - { (exit 1); exit 1; }; } - fi - fi -fi -echo "$as_me:1555: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - -rm -f a.out a.exe "conftest$ac_cv_exeext" -ac_clean_files=$ac_clean_files_save -# Check the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -echo "$as_me:1562: checking whether we are cross compiling" >&5 -echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6 -echo "$as_me:1564: result: $cross_compiling" >&5 -echo "${ECHO_T}$cross_compiling" >&6 - -echo "$as_me:1567: checking for executable suffix" >&5 -echo $ECHO_N "checking for executable suffix... $ECHO_C" >&6 -if { (eval echo "$as_me:1569: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:1572: \$? = $ac_status" >&5 - (exit "$ac_status"); }; then - # If both `conftest.exe' and `conftest' are `present' (well, observable) -# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will -# work properly (i.e., refer to `conftest.exe'), while it won't with -# `rm'. -for ac_file in `(ls conftest.exe; ls conftest; ls conftest.*) 2>/dev/null`; do - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.dbg | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; - *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - export ac_cv_exeext - break;; - * ) break;; - esac -done -else - { { echo "$as_me:1588: error: cannot compute EXEEXT: cannot compile and link" >&5 -echo "$as_me: error: cannot compute EXEEXT: cannot compile and link" >&2;} - { (exit 1); exit 1; }; } -fi - -rm -f "conftest$ac_cv_exeext" -echo "$as_me:1594: result: $ac_cv_exeext" >&5 -echo "${ECHO_T}$ac_cv_exeext" >&6 - -rm -f "conftest.$ac_ext" -EXEEXT=$ac_cv_exeext -ac_exeext=$EXEEXT -echo "$as_me:1600: checking for object suffix" >&5 -echo $ECHO_N "checking for object suffix... $ECHO_C" >&6 -if test "${ac_cv_objext+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >"conftest.$ac_ext" <<_ACEOF -#line 1606 "configure" -#include "confdefs.h" - -int -main (void) -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.o conftest.obj -if { (eval echo "$as_me:1618: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:1621: \$? = $ac_status" >&5 - (exit "$ac_status"); }; then - for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.dbg | *.pdb | *.xSYM | *.map | *.inf ) ;; - *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` - break;; - esac -done -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -{ { echo "$as_me:1633: error: cannot compute OBJEXT: cannot compile" >&5 -echo "$as_me: error: cannot compute OBJEXT: cannot compile" >&2;} - { (exit 1); exit 1; }; } -fi - -rm -f "conftest.$ac_cv_objext" "conftest.$ac_ext" -fi -echo "$as_me:1640: result: $ac_cv_objext" >&5 -echo "${ECHO_T}$ac_cv_objext" >&6 -OBJEXT=$ac_cv_objext -ac_objext=$OBJEXT -echo "$as_me:1644: checking whether we are using the GNU C compiler" >&5 -echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6 -if test "${ac_cv_c_compiler_gnu+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >"conftest.$ac_ext" <<_ACEOF -#line 1650 "configure" -#include "confdefs.h" - -int -main (void) -{ -#ifndef __GNUC__ - choke me -#endif - - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:1665: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:1668: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:1671: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:1674: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - ac_compiler_gnu=yes -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -ac_compiler_gnu=no -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" -ac_cv_c_compiler_gnu=$ac_compiler_gnu - -fi -echo "$as_me:1686: result: $ac_cv_c_compiler_gnu" >&5 -echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6 -GCC=`test $ac_compiler_gnu = yes && echo yes` -ac_test_CFLAGS=${CFLAGS+set} -ac_save_CFLAGS=$CFLAGS -CFLAGS="-g" -echo "$as_me:1692: checking whether $CC accepts -g" >&5 -echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6 -if test "${ac_cv_prog_cc_g+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >"conftest.$ac_ext" <<_ACEOF -#line 1698 "configure" -#include "confdefs.h" - -int -main (void) -{ - - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:1710: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:1713: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:1716: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:1719: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - ac_cv_prog_cc_g=yes -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -ac_cv_prog_cc_g=no -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" -fi -echo "$as_me:1729: result: $ac_cv_prog_cc_g" >&5 -echo "${ECHO_T}$ac_cv_prog_cc_g" >&6 -if test "$ac_test_CFLAGS" = set; then - CFLAGS=$ac_save_CFLAGS -elif test $ac_cv_prog_cc_g = yes; then - if test "$GCC" = yes; then - CFLAGS="-g -O2" - else - CFLAGS="-g" - fi -else - if test "$GCC" = yes; then - CFLAGS="-O2" - else - CFLAGS= - fi -fi -# Some people use a C++ compiler to compile C. Since we use `exit', -# in C++ we need to declare it. In case someone uses the same compiler -# for both compiling C and C++ we need to have the C++ compiler decide -# the declaration of exit, since it's the most demanding environment. -cat >"conftest.$ac_ext" <<_ACEOF -#ifndef __cplusplus - choke me -#endif -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:1756: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:1759: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:1762: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:1765: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - for ac_declaration in \ - ''\ - '#include <stdlib.h>' \ - 'extern "C" void std::exit (int) throw (); using std::exit;' \ - 'extern "C" void std::exit (int); using std::exit;' \ - 'extern "C" void exit (int) throw ();' \ - 'extern "C" void exit (int);' \ - 'void exit (int);' -do - cat >"conftest.$ac_ext" <<_ACEOF -#line 1777 "configure" -#include "confdefs.h" -#include <stdlib.h> -$ac_declaration -int -main (void) -{ -exit (42); - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:1790: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:1793: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:1796: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:1799: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - : -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -continue -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" - cat >"conftest.$ac_ext" <<_ACEOF -#line 1809 "configure" -#include "confdefs.h" -$ac_declaration -int -main (void) -{ -exit (42); - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:1821: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:1824: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:1827: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:1830: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - break -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" -done -rm -rf conftest* -if test -n "$ac_declaration"; then - echo '#ifdef __cplusplus' >>confdefs.h - echo "$ac_declaration" >>confdefs.h - echo '#endif' >>confdefs.h -fi - -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS "conftest.$ac_ext" >&5' -ac_link='$CC -o "conftest$ac_exeext" $CFLAGS $CPPFLAGS $LDFLAGS "conftest.$ac_ext" $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -ac_main_return="return" - -GCC_VERSION=none -if test "$GCC" = yes ; then - echo "$as_me:1860: checking version of $CC" >&5 -echo $ECHO_N "checking version of $CC... $ECHO_C" >&6 - GCC_VERSION="`${CC} --version 2>/dev/null | sed -e '2,$d' -e 's/^.*(GCC[^)]*) //' -e 's/^.*(Debian[^)]*) //' -e 's/^[^0-9.]*//' -e 's/[^0-9.].*//'`" - test -z "$GCC_VERSION" && GCC_VERSION=unknown - echo "$as_me:1864: result: $GCC_VERSION" >&5 -echo "${ECHO_T}$GCC_VERSION" >&6 -fi - -INTEL_COMPILER=no - -if test "$GCC" = yes ; then - case "$host_os" in - (linux*|gnu*) - echo "$as_me:1873: checking if this is really Intel C compiler" >&5 -echo $ECHO_N "checking if this is really Intel C compiler... $ECHO_C" >&6 - cf_save_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -no-gcc" - cat >"conftest.$ac_ext" <<_ACEOF -#line 1878 "configure" -#include "confdefs.h" - -int -main (void) -{ - -#ifdef __INTEL_COMPILER -#else -make an error -#endif - - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:1895: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:1898: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:1901: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:1904: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - INTEL_COMPILER=yes -cf_save_CFLAGS="$cf_save_CFLAGS -we147" - -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" - CFLAGS="$cf_save_CFLAGS" - echo "$as_me:1915: result: $INTEL_COMPILER" >&5 -echo "${ECHO_T}$INTEL_COMPILER" >&6 - ;; - esac -fi - -CLANG_COMPILER=no - -if test "$GCC" = yes ; then - echo "$as_me:1924: checking if this is really Clang C compiler" >&5 -echo $ECHO_N "checking if this is really Clang C compiler... $ECHO_C" >&6 - cf_save_CFLAGS="$CFLAGS" - cat >"conftest.$ac_ext" <<_ACEOF -#line 1928 "configure" -#include "confdefs.h" - -int -main (void) -{ - -#ifdef __clang__ -#else -make an error -#endif - - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:1945: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:1948: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:1951: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:1954: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - CLANG_COMPILER=yes - -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" - CFLAGS="$cf_save_CFLAGS" - echo "$as_me:1964: result: $CLANG_COMPILER" >&5 -echo "${ECHO_T}$CLANG_COMPILER" >&6 -fi - -CLANG_VERSION=none - -if test "x$CLANG_COMPILER" = "xyes" ; then - case "$CC" in - (c[1-9][0-9]|*/c[1-9][0-9]) - { echo "$as_me:1973: WARNING: replacing broken compiler alias $CC" >&5 -echo "$as_me: WARNING: replacing broken compiler alias $CC" >&2;} - CFLAGS="$CFLAGS -std=`echo "$CC" | sed -e 's%.*/%%'`" - CC=clang - ;; - esac - - echo "$as_me:1980: checking version of $CC" >&5 -echo $ECHO_N "checking version of $CC... $ECHO_C" >&6 - CLANG_VERSION="`$CC --version 2>/dev/null | sed -e '2,$d' -e 's/^.*(CLANG[^)]*) //' -e 's/^.*(Debian[^)]*) //' -e 's/^[^0-9.]*//' -e 's/[^0-9.].*//'`" - test -z "$CLANG_VERSION" && CLANG_VERSION=unknown - echo "$as_me:1984: result: $CLANG_VERSION" >&5 -echo "${ECHO_T}$CLANG_VERSION" >&6 - - for cf_clang_opt in \ - -Qunused-arguments \ - -Wno-error=implicit-function-declaration - do - echo "$as_me:1991: checking if option $cf_clang_opt works" >&5 -echo $ECHO_N "checking if option $cf_clang_opt works... $ECHO_C" >&6 - cf_save_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS $cf_clang_opt" - cat >"conftest.$ac_ext" <<_ACEOF -#line 1996 "configure" -#include "confdefs.h" - - #include <stdio.h> -int -main (void) -{ - - printf("hello!\\n"); - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:2010: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:2013: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:2016: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:2019: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - - cf_clang_optok=yes -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 - - cf_clang_optok=no -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" - echo "$as_me:2030: result: $cf_clang_optok" >&5 -echo "${ECHO_T}$cf_clang_optok" >&6 - CFLAGS="$cf_save_CFLAGS" - if test "$cf_clang_optok" = yes; then - test -n "$verbose" && echo " adding option $cf_clang_opt" 1>&6 - -echo "${as_me:-configure}:2036: testing adding option $cf_clang_opt ..." 1>&5 - - test -n "$CFLAGS" && CFLAGS="$CFLAGS " - CFLAGS="${CFLAGS}$cf_clang_opt" - - fi - done -fi - -echo "$as_me:2045: checking for $CC option to accept ANSI C" >&5 -echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6 -if test "${ac_cv_prog_cc_stdc+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_prog_cc_stdc=no -ac_save_CC=$CC -cat >"conftest.$ac_ext" <<_ACEOF -#line 2053 "configure" -#include "confdefs.h" -#include <stdarg.h> -#include <stdio.h> -#include <sys/types.h> -#include <sys/stat.h> -/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ -struct buf { int x; }; -FILE * (*rcsopen) (struct buf *, struct stat *, int); -static char *e (p, i) - char **p; - int i; -{ - return p[i]; -} -static char *f (char * (*g) (char **, int), char **p, ...) -{ - char *s; - va_list v; - va_start (v,p); - s = g (p, va_arg (v,int)); - va_end (v); - return s; -} -int test (int i, double x); -struct s1 {int (*f) (int a);}; -struct s2 {int (*f) (double a);}; -int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); -int argc; -char **argv; -int -main (void) -{ -return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; - ; - return 0; -} -_ACEOF -# Don't try gcc -ansi; that turns off useful extensions and -# breaks some systems' header files. -# AIX -qlanglvl=ansi -# Ultrix and OSF/1 -std1 -# HP-UX 10.20 and later -Ae -# HP-UX older versions -Aa -D_HPUX_SOURCE -# SVR4 -Xc -D__EXTENSIONS__ -for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" -do - CC="$ac_save_CC $ac_arg" - rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:2102: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:2105: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:2108: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:2111: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - ac_cv_prog_cc_stdc=$ac_arg -break -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -fi -rm -f "conftest.$ac_objext" -done -rm -f "conftest.$ac_ext" "conftest.$ac_objext" -CC=$ac_save_CC - -fi - -case "x$ac_cv_prog_cc_stdc" in - x|xno) - echo "$as_me:2128: result: none needed" >&5 -echo "${ECHO_T}none needed" >&6 ;; - *) - echo "$as_me:2131: result: $ac_cv_prog_cc_stdc" >&5 -echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6 - CC="$CC $ac_cv_prog_cc_stdc" ;; -esac - -# This should have been defined by AC_PROG_CC -: "${CC:=cc}" - -echo "$as_me:2139: checking \$CFLAGS variable" >&5 -echo $ECHO_N "checking \$CFLAGS variable... $ECHO_C" >&6 -case "x$CFLAGS" in -(*-[IUD]*) - echo "$as_me:2143: result: broken" >&5 -echo "${ECHO_T}broken" >&6 - { echo "$as_me:2145: WARNING: your environment uses the CFLAGS variable to hold CPPFLAGS options" >&5 -echo "$as_me: WARNING: your environment uses the CFLAGS variable to hold CPPFLAGS options" >&2;} - cf_flags="$CFLAGS" - CFLAGS= - for cf_arg in $cf_flags - do - -cf_fix_cppflags=no -cf_new_cflags= -cf_new_cppflags= -cf_new_extra_cppflags= - -for cf_add_cflags in $cf_arg -do -case "$cf_fix_cppflags" in -(no) - case "$cf_add_cflags" in - (-undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) - case "$cf_add_cflags" in - (-D*) - cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^-D[^=]*='\''\"[^"]*//'` - - test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=yes - - if test "$cf_fix_cppflags" = yes ; then - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - continue - elif test "${cf_tst_cflags}" = "\"'" ; then - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - continue - fi - ;; - esac - case "$CPPFLAGS" in - (*$cf_add_cflags) - ;; - (*) - case "$cf_add_cflags" in - (-D*) - cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'` - -CPPFLAGS=`echo "$CPPFLAGS" | \ - sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \ - -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'` - - ;; - esac - - test -n "$cf_new_cppflags" && cf_new_cppflags="$cf_new_cppflags " - cf_new_cppflags="${cf_new_cppflags}$cf_add_cflags" - - ;; - esac - ;; - (*) - - test -n "$cf_new_cflags" && cf_new_cflags="$cf_new_cflags " - cf_new_cflags="${cf_new_cflags}$cf_add_cflags" - - ;; - esac - ;; -(yes) - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^[^"]*"'\''//'` - - test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=no - ;; -esac -done - -if test -n "$cf_new_cflags" ; then - - test -n "$CFLAGS" && CFLAGS="$CFLAGS " - CFLAGS="${CFLAGS}$cf_new_cflags" - -fi - -if test -n "$cf_new_cppflags" ; then - - test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS " - CPPFLAGS="${CPPFLAGS}$cf_new_cppflags" - -fi - -if test -n "$cf_new_extra_cppflags" ; then - - test -n "$EXTRA_CPPFLAGS" && EXTRA_CPPFLAGS="$EXTRA_CPPFLAGS " - EXTRA_CPPFLAGS="${EXTRA_CPPFLAGS}$cf_new_extra_cppflags" - -fi - - done - ;; -(*) - echo "$as_me:2253: result: ok" >&5 -echo "${ECHO_T}ok" >&6 - ;; -esac - -echo "$as_me:2258: checking \$CC variable" >&5 -echo $ECHO_N "checking \$CC variable... $ECHO_C" >&6 -case "$CC" in -(*[\ \ ]-*) - echo "$as_me:2262: result: broken" >&5 -echo "${ECHO_T}broken" >&6 - { echo "$as_me:2264: WARNING: your environment uses the CC variable to hold CFLAGS/CPPFLAGS options" >&5 -echo "$as_me: WARNING: your environment uses the CC variable to hold CFLAGS/CPPFLAGS options" >&2;} - # humor him... - cf_prog=`echo "$CC" | sed -e 's/ / /g' -e 's/[ ]* / /g' -e 's/[ ]*[ ]-[^ ].*//'` - cf_flags=`echo "$CC" | ${AWK:-awk} -v prog="$cf_prog" '{ printf("%s", substr($0,1+length(prog))); }'` - CC="$cf_prog" - for cf_arg in $cf_flags - do - case "x$cf_arg" in - (x-[IUDfgOW]*) - -cf_fix_cppflags=no -cf_new_cflags= -cf_new_cppflags= -cf_new_extra_cppflags= - -for cf_add_cflags in $cf_arg -do -case "$cf_fix_cppflags" in -(no) - case "$cf_add_cflags" in - (-undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) - case "$cf_add_cflags" in - (-D*) - cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^-D[^=]*='\''\"[^"]*//'` - - test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=yes - - if test "$cf_fix_cppflags" = yes ; then - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - continue - elif test "${cf_tst_cflags}" = "\"'" ; then - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - continue - fi - ;; - esac - case "$CPPFLAGS" in - (*$cf_add_cflags) - ;; - (*) - case "$cf_add_cflags" in - (-D*) - cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'` - -CPPFLAGS=`echo "$CPPFLAGS" | \ - sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \ - -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'` - - ;; - esac - - test -n "$cf_new_cppflags" && cf_new_cppflags="$cf_new_cppflags " - cf_new_cppflags="${cf_new_cppflags}$cf_add_cflags" - - ;; - esac - ;; - (*) - - test -n "$cf_new_cflags" && cf_new_cflags="$cf_new_cflags " - cf_new_cflags="${cf_new_cflags}$cf_add_cflags" - - ;; - esac - ;; -(yes) - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^[^"]*"'\''//'` - - test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=no - ;; -esac -done - -if test -n "$cf_new_cflags" ; then - - test -n "$CFLAGS" && CFLAGS="$CFLAGS " - CFLAGS="${CFLAGS}$cf_new_cflags" - -fi - -if test -n "$cf_new_cppflags" ; then - - test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS " - CPPFLAGS="${CPPFLAGS}$cf_new_cppflags" - -fi - -if test -n "$cf_new_extra_cppflags" ; then - - test -n "$EXTRA_CPPFLAGS" && EXTRA_CPPFLAGS="$EXTRA_CPPFLAGS " - EXTRA_CPPFLAGS="${EXTRA_CPPFLAGS}$cf_new_extra_cppflags" - -fi - - ;; - (*) - CC="$CC $cf_arg" - ;; - esac - done - test -n "$verbose" && echo " resulting CC: '$CC'" 1>&6 - -echo "${as_me:-configure}:2381: testing resulting CC: '$CC' ..." 1>&5 - - test -n "$verbose" && echo " resulting CFLAGS: '$CFLAGS'" 1>&6 - -echo "${as_me:-configure}:2385: testing resulting CFLAGS: '$CFLAGS' ..." 1>&5 - - test -n "$verbose" && echo " resulting CPPFLAGS: '$CPPFLAGS'" 1>&6 - -echo "${as_me:-configure}:2389: testing resulting CPPFLAGS: '$CPPFLAGS' ..." 1>&5 - - ;; -(*) - echo "$as_me:2393: result: ok" >&5 -echo "${ECHO_T}ok" >&6 - ;; -esac - -for ac_prog in ggrep grep -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -echo "$as_me:2402: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_GREP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$GREP"; then - ac_cv_prog_GREP="$GREP" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_GREP="$ac_prog" -echo "$as_me:2417: found $ac_dir/$ac_word" >&5 -break -done - -fi -fi -GREP=$ac_cv_prog_GREP -if test -n "$GREP"; then - echo "$as_me:2425: result: $GREP" >&5 -echo "${ECHO_T}$GREP" >&6 -else - echo "$as_me:2428: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$GREP" && break -done -test -n "$GREP" || GREP=": " - -echo "$as_me:2436: checking for egrep" >&5 -echo $ECHO_N "checking for egrep... $ECHO_C" >&6 -if test "${ac_cv_path_EGREP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 - then ac_cv_path_EGREP="$GREP -E" - else - for ac_prog in gegrep egrep -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -echo "$as_me:2448: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_EGREP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $EGREP in - [\\/]* | ?:[\\/]*) - ac_cv_path_EGREP="$EGREP" # Let the user override the test with a path. - ;; - *) - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - if $as_executable_p "$ac_dir/$ac_word"; then - ac_cv_path_EGREP="$ac_dir/$ac_word" - echo "$as_me:2465: found $ac_dir/$ac_word" >&5 - break -fi -done - - ;; -esac -fi -EGREP=$ac_cv_path_EGREP - -if test -n "$EGREP"; then - echo "$as_me:2476: result: $EGREP" >&5 -echo "${ECHO_T}$EGREP" >&6 -else - echo "$as_me:2479: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$EGREP" && break -done -test -n "$EGREP" || EGREP=": " - - test "x$ac_cv_path_EGREP" = "x:" && { { echo "$as_me:2487: error: cannot find workable egrep" >&5 -echo "$as_me: error: cannot find workable egrep" >&2;} - { (exit 1); exit 1; }; } - fi -fi -echo "$as_me:2492: result: $ac_cv_path_EGREP" >&5 -echo "${ECHO_T}$ac_cv_path_EGREP" >&6 - EGREP="$ac_cv_path_EGREP" - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS "conftest.$ac_ext" >&5' -ac_link='$CC -o "conftest$ac_exeext" $CFLAGS $CPPFLAGS $LDFLAGS "conftest.$ac_ext" $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -ac_main_return="return" -echo "$as_me:2502: checking how to run the C preprocessor" >&5 -echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6 -# On Suns, sometimes $CPP names a directory. -if test -n "$CPP" && test -d "$CPP"; then - CPP= -fi -if test -z "$CPP"; then - if test "${ac_cv_prog_CPP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - # Double quotes because CPP needs to be expanded - for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" - do - ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat >"conftest.$ac_ext" <<_ACEOF -#line 2523 "configure" -#include "confdefs.h" -#include <assert.h> - Syntax error -_ACEOF -if { (eval echo "$as_me:2528: \"$ac_cpp "conftest.$ac_ext"\"") >&5 - (eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - $EGREP -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:2534: \$? = $ac_status" >&5 - (exit "$ac_status"); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - : -else - echo "$as_me: failed program was:" >&5 - cat "conftest.$ac_ext" >&5 - # Broken: fails on valid input. -continue -fi -rm -f conftest.err "conftest.$ac_ext" - - # OK, works on sane cases. Now check whether non-existent headers - # can be detected and how. - cat >"conftest.$ac_ext" <<_ACEOF -#line 2557 "configure" -#include "confdefs.h" -#include <ac_nonexistent.h> -_ACEOF -if { (eval echo "$as_me:2561: \"$ac_cpp "conftest.$ac_ext"\"") >&5 - (eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - $EGREP -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:2567: \$? = $ac_status" >&5 - (exit "$ac_status"); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - # Broken: success on invalid input. -continue -else - echo "$as_me: failed program was:" >&5 - cat "conftest.$ac_ext" >&5 - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err "conftest.$ac_ext" - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err "conftest.$ac_ext" -if $ac_preproc_ok; then - break -fi - - done - ac_cv_prog_CPP=$CPP - -fi - CPP=$ac_cv_prog_CPP -else - ac_cv_prog_CPP=$CPP -fi -echo "$as_me:2604: result: $CPP" >&5 -echo "${ECHO_T}$CPP" >&6 -ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat >"conftest.$ac_ext" <<_ACEOF -#line 2614 "configure" -#include "confdefs.h" -#include <assert.h> - Syntax error -_ACEOF -if { (eval echo "$as_me:2619: \"$ac_cpp "conftest.$ac_ext"\"") >&5 - (eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - $EGREP -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:2625: \$? = $ac_status" >&5 - (exit "$ac_status"); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - : -else - echo "$as_me: failed program was:" >&5 - cat "conftest.$ac_ext" >&5 - # Broken: fails on valid input. -continue -fi -rm -f conftest.err "conftest.$ac_ext" - - # OK, works on sane cases. Now check whether non-existent headers - # can be detected and how. - cat >"conftest.$ac_ext" <<_ACEOF -#line 2648 "configure" -#include "confdefs.h" -#include <ac_nonexistent.h> -_ACEOF -if { (eval echo "$as_me:2652: \"$ac_cpp "conftest.$ac_ext"\"") >&5 - (eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - $EGREP -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:2658: \$? = $ac_status" >&5 - (exit "$ac_status"); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - # Broken: success on invalid input. -continue -else - echo "$as_me: failed program was:" >&5 - cat "conftest.$ac_ext" >&5 - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err "conftest.$ac_ext" - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err "conftest.$ac_ext" -if $ac_preproc_ok; then - : -else - { { echo "$as_me:2686: error: C preprocessor \"$CPP\" fails sanity check" >&5 -echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check" >&2;} - { (exit 1); exit 1; }; } -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS "conftest.$ac_ext" >&5' -ac_link='$CC -o "conftest$ac_exeext" $CFLAGS $CPPFLAGS $LDFLAGS "conftest.$ac_ext" $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -ac_main_return="return" - -echo "$as_me:2698: checking whether ${MAKE-make} sets \${MAKE}" >&5 -echo $ECHO_N "checking whether ${MAKE-make} sets \${MAKE}... $ECHO_C" >&6 -set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,./+-,__p_,'` -if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.make <<\EOF -all: - @echo 'ac_maketemp="${MAKE}"' -EOF -# GNU make sometimes prints "make[1]: Entering...", which would confuse us. -eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=` -if test -n "$ac_maketemp"; then - eval ac_cv_prog_make_${ac_make}_set=yes -else - eval ac_cv_prog_make_${ac_make}_set=no -fi -rm -f conftest.make -fi -if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then - echo "$as_me:2718: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - SET_MAKE= -else - echo "$as_me:2722: result: no" >&5 -echo "${ECHO_T}no" >&6 - SET_MAKE="MAKE=${MAKE-make}" -fi - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. -set dummy ${ac_tool_prefix}ranlib; ac_word=$2 -echo "$as_me:2730: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_RANLIB+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$RANLIB"; then - ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" -echo "$as_me:2745: found $ac_dir/$ac_word" >&5 -break -done - -fi -fi -RANLIB=$ac_cv_prog_RANLIB -if test -n "$RANLIB"; then - echo "$as_me:2753: result: $RANLIB" >&5 -echo "${ECHO_T}$RANLIB" >&6 -else - echo "$as_me:2756: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -fi -if test -z "$ac_cv_prog_RANLIB"; then - ac_ct_RANLIB=$RANLIB - # Extract the first word of "ranlib", so it can be a program name with args. -set dummy ranlib; ac_word=$2 -echo "$as_me:2765: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_RANLIB"; then - ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_ac_ct_RANLIB="ranlib" -echo "$as_me:2780: found $ac_dir/$ac_word" >&5 -break -done - - test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":" -fi -fi -ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB -if test -n "$ac_ct_RANLIB"; then - echo "$as_me:2789: result: $ac_ct_RANLIB" >&5 -echo "${ECHO_T}$ac_ct_RANLIB" >&6 -else - echo "$as_me:2792: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - RANLIB=$ac_ct_RANLIB -else - RANLIB="$ac_cv_prog_RANLIB" -fi - -# Find a good install program. We prefer a C program (faster), -# so one script is as good as another. But avoid the broken or -# incompatible versions: -# SysV /etc/install, /usr/sbin/install -# SunOS /usr/etc/install -# IRIX /sbin/install -# AIX /bin/install -# AmigaOS /C/install, which installs bootblocks on floppy discs -# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag -# AFS /usr/afsws/bin/install, which mishandles nonexistent args -# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" -# ./install, which can be erroneously created by make from ./install.sh. -echo "$as_me:2813: checking for a BSD compatible install" >&5 -echo $ECHO_N "checking for a BSD compatible install... $ECHO_C" >&6 -if test -z "$INSTALL"; then -if test "${ac_cv_path_install+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_save_IFS=$IFS; IFS=$ac_path_separator - for ac_dir in $PATH; do - IFS=$ac_save_IFS - # Account for people who put trailing slashes in PATH elements. - case $ac_dir/ in - / | ./ | .// | /cC/* \ - | /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* \ - | /usr/ucb/* ) ;; - *) - # OSF1 and SCO ODT 3.0 have their own names for install. - # Don't use installbsd from OSF since it installs stuff as root - # by default. - for ac_prog in ginstall scoinst install; do - if $as_executable_p "$ac_dir/$ac_prog"; then - if test $ac_prog = install && - grep dspmsg "$ac_dir/$ac_prog" >/dev/null 2>&1; then - # AIX install. It has an incompatible calling convention. - : - elif test $ac_prog = install && - grep pwplus "$ac_dir/$ac_prog" >/dev/null 2>&1; then - # program-specific install script used by HP pwplus--don't use. - : - else - ac_cv_path_install="$ac_dir/$ac_prog -c" - break 2 - fi - fi - done - ;; - esac - done - -fi - if test "${ac_cv_path_install+set}" = set; then - INSTALL=$ac_cv_path_install - else - # As a last resort, use the slow shell script. We don't cache a - # path for INSTALL within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the path is relative. - INSTALL=$ac_install_sh - fi -fi -echo "$as_me:2862: result: $INSTALL" >&5 -echo "${ECHO_T}$INSTALL" >&6 - -# Use test -z because SunOS4 sh mishandles braces in ${var-val}. -# It thinks the first close brace ends the variable substitution. -test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' - -test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' - -test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' - -echo "$as_me:2873: checking whether ln -s works" >&5 -echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6 -LN_S=$as_ln_s -if test "$LN_S" = "ln -s"; then - echo "$as_me:2877: result: yes" >&5 -echo "${ECHO_T}yes" >&6 -else - echo "$as_me:2880: result: no, using $LN_S" >&5 -echo "${ECHO_T}no, using $LN_S" >&6 -fi - -echo "$as_me:2884: checking if $LN_S -f options work" >&5 -echo $ECHO_N "checking if $LN_S -f options work... $ECHO_C" >&6 - -rm -f conf$$.src conf$$dst -echo >conf$$.dst -echo first >conf$$.src -if $LN_S -f conf$$.src conf$$.dst 2>/dev/null; then - cf_prog_ln_sf=yes -else - cf_prog_ln_sf=no -fi -rm -f conf$$.dst conf$$src -echo "$as_me:2896: result: $cf_prog_ln_sf" >&5 -echo "${ECHO_T}$cf_prog_ln_sf" >&6 - -test "$cf_prog_ln_sf" = yes && LN_S="$LN_S -f" - -for ac_prog in lint cppcheck splint -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -echo "$as_me:2905: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_LINT+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$LINT"; then - ac_cv_prog_LINT="$LINT" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_LINT="$ac_prog" -echo "$as_me:2920: found $ac_dir/$ac_word" >&5 -break -done - -fi -fi -LINT=$ac_cv_prog_LINT -if test -n "$LINT"; then - echo "$as_me:2928: result: $LINT" >&5 -echo "${ECHO_T}$LINT" >&6 -else - echo "$as_me:2931: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$LINT" && break -done - -case "x$LINT" in -(xcppcheck|x*/cppcheck) - test -z "$LINT_OPTS" && LINT_OPTS="--enable=all" - ;; -esac - -# Extract the first word of "groff", so it can be a program name with args. -set dummy groff; ac_word=$2 -echo "$as_me:2946: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_GROFF_PATH+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $GROFF_PATH in - [\\/]* | ?:[\\/]*) - ac_cv_path_GROFF_PATH="$GROFF_PATH" # Let the user override the test with a path. - ;; - *) - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - if $as_executable_p "$ac_dir/$ac_word"; then - ac_cv_path_GROFF_PATH="$ac_dir/$ac_word" - echo "$as_me:2963: found $ac_dir/$ac_word" >&5 - break -fi -done - - test -z "$ac_cv_path_GROFF_PATH" && ac_cv_path_GROFF_PATH="no" - ;; -esac -fi -GROFF_PATH=$ac_cv_path_GROFF_PATH - -if test -n "$GROFF_PATH"; then - echo "$as_me:2975: result: $GROFF_PATH" >&5 -echo "${ECHO_T}$GROFF_PATH" >&6 -else - echo "$as_me:2978: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -for ac_prog in nroff mandoc -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -echo "$as_me:2986: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_NROFF_PATH+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $NROFF_PATH in - [\\/]* | ?:[\\/]*) - ac_cv_path_NROFF_PATH="$NROFF_PATH" # Let the user override the test with a path. - ;; - *) - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - if $as_executable_p "$ac_dir/$ac_word"; then - ac_cv_path_NROFF_PATH="$ac_dir/$ac_word" - echo "$as_me:3003: found $ac_dir/$ac_word" >&5 - break -fi -done - - ;; -esac -fi -NROFF_PATH=$ac_cv_path_NROFF_PATH - -if test -n "$NROFF_PATH"; then - echo "$as_me:3014: result: $NROFF_PATH" >&5 -echo "${ECHO_T}$NROFF_PATH" >&6 -else - echo "$as_me:3017: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$NROFF_PATH" && break -done -test -n "$NROFF_PATH" || NROFF_PATH="no" - -# Extract the first word of "tbl", so it can be a program name with args. -set dummy tbl; ac_word=$2 -echo "$as_me:3027: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_TBL_PATH+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $TBL_PATH in - [\\/]* | ?:[\\/]*) - ac_cv_path_TBL_PATH="$TBL_PATH" # Let the user override the test with a path. - ;; - *) - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - if $as_executable_p "$ac_dir/$ac_word"; then - ac_cv_path_TBL_PATH="$ac_dir/$ac_word" - echo "$as_me:3044: found $ac_dir/$ac_word" >&5 - break -fi -done - - test -z "$ac_cv_path_TBL_PATH" && ac_cv_path_TBL_PATH="cat" - ;; -esac -fi -TBL_PATH=$ac_cv_path_TBL_PATH - -if test -n "$TBL_PATH"; then - echo "$as_me:3056: result: $TBL_PATH" >&5 -echo "${ECHO_T}$TBL_PATH" >&6 -else - echo "$as_me:3059: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -if test "x$GROFF_PATH" = xno -then - NROFF_NOTE= - GROFF_NOTE="#" -else - NROFF_NOTE="#" - GROFF_NOTE= -fi - -test -z "$GROFF_NOTE" && NROFF_NOTE= - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. -set dummy ${ac_tool_prefix}ar; ac_word=$2 -echo "$as_me:3077: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_AR+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$AR"; then - ac_cv_prog_AR="$AR" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_AR="${ac_tool_prefix}ar" -echo "$as_me:3092: found $ac_dir/$ac_word" >&5 -break -done - -fi -fi -AR=$ac_cv_prog_AR -if test -n "$AR"; then - echo "$as_me:3100: result: $AR" >&5 -echo "${ECHO_T}$AR" >&6 -else - echo "$as_me:3103: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -fi -if test -z "$ac_cv_prog_AR"; then - ac_ct_AR=$AR - # Extract the first word of "ar", so it can be a program name with args. -set dummy ar; ac_word=$2 -echo "$as_me:3112: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_AR+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_AR"; then - ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_ac_ct_AR="ar" -echo "$as_me:3127: found $ac_dir/$ac_word" >&5 -break -done - - test -z "$ac_cv_prog_ac_ct_AR" && ac_cv_prog_ac_ct_AR="ar" -fi -fi -ac_ct_AR=$ac_cv_prog_ac_ct_AR -if test -n "$ac_ct_AR"; then - echo "$as_me:3136: result: $ac_ct_AR" >&5 -echo "${ECHO_T}$ac_ct_AR" >&6 -else - echo "$as_me:3139: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - AR=$ac_ct_AR -else - AR="$ac_cv_prog_AR" -fi - -echo "$as_me:3148: checking for options to update archives" >&5 -echo $ECHO_N "checking for options to update archives... $ECHO_C" >&6 -if test "${cf_cv_ar_flags+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - case "$cf_cv_system_name" in - (*-msvc*) - cf_cv_ar_flags='' - cat >mk_static_lib.sh <<-EOF - #!$SHELL - MSVC_BIN="$AR" - out="\$1" - shift - exec \$MSVC_BIN -out:"\$out" \$@ - EOF - chmod +x mk_static_lib.sh - AR=`pwd`/mk_static_lib.sh - ;; - (*) - cf_cv_ar_flags=unknown - for cf_ar_flags in -curvU -curv curv -crv crv -cqv cqv -rv rv - do - - # check if $ARFLAGS already contains this choice - if test "x$ARFLAGS" != "x" ; then - cf_check_ar_flags=`echo "x$ARFLAGS" | sed -e "s/$cf_ar_flags\$//" -e "s/$cf_ar_flags / /"` - if test "x$ARFLAGS" != "$cf_check_ar_flags" ; then - cf_cv_ar_flags= - break - fi - fi - - rm -f "conftest.$ac_cv_objext" - rm -f conftest.a - - cat >"conftest.$ac_ext" <<EOF -#line 3185 "configure" -int testdata[3] = { 123, 456, 789 }; -EOF - if { (eval echo "$as_me:3188: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:3191: \$? = $ac_status" >&5 - (exit "$ac_status"); } ; then - echo "$AR $ARFLAGS $cf_ar_flags conftest.a conftest.$ac_cv_objext" >&5 - $AR $ARFLAGS "$cf_ar_flags" conftest.a "conftest.$ac_cv_objext" 2>&5 1>/dev/null - if test -f conftest.a ; then - cf_cv_ar_flags="$cf_ar_flags" - break - fi - else - test -n "$verbose" && echo " cannot compile test-program" 1>&6 - -echo "${as_me:-configure}:3202: testing cannot compile test-program ..." 1>&5 - - break - fi - done - rm -f conftest.a "conftest.$ac_ext" "conftest.$ac_cv_objext" - ;; - esac - -fi -echo "$as_me:3212: result: $cf_cv_ar_flags" >&5 -echo "${ECHO_T}$cf_cv_ar_flags" >&6 - -if test -n "$ARFLAGS" ; then - if test -n "$cf_cv_ar_flags" ; then - ARFLAGS="$ARFLAGS $cf_cv_ar_flags" - fi -else - ARFLAGS=$cf_cv_ar_flags -fi - -echo "$as_me:3223: checking for fgrep" >&5 -echo $ECHO_N "checking for fgrep... $ECHO_C" >&6 -if test "${ac_cv_path_FGREP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 - then ac_cv_path_FGREP="$GREP -F" - else - for ac_prog in gfgrep fgrep -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -echo "$as_me:3235: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_FGREP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $FGREP in - [\\/]* | ?:[\\/]*) - ac_cv_path_FGREP="$FGREP" # Let the user override the test with a path. - ;; - *) - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - if $as_executable_p "$ac_dir/$ac_word"; then - ac_cv_path_FGREP="$ac_dir/$ac_word" - echo "$as_me:3252: found $ac_dir/$ac_word" >&5 - break -fi -done - - ;; -esac -fi -FGREP=$ac_cv_path_FGREP - -if test -n "$FGREP"; then - echo "$as_me:3263: result: $FGREP" >&5 -echo "${ECHO_T}$FGREP" >&6 -else - echo "$as_me:3266: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$FGREP" && break -done -test -n "$FGREP" || FGREP=": " - - test "x$ac_cv_path_FGREP" = "x:" && { { echo "$as_me:3274: error: cannot find workable fgrep" >&5 -echo "$as_me: error: cannot find workable fgrep" >&2;} - { (exit 1); exit 1; }; } - fi -fi -echo "$as_me:3279: result: $ac_cv_path_FGREP" >&5 -echo "${ECHO_T}$ac_cv_path_FGREP" >&6 - FGREP="$ac_cv_path_FGREP" - -echo "$as_me:3283: checking for makeflags variable" >&5 -echo $ECHO_N "checking for makeflags variable... $ECHO_C" >&6 -if test "${cf_cv_makeflags+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - cf_cv_makeflags='' - for cf_option in '-${MAKEFLAGS}' '${MFLAGS}' - do - cat >cf_makeflags.tmp <<CF_EOF -SHELL = $SHELL -all : - @ echo '.$cf_option' -CF_EOF - cf_result=`${MAKE:-make} -k -f cf_makeflags.tmp 2>/dev/null | ${FGREP-fgrep} -v "ing directory" | sed -e 's,[ ]*$,,'` - case "$cf_result" in - (.*k|.*kw) - cf_result="`${MAKE:-make} -k -f cf_makeflags.tmp CC=cc 2>/dev/null`" - case "$cf_result" in - (.*CC=*) cf_cv_makeflags= - ;; - (*) cf_cv_makeflags=$cf_option - ;; - esac - break - ;; - (.-) - ;; - (*) - -echo "${as_me:-configure}:3313: testing given option \"$cf_option\",no match \"$cf_result\" ..." 1>&5 - - ;; - esac - done - rm -f cf_makeflags.tmp - -fi -echo "$as_me:3321: result: $cf_cv_makeflags" >&5 -echo "${ECHO_T}$cf_cv_makeflags" >&6 - -echo "$as_me:3324: checking if filesystem supports mixed-case filenames" >&5 -echo $ECHO_N "checking if filesystem supports mixed-case filenames... $ECHO_C" >&6 -if test "${cf_cv_mixedcase+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - -if test "$cross_compiling" = yes ; then - case "$target_alias" in - (*-os2-emx*|*-msdosdjgpp*|*-cygwin*|*-msys*|*-mingw*|*-uwin*|darwin*) - cf_cv_mixedcase=no - ;; - (*) - cf_cv_mixedcase=yes - ;; - esac -else - rm -f conftest CONFTEST - echo test >conftest - if test -f CONFTEST ; then - cf_cv_mixedcase=no - else - cf_cv_mixedcase=yes - fi - rm -f conftest CONFTEST -fi - -fi -echo "$as_me:3351: result: $cf_cv_mixedcase" >&5 -echo "${ECHO_T}$cf_cv_mixedcase" >&6 -test "$cf_cv_mixedcase" = yes && -cat >>confdefs.h <<\EOF -#define MIXEDCASE_FILENAMES 1 -EOF - -for ac_prog in exctags ctags -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -echo "$as_me:3362: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_CTAGS+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$CTAGS"; then - ac_cv_prog_CTAGS="$CTAGS" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_CTAGS="$ac_prog" -echo "$as_me:3377: found $ac_dir/$ac_word" >&5 -break -done - -fi -fi -CTAGS=$ac_cv_prog_CTAGS -if test -n "$CTAGS"; then - echo "$as_me:3385: result: $CTAGS" >&5 -echo "${ECHO_T}$CTAGS" >&6 -else - echo "$as_me:3388: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$CTAGS" && break -done - -for ac_prog in exetags etags -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -echo "$as_me:3399: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ETAGS+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ETAGS"; then - ac_cv_prog_ETAGS="$ETAGS" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_ETAGS="$ac_prog" -echo "$as_me:3414: found $ac_dir/$ac_word" >&5 -break -done - -fi -fi -ETAGS=$ac_cv_prog_ETAGS -if test -n "$ETAGS"; then - echo "$as_me:3422: result: $ETAGS" >&5 -echo "${ECHO_T}$ETAGS" >&6 -else - echo "$as_me:3425: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$ETAGS" && break -done - -# Extract the first word of "${CTAGS:-ctags}", so it can be a program name with args. -set dummy ${CTAGS:-ctags}; ac_word=$2 -echo "$as_me:3434: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_MAKE_LOWER_TAGS+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$MAKE_LOWER_TAGS"; then - ac_cv_prog_MAKE_LOWER_TAGS="$MAKE_LOWER_TAGS" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_MAKE_LOWER_TAGS="yes" -echo "$as_me:3449: found $ac_dir/$ac_word" >&5 -break -done - - test -z "$ac_cv_prog_MAKE_LOWER_TAGS" && ac_cv_prog_MAKE_LOWER_TAGS="no" -fi -fi -MAKE_LOWER_TAGS=$ac_cv_prog_MAKE_LOWER_TAGS -if test -n "$MAKE_LOWER_TAGS"; then - echo "$as_me:3458: result: $MAKE_LOWER_TAGS" >&5 -echo "${ECHO_T}$MAKE_LOWER_TAGS" >&6 -else - echo "$as_me:3461: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -if test "$cf_cv_mixedcase" = yes ; then - # Extract the first word of "${ETAGS:-etags}", so it can be a program name with args. -set dummy ${ETAGS:-etags}; ac_word=$2 -echo "$as_me:3468: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_MAKE_UPPER_TAGS+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$MAKE_UPPER_TAGS"; then - ac_cv_prog_MAKE_UPPER_TAGS="$MAKE_UPPER_TAGS" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_MAKE_UPPER_TAGS="yes" -echo "$as_me:3483: found $ac_dir/$ac_word" >&5 -break -done - - test -z "$ac_cv_prog_MAKE_UPPER_TAGS" && ac_cv_prog_MAKE_UPPER_TAGS="no" -fi -fi -MAKE_UPPER_TAGS=$ac_cv_prog_MAKE_UPPER_TAGS -if test -n "$MAKE_UPPER_TAGS"; then - echo "$as_me:3492: result: $MAKE_UPPER_TAGS" >&5 -echo "${ECHO_T}$MAKE_UPPER_TAGS" >&6 -else - echo "$as_me:3495: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -else - MAKE_UPPER_TAGS=no -fi - -if test "$MAKE_UPPER_TAGS" = yes ; then - MAKE_UPPER_TAGS= -else - MAKE_UPPER_TAGS="#" -fi - -if test "$MAKE_LOWER_TAGS" = yes ; then - MAKE_LOWER_TAGS= -else - MAKE_LOWER_TAGS="#" -fi - -echo "$as_me:3515: checking if you want to see long compiling messages" >&5 -echo $ECHO_N "checking if you want to see long compiling messages... $ECHO_C" >&6 - -# Check whether --enable-echo or --disable-echo was given. -if test "${enable_echo+set}" = set; then - enableval="$enable_echo" - test "$enableval" != no && enableval=yes - if test "$enableval" != "yes" ; then - - ECHO_LT='--silent' - ECHO_LD='@echo linking $@;' - RULE_CC='@echo compiling $<' - SHOW_CC='@echo compiling $@' - ECHO_CC='@' - - else - - ECHO_LT='' - ECHO_LD='' - RULE_CC='' - SHOW_CC='' - ECHO_CC='' - - fi -else - enableval=yes - - ECHO_LT='' - ECHO_LD='' - RULE_CC='' - SHOW_CC='' - ECHO_CC='' - -fi; -echo "$as_me:3549: result: $enableval" >&5 -echo "${ECHO_T}$enableval" >&6 - -if test -f "$srcdir/config.guess" || test -f "$ac_aux_dir/config.guess" ; then - - system_name="$host_os" -else - system_name="`(uname -s -r) 2>/dev/null`" - if test -z "$system_name" ; then - system_name="`(hostname) 2>/dev/null`" - fi -fi -test -n "$system_name" && -cat >>confdefs.h <<EOF -#define SYSTEM_NAME "$system_name" -EOF - -if test "${cf_cv_system_name+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cf_cv_system_name="$system_name" -fi - -test -z "$system_name" && system_name="$cf_cv_system_name" -test -n "$cf_cv_system_name" && echo "$as_me:3573: result: Configuring for $cf_cv_system_name" >&5 -echo "${ECHO_T}Configuring for $cf_cv_system_name" >&6 - -if test ".$system_name" != ".$cf_cv_system_name" ; then - echo "$as_me:3577: result: Cached system name ($system_name) does not agree with actual ($cf_cv_system_name)" >&5 -echo "${ECHO_T}Cached system name ($system_name) does not agree with actual ($cf_cv_system_name)" >&6 - { { echo "$as_me:3579: error: \"Please remove config.cache and try again.\"" >&5 -echo "$as_me: error: \"Please remove config.cache and try again.\"" >&2;} - { (exit 1); exit 1; }; } -fi - -case "$cf_cv_system_name" in -(os2*) - CFLAGS="$CFLAGS -Zmt" - - test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS " - CPPFLAGS="${CPPFLAGS}-D__ST_MT_ERRNO__" - - CXXFLAGS="$CXXFLAGS -Zmt" - # autoconf's macro sets -Zexe and suffix both, which conflict:w - LDFLAGS="$LDFLAGS -Zmt -Zcrtdll" - ac_cv_exeext=.exe - ;; -esac - -PROG_EXT="$EXEEXT" - -test -n "$PROG_EXT" && -cat >>confdefs.h <<EOF -#define PROG_EXT "$PROG_EXT" -EOF - - echo "$as_me:3605: checking for PATH separator" >&5 -echo $ECHO_N "checking for PATH separator... $ECHO_C" >&6 - case "$cf_cv_system_name" in - (os2*) PATH_SEPARATOR=';' ;; - (*) ${PATH_SEPARATOR:=':'} ;; - esac - - echo "$as_me:3612: result: $PATH_SEPARATOR" >&5 -echo "${ECHO_T}$PATH_SEPARATOR" >&6 - - case "$cf_cv_system_name" in - (OS/2*|os2*) - if test "$DFT_LWR_MODEL" = libtool; then - LIB_PREFIX='lib' - else - LIB_PREFIX='' - fi - ;; - (*-msvc*) - LIB_PREFIX='' - ;; - (*) LIB_PREFIX='lib' - ;; - esac - -echo "$as_me:3630: checking if the POSIX test-macros are already defined" >&5 -echo $ECHO_N "checking if the POSIX test-macros are already defined... $ECHO_C" >&6 -if test "${cf_cv_posix_visible+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - -cat >"conftest.$ac_ext" <<_ACEOF -#line 3637 "configure" -#include "confdefs.h" -#include <stdio.h> -int -main (void) -{ - -#if defined(__POSIX_VISIBLE) && ((__POSIX_VISIBLE - 0L) > 0) \ - && defined(__XSI_VISIBLE) && ((__XSI_VISIBLE - 0L) > 0) \ - && defined(__BSD_VISIBLE) && ((__BSD_VISIBLE - 0L) > 0) \ - && defined(__ISO_C_VISIBLE) && ((__ISO_C_VISIBLE - 0L) > 0) -#error conflicting symbols found -#endif - - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:3656: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:3659: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:3662: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:3665: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - cf_cv_posix_visible=no -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -cf_cv_posix_visible=yes -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" - -fi -echo "$as_me:3676: result: $cf_cv_posix_visible" >&5 -echo "${ECHO_T}$cf_cv_posix_visible" >&6 - -if test "$cf_cv_posix_visible" = no; then - -cf_XOPEN_SOURCE=500 -cf_POSIX_C_SOURCE=199506L -cf_xopen_source= - -case "$host_os" in -(aix[4-7]*) - cf_xopen_source="-D_ALL_SOURCE" - ;; -(msys) - cf_XOPEN_SOURCE=600 - ;; -(darwin[0-8].*) - cf_xopen_source="-D_APPLE_C_SOURCE" - ;; -(darwin*) - cf_xopen_source="-D_DARWIN_C_SOURCE" - cf_XOPEN_SOURCE= - ;; -(freebsd*|dragonfly*|midnightbsd*) - # 5.x headers associate - # _XOPEN_SOURCE=600 with _POSIX_C_SOURCE=200112L - # _XOPEN_SOURCE=500 with _POSIX_C_SOURCE=199506L - cf_POSIX_C_SOURCE=200112L - cf_XOPEN_SOURCE=600 - cf_xopen_source="-D_BSD_TYPES -D__BSD_VISIBLE -D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE" - ;; -(hpux11*) - cf_xopen_source="-D_HPUX_SOURCE -D_XOPEN_SOURCE=500" - ;; -(hpux*) - cf_xopen_source="-D_HPUX_SOURCE" - ;; -(irix[56].*) - cf_xopen_source="-D_SGI_SOURCE" - cf_XOPEN_SOURCE= - ;; -(linux*|uclinux*|gnu*|mint*|k*bsd*-gnu|cygwin) - -cf_gnu_xopen_source=$cf_XOPEN_SOURCE - -echo "$as_me:3721: checking if this is the GNU C library" >&5 -echo $ECHO_N "checking if this is the GNU C library... $ECHO_C" >&6 -if test "${cf_cv_gnu_library+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - -cat >"conftest.$ac_ext" <<_ACEOF -#line 3728 "configure" -#include "confdefs.h" -#include <sys/types.h> -int -main (void) -{ - - #if __GLIBC__ > 0 && __GLIBC_MINOR__ >= 0 - return 0; - #elif __NEWLIB__ > 0 && __NEWLIB_MINOR__ >= 0 - return 0; - #else - # error not GNU C library - #endif - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:3747: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:3750: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:3753: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:3756: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - cf_cv_gnu_library=yes -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -cf_cv_gnu_library=no -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" - -fi -echo "$as_me:3767: result: $cf_cv_gnu_library" >&5 -echo "${ECHO_T}$cf_cv_gnu_library" >&6 - -if test x$cf_cv_gnu_library = xyes; then - - # With glibc 2.19 (13 years after this check was begun), _DEFAULT_SOURCE - # was changed to help a little. newlib incorporated the change about 4 - # years later. - echo "$as_me:3775: checking if _DEFAULT_SOURCE can be used as a basis" >&5 -echo $ECHO_N "checking if _DEFAULT_SOURCE can be used as a basis... $ECHO_C" >&6 -if test "${cf_cv_gnu_library_219+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - cf_save="$CPPFLAGS" - - test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS " - CPPFLAGS="${CPPFLAGS}-D_DEFAULT_SOURCE" - - cat >"conftest.$ac_ext" <<_ACEOF -#line 3787 "configure" -#include "confdefs.h" -#include <sys/types.h> -int -main (void) -{ - - #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 19) || (__GLIBC__ > 2) - return 0; - #elif (__NEWLIB__ == 2 && __NEWLIB_MINOR__ >= 4) || (__GLIBC__ > 3) - return 0; - #else - # error GNU C library __GLIBC__.__GLIBC_MINOR__ is too old - #endif - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:3806: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:3809: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:3812: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:3815: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - cf_cv_gnu_library_219=yes -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -cf_cv_gnu_library_219=no -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" - CPPFLAGS="$cf_save" - -fi -echo "$as_me:3827: result: $cf_cv_gnu_library_219" >&5 -echo "${ECHO_T}$cf_cv_gnu_library_219" >&6 - - if test "x$cf_cv_gnu_library_219" = xyes; then - cf_save="$CPPFLAGS" - echo "$as_me:3832: checking if _XOPEN_SOURCE=$cf_gnu_xopen_source works with _DEFAULT_SOURCE" >&5 -echo $ECHO_N "checking if _XOPEN_SOURCE=$cf_gnu_xopen_source works with _DEFAULT_SOURCE... $ECHO_C" >&6 -if test "${cf_cv_gnu_dftsrc_219+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - -cf_fix_cppflags=no -cf_new_cflags= -cf_new_cppflags= -cf_new_extra_cppflags= - -for cf_add_cflags in -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=$cf_gnu_xopen_source -do -case "$cf_fix_cppflags" in -(no) - case "$cf_add_cflags" in - (-undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) - case "$cf_add_cflags" in - (-D*) - cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^-D[^=]*='\''\"[^"]*//'` - - test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=yes - - if test "$cf_fix_cppflags" = yes ; then - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - continue - elif test "${cf_tst_cflags}" = "\"'" ; then - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - continue - fi - ;; - esac - case "$CPPFLAGS" in - (*$cf_add_cflags) - ;; - (*) - case "$cf_add_cflags" in - (-D*) - cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'` - -CPPFLAGS=`echo "$CPPFLAGS" | \ - sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \ - -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'` - - ;; - esac - - test -n "$cf_new_cppflags" && cf_new_cppflags="$cf_new_cppflags " - cf_new_cppflags="${cf_new_cppflags}$cf_add_cflags" - - ;; - esac - ;; - (*) - - test -n "$cf_new_cflags" && cf_new_cflags="$cf_new_cflags " - cf_new_cflags="${cf_new_cflags}$cf_add_cflags" - - ;; - esac - ;; -(yes) - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^[^"]*"'\''//'` - - test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=no - ;; -esac -done - -if test -n "$cf_new_cflags" ; then - - test -n "$CFLAGS" && CFLAGS="$CFLAGS " - CFLAGS="${CFLAGS}$cf_new_cflags" - -fi - -if test -n "$cf_new_cppflags" ; then - - test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS " - CPPFLAGS="${CPPFLAGS}$cf_new_cppflags" - -fi - -if test -n "$cf_new_extra_cppflags" ; then - - test -n "$EXTRA_CPPFLAGS" && EXTRA_CPPFLAGS="$EXTRA_CPPFLAGS " - EXTRA_CPPFLAGS="${EXTRA_CPPFLAGS}$cf_new_extra_cppflags" - -fi - - cat >"conftest.$ac_ext" <<_ACEOF -#line 3937 "configure" -#include "confdefs.h" - - #include <limits.h> - #include <sys/types.h> - -int -main (void) -{ - - #if (_XOPEN_SOURCE >= $cf_gnu_xopen_source) && (MB_LEN_MAX > 1) - return 0; - #else - # error GNU C library is too old - #endif - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:3957: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:3960: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:3963: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:3966: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - cf_cv_gnu_dftsrc_219=yes -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -cf_cv_gnu_dftsrc_219=no -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" - -fi -echo "$as_me:3977: result: $cf_cv_gnu_dftsrc_219" >&5 -echo "${ECHO_T}$cf_cv_gnu_dftsrc_219" >&6 - test "x$cf_cv_gnu_dftsrc_219" = "xyes" || CPPFLAGS="$cf_save" - else - cf_cv_gnu_dftsrc_219=maybe - fi - - if test "x$cf_cv_gnu_dftsrc_219" != xyes; then - - echo "$as_me:3986: checking if we must define _GNU_SOURCE" >&5 -echo $ECHO_N "checking if we must define _GNU_SOURCE... $ECHO_C" >&6 -if test "${cf_cv_gnu_source+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - cat >"conftest.$ac_ext" <<_ACEOF -#line 3993 "configure" -#include "confdefs.h" -#include <sys/types.h> -int -main (void) -{ - - #ifndef _XOPEN_SOURCE - #error expected _XOPEN_SOURCE to be defined - #endif - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:4008: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:4011: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:4014: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:4017: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - cf_cv_gnu_source=no -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -cf_save="$CPPFLAGS" - -cf_fix_cppflags=no -cf_new_cflags= -cf_new_cppflags= -cf_new_extra_cppflags= - -for cf_add_cflags in -D_GNU_SOURCE -do -case "$cf_fix_cppflags" in -(no) - case "$cf_add_cflags" in - (-undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) - case "$cf_add_cflags" in - (-D*) - cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^-D[^=]*='\''\"[^"]*//'` - - test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=yes - - if test "$cf_fix_cppflags" = yes ; then - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - continue - elif test "${cf_tst_cflags}" = "\"'" ; then - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - continue - fi - ;; - esac - case "$CPPFLAGS" in - (*$cf_add_cflags) - ;; - (*) - case "$cf_add_cflags" in - (-D*) - cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'` - -CPPFLAGS=`echo "$CPPFLAGS" | \ - sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \ - -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'` - - ;; - esac - - test -n "$cf_new_cppflags" && cf_new_cppflags="$cf_new_cppflags " - cf_new_cppflags="${cf_new_cppflags}$cf_add_cflags" - - ;; - esac - ;; - (*) - - test -n "$cf_new_cflags" && cf_new_cflags="$cf_new_cflags " - cf_new_cflags="${cf_new_cflags}$cf_add_cflags" - - ;; - esac - ;; -(yes) - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^[^"]*"'\''//'` - - test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=no - ;; -esac -done - -if test -n "$cf_new_cflags" ; then - - test -n "$CFLAGS" && CFLAGS="$CFLAGS " - CFLAGS="${CFLAGS}$cf_new_cflags" - -fi - -if test -n "$cf_new_cppflags" ; then - - test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS " - CPPFLAGS="${CPPFLAGS}$cf_new_cppflags" - -fi - -if test -n "$cf_new_extra_cppflags" ; then - - test -n "$EXTRA_CPPFLAGS" && EXTRA_CPPFLAGS="$EXTRA_CPPFLAGS " - EXTRA_CPPFLAGS="${EXTRA_CPPFLAGS}$cf_new_extra_cppflags" - -fi - - cat >"conftest.$ac_ext" <<_ACEOF -#line 4124 "configure" -#include "confdefs.h" -#include <sys/types.h> -int -main (void) -{ - - #ifdef _XOPEN_SOURCE - #error expected _XOPEN_SOURCE to be undefined - #endif - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:4139: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:4142: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:4145: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:4148: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - cf_cv_gnu_source=no -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -cf_cv_gnu_source=yes -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" - CPPFLAGS="$cf_save" - -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" - -fi -echo "$as_me:4163: result: $cf_cv_gnu_source" >&5 -echo "${ECHO_T}$cf_cv_gnu_source" >&6 - - if test "$cf_cv_gnu_source" = yes - then - echo "$as_me:4168: checking if we should also define _DEFAULT_SOURCE" >&5 -echo $ECHO_N "checking if we should also define _DEFAULT_SOURCE... $ECHO_C" >&6 -if test "${cf_cv_default_source+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS " - CPPFLAGS="${CPPFLAGS}-D_GNU_SOURCE" - - cat >"conftest.$ac_ext" <<_ACEOF -#line 4178 "configure" -#include "confdefs.h" -#include <sys/types.h> -int -main (void) -{ - - #ifdef _DEFAULT_SOURCE - #error expected _DEFAULT_SOURCE to be undefined - #endif - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:4193: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:4196: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:4199: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:4202: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - cf_cv_default_source=no -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -cf_cv_default_source=yes -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" - -fi -echo "$as_me:4213: result: $cf_cv_default_source" >&5 -echo "${ECHO_T}$cf_cv_default_source" >&6 - if test "$cf_cv_default_source" = yes - then - - test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS " - CPPFLAGS="${CPPFLAGS}-D_DEFAULT_SOURCE" - - fi - fi - fi - -fi - - ;; -(minix*) - cf_xopen_source="-D_NETBSD_SOURCE" # POSIX.1-2001 features are ifdef'd with this... - ;; -(mirbsd*) - # setting _XOPEN_SOURCE or _POSIX_SOURCE breaks <sys/select.h> and other headers which use u_int / u_short types - cf_XOPEN_SOURCE= - -if test "$cf_cv_posix_visible" = no; then - -cf_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE - -cf_save_CFLAGS="$CFLAGS" -cf_save_CPPFLAGS="$CPPFLAGS" - -cf_trim_CFLAGS=`echo "$cf_save_CFLAGS" | \ - sed -e 's/-[UD]'"_POSIX_C_SOURCE"'\(=[^ ]*\)\?[ ]/ /g' \ - -e 's/-[UD]'"_POSIX_C_SOURCE"'\(=[^ ]*\)\?$//g'` - -cf_trim_CPPFLAGS=`echo "$cf_save_CPPFLAGS" | \ - sed -e 's/-[UD]'"_POSIX_C_SOURCE"'\(=[^ ]*\)\?[ ]/ /g' \ - -e 's/-[UD]'"_POSIX_C_SOURCE"'\(=[^ ]*\)\?$//g'` - -echo "$as_me:4250: checking if we should define _POSIX_C_SOURCE" >&5 -echo $ECHO_N "checking if we should define _POSIX_C_SOURCE... $ECHO_C" >&6 -if test "${cf_cv_posix_c_source+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - -echo "${as_me:-configure}:4256: testing if the symbol is already defined go no further ..." 1>&5 - - cat >"conftest.$ac_ext" <<_ACEOF -#line 4259 "configure" -#include "confdefs.h" -#include <sys/types.h> -int -main (void) -{ - -#ifndef _POSIX_C_SOURCE -make an error -#endif - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:4274: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:4277: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:4280: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:4283: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - cf_cv_posix_c_source=no -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -cf_want_posix_source=no - case .$cf_POSIX_C_SOURCE in - (.[12]??*) - cf_cv_posix_c_source="-D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE" - ;; - (.2) - cf_cv_posix_c_source="-D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE" - cf_want_posix_source=yes - ;; - (.*) - cf_want_posix_source=yes - ;; - esac - if test "$cf_want_posix_source" = yes ; then - cat >"conftest.$ac_ext" <<_ACEOF -#line 4304 "configure" -#include "confdefs.h" -#include <sys/types.h> -int -main (void) -{ - -#ifdef _POSIX_SOURCE -make an error -#endif - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:4319: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:4322: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:4325: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:4328: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - : -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -cf_cv_posix_c_source="$cf_cv_posix_c_source -D_POSIX_SOURCE" -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" - fi - -echo "${as_me:-configure}:4339: testing ifdef from value $cf_POSIX_C_SOURCE ..." 1>&5 - - CFLAGS="$cf_trim_CFLAGS" - CPPFLAGS="$cf_trim_CPPFLAGS" - - test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS " - CPPFLAGS="${CPPFLAGS}$cf_cv_posix_c_source" - -echo "${as_me:-configure}:4347: testing if the second compile does not leave our definition intact error ..." 1>&5 - - cat >"conftest.$ac_ext" <<_ACEOF -#line 4350 "configure" -#include "confdefs.h" -#include <sys/types.h> -int -main (void) -{ - -#ifndef _POSIX_C_SOURCE -make an error -#endif - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:4365: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:4368: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:4371: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:4374: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - : -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -cf_cv_posix_c_source=no -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" - CFLAGS="$cf_save_CFLAGS" - CPPFLAGS="$cf_save_CPPFLAGS" - -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" - -fi -echo "$as_me:4390: result: $cf_cv_posix_c_source" >&5 -echo "${ECHO_T}$cf_cv_posix_c_source" >&6 - -if test "$cf_cv_posix_c_source" != no ; then - CFLAGS="$cf_trim_CFLAGS" - CPPFLAGS="$cf_trim_CPPFLAGS" - -cf_fix_cppflags=no -cf_new_cflags= -cf_new_cppflags= -cf_new_extra_cppflags= - -for cf_add_cflags in $cf_cv_posix_c_source -do -case "$cf_fix_cppflags" in -(no) - case "$cf_add_cflags" in - (-undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) - case "$cf_add_cflags" in - (-D*) - cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^-D[^=]*='\''\"[^"]*//'` - - test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=yes - - if test "$cf_fix_cppflags" = yes ; then - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - continue - elif test "${cf_tst_cflags}" = "\"'" ; then - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - continue - fi - ;; - esac - case "$CPPFLAGS" in - (*$cf_add_cflags) - ;; - (*) - case "$cf_add_cflags" in - (-D*) - cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'` - -CPPFLAGS=`echo "$CPPFLAGS" | \ - sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \ - -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'` - - ;; - esac - - test -n "$cf_new_cppflags" && cf_new_cppflags="$cf_new_cppflags " - cf_new_cppflags="${cf_new_cppflags}$cf_add_cflags" - - ;; - esac - ;; - (*) - - test -n "$cf_new_cflags" && cf_new_cflags="$cf_new_cflags " - cf_new_cflags="${cf_new_cflags}$cf_add_cflags" - - ;; - esac - ;; -(yes) - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^[^"]*"'\''//'` - - test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=no - ;; -esac -done - -if test -n "$cf_new_cflags" ; then - - test -n "$CFLAGS" && CFLAGS="$CFLAGS " - CFLAGS="${CFLAGS}$cf_new_cflags" - -fi - -if test -n "$cf_new_cppflags" ; then - - test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS " - CPPFLAGS="${CPPFLAGS}$cf_new_cppflags" - -fi - -if test -n "$cf_new_extra_cppflags" ; then - - test -n "$EXTRA_CPPFLAGS" && EXTRA_CPPFLAGS="$EXTRA_CPPFLAGS " - EXTRA_CPPFLAGS="${EXTRA_CPPFLAGS}$cf_new_extra_cppflags" - -fi - -fi - -fi # cf_cv_posix_visible - - ;; -(netbsd*) - cf_xopen_source="-D_NETBSD_SOURCE" # setting _XOPEN_SOURCE breaks IPv6 for lynx on NetBSD 1.6, breaks xterm, is not needed for ncursesw - ;; -(openbsd[4-9]*) - # setting _XOPEN_SOURCE lower than 500 breaks g++ compile with wchar.h, needed for ncursesw - cf_xopen_source="-D_BSD_SOURCE" - cf_XOPEN_SOURCE=600 - ;; -(openbsd*) - # setting _XOPEN_SOURCE breaks xterm on OpenBSD 2.8, is not needed for ncursesw - ;; -(osf[45]*) - cf_xopen_source="-D_OSF_SOURCE" - ;; -(nto-qnx*) - cf_xopen_source="-D_QNX_SOURCE" - ;; -(sco*) - # setting _XOPEN_SOURCE breaks Lynx on SCO Unix / OpenServer - ;; -(solaris2.*) - cf_xopen_source="-D__EXTENSIONS__" - cf_cv_xopen_source=broken - ;; -(sysv4.2uw2.*) # Novell/SCO UnixWare 2.x (tested on 2.1.2) - cf_XOPEN_SOURCE= - cf_POSIX_C_SOURCE= - ;; -(*) - -echo "$as_me:4530: checking if we should define _XOPEN_SOURCE" >&5 -echo $ECHO_N "checking if we should define _XOPEN_SOURCE... $ECHO_C" >&6 -if test "${cf_cv_xopen_source+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - cat >"conftest.$ac_ext" <<_ACEOF -#line 4537 "configure" -#include "confdefs.h" - -#include <stdlib.h> -#include <string.h> -#include <sys/types.h> - -int -main (void) -{ - -#ifndef _XOPEN_SOURCE -make an error -#endif - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:4556: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:4559: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:4562: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:4565: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - cf_cv_xopen_source=no -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -cf_save="$CPPFLAGS" - - test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS " - CPPFLAGS="${CPPFLAGS}-D_XOPEN_SOURCE=$cf_XOPEN_SOURCE" - - cat >"conftest.$ac_ext" <<_ACEOF -#line 4577 "configure" -#include "confdefs.h" - -#include <stdlib.h> -#include <string.h> -#include <sys/types.h> - -int -main (void) -{ - -#ifdef _XOPEN_SOURCE -make an error -#endif - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:4596: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:4599: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:4602: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:4605: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - cf_cv_xopen_source=no -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -cf_cv_xopen_source=$cf_XOPEN_SOURCE -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" - CPPFLAGS="$cf_save" - -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" - -fi -echo "$as_me:4620: result: $cf_cv_xopen_source" >&5 -echo "${ECHO_T}$cf_cv_xopen_source" >&6 - -if test "$cf_cv_xopen_source" != no ; then - -CFLAGS=`echo "$CFLAGS" | \ - sed -e 's/-[UD]'"_XOPEN_SOURCE"'\(=[^ ]*\)\?[ ]/ /g' \ - -e 's/-[UD]'"_XOPEN_SOURCE"'\(=[^ ]*\)\?$//g'` - -CPPFLAGS=`echo "$CPPFLAGS" | \ - sed -e 's/-[UD]'"_XOPEN_SOURCE"'\(=[^ ]*\)\?[ ]/ /g' \ - -e 's/-[UD]'"_XOPEN_SOURCE"'\(=[^ ]*\)\?$//g'` - - cf_temp_xopen_source="-D_XOPEN_SOURCE=$cf_cv_xopen_source" - -cf_fix_cppflags=no -cf_new_cflags= -cf_new_cppflags= -cf_new_extra_cppflags= - -for cf_add_cflags in $cf_temp_xopen_source -do -case "$cf_fix_cppflags" in -(no) - case "$cf_add_cflags" in - (-undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) - case "$cf_add_cflags" in - (-D*) - cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^-D[^=]*='\''\"[^"]*//'` - - test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=yes - - if test "$cf_fix_cppflags" = yes ; then - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - continue - elif test "${cf_tst_cflags}" = "\"'" ; then - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - continue - fi - ;; - esac - case "$CPPFLAGS" in - (*$cf_add_cflags) - ;; - (*) - case "$cf_add_cflags" in - (-D*) - cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'` - -CPPFLAGS=`echo "$CPPFLAGS" | \ - sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \ - -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'` - - ;; - esac - - test -n "$cf_new_cppflags" && cf_new_cppflags="$cf_new_cppflags " - cf_new_cppflags="${cf_new_cppflags}$cf_add_cflags" - - ;; - esac - ;; - (*) - - test -n "$cf_new_cflags" && cf_new_cflags="$cf_new_cflags " - cf_new_cflags="${cf_new_cflags}$cf_add_cflags" - - ;; - esac - ;; -(yes) - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^[^"]*"'\''//'` - - test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=no - ;; -esac -done - -if test -n "$cf_new_cflags" ; then - - test -n "$CFLAGS" && CFLAGS="$CFLAGS " - CFLAGS="${CFLAGS}$cf_new_cflags" - -fi - -if test -n "$cf_new_cppflags" ; then - - test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS " - CPPFLAGS="${CPPFLAGS}$cf_new_cppflags" - -fi - -if test -n "$cf_new_extra_cppflags" ; then - - test -n "$EXTRA_CPPFLAGS" && EXTRA_CPPFLAGS="$EXTRA_CPPFLAGS " - EXTRA_CPPFLAGS="${EXTRA_CPPFLAGS}$cf_new_extra_cppflags" - -fi - -fi - -if test "$cf_cv_posix_visible" = no; then - -cf_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE - -cf_save_CFLAGS="$CFLAGS" -cf_save_CPPFLAGS="$CPPFLAGS" - -cf_trim_CFLAGS=`echo "$cf_save_CFLAGS" | \ - sed -e 's/-[UD]'"_POSIX_C_SOURCE"'\(=[^ ]*\)\?[ ]/ /g' \ - -e 's/-[UD]'"_POSIX_C_SOURCE"'\(=[^ ]*\)\?$//g'` - -cf_trim_CPPFLAGS=`echo "$cf_save_CPPFLAGS" | \ - sed -e 's/-[UD]'"_POSIX_C_SOURCE"'\(=[^ ]*\)\?[ ]/ /g' \ - -e 's/-[UD]'"_POSIX_C_SOURCE"'\(=[^ ]*\)\?$//g'` - -echo "$as_me:4750: checking if we should define _POSIX_C_SOURCE" >&5 -echo $ECHO_N "checking if we should define _POSIX_C_SOURCE... $ECHO_C" >&6 -if test "${cf_cv_posix_c_source+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - -echo "${as_me:-configure}:4756: testing if the symbol is already defined go no further ..." 1>&5 - - cat >"conftest.$ac_ext" <<_ACEOF -#line 4759 "configure" -#include "confdefs.h" -#include <sys/types.h> -int -main (void) -{ - -#ifndef _POSIX_C_SOURCE -make an error -#endif - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:4774: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:4777: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:4780: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:4783: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - cf_cv_posix_c_source=no -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -cf_want_posix_source=no - case .$cf_POSIX_C_SOURCE in - (.[12]??*) - cf_cv_posix_c_source="-D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE" - ;; - (.2) - cf_cv_posix_c_source="-D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE" - cf_want_posix_source=yes - ;; - (.*) - cf_want_posix_source=yes - ;; - esac - if test "$cf_want_posix_source" = yes ; then - cat >"conftest.$ac_ext" <<_ACEOF -#line 4804 "configure" -#include "confdefs.h" -#include <sys/types.h> -int -main (void) -{ - -#ifdef _POSIX_SOURCE -make an error -#endif - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:4819: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:4822: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:4825: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:4828: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - : -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -cf_cv_posix_c_source="$cf_cv_posix_c_source -D_POSIX_SOURCE" -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" - fi - -echo "${as_me:-configure}:4839: testing ifdef from value $cf_POSIX_C_SOURCE ..." 1>&5 - - CFLAGS="$cf_trim_CFLAGS" - CPPFLAGS="$cf_trim_CPPFLAGS" - - test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS " - CPPFLAGS="${CPPFLAGS}$cf_cv_posix_c_source" - -echo "${as_me:-configure}:4847: testing if the second compile does not leave our definition intact error ..." 1>&5 - - cat >"conftest.$ac_ext" <<_ACEOF -#line 4850 "configure" -#include "confdefs.h" -#include <sys/types.h> -int -main (void) -{ - -#ifndef _POSIX_C_SOURCE -make an error -#endif - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:4865: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:4868: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:4871: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:4874: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - : -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -cf_cv_posix_c_source=no -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" - CFLAGS="$cf_save_CFLAGS" - CPPFLAGS="$cf_save_CPPFLAGS" - -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" - -fi -echo "$as_me:4890: result: $cf_cv_posix_c_source" >&5 -echo "${ECHO_T}$cf_cv_posix_c_source" >&6 - -if test "$cf_cv_posix_c_source" != no ; then - CFLAGS="$cf_trim_CFLAGS" - CPPFLAGS="$cf_trim_CPPFLAGS" - -cf_fix_cppflags=no -cf_new_cflags= -cf_new_cppflags= -cf_new_extra_cppflags= - -for cf_add_cflags in $cf_cv_posix_c_source -do -case "$cf_fix_cppflags" in -(no) - case "$cf_add_cflags" in - (-undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) - case "$cf_add_cflags" in - (-D*) - cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^-D[^=]*='\''\"[^"]*//'` - - test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=yes - - if test "$cf_fix_cppflags" = yes ; then - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - continue - elif test "${cf_tst_cflags}" = "\"'" ; then - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - continue - fi - ;; - esac - case "$CPPFLAGS" in - (*$cf_add_cflags) - ;; - (*) - case "$cf_add_cflags" in - (-D*) - cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'` - -CPPFLAGS=`echo "$CPPFLAGS" | \ - sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \ - -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'` - - ;; - esac - - test -n "$cf_new_cppflags" && cf_new_cppflags="$cf_new_cppflags " - cf_new_cppflags="${cf_new_cppflags}$cf_add_cflags" - - ;; - esac - ;; - (*) - - test -n "$cf_new_cflags" && cf_new_cflags="$cf_new_cflags " - cf_new_cflags="${cf_new_cflags}$cf_add_cflags" - - ;; - esac - ;; -(yes) - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^[^"]*"'\''//'` - - test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=no - ;; -esac -done - -if test -n "$cf_new_cflags" ; then - - test -n "$CFLAGS" && CFLAGS="$CFLAGS " - CFLAGS="${CFLAGS}$cf_new_cflags" - -fi - -if test -n "$cf_new_cppflags" ; then - - test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS " - CPPFLAGS="${CPPFLAGS}$cf_new_cppflags" - -fi - -if test -n "$cf_new_extra_cppflags" ; then - - test -n "$EXTRA_CPPFLAGS" && EXTRA_CPPFLAGS="$EXTRA_CPPFLAGS " - EXTRA_CPPFLAGS="${EXTRA_CPPFLAGS}$cf_new_extra_cppflags" - -fi - -fi - -fi # cf_cv_posix_visible - - ;; -esac - -if test -n "$cf_xopen_source" ; then - -cf_fix_cppflags=no -cf_new_cflags= -cf_new_cppflags= -cf_new_extra_cppflags= - -for cf_add_cflags in $cf_xopen_source -do -case "$cf_fix_cppflags" in -(no) - case "$cf_add_cflags" in - (-undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) - case "$cf_add_cflags" in - (-D*) - cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^-D[^=]*='\''\"[^"]*//'` - - test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=yes - - if test "$cf_fix_cppflags" = yes ; then - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - continue - elif test "${cf_tst_cflags}" = "\"'" ; then - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - continue - fi - ;; - esac - case "$CPPFLAGS" in - (*$cf_add_cflags) - ;; - (*) - case "$cf_add_cflags" in - (-D*) - cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'` - -CPPFLAGS=`echo "$CPPFLAGS" | \ - sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \ - -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'` - - ;; - esac - - test -n "$cf_new_cppflags" && cf_new_cppflags="$cf_new_cppflags " - cf_new_cppflags="${cf_new_cppflags}$cf_add_cflags" - - ;; - esac - ;; - (*) - - test -n "$cf_new_cflags" && cf_new_cflags="$cf_new_cflags " - cf_new_cflags="${cf_new_cflags}$cf_add_cflags" - - ;; - esac - ;; -(yes) - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^[^"]*"'\''//'` - - test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=no - ;; -esac -done - -if test -n "$cf_new_cflags" ; then - test -n "$verbose" && echo " add to \$CFLAGS $cf_new_cflags" 1>&6 - -echo "${as_me:-configure}:5084: testing add to \$CFLAGS $cf_new_cflags ..." 1>&5 - - test -n "$CFLAGS" && CFLAGS="$CFLAGS " - CFLAGS="${CFLAGS}$cf_new_cflags" - -fi - -if test -n "$cf_new_cppflags" ; then - test -n "$verbose" && echo " add to \$CPPFLAGS $cf_new_cppflags" 1>&6 - -echo "${as_me:-configure}:5094: testing add to \$CPPFLAGS $cf_new_cppflags ..." 1>&5 - - test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS " - CPPFLAGS="${CPPFLAGS}$cf_new_cppflags" - -fi - -if test -n "$cf_new_extra_cppflags" ; then - test -n "$verbose" && echo " add to \$EXTRA_CPPFLAGS $cf_new_extra_cppflags" 1>&6 - -echo "${as_me:-configure}:5104: testing add to \$EXTRA_CPPFLAGS $cf_new_extra_cppflags ..." 1>&5 - - test -n "$EXTRA_CPPFLAGS" && EXTRA_CPPFLAGS="$EXTRA_CPPFLAGS " - EXTRA_CPPFLAGS="${EXTRA_CPPFLAGS}$cf_new_extra_cppflags" - -fi - -fi - -if test -n "$cf_XOPEN_SOURCE" && test -z "$cf_cv_xopen_source" ; then - echo "$as_me:5114: checking if _XOPEN_SOURCE really is set" >&5 -echo $ECHO_N "checking if _XOPEN_SOURCE really is set... $ECHO_C" >&6 - cat >"conftest.$ac_ext" <<_ACEOF -#line 5117 "configure" -#include "confdefs.h" -#include <stdlib.h> -int -main (void) -{ - -#ifndef _XOPEN_SOURCE -make an error -#endif - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:5132: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:5135: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:5138: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:5141: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - cf_XOPEN_SOURCE_set=yes -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -cf_XOPEN_SOURCE_set=no -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" - echo "$as_me:5150: result: $cf_XOPEN_SOURCE_set" >&5 -echo "${ECHO_T}$cf_XOPEN_SOURCE_set" >&6 - if test "$cf_XOPEN_SOURCE_set" = yes - then - cat >"conftest.$ac_ext" <<_ACEOF -#line 5155 "configure" -#include "confdefs.h" -#include <stdlib.h> -int -main (void) -{ - -#if (_XOPEN_SOURCE - 0) < $cf_XOPEN_SOURCE -make an error -#endif - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:5170: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:5173: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:5176: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:5179: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - cf_XOPEN_SOURCE_set_ok=yes -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -cf_XOPEN_SOURCE_set_ok=no -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" - if test "$cf_XOPEN_SOURCE_set_ok" = no - then - { echo "$as_me:5190: WARNING: _XOPEN_SOURCE is lower than requested" >&5 -echo "$as_me: WARNING: _XOPEN_SOURCE is lower than requested" >&2;} - fi - else - -echo "$as_me:5195: checking if we should define _XOPEN_SOURCE" >&5 -echo $ECHO_N "checking if we should define _XOPEN_SOURCE... $ECHO_C" >&6 -if test "${cf_cv_xopen_source+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - cat >"conftest.$ac_ext" <<_ACEOF -#line 5202 "configure" -#include "confdefs.h" - -#include <stdlib.h> -#include <string.h> -#include <sys/types.h> - -int -main (void) -{ - -#ifndef _XOPEN_SOURCE -make an error -#endif - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:5221: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:5224: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:5227: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:5230: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - cf_cv_xopen_source=no -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -cf_save="$CPPFLAGS" - - test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS " - CPPFLAGS="${CPPFLAGS}-D_XOPEN_SOURCE=$cf_XOPEN_SOURCE" - - cat >"conftest.$ac_ext" <<_ACEOF -#line 5242 "configure" -#include "confdefs.h" - -#include <stdlib.h> -#include <string.h> -#include <sys/types.h> - -int -main (void) -{ - -#ifdef _XOPEN_SOURCE -make an error -#endif - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:5261: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:5264: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:5267: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:5270: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - cf_cv_xopen_source=no -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -cf_cv_xopen_source=$cf_XOPEN_SOURCE -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" - CPPFLAGS="$cf_save" - -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" - -fi -echo "$as_me:5285: result: $cf_cv_xopen_source" >&5 -echo "${ECHO_T}$cf_cv_xopen_source" >&6 - -if test "$cf_cv_xopen_source" != no ; then - -CFLAGS=`echo "$CFLAGS" | \ - sed -e 's/-[UD]'"_XOPEN_SOURCE"'\(=[^ ]*\)\?[ ]/ /g' \ - -e 's/-[UD]'"_XOPEN_SOURCE"'\(=[^ ]*\)\?$//g'` - -CPPFLAGS=`echo "$CPPFLAGS" | \ - sed -e 's/-[UD]'"_XOPEN_SOURCE"'\(=[^ ]*\)\?[ ]/ /g' \ - -e 's/-[UD]'"_XOPEN_SOURCE"'\(=[^ ]*\)\?$//g'` - - cf_temp_xopen_source="-D_XOPEN_SOURCE=$cf_cv_xopen_source" - -cf_fix_cppflags=no -cf_new_cflags= -cf_new_cppflags= -cf_new_extra_cppflags= - -for cf_add_cflags in $cf_temp_xopen_source -do -case "$cf_fix_cppflags" in -(no) - case "$cf_add_cflags" in - (-undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) - case "$cf_add_cflags" in - (-D*) - cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^-D[^=]*='\''\"[^"]*//'` - - test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=yes - - if test "$cf_fix_cppflags" = yes ; then - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - continue - elif test "${cf_tst_cflags}" = "\"'" ; then - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - continue - fi - ;; - esac - case "$CPPFLAGS" in - (*$cf_add_cflags) - ;; - (*) - case "$cf_add_cflags" in - (-D*) - cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'` - -CPPFLAGS=`echo "$CPPFLAGS" | \ - sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \ - -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'` - - ;; - esac - - test -n "$cf_new_cppflags" && cf_new_cppflags="$cf_new_cppflags " - cf_new_cppflags="${cf_new_cppflags}$cf_add_cflags" - - ;; - esac - ;; - (*) - - test -n "$cf_new_cflags" && cf_new_cflags="$cf_new_cflags " - cf_new_cflags="${cf_new_cflags}$cf_add_cflags" - - ;; - esac - ;; -(yes) - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^[^"]*"'\''//'` - - test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=no - ;; -esac -done - -if test -n "$cf_new_cflags" ; then - - test -n "$CFLAGS" && CFLAGS="$CFLAGS " - CFLAGS="${CFLAGS}$cf_new_cflags" - -fi - -if test -n "$cf_new_cppflags" ; then - - test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS " - CPPFLAGS="${CPPFLAGS}$cf_new_cppflags" - -fi - -if test -n "$cf_new_extra_cppflags" ; then - - test -n "$EXTRA_CPPFLAGS" && EXTRA_CPPFLAGS="$EXTRA_CPPFLAGS " - EXTRA_CPPFLAGS="${EXTRA_CPPFLAGS}$cf_new_extra_cppflags" - -fi - -fi - - fi -fi -fi # cf_cv_posix_visible - -# Check whether --enable-largefile or --disable-largefile was given. -if test "${enable_largefile+set}" = set; then - enableval="$enable_largefile" - -fi; -if test "$enable_largefile" != no; then - - echo "$as_me:5411: checking for special C compiler options needed for large files" >&5 -echo $ECHO_N "checking for special C compiler options needed for large files... $ECHO_C" >&6 -if test "${ac_cv_sys_largefile_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_sys_largefile_CC=no - if test "$GCC" != yes; then - ac_save_CC=$CC - while :; do - # IRIX 6.2 and later do not support large files by default, - # so use the C compiler's -n32 option if that helps. - cat >"conftest.$ac_ext" <<_ACEOF -#line 5423 "configure" -#include "confdefs.h" -#include <sys/types.h> - /* Check that off_t can represent 2**63 - 1 correctly. - We can't simply define LARGE_OFF_T to be 9223372036854775807, - since some C++ compilers masquerading as C compilers - incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) - int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 - && LARGE_OFF_T % 2147483647 == 1) - ? 1 : -1]; -int -main (void) -{ - - ; - return 0; -} -_ACEOF - rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:5443: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:5446: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:5449: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:5452: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - break -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -fi -rm -f "conftest.$ac_objext" - CC="$CC -n32" - rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:5462: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:5465: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:5468: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:5471: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - ac_cv_sys_largefile_CC=' -n32'; break -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -fi -rm -f "conftest.$ac_objext" - break - done - CC=$ac_save_CC - rm -f "conftest.$ac_ext" - fi -fi -echo "$as_me:5485: result: $ac_cv_sys_largefile_CC" >&5 -echo "${ECHO_T}$ac_cv_sys_largefile_CC" >&6 - if test "$ac_cv_sys_largefile_CC" != no; then - CC=$CC$ac_cv_sys_largefile_CC - fi - - echo "$as_me:5491: checking for _FILE_OFFSET_BITS value needed for large files" >&5 -echo $ECHO_N "checking for _FILE_OFFSET_BITS value needed for large files... $ECHO_C" >&6 -if test "${ac_cv_sys_file_offset_bits+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - while :; do - ac_cv_sys_file_offset_bits=no - cat >"conftest.$ac_ext" <<_ACEOF -#line 5499 "configure" -#include "confdefs.h" -#include <sys/types.h> - /* Check that off_t can represent 2**63 - 1 correctly. - We can't simply define LARGE_OFF_T to be 9223372036854775807, - since some C++ compilers masquerading as C compilers - incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) - int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 - && LARGE_OFF_T % 2147483647 == 1) - ? 1 : -1]; -int -main (void) -{ - - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:5519: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:5522: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:5525: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:5528: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - break -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" - cat >"conftest.$ac_ext" <<_ACEOF -#line 5537 "configure" -#include "confdefs.h" -#define _FILE_OFFSET_BITS 64 -#include <sys/types.h> - /* Check that off_t can represent 2**63 - 1 correctly. - We can't simply define LARGE_OFF_T to be 9223372036854775807, - since some C++ compilers masquerading as C compilers - incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) - int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 - && LARGE_OFF_T % 2147483647 == 1) - ? 1 : -1]; -int -main (void) -{ - - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:5558: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:5561: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:5564: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:5567: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - ac_cv_sys_file_offset_bits=64; break -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" - break -done -fi -echo "$as_me:5578: result: $ac_cv_sys_file_offset_bits" >&5 -echo "${ECHO_T}$ac_cv_sys_file_offset_bits" >&6 -if test "$ac_cv_sys_file_offset_bits" != no; then - -cat >>confdefs.h <<EOF -#define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits -EOF - -fi -rm -rf conftest* - echo "$as_me:5588: checking for _LARGE_FILES value needed for large files" >&5 -echo $ECHO_N "checking for _LARGE_FILES value needed for large files... $ECHO_C" >&6 -if test "${ac_cv_sys_large_files+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - while :; do - ac_cv_sys_large_files=no - cat >"conftest.$ac_ext" <<_ACEOF -#line 5596 "configure" -#include "confdefs.h" -#include <sys/types.h> - /* Check that off_t can represent 2**63 - 1 correctly. - We can't simply define LARGE_OFF_T to be 9223372036854775807, - since some C++ compilers masquerading as C compilers - incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) - int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 - && LARGE_OFF_T % 2147483647 == 1) - ? 1 : -1]; -int -main (void) -{ - - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:5616: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:5619: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:5622: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:5625: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - break -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" - cat >"conftest.$ac_ext" <<_ACEOF -#line 5634 "configure" -#include "confdefs.h" -#define _LARGE_FILES 1 -#include <sys/types.h> - /* Check that off_t can represent 2**63 - 1 correctly. - We can't simply define LARGE_OFF_T to be 9223372036854775807, - since some C++ compilers masquerading as C compilers - incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) - int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 - && LARGE_OFF_T % 2147483647 == 1) - ? 1 : -1]; -int -main (void) -{ - - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:5655: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:5658: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:5661: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:5664: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - ac_cv_sys_large_files=1; break -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" - break -done -fi -echo "$as_me:5675: result: $ac_cv_sys_large_files" >&5 -echo "${ECHO_T}$ac_cv_sys_large_files" >&6 -if test "$ac_cv_sys_large_files" != no; then - -cat >>confdefs.h <<EOF -#define _LARGE_FILES $ac_cv_sys_large_files -EOF - -fi -rm -rf conftest* -fi - - if test "$enable_largefile" != no ; then - echo "$as_me:5688: checking for _LARGEFILE_SOURCE value needed for large files" >&5 -echo $ECHO_N "checking for _LARGEFILE_SOURCE value needed for large files... $ECHO_C" >&6 -if test "${ac_cv_sys_largefile_source+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - while :; do - ac_cv_sys_largefile_source=no - cat >"conftest.$ac_ext" <<_ACEOF -#line 5696 "configure" -#include "confdefs.h" -#include <stdio.h> -int -main (void) -{ -return !fseeko; - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:5708: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:5711: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:5714: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:5717: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - break -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" - cat >"conftest.$ac_ext" <<_ACEOF -#line 5726 "configure" -#include "confdefs.h" -#define _LARGEFILE_SOURCE 1 -#include <stdio.h> -int -main (void) -{ -return !fseeko; - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:5739: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:5742: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:5745: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:5748: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - ac_cv_sys_largefile_source=1; break -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" - break -done -fi -echo "$as_me:5759: result: $ac_cv_sys_largefile_source" >&5 -echo "${ECHO_T}$ac_cv_sys_largefile_source" >&6 -if test "$ac_cv_sys_largefile_source" != no; then - -cat >>confdefs.h <<EOF -#define _LARGEFILE_SOURCE $ac_cv_sys_largefile_source -EOF - -fi -rm -rf conftest* - -# We used to try defining _XOPEN_SOURCE=500 too, to work around a bug -# in glibc 2.1.3, but that breaks too many other things. -# If you want fseeko and ftello with glibc, upgrade to a fixed glibc. -echo "$as_me:5773: checking for fseeko" >&5 -echo $ECHO_N "checking for fseeko... $ECHO_C" >&6 -if test "${ac_cv_func_fseeko+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >"conftest.$ac_ext" <<_ACEOF -#line 5779 "configure" -#include "confdefs.h" -#include <stdio.h> -int -main (void) -{ -return fseeko && fseeko (stdin, 0, 0); - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:5791: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:5794: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:5797: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:5800: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - ac_cv_func_fseeko=yes -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -ac_cv_func_fseeko=no -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" -fi -echo "$as_me:5810: result: $ac_cv_func_fseeko" >&5 -echo "${ECHO_T}$ac_cv_func_fseeko" >&6 -if test $ac_cv_func_fseeko = yes; then - -cat >>confdefs.h <<\EOF -#define HAVE_FSEEKO 1 -EOF - -fi - - # Normally we would collect these definitions in the config.h, - # but (like _XOPEN_SOURCE), some environments rely on having these - # defined before any of the system headers are included. Another - # case comes up with C++, e.g., on AIX the compiler compiles the - # header files by themselves before looking at the body files it is - # told to compile. For ncurses, those header files do not include - # the config.h - if test "$ac_cv_sys_large_files" != no - then - - test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS " - CPPFLAGS="${CPPFLAGS}-D_LARGE_FILES" - - fi - if test "$ac_cv_sys_largefile_source" != no - then - - test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS " - CPPFLAGS="${CPPFLAGS}-D_LARGEFILE_SOURCE" - - fi - if test "$ac_cv_sys_file_offset_bits" != no - then - - test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS " - CPPFLAGS="${CPPFLAGS}-D_FILE_OFFSET_BITS=$ac_cv_sys_file_offset_bits" - - fi - - echo "$as_me:5849: checking whether to use struct dirent64" >&5 -echo $ECHO_N "checking whether to use struct dirent64... $ECHO_C" >&6 -if test "${cf_cv_struct_dirent64+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - cat >"conftest.$ac_ext" <<_ACEOF -#line 5856 "configure" -#include "confdefs.h" - -#pragma GCC diagnostic error "-Wincompatible-pointer-types" -#include <sys/types.h> -#include <dirent.h> - -int -main (void) -{ - - /* if transitional largefile support is setup, this is true */ - extern struct dirent64 * readdir(DIR *); - struct dirent64 *x = readdir((DIR *)0); - struct dirent *y = readdir((DIR *)0); - int z = x - y; - (void)z; - - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:5879: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:5882: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:5885: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:5888: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - cf_cv_struct_dirent64=yes -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -cf_cv_struct_dirent64=no -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" - -fi -echo "$as_me:5899: result: $cf_cv_struct_dirent64" >&5 -echo "${ECHO_T}$cf_cv_struct_dirent64" >&6 - test "$cf_cv_struct_dirent64" = yes && -cat >>confdefs.h <<\EOF -#define HAVE_STRUCT_DIRENT64 1 -EOF - - fi - -echo "$as_me:5908: checking for install-prefix" >&5 -echo $ECHO_N "checking for install-prefix... $ECHO_C" >&6 - -# Check whether --with-install-prefix or --without-install-prefix was given. -if test "${with_install_prefix+set}" = set; then - withval="$with_install_prefix" - cf_opt_with_install_prefix=$withval -else - cf_opt_with_install_prefix=${DESTDIR:-no} -fi; -echo "$as_me:5918: result: $cf_opt_with_install_prefix" >&5 -echo "${ECHO_T}$cf_opt_with_install_prefix" >&6 -if test "$cf_opt_with_install_prefix" != no ; then - -if test "x$prefix" != xNONE; then - cf_path_syntax="$prefix" -else - cf_path_syntax="$ac_default_prefix" -fi - -case ".$cf_opt_with_install_prefix" in -(.\$\(*\)*|.\'*\'*) - ;; -(..|./*|.\\*) - ;; -(.[a-zA-Z]:[\\/]*) # OS/2 EMX - ;; -(.\$\{*prefix\}*|.\$\{*dir\}*) - eval cf_opt_with_install_prefix="$cf_opt_with_install_prefix" - case ".$cf_opt_with_install_prefix" in - (.NONE/*) - cf_opt_with_install_prefix=`echo "$cf_opt_with_install_prefix" | sed -e s%NONE%$cf_path_syntax%` - ;; - esac - ;; -(.no|.NONE/*) - cf_opt_with_install_prefix=`echo "$cf_opt_with_install_prefix" | sed -e s%NONE%$cf_path_syntax%` - ;; -(*) - { { echo "$as_me:5947: error: expected a pathname, not \"$cf_opt_with_install_prefix\"" >&5 -echo "$as_me: error: expected a pathname, not \"$cf_opt_with_install_prefix\"" >&2;} - { (exit 1); exit 1; }; } - ;; -esac - - DESTDIR=$cf_opt_with_install_prefix -fi - -if test -n "$with_screen" && test "x$with_screen" = "xpdcurses" -then - echo "$as_me:5958: checking for X" >&5 -echo $ECHO_N "checking for X... $ECHO_C" >&6 - -# Check whether --with-x or --without-x was given. -if test "${with_x+set}" = set; then - withval="$with_x" - -fi; -# $have_x is `yes', `no', `disabled', or empty when we do not yet know. -if test "x$with_x" = xno; then - # The user explicitly disabled X. - have_x=disabled -else - if test "x$x_includes" != xNONE && test "x$x_libraries" != xNONE; then - # Both variables are already set. - have_x=yes - else - if test "${ac_cv_have_x+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - # One or both of the vars are not set, and there is no cached value. -ac_x_includes=no ac_x_libraries=no -rm -fr conftest.dir -if mkdir conftest.dir; then - cd conftest.dir - # Make sure to not put "make" in the Imakefile rules, since we grep it out. - cat >Imakefile <<'EOF' -acfindx: - @echo 'ac_im_incroot="${INCROOT}"; ac_im_usrlibdir="${USRLIBDIR}"; ac_im_libdir="${LIBDIR}"' -EOF - if (xmkmf) >/dev/null 2>/dev/null && test -f Makefile; then - # GNU make sometimes prints "make[1]: Entering...", which would confuse us. - eval "`${MAKE-make} acfindx 2>/dev/null | grep -v make`" - # Open Windows xmkmf reportedly sets LIBDIR instead of USRLIBDIR. - for ac_extension in a so sl dylib dll; do - if test ! -f "$ac_im_usrlibdir/libX11.$ac_extension" && - test -f "$ac_im_libdir/libX11.$ac_extension"; then - ac_im_usrlibdir=$ac_im_libdir; break - fi - done - # Screen out bogus values from the imake configuration. They are - # bogus both because they are the default anyway, and because - # using them would break gcc on systems where it needs fixed includes. - case $ac_im_incroot in - /usr/include) ;; - *) test -f "$ac_im_incroot/X11/Xos.h" && ac_x_includes=$ac_im_incroot;; - esac - case $ac_im_usrlibdir in - /usr/lib | /lib) ;; - *) test -d "$ac_im_usrlibdir" && ac_x_libraries=$ac_im_usrlibdir ;; - esac - fi - cd .. - rm -fr conftest.dir -fi - -# Standard set of common directories for X headers. -# Check X11 before X11Rn because it is often a symlink to the current release. -ac_x_header_dirs=' -/usr/X11/include -/usr/X11R7/include -/usr/X11R6/include -/usr/X11R5/include -/usr/X11R4/include - -/opt/local/include -/opt/X11/include - -/usr/include/X11 -/usr/include/X11R7 -/usr/include/X11R6 -/usr/include/X11R5 -/usr/include/X11R4 - -/usr/local/X11/include -/usr/local/X11R7/include -/usr/local/X11R6/include -/usr/local/X11R5/include -/usr/local/X11R4/include - -/usr/local/include/X11 -/usr/local/include/X11R7 -/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' - -if test "$ac_x_includes" = no; then - # Guess where to find include files, by looking for Intrinsic.h. - # First, try using that file with no special directory specified. - cat >"conftest.$ac_ext" <<_ACEOF -#line 6062 "configure" -#include "confdefs.h" -#include <X11/Intrinsic.h> -_ACEOF -if { (eval echo "$as_me:6066: \"$ac_cpp "conftest.$ac_ext"\"") >&5 - (eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - $EGREP -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:6072: \$? = $ac_status" >&5 - (exit "$ac_status"); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - # We can compile using X headers with no special include directory. -ac_x_includes= -else - echo "$as_me: failed program was:" >&5 - cat "conftest.$ac_ext" >&5 - for ac_dir in $ac_x_header_dirs; do - if test -r "$ac_dir/X11/Intrinsic.h"; then - ac_x_includes=$ac_dir - break - fi -done -fi -rm -f conftest.err "conftest.$ac_ext" -fi # $ac_x_includes = no - -if test "$ac_x_libraries" = no; then - # Check for the libraries. - # See if we find them without any special options. - # Don't add to $LIBS permanently. - ac_save_LIBS=$LIBS - LIBS="-lXt $LIBS" - cat >"conftest.$ac_ext" <<_ACEOF -#line 6105 "configure" -#include "confdefs.h" -#include <X11/Intrinsic.h> -int -main (void) -{ -XtMalloc (0) - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:6117: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:6120: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:6123: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:6126: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - LIBS=$ac_save_LIBS -# We can link X programs with no special library path. -ac_x_libraries= -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -LIBS=$ac_save_LIBS -for ac_dir in `echo "$ac_x_includes $ac_x_header_dirs" | sed s/include/lib/g` -do - # Don't even attempt the hair of trying to link an X program! - for ac_extension in a so sl dylib dll; do - if test -r "$ac_dir/libXt.$ac_extension"; then - ac_x_libraries=$ac_dir - break 2 - fi - done -done -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" -fi # $ac_x_libraries = no - -if test "$ac_x_includes" = no || test "$ac_x_libraries" = no; then - # Didn't find X anywhere. Cache the known absence of X. - ac_cv_have_x="have_x=no" -else - # Record where we found X for the cache. - ac_cv_have_x="have_x=yes \ - ac_x_includes=$ac_x_includes ac_x_libraries=$ac_x_libraries" -fi -fi - - fi - eval "$ac_cv_have_x" -fi # $with_x != no - -if test "$have_x" != yes; then - echo "$as_me:6164: result: $have_x" >&5 -echo "${ECHO_T}$have_x" >&6 - no_x=yes -else - # If each of the values was on the command line, it overrides each guess. - test "x$x_includes" = xNONE && x_includes=$ac_x_includes - test "x$x_libraries" = xNONE && x_libraries=$ac_x_libraries - # Update the cache value to reflect the command line values. - ac_cv_have_x="have_x=yes \ - ac_x_includes=$x_includes ac_x_libraries=$x_libraries" - echo "$as_me:6174: result: libraries $x_libraries, headers $x_includes" >&5 -echo "${ECHO_T}libraries $x_libraries, headers $x_includes" >&6 -fi - - if test "$no_x" = yes; then - # Not all programs may use this symbol, but it does not hurt to define it. - -cat >>confdefs.h <<\EOF -#define X_DISPLAY_MISSING 1 -EOF - - X_CFLAGS= - X_PRE_LIBS= - X_LIBS= - X_EXTRA_LIBS= -else - if test -n "$x_includes"; then - X_CFLAGS="$X_CFLAGS -I$x_includes" - fi - - # It would also be nice to do this for all -L options, not just this one. - if test -n "$x_libraries"; then - X_LIBS="$X_LIBS -L$x_libraries" - # For Solaris; some versions of Sun CC require a space after -R and - # others require no space. Words are not sufficient . . . . - case `(uname -sr) 2>/dev/null` in - "SunOS 5"*) - echo "$as_me:6201: checking whether -R must be followed by a space" >&5 -echo $ECHO_N "checking whether -R must be followed by a space... $ECHO_C" >&6 - ac_xsave_LIBS=$LIBS; LIBS="$LIBS -R$x_libraries" - cat >"conftest.$ac_ext" <<_ACEOF -#line 6205 "configure" -#include "confdefs.h" - -int -main (void) -{ - - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:6217: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:6220: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:6223: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:6226: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - ac_R_nospace=yes -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -ac_R_nospace=no -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" - if test $ac_R_nospace = yes; then - echo "$as_me:6236: result: no" >&5 -echo "${ECHO_T}no" >&6 - X_LIBS="$X_LIBS -R$x_libraries" - else - LIBS="$ac_xsave_LIBS -R $x_libraries" - cat >"conftest.$ac_ext" <<_ACEOF -#line 6242 "configure" -#include "confdefs.h" - -int -main (void) -{ - - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:6254: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:6257: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:6260: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:6263: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - ac_R_space=yes -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -ac_R_space=no -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" - if test $ac_R_space = yes; then - echo "$as_me:6273: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - X_LIBS="$X_LIBS -R $x_libraries" - else - echo "$as_me:6277: result: neither works" >&5 -echo "${ECHO_T}neither works" >&6 - fi - fi - LIBS=$ac_xsave_LIBS - esac - fi - - # Check for system-dependent libraries X programs must link with. - # Do this before checking for the system-independent R6 libraries - # (-lICE), since we may need -lsocket or whatever for X linking. - - if test "$ISC" = yes; then - X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl_s -linet" - else - # Martyn Johnson says this is needed for Ultrix, if the X - # libraries were built with DECnet support. And Karl Berry says - # the Alpha needs dnet_stub (dnet does not exist). - ac_xsave_LIBS="$LIBS"; LIBS="$LIBS $X_LIBS -lX11" - cat >"conftest.$ac_ext" <<_ACEOF -#line 6297 "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char XOpenDisplay (); -int -main (void) -{ -XOpenDisplay (); - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:6316: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:6319: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:6322: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:6325: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - : -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -echo "$as_me:6331: checking for dnet_ntoa in -ldnet" >&5 -echo $ECHO_N "checking for dnet_ntoa in -ldnet... $ECHO_C" >&6 -if test "${ac_cv_lib_dnet_dnet_ntoa+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldnet $LIBS" -cat >"conftest.$ac_ext" <<_ACEOF -#line 6339 "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char dnet_ntoa (); -int -main (void) -{ -dnet_ntoa (); - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:6358: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:6361: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:6364: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:6367: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - ac_cv_lib_dnet_dnet_ntoa=yes -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -ac_cv_lib_dnet_dnet_ntoa=no -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:6378: result: $ac_cv_lib_dnet_dnet_ntoa" >&5 -echo "${ECHO_T}$ac_cv_lib_dnet_dnet_ntoa" >&6 -if test "$ac_cv_lib_dnet_dnet_ntoa" = yes; then - X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet" -fi - - if test $ac_cv_lib_dnet_dnet_ntoa = no; then - echo "$as_me:6385: checking for dnet_ntoa in -ldnet_stub" >&5 -echo $ECHO_N "checking for dnet_ntoa in -ldnet_stub... $ECHO_C" >&6 -if test "${ac_cv_lib_dnet_stub_dnet_ntoa+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldnet_stub $LIBS" -cat >"conftest.$ac_ext" <<_ACEOF -#line 6393 "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char dnet_ntoa (); -int -main (void) -{ -dnet_ntoa (); - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:6412: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:6415: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:6418: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:6421: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - ac_cv_lib_dnet_stub_dnet_ntoa=yes -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -ac_cv_lib_dnet_stub_dnet_ntoa=no -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:6432: result: $ac_cv_lib_dnet_stub_dnet_ntoa" >&5 -echo "${ECHO_T}$ac_cv_lib_dnet_stub_dnet_ntoa" >&6 -if test "$ac_cv_lib_dnet_stub_dnet_ntoa" = yes; then - X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub" -fi - - fi -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" - LIBS="$ac_xsave_LIBS" - - # msh@cis.ufl.edu says -lnsl (and -lsocket) are needed for his 386/AT, - # to get the SysV transport functions. - # Chad R. Larson says the Pyramis MIS-ES running DC/OSx (SVR4) - # needs -lnsl. - # The nsl library prevents programs from opening the X display - # on Irix 5.2, according to T.E. Dickey. - # The functions gethostbyname, getservbyname, and inet_addr are - # in -lbsd on LynxOS 3.0.1/i386, according to Lars Hecking. - echo "$as_me:6451: checking for gethostbyname" >&5 -echo $ECHO_N "checking for gethostbyname... $ECHO_C" >&6 -if test "${ac_cv_func_gethostbyname+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >"conftest.$ac_ext" <<_ACEOF -#line 6457 "configure" -#include "confdefs.h" -#define gethostbyname autoconf_temporary -#include <limits.h> /* least-intrusive standard header which defines gcc2 __stub macros */ -#undef gethostbyname - -#ifdef __cplusplus -extern "C" -#endif - -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char gethostbyname (void); - -int -main (void) -{ - -/* The GNU C library defines stubs for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_gethostbyname) || defined (__stub___gethostbyname) -#error found stub for gethostbyname -#endif - - return gethostbyname (); - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:6488: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:6491: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:6494: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:6497: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - ac_cv_func_gethostbyname=yes -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -ac_cv_func_gethostbyname=no -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" -fi -echo "$as_me:6507: result: $ac_cv_func_gethostbyname" >&5 -echo "${ECHO_T}$ac_cv_func_gethostbyname" >&6 - - if test $ac_cv_func_gethostbyname = no; then - echo "$as_me:6511: checking for gethostbyname in -lnsl" >&5 -echo $ECHO_N "checking for gethostbyname in -lnsl... $ECHO_C" >&6 -if test "${ac_cv_lib_nsl_gethostbyname+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lnsl $LIBS" -cat >"conftest.$ac_ext" <<_ACEOF -#line 6519 "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char gethostbyname (); -int -main (void) -{ -gethostbyname (); - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:6538: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:6541: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:6544: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:6547: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - ac_cv_lib_nsl_gethostbyname=yes -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -ac_cv_lib_nsl_gethostbyname=no -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:6558: result: $ac_cv_lib_nsl_gethostbyname" >&5 -echo "${ECHO_T}$ac_cv_lib_nsl_gethostbyname" >&6 -if test "$ac_cv_lib_nsl_gethostbyname" = yes; then - X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl" -fi - - if test $ac_cv_lib_nsl_gethostbyname = no; then - echo "$as_me:6565: checking for gethostbyname in -lbsd" >&5 -echo $ECHO_N "checking for gethostbyname in -lbsd... $ECHO_C" >&6 -if test "${ac_cv_lib_bsd_gethostbyname+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lbsd $LIBS" -cat >"conftest.$ac_ext" <<_ACEOF -#line 6573 "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char gethostbyname (); -int -main (void) -{ -gethostbyname (); - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:6592: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:6595: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:6598: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:6601: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - ac_cv_lib_bsd_gethostbyname=yes -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -ac_cv_lib_bsd_gethostbyname=no -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:6612: result: $ac_cv_lib_bsd_gethostbyname" >&5 -echo "${ECHO_T}$ac_cv_lib_bsd_gethostbyname" >&6 -if test "$ac_cv_lib_bsd_gethostbyname" = yes; then - X_EXTRA_LIBS="$X_EXTRA_LIBS -lbsd" -fi - - fi - fi - - # lieder@skyler.mavd.honeywell.com says without -lsocket, - # socket/setsockopt and other routines are undefined under SCO ODT - # 2.0. But -lsocket is broken on IRIX 5.2 (and is not necessary - # on later versions), says Simon Leinen: it contains gethostby* - # variants that don't use the nameserver (or something). -lsocket - # must be given before -lnsl if both are needed. We assume that - # if connect needs -lnsl, so does gethostbyname. - echo "$as_me:6628: checking for connect" >&5 -echo $ECHO_N "checking for connect... $ECHO_C" >&6 -if test "${ac_cv_func_connect+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >"conftest.$ac_ext" <<_ACEOF -#line 6634 "configure" -#include "confdefs.h" -#define connect autoconf_temporary -#include <limits.h> /* least-intrusive standard header which defines gcc2 __stub macros */ -#undef connect - -#ifdef __cplusplus -extern "C" -#endif - -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char connect (void); - -int -main (void) -{ - -/* The GNU C library defines stubs for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_connect) || defined (__stub___connect) -#error found stub for connect -#endif - - return connect (); - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:6665: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:6668: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:6671: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:6674: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - ac_cv_func_connect=yes -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -ac_cv_func_connect=no -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" -fi -echo "$as_me:6684: result: $ac_cv_func_connect" >&5 -echo "${ECHO_T}$ac_cv_func_connect" >&6 - - if test $ac_cv_func_connect = no; then - echo "$as_me:6688: checking for connect in -lsocket" >&5 -echo $ECHO_N "checking for connect in -lsocket... $ECHO_C" >&6 -if test "${ac_cv_lib_socket_connect+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lsocket $X_EXTRA_LIBS $LIBS" -cat >"conftest.$ac_ext" <<_ACEOF -#line 6696 "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char connect (); -int -main (void) -{ -connect (); - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:6715: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:6718: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:6721: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:6724: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - ac_cv_lib_socket_connect=yes -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -ac_cv_lib_socket_connect=no -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:6735: result: $ac_cv_lib_socket_connect" >&5 -echo "${ECHO_T}$ac_cv_lib_socket_connect" >&6 -if test "$ac_cv_lib_socket_connect" = yes; then - X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS" -fi - - fi - - # Guillermo Gomez says -lposix is necessary on A/UX. - echo "$as_me:6744: checking for remove" >&5 -echo $ECHO_N "checking for remove... $ECHO_C" >&6 -if test "${ac_cv_func_remove+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >"conftest.$ac_ext" <<_ACEOF -#line 6750 "configure" -#include "confdefs.h" -#define remove autoconf_temporary -#include <limits.h> /* least-intrusive standard header which defines gcc2 __stub macros */ -#undef remove - -#ifdef __cplusplus -extern "C" -#endif - -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char remove (void); - -int -main (void) -{ - -/* The GNU C library defines stubs for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_remove) || defined (__stub___remove) -#error found stub for remove -#endif - - return remove (); - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:6781: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:6784: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:6787: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:6790: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - ac_cv_func_remove=yes -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -ac_cv_func_remove=no -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" -fi -echo "$as_me:6800: result: $ac_cv_func_remove" >&5 -echo "${ECHO_T}$ac_cv_func_remove" >&6 - - if test $ac_cv_func_remove = no; then - echo "$as_me:6804: checking for remove in -lposix" >&5 -echo $ECHO_N "checking for remove in -lposix... $ECHO_C" >&6 -if test "${ac_cv_lib_posix_remove+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lposix $LIBS" -cat >"conftest.$ac_ext" <<_ACEOF -#line 6812 "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char remove (); -int -main (void) -{ -remove (); - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:6831: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:6834: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:6837: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:6840: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - ac_cv_lib_posix_remove=yes -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -ac_cv_lib_posix_remove=no -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:6851: result: $ac_cv_lib_posix_remove" >&5 -echo "${ECHO_T}$ac_cv_lib_posix_remove" >&6 -if test "$ac_cv_lib_posix_remove" = yes; then - X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix" -fi - - fi - - # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay. - echo "$as_me:6860: checking for shmat" >&5 -echo $ECHO_N "checking for shmat... $ECHO_C" >&6 -if test "${ac_cv_func_shmat+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >"conftest.$ac_ext" <<_ACEOF -#line 6866 "configure" -#include "confdefs.h" -#define shmat autoconf_temporary -#include <limits.h> /* least-intrusive standard header which defines gcc2 __stub macros */ -#undef shmat - -#ifdef __cplusplus -extern "C" -#endif - -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char shmat (void); - -int -main (void) -{ - -/* The GNU C library defines stubs for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_shmat) || defined (__stub___shmat) -#error found stub for shmat -#endif - - return shmat (); - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:6897: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:6900: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:6903: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:6906: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - ac_cv_func_shmat=yes -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -ac_cv_func_shmat=no -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" -fi -echo "$as_me:6916: result: $ac_cv_func_shmat" >&5 -echo "${ECHO_T}$ac_cv_func_shmat" >&6 - - if test $ac_cv_func_shmat = no; then - echo "$as_me:6920: checking for shmat in -lipc" >&5 -echo $ECHO_N "checking for shmat in -lipc... $ECHO_C" >&6 -if test "${ac_cv_lib_ipc_shmat+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lipc $LIBS" -cat >"conftest.$ac_ext" <<_ACEOF -#line 6928 "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char shmat (); -int -main (void) -{ -shmat (); - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:6947: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:6950: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:6953: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:6956: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - ac_cv_lib_ipc_shmat=yes -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -ac_cv_lib_ipc_shmat=no -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:6967: result: $ac_cv_lib_ipc_shmat" >&5 -echo "${ECHO_T}$ac_cv_lib_ipc_shmat" >&6 -if test "$ac_cv_lib_ipc_shmat" = yes; then - X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc" -fi - - fi - fi - - # Check for libraries that X11R6 Xt/Xaw programs need. - ac_save_LDFLAGS=$LDFLAGS - test -n "$x_libraries" && LDFLAGS="$LDFLAGS -L$x_libraries" - # 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. - # John Interrante, Karl Berry - echo "$as_me:6985: checking for IceConnectionNumber in -lICE" >&5 -echo $ECHO_N "checking for IceConnectionNumber in -lICE... $ECHO_C" >&6 -if test "${ac_cv_lib_ICE_IceConnectionNumber+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lICE $X_EXTRA_LIBS $LIBS" -cat >"conftest.$ac_ext" <<_ACEOF -#line 6993 "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char IceConnectionNumber (); -int -main (void) -{ -IceConnectionNumber (); - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:7012: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:7015: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:7018: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:7021: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - ac_cv_lib_ICE_IceConnectionNumber=yes -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -ac_cv_lib_ICE_IceConnectionNumber=no -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:7032: result: $ac_cv_lib_ICE_IceConnectionNumber" >&5 -echo "${ECHO_T}$ac_cv_lib_ICE_IceConnectionNumber" >&6 -if test "$ac_cv_lib_ICE_IceConnectionNumber" = yes; then - X_PRE_LIBS="$X_PRE_LIBS -lSM -lICE" -fi - - LDFLAGS=$ac_save_LDFLAGS - -fi - -fi - -if test "$GCC" = yes || test "$GXX" = yes -then - -if test "$GCC" = yes || test "$GXX" = yes -then - case $CFLAGS in - (*-Werror=*) - test -n "$verbose" && echo " repairing CFLAGS: $CFLAGS" 1>&6 - -echo "${as_me:-configure}:7053: testing repairing CFLAGS: $CFLAGS ..." 1>&5 - - cf_temp_flags= - for cf_temp_scan in $CFLAGS - do - case "x$cf_temp_scan" in - (x-Werror=*) - - test -n "$EXTRA_CFLAGS" && EXTRA_CFLAGS="$EXTRA_CFLAGS " - EXTRA_CFLAGS="${EXTRA_CFLAGS}$cf_temp_scan" - - ;; - (*) - - test -n "$cf_temp_flags" && cf_temp_flags="$cf_temp_flags " - cf_temp_flags="${cf_temp_flags}$cf_temp_scan" - - ;; - esac - done - CFLAGS="$cf_temp_flags" - test -n "$verbose" && echo " ... fixed $CFLAGS" 1>&6 - -echo "${as_me:-configure}:7076: testing ... fixed $CFLAGS ..." 1>&5 - - test -n "$verbose" && echo " ... extra $EXTRA_CFLAGS" 1>&6 - -echo "${as_me:-configure}:7080: testing ... extra $EXTRA_CFLAGS ..." 1>&5 - - ;; - esac -fi - -if test "$GCC" = yes || test "$GXX" = yes -then - case $CPPFLAGS in - (*-Werror=*) - test -n "$verbose" && echo " repairing CPPFLAGS: $CPPFLAGS" 1>&6 - -echo "${as_me:-configure}:7092: testing repairing CPPFLAGS: $CPPFLAGS ..." 1>&5 - - cf_temp_flags= - for cf_temp_scan in $CPPFLAGS - do - case "x$cf_temp_scan" in - (x-Werror=*) - - test -n "$EXTRA_CFLAGS" && EXTRA_CFLAGS="$EXTRA_CFLAGS " - EXTRA_CFLAGS="${EXTRA_CFLAGS}$cf_temp_scan" - - ;; - (*) - - test -n "$cf_temp_flags" && cf_temp_flags="$cf_temp_flags " - cf_temp_flags="${cf_temp_flags}$cf_temp_scan" - - ;; - esac - done - CPPFLAGS="$cf_temp_flags" - test -n "$verbose" && echo " ... fixed $CPPFLAGS" 1>&6 - -echo "${as_me:-configure}:7115: testing ... fixed $CPPFLAGS ..." 1>&5 - - test -n "$verbose" && echo " ... extra $EXTRA_CFLAGS" 1>&6 - -echo "${as_me:-configure}:7119: testing ... extra $EXTRA_CFLAGS ..." 1>&5 - - ;; - esac -fi - -if test "$GCC" = yes || test "$GXX" = yes -then - case $LDFLAGS in - (*-Werror=*) - test -n "$verbose" && echo " repairing LDFLAGS: $LDFLAGS" 1>&6 - -echo "${as_me:-configure}:7131: testing repairing LDFLAGS: $LDFLAGS ..." 1>&5 - - cf_temp_flags= - for cf_temp_scan in $LDFLAGS - do - case "x$cf_temp_scan" in - (x-Werror=*) - - test -n "$EXTRA_CFLAGS" && EXTRA_CFLAGS="$EXTRA_CFLAGS " - EXTRA_CFLAGS="${EXTRA_CFLAGS}$cf_temp_scan" - - ;; - (*) - - test -n "$cf_temp_flags" && cf_temp_flags="$cf_temp_flags " - cf_temp_flags="${cf_temp_flags}$cf_temp_scan" - - ;; - esac - done - LDFLAGS="$cf_temp_flags" - test -n "$verbose" && echo " ... fixed $LDFLAGS" 1>&6 - -echo "${as_me:-configure}:7154: testing ... fixed $LDFLAGS ..." 1>&5 - - test -n "$verbose" && echo " ... extra $EXTRA_CFLAGS" 1>&6 - -echo "${as_me:-configure}:7158: testing ... extra $EXTRA_CFLAGS ..." 1>&5 - - ;; - esac -fi - -echo "$as_me:7164: checking if you want to turn on gcc warnings" >&5 -echo $ECHO_N "checking if you want to turn on gcc warnings... $ECHO_C" >&6 - -# Check whether --enable-warnings or --disable-warnings was given. -if test "${enable_warnings+set}" = set; then - enableval="$enable_warnings" - test "$enableval" != yes && enableval=no - if test "$enableval" != "no" ; then - enable_warnings=yes - else - enable_warnings=no - fi -else - enableval=no - enable_warnings=no - -fi; -echo "$as_me:7181: result: $enable_warnings" >&5 -echo "${ECHO_T}$enable_warnings" >&6 -if test "$enable_warnings" = "yes" -then - -if test "x$have_x" = xyes; then - -cf_save_LIBS_CF_CONST_X_STRING="$LIBS" -cf_save_CFLAGS_CF_CONST_X_STRING="$CFLAGS" -cf_save_CPPFLAGS_CF_CONST_X_STRING="$CPPFLAGS" -LIBS="$LIBS ${X_PRE_LIBS} ${X_LIBS} ${X_EXTRA_LIBS}" -for cf_X_CFLAGS in $X_CFLAGS -do - case "x$cf_X_CFLAGS" in - x-[IUD]*) - CPPFLAGS="$CPPFLAGS $cf_X_CFLAGS" - ;; - *) - CFLAGS="$CFLAGS $cf_X_CFLAGS" - ;; - esac -done - -cat >"conftest.$ac_ext" <<_ACEOF -#line 7205 "configure" -#include "confdefs.h" - -#include <stdlib.h> -#include <X11/Intrinsic.h> - -int -main (void) -{ -String foo = malloc(1); (void)foo - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:7220: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:7223: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:7226: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:7229: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - -echo "$as_me:7232: checking for X11/Xt const-feature" >&5 -echo $ECHO_N "checking for X11/Xt const-feature... $ECHO_C" >&6 -if test "${cf_cv_const_x_string+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - cat >"conftest.$ac_ext" <<_ACEOF -#line 7239 "configure" -#include "confdefs.h" - -#define _CONST_X_STRING /* X11R7.8 (perhaps) */ -#undef XTSTRINGDEFINES /* X11R5 and later */ -#include <stdlib.h> -#include <X11/Intrinsic.h> - -int -main (void) -{ -String foo = malloc(1); *foo = 0 - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:7256: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:7259: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:7262: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:7265: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - - cf_cv_const_x_string=no - -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 - - cf_cv_const_x_string=yes - -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" - -fi -echo "$as_me:7280: result: $cf_cv_const_x_string" >&5 -echo "${ECHO_T}$cf_cv_const_x_string" >&6 - -LIBS="$cf_save_LIBS_CF_CONST_X_STRING" -CFLAGS="$cf_save_CFLAGS_CF_CONST_X_STRING" -CPPFLAGS="$cf_save_CPPFLAGS_CF_CONST_X_STRING" - -case "$cf_cv_const_x_string" in -(no) - - test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS " - CPPFLAGS="${CPPFLAGS}-DXTSTRINGDEFINES" - - ;; -(*) - - test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS " - CPPFLAGS="${CPPFLAGS}-D_CONST_X_STRING" - - ;; -esac - -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" - fi -cat > "conftest.$ac_ext" <<EOF -#line 7309 "${as_me:-configure}" -int main(int argc, char *argv[]) { return (argv[argc-1] == 0) ; } -EOF -if test "$INTEL_COMPILER" = yes -then -# The "-wdXXX" options suppress warnings: -# remark #1419: external declaration in primary source file -# remark #1683: explicit conversion of a 64-bit integral type to a smaller integral type (potential portability problem) -# remark #1684: conversion from pointer to same-sized integral type (potential portability problem) -# remark #193: zero used for undefined preprocessing identifier -# remark #593: variable "curs_sb_left_arrow" was set but never used -# remark #810: conversion from "int" to "Dimension={unsigned short}" may lose significant bits -# remark #869: parameter "tw" was never referenced -# remark #981: operands are evaluated in unspecified order -# warning #279: controlling expression is constant - - { echo "$as_me:7325: checking for $CC warning options..." >&5 -echo "$as_me: checking for $CC warning options..." >&6;} - cf_save_CFLAGS="$CFLAGS" - EXTRA_CFLAGS="$EXTRA_CFLAGS -Wall" - for cf_opt in \ - wd1419 \ - wd1683 \ - wd1684 \ - wd193 \ - wd593 \ - wd279 \ - wd810 \ - wd869 \ - wd981 - do - CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt" - if { (eval echo "$as_me:7341: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:7344: \$? = $ac_status" >&5 - (exit "$ac_status"); }; then - test -n "$verbose" && echo "$as_me:7346: result: ... -$cf_opt" >&5 -echo "${ECHO_T}... -$cf_opt" >&6 - EXTRA_CFLAGS="$EXTRA_CFLAGS -$cf_opt" - fi - done - CFLAGS="$cf_save_CFLAGS" -elif test "$GCC" = yes && test "$GCC_VERSION" != "unknown" -then - { echo "$as_me:7354: checking for $CC warning options..." >&5 -echo "$as_me: checking for $CC warning options..." >&6;} - cf_save_CFLAGS="$CFLAGS" - cf_warn_CONST="" - test "$with_ext_const" = yes && cf_warn_CONST="Wwrite-strings" - cf_gcc_warnings="Wignored-qualifiers Wlogical-op Wvarargs" - test "x$CLANG_COMPILER" = xyes && cf_gcc_warnings= - for cf_opt in W Wall \ - Wbad-function-cast \ - Wcast-align \ - Wcast-qual \ - Wdeclaration-after-statement \ - Wextra \ - Winline \ - Wmissing-declarations \ - Wmissing-prototypes \ - Wnested-externs \ - Wpointer-arith \ - Wshadow \ - Wstrict-prototypes \ - Wundef Wno-inline $cf_gcc_warnings $cf_warn_CONST - do - CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt" - if { (eval echo "$as_me:7377: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:7380: \$? = $ac_status" >&5 - (exit "$ac_status"); }; then - test -n "$verbose" && echo "$as_me:7382: result: ... -$cf_opt" >&5 -echo "${ECHO_T}... -$cf_opt" >&6 - case "$cf_opt" in - (Winline) - case "$GCC_VERSION" in - ([34].*) - test -n "$verbose" && echo " feature is broken in gcc $GCC_VERSION" 1>&6 - -echo "${as_me:-configure}:7390: testing feature is broken in gcc $GCC_VERSION ..." 1>&5 - - continue;; - esac - ;; - (Wpointer-arith) - case "$GCC_VERSION" in - ([12].*) - test -n "$verbose" && echo " feature is broken in gcc $GCC_VERSION" 1>&6 - -echo "${as_me:-configure}:7400: testing feature is broken in gcc $GCC_VERSION ..." 1>&5 - - continue;; - esac - ;; - esac - EXTRA_CFLAGS="$EXTRA_CFLAGS -$cf_opt" - fi - done - CFLAGS="$cf_save_CFLAGS" -fi -rm -rf ./conftest* - -fi - -if test "$GCC" = yes || test "$GXX" = yes -then -cat > conftest.i <<EOF -#ifndef GCC_PRINTF -#define GCC_PRINTF 0 -#endif -#ifndef GCC_SCANF -#define GCC_SCANF 0 -#endif -#ifndef GCC_NORETURN -#define GCC_NORETURN /* nothing */ -#endif -#ifndef GCC_UNUSED -#define GCC_UNUSED /* nothing */ -#endif -EOF -if test "$GCC" = yes -then - { echo "$as_me:7433: checking for $CC __attribute__ directives..." >&5 -echo "$as_me: checking for $CC __attribute__ directives..." >&6;} -cat > "conftest.$ac_ext" <<EOF -#line 7436 "${as_me:-configure}" -#include "confdefs.h" -#include "conftest.h" -#include "conftest.i" -#if GCC_PRINTF -#define GCC_PRINTFLIKE(fmt,var) __attribute__((format(printf,fmt,var))) -#else -#define GCC_PRINTFLIKE(fmt,var) /*nothing*/ -#endif -#if GCC_SCANF -#define GCC_SCANFLIKE(fmt,var) __attribute__((format(scanf,fmt,var))) -#else -#define GCC_SCANFLIKE(fmt,var) /*nothing*/ -#endif -extern void wow(char *,...) GCC_SCANFLIKE(1,2); -extern void oops(char *,...) GCC_PRINTFLIKE(1,2) GCC_NORETURN; -extern void foo(void) GCC_NORETURN; -int main(int argc GCC_UNUSED, char *argv[] GCC_UNUSED) { (void)argc; (void)argv; return 0; } -EOF - cf_printf_attribute=no - cf_scanf_attribute=no - for cf_attribute in scanf printf unused noreturn - do - -cf_ATTRIBUTE=`echo "$cf_attribute" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` - - cf_directive="__attribute__(($cf_attribute))" - echo "checking for $CC $cf_directive" 1>&5 - - case "$cf_attribute" in - (printf) - cf_printf_attribute=yes - cat >conftest.h <<EOF -#define GCC_$cf_ATTRIBUTE 1 -EOF - ;; - (scanf) - cf_scanf_attribute=yes - cat >conftest.h <<EOF -#define GCC_$cf_ATTRIBUTE 1 -EOF - ;; - (*) - cat >conftest.h <<EOF -#define GCC_$cf_ATTRIBUTE $cf_directive -EOF - ;; - esac - - if { (eval echo "$as_me:7485: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:7488: \$? = $ac_status" >&5 - (exit "$ac_status"); }; then - test -n "$verbose" && echo "$as_me:7490: result: ... $cf_attribute" >&5 -echo "${ECHO_T}... $cf_attribute" >&6 - cat conftest.h >>confdefs.h - case "$cf_attribute" in - (noreturn) - -cat >>confdefs.h <<EOF -#define GCC_NORETURN $cf_directive -EOF - - ;; - (printf) - cf_value='/* nothing */' - if test "$cf_printf_attribute" != no ; then - cf_value='__attribute__((format(printf,fmt,var)))' - -cat >>confdefs.h <<\EOF -#define GCC_PRINTF 1 -EOF - - fi - -cat >>confdefs.h <<EOF -#define GCC_PRINTFLIKE(fmt,var) $cf_value -EOF - - ;; - (scanf) - cf_value='/* nothing */' - if test "$cf_scanf_attribute" != no ; then - cf_value='__attribute__((format(scanf,fmt,var)))' - -cat >>confdefs.h <<\EOF -#define GCC_SCANF 1 -EOF - - fi - -cat >>confdefs.h <<EOF -#define GCC_SCANFLIKE(fmt,var) $cf_value -EOF - - ;; - (unused) - -cat >>confdefs.h <<EOF -#define GCC_UNUSED $cf_directive -EOF - - ;; - esac - fi - done -else - ${FGREP-fgrep} define conftest.i >>confdefs.h -fi -rm -rf ./conftest* -fi - -fi - -echo "$as_me:7551: checking if you want to use pkg-config" >&5 -echo $ECHO_N "checking if you want to use pkg-config... $ECHO_C" >&6 - -# Check whether --with-pkg-config or --without-pkg-config was given. -if test "${with_pkg_config+set}" = set; then - withval="$with_pkg_config" - cf_pkg_config=$withval -else - cf_pkg_config=yes -fi; -echo "$as_me:7561: result: $cf_pkg_config" >&5 -echo "${ECHO_T}$cf_pkg_config" >&6 - -case "$cf_pkg_config" in -(no) - PKG_CONFIG=none - ;; -(yes) - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. -set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 -echo "$as_me:7573: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $PKG_CONFIG in - [\\/]* | ?:[\\/]*) - ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. - ;; - *) - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - if $as_executable_p "$ac_dir/$ac_word"; then - ac_cv_path_PKG_CONFIG="$ac_dir/$ac_word" - echo "$as_me:7590: found $ac_dir/$ac_word" >&5 - break -fi -done - - ;; -esac -fi -PKG_CONFIG=$ac_cv_path_PKG_CONFIG - -if test -n "$PKG_CONFIG"; then - echo "$as_me:7601: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6 -else - echo "$as_me:7604: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -fi -if test -z "$ac_cv_path_PKG_CONFIG"; then - ac_pt_PKG_CONFIG=$PKG_CONFIG - # Extract the first word of "pkg-config", so it can be a program name with args. -set dummy pkg-config; ac_word=$2 -echo "$as_me:7613: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $ac_pt_PKG_CONFIG in - [\\/]* | ?:[\\/]*) - ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path. - ;; - *) - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - if $as_executable_p "$ac_dir/$ac_word"; then - ac_cv_path_ac_pt_PKG_CONFIG="$ac_dir/$ac_word" - echo "$as_me:7630: found $ac_dir/$ac_word" >&5 - break -fi -done - - test -z "$ac_cv_path_ac_pt_PKG_CONFIG" && ac_cv_path_ac_pt_PKG_CONFIG="none" - ;; -esac -fi -ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG - -if test -n "$ac_pt_PKG_CONFIG"; then - echo "$as_me:7642: result: $ac_pt_PKG_CONFIG" >&5 -echo "${ECHO_T}$ac_pt_PKG_CONFIG" >&6 -else - echo "$as_me:7645: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - PKG_CONFIG=$ac_pt_PKG_CONFIG -else - PKG_CONFIG="$ac_cv_path_PKG_CONFIG" -fi - - ;; -(*) - PKG_CONFIG=$withval - ;; -esac - -test -z "$PKG_CONFIG" && PKG_CONFIG=none -if test "$PKG_CONFIG" != none ; then - -if test "x$prefix" != xNONE; then - cf_path_syntax="$prefix" -else - cf_path_syntax="$ac_default_prefix" -fi - -case ".$PKG_CONFIG" in -(.\$\(*\)*|.\'*\'*) - ;; -(..|./*|.\\*) - ;; -(.[a-zA-Z]:[\\/]*) # OS/2 EMX - ;; -(.\$\{*prefix\}*|.\$\{*dir\}*) - eval PKG_CONFIG="$PKG_CONFIG" - case ".$PKG_CONFIG" in - (.NONE/*) - PKG_CONFIG=`echo "$PKG_CONFIG" | sed -e s%NONE%$cf_path_syntax%` - ;; - esac - ;; -(.no|.NONE/*) - PKG_CONFIG=`echo "$PKG_CONFIG" | sed -e s%NONE%$cf_path_syntax%` - ;; -(*) - { { echo "$as_me:7688: error: expected a pathname, not \"$PKG_CONFIG\"" >&5 -echo "$as_me: error: expected a pathname, not \"$PKG_CONFIG\"" >&2;} - { (exit 1); exit 1; }; } - ;; -esac - -elif test "x$cf_pkg_config" != xno ; then - { echo "$as_me:7695: WARNING: pkg-config is not installed" >&5 -echo "$as_me: WARNING: pkg-config is not installed" >&2;} -fi - -echo "$as_me:7699: checking for this package's name" >&5 -echo $ECHO_N "checking for this package's name... $ECHO_C" >&6 - -# Check whether --with-package or --without-package was given. -if test "${with_package+set}" = set; then - withval="$with_package" - PACKAGE=$withval -else - PACKAGE=dialog -fi; -echo "$as_me:7709: result: $PACKAGE" >&5 -echo "${ECHO_T}$PACKAGE" >&6 - -if test -f "$srcdir/VERSION" ; then - echo "$as_me:7713: checking for package version" >&5 -echo $ECHO_N "checking for package version... $ECHO_C" >&6 - - # if there are not enough fields, cut returns the last one... - cf_field1=`sed -e '2,$d' "$srcdir/VERSION" |cut -f1` - cf_field2=`sed -e '2,$d' "$srcdir/VERSION" |cut -f2` - cf_field3=`sed -e '2,$d' "$srcdir/VERSION" |cut -f3` - - # this is how CF_BUNDLED_INTL uses $VERSION: - VERSION="$cf_field1" - - VERSION_MAJOR=`echo "$cf_field2" | sed -e 's/\..*//'` - test -z "$VERSION_MAJOR" && { { echo "$as_me:7725: error: missing major-version" >&5 -echo "$as_me: error: missing major-version" >&2;} - { (exit 1); exit 1; }; } - - VERSION_MINOR=`echo "$cf_field2" | sed -e 's/^[^.]*\.//' -e 's/-.*//'` - test -z "$VERSION_MINOR" && { { echo "$as_me:7730: error: missing minor-version" >&5 -echo "$as_me: error: missing minor-version" >&2;} - { (exit 1); exit 1; }; } - - echo "$as_me:7734: result: ${VERSION_MAJOR}.${VERSION_MINOR}" >&5 -echo "${ECHO_T}${VERSION_MAJOR}.${VERSION_MINOR}" >&6 - - echo "$as_me:7737: checking for package patch date" >&5 -echo $ECHO_N "checking for package patch date... $ECHO_C" >&6 - VERSION_PATCH=`echo "$cf_field3" | sed -e 's/^[^-]*-//'` - case .$VERSION_PATCH in - (.) - { { echo "$as_me:7742: error: missing patch-date $VERSION_PATCH" >&5 -echo "$as_me: error: missing patch-date $VERSION_PATCH" >&2;} - { (exit 1); exit 1; }; } - ;; - (.[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]) - ;; - (*) - { { echo "$as_me:7749: error: illegal patch-date $VERSION_PATCH" >&5 -echo "$as_me: error: illegal patch-date $VERSION_PATCH" >&2;} - { (exit 1); exit 1; }; } - ;; - esac - echo "$as_me:7754: result: $VERSION_PATCH" >&5 -echo "${ECHO_T}$VERSION_PATCH" >&6 -else - { { echo "$as_me:7757: error: did not find $srcdir/VERSION" >&5 -echo "$as_me: error: did not find $srcdir/VERSION" >&2;} - { (exit 1); exit 1; }; } -fi - -# show the actual data that we have for versions: -test -n "$verbose" && echo " ABI VERSION $VERSION" 1>&6 - -echo "${as_me:-configure}:7765: testing ABI VERSION $VERSION ..." 1>&5 - -test -n "$verbose" && echo " VERSION_MAJOR $VERSION_MAJOR" 1>&6 - -echo "${as_me:-configure}:7769: testing VERSION_MAJOR $VERSION_MAJOR ..." 1>&5 - -test -n "$verbose" && echo " VERSION_MINOR $VERSION_MINOR" 1>&6 - -echo "${as_me:-configure}:7773: testing VERSION_MINOR $VERSION_MINOR ..." 1>&5 - -test -n "$verbose" && echo " VERSION_PATCH $VERSION_PATCH" 1>&6 - -echo "${as_me:-configure}:7777: testing VERSION_PATCH $VERSION_PATCH ..." 1>&5 - - cf_PACKAGE=dialog - PACKAGE=$PACKAGE - -cat >>confdefs.h <<EOF -#define PACKAGE "$PACKAGE" -EOF - -cf_PACKAGE=`echo "$cf_PACKAGE" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` - - cat >>confdefs.h <<EOF -#define ${cf_PACKAGE}_VERSION "${VERSION_MAJOR}.${VERSION_MINOR}" -EOF - - cat >>confdefs.h <<EOF -#define ${cf_PACKAGE}_PATCHDATE ${VERSION_PATCH} -EOF - -CFG_ROOTNAME=$PACKAGE -HDR_ROOTNAME=$PACKAGE -LIB_ROOTNAME=$PACKAGE - -echo "$as_me:7800: checking if we should install dlg_XXX headers to subdirectory" >&5 -echo $ECHO_N "checking if we should install dlg_XXX headers to subdirectory... $ECHO_C" >&6 - -# Check whether --enable-header-subdir or --disable-header-subdir was given. -if test "${enable_header_subdir+set}" = set; then - enableval="$enable_header_subdir" - SUB_INC=$enableval -else - SUB_INC=no -fi; -echo "$as_me:7810: result: $SUB_INC" >&5 -echo "${ECHO_T}$SUB_INC" >&6 - -case "x${with_man2html}" in -(xno) - cf_man2html=no - ;; -(x|xyes) - # Extract the first word of "man2html", so it can be a program name with args. -set dummy man2html; ac_word=$2 -echo "$as_me:7820: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_cf_man2html+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $cf_man2html in - [\\/]* | ?:[\\/]*) - ac_cv_path_cf_man2html="$cf_man2html" # Let the user override the test with a path. - ;; - *) - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - if $as_executable_p "$ac_dir/$ac_word"; then - ac_cv_path_cf_man2html="$ac_dir/$ac_word" - echo "$as_me:7837: found $ac_dir/$ac_word" >&5 - break -fi -done - - test -z "$ac_cv_path_cf_man2html" && ac_cv_path_cf_man2html="no" - ;; -esac -fi -cf_man2html=$ac_cv_path_cf_man2html - -if test -n "$cf_man2html"; then - echo "$as_me:7849: result: $cf_man2html" >&5 -echo "${ECHO_T}$cf_man2html" >&6 -else - echo "$as_me:7852: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - case "x$cf_man2html" in - (x/*) - echo "$as_me:7858: checking for the modified Earl Hood script" >&5 -echo $ECHO_N "checking for the modified Earl Hood script... $ECHO_C" >&6 - if ( $cf_man2html -help 2>&1 | grep 'Make an index of headers at the end' >/dev/null ) - then - cf_man2html_ok=yes - else - cf_man2html=no - cf_man2html_ok=no - fi - echo "$as_me:7867: result: $cf_man2html_ok" >&5 -echo "${ECHO_T}$cf_man2html_ok" >&6 - ;; - (*) - cf_man2html=no - ;; - esac -esac - -echo "$as_me:7876: checking for program to convert manpage to html" >&5 -echo $ECHO_N "checking for program to convert manpage to html... $ECHO_C" >&6 - -# Check whether --with-man2html or --without-man2html was given. -if test "${with_man2html+set}" = set; then - withval="$with_man2html" - cf_man2html=$withval -else - cf_man2html=$cf_man2html -fi; - -cf_with_groff=no - -case $cf_man2html in -(yes) - echo "$as_me:7891: result: man2html" >&5 -echo "${ECHO_T}man2html" >&6 - # Extract the first word of "man2html", so it can be a program name with args. -set dummy man2html; ac_word=$2 -echo "$as_me:7895: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_cf_man2html+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $cf_man2html in - [\\/]* | ?:[\\/]*) - ac_cv_path_cf_man2html="$cf_man2html" # Let the user override the test with a path. - ;; - *) - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - if $as_executable_p "$ac_dir/$ac_word"; then - ac_cv_path_cf_man2html="$ac_dir/$ac_word" - echo "$as_me:7912: found $ac_dir/$ac_word" >&5 - break -fi -done - - test -z "$ac_cv_path_cf_man2html" && ac_cv_path_cf_man2html="no" - ;; -esac -fi -cf_man2html=$ac_cv_path_cf_man2html - -if test -n "$cf_man2html"; then - echo "$as_me:7924: result: $cf_man2html" >&5 -echo "${ECHO_T}$cf_man2html" >&6 -else - echo "$as_me:7927: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - ;; -(no|groff|*/groff*) - cf_with_groff=yes - cf_man2html=$GROFF_PATH - echo "$as_me:7935: result: $cf_man2html" >&5 -echo "${ECHO_T}$cf_man2html" >&6 - ;; -(*) - echo "$as_me:7939: result: $cf_man2html" >&5 -echo "${ECHO_T}$cf_man2html" >&6 - ;; -esac - -MAN2HTML_TEMP="man2html.tmp" - cat >$MAN2HTML_TEMP <<CF_EOF -#!$SHELL -# Temporary script generated by CF_WITH_MAN2HTML -# Convert inputs to html, sending result to standard output. -# -# Parameters: -# \${1} = rootname of file to convert -# \${2} = suffix of file to convert, e.g., "1" -# \${3} = macros to use, e.g., "man" -# -ROOT=\$1 -TYPE=\$2 -MACS=\$3 - -unset LANG -unset LC_ALL -unset LC_CTYPE -unset LANGUAGE -GROFF_NO_SGR=stupid -export GROFF_NO_SGR - -CF_EOF - -NROFF_OPTS= -if test "x$cf_with_groff" = xyes -then - MAN2HTML_NOTE="$GROFF_NOTE" - MAN2HTML_PATH="$GROFF_PATH" - cat >>$MAN2HTML_TEMP <<CF_EOF -$SHELL -c "$TBL_PATH \${ROOT}.\${TYPE} | $GROFF_PATH -P -o0 -I\${ROOT}_ -Thtml -\${MACS}" -CF_EOF -else - # disable hyphenation if this is groff - if test "x$GROFF_PATH" != xno - then - echo "$as_me:7980: checking if nroff is really groff" >&5 -echo $ECHO_N "checking if nroff is really groff... $ECHO_C" >&6 - cf_check_groff="`$NROFF_PATH --version 2>/dev/null | grep groff`" - test -n "$cf_check_groff" && cf_check_groff=yes - test -n "$cf_check_groff" || cf_check_groff=no - echo "$as_me:7985: result: $cf_check_groff" >&5 -echo "${ECHO_T}$cf_check_groff" >&6 - test "x$cf_check_groff" = xyes && NROFF_OPTS="-rHY=0" - fi - MAN2HTML_NOTE="" - -if test "x$prefix" != xNONE; then - cf_path_syntax="$prefix" -else - cf_path_syntax="$ac_default_prefix" -fi - -case ".$cf_man2html" in -(.\$\(*\)*|.\'*\'*) - ;; -(..|./*|.\\*) - ;; -(.[a-zA-Z]:[\\/]*) # OS/2 EMX - ;; -(.\$\{*prefix\}*|.\$\{*dir\}*) - eval cf_man2html="$cf_man2html" - case ".$cf_man2html" in - (.NONE/*) - cf_man2html=`echo "$cf_man2html" | sed -e s%NONE%$cf_path_syntax%` - ;; - esac - ;; -(.no|.NONE/*) - cf_man2html=`echo "$cf_man2html" | sed -e s%NONE%$cf_path_syntax%` - ;; -(*) - { { echo "$as_me:8016: error: expected a pathname, not \"$cf_man2html\"" >&5 -echo "$as_me: error: expected a pathname, not \"$cf_man2html\"" >&2;} - { (exit 1); exit 1; }; } - ;; -esac - - MAN2HTML_PATH="$cf_man2html" - echo "$as_me:8023: checking for $cf_man2html top/bottom margins" >&5 -echo $ECHO_N "checking for $cf_man2html top/bottom margins... $ECHO_C" >&6 - - # for this example, expect 3 lines of content, the remainder is head/foot - cat >conftest.in <<CF_EOF -.TH HEAD1 HEAD2 HEAD3 HEAD4 HEAD5 -.SH SECTION -MARKER -CF_EOF - - LC_ALL=C LC_CTYPE=C LANG=C LANGUAGE=C $NROFF_PATH -man conftest.in >conftest.out - - cf_man2html_1st="`${FGREP-fgrep} -n MARKER conftest.out |sed -e 's/^[^0-9]*://' -e 's/:.*//'`" - cf_man2html_top=`expr "$cf_man2html_1st" - 2` - cf_man2html_bot="`wc -l conftest.out |sed -e 's/[^0-9]//g'`" - cf_man2html_bot=`expr "$cf_man2html_bot" - 2 - "$cf_man2html_top"` - cf_man2html_top_bot="-topm=$cf_man2html_top -botm=$cf_man2html_bot" - - echo "$as_me:8041: result: $cf_man2html_top_bot" >&5 -echo "${ECHO_T}$cf_man2html_top_bot" >&6 - - echo "$as_me:8044: checking for pagesize to use" >&5 -echo $ECHO_N "checking for pagesize to use... $ECHO_C" >&6 - for cf_block in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 - do - cat >>conftest.in <<CF_EOF -.nf -0 -1 -2 -3 -4 -5 -6 -7 -8 -9 -CF_EOF - done - - LC_ALL=C LC_CTYPE=C LANG=C LANGUAGE=C $NROFF_PATH -man conftest.in >conftest.out - cf_man2html_page="`${FGREP-fgrep} -n HEAD1 conftest.out |sed -n '$p' |sed -e 's/^[^0-9]*://' -e 's/:.*//'`" - test -z "$cf_man2html_page" && cf_man2html_page=99999 - test "$cf_man2html_page" -gt 100 && cf_man2html_page=99999 - - rm -rf conftest* - echo "$as_me:8069: result: $cf_man2html_page" >&5 -echo "${ECHO_T}$cf_man2html_page" >&6 - - cat >>$MAN2HTML_TEMP <<CF_EOF -: \${MAN2HTML_PATH=$MAN2HTML_PATH} -MAN2HTML_OPTS="\$MAN2HTML_OPTS -index -title=\"\$ROOT(\$TYPE)\" -compress -pgsize $cf_man2html_page" -case \${TYPE} in -(ms) - $TBL_PATH \${ROOT}.\${TYPE} | $NROFF_PATH $NROFF_OPTS -\${MACS} | \$MAN2HTML_PATH -topm=0 -botm=0 \$MAN2HTML_OPTS - ;; -(*) - $TBL_PATH \${ROOT}.\${TYPE} | $NROFF_PATH $NROFF_OPTS -\${MACS} | \$MAN2HTML_PATH $cf_man2html_top_bot \$MAN2HTML_OPTS - ;; -esac -CF_EOF -fi - -chmod 700 $MAN2HTML_TEMP - -EXTRAOBJS="" -echo "$as_me:8089: checking for ANSI C header files" >&5 -echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6 -if test "${ac_cv_header_stdc+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >"conftest.$ac_ext" <<_ACEOF -#line 8095 "configure" -#include "confdefs.h" -#include <stdlib.h> -#include <stdarg.h> -#include <string.h> -#include <float.h> - -_ACEOF -if { (eval echo "$as_me:8103: \"$ac_cpp "conftest.$ac_ext"\"") >&5 - (eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - $EGREP -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:8109: \$? = $ac_status" >&5 - (exit "$ac_status"); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_cv_header_stdc=yes -else - echo "$as_me: failed program was:" >&5 - cat "conftest.$ac_ext" >&5 - ac_cv_header_stdc=no -fi -rm -f conftest.err "conftest.$ac_ext" - -if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat >"conftest.$ac_ext" <<_ACEOF -#line 8131 "configure" -#include "confdefs.h" -#include <string.h> - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "memchr" >/dev/null 2>&1; then - : -else - ac_cv_header_stdc=no -fi -rm -rf conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat >"conftest.$ac_ext" <<_ACEOF -#line 8149 "configure" -#include "confdefs.h" -#include <stdlib.h> - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "free" >/dev/null 2>&1; then - : -else - ac_cv_header_stdc=no -fi -rm -rf conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then - : -else - cat >"conftest.$ac_ext" <<_ACEOF -#line 8170 "configure" -#include "confdefs.h" -#include <ctype.h> -#if ((' ' & 0x0FF) == 0x020) -# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#else -# define ISLOWER(c) (('a' <= (c) && (c) <= 'i') \ - || ('j' <= (c) && (c) <= 'r') \ - || ('s' <= (c) && (c) <= 'z')) -# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) -#endif - -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -int -main (void) -{ - int i; - for (i = 0; i < 256; i++) - if (XOR (islower (i), ISLOWER (i)) - || toupper (i) != TOUPPER (i)) - $ac_main_return(2); - $ac_main_return (0); -} -_ACEOF -rm -f "conftest$ac_exeext" -if { (eval echo "$as_me:8196: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:8199: \$? = $ac_status" >&5 - (exit "$ac_status"); } && { ac_try='"./conftest$ac_exeext"' - { (eval echo "$as_me:8201: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:8204: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - : -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -ac_cv_header_stdc=no -fi -rm -f core ./core.* ./*.core "conftest$ac_exeext" "conftest.$ac_objext" "conftest.$ac_ext" -fi -fi -fi -echo "$as_me:8217: result: $ac_cv_header_stdc" >&5 -echo "${ECHO_T}$ac_cv_header_stdc" >&6 -if test $ac_cv_header_stdc = yes; then - -cat >>confdefs.h <<\EOF -#define STDC_HEADERS 1 -EOF - -fi - -echo "$as_me:8227: checking for inline" >&5 -echo $ECHO_N "checking for inline... $ECHO_C" >&6 -if test "${ac_cv_c_inline+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_c_inline=no -for ac_kw in inline __inline__ __inline; do - cat >"conftest.$ac_ext" <<_ACEOF -#line 8235 "configure" -#include "confdefs.h" -#ifndef __cplusplus -static $ac_kw int static_foo () {return 0; } -$ac_kw int foo () {return 0; } -#endif - -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:8244: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:8247: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:8250: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:8253: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - ac_cv_c_inline=$ac_kw; break -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" -done - -fi -echo "$as_me:8264: result: $ac_cv_c_inline" >&5 -echo "${ECHO_T}$ac_cv_c_inline" >&6 -case $ac_cv_c_inline in - inline | yes) ;; - no) -cat >>confdefs.h <<\EOF -#define inline -EOF - ;; - *) cat >>confdefs.h <<EOF -#define inline $ac_cv_c_inline -EOF - ;; -esac - -# On IRIX 5.3, sys/types and inttypes.h are conflicting. - -for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ - inttypes.h stdint.h unistd.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -echo "$as_me:8285: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >"conftest.$ac_ext" <<_ACEOF -#line 8291 "configure" -#include "confdefs.h" -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:8297: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:8300: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:8303: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:8306: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - eval "$as_ac_Header=yes" -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -eval "$as_ac_Header=no" -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" -fi -echo "$as_me:8316: result: `eval echo '${'"$as_ac_Header"'}'`" >&5 -echo "${ECHO_T}`eval echo '${'"$as_ac_Header"'}'`" >&6 -if test "`eval echo '${'"$as_ac_Header"'}'`" = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 -EOF - -fi -done - -echo "$as_me:8326: checking for off_t" >&5 -echo $ECHO_N "checking for off_t... $ECHO_C" >&6 -if test "${ac_cv_type_off_t+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >"conftest.$ac_ext" <<_ACEOF -#line 8332 "configure" -#include "confdefs.h" -$ac_includes_default -int -main (void) -{ -if ((off_t *) 0) - return 0; -if (sizeof (off_t)) - return 0; - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:8347: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:8350: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:8353: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:8356: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - ac_cv_type_off_t=yes -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -ac_cv_type_off_t=no -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" -fi -echo "$as_me:8366: result: $ac_cv_type_off_t" >&5 -echo "${ECHO_T}$ac_cv_type_off_t" >&6 -if test "$ac_cv_type_off_t" = yes; then - : -else - -cat >>confdefs.h <<EOF -#define off_t long -EOF - -fi - -echo "$as_me:8378: checking for size_t" >&5 -echo $ECHO_N "checking for size_t... $ECHO_C" >&6 -if test "${ac_cv_type_size_t+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >"conftest.$ac_ext" <<_ACEOF -#line 8384 "configure" -#include "confdefs.h" -$ac_includes_default -int -main (void) -{ -if ((size_t *) 0) - return 0; -if (sizeof (size_t)) - return 0; - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:8399: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:8402: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:8405: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:8408: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - ac_cv_type_size_t=yes -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -ac_cv_type_size_t=no -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" -fi -echo "$as_me:8418: result: $ac_cv_type_size_t" >&5 -echo "${ECHO_T}$ac_cv_type_size_t" >&6 -if test "$ac_cv_type_size_t" = yes; then - : -else - -cat >>confdefs.h <<EOF -#define size_t unsigned -EOF - -fi - -# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works -# for constant arguments. Useless! -echo "$as_me:8432: checking for working alloca.h" >&5 -echo $ECHO_N "checking for working alloca.h... $ECHO_C" >&6 -if test "${ac_cv_working_alloca_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >"conftest.$ac_ext" <<_ACEOF -#line 8438 "configure" -#include "confdefs.h" -#include <alloca.h> -int -main (void) -{ -char *p = (char *) alloca (2 * sizeof (int)); - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:8450: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:8453: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:8456: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:8459: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - ac_cv_working_alloca_h=yes -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -ac_cv_working_alloca_h=no -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" -fi -echo "$as_me:8469: result: $ac_cv_working_alloca_h" >&5 -echo "${ECHO_T}$ac_cv_working_alloca_h" >&6 -if test $ac_cv_working_alloca_h = yes; then - -cat >>confdefs.h <<\EOF -#define HAVE_ALLOCA_H 1 -EOF - -fi - -echo "$as_me:8479: checking for alloca" >&5 -echo $ECHO_N "checking for alloca... $ECHO_C" >&6 -if test "${ac_cv_func_alloca_works+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >"conftest.$ac_ext" <<_ACEOF -#line 8485 "configure" -#include "confdefs.h" -#ifdef __GNUC__ -# define alloca __builtin_alloca -#else -# ifdef _MSC_VER -# include <malloc.h> -# define alloca _alloca -# else -# if HAVE_ALLOCA_H -# include <alloca.h> -# else -# ifdef _AIX - #pragma alloca -# else -# ifndef alloca /* predefined by HP cc +Olibcalls */ -char *alloca (); -# endif -# endif -# endif -# endif -#endif - -int -main (void) -{ -char *p = (char *) alloca (1); - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:8517: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:8520: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:8523: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:8526: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - ac_cv_func_alloca_works=yes -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -ac_cv_func_alloca_works=no -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" -fi -echo "$as_me:8536: result: $ac_cv_func_alloca_works" >&5 -echo "${ECHO_T}$ac_cv_func_alloca_works" >&6 - -if test $ac_cv_func_alloca_works = yes; then - -cat >>confdefs.h <<\EOF -#define HAVE_ALLOCA 1 -EOF - -else - # The SVR3 libPW and SVR4 libucb both contain incompatible functions -# that cause trouble. Some versions do not even contain alloca or -# contain a buggy version. If you still want to use their alloca, -# use ar to extract alloca.o from them instead of compiling alloca.c. - -ALLOCA="alloca.$ac_objext" - -cat >>confdefs.h <<\EOF -#define C_ALLOCA 1 -EOF - -echo "$as_me:8557: checking whether \`alloca.c' needs Cray hooks" >&5 -echo $ECHO_N "checking whether \`alloca.c' needs Cray hooks... $ECHO_C" >&6 -if test "${ac_cv_os_cray+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >"conftest.$ac_ext" <<_ACEOF -#line 8563 "configure" -#include "confdefs.h" -#if defined(CRAY) && ! defined(CRAY2) -webecray -#else -wenotbecray -#endif - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "webecray" >/dev/null 2>&1; then - ac_cv_os_cray=yes -else - ac_cv_os_cray=no -fi -rm -rf conftest* - -fi -echo "$as_me:8581: result: $ac_cv_os_cray" >&5 -echo "${ECHO_T}$ac_cv_os_cray" >&6 -if test $ac_cv_os_cray = yes; then - for ac_func in _getb67 GETB67 getb67; do - as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:8586: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >"conftest.$ac_ext" <<_ACEOF -#line 8592 "configure" -#include "confdefs.h" -#define $ac_func autoconf_temporary -#include <limits.h> /* least-intrusive standard header which defines gcc2 __stub macros */ -#undef $ac_func - -#ifdef __cplusplus -extern "C" -#endif - -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (void); - -int -main (void) -{ - -/* The GNU C library defines stubs for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -#error found stub for $ac_func -#endif - - return $ac_func (); - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:8623: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:8626: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:8629: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:8632: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -eval "$as_ac_var=no" -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" -fi -echo "$as_me:8642: result: `eval echo '${'"$as_ac_var"'}'`" >&5 -echo "${ECHO_T}`eval echo '${'"$as_ac_var"'}'`" >&6 -if test "`eval echo '${'"$as_ac_var"'}'`" = yes; then - -cat >>confdefs.h <<EOF -#define CRAY_STACKSEG_END $ac_func -EOF - - break -fi - - done -fi - -echo "$as_me:8656: checking stack direction for C alloca" >&5 -echo $ECHO_N "checking stack direction for C alloca... $ECHO_C" >&6 -if test "${ac_cv_c_stack_direction+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test "$cross_compiling" = yes; then - ac_cv_c_stack_direction=0 -else - cat >"conftest.$ac_ext" <<_ACEOF -#line 8665 "configure" -#include "confdefs.h" -int -find_stack_direction (void) -{ - static char *addr = 0; - auto char dummy; - if (addr == 0) - { - addr = &dummy; - return find_stack_direction (); - } - else - return (&dummy > addr) ? 1 : -1; -} - -int -main (void) -{ - $ac_main_return (find_stack_direction () < 0); -} -_ACEOF -rm -f "conftest$ac_exeext" -if { (eval echo "$as_me:8688: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:8691: \$? = $ac_status" >&5 - (exit "$ac_status"); } && { ac_try='"./conftest$ac_exeext"' - { (eval echo "$as_me:8693: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:8696: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - ac_cv_c_stack_direction=1 -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -ac_cv_c_stack_direction=-1 -fi -rm -f core ./core.* ./*.core "conftest$ac_exeext" "conftest.$ac_objext" "conftest.$ac_ext" -fi -fi -echo "$as_me:8708: result: $ac_cv_c_stack_direction" >&5 -echo "${ECHO_T}$ac_cv_c_stack_direction" >&6 - -cat >>confdefs.h <<EOF -#define STACK_DIRECTION $ac_cv_c_stack_direction -EOF - -fi - -for ac_header in stdlib.h unistd.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -echo "$as_me:8720: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >"conftest.$ac_ext" <<_ACEOF -#line 8726 "configure" -#include "confdefs.h" -#include <$ac_header> -_ACEOF -if { (eval echo "$as_me:8730: \"$ac_cpp "conftest.$ac_ext"\"") >&5 - (eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - $EGREP -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:8736: \$? = $ac_status" >&5 - (exit "$ac_status"); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - eval "$as_ac_Header=yes" -else - echo "$as_me: failed program was:" >&5 - cat "conftest.$ac_ext" >&5 - eval "$as_ac_Header=no" -fi -rm -f conftest.err "conftest.$ac_ext" -fi -echo "$as_me:8755: result: `eval echo '${'"$as_ac_Header"'}'`" >&5 -echo "${ECHO_T}`eval echo '${'"$as_ac_Header"'}'`" >&6 -if test "`eval echo '${'"$as_ac_Header"'}'`" = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 -EOF - -fi -done - -for ac_func in getpagesize -do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:8768: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >"conftest.$ac_ext" <<_ACEOF -#line 8774 "configure" -#include "confdefs.h" -#define $ac_func autoconf_temporary -#include <limits.h> /* least-intrusive standard header which defines gcc2 __stub macros */ -#undef $ac_func - -#ifdef __cplusplus -extern "C" -#endif - -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (void); - -int -main (void) -{ - -/* The GNU C library defines stubs for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -#error found stub for $ac_func -#endif - - return $ac_func (); - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:8805: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:8808: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:8811: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:8814: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -eval "$as_ac_var=no" -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" -fi -echo "$as_me:8824: result: `eval echo '${'"$as_ac_var"'}'`" >&5 -echo "${ECHO_T}`eval echo '${'"$as_ac_var"'}'`" >&6 -if test "`eval echo '${'"$as_ac_var"'}'`" = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 -EOF - -fi -done - -echo "$as_me:8834: checking for working mmap" >&5 -echo $ECHO_N "checking for working mmap... $ECHO_C" >&6 -if test "${ac_cv_func_mmap_fixed_mapped+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test "$cross_compiling" = yes; then - ac_cv_func_mmap_fixed_mapped=no -else - cat >"conftest.$ac_ext" <<_ACEOF -#line 8843 "configure" -#include "confdefs.h" -$ac_includes_default -/* Thanks to Mike Haertel and Jim Avera for this test. - Here is a matrix of mmap possibilities: - mmap private not fixed - mmap private fixed at somewhere currently unmapped - mmap private fixed at somewhere already mapped - mmap shared not fixed - mmap shared fixed at somewhere currently unmapped - mmap shared fixed at somewhere already mapped - For private mappings, we should verify that changes cannot be read() - back from the file, nor mmap's back from the file at a different - address. (There have been systems where private was not correctly - implemented like the infamous i386 svr4.0, and systems where the - VM page cache was not coherent with the file system buffer cache - like early versions of FreeBSD and possibly contemporary NetBSD.) - For shared mappings, we should conversely verify that changes get - propogated back to all the places they're supposed to be. - - Grep wants private fixed already mapped. - The main things grep needs to know about mmap are: - * does it exist and is it safe to write into the mmap'd area - * how to use it (BSD variants) */ - -#include <fcntl.h> -#include <sys/mman.h> - -#if !STDC_HEADERS && !HAVE_STDLIB_H -char *malloc (); -#endif - -/* This mess was copied from the GNU getpagesize.h. */ -#if !HAVE_GETPAGESIZE -/* Assume that all systems that can run configure have sys/param.h. */ -# if !HAVE_SYS_PARAM_H -# define HAVE_SYS_PARAM_H 1 -# endif - -# ifdef _SC_PAGESIZE -# define getpagesize() sysconf(_SC_PAGESIZE) -# else /* no _SC_PAGESIZE */ -# if HAVE_SYS_PARAM_H -# include <sys/param.h> -# ifdef EXEC_PAGESIZE -# define getpagesize() EXEC_PAGESIZE -# else /* no EXEC_PAGESIZE */ -# ifdef NBPG -# define getpagesize() NBPG * CLSIZE -# ifndef CLSIZE -# define CLSIZE 1 -# endif /* no CLSIZE */ -# else /* no NBPG */ -# ifdef NBPC -# define getpagesize() NBPC -# else /* no NBPC */ -# ifdef PAGESIZE -# define getpagesize() PAGESIZE -# endif /* PAGESIZE */ -# endif /* no NBPC */ -# endif /* no NBPG */ -# endif /* no EXEC_PAGESIZE */ -# else /* no HAVE_SYS_PARAM_H */ -# define getpagesize() 8192 /* punt totally */ -# endif /* no HAVE_SYS_PARAM_H */ -# endif /* no _SC_PAGESIZE */ - -#endif /* no HAVE_GETPAGESIZE */ - -int -main (void) -{ - char *data, *data2, *data3; - int i, pagesize; - int fd; - - pagesize = getpagesize (); - - /* First, make a file with some known garbage in it. */ - data = (char *) malloc (pagesize); - if (!data) - $ac_main_return (1); - for (i = 0; i < pagesize; ++i) - *(data + i) = rand (); - umask (0); - fd = creat ("conftest.mmap", 0600); - if (fd < 0) - $ac_main_return (1); - if (write (fd, data, pagesize) != pagesize) - $ac_main_return (1); - close (fd); - - /* Next, try to mmap the file at a fixed address which already has - something else allocated at it. If we can, also make sure that - we see the same garbage. */ - fd = open ("conftest.mmap", O_RDWR); - if (fd < 0) - $ac_main_return (1); - data2 = (char *) malloc (2 * pagesize); - if (!data2) - $ac_main_return (1); - data2 += (pagesize - ((int) data2 & (pagesize - 1))) & (pagesize - 1); - if (data2 != mmap (data2, pagesize, PROT_READ | PROT_WRITE, - MAP_PRIVATE | MAP_FIXED, fd, 0L)) - $ac_main_return (1); - for (i = 0; i < pagesize; ++i) - if (*(data + i) != *(data2 + i)) - $ac_main_return (1); - - /* Finally, make sure that changes to the mapped area do not - percolate back to the file as seen by read(). (This is a bug on - some variants of i386 svr4.0.) */ - for (i = 0; i < pagesize; ++i) - *(data2 + i) = *(data2 + i) + 1; - data3 = (char *) malloc (pagesize); - if (!data3) - $ac_main_return (1); - if (read (fd, data3, pagesize) != pagesize) - $ac_main_return (1); - for (i = 0; i < pagesize; ++i) - if (*(data + i) != *(data3 + i)) - $ac_main_return (1); - close (fd); - $ac_main_return (0); -} -_ACEOF -rm -f "conftest$ac_exeext" -if { (eval echo "$as_me:8970: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:8973: \$? = $ac_status" >&5 - (exit "$ac_status"); } && { ac_try='"./conftest$ac_exeext"' - { (eval echo "$as_me:8975: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:8978: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - ac_cv_func_mmap_fixed_mapped=yes -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -ac_cv_func_mmap_fixed_mapped=no -fi -rm -f core ./core.* ./*.core "conftest$ac_exeext" "conftest.$ac_objext" "conftest.$ac_ext" -fi -fi -echo "$as_me:8990: result: $ac_cv_func_mmap_fixed_mapped" >&5 -echo "${ECHO_T}$ac_cv_func_mmap_fixed_mapped" >&6 -if test $ac_cv_func_mmap_fixed_mapped = yes; then - -cat >>confdefs.h <<\EOF -#define HAVE_MMAP 1 -EOF - -fi -rm -f conftest.mmap - -echo "$as_me:9001: checking whether we are using the GNU C Library 2.1 or newer" >&5 -echo $ECHO_N "checking whether we are using the GNU C Library 2.1 or newer... $ECHO_C" >&6 -if test "${ac_cv_gnu_library_2_1+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >"conftest.$ac_ext" <<_ACEOF -#line 9007 "configure" -#include "confdefs.h" - -#include <features.h> -#ifdef __GNU_LIBRARY__ - #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2) - Lucky GNU user - #endif -#endif - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "Lucky GNU user" >/dev/null 2>&1; then - ac_cv_gnu_library_2_1=yes -else - ac_cv_gnu_library_2_1=no -fi -rm -rf conftest* - -fi -echo "$as_me:9027: result: $ac_cv_gnu_library_2_1" >&5 -echo "${ECHO_T}$ac_cv_gnu_library_2_1" >&6 - - GLIBC21="$ac_cv_gnu_library_2_1" - -cf_makefile=makefile - -test -z "$ALL_LINGUAS" && ALL_LINGUAS=`test -d "$srcdir/po" && cd "$srcdir/po" && echo *.po|sed -e 's/\.po//g' -e 's/*//'` - -# Allow override of "config.h" definition: -: ${CONFIG_H:=config.h} - -if test -z "$PACKAGE" ; then - { { echo "$as_me:9040: error: CF_BUNDLED_INTL used without setting PACKAGE variable" >&5 -echo "$as_me: error: CF_BUNDLED_INTL used without setting PACKAGE variable" >&2;} - { (exit 1); exit 1; }; } -fi - -if test -z "$VERSION" ; then -if test -f "$srcdir/VERSION" ; then - VERSION=`sed -e '2,$d' "$srcdir/VERSION" |cut -f1` -else - VERSION=unknown -fi -fi - -for ac_header in argz.h limits.h locale.h nl_types.h malloc.h stddef.h \ -stdlib.h string.h unistd.h sys/param.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -echo "$as_me:9057: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >"conftest.$ac_ext" <<_ACEOF -#line 9063 "configure" -#include "confdefs.h" -#include <$ac_header> -_ACEOF -if { (eval echo "$as_me:9067: \"$ac_cpp "conftest.$ac_ext"\"") >&5 - (eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - $EGREP -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:9073: \$? = $ac_status" >&5 - (exit "$ac_status"); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - eval "$as_ac_Header=yes" -else - echo "$as_me: failed program was:" >&5 - cat "conftest.$ac_ext" >&5 - eval "$as_ac_Header=no" -fi -rm -f conftest.err "conftest.$ac_ext" -fi -echo "$as_me:9092: result: `eval echo '${'"$as_ac_Header"'}'`" >&5 -echo "${ECHO_T}`eval echo '${'"$as_ac_Header"'}'`" >&6 -if test "`eval echo '${'"$as_ac_Header"'}'`" = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 -EOF - -fi -done - -for ac_func in feof_unlocked fgets_unlocked getcwd getegid geteuid \ -getgid getuid mempcpy munmap putenv setenv setlocale stpcpy strchr strcasecmp \ -strdup strtoul tsearch __argz_count __argz_stringify __argz_next -do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:9107: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >"conftest.$ac_ext" <<_ACEOF -#line 9113 "configure" -#include "confdefs.h" -#define $ac_func autoconf_temporary -#include <limits.h> /* least-intrusive standard header which defines gcc2 __stub macros */ -#undef $ac_func - -#ifdef __cplusplus -extern "C" -#endif - -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (void); - -int -main (void) -{ - -/* The GNU C library defines stubs for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -#error found stub for $ac_func -#endif - - return $ac_func (); - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:9144: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:9147: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:9150: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:9153: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -eval "$as_ac_var=no" -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" -fi -echo "$as_me:9163: result: `eval echo '${'"$as_ac_var"'}'`" >&5 -echo "${ECHO_T}`eval echo '${'"$as_ac_var"'}'`" >&6 -if test "`eval echo '${'"$as_ac_var"'}'`" = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 -EOF - -fi -done - -# Check whether --with-libiconv-prefix or --without-libiconv-prefix was given. -if test "${with_libiconv_prefix+set}" = set; then - withval="$with_libiconv_prefix" - -case "$withval" in -(no) - ;; -(yes) - ;; -(*) - -for cf_searchpath in `echo "$withval" | tr $PATH_SEPARATOR ' '`; do - if test -d "$cf_searchpath/include" ; then - -if test -n "$cf_searchpath/include" ; then - for cf_add_incdir in $cf_searchpath/include - do - while test "$cf_add_incdir" != /usr/include - do - if test -d "$cf_add_incdir" - then - cf_have_incdir=no - if test -n "$CFLAGS$CPPFLAGS" ; then - # a loop is needed to ensure we can add subdirs of existing dirs - for cf_test_incdir in $CFLAGS $CPPFLAGS ; do - if test ".$cf_test_incdir" = ".-I$cf_add_incdir" ; then - cf_have_incdir=yes; break - fi - done - fi - - if test "$cf_have_incdir" = no ; then - if test "$cf_add_incdir" = /usr/local/include ; then - if test "$GCC" = yes - then - cf_save_CPPFLAGS=$CPPFLAGS - - test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS " - CPPFLAGS="${CPPFLAGS}-I$cf_add_incdir" - - cat >"conftest.$ac_ext" <<_ACEOF -#line 9214 "configure" -#include "confdefs.h" -#include <stdio.h> -int -main (void) -{ -printf("Hello") - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:9226: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:9229: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:9232: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:9235: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - : -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -cf_have_incdir=yes -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" - CPPFLAGS=$cf_save_CPPFLAGS - fi - fi - fi - - if test "$cf_have_incdir" = no ; then - test -n "$verbose" && echo " adding $cf_add_incdir to include-path" 1>&6 - -echo "${as_me:-configure}:9252: testing adding $cf_add_incdir to include-path ..." 1>&5 - - CPPFLAGS="$CPPFLAGS -I$cf_add_incdir" - - cf_top_incdir=`echo "$cf_add_incdir" | sed -e 's%/include/.*$%/include%'` - test "$cf_top_incdir" = "$cf_add_incdir" && break - cf_add_incdir="$cf_top_incdir" - else - break - fi - else - break - fi - done - done -fi - - elif test -d "$cf_searchpath/../include" ; then - -if test -n "$cf_searchpath/../include" ; then - for cf_add_incdir in $cf_searchpath/../include - do - while test "$cf_add_incdir" != /usr/include - do - if test -d "$cf_add_incdir" - then - cf_have_incdir=no - if test -n "$CFLAGS$CPPFLAGS" ; then - # a loop is needed to ensure we can add subdirs of existing dirs - for cf_test_incdir in $CFLAGS $CPPFLAGS ; do - if test ".$cf_test_incdir" = ".-I$cf_add_incdir" ; then - cf_have_incdir=yes; break - fi - done - fi - - if test "$cf_have_incdir" = no ; then - if test "$cf_add_incdir" = /usr/local/include ; then - if test "$GCC" = yes - then - cf_save_CPPFLAGS=$CPPFLAGS - - test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS " - CPPFLAGS="${CPPFLAGS}-I$cf_add_incdir" - - cat >"conftest.$ac_ext" <<_ACEOF -#line 9298 "configure" -#include "confdefs.h" -#include <stdio.h> -int -main (void) -{ -printf("Hello") - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:9310: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:9313: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:9316: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:9319: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - : -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -cf_have_incdir=yes -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" - CPPFLAGS=$cf_save_CPPFLAGS - fi - fi - fi - - if test "$cf_have_incdir" = no ; then - test -n "$verbose" && echo " adding $cf_add_incdir to include-path" 1>&6 - -echo "${as_me:-configure}:9336: testing adding $cf_add_incdir to include-path ..." 1>&5 - - CPPFLAGS="$CPPFLAGS -I$cf_add_incdir" - - cf_top_incdir=`echo "$cf_add_incdir" | sed -e 's%/include/.*$%/include%'` - test "$cf_top_incdir" = "$cf_add_incdir" && break - cf_add_incdir="$cf_top_incdir" - else - break - fi - else - break - fi - done - done -fi - - else -{ { echo "$as_me:9354: error: cannot find libiconv under $withval" >&5 -echo "$as_me: error: cannot find libiconv under $withval" >&2;} - { (exit 1); exit 1; }; } - fi - if test -d "$cf_searchpath/lib" ; then - -if test -n "$cf_searchpath/lib" ; then - for cf_add_libdir in $cf_searchpath/lib - do - if test "$cf_add_libdir" = /usr/lib ; then - : - elif test -d "$cf_add_libdir" - then - cf_have_libdir=no - if test -n "$LDFLAGS$LIBS" ; then - # a loop is needed to ensure we can add subdirs of existing dirs - for cf_test_libdir in $LDFLAGS $LIBS ; do - if test ".$cf_test_libdir" = ".-L$cf_add_libdir" ; then - cf_have_libdir=yes; break - fi - done - fi - if test "$cf_have_libdir" = no ; then - test -n "$verbose" && echo " adding $cf_add_libdir to library-path" 1>&6 - -echo "${as_me:-configure}:9379: testing adding $cf_add_libdir to library-path ..." 1>&5 - - LDFLAGS="-L$cf_add_libdir $LDFLAGS" - fi - fi - done -fi - - elif test -d "$cf_searchpath" ; then - -if test -n "$cf_searchpath" ; then - for cf_add_libdir in $cf_searchpath - do - if test "$cf_add_libdir" = /usr/lib ; then - : - elif test -d "$cf_add_libdir" - then - cf_have_libdir=no - if test -n "$LDFLAGS$LIBS" ; then - # a loop is needed to ensure we can add subdirs of existing dirs - for cf_test_libdir in $LDFLAGS $LIBS ; do - if test ".$cf_test_libdir" = ".-L$cf_add_libdir" ; then - cf_have_libdir=yes; break - fi - done - fi - if test "$cf_have_libdir" = no ; then - test -n "$verbose" && echo " adding $cf_add_libdir to library-path" 1>&6 - -echo "${as_me:-configure}:9408: testing adding $cf_add_libdir to library-path ..." 1>&5 - - LDFLAGS="-L$cf_add_libdir $LDFLAGS" - fi - fi - done -fi - - else -{ { echo "$as_me:9417: error: cannot find libiconv under $withval" >&5 -echo "$as_me: error: cannot find libiconv under $withval" >&2;} - { (exit 1); exit 1; }; } - fi -done - - ;; -esac - -fi; - - echo "$as_me:9428: checking for iconv" >&5 -echo $ECHO_N "checking for iconv... $ECHO_C" >&6 -if test "${am_cv_func_iconv+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - -# If the linkage is not already in the $CPPFLAGS/$LDFLAGS configuration, these -# will be set on completion of the AC_TRY_LINK below. -cf_cv_header_path_iconv= -cf_cv_library_path_iconv= - -echo "${as_me:-configure}:9439: testing Starting FIND_LINKAGE(iconv,) ..." 1>&5 - -cf_save_LIBS="$LIBS" - -cat >"conftest.$ac_ext" <<_ACEOF -#line 9444 "configure" -#include "confdefs.h" - -#include <stdlib.h> -#include <iconv.h> - -int -main (void) -{ - - iconv_t cd = iconv_open("",""); - iconv(cd,NULL,NULL,NULL,NULL); - iconv_close(cd); - - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:9463: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:9466: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:9469: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:9472: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - - cf_cv_find_linkage_iconv=yes - cf_cv_header_path_iconv=/usr/include - cf_cv_library_path_iconv=/usr/lib - -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 - -LIBS="-liconv $cf_save_LIBS" - -cat >"conftest.$ac_ext" <<_ACEOF -#line 9486 "configure" -#include "confdefs.h" - -#include <stdlib.h> -#include <iconv.h> - -int -main (void) -{ - - iconv_t cd = iconv_open("",""); - iconv(cd,NULL,NULL,NULL,NULL); - iconv_close(cd); - - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:9505: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:9508: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:9511: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:9514: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - - cf_cv_find_linkage_iconv=yes - cf_cv_header_path_iconv=/usr/include - cf_cv_library_path_iconv=/usr/lib - cf_cv_library_file_iconv="-liconv" - -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 - - cf_cv_find_linkage_iconv=no - LIBS="$cf_save_LIBS" - - test -n "$verbose" && echo " find linkage for iconv library" 1>&6 - -echo "${as_me:-configure}:9531: testing find linkage for iconv library ..." 1>&5 - -echo "${as_me:-configure}:9533: testing Searching for headers in FIND_LINKAGE(iconv,) ..." 1>&5 - - cf_save_CPPFLAGS="$CPPFLAGS" - cf_test_CPPFLAGS="$CPPFLAGS" - -cf_search= - -# collect the current set of include-directories from compiler flags -cf_header_path_list="" -if test -n "${CFLAGS}${CPPFLAGS}" ; then - for cf_header_path in $CPPFLAGS $CFLAGS - do - case "$cf_header_path" in - (-I*) - cf_header_path=`echo ".$cf_header_path" |sed -e 's/^...//' -e 's,/include$,,'` - -test "x$cf_header_path" != "xNONE" && \ -test -d "$cf_header_path" && \ - { - test -n "$verbose" && echo " ... testing for include-directories under $cf_header_path" - test -d "$cf_header_path/include" && cf_search="$cf_search $cf_header_path/include" - test -d "$cf_header_path/include/iconv" && cf_search="$cf_search $cf_header_path/include/iconv" - test -d "$cf_header_path/include/iconv/include" && cf_search="$cf_search $cf_header_path/include/iconv/include" - test -d "$cf_header_path/iconv/include" && cf_search="$cf_search $cf_header_path/iconv/include" - test -d "$cf_header_path/iconv/include/iconv" && cf_search="$cf_search $cf_header_path/iconv/include/iconv" -} - - cf_header_path_list="$cf_header_path_list $cf_search" - ;; - esac - done -fi - -# add the variations for the package we are looking for - -cf_search= - -test "x$prefix" != "xNONE" && \ -test -d "$prefix" && \ - { - test -n "$verbose" && echo " ... testing for include-directories under $prefix" - test -d "$prefix/include" && cf_search="$cf_search $prefix/include" - test -d "$prefix/include/iconv" && cf_search="$cf_search $prefix/include/iconv" - test -d "$prefix/include/iconv/include" && cf_search="$cf_search $prefix/include/iconv/include" - test -d "$prefix/iconv/include" && cf_search="$cf_search $prefix/iconv/include" - test -d "$prefix/iconv/include/iconv" && cf_search="$cf_search $prefix/iconv/include/iconv" -} - -for cf_subdir_prefix in \ - /usr \ - /usr/local \ - /usr/pkg \ - /opt \ - /opt/local \ - $HOME -do - -test "x$cf_subdir_prefix" != "x$prefix" && \ -test -d "$cf_subdir_prefix" && \ -{ test -z "$prefix" || test "x$prefix" = xNONE || test "x$cf_subdir_prefix" != "x$prefix"; } && { - test -n "$verbose" && echo " ... testing for include-directories under $cf_subdir_prefix" - test -d "$cf_subdir_prefix/include" && cf_search="$cf_search $cf_subdir_prefix/include" - test -d "$cf_subdir_prefix/include/iconv" && cf_search="$cf_search $cf_subdir_prefix/include/iconv" - test -d "$cf_subdir_prefix/include/iconv/include" && cf_search="$cf_search $cf_subdir_prefix/include/iconv/include" - test -d "$cf_subdir_prefix/iconv/include" && cf_search="$cf_search $cf_subdir_prefix/iconv/include" - test -d "$cf_subdir_prefix/iconv/include/iconv" && cf_search="$cf_search $cf_subdir_prefix/iconv/include/iconv" -} - -done - -test "$includedir" != NONE && \ -test "$includedir" != "/usr/include" && \ -test -d "$includedir" && { - test -d "$includedir" && cf_search="$cf_search $includedir" - test -d "$includedir/iconv" && cf_search="$cf_search $includedir/iconv" -} - -test "$oldincludedir" != NONE && \ -test "$oldincludedir" != "/usr/include" && \ -test -d "$oldincludedir" && { - test -d "$oldincludedir" && cf_search="$cf_search $oldincludedir" - test -d "$oldincludedir/iconv" && cf_search="$cf_search $oldincludedir/iconv" -} - -cf_search="$cf_search $cf_header_path_list" - - for cf_cv_header_path_iconv in $cf_search - do - if test -d "$cf_cv_header_path_iconv" ; then - test -n "$verbose" && echo " ... testing $cf_cv_header_path_iconv" 1>&6 - -echo "${as_me:-configure}:9624: testing ... testing $cf_cv_header_path_iconv ..." 1>&5 - - CPPFLAGS="$cf_save_CPPFLAGS" - - test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS " - CPPFLAGS="${CPPFLAGS}-I$cf_cv_header_path_iconv" - - cat >"conftest.$ac_ext" <<_ACEOF -#line 9632 "configure" -#include "confdefs.h" - -#include <stdlib.h> -#include <iconv.h> - -int -main (void) -{ - - iconv_t cd = iconv_open("",""); - iconv(cd,NULL,NULL,NULL,NULL); - iconv_close(cd); - - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:9651: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:9654: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:9657: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:9660: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - - test -n "$verbose" && echo " ... found iconv headers in $cf_cv_header_path_iconv" 1>&6 - -echo "${as_me:-configure}:9665: testing ... found iconv headers in $cf_cv_header_path_iconv ..." 1>&5 - - cf_cv_find_linkage_iconv=maybe - cf_test_CPPFLAGS="$CPPFLAGS" - break -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 - - CPPFLAGS="$cf_save_CPPFLAGS" - -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" - fi - done - - if test "$cf_cv_find_linkage_iconv" = maybe ; then - -echo "${as_me:-configure}:9683: testing Searching for iconv library in FIND_LINKAGE(iconv,) ..." 1>&5 - - cf_save_LIBS="$LIBS" - cf_save_LDFLAGS="$LDFLAGS" - - if test "$cf_cv_find_linkage_iconv" != yes ; then - -cf_search= -cf_library_path_list="" -if test -n "${LDFLAGS}${LIBS}" ; then - for cf_library_path in $LDFLAGS $LIBS - do - case "$cf_library_path" in - (-L*) - cf_library_path=`echo ".$cf_library_path" |sed -e 's/^...//' -e 's,/lib$,,'` - -test "x$cf_library_path" != "xNONE" && \ -test -d "$cf_library_path" && \ - { - test -n "$verbose" && echo " ... testing for lib-directories under $cf_library_path" - test -d "$cf_library_path/lib" && cf_search="$cf_search $cf_library_path/lib" - test -d "$cf_library_path/lib/iconv" && cf_search="$cf_search $cf_library_path/lib/iconv" - test -d "$cf_library_path/lib/iconv/lib" && cf_search="$cf_search $cf_library_path/lib/iconv/lib" - test -d "$cf_library_path/iconv/lib" && cf_search="$cf_search $cf_library_path/iconv/lib" - test -d "$cf_library_path/iconv/lib/iconv" && cf_search="$cf_search $cf_library_path/iconv/lib/iconv" -} - - cf_library_path_list="$cf_library_path_list $cf_search" - ;; - esac - done -fi - -cf_search= - -test "x$prefix" != "xNONE" && \ -test -d "$prefix" && \ - { - test -n "$verbose" && echo " ... testing for lib-directories under $prefix" - test -d "$prefix/lib" && cf_search="$cf_search $prefix/lib" - test -d "$prefix/lib/iconv" && cf_search="$cf_search $prefix/lib/iconv" - test -d "$prefix/lib/iconv/lib" && cf_search="$cf_search $prefix/lib/iconv/lib" - test -d "$prefix/iconv/lib" && cf_search="$cf_search $prefix/iconv/lib" - test -d "$prefix/iconv/lib/iconv" && cf_search="$cf_search $prefix/iconv/lib/iconv" -} - -for cf_subdir_prefix in \ - /usr \ - /usr/local \ - /usr/pkg \ - /opt \ - /opt/local \ - $HOME -do - -test "x$cf_subdir_prefix" != "x$prefix" && \ -test -d "$cf_subdir_prefix" && \ -{ test -z "$prefix" || test "x$prefix" = xNONE || test "x$cf_subdir_prefix" != "x$prefix"; } && { - test -n "$verbose" && echo " ... testing for lib-directories under $cf_subdir_prefix" - test -d "$cf_subdir_prefix/lib" && cf_search="$cf_search $cf_subdir_prefix/lib" - test -d "$cf_subdir_prefix/lib/iconv" && cf_search="$cf_search $cf_subdir_prefix/lib/iconv" - test -d "$cf_subdir_prefix/lib/iconv/lib" && cf_search="$cf_search $cf_subdir_prefix/lib/iconv/lib" - test -d "$cf_subdir_prefix/iconv/lib" && cf_search="$cf_search $cf_subdir_prefix/iconv/lib" - test -d "$cf_subdir_prefix/iconv/lib/iconv" && cf_search="$cf_search $cf_subdir_prefix/iconv/lib/iconv" -} - -done - -cf_search="$cf_library_path_list $cf_search" - - for cf_cv_library_path_iconv in $cf_search - do - if test -d "$cf_cv_library_path_iconv" ; then - test -n "$verbose" && echo " ... testing $cf_cv_library_path_iconv" 1>&6 - -echo "${as_me:-configure}:9758: testing ... testing $cf_cv_library_path_iconv ..." 1>&5 - - CPPFLAGS="$cf_test_CPPFLAGS" - LIBS="-liconv $cf_save_LIBS" - LDFLAGS="$cf_save_LDFLAGS -L$cf_cv_library_path_iconv" - cat >"conftest.$ac_ext" <<_ACEOF -#line 9764 "configure" -#include "confdefs.h" - -#include <stdlib.h> -#include <iconv.h> - -int -main (void) -{ - - iconv_t cd = iconv_open("",""); - iconv(cd,NULL,NULL,NULL,NULL); - iconv_close(cd); - - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:9783: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:9786: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:9789: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:9792: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - - test -n "$verbose" && echo " ... found iconv library in $cf_cv_library_path_iconv" 1>&6 - -echo "${as_me:-configure}:9797: testing ... found iconv library in $cf_cv_library_path_iconv ..." 1>&5 - - cf_cv_find_linkage_iconv=yes - cf_cv_library_file_iconv="-liconv" - break -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 - - CPPFLAGS="$cf_save_CPPFLAGS" - LIBS="$cf_save_LIBS" - LDFLAGS="$cf_save_LDFLAGS" - -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" - fi - done - CPPFLAGS="$cf_save_CPPFLAGS" - LDFLAGS="$cf_save_LDFLAGS" - fi - - else - cf_cv_find_linkage_iconv=no - fi - -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" - -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" - -LIBS="$cf_save_LIBS" - -if test "$cf_cv_find_linkage_iconv" = yes ; then -am_cv_func_iconv=yes -else -am_cv_func_iconv="no, consider installing GNU libiconv" -fi - -fi -echo "$as_me:9837: result: $am_cv_func_iconv" >&5 -echo "${ECHO_T}$am_cv_func_iconv" >&6 - - if test "$am_cv_func_iconv" = yes; then - -cat >>confdefs.h <<\EOF -#define HAVE_ICONV 1 -EOF - - echo "$as_me:9846: checking if the declaration of iconv() needs const." >&5 -echo $ECHO_N "checking if the declaration of iconv() needs const.... $ECHO_C" >&6 -if test "${am_cv_proto_iconv_const+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - cat >"conftest.$ac_ext" <<_ACEOF -#line 9853 "configure" -#include "confdefs.h" - -#include <stdlib.h> -#include <iconv.h> - -extern -#ifdef __cplusplus -"C" -#endif -#if defined(__STDC__) || defined(__cplusplus) -size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); -#else -size_t iconv(); -#endif - -int -main (void) -{ - - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:9878: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:9881: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:9884: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:9887: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - am_cv_proto_iconv_const=no -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -am_cv_proto_iconv_const=yes -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" -fi -echo "$as_me:9897: result: $am_cv_proto_iconv_const" >&5 -echo "${ECHO_T}$am_cv_proto_iconv_const" >&6 - - if test "$am_cv_proto_iconv_const" = yes ; then - am_cv_proto_iconv_arg1="const" - else - am_cv_proto_iconv_arg1="" - fi - -cat >>confdefs.h <<EOF -#define ICONV_CONST $am_cv_proto_iconv_arg1 -EOF - - fi - - LIBICONV= - if test "$cf_cv_find_linkage_iconv" = yes; then - -if test -n "$cf_cv_header_path_iconv" ; then - for cf_add_incdir in $cf_cv_header_path_iconv - do - while test "$cf_add_incdir" != /usr/include - do - if test -d "$cf_add_incdir" - then - cf_have_incdir=no - if test -n "$CFLAGS$CPPFLAGS" ; then - # a loop is needed to ensure we can add subdirs of existing dirs - for cf_test_incdir in $CFLAGS $CPPFLAGS ; do - if test ".$cf_test_incdir" = ".-I$cf_add_incdir" ; then - cf_have_incdir=yes; break - fi - done - fi - - if test "$cf_have_incdir" = no ; then - if test "$cf_add_incdir" = /usr/local/include ; then - if test "$GCC" = yes - then - cf_save_CPPFLAGS=$CPPFLAGS - - test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS " - CPPFLAGS="${CPPFLAGS}-I$cf_add_incdir" - - cat >"conftest.$ac_ext" <<_ACEOF -#line 9942 "configure" -#include "confdefs.h" -#include <stdio.h> -int -main (void) -{ -printf("Hello") - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:9954: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:9957: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:9960: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:9963: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - : -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -cf_have_incdir=yes -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" - CPPFLAGS=$cf_save_CPPFLAGS - fi - fi - fi - - if test "$cf_have_incdir" = no ; then - test -n "$verbose" && echo " adding $cf_add_incdir to include-path" 1>&6 - -echo "${as_me:-configure}:9980: testing adding $cf_add_incdir to include-path ..." 1>&5 - - CPPFLAGS="$CPPFLAGS -I$cf_add_incdir" - - cf_top_incdir=`echo "$cf_add_incdir" | sed -e 's%/include/.*$%/include%'` - test "$cf_top_incdir" = "$cf_add_incdir" && break - cf_add_incdir="$cf_top_incdir" - else - break - fi - else - break - fi - done - done -fi - - if test -n "$cf_cv_library_file_iconv" ; then - LIBICONV="-liconv" - -if test -n "$cf_cv_library_path_iconv" ; then - for cf_add_libdir in $cf_cv_library_path_iconv - do - if test "$cf_add_libdir" = /usr/lib ; then - : - elif test -d "$cf_add_libdir" - then - cf_have_libdir=no - if test -n "$LDFLAGS$LIBS" ; then - # a loop is needed to ensure we can add subdirs of existing dirs - for cf_test_libdir in $LDFLAGS $LIBS ; do - if test ".$cf_test_libdir" = ".-L$cf_add_libdir" ; then - cf_have_libdir=yes; break - fi - done - fi - if test "$cf_have_libdir" = no ; then - test -n "$verbose" && echo " adding $cf_add_libdir to library-path" 1>&6 - -echo "${as_me:-configure}:10019: testing adding $cf_add_libdir to library-path ..." 1>&5 - - LDFLAGS="-L$cf_add_libdir $LDFLAGS" - fi - fi - done -fi - - fi - fi - -echo "$as_me:10030: checking for nl_langinfo and CODESET" >&5 -echo $ECHO_N "checking for nl_langinfo and CODESET... $ECHO_C" >&6 -if test "${am_cv_langinfo_codeset+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >"conftest.$ac_ext" <<_ACEOF -#line 10036 "configure" -#include "confdefs.h" -#include <langinfo.h> -int -main (void) -{ -char* cs = nl_langinfo(CODESET); (void)cs - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:10048: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:10051: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:10054: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:10057: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - am_cv_langinfo_codeset=yes -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -am_cv_langinfo_codeset=no -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" - -fi -echo "$as_me:10068: result: $am_cv_langinfo_codeset" >&5 -echo "${ECHO_T}$am_cv_langinfo_codeset" >&6 - if test "$am_cv_langinfo_codeset" = yes; then - -cat >>confdefs.h <<\EOF -#define HAVE_LANGINFO_CODESET 1 -EOF - - fi - - if test "$ac_cv_header_locale_h" = yes; then - echo "$as_me:10079: checking for LC_MESSAGES" >&5 -echo $ECHO_N "checking for LC_MESSAGES... $ECHO_C" >&6 -if test "${am_cv_val_LC_MESSAGES+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >"conftest.$ac_ext" <<_ACEOF -#line 10085 "configure" -#include "confdefs.h" -#include <locale.h> -int -main (void) -{ -return LC_MESSAGES - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:10097: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:10100: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:10103: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:10106: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - am_cv_val_LC_MESSAGES=yes -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -am_cv_val_LC_MESSAGES=no -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" -fi -echo "$as_me:10116: result: $am_cv_val_LC_MESSAGES" >&5 -echo "${ECHO_T}$am_cv_val_LC_MESSAGES" >&6 - if test "$am_cv_val_LC_MESSAGES" = yes; then - -cat >>confdefs.h <<\EOF -#define HAVE_LC_MESSAGES 1 -EOF - - fi -fi - echo "$as_me:10126: checking whether NLS is requested" >&5 -echo $ECHO_N "checking whether NLS is requested... $ECHO_C" >&6 - -# Check whether --enable-nls or --disable-nls was given. -if test "${enable_nls+set}" = set; then - enableval="$enable_nls" - USE_NLS=$enableval -else - USE_NLS=no -fi; - echo "$as_me:10136: result: $USE_NLS" >&5 -echo "${ECHO_T}$USE_NLS" >&6 - - BUILD_INCLUDED_LIBINTL=no - USE_INCLUDED_LIBINTL=no - INTLLIBS= - - if test "$USE_NLS" = "yes"; then - POSUB=po - -cat >>confdefs.h <<\EOF -#define ENABLE_NLS 1 -EOF - - echo "$as_me:10150: checking whether included gettext is requested" >&5 -echo $ECHO_N "checking whether included gettext is requested... $ECHO_C" >&6 - -# Check whether --with-included-gettext or --without-included-gettext was given. -if test "${with_included_gettext+set}" = set; then - withval="$with_included_gettext" - nls_cv_force_use_gnu_gettext=$withval -else - nls_cv_force_use_gnu_gettext=no -fi; - echo "$as_me:10160: result: $nls_cv_force_use_gnu_gettext" >&5 -echo "${ECHO_T}$nls_cv_force_use_gnu_gettext" >&6 - - nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext" - if test "$nls_cv_force_use_gnu_gettext" != "yes"; then - CATOBJEXT=NONE - - cf_save_msgfmt_path="$MSGFMT" - cf_save_xgettext_path="$XGETTEXT" - - # Extract the first word of "msgfmt", so it can be a program name with args. - -set dummy msgfmt; ac_word=$2 -echo "$as_me:10173: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_MSGFMT+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case "$MSGFMT" in - ([\\/]*|?:[\\/]*) - ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path. - ;; - (*) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}" - for ac_dir in $PATH; do - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_word$ac_exeext" ; then - if "$ac_dir/$ac_word" --statistics /dev/null >/dev/null 2>&1; then - ac_cv_path_MSGFMT="$ac_dir/$ac_word$ac_exeext" - break - fi - fi - done - IFS="$ac_save_ifs" - test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT=":" - ;; -esac -fi -MSGFMT="$ac_cv_path_MSGFMT" -if test "$MSGFMT" != ":"; then - echo "$as_me:10200: result: $MSGFMT" >&5 -echo "${ECHO_T}$MSGFMT" >&6 -else - echo "$as_me:10203: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - # Extract the first word of "gmsgfmt", so it can be a program name with args. -set dummy gmsgfmt; ac_word=$2 -echo "$as_me:10209: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_GMSGFMT+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $GMSGFMT in - [\\/]* | ?:[\\/]*) - ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path. - ;; - *) - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - if $as_executable_p "$ac_dir/$ac_word"; then - ac_cv_path_GMSGFMT="$ac_dir/$ac_word" - echo "$as_me:10226: found $ac_dir/$ac_word" >&5 - break -fi -done - - test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT" - ;; -esac -fi -GMSGFMT=$ac_cv_path_GMSGFMT - -if test -n "$GMSGFMT"; then - echo "$as_me:10238: result: $GMSGFMT" >&5 -echo "${ECHO_T}$GMSGFMT" >&6 -else - echo "$as_me:10241: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - # Extract the first word of "xgettext", so it can be a program name with args. - -set dummy xgettext; ac_word=$2 -echo "$as_me:10248: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_XGETTEXT+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case "$XGETTEXT" in - ([\\/]*|?:[\\/]*) - ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path. - ;; - (*) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}" - for ac_dir in $PATH; do - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_word$ac_exeext" ; then - if "$ac_dir/$ac_word" --omit-header /dev/null >/dev/null 2>&1; then - ac_cv_path_XGETTEXT="$ac_dir/$ac_word$ac_exeext" - break - fi - fi - done - IFS="$ac_save_ifs" - test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":" - ;; -esac -fi -XGETTEXT="$ac_cv_path_XGETTEXT" -if test "$XGETTEXT" != ":"; then - echo "$as_me:10275: result: $XGETTEXT" >&5 -echo "${ECHO_T}$XGETTEXT" >&6 -else - echo "$as_me:10278: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - cf_save_OPTS_1="$CPPFLAGS" - if test "x$cf_save_msgfmt_path" = "x$MSGFMT" && \ - test "x$cf_save_xgettext_path" = "x$XGETTEXT" ; then - -cf_fix_cppflags=no -cf_new_cflags= -cf_new_cppflags= -cf_new_extra_cppflags= - -for cf_add_cflags in -DIGNORE_MSGFMT_HACK -do -case "$cf_fix_cppflags" in -(no) - case "$cf_add_cflags" in - (-undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) - case "$cf_add_cflags" in - (-D*) - cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^-D[^=]*='\''\"[^"]*//'` - - test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=yes - - if test "$cf_fix_cppflags" = yes ; then - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - continue - elif test "${cf_tst_cflags}" = "\"'" ; then - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - continue - fi - ;; - esac - case "$CPPFLAGS" in - (*$cf_add_cflags) - ;; - (*) - case "$cf_add_cflags" in - (-D*) - cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'` - -CPPFLAGS=`echo "$CPPFLAGS" | \ - sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \ - -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'` - - ;; - esac - - test -n "$cf_new_cppflags" && cf_new_cppflags="$cf_new_cppflags " - cf_new_cppflags="${cf_new_cppflags}$cf_add_cflags" - - ;; - esac - ;; - (*) - - test -n "$cf_new_cflags" && cf_new_cflags="$cf_new_cflags " - cf_new_cflags="${cf_new_cflags}$cf_add_cflags" - - ;; - esac - ;; -(yes) - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^[^"]*"'\''//'` - - test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=no - ;; -esac -done - -if test -n "$cf_new_cflags" ; then - - test -n "$CFLAGS" && CFLAGS="$CFLAGS " - CFLAGS="${CFLAGS}$cf_new_cflags" - -fi - -if test -n "$cf_new_cppflags" ; then - - test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS " - CPPFLAGS="${CPPFLAGS}$cf_new_cppflags" - -fi - -if test -n "$cf_new_extra_cppflags" ; then - - test -n "$EXTRA_CPPFLAGS" && EXTRA_CPPFLAGS="$EXTRA_CPPFLAGS " - EXTRA_CPPFLAGS="${EXTRA_CPPFLAGS}$cf_new_extra_cppflags" - -fi - - fi - - cf_save_LIBS_1="$LIBS" - -cf_add_libs="$LIBS" -# reverse order -cf_add_0lib= -for cf_add_1lib in $LIBICONV; do cf_add_0lib="$cf_add_1lib $cf_add_0lib"; done -# filter duplicates -for cf_add_1lib in $cf_add_0lib; do - for cf_add_2lib in $cf_add_libs; do - if test "x$cf_add_1lib" = "x$cf_add_2lib"; then - cf_add_1lib= - break - fi - done - test -n "$cf_add_1lib" && cf_add_libs="$cf_add_1lib $cf_add_libs" -done -LIBS="$cf_add_libs" - -# If the linkage is not already in the $CPPFLAGS/$LDFLAGS configuration, these -# will be set on completion of the AC_TRY_LINK below. -cf_cv_header_path_intl= -cf_cv_library_path_intl= - -echo "${as_me:-configure}:10409: testing Starting FIND_LINKAGE(intl,) ..." 1>&5 - -cf_save_LIBS="$LIBS" - -cat >"conftest.$ac_ext" <<_ACEOF -#line 10414 "configure" -#include "confdefs.h" - -#include <libintl.h> -extern int _nl_msg_cat_cntr; - -int -main (void) -{ - - bindtextdomain ("", ""); - return (int) gettext ("") - -#ifndef IGNORE_MSGFMT_HACK - + _nl_msg_cat_cntr -#endif - - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:10436: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:10439: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:10442: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:10445: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - - cf_cv_find_linkage_intl=yes - cf_cv_header_path_intl=/usr/include - cf_cv_library_path_intl=/usr/lib - -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 - -LIBS="-lintl $cf_save_LIBS" - -cat >"conftest.$ac_ext" <<_ACEOF -#line 10459 "configure" -#include "confdefs.h" - -#include <libintl.h> -extern int _nl_msg_cat_cntr; - -int -main (void) -{ - - bindtextdomain ("", ""); - return (int) gettext ("") - -#ifndef IGNORE_MSGFMT_HACK - + _nl_msg_cat_cntr -#endif - - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:10481: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:10484: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:10487: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:10490: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - - cf_cv_find_linkage_intl=yes - cf_cv_header_path_intl=/usr/include - cf_cv_library_path_intl=/usr/lib - cf_cv_library_file_intl="-lintl" - -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 - - cf_cv_find_linkage_intl=no - LIBS="$cf_save_LIBS" - - test -n "$verbose" && echo " find linkage for intl library" 1>&6 - -echo "${as_me:-configure}:10507: testing find linkage for intl library ..." 1>&5 - -echo "${as_me:-configure}:10509: testing Searching for headers in FIND_LINKAGE(intl,) ..." 1>&5 - - cf_save_CPPFLAGS="$CPPFLAGS" - cf_test_CPPFLAGS="$CPPFLAGS" - -cf_search= - -# collect the current set of include-directories from compiler flags -cf_header_path_list="" -if test -n "${CFLAGS}${CPPFLAGS}" ; then - for cf_header_path in $CPPFLAGS $CFLAGS - do - case "$cf_header_path" in - (-I*) - cf_header_path=`echo ".$cf_header_path" |sed -e 's/^...//' -e 's,/include$,,'` - -test "x$cf_header_path" != "xNONE" && \ -test -d "$cf_header_path" && \ - { - test -n "$verbose" && echo " ... testing for include-directories under $cf_header_path" - test -d "$cf_header_path/include" && cf_search="$cf_search $cf_header_path/include" - test -d "$cf_header_path/include/intl" && cf_search="$cf_search $cf_header_path/include/intl" - test -d "$cf_header_path/include/intl/include" && cf_search="$cf_search $cf_header_path/include/intl/include" - test -d "$cf_header_path/intl/include" && cf_search="$cf_search $cf_header_path/intl/include" - test -d "$cf_header_path/intl/include/intl" && cf_search="$cf_search $cf_header_path/intl/include/intl" -} - - cf_header_path_list="$cf_header_path_list $cf_search" - ;; - esac - done -fi - -# add the variations for the package we are looking for - -cf_search= - -test "x$prefix" != "xNONE" && \ -test -d "$prefix" && \ - { - test -n "$verbose" && echo " ... testing for include-directories under $prefix" - test -d "$prefix/include" && cf_search="$cf_search $prefix/include" - test -d "$prefix/include/intl" && cf_search="$cf_search $prefix/include/intl" - test -d "$prefix/include/intl/include" && cf_search="$cf_search $prefix/include/intl/include" - test -d "$prefix/intl/include" && cf_search="$cf_search $prefix/intl/include" - test -d "$prefix/intl/include/intl" && cf_search="$cf_search $prefix/intl/include/intl" -} - -for cf_subdir_prefix in \ - /usr \ - /usr/local \ - /usr/pkg \ - /opt \ - /opt/local \ - $HOME -do - -test "x$cf_subdir_prefix" != "x$prefix" && \ -test -d "$cf_subdir_prefix" && \ -{ test -z "$prefix" || test "x$prefix" = xNONE || test "x$cf_subdir_prefix" != "x$prefix"; } && { - test -n "$verbose" && echo " ... testing for include-directories under $cf_subdir_prefix" - test -d "$cf_subdir_prefix/include" && cf_search="$cf_search $cf_subdir_prefix/include" - test -d "$cf_subdir_prefix/include/intl" && cf_search="$cf_search $cf_subdir_prefix/include/intl" - test -d "$cf_subdir_prefix/include/intl/include" && cf_search="$cf_search $cf_subdir_prefix/include/intl/include" - test -d "$cf_subdir_prefix/intl/include" && cf_search="$cf_search $cf_subdir_prefix/intl/include" - test -d "$cf_subdir_prefix/intl/include/intl" && cf_search="$cf_search $cf_subdir_prefix/intl/include/intl" -} - -done - -test "$includedir" != NONE && \ -test "$includedir" != "/usr/include" && \ -test -d "$includedir" && { - test -d "$includedir" && cf_search="$cf_search $includedir" - test -d "$includedir/intl" && cf_search="$cf_search $includedir/intl" -} - -test "$oldincludedir" != NONE && \ -test "$oldincludedir" != "/usr/include" && \ -test -d "$oldincludedir" && { - test -d "$oldincludedir" && cf_search="$cf_search $oldincludedir" - test -d "$oldincludedir/intl" && cf_search="$cf_search $oldincludedir/intl" -} - -cf_search="$cf_search $cf_header_path_list" - - for cf_cv_header_path_intl in $cf_search - do - if test -d "$cf_cv_header_path_intl" ; then - test -n "$verbose" && echo " ... testing $cf_cv_header_path_intl" 1>&6 - -echo "${as_me:-configure}:10600: testing ... testing $cf_cv_header_path_intl ..." 1>&5 - - CPPFLAGS="$cf_save_CPPFLAGS" - - test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS " - CPPFLAGS="${CPPFLAGS}-I$cf_cv_header_path_intl" - - cat >"conftest.$ac_ext" <<_ACEOF -#line 10608 "configure" -#include "confdefs.h" - -#include <libintl.h> -extern int _nl_msg_cat_cntr; - -int -main (void) -{ - - bindtextdomain ("", ""); - return (int) gettext ("") - -#ifndef IGNORE_MSGFMT_HACK - + _nl_msg_cat_cntr -#endif - - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:10630: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:10633: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:10636: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:10639: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - - test -n "$verbose" && echo " ... found intl headers in $cf_cv_header_path_intl" 1>&6 - -echo "${as_me:-configure}:10644: testing ... found intl headers in $cf_cv_header_path_intl ..." 1>&5 - - cf_cv_find_linkage_intl=maybe - cf_test_CPPFLAGS="$CPPFLAGS" - break -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 - - CPPFLAGS="$cf_save_CPPFLAGS" - -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" - fi - done - - if test "$cf_cv_find_linkage_intl" = maybe ; then - -echo "${as_me:-configure}:10662: testing Searching for intl library in FIND_LINKAGE(intl,) ..." 1>&5 - - cf_save_LIBS="$LIBS" - cf_save_LDFLAGS="$LDFLAGS" - - if test "$cf_cv_find_linkage_intl" != yes ; then - -cf_search= -cf_library_path_list="" -if test -n "${LDFLAGS}${LIBS}" ; then - for cf_library_path in $LDFLAGS $LIBS - do - case "$cf_library_path" in - (-L*) - cf_library_path=`echo ".$cf_library_path" |sed -e 's/^...//' -e 's,/lib$,,'` - -test "x$cf_library_path" != "xNONE" && \ -test -d "$cf_library_path" && \ - { - test -n "$verbose" && echo " ... testing for lib-directories under $cf_library_path" - test -d "$cf_library_path/lib" && cf_search="$cf_search $cf_library_path/lib" - test -d "$cf_library_path/lib/intl" && cf_search="$cf_search $cf_library_path/lib/intl" - test -d "$cf_library_path/lib/intl/lib" && cf_search="$cf_search $cf_library_path/lib/intl/lib" - test -d "$cf_library_path/intl/lib" && cf_search="$cf_search $cf_library_path/intl/lib" - test -d "$cf_library_path/intl/lib/intl" && cf_search="$cf_search $cf_library_path/intl/lib/intl" -} - - cf_library_path_list="$cf_library_path_list $cf_search" - ;; - esac - done -fi - -cf_search= - -test "x$prefix" != "xNONE" && \ -test -d "$prefix" && \ - { - test -n "$verbose" && echo " ... testing for lib-directories under $prefix" - test -d "$prefix/lib" && cf_search="$cf_search $prefix/lib" - test -d "$prefix/lib/intl" && cf_search="$cf_search $prefix/lib/intl" - test -d "$prefix/lib/intl/lib" && cf_search="$cf_search $prefix/lib/intl/lib" - test -d "$prefix/intl/lib" && cf_search="$cf_search $prefix/intl/lib" - test -d "$prefix/intl/lib/intl" && cf_search="$cf_search $prefix/intl/lib/intl" -} - -for cf_subdir_prefix in \ - /usr \ - /usr/local \ - /usr/pkg \ - /opt \ - /opt/local \ - $HOME -do - -test "x$cf_subdir_prefix" != "x$prefix" && \ -test -d "$cf_subdir_prefix" && \ -{ test -z "$prefix" || test "x$prefix" = xNONE || test "x$cf_subdir_prefix" != "x$prefix"; } && { - test -n "$verbose" && echo " ... testing for lib-directories under $cf_subdir_prefix" - test -d "$cf_subdir_prefix/lib" && cf_search="$cf_search $cf_subdir_prefix/lib" - test -d "$cf_subdir_prefix/lib/intl" && cf_search="$cf_search $cf_subdir_prefix/lib/intl" - test -d "$cf_subdir_prefix/lib/intl/lib" && cf_search="$cf_search $cf_subdir_prefix/lib/intl/lib" - test -d "$cf_subdir_prefix/intl/lib" && cf_search="$cf_search $cf_subdir_prefix/intl/lib" - test -d "$cf_subdir_prefix/intl/lib/intl" && cf_search="$cf_search $cf_subdir_prefix/intl/lib/intl" -} - -done - -cf_search="$cf_library_path_list $cf_search" - - for cf_cv_library_path_intl in $cf_search - do - if test -d "$cf_cv_library_path_intl" ; then - test -n "$verbose" && echo " ... testing $cf_cv_library_path_intl" 1>&6 - -echo "${as_me:-configure}:10737: testing ... testing $cf_cv_library_path_intl ..." 1>&5 - - CPPFLAGS="$cf_test_CPPFLAGS" - LIBS="-lintl $cf_save_LIBS" - LDFLAGS="$cf_save_LDFLAGS -L$cf_cv_library_path_intl" - cat >"conftest.$ac_ext" <<_ACEOF -#line 10743 "configure" -#include "confdefs.h" - -#include <libintl.h> -extern int _nl_msg_cat_cntr; - -int -main (void) -{ - - bindtextdomain ("", ""); - return (int) gettext ("") - -#ifndef IGNORE_MSGFMT_HACK - + _nl_msg_cat_cntr -#endif - - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:10765: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:10768: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:10771: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:10774: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - - test -n "$verbose" && echo " ... found intl library in $cf_cv_library_path_intl" 1>&6 - -echo "${as_me:-configure}:10779: testing ... found intl library in $cf_cv_library_path_intl ..." 1>&5 - - cf_cv_find_linkage_intl=yes - cf_cv_library_file_intl="-lintl" - break -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 - - CPPFLAGS="$cf_save_CPPFLAGS" - LIBS="$cf_save_LIBS" - LDFLAGS="$cf_save_LDFLAGS" - -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" - fi - done - CPPFLAGS="$cf_save_CPPFLAGS" - LDFLAGS="$cf_save_LDFLAGS" - fi - - else - cf_cv_find_linkage_intl=no - fi - -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" - -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" - -LIBS="$cf_save_LIBS" - -if test "$cf_cv_find_linkage_intl" = yes ; then -cf_cv_func_gettext=yes -else -cf_cv_func_gettext=no -fi - - echo "$as_me:10818: checking for libintl.h and gettext()" >&5 -echo $ECHO_N "checking for libintl.h and gettext()... $ECHO_C" >&6 - echo "$as_me:10820: result: $cf_cv_func_gettext" >&5 -echo "${ECHO_T}$cf_cv_func_gettext" >&6 - - LIBS="$cf_save_LIBS_1" - CPPFLAGS="$cf_save_OPTS_1" - - if test "$cf_cv_func_gettext" = yes ; then - -cat >>confdefs.h <<\EOF -#define HAVE_LIBINTL_H 1 -EOF - - if test "$PACKAGE" != gettext; then - -cat >>confdefs.h <<\EOF -#define HAVE_GETTEXT 1 -EOF - -if test -n "$cf_cv_header_path_intl" ; then - for cf_add_incdir in $cf_cv_header_path_intl - do - while test "$cf_add_incdir" != /usr/include - do - if test -d "$cf_add_incdir" - then - cf_have_incdir=no - if test -n "$CFLAGS$CPPFLAGS" ; then - # a loop is needed to ensure we can add subdirs of existing dirs - for cf_test_incdir in $CFLAGS $CPPFLAGS ; do - if test ".$cf_test_incdir" = ".-I$cf_add_incdir" ; then - cf_have_incdir=yes; break - fi - done - fi - - if test "$cf_have_incdir" = no ; then - if test "$cf_add_incdir" = /usr/local/include ; then - if test "$GCC" = yes - then - cf_save_CPPFLAGS=$CPPFLAGS - - test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS " - CPPFLAGS="${CPPFLAGS}-I$cf_add_incdir" - - cat >"conftest.$ac_ext" <<_ACEOF -#line 10865 "configure" -#include "confdefs.h" -#include <stdio.h> -int -main (void) -{ -printf("Hello") - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:10877: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:10880: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:10883: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:10886: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - : -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -cf_have_incdir=yes -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" - CPPFLAGS=$cf_save_CPPFLAGS - fi - fi - fi - - if test "$cf_have_incdir" = no ; then - test -n "$verbose" && echo " adding $cf_add_incdir to include-path" 1>&6 - -echo "${as_me:-configure}:10903: testing adding $cf_add_incdir to include-path ..." 1>&5 - - CPPFLAGS="$CPPFLAGS -I$cf_add_incdir" - - cf_top_incdir=`echo "$cf_add_incdir" | sed -e 's%/include/.*$%/include%'` - test "$cf_top_incdir" = "$cf_add_incdir" && break - cf_add_incdir="$cf_top_incdir" - else - break - fi - else - break - fi - done - done -fi - - if test -n "$cf_cv_library_file_intl" ; then - INTLLIBS="$cf_cv_library_file_intl $LIBICONV" - -if test -n "$cf_cv_library_path_intl" ; then - for cf_add_libdir in $cf_cv_library_path_intl - do - if test "$cf_add_libdir" = /usr/lib ; then - : - elif test -d "$cf_add_libdir" - then - cf_have_libdir=no - if test -n "$LDFLAGS$LIBS" ; then - # a loop is needed to ensure we can add subdirs of existing dirs - for cf_test_libdir in $LDFLAGS $LIBS ; do - if test ".$cf_test_libdir" = ".-L$cf_add_libdir" ; then - cf_have_libdir=yes; break - fi - done - fi - if test "$cf_have_libdir" = no ; then - test -n "$verbose" && echo " adding $cf_add_libdir to library-path" 1>&6 - -echo "${as_me:-configure}:10942: testing adding $cf_add_libdir to library-path ..." 1>&5 - - INTLLIBS="-L$cf_add_libdir $INTLLIBS" - fi - fi - done -fi - - fi - - gt_save_LIBS="$LIBS" - LIBS="$LIBS $INTLLIBS" - -for ac_func in dcgettext -do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:10958: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >"conftest.$ac_ext" <<_ACEOF -#line 10964 "configure" -#include "confdefs.h" -#define $ac_func autoconf_temporary -#include <limits.h> /* least-intrusive standard header which defines gcc2 __stub macros */ -#undef $ac_func - -#ifdef __cplusplus -extern "C" -#endif - -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (void); - -int -main (void) -{ - -/* The GNU C library defines stubs for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -#error found stub for $ac_func -#endif - - return $ac_func (); - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:10995: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:10998: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:11001: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:11004: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -eval "$as_ac_var=no" -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" -fi -echo "$as_me:11014: result: `eval echo '${'"$as_ac_var"'}'`" >&5 -echo "${ECHO_T}`eval echo '${'"$as_ac_var"'}'`" >&6 -if test "`eval echo '${'"$as_ac_var"'}'`" = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 -EOF - -fi -done - - LIBS="$gt_save_LIBS" - - CATOBJEXT=.gmo - fi - elif test -z "$MSGFMT" || test -z "$XGETTEXT" ; then - { echo "$as_me:11029: WARNING: disabling NLS feature" >&5 -echo "$as_me: WARNING: disabling NLS feature" >&2;} - sed -e /ENABLE_NLS/d confdefs.h >confdefs.tmp - mv confdefs.tmp confdefs.h - ALL_LINGUAS= - CATOBJEXT=.ignored - MSGFMT=":" - GMSGFMT=":" - XGETTEXT=":" - POSUB= - BUILD_INCLUDED_LIBINTL=no - USE_INCLUDED_LIBINTL=no - USE_NLS=no - nls_cv_use_gnu_gettext=no - fi - - if test "$CATOBJEXT" = "NONE"; then - nls_cv_use_gnu_gettext=maybe - fi - fi - - if test "$nls_cv_use_gnu_gettext" != "no"; then - CATOBJEXT=.gmo - if test -f "$srcdir/intl/libintl.h" ; then - INTLOBJS="\$(GETTOBJS)" - BUILD_INCLUDED_LIBINTL=yes - USE_INCLUDED_LIBINTL=yes - INTLLIBS="\$(top_builddir)/intl/libintl.a $LIBICONV" - LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'` - elif test "$nls_cv_use_gnu_gettext" = "yes"; then - nls_cv_use_gnu_gettext=no - { echo "$as_me:11060: WARNING: no NLS library is packaged with this application" >&5 -echo "$as_me: WARNING: no NLS library is packaged with this application" >&2;} - fi - fi - - if test "$GMSGFMT" != ":"; then - if $GMSGFMT --statistics /dev/null >/dev/null 2>&1; then - : ; - else - { echo "$as_me:11069: WARNING: found msgfmt program is not GNU msgfmt" >&5 -echo "$as_me: WARNING: found msgfmt program is not GNU msgfmt" >&2;} - fi - fi - - if test "$XGETTEXT" != ":"; then - if $XGETTEXT --omit-header /dev/null >/dev/null 2>&1; then - : ; - else - { echo "$as_me:11078: WARNING: found xgettext program is not GNU xgettext" >&5 -echo "$as_me: WARNING: found xgettext program is not GNU xgettext" >&2;} - fi - fi - fi - - if test "$XGETTEXT" != ":"; then - ac_config_commands="$ac_config_commands default-1" - - if test "$PACKAGE" = gettext; then - BUILD_INCLUDED_LIBINTL=yes - fi - - if test "$nls_cv_use_gnu_gettext" = "yes"; then - for ac_prog in bison -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -echo "$as_me:11096: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_INTLBISON+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$INTLBISON"; then - ac_cv_prog_INTLBISON="$INTLBISON" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_INTLBISON="$ac_prog" -echo "$as_me:11111: found $ac_dir/$ac_word" >&5 -break -done - -fi -fi -INTLBISON=$ac_cv_prog_INTLBISON -if test -n "$INTLBISON"; then - echo "$as_me:11119: result: $INTLBISON" >&5 -echo "${ECHO_T}$INTLBISON" >&6 -else - echo "$as_me:11122: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$INTLBISON" && break -done - - if test -z "$INTLBISON"; then - ac_verc_fail=yes - else - echo "$as_me:11132: checking version of bison" >&5 -echo $ECHO_N "checking version of bison... $ECHO_C" >&6 - ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'` - case "$ac_prog_version" in - ('') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; - (1.2[6-9]*|1.[3-9][0-9]*|[2-9].*) - ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;; - (*) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;; - esac - echo "$as_me:11141: result: $ac_prog_version" >&5 -echo "${ECHO_T}$ac_prog_version" >&6 - fi - if test "$ac_verc_fail" = yes; then - INTLBISON=: - fi - fi - - for lang in $ALL_LINGUAS; do - GMOFILES="$GMOFILES $lang.gmo" - POFILES="$POFILES $lang.po" - done - fi - - nls_cv_header_intl= - nls_cv_header_libgt= - - DATADIRNAME=share - - INSTOBJEXT=.mo - - GENCAT=gencat - - if test "x$CATOBJEXT" != "x"; then - if test "x$ALL_LINGUAS" = "x"; then - LINGUAS= - else - echo "$as_me:11168: checking for catalogs to be installed" >&5 -echo $ECHO_N "checking for catalogs to be installed... $ECHO_C" >&6 - NEW_LINGUAS= - for presentlang in $ALL_LINGUAS; do - useit=no - for desiredlang in ${LINGUAS-$ALL_LINGUAS}; do - # Use the presentlang catalog if desiredlang is - # a. equal to presentlang, or - # b. a variant of presentlang (because in this case, - # presentlang can be used as a fallback for messages - # which are not translated in the desiredlang catalog). - case "$desiredlang" in - ("$presentlang"*) useit=yes;; - esac - done - if test "$useit" = yes; then - NEW_LINGUAS="$NEW_LINGUAS $presentlang" - fi - done - LINGUAS=$NEW_LINGUAS - echo "$as_me:11188: result: $LINGUAS" >&5 -echo "${ECHO_T}$LINGUAS" >&6 - fi - - if test -n "$LINGUAS"; then - for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done - fi - fi - - INTL_LIBTOOL_SUFFIX_PREFIX= - -if test "$USE_NLS" = yes ; then - -# Check whether --with-textdomain or --without-textdomain was given. -if test "${with_textdomain+set}" = set; then - withval="$with_textdomain" - NLS_TEXTDOMAIN=$withval -else - NLS_TEXTDOMAIN=$PACKAGE -fi; - -cat >>confdefs.h <<EOF -#define NLS_TEXTDOMAIN "$NLS_TEXTDOMAIN" -EOF - -fi - -INTLDIR_MAKE= -MSG_DIR_MAKE= -SUB_MAKEFILE= - -cf_makefile=makefile - -use_our_messages=no -if test "$USE_NLS" = yes ; then -if test -d "$srcdir/po" ; then -echo "$as_me:11224: checking if we should use included message-library" >&5 -echo $ECHO_N "checking if we should use included message-library... $ECHO_C" >&6 - -# Check whether --enable-included-msgs or --disable-included-msgs was given. -if test "${enable_included_msgs+set}" = set; then - enableval="$enable_included_msgs" - use_our_messages=$enableval -else - use_our_messages=yes -fi; -fi -echo "$as_me:11235: result: $use_our_messages" >&5 -echo "${ECHO_T}$use_our_messages" >&6 -fi - -MSG_DIR_MAKE="#" -if test "$use_our_messages" = yes -then - SUB_MAKEFILE="$SUB_MAKEFILE po/$cf_makefile.in:$srcdir/po/$cf_makefile.inn" - MSG_DIR_MAKE= -fi - -if test "$USE_INCLUDED_LIBINTL" = yes ; then - if test "$nls_cv_force_use_gnu_gettext" = yes ; then - : - elif test "$nls_cv_use_gnu_gettext" = yes ; then - : - else - INTLDIR_MAKE="#" - fi - if test -z "$INTLDIR_MAKE"; then - -cat >>confdefs.h <<\EOF -#define HAVE_LIBGETTEXT_H 1 -EOF - - for cf_makefile in \ - $srcdir/intl/Makefile.in \ - $srcdir/intl/makefile.in - do - if test -f "$cf_makefile" ; then - SUB_MAKEFILE="$SUB_MAKEFILE `echo \"${cf_makefile}\"|sed -e 's,^'$srcdir/',,' -e 's/\.in$//'`:${cf_makefile}" - break - fi - done - fi -else - INTLDIR_MAKE="#" - if test "$USE_NLS" = yes ; then - -for ac_header in libintl.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -echo "$as_me:11277: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >"conftest.$ac_ext" <<_ACEOF -#line 11283 "configure" -#include "confdefs.h" -#include <$ac_header> -_ACEOF -if { (eval echo "$as_me:11287: \"$ac_cpp "conftest.$ac_ext"\"") >&5 - (eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - $EGREP -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:11293: \$? = $ac_status" >&5 - (exit "$ac_status"); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - eval "$as_ac_Header=yes" -else - echo "$as_me: failed program was:" >&5 - cat "conftest.$ac_ext" >&5 - eval "$as_ac_Header=no" -fi -rm -f conftest.err "conftest.$ac_ext" -fi -echo "$as_me:11312: result: `eval echo '${'"$as_ac_Header"'}'`" >&5 -echo "${ECHO_T}`eval echo '${'"$as_ac_Header"'}'`" >&6 -if test "`eval echo '${'"$as_ac_Header"'}'`" = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 -EOF - -fi -done - - fi -fi - -if test -z "$INTLDIR_MAKE" ; then - - test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS " - CPPFLAGS="${CPPFLAGS}-I../intl" - -fi - -if test "$BUILD_INCLUDED_LIBINTL" = yes ; then - GT_YES="#" - GT_NO= -else - GT_YES= - GT_NO="#" -fi - -if test "$USE_INCLUDED_LIBINTL" = yes ; then - if test "$nls_cv_force_use_gnu_gettext" = yes ; then - -cat >>confdefs.h <<\EOF -#define HAVE_GETTEXT 1 -EOF - - elif test "$nls_cv_use_gnu_gettext" = yes ; then - -cat >>confdefs.h <<\EOF -#define HAVE_GETTEXT 1 -EOF - - fi - if test -n "$nls_cv_header_intl" ; then - -cat >>confdefs.h <<\EOF -#define HAVE_LIBINTL_H 1 -EOF - - fi -fi - -echo "$as_me:11363: checking if -lm needed for math functions" >&5 -echo $ECHO_N "checking if -lm needed for math functions... $ECHO_C" >&6 -if test "${cf_cv_need_libm+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - cat >"conftest.$ac_ext" <<_ACEOF -#line 11370 "configure" -#include "confdefs.h" - - #include <stdio.h> - #include <stdlib.h> - #include <math.h> - -int -main (void) -{ -double x = rand(); printf("result = %g\\n", sqrt(x)) - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:11386: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:11389: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:11392: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:11395: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - cf_cv_need_libm=no -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -cf_cv_need_libm=yes -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" -fi -echo "$as_me:11405: result: $cf_cv_need_libm" >&5 -echo "${ECHO_T}$cf_cv_need_libm" >&6 -if test "$cf_cv_need_libm" = yes -then - -cf_add_libs="$LIBS" -# reverse order -cf_add_0lib= -for cf_add_1lib in -lm; do cf_add_0lib="$cf_add_1lib $cf_add_0lib"; done -# filter duplicates -for cf_add_1lib in $cf_add_0lib; do - for cf_add_2lib in $cf_add_libs; do - if test "x$cf_add_1lib" = "x$cf_add_2lib"; then - cf_add_1lib= - break - fi - done - test -n "$cf_add_1lib" && cf_add_libs="$cf_add_1lib $cf_add_libs" -done -LIBS="$cf_add_libs" - -fi - -echo "$as_me:11428: checking if you want to use dmalloc for testing" >&5 -echo $ECHO_N "checking if you want to use dmalloc for testing... $ECHO_C" >&6 - -# Check whether --with-dmalloc or --without-dmalloc was given. -if test "${with_dmalloc+set}" = set; then - withval="$with_dmalloc" - -cat >>confdefs.h <<EOF -#define USE_DMALLOC 1 -EOF - - : "${with_cflags:=-g}" - : "${enable_leaks:=no}" - with_dmalloc=yes -else - with_dmalloc= -fi; -echo "$as_me:11445: result: ${with_dmalloc:-no}" >&5 -echo "${ECHO_T}${with_dmalloc:-no}" >&6 - -case ".$with_cflags" in -(.*-g*) - case .$CFLAGS in - (.*-g*) - ;; - (*) - -cf_fix_cppflags=no -cf_new_cflags= -cf_new_cppflags= -cf_new_extra_cppflags= - -for cf_add_cflags in -g -do -case "$cf_fix_cppflags" in -(no) - case "$cf_add_cflags" in - (-undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) - case "$cf_add_cflags" in - (-D*) - cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^-D[^=]*='\''\"[^"]*//'` - - test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=yes - - if test "$cf_fix_cppflags" = yes ; then - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - continue - elif test "${cf_tst_cflags}" = "\"'" ; then - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - continue - fi - ;; - esac - case "$CPPFLAGS" in - (*$cf_add_cflags) - ;; - (*) - case "$cf_add_cflags" in - (-D*) - cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'` - -CPPFLAGS=`echo "$CPPFLAGS" | \ - sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \ - -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'` - - ;; - esac - - test -n "$cf_new_cppflags" && cf_new_cppflags="$cf_new_cppflags " - cf_new_cppflags="${cf_new_cppflags}$cf_add_cflags" - - ;; - esac - ;; - (*) - - test -n "$cf_new_cflags" && cf_new_cflags="$cf_new_cflags " - cf_new_cflags="${cf_new_cflags}$cf_add_cflags" - - ;; - esac - ;; -(yes) - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^[^"]*"'\''//'` - - test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=no - ;; -esac -done - -if test -n "$cf_new_cflags" ; then - - test -n "$CFLAGS" && CFLAGS="$CFLAGS " - CFLAGS="${CFLAGS}$cf_new_cflags" - -fi - -if test -n "$cf_new_cppflags" ; then - - test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS " - CPPFLAGS="${CPPFLAGS}$cf_new_cppflags" - -fi - -if test -n "$cf_new_extra_cppflags" ; then - - test -n "$EXTRA_CPPFLAGS" && EXTRA_CPPFLAGS="$EXTRA_CPPFLAGS " - EXTRA_CPPFLAGS="${EXTRA_CPPFLAGS}$cf_new_extra_cppflags" - -fi - - ;; - esac - ;; -esac - -if test "$with_dmalloc" = yes ; then - echo "$as_me:11559: checking for dmalloc.h" >&5 -echo $ECHO_N "checking for dmalloc.h... $ECHO_C" >&6 -if test "${ac_cv_header_dmalloc_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >"conftest.$ac_ext" <<_ACEOF -#line 11565 "configure" -#include "confdefs.h" -#include <dmalloc.h> -_ACEOF -if { (eval echo "$as_me:11569: \"$ac_cpp "conftest.$ac_ext"\"") >&5 - (eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - $EGREP -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:11575: \$? = $ac_status" >&5 - (exit "$ac_status"); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_cv_header_dmalloc_h=yes -else - echo "$as_me: failed program was:" >&5 - cat "conftest.$ac_ext" >&5 - ac_cv_header_dmalloc_h=no -fi -rm -f conftest.err "conftest.$ac_ext" -fi -echo "$as_me:11594: result: $ac_cv_header_dmalloc_h" >&5 -echo "${ECHO_T}$ac_cv_header_dmalloc_h" >&6 -if test "$ac_cv_header_dmalloc_h" = yes; then - -echo "$as_me:11598: checking for dmalloc_debug in -ldmalloc" >&5 -echo $ECHO_N "checking for dmalloc_debug in -ldmalloc... $ECHO_C" >&6 -if test "${ac_cv_lib_dmalloc_dmalloc_debug+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldmalloc $LIBS" -cat >"conftest.$ac_ext" <<_ACEOF -#line 11606 "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char dmalloc_debug (); -int -main (void) -{ -dmalloc_debug (); - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:11625: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:11628: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:11631: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:11634: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - ac_cv_lib_dmalloc_dmalloc_debug=yes -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -ac_cv_lib_dmalloc_dmalloc_debug=no -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:11645: result: $ac_cv_lib_dmalloc_dmalloc_debug" >&5 -echo "${ECHO_T}$ac_cv_lib_dmalloc_dmalloc_debug" >&6 -if test "$ac_cv_lib_dmalloc_dmalloc_debug" = yes; then - cat >>confdefs.h <<EOF -#define HAVE_LIBDMALLOC 1 -EOF - - LIBS="-ldmalloc $LIBS" - -fi - -fi - -fi - -echo "$as_me:11660: checking if you want to use dbmalloc for testing" >&5 -echo $ECHO_N "checking if you want to use dbmalloc for testing... $ECHO_C" >&6 - -# Check whether --with-dbmalloc or --without-dbmalloc was given. -if test "${with_dbmalloc+set}" = set; then - withval="$with_dbmalloc" - -cat >>confdefs.h <<EOF -#define USE_DBMALLOC 1 -EOF - - : "${with_cflags:=-g}" - : "${enable_leaks:=no}" - with_dbmalloc=yes -else - with_dbmalloc= -fi; -echo "$as_me:11677: result: ${with_dbmalloc:-no}" >&5 -echo "${ECHO_T}${with_dbmalloc:-no}" >&6 - -case ".$with_cflags" in -(.*-g*) - case .$CFLAGS in - (.*-g*) - ;; - (*) - -cf_fix_cppflags=no -cf_new_cflags= -cf_new_cppflags= -cf_new_extra_cppflags= - -for cf_add_cflags in -g -do -case "$cf_fix_cppflags" in -(no) - case "$cf_add_cflags" in - (-undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) - case "$cf_add_cflags" in - (-D*) - cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^-D[^=]*='\''\"[^"]*//'` - - test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=yes - - if test "$cf_fix_cppflags" = yes ; then - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - continue - elif test "${cf_tst_cflags}" = "\"'" ; then - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - continue - fi - ;; - esac - case "$CPPFLAGS" in - (*$cf_add_cflags) - ;; - (*) - case "$cf_add_cflags" in - (-D*) - cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'` - -CPPFLAGS=`echo "$CPPFLAGS" | \ - sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \ - -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'` - - ;; - esac - - test -n "$cf_new_cppflags" && cf_new_cppflags="$cf_new_cppflags " - cf_new_cppflags="${cf_new_cppflags}$cf_add_cflags" - - ;; - esac - ;; - (*) - - test -n "$cf_new_cflags" && cf_new_cflags="$cf_new_cflags " - cf_new_cflags="${cf_new_cflags}$cf_add_cflags" - - ;; - esac - ;; -(yes) - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^[^"]*"'\''//'` - - test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=no - ;; -esac -done - -if test -n "$cf_new_cflags" ; then - - test -n "$CFLAGS" && CFLAGS="$CFLAGS " - CFLAGS="${CFLAGS}$cf_new_cflags" - -fi - -if test -n "$cf_new_cppflags" ; then - - test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS " - CPPFLAGS="${CPPFLAGS}$cf_new_cppflags" - -fi - -if test -n "$cf_new_extra_cppflags" ; then - - test -n "$EXTRA_CPPFLAGS" && EXTRA_CPPFLAGS="$EXTRA_CPPFLAGS " - EXTRA_CPPFLAGS="${EXTRA_CPPFLAGS}$cf_new_extra_cppflags" - -fi - - ;; - esac - ;; -esac - -if test "$with_dbmalloc" = yes ; then - echo "$as_me:11791: checking for dbmalloc.h" >&5 -echo $ECHO_N "checking for dbmalloc.h... $ECHO_C" >&6 -if test "${ac_cv_header_dbmalloc_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >"conftest.$ac_ext" <<_ACEOF -#line 11797 "configure" -#include "confdefs.h" -#include <dbmalloc.h> -_ACEOF -if { (eval echo "$as_me:11801: \"$ac_cpp "conftest.$ac_ext"\"") >&5 - (eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - $EGREP -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:11807: \$? = $ac_status" >&5 - (exit "$ac_status"); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_cv_header_dbmalloc_h=yes -else - echo "$as_me: failed program was:" >&5 - cat "conftest.$ac_ext" >&5 - ac_cv_header_dbmalloc_h=no -fi -rm -f conftest.err "conftest.$ac_ext" -fi -echo "$as_me:11826: result: $ac_cv_header_dbmalloc_h" >&5 -echo "${ECHO_T}$ac_cv_header_dbmalloc_h" >&6 -if test "$ac_cv_header_dbmalloc_h" = yes; then - -echo "$as_me:11830: checking for debug_malloc in -ldbmalloc" >&5 -echo $ECHO_N "checking for debug_malloc in -ldbmalloc... $ECHO_C" >&6 -if test "${ac_cv_lib_dbmalloc_debug_malloc+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldbmalloc $LIBS" -cat >"conftest.$ac_ext" <<_ACEOF -#line 11838 "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char debug_malloc (); -int -main (void) -{ -debug_malloc (); - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:11857: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:11860: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:11863: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:11866: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - ac_cv_lib_dbmalloc_debug_malloc=yes -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -ac_cv_lib_dbmalloc_debug_malloc=no -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:11877: result: $ac_cv_lib_dbmalloc_debug_malloc" >&5 -echo "${ECHO_T}$ac_cv_lib_dbmalloc_debug_malloc" >&6 -if test "$ac_cv_lib_dbmalloc_debug_malloc" = yes; then - cat >>confdefs.h <<EOF -#define HAVE_LIBDBMALLOC 1 -EOF - - LIBS="-ldbmalloc $LIBS" - -fi - -fi - -fi - -echo "$as_me:11892: checking if you want to use purify for testing" >&5 -echo $ECHO_N "checking if you want to use purify for testing... $ECHO_C" >&6 - -# Check whether --with-purify or --without-purify was given. -if test "${with_purify+set}" = set; then - withval="$with_purify" - -cat >>confdefs.h <<EOF -#define USE_PURIFY 1 -EOF - - : "${with_cflags:=-g}" - : "${enable_leaks:=no}" - with_purify=yes -else - with_purify= -fi; -echo "$as_me:11909: result: ${with_purify:-no}" >&5 -echo "${ECHO_T}${with_purify:-no}" >&6 - -case ".$with_cflags" in -(.*-g*) - case .$CFLAGS in - (.*-g*) - ;; - (*) - -cf_fix_cppflags=no -cf_new_cflags= -cf_new_cppflags= -cf_new_extra_cppflags= - -for cf_add_cflags in -g -do -case "$cf_fix_cppflags" in -(no) - case "$cf_add_cflags" in - (-undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) - case "$cf_add_cflags" in - (-D*) - cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^-D[^=]*='\''\"[^"]*//'` - - test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=yes - - if test "$cf_fix_cppflags" = yes ; then - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - continue - elif test "${cf_tst_cflags}" = "\"'" ; then - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - continue - fi - ;; - esac - case "$CPPFLAGS" in - (*$cf_add_cflags) - ;; - (*) - case "$cf_add_cflags" in - (-D*) - cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'` - -CPPFLAGS=`echo "$CPPFLAGS" | \ - sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \ - -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'` - - ;; - esac - - test -n "$cf_new_cppflags" && cf_new_cppflags="$cf_new_cppflags " - cf_new_cppflags="${cf_new_cppflags}$cf_add_cflags" - - ;; - esac - ;; - (*) - - test -n "$cf_new_cflags" && cf_new_cflags="$cf_new_cflags " - cf_new_cflags="${cf_new_cflags}$cf_add_cflags" - - ;; - esac - ;; -(yes) - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^[^"]*"'\''//'` - - test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=no - ;; -esac -done - -if test -n "$cf_new_cflags" ; then - - test -n "$CFLAGS" && CFLAGS="$CFLAGS " - CFLAGS="${CFLAGS}$cf_new_cflags" - -fi - -if test -n "$cf_new_cppflags" ; then - - test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS " - CPPFLAGS="${CPPFLAGS}$cf_new_cppflags" - -fi - -if test -n "$cf_new_extra_cppflags" ; then - - test -n "$EXTRA_CPPFLAGS" && EXTRA_CPPFLAGS="$EXTRA_CPPFLAGS " - EXTRA_CPPFLAGS="${EXTRA_CPPFLAGS}$cf_new_extra_cppflags" - -fi - - ;; - esac - ;; -esac - -echo "$as_me:12022: checking if you want to use valgrind for testing" >&5 -echo $ECHO_N "checking if you want to use valgrind for testing... $ECHO_C" >&6 - -# Check whether --with-valgrind or --without-valgrind was given. -if test "${with_valgrind+set}" = set; then - withval="$with_valgrind" - -cat >>confdefs.h <<EOF -#define USE_VALGRIND 1 -EOF - - : "${with_cflags:=-g}" - : "${enable_leaks:=no}" - with_valgrind=yes -else - with_valgrind= -fi; -echo "$as_me:12039: result: ${with_valgrind:-no}" >&5 -echo "${ECHO_T}${with_valgrind:-no}" >&6 - -case ".$with_cflags" in -(.*-g*) - case .$CFLAGS in - (.*-g*) - ;; - (*) - -cf_fix_cppflags=no -cf_new_cflags= -cf_new_cppflags= -cf_new_extra_cppflags= - -for cf_add_cflags in -g -do -case "$cf_fix_cppflags" in -(no) - case "$cf_add_cflags" in - (-undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) - case "$cf_add_cflags" in - (-D*) - cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^-D[^=]*='\''\"[^"]*//'` - - test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=yes - - if test "$cf_fix_cppflags" = yes ; then - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - continue - elif test "${cf_tst_cflags}" = "\"'" ; then - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - continue - fi - ;; - esac - case "$CPPFLAGS" in - (*$cf_add_cflags) - ;; - (*) - case "$cf_add_cflags" in - (-D*) - cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'` - -CPPFLAGS=`echo "$CPPFLAGS" | \ - sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \ - -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'` - - ;; - esac - - test -n "$cf_new_cppflags" && cf_new_cppflags="$cf_new_cppflags " - cf_new_cppflags="${cf_new_cppflags}$cf_add_cflags" - - ;; - esac - ;; - (*) - - test -n "$cf_new_cflags" && cf_new_cflags="$cf_new_cflags " - cf_new_cflags="${cf_new_cflags}$cf_add_cflags" - - ;; - esac - ;; -(yes) - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^[^"]*"'\''//'` - - test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=no - ;; -esac -done - -if test -n "$cf_new_cflags" ; then - - test -n "$CFLAGS" && CFLAGS="$CFLAGS " - CFLAGS="${CFLAGS}$cf_new_cflags" - -fi - -if test -n "$cf_new_cppflags" ; then - - test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS " - CPPFLAGS="${CPPFLAGS}$cf_new_cppflags" - -fi - -if test -n "$cf_new_extra_cppflags" ; then - - test -n "$EXTRA_CPPFLAGS" && EXTRA_CPPFLAGS="$EXTRA_CPPFLAGS " - EXTRA_CPPFLAGS="${EXTRA_CPPFLAGS}$cf_new_extra_cppflags" - -fi - - ;; - esac - ;; -esac - -echo "$as_me:12152: checking if you want to perform memory-leak testing" >&5 -echo $ECHO_N "checking if you want to perform memory-leak testing... $ECHO_C" >&6 - -# Check whether --with-no-leaks or --without-no-leaks was given. -if test "${with_no_leaks+set}" = set; then - withval="$with_no_leaks" - -cat >>confdefs.h <<\EOF -#define NO_LEAKS 1 -EOF - - cf_doalloc=".${with_dmalloc}${with_dbmalloc}${with_purify}${with_valgrind}" - case ${cf_doalloc} in - (*yes*) ;; - (*) -cat >>confdefs.h <<\EOF -#define DOALLOC 10000 -EOF - ;; - esac - enable_leaks=no -else - enable_leaks=yes -fi; -if test "x$enable_leaks" = xno; then with_no_leaks=yes; else with_no_leaks=no; fi -echo "$as_me:12177: result: $with_no_leaks" >&5 -echo "${ECHO_T}$with_no_leaks" >&6 - -echo "$as_me:12180: checking if you want --trace option" >&5 -echo $ECHO_N "checking if you want --trace option... $ECHO_C" >&6 - -# Check whether --enable-trace or --disable-trace was given. -if test "${enable_trace+set}" = set; then - enableval="$enable_trace" - -else - enableval=yes -fi; -echo "$as_me:12190: result: $enableval" >&5 -echo "${ECHO_T}$enableval" >&6 -if test "$enableval" != no ; then -EXTRAOBJS="$EXTRAOBJS trace\$o" - -cat >>confdefs.h <<\EOF -#define HAVE_DLG_TRACE 1 -EOF - -else - : -fi - -echo "$as_me:12203: checking if rpath option should be used" >&5 -echo $ECHO_N "checking if rpath option should be used... $ECHO_C" >&6 - -# Check whether --enable-rpath or --disable-rpath was given. -if test "${enable_rpath+set}" = set; then - enableval="$enable_rpath" - cf_cv_enable_rpath=$enableval -else - cf_cv_enable_rpath=no -fi; -echo "$as_me:12213: result: $cf_cv_enable_rpath" >&5 -echo "${ECHO_T}$cf_cv_enable_rpath" >&6 - -LD_RPATH_OPT= -if test "x$cf_cv_enable_rpath" != xno -then - echo "$as_me:12219: checking for an rpath option" >&5 -echo $ECHO_N "checking for an rpath option... $ECHO_C" >&6 - case "$cf_cv_system_name" in - (irix*) - if test "$GCC" = yes; then - LD_RPATH_OPT="-Wl,-rpath," - else - LD_RPATH_OPT="-rpath " - fi - ;; - (linux*|gnu*|k*bsd*-gnu|freebsd*) - LD_RPATH_OPT="-Wl,-rpath," - ;; - (openbsd[2-9].*|mirbsd*) - LD_RPATH_OPT="-Wl,-rpath," - ;; - (dragonfly*) - LD_RPATH_OPT="-rpath " - ;; - (netbsd*) - LD_RPATH_OPT="-Wl,-rpath," - ;; - (osf*|mls+*) - LD_RPATH_OPT="-rpath " - ;; - (solaris2*) - LD_RPATH_OPT="-R" - ;; - (*) - ;; - esac - echo "$as_me:12250: result: $LD_RPATH_OPT" >&5 -echo "${ECHO_T}$LD_RPATH_OPT" >&6 - - case "x$LD_RPATH_OPT" in - (x-R*) - echo "$as_me:12255: checking if we need a space after rpath option" >&5 -echo $ECHO_N "checking if we need a space after rpath option... $ECHO_C" >&6 - cf_save_LIBS="$LIBS" - -cf_add_libs="$LIBS" -# reverse order -cf_add_0lib= -for cf_add_1lib in ${LD_RPATH_OPT}$libdir; do cf_add_0lib="$cf_add_1lib $cf_add_0lib"; done -# filter duplicates -for cf_add_1lib in $cf_add_0lib; do - for cf_add_2lib in $cf_add_libs; do - if test "x$cf_add_1lib" = "x$cf_add_2lib"; then - cf_add_1lib= - break - fi - done - test -n "$cf_add_1lib" && cf_add_libs="$cf_add_1lib $cf_add_libs" -done -LIBS="$cf_add_libs" - - cat >"conftest.$ac_ext" <<_ACEOF -#line 12276 "configure" -#include "confdefs.h" - -int -main (void) -{ - - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:12288: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:12291: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:12294: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:12297: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - cf_rpath_space=no -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -cf_rpath_space=yes -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" - LIBS="$cf_save_LIBS" - echo "$as_me:12307: result: $cf_rpath_space" >&5 -echo "${ECHO_T}$cf_rpath_space" >&6 - test "$cf_rpath_space" = yes && LD_RPATH_OPT="$LD_RPATH_OPT " - ;; - esac -fi - -REL_VERSION=${VERSION_MAJOR}.${VERSION_MINOR} -ABI_VERSION=`echo "$VERSION" |sed -e 's/:/./g'` -cf_cv_rel_version=$REL_VERSION - -test -z "$cf_cv_rel_version" && cf_cv_rel_version=0.0 - -# Check whether --with-rel-version or --without-rel-version was given. -if test "${with_rel_version+set}" = set; then - withval="$with_rel_version" - { echo "$as_me:12323: WARNING: overriding release version $cf_cv_rel_version to $withval" >&5 -echo "$as_me: WARNING: overriding release version $cf_cv_rel_version to $withval" >&2;} - cf_cv_rel_version=$withval -fi; - - DIALOG_MAJOR=`echo "$cf_cv_rel_version" | sed -e 's/\..*//'` - DIALOG_MINOR=`echo "$cf_cv_rel_version" | sed -e 's/^[^.]*//' -e 's/^\.//' -e 's/\..*//'` - -if test -n "$DIALOG_MAJOR" ; then - case $DIALOG_MAJOR in - ([0-9]*) - ;; - (*) - { { echo "$as_me:12336: error: Release major-version is not a number: $DIALOG_MAJOR" >&5 -echo "$as_me: error: Release major-version is not a number: $DIALOG_MAJOR" >&2;} - { (exit 1); exit 1; }; } - ;; - esac -else - { { echo "$as_me:12342: error: Release major-version value is empty" >&5 -echo "$as_me: error: Release major-version value is empty" >&2;} - { (exit 1); exit 1; }; } -fi - -if test -n "$DIALOG_MINOR" ; then - case $DIALOG_MINOR in - ([0-9]*) - ;; - (*) - { { echo "$as_me:12352: error: Release minor-version is not a number: $DIALOG_MINOR" >&5 -echo "$as_me: error: Release minor-version is not a number: $DIALOG_MINOR" >&2;} - { (exit 1); exit 1; }; } - ;; - esac -else - { { echo "$as_me:12358: error: Release minor-version value is empty" >&5 -echo "$as_me: error: Release minor-version value is empty" >&2;} - { (exit 1); exit 1; }; } -fi - -test -z "$cf_cv_abi_version" && cf_cv_abi_version=0 - -# Check whether --with-abi-version or --without-abi-version was given. -if test "${with_abi_version+set}" = set; then - withval="$with_abi_version" - - if test "x$cf_cv_abi_version" != "x$withval" - then - { echo "$as_me:12371: WARNING: overriding ABI version $cf_cv_abi_version to $withval" >&5 -echo "$as_me: WARNING: overriding ABI version $cf_cv_abi_version to $withval" >&2;} - case "$cf_cv_rel_version" in - (5.*) - cf_cv_rel_version=$withval.0 - ;; - (6.*) - cf_cv_rel_version=$withval.9 # FIXME: should be 10 as of 6.0 release - ;; - esac - fi - cf_cv_abi_version=$withval -fi; - -if test -n "$cf_cv_abi_version" ; then - case $cf_cv_abi_version in - ([0-9]*) - ;; - (*) - { { echo "$as_me:12390: error: ABI version is not a number: $cf_cv_abi_version" >&5 -echo "$as_me: error: ABI version is not a number: $cf_cv_abi_version" >&2;} - { (exit 1); exit 1; }; } - ;; - esac -else - { { echo "$as_me:12396: error: ABI version value is empty" >&5 -echo "$as_me: error: ABI version value is empty" >&2;} - { (exit 1); exit 1; }; } -fi - -LIB_MODEL=static -DFT_LWR_MODEL=$LIB_MODEL -LIBTOOL_MAKE="#" - -# use to comment-out makefile lines -MAKE_NORMAL= -MAKE_STATIC= -MAKE_SHARED="#" -MAKE_DLLS="#" - -shlibdir=$libdir - -echo "$as_me:12413: checking if libtool -version-number should be used" >&5 -echo $ECHO_N "checking if libtool -version-number should be used... $ECHO_C" >&6 - -# Check whether --enable-libtool-version or --disable-libtool-version was given. -if test "${enable_libtool_version+set}" = set; then - enableval="$enable_libtool_version" - test "$enableval" != no && enableval=yes - if test "$enableval" != "yes" ; then - cf_libtool_version=no - else - cf_libtool_version=yes - fi -else - enableval=yes - cf_libtool_version=yes - -fi; -echo "$as_me:12430: result: $cf_libtool_version" >&5 -echo "${ECHO_T}$cf_libtool_version" >&6 - -if test "$cf_libtool_version" = yes ; then - LIBTOOL_VERSION="-version-number" -else - LIBTOOL_VERSION="-version-info" - case "x$VERSION" in - (x) - { echo "$as_me:12439: WARNING: VERSION was not set" >&5 -echo "$as_me: WARNING: VERSION was not set" >&2;} - ;; - (x*.*.*) - ABI_VERSION="$VERSION" - test -n "$verbose" && echo " ABI_VERSION: $ABI_VERSION" 1>&6 - -echo "${as_me:-configure}:12446: testing ABI_VERSION: $ABI_VERSION ..." 1>&5 - - ;; - (x*:*:*) - ABI_VERSION=`echo "$VERSION" | sed -e 's/:/./g'` - test -n "$verbose" && echo " ABI_VERSION: $ABI_VERSION" 1>&6 - -echo "${as_me:-configure}:12453: testing ABI_VERSION: $ABI_VERSION ..." 1>&5 - - ;; - (*) - { echo "$as_me:12457: WARNING: unexpected VERSION value: $VERSION" >&5 -echo "$as_me: WARNING: unexpected VERSION value: $VERSION" >&2;} - ;; - esac -fi - -LIBTOOL= - -# common library maintenance symbols that are convenient for libtool scripts: -LIB_CREATE='${AR} -cr' -LIB_OBJECT='${OBJECTS}' -LIB_SUFFIX=.a -LIB_PREP="$RANLIB" - -# symbols used to prop libtool up to enable it to determine what it should be -# doing: -LIB_CLEAN= -LIB_COMPILE= -LIB_LINK='${CC}' -LIB_INSTALL= -LIB_UNINSTALL= - -echo "$as_me:12479: checking if you want to build libraries with libtool" >&5 -echo $ECHO_N "checking if you want to build libraries with libtool... $ECHO_C" >&6 - -# Check whether --with-libtool or --without-libtool was given. -if test "${with_libtool+set}" = set; then - withval="$with_libtool" - with_libtool=$withval -else - with_libtool=no -fi; -echo "$as_me:12489: result: $with_libtool" >&5 -echo "${ECHO_T}$with_libtool" >&6 -if test "$with_libtool" != "no"; then - - if test "$with_libtool" != "yes" ; then - -if test "x$prefix" != xNONE; then - cf_path_syntax="$prefix" -else - cf_path_syntax="$ac_default_prefix" -fi - -case ".$with_libtool" in -(.\$\(*\)*|.\'*\'*) - ;; -(..|./*|.\\*) - ;; -(.[a-zA-Z]:[\\/]*) # OS/2 EMX - ;; -(.\$\{*prefix\}*|.\$\{*dir\}*) - eval with_libtool="$with_libtool" - case ".$with_libtool" in - (.NONE/*) - with_libtool=`echo "$with_libtool" | sed -e s%NONE%$cf_path_syntax%` - ;; - esac - ;; -(.no|.NONE/*) - with_libtool=`echo "$with_libtool" | sed -e s%NONE%$cf_path_syntax%` - ;; -(*) - { { echo "$as_me:12520: error: expected a pathname, not \"$with_libtool\"" >&5 -echo "$as_me: error: expected a pathname, not \"$with_libtool\"" >&2;} - { (exit 1); exit 1; }; } - ;; -esac - - LIBTOOL=$with_libtool - else - if test -n "$ac_tool_prefix"; then - for ac_prog in libtool glibtool - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -echo "$as_me:12533: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_LIBTOOL+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$LIBTOOL"; then - ac_cv_prog_LIBTOOL="$LIBTOOL" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_LIBTOOL="$ac_tool_prefix$ac_prog" -echo "$as_me:12548: found $ac_dir/$ac_word" >&5 -break -done - -fi -fi -LIBTOOL=$ac_cv_prog_LIBTOOL -if test -n "$LIBTOOL"; then - echo "$as_me:12556: result: $LIBTOOL" >&5 -echo "${ECHO_T}$LIBTOOL" >&6 -else - echo "$as_me:12559: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$LIBTOOL" && break - done -fi -if test -z "$LIBTOOL"; then - ac_ct_LIBTOOL=$LIBTOOL - for ac_prog in libtool glibtool -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -echo "$as_me:12572: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_LIBTOOL+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_LIBTOOL"; then - ac_cv_prog_ac_ct_LIBTOOL="$ac_ct_LIBTOOL" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_ac_ct_LIBTOOL="$ac_prog" -echo "$as_me:12587: found $ac_dir/$ac_word" >&5 -break -done - -fi -fi -ac_ct_LIBTOOL=$ac_cv_prog_ac_ct_LIBTOOL -if test -n "$ac_ct_LIBTOOL"; then - echo "$as_me:12595: result: $ac_ct_LIBTOOL" >&5 -echo "${ECHO_T}$ac_ct_LIBTOOL" >&6 -else - echo "$as_me:12598: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$ac_ct_LIBTOOL" && break -done -test -n "$ac_ct_LIBTOOL" || ac_ct_LIBTOOL="none" - - LIBTOOL=$ac_ct_LIBTOOL -fi - -if test -n "$LIBTOOL" && test "$LIBTOOL" != none -then - cf_cv_libtool_version=`$LIBTOOL --version 2>&1 | sed -e '/^$/d' |sed -e '2,$d' -e 's/([^)]*)//g' -e 's/^[^1-9]*//' -e 's/[^0-9.].*//'` -else - cf_cv_libtool_version= -fi -test -z "$cf_cv_libtool_version" && unset cf_cv_libtool_version - - if test -z "$cf_cv_libtool_version" && test "$LIBTOOL" = libtool - then - -unset ac_cv_prog_ac_ct_LIBTOOL -unset ac_ct_LIBTOOL -unset LIBTOOL - - if test -n "$ac_tool_prefix"; then - for ac_prog in glibtool - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -echo "$as_me:12629: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_LIBTOOL+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$LIBTOOL"; then - ac_cv_prog_LIBTOOL="$LIBTOOL" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_LIBTOOL="$ac_tool_prefix$ac_prog" -echo "$as_me:12644: found $ac_dir/$ac_word" >&5 -break -done - -fi -fi -LIBTOOL=$ac_cv_prog_LIBTOOL -if test -n "$LIBTOOL"; then - echo "$as_me:12652: result: $LIBTOOL" >&5 -echo "${ECHO_T}$LIBTOOL" >&6 -else - echo "$as_me:12655: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$LIBTOOL" && break - done -fi -if test -z "$LIBTOOL"; then - ac_ct_LIBTOOL=$LIBTOOL - for ac_prog in glibtool -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -echo "$as_me:12668: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_LIBTOOL+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_LIBTOOL"; then - ac_cv_prog_ac_ct_LIBTOOL="$ac_ct_LIBTOOL" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_ac_ct_LIBTOOL="$ac_prog" -echo "$as_me:12683: found $ac_dir/$ac_word" >&5 -break -done - -fi -fi -ac_ct_LIBTOOL=$ac_cv_prog_ac_ct_LIBTOOL -if test -n "$ac_ct_LIBTOOL"; then - echo "$as_me:12691: result: $ac_ct_LIBTOOL" >&5 -echo "${ECHO_T}$ac_ct_LIBTOOL" >&6 -else - echo "$as_me:12694: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$ac_ct_LIBTOOL" && break -done -test -n "$ac_ct_LIBTOOL" || ac_ct_LIBTOOL="none" - - LIBTOOL=$ac_ct_LIBTOOL -fi - -if test -n "$LIBTOOL" && test "$LIBTOOL" != none -then - cf_cv_libtool_version=`$LIBTOOL --version 2>&1 | sed -e '/^$/d' |sed -e '2,$d' -e 's/([^)]*)//g' -e 's/^[^1-9]*//' -e 's/[^0-9.].*//'` -else - cf_cv_libtool_version= -fi -test -z "$cf_cv_libtool_version" && unset cf_cv_libtool_version - - fi - fi - if test -z "$LIBTOOL" ; then - { { echo "$as_me:12716: error: Cannot find libtool" >&5 -echo "$as_me: error: Cannot find libtool" >&2;} - { (exit 1); exit 1; }; } - fi - LIB_CREATE='${LIBTOOL} --mode=link ${CC} -rpath ${libdir} ${LIBTOOL_VERSION} `cut -f1 ${top_srcdir}/VERSION` ${LIBTOOL_OPTS} ${LT_UNDEF} $(LIBS) -o' - LIB_OBJECT='${OBJECTS:.o=.lo}' - LIB_SUFFIX=.la - LIB_CLEAN='${LIBTOOL} --mode=clean' - LIB_COMPILE='${LIBTOOL} --mode=compile' - LIB_LINK='${LIBTOOL} --mode=link ${CC} ${LIBTOOL_OPTS}' - LIB_INSTALL='${LIBTOOL} --mode=install' - LIB_UNINSTALL='${LIBTOOL} --mode=uninstall' - LIB_PREP=: - -if test -n "$LIBTOOL" && test "$LIBTOOL" != none -then - echo "$as_me:12732: checking version of $LIBTOOL" >&5 -echo $ECHO_N "checking version of $LIBTOOL... $ECHO_C" >&6 - -if test -n "$LIBTOOL" && test "$LIBTOOL" != none -then - cf_cv_libtool_version=`$LIBTOOL --version 2>&1 | sed -e '/^$/d' |sed -e '2,$d' -e 's/([^)]*)//g' -e 's/^[^1-9]*//' -e 's/[^0-9.].*//'` -else - cf_cv_libtool_version= -fi -test -z "$cf_cv_libtool_version" && unset cf_cv_libtool_version - - echo "$as_me:12743: result: $cf_cv_libtool_version" >&5 -echo "${ECHO_T}$cf_cv_libtool_version" >&6 - if test -z "$cf_cv_libtool_version" ; then - { { echo "$as_me:12746: error: This is not GNU libtool" >&5 -echo "$as_me: error: This is not GNU libtool" >&2;} - { (exit 1); exit 1; }; } - fi -else - { { echo "$as_me:12751: error: GNU libtool has not been found" >&5 -echo "$as_me: error: GNU libtool has not been found" >&2;} - { (exit 1); exit 1; }; } -fi - - # special hack to add -no-undefined (which libtool should do for itself) - LT_UNDEF= - case "$cf_cv_system_name" in - (cygwin*|msys*|mingw32*|os2*|uwin*|aix[4-7]) - LT_UNDEF=-no-undefined - ;; - esac - - # special hack to add --tag option for C++ compiler - case "$cf_cv_libtool_version" in - (1.[5-9]*|[2-9].[0-9.a-z]*) - LIBTOOL_CXX="$LIBTOOL --tag=CXX" - LIBTOOL="$LIBTOOL --tag=CC" - ;; - (*) - LIBTOOL_CXX="$LIBTOOL" - ;; - esac -else - LIBTOOL="" - LIBTOOL_CXX="" -fi - -test -z "$LIBTOOL" && ECHO_LT= - -LIB_CREATE="$LIB_CREATE \$@" - -if test "$with_libtool" = "yes" ; then - OBJEXT="lo" - LIB_MODEL=libtool - DFT_LWR_MODEL=$LIB_MODEL - LIBTOOL_MAKE= - -echo "$as_me:12789: checking for additional libtool options" >&5 -echo $ECHO_N "checking for additional libtool options... $ECHO_C" >&6 - -# Check whether --with-libtool-opts or --without-libtool-opts was given. -if test "${with_libtool_opts+set}" = set; then - withval="$with_libtool_opts" - with_libtool_opts=$withval -else - with_libtool_opts=no -fi; -echo "$as_me:12799: result: $with_libtool_opts" >&5 -echo "${ECHO_T}$with_libtool_opts" >&6 - -case .$with_libtool_opts in -(.yes|.no|.) - ;; -(*) - LIBTOOL_OPTS="$LIBTOOL_OPTS $with_libtool_opts" - ;; -esac - -echo "$as_me:12810: checking if exported-symbols file should be used" >&5 -echo $ECHO_N "checking if exported-symbols file should be used... $ECHO_C" >&6 - -# Check whether --with-export-syms or --without-export-syms was given. -if test "${with_export_syms+set}" = set; then - withval="$with_export_syms" - with_export_syms=$withval -else - with_export_syms=no -fi; -if test "x$with_export_syms" = xyes -then - with_export_syms='${top_srcdir}/package/${PACKAGE}.sym' - -fi -echo "$as_me:12825: result: $with_export_syms" >&5 -echo "${ECHO_T}$with_export_syms" >&6 -if test "x$with_export_syms" != xno -then - EXPORT_SYMS="-export-symbols $with_export_syms" - -fi - - MAKE_NORMAL="#" - MAKE_STATIC="#" - MAKE_SHARED= -else - echo "$as_me:12837: checking if you want to build shared libraries" >&5 -echo $ECHO_N "checking if you want to build shared libraries... $ECHO_C" >&6 - -# Check whether --with-shared or --without-shared was given. -if test "${with_shared+set}" = set; then - withval="$with_shared" - with_shared=$withval -else - with_shared=no -fi; - echo "$as_me:12847: result: $with_shared" >&5 -echo "${ECHO_T}$with_shared" >&6 - if test "$with_shared" = "yes" ; then - LIB_MODEL=shared - DFT_LWR_MODEL=$LIB_MODEL - - RM_SHARED_OPTS= - LOCAL_LDFLAGS= - LOCAL_LDFLAGS2= - LD_SHARED_OPTS= - INSTALL_LIB="-m 644" - : ${rel_builddir:=.} - - shlibdir=$libdir - - MAKE_DLLS="#" - - cf_cv_do_symlinks=no - cf_ld_rpath_opt= - test "$cf_cv_enable_rpath" = yes && cf_ld_rpath_opt="$LD_RPATH_OPT" - - echo "$as_me:12868: checking if release/abi version should be used for shared libs" >&5 -echo $ECHO_N "checking if release/abi version should be used for shared libs... $ECHO_C" >&6 - -# Check whether --with-shlib-version or --without-shlib-version was given. -if test "${with_shlib_version+set}" = set; then - withval="$with_shlib_version" - test -z "$withval" && withval=auto - case "$withval" in - (yes) - cf_cv_shlib_version=auto - ;; - (rel|abi|auto) - cf_cv_shlib_version=$withval - ;; - (*) - echo "$as_me:12883: result: $withval" >&5 -echo "${ECHO_T}$withval" >&6 - { { echo "$as_me:12885: error: option value must be one of: rel, abi, or auto" >&5 -echo "$as_me: error: option value must be one of: rel, abi, or auto" >&2;} - { (exit 1); exit 1; }; } - ;; - esac - -else - cf_cv_shlib_version=auto -fi; - echo "$as_me:12894: result: $cf_cv_shlib_version" >&5 -echo "${ECHO_T}$cf_cv_shlib_version" >&6 - - cf_cv_rm_so_locs=no - cf_try_cflags= - - # Some less-capable ports of gcc support only -fpic - CC_SHARED_OPTS= - - cf_try_fPIC=no - if test "$GCC" = yes - then - cf_try_fPIC=yes - else - case "$cf_cv_system_name" in - (*linux*) # e.g., PGI compiler - cf_try_fPIC=yes - ;; - esac - fi - - if test "$cf_try_fPIC" = yes - then - echo "$as_me:12917: checking which $CC option to use" >&5 -echo $ECHO_N "checking which $CC option to use... $ECHO_C" >&6 - cf_save_CFLAGS="$CFLAGS" - for CC_SHARED_OPTS in -fPIC -fpic '' - do - CFLAGS="$cf_save_CFLAGS $CC_SHARED_OPTS" - cat >"conftest.$ac_ext" <<_ACEOF -#line 12924 "configure" -#include "confdefs.h" -#include <stdio.h> -int -main (void) -{ -int x = 1 - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:12936: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:12939: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:12942: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:12945: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - break -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" - done - echo "$as_me:12954: result: $CC_SHARED_OPTS" >&5 -echo "${ECHO_T}$CC_SHARED_OPTS" >&6 - CFLAGS="$cf_save_CFLAGS" - fi - - cf_cv_shlib_version_infix=no - - case "$cf_cv_system_name" in - (aix4.3-9*|aix[5-7]*) - if test "$GCC" = yes; then - CC_SHARED_OPTS='-Wl,-brtl' - MK_SHARED_LIB='${CC} ${LDFLAGS} ${CFLAGS} -shared -Wl,-brtl -Wl,-blibpath:${RPATH_LIST}:/usr/lib -o $@' - else - CC_SHARED_OPTS='-brtl' - # as well as '-qpic=large -G' or perhaps "-bM:SRE -bnoentry -bexpall" - MK_SHARED_LIB='${CC} ${LDFLAGS} ${CFLAGS} -G -Wl,-brtl -Wl,-blibpath:${RPATH_LIST}:/usr/lib -o $@' - fi - ;; - (beos*) - MK_SHARED_LIB='${CC} ${LDFLAGS} ${CFLAGS} -o $@ -Xlinker -soname=`basename $@` -nostart -e 0' - ;; - (cygwin*) - CC_SHARED_OPTS= - MK_SHARED_LIB=$SHELL' '$rel_builddir'/mk_shared_lib.sh $@ ${CC} ${CFLAGS}' - RM_SHARED_OPTS="$RM_SHARED_OPTS $rel_builddir/mk_shared_lib.sh *.dll.a" - cf_cv_shlib_version=cygdll - cf_cv_shlib_version_infix=cygdll - shlibdir=$bindir - MAKE_DLLS= - cat >mk_shared_lib.sh <<-CF_EOF - #!$SHELL - SHARED_LIB=\$1 - IMPORT_LIB=\`echo "\$1" | sed -e 's/cyg/lib/' -e 's/[0-9]*\.dll$/.dll.a/'\` - shift - cat <<-EOF - Linking shared library - ** SHARED_LIB \$SHARED_LIB - ** IMPORT_LIB \$IMPORT_LIB -EOF - exec \$* ${LDFLAGS} -shared -Wl,--out-implib=\${IMPORT_LIB} -Wl,--export-all-symbols -o \${SHARED_LIB} -CF_EOF - chmod +x mk_shared_lib.sh - ;; - (msys*) - CC_SHARED_OPTS= - MK_SHARED_LIB=$SHELL' '$rel_builddir'/mk_shared_lib.sh $@ ${CC} ${CFLAGS}' - RM_SHARED_OPTS="$RM_SHARED_OPTS $rel_builddir/mk_shared_lib.sh *.dll.a" - cf_cv_shlib_version=msysdll - cf_cv_shlib_version_infix=msysdll - shlibdir=$bindir - MAKE_DLLS= - cat >mk_shared_lib.sh <<-CF_EOF - #!$SHELL - SHARED_LIB=\$1 - IMPORT_LIB=\`echo "\$1" | sed -e 's/msys-/lib/' -e 's/[0-9]*\.dll$/.dll.a/'\` - shift - cat <<-EOF - Linking shared library - ** SHARED_LIB \$SHARED_LIB - ** IMPORT_LIB \$IMPORT_LIB -EOF - exec \$* ${LDFLAGS} -shared -Wl,--out-implib=\${IMPORT_LIB} -Wl,--export-all-symbols -o \${SHARED_LIB} -CF_EOF - chmod +x mk_shared_lib.sh - ;; - (darwin*) - cf_try_cflags="no-cpp-precomp" - CC_SHARED_OPTS="-dynamic" - MK_SHARED_LIB='${CC} ${LDFLAGS} ${CFLAGS} -dynamiclib -install_name ${libdir}/`basename $@` -compatibility_version ${ABI_VERSION} -current_version ${ABI_VERSION} -o $@' - test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=abi - cf_cv_shlib_version_infix=yes - echo "$as_me:13025: checking if ld -search_paths_first works" >&5 -echo $ECHO_N "checking if ld -search_paths_first works... $ECHO_C" >&6 -if test "${cf_cv_ldflags_search_paths_first+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - cf_save_LDFLAGS=$LDFLAGS - LDFLAGS="$LDFLAGS -Wl,-search_paths_first" - cat >"conftest.$ac_ext" <<_ACEOF -#line 13034 "configure" -#include "confdefs.h" - -int -main (void) -{ -int i; - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:13046: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:13049: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:13052: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:13055: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - cf_cv_ldflags_search_paths_first=yes -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -cf_cv_ldflags_search_paths_first=no -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" - LDFLAGS=$cf_save_LDFLAGS -fi -echo "$as_me:13066: result: $cf_cv_ldflags_search_paths_first" >&5 -echo "${ECHO_T}$cf_cv_ldflags_search_paths_first" >&6 - if test "$cf_cv_ldflags_search_paths_first" = yes; then - LDFLAGS="$LDFLAGS -Wl,-search_paths_first" - fi - ;; - (hpux[7-8]*) - # HP-UX 8.07 ld lacks "+b" option used for libdir search-list - if test "$GCC" != yes; then - CC_SHARED_OPTS='+Z' - fi - MK_SHARED_LIB='${LD} ${LDFLAGS} -b -o $@' - INSTALL_LIB="-m 555" - ;; - (hpux*) - # (tested with gcc 2.7.2 -- I don't have c89) - if test "$GCC" = yes; then - LD_SHARED_OPTS='-Xlinker +b -Xlinker ${libdir}' - else - CC_SHARED_OPTS='+Z' - LD_SHARED_OPTS='-Wl,+b,${libdir}' - fi - MK_SHARED_LIB='${LD} ${LDFLAGS} +b ${libdir} -b -o $@' - # HP-UX shared libraries must be executable, and should be - # readonly to exploit a quirk in the memory manager. - INSTALL_LIB="-m 555" - ;; - (interix*) - test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel - if test "$cf_cv_shlib_version" = rel; then - cf_shared_soname='`basename $@ .${REL_VERSION}`.${ABI_VERSION}' - else - cf_shared_soname='`basename $@`' - fi - CC_SHARED_OPTS= - MK_SHARED_LIB='${CC} ${LDFLAGS} ${CFLAGS} -shared -Wl,-rpath,${RPATH_LIST} -Wl,-h,'$cf_shared_soname' -o $@' - ;; - (irix*) - if test "$cf_cv_enable_rpath" = yes ; then - EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS" - fi - # tested with IRIX 5.2 and 'cc'. - if test "$GCC" != yes; then - CC_SHARED_OPTS='-KPIC' - MK_SHARED_LIB='${CC} ${LDFLAGS} ${CFLAGS} -shared -rdata_shared -soname `basename $@` -o $@' - else - MK_SHARED_LIB='${CC} ${LDFLAGS} ${CFLAGS} -shared -Wl,-soname,`basename $@` -o $@' - fi - cf_cv_rm_so_locs=yes - ;; - (linux*|gnu*|k*bsd*-gnu) - if test "$DFT_LWR_MODEL" = "shared" && test -n "$LD_RPATH_OPT" ; then - LOCAL_LDFLAGS="${LD_RPATH_OPT}\$(LOCAL_LIBDIR)" - LOCAL_LDFLAGS2="$LOCAL_LDFLAGS" - fi - if test "$cf_cv_enable_rpath" = yes ; then - EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS" - fi - - test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel - if test "$cf_cv_shlib_version" = rel; then - cf_cv_shared_soname='`basename $@ .${REL_VERSION}`.${ABI_VERSION}' - else - cf_cv_shared_soname='`basename $@`' - fi - - MK_SHARED_LIB='${CC} ${LDFLAGS} ${CFLAGS} -shared -Wl,-soname,'$cf_cv_shared_soname',-stats,-lc -o $@' - ;; - (mingw*msvc*) - cf_cv_shlib_version=msvcdll - cf_cv_shlib_version_infix=msvcdll - shlibdir=$bindir - MAKE_DLLS= - if test "$DFT_LWR_MODEL" = "shared" ; then - LOCAL_LDFLAGS="-link -dll" - LOCAL_LDFLAGS2="$LOCAL_LDFLAGS" - EXTRA_LDFLAGS="-link -dll $EXTRA_LDFLAGS" - fi - CC_SHARED_OPTS= - MK_SHARED_LIB=$SHELL' '$rel_builddir'/mk_shared_lib.sh $@ ${LD} ${CFLAGS}' - RM_SHARED_OPTS="$RM_SHARED_OPTS $rel_builddir/mk_shared_lib.sh *.dll.lib" - cat >mk_shared_lib.sh <<-CF_EOF - #!$SHELL - SHARED_LIB=\$1 - IMPORT_LIB=\`echo "\$1" | sed -e 's/[0-9]*\.dll$/.dll.lib/'\` - shift - my_ld=\$1 - shift - cat <<-EOF - Linking shared library - ** SHARED LIB \$SHARED_LIB - ** IMPORT_LIB \$IMPORT_LIB -EOF - args=\$(echo \$* | sed -E "s#-l(\w*)#\1.dll.lib#g" | sed -E "s#-L(\w*)#-LIBPATH:\1#g") - exec \$my_ld -DLL -IMPLIB:"\${IMPORT_LIB}" -OUT:"\${SHARED_LIB}" ${LDFLAGS} \$args - mv "\${IMPORT_LIB}" "\${IMPORT_LIB}" -CF_EOF - chmod +x mk_shared_lib.sh - cat >mk_prog.sh <<-CF_EOF - #!$SHELL - shift - # Ignore first argument (compiler) and use LD (link.exe) unconditionally - LD="$LD" - clopts=() - ldopts=("/subsystem:console") - libs=() - isdll=0 - while test \$# -gt 0; do - case "\$1" in - -link) - # ignore -link argument - ;; - -M[TD] | -M[TD]d) - # ignore runtime-library option - ;; - -dll) - isdll=1 - ;; - -W* | -w*) - # ignore warnings - ;; - -D*) - clopts+=("\$1") - ;; - -I*) - clopts+=("\$1") - ;; - -l*) - libs+=("\`echo \"\$1\" | sed \"s/^-l//\"\`") - ;; - -L*) - ldopts+=("\`echo \"\$1\" | sed \"s/^-L/-LIBPATH:/\"\`") - ;; - *.obj | *.o) - ldopts+=("\$1") - ;; - -Wl,*) - for linkarg in \`echo '\$1' | sed -e 's/-Wl,//' -e 's/,/ /'\`; do - ldopts+=("\${linkarg}") - done - ;; - *.lib) - ldopts+=("\$1") - ;; - -o) - shift - ldopts+=("-out:\$1") - ;; - *) - clopts+=("\$1") - ldopts+=("\$1") - ;; - esac - shift - done - if [ "\$isdll" -ne 0 ]; then - for lib in \${libs[*]}; do - ldopts+=("\$lib.dll.lib") - done - else - for lib in \${libs[*]}; do - ldopts+=("\$lib.lib") - done - fi - cat <<-EOF - Creating program - ** ld options: "\${ldopts[@]}" -EOF - exec \$LD \${ldopts[@]} -CF_EOF - chmod +x mk_prog.sh - LINK_PROGS="$SHELL ${rel_builddir}/mk_prog.sh" - LINK_TESTS="$SHELL ${rel_builddir}/mk_prog.sh" - ;; - (mingw*) - cf_cv_shlib_version=mingw - cf_cv_shlib_version_infix=mingw - shlibdir=$bindir - MAKE_DLLS= - if test "$DFT_LWR_MODEL" = "shared" ; then - LOCAL_LDFLAGS="-Wl,--enable-auto-import" - LOCAL_LDFLAGS2="$LOCAL_LDFLAGS" - EXTRA_LDFLAGS="-Wl,--enable-auto-import $EXTRA_LDFLAGS" - fi - CC_SHARED_OPTS= - MK_SHARED_LIB=$SHELL' '$rel_builddir'/mk_shared_lib.sh $@ ${CC} ${CFLAGS}' - RM_SHARED_OPTS="$RM_SHARED_OPTS $rel_builddir/mk_shared_lib.sh *.dll.a" - cat >mk_shared_lib.sh <<-CF_EOF - #!$SHELL - SHARED_LIB=\$1 - IMPORT_LIB=\`echo "\$1" | sed -e 's/[0-9]*\.dll$/.dll.a/'\` - shift - cat <<-EOF - Linking shared library - ** SHARED_LIB \$SHARED_LIB - ** IMPORT_LIB \$IMPORT_LIB -EOF - exec \$* ${LDFLAGS} -shared -Wl,--enable-auto-import,--out-implib=\${IMPORT_LIB} -Wl,--export-all-symbols -o \${SHARED_LIB} -CF_EOF - chmod +x mk_shared_lib.sh - ;; - (openbsd[2-9].*|mirbsd*) - if test "$DFT_LWR_MODEL" = "shared" && test -n "$LD_RPATH_OPT" ; then - LOCAL_LDFLAGS="${LD_RPATH_OPT}\$(LOCAL_LIBDIR)" - LOCAL_LDFLAGS2="$LOCAL_LDFLAGS" - fi - if test "$cf_cv_enable_rpath" = yes ; then - EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS" - fi - CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC" - - test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel - if test "$cf_cv_shlib_version" = rel; then - cf_cv_shared_soname='`basename $@ .${REL_VERSION}`.${ABI_VERSION}' - else - cf_cv_shared_soname='`basename $@`' - fi - - MK_SHARED_LIB='${CC} ${LDFLAGS} ${CFLAGS} -shared -Wl,-Bshareable,-soname,'$cf_cv_shared_soname',-stats,-lc -o $@' - ;; - (nskJ*) - CC_SHARED_OPTS= - MK_SHARED_LIB='${LD} -Wshared -Weld=-export_all -o $@' - ;; - (nskL*) - CC_SHARED_OPTS= - MK_SHARED_LIB='${LD} -Wshared -Wxld=-export_all -o $@' - ;; - (nto-qnx*|openbsd*|freebsd[12].*) - CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC" - MK_SHARED_LIB='${LD} ${LDFLAGS} -Bshareable -o $@' - test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel - ;; - (dragonfly*|freebsd*) - CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC" - if test "$DFT_LWR_MODEL" = "shared" && test "$cf_cv_enable_rpath" = yes ; then - LOCAL_LDFLAGS="${cf_ld_rpath_opt}\$(LOCAL_LIBDIR)" - LOCAL_LDFLAGS2="${cf_ld_rpath_opt}\${RPATH_LIST} $LOCAL_LDFLAGS" - EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS" - fi - - test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel - if test "$cf_cv_shlib_version" = rel; then - cf_cv_shared_soname='`basename $@ .${REL_VERSION}`.${ABI_VERSION}' - else - cf_cv_shared_soname='`basename $@`' - fi - - MK_SHARED_LIB='${CC} ${LDFLAGS} ${CFLAGS} -shared -Wl,-soname,'$cf_cv_shared_soname',-stats,-lc -o $@' - ;; - (netbsd*) - CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC" - if test "$DFT_LWR_MODEL" = "shared" && test "$cf_cv_enable_rpath" = yes ; then - LOCAL_LDFLAGS="${cf_ld_rpath_opt}\$(LOCAL_LIBDIR)" - LOCAL_LDFLAGS2="$LOCAL_LDFLAGS" - EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS" - if test "$cf_cv_shlib_version" = auto; then - if test -f /usr/libexec/ld.elf_so; then - cf_cv_shlib_version=abi - else - cf_cv_shlib_version=rel - fi - fi - - test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel - if test "$cf_cv_shlib_version" = rel; then - cf_cv_shared_soname='`basename $@ .${REL_VERSION}`.${ABI_VERSION}' - else - cf_cv_shared_soname='`basename $@`' - fi - - MK_SHARED_LIB='${CC} ${LDFLAGS} ${CFLAGS} -shared -Wl,-soname,'$cf_cv_shared_soname' -o $@' - else - MK_SHARED_LIB='${CC} ${LDFLAGS} ${CFLAGS} -shared -o $@' - fi - ;; - (osf*|mls+*) - # tested with OSF/1 V3.2 and 'cc' - # tested with OSF/1 V3.2 and gcc 2.6.3 (but the c++ demo didn't - # link with shared libs). - MK_SHARED_LIB='${LD} ${LDFLAGS} -set_version ${REL_VERSION}:${ABI_VERSION} -expect_unresolved "*" -shared -soname `basename $@`' - case "$host_os" in - (osf4*) - MK_SHARED_LIB="${MK_SHARED_LIB} -msym" - ;; - esac - MK_SHARED_LIB="${MK_SHARED_LIB}"' -o $@' - if test "$DFT_LWR_MODEL" = "shared" && test -n "$LD_RPATH_OPT" ; then - LOCAL_LDFLAGS="${LD_RPATH_OPT}\$(LOCAL_LIBDIR)" - LOCAL_LDFLAGS2="$LOCAL_LDFLAGS" - fi - cf_cv_rm_so_locs=yes - ;; - (sco3.2v5*) # also uw2* and UW7: hops 13-Apr-98 - # tested with osr5.0.5 - if test "$GCC" != yes; then - CC_SHARED_OPTS='-belf -KPIC' - fi - MK_SHARED_LIB='${LD} ${LDFLAGS} -dy -G -h `basename $@ .${REL_VERSION}`.${ABI_VERSION} -o $@' - if test "$cf_cv_enable_rpath" = yes ; then - # only way is to set LD_RUN_PATH but no switch for it - RUN_PATH=$libdir - fi - test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel - LINK_PROGS='LD_RUN_PATH=${libdir}' - LINK_TESTS='Pwd=`pwd`;LD_RUN_PATH=`dirname $${Pwd}`/lib' - ;; - (sunos4*) - # tested with SunOS 4.1.1 and gcc 2.7.0 - if test "$GCC" != yes; then - CC_SHARED_OPTS='-KPIC' - fi - MK_SHARED_LIB='${LD} ${LDFLAGS} -assert pure-text -o $@' - test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel - ;; - (solaris2*) - # tested with SunOS 5.5.1 (solaris 2.5.1) and gcc 2.7.2 - # tested with SunOS 5.10 (solaris 10) and gcc 3.4.3 - if test "$DFT_LWR_MODEL" = "shared" ; then - LOCAL_LDFLAGS="-R \$(LOCAL_LIBDIR):\${libdir}" - LOCAL_LDFLAGS2="$LOCAL_LDFLAGS" - fi - if test "$cf_cv_enable_rpath" = yes ; then - EXTRA_LDFLAGS="-R \${libdir} $EXTRA_LDFLAGS" - fi - - test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel - if test "$cf_cv_shlib_version" = rel; then - cf_cv_shared_soname='`basename $@ .${REL_VERSION}`.${ABI_VERSION}' - else - cf_cv_shared_soname='`basename $@`' - fi - - if test "$GCC" != yes; then - cf_save_CFLAGS="$CFLAGS" - for cf_shared_opts in -xcode=pic32 -xcode=pic13 -KPIC -Kpic -O - do - CFLAGS="$cf_shared_opts $cf_save_CFLAGS" - cat >"conftest.$ac_ext" <<_ACEOF -#line 13405 "configure" -#include "confdefs.h" -#include <stdio.h> -int -main (void) -{ -printf("Hello\\n"); - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:13417: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:13420: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:13423: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:13426: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - break -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" - done - CFLAGS="$cf_save_CFLAGS" - CC_SHARED_OPTS=$cf_shared_opts - MK_SHARED_LIB='${CC} ${LDFLAGS} ${CFLAGS} -dy -G -h '$cf_cv_shared_soname' -o $@' - else - MK_SHARED_LIB='${CC} ${LDFLAGS} ${CFLAGS} -shared -dy -G -h '$cf_cv_shared_soname' -o $@' - fi - ;; - (sysv5uw7*|unix_sv*) - # tested with UnixWare 7.1.0 (gcc 2.95.2 and cc) - if test "$GCC" != yes; then - CC_SHARED_OPTS='-KPIC' - fi - MK_SHARED_LIB='${LD} ${LDFLAGS} -d y -G -o $@' - ;; - (*) - CC_SHARED_OPTS='unknown' - MK_SHARED_LIB='echo unknown' - ;; - esac - - # This works if the last tokens in $MK_SHARED_LIB are the -o target. - case "$cf_cv_shlib_version" in - (rel|abi) - case "$MK_SHARED_LIB" in - (*'-o $@') - test "$cf_cv_do_symlinks" = no && cf_cv_do_symlinks=yes - ;; - (*) - { echo "$as_me:13463: WARNING: ignored --with-shlib-version" >&5 -echo "$as_me: WARNING: ignored --with-shlib-version" >&2;} - ;; - esac - ;; - esac - - if test -n "$cf_try_cflags" - then -cat > conftest.$ac_ext <<EOF -#line 13473 "${as_me:-configure}" -#include <stdio.h> -int main(int argc, char *argv[]) -{ - printf("hello\\n"); - return (argv[argc-1] == 0) ; -} -EOF - cf_save_CFLAGS="$CFLAGS" - for cf_opt in $cf_try_cflags - do - CFLAGS="$cf_save_CFLAGS -$cf_opt" - echo "$as_me:13485: checking if CFLAGS option -$cf_opt works" >&5 -echo $ECHO_N "checking if CFLAGS option -$cf_opt works... $ECHO_C" >&6 - if { (eval echo "$as_me:13487: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:13490: \$? = $ac_status" >&5 - (exit "$ac_status"); }; then - echo "$as_me:13492: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - cf_save_CFLAGS="$CFLAGS" - else - echo "$as_me:13496: result: no" >&5 -echo "${ECHO_T}no" >&6 - fi - done - CFLAGS="$cf_save_CFLAGS" - fi - - # RPATH_LIST is a colon-separated list of directories - test -n "$cf_ld_rpath_opt" && MK_SHARED_LIB="$MK_SHARED_LIB $cf_ld_rpath_opt\${RPATH_LIST}" - test -z "$RPATH_LIST" && RPATH_LIST="\${libdir}" - - test "$cf_cv_rm_so_locs" = yes && RM_SHARED_OPTS="$RM_SHARED_OPTS so_locations" - - test -n "$verbose" && echo " CC_SHARED_OPTS: $CC_SHARED_OPTS" 1>&6 - -echo "${as_me:-configure}:13511: testing CC_SHARED_OPTS: $CC_SHARED_OPTS ..." 1>&5 - - test -n "$verbose" && echo " MK_SHARED_LIB: $MK_SHARED_LIB" 1>&6 - -echo "${as_me:-configure}:13515: testing MK_SHARED_LIB: $MK_SHARED_LIB ..." 1>&5 - -echo "$as_me:13517: checking if versioned-symbols file should be used" >&5 -echo $ECHO_N "checking if versioned-symbols file should be used... $ECHO_C" >&6 - -# Check whether --with-versioned-syms or --without-versioned-syms was given. -if test "${with_versioned_syms+set}" = set; then - withval="$with_versioned_syms" - with_versioned_syms=$withval -else - with_versioned_syms=no -fi; -case "x$with_versioned_syms" in -(xyes) - with_versioned_syms='${top_srcdir}/package/${PACKAGE}.map' - - ;; -(xno) - ;; -(x/*) - test -f "$with_versioned_syms" || { { echo "$as_me:13535: error: expected a filename: $with_versioned_syms" >&5 -echo "$as_me: error: expected a filename: $with_versioned_syms" >&2;} - { (exit 1); exit 1; }; } - ;; -(*) - test -f "$with_versioned_syms" || { { echo "$as_me:13540: error: expected a filename: $with_versioned_syms" >&5 -echo "$as_me: error: expected a filename: $with_versioned_syms" >&2;} - { (exit 1); exit 1; }; } - with_versioned_syms=`pwd`/"$with_versioned_syms" - ;; -esac -echo "$as_me:13546: result: $with_versioned_syms" >&5 -echo "${ECHO_T}$with_versioned_syms" >&6 - -RESULTING_SYMS= -VERSIONED_SYMS= -WILDCARD_SYMS= - -if test "x$with_versioned_syms" != xno -then - RESULTING_SYMS=$with_versioned_syms - case "x$MK_SHARED_LIB" in - (*-Wl,*) - VERSIONED_SYMS="-Wl,--version-script,\${RESULTING_SYMS}" - MK_SHARED_LIB=`echo "$MK_SHARED_LIB" | sed -e "s%-Wl,%\\${VERSIONED_SYMS} -Wl,%"` - test -n "$verbose" && echo " MK_SHARED_LIB: $MK_SHARED_LIB" 1>&6 - -echo "${as_me:-configure}:13562: testing MK_SHARED_LIB: $MK_SHARED_LIB ..." 1>&5 - - ;; - (*-dy\ *) - VERSIONED_SYMS="-Wl,-M,\${RESULTING_SYMS}" - MK_SHARED_LIB=`echo "$MK_SHARED_LIB" | sed -e "s%-dy%\\${VERSIONED_SYMS} -dy%"` - test -n "$verbose" && echo " MK_SHARED_LIB: $MK_SHARED_LIB" 1>&6 - -echo "${as_me:-configure}:13570: testing MK_SHARED_LIB: $MK_SHARED_LIB ..." 1>&5 - - ;; - (*) - { echo "$as_me:13574: WARNING: this system does not support versioned-symbols" >&5 -echo "$as_me: WARNING: this system does not support versioned-symbols" >&2;} - ;; - esac - - # Linux ld can selectively override scope, e.g., of symbols beginning with - # "_" by first declaring some as global, and then using a wildcard to - # declare the others as local. Some other loaders cannot do this. Check - # by constructing a (very) simple shared library and inspecting its - # symbols. - if test "x$VERSIONED_SYMS" != "x" - then - echo "$as_me:13586: checking if wildcards can be used to selectively omit symbols" >&5 -echo $ECHO_N "checking if wildcards can be used to selectively omit symbols... $ECHO_C" >&6 - WILDCARD_SYMS=no - - # make sources - rm -f conftest.* - - cat >conftest.ver <<EOF -module_1.0 { -global: - globalf1; -local: - localf1; -}; -module_2.0 { -global: - globalf2; -local: - localf2; - _*; -} module_1.0; -submodule_1.0 { -global: - subglobalf1; - _ismissing; -local: - sublocalf1; -}; -submodule_2.0 { -global: - subglobalf2; -local: - sublocalf2; - _*; -} submodule_1.0; -EOF - cat >conftest.$ac_ext <<EOF -#line 13623 "configure" -int _ismissing(void) { return 1; } -int _localf1(void) { return 1; } -int _localf2(void) { return 2; } -int globalf1(void) { return 1; } -int globalf2(void) { return 2; } -int _sublocalf1(void) { return 1; } -int _sublocalf2(void) { return 2; } -int subglobalf1(void) { return 1; } -int subglobalf2(void) { return 2; } -EOF - cat >conftest.mk <<EOF -CC=${CC} -CFLAGS=${CFLAGS} -CPPFLAGS=${CPPFLAGS} -LDFLAGS=${LDFLAGS} -LIBS=${LIBS} -VERSIONED_SYMS=${VERSIONED_SYMS} -RESULTING_SYMS=conftest.ver -MK_SHARED_LIB=${MK_SHARED_LIB} -conftest.so: conftest.$ac_cv_objext - \$(MK_SHARED_LIB) conftest.$ac_cv_objext -EOF - - # compile source, make library - if make -f conftest.mk 2>&5 >/dev/null - then - # test for missing symbol in either Data or Text section - cf_missing="`nm -P conftest.so 2>&5 |${FGREP-fgrep} _ismissing | ${EGREP-egrep} '[ ][DT][ ]'`" - test -n "$cf_missing" && WILDCARD_SYMS=yes - fi - echo "$as_me:13654: result: $WILDCARD_SYMS" >&5 -echo "${ECHO_T}$WILDCARD_SYMS" >&6 - rm -f conftest.* - fi -fi - - LIB_PREP=: - LIB_CREATE="$MK_SHARED_LIB" - CFLAGS="$CFLAGS $CC_SHARED_OPTS" - MAKE_NORMAL="#" - MAKE_STATIC="#" - MAKE_SHARED= - fi -fi - -LIB_SUFFIX= - - case X$LIB_MODEL in - (Xlibtool) - DFT_LIB_SUFFIX='.la' - DFT_DEP_SUFFIX=$DFT_LIB_SUFFIX - ;; - (Xdebug) - case "$cf_cv_system_name" in - (*-msvc*) - DFT_LIB_SUFFIX='_g.lib' - ;; - (*) - DFT_LIB_SUFFIX='_g.a' - ;; - esac - DFT_DEP_SUFFIX=$DFT_LIB_SUFFIX - ;; - (Xprofile) - case "$cf_cv_system_name" in - (*-msvc*) - DFT_LIB_SUFFIX='_p.lib' - ;; - (*) - DFT_LIB_SUFFIX='_p.a' - ;; - esac - DFT_DEP_SUFFIX=$DFT_LIB_SUFFIX - ;; - (Xshared) - case "$cf_cv_system_name" in - (aix[5-7]*) - DFT_LIB_SUFFIX='.so' - DFT_DEP_SUFFIX=$DFT_LIB_SUFFIX - ;; - (*-msvc*) - DFT_LIB_SUFFIX='.dll' - DFT_DEP_SUFFIX='.dll.lib' - ;; - (cygwin*|msys*|mingw*) - DFT_LIB_SUFFIX='.dll' - DFT_DEP_SUFFIX='.dll.a' - ;; - (darwin*) - DFT_LIB_SUFFIX='.dylib' - DFT_DEP_SUFFIX=$DFT_LIB_SUFFIX - ;; - (hpux*) - case "$target" in - (ia64*) - DFT_LIB_SUFFIX='.so' - DFT_DEP_SUFFIX=$DFT_LIB_SUFFIX - ;; - (*) - DFT_LIB_SUFFIX='.sl' - DFT_DEP_SUFFIX=$DFT_LIB_SUFFIX - ;; - esac - ;; - (*) - DFT_LIB_SUFFIX='.so' - DFT_DEP_SUFFIX=$DFT_LIB_SUFFIX - ;; - esac - ;; - (*) - case "$target" in - (*-msvc*) - DFT_LIB_SUFFIX='.lib' - ;; - (*) - DFT_LIB_SUFFIX='.a' - ;; - esac - DFT_DEP_SUFFIX=$DFT_LIB_SUFFIX - ;; - esac - if test -n "${LIB_SUFFIX}${EXTRA_SUFFIX}" - then - DFT_LIB_SUFFIX="${LIB_SUFFIX}${EXTRA_SUFFIX}${DFT_LIB_SUFFIX}" - DFT_DEP_SUFFIX="${LIB_SUFFIX}${EXTRA_SUFFIX}${DFT_DEP_SUFFIX}" - fi - -LIB_SUFFIX=$DFT_LIB_SUFFIX - -echo "$as_me:13754: checking for specific curses-directory" >&5 -echo $ECHO_N "checking for specific curses-directory... $ECHO_C" >&6 - -# Check whether --with-curses-dir or --without-curses-dir was given. -if test "${with_curses_dir+set}" = set; then - withval="$with_curses_dir" - cf_cv_curses_dir=$withval -else - cf_cv_curses_dir=no -fi; -echo "$as_me:13764: result: $cf_cv_curses_dir" >&5 -echo "${ECHO_T}$cf_cv_curses_dir" >&6 - -if test -n "$cf_cv_curses_dir" && test "$cf_cv_curses_dir" != "no" -then - -if test "x$prefix" != xNONE; then - cf_path_syntax="$prefix" -else - cf_path_syntax="$ac_default_prefix" -fi - -case ".$withval" in -(.\$\(*\)*|.\'*\'*) - ;; -(..|./*|.\\*) - ;; -(.[a-zA-Z]:[\\/]*) # OS/2 EMX - ;; -(.\$\{*prefix\}*|.\$\{*dir\}*) - eval withval="$withval" - case ".$withval" in - (.NONE/*) - withval=`echo "$withval" | sed -e s%NONE%$cf_path_syntax%` - ;; - esac - ;; -(.no|.NONE/*) - withval=`echo "$withval" | sed -e s%NONE%$cf_path_syntax%` - ;; -(*) - { { echo "$as_me:13795: error: expected a pathname, not \"$withval\"" >&5 -echo "$as_me: error: expected a pathname, not \"$withval\"" >&2;} - { (exit 1); exit 1; }; } - ;; -esac - - if test -d "$cf_cv_curses_dir" - then - -if test -n "$cf_cv_curses_dir/include" ; then - for cf_add_incdir in $cf_cv_curses_dir/include - do - while test "$cf_add_incdir" != /usr/include - do - if test -d "$cf_add_incdir" - then - cf_have_incdir=no - if test -n "$CFLAGS$CPPFLAGS" ; then - # a loop is needed to ensure we can add subdirs of existing dirs - for cf_test_incdir in $CFLAGS $CPPFLAGS ; do - if test ".$cf_test_incdir" = ".-I$cf_add_incdir" ; then - cf_have_incdir=yes; break - fi - done - fi - - if test "$cf_have_incdir" = no ; then - if test "$cf_add_incdir" = /usr/local/include ; then - if test "$GCC" = yes - then - cf_save_CPPFLAGS=$CPPFLAGS - - test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS " - CPPFLAGS="${CPPFLAGS}-I$cf_add_incdir" - - cat >"conftest.$ac_ext" <<_ACEOF -#line 13831 "configure" -#include "confdefs.h" -#include <stdio.h> -int -main (void) -{ -printf("Hello") - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:13843: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:13846: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:13849: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:13852: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - : -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -cf_have_incdir=yes -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" - CPPFLAGS=$cf_save_CPPFLAGS - fi - fi - fi - - if test "$cf_have_incdir" = no ; then - test -n "$verbose" && echo " adding $cf_add_incdir to include-path" 1>&6 - -echo "${as_me:-configure}:13869: testing adding $cf_add_incdir to include-path ..." 1>&5 - - CPPFLAGS="$CPPFLAGS -I$cf_add_incdir" - - cf_top_incdir=`echo "$cf_add_incdir" | sed -e 's%/include/.*$%/include%'` - test "$cf_top_incdir" = "$cf_add_incdir" && break - cf_add_incdir="$cf_top_incdir" - else - break - fi - else - break - fi - done - done -fi - -if test -n "$cf_cv_curses_dir/lib" ; then - for cf_add_libdir in $cf_cv_curses_dir/lib - do - if test "$cf_add_libdir" = /usr/lib ; then - : - elif test -d "$cf_add_libdir" - then - cf_have_libdir=no - if test -n "$LDFLAGS$LIBS" ; then - # a loop is needed to ensure we can add subdirs of existing dirs - for cf_test_libdir in $LDFLAGS $LIBS ; do - if test ".$cf_test_libdir" = ".-L$cf_add_libdir" ; then - cf_have_libdir=yes; break - fi - done - fi - if test "$cf_have_libdir" = no ; then - test -n "$verbose" && echo " adding $cf_add_libdir to library-path" 1>&6 - -echo "${as_me:-configure}:13905: testing adding $cf_add_libdir to library-path ..." 1>&5 - - LDFLAGS="-L$cf_add_libdir $LDFLAGS" - fi - fi - done -fi - - fi -fi - -echo "$as_me:13916: checking for specific curses-directory" >&5 -echo $ECHO_N "checking for specific curses-directory... $ECHO_C" >&6 - -# Check whether --with-curses-dir or --without-curses-dir was given. -if test "${with_curses_dir+set}" = set; then - withval="$with_curses_dir" - cf_cv_curses_dir=$withval -else - cf_cv_curses_dir=no -fi; -echo "$as_me:13926: result: $cf_cv_curses_dir" >&5 -echo "${ECHO_T}$cf_cv_curses_dir" >&6 - -if test -n "$cf_cv_curses_dir" && test "$cf_cv_curses_dir" != "no" -then - -if test "x$prefix" != xNONE; then - cf_path_syntax="$prefix" -else - cf_path_syntax="$ac_default_prefix" -fi - -case ".$withval" in -(.\$\(*\)*|.\'*\'*) - ;; -(..|./*|.\\*) - ;; -(.[a-zA-Z]:[\\/]*) # OS/2 EMX - ;; -(.\$\{*prefix\}*|.\$\{*dir\}*) - eval withval="$withval" - case ".$withval" in - (.NONE/*) - withval=`echo "$withval" | sed -e s%NONE%$cf_path_syntax%` - ;; - esac - ;; -(.no|.NONE/*) - withval=`echo "$withval" | sed -e s%NONE%$cf_path_syntax%` - ;; -(*) - { { echo "$as_me:13957: error: expected a pathname, not \"$withval\"" >&5 -echo "$as_me: error: expected a pathname, not \"$withval\"" >&2;} - { (exit 1); exit 1; }; } - ;; -esac - - if test -d "$cf_cv_curses_dir" - then - -if test -n "$cf_cv_curses_dir/include" ; then - for cf_add_incdir in $cf_cv_curses_dir/include - do - while test "$cf_add_incdir" != /usr/include - do - if test -d "$cf_add_incdir" - then - cf_have_incdir=no - if test -n "$CFLAGS$CPPFLAGS" ; then - # a loop is needed to ensure we can add subdirs of existing dirs - for cf_test_incdir in $CFLAGS $CPPFLAGS ; do - if test ".$cf_test_incdir" = ".-I$cf_add_incdir" ; then - cf_have_incdir=yes; break - fi - done - fi - - if test "$cf_have_incdir" = no ; then - if test "$cf_add_incdir" = /usr/local/include ; then - if test "$GCC" = yes - then - cf_save_CPPFLAGS=$CPPFLAGS - - test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS " - CPPFLAGS="${CPPFLAGS}-I$cf_add_incdir" - - cat >"conftest.$ac_ext" <<_ACEOF -#line 13993 "configure" -#include "confdefs.h" -#include <stdio.h> -int -main (void) -{ -printf("Hello") - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:14005: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:14008: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:14011: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:14014: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - : -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -cf_have_incdir=yes -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" - CPPFLAGS=$cf_save_CPPFLAGS - fi - fi - fi - - if test "$cf_have_incdir" = no ; then - test -n "$verbose" && echo " adding $cf_add_incdir to include-path" 1>&6 - -echo "${as_me:-configure}:14031: testing adding $cf_add_incdir to include-path ..." 1>&5 - - CPPFLAGS="$CPPFLAGS -I$cf_add_incdir" - - cf_top_incdir=`echo "$cf_add_incdir" | sed -e 's%/include/.*$%/include%'` - test "$cf_top_incdir" = "$cf_add_incdir" && break - cf_add_incdir="$cf_top_incdir" - else - break - fi - else - break - fi - done - done -fi - -if test -n "$cf_cv_curses_dir/lib" ; then - for cf_add_libdir in $cf_cv_curses_dir/lib - do - if test "$cf_add_libdir" = /usr/lib ; then - : - elif test -d "$cf_add_libdir" - then - cf_have_libdir=no - if test -n "$LDFLAGS$LIBS" ; then - # a loop is needed to ensure we can add subdirs of existing dirs - for cf_test_libdir in $LDFLAGS $LIBS ; do - if test ".$cf_test_libdir" = ".-L$cf_add_libdir" ; then - cf_have_libdir=yes; break - fi - done - fi - if test "$cf_have_libdir" = no ; then - test -n "$verbose" && echo " adding $cf_add_libdir to library-path" 1>&6 - -echo "${as_me:-configure}:14067: testing adding $cf_add_libdir to library-path ..." 1>&5 - - LDFLAGS="-L$cf_add_libdir $LDFLAGS" - fi - fi - done -fi - - fi -fi - -cf_cv_screen=curses - -echo "$as_me:14080: checking for specified curses library type" >&5 -echo $ECHO_N "checking for specified curses library type... $ECHO_C" >&6 - -# Check whether --with-screen or --without-screen was given. -if test "${with_screen+set}" = set; then - withval="$with_screen" - cf_cv_screen=$withval -else - -# Check whether --with-ncursesw or --without-ncursesw was given. -if test "${with_ncursesw+set}" = set; then - withval="$with_ncursesw" - cf_cv_screen=ncursesw -else - -# Check whether --with-ncurses or --without-ncurses was given. -if test "${with_ncurses+set}" = set; then - withval="$with_ncurses" - cf_cv_screen=ncurses -else - -# Check whether --with-pdcurses or --without-pdcurses was given. -if test "${with_pdcurses+set}" = set; then - withval="$with_pdcurses" - cf_cv_screen=pdcurses -else - -# Check whether --with-curses-colr or --without-curses-colr was given. -if test "${with_curses_colr+set}" = set; then - withval="$with_curses_colr" - cf_cv_screen=curses_colr -else - -# Check whether --with-curses-5lib or --without-curses-5lib was given. -if test "${with_curses_5lib+set}" = set; then - withval="$with_curses_5lib" - cf_cv_screen=curses_5lib -fi; -fi; -fi; -fi; -fi; -fi; - -echo "$as_me:14124: result: $cf_cv_screen" >&5 -echo "${ECHO_T}$cf_cv_screen" >&6 - -case $cf_cv_screen in -(curses|curses_*) - -echo "$as_me:14130: checking for extra include directories" >&5 -echo $ECHO_N "checking for extra include directories... $ECHO_C" >&6 -if test "${cf_cv_curses_incdir+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - -cf_cv_curses_incdir=no -case "$host_os" in -(hpux10.*) - if test "x$cf_cv_screen" = "xcurses_colr" - then - test -d /usr/include/curses_colr && \ - cf_cv_curses_incdir="-I/usr/include/curses_colr" - fi - ;; -(sunos3*|sunos4*) - if test "x$cf_cv_screen" = "xcurses_5lib" - then - test -d /usr/5lib && \ - test -d /usr/5include && \ - cf_cv_curses_incdir="-I/usr/5include" - fi - ;; -esac - -fi -echo "$as_me:14156: result: $cf_cv_curses_incdir" >&5 -echo "${ECHO_T}$cf_cv_curses_incdir" >&6 -if test "$cf_cv_curses_incdir" != no -then - - test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS " - CPPFLAGS="${CPPFLAGS}$cf_cv_curses_incdir" - -fi - -echo "$as_me:14166: checking if we have identified curses headers" >&5 -echo $ECHO_N "checking if we have identified curses headers... $ECHO_C" >&6 -if test "${cf_cv_ncurses_header+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - -cf_cv_ncurses_header=none -for cf_header in \ - ncurses.h \ - curses.h ncurses/ncurses.h ncurses/curses.h -do -cat >"conftest.$ac_ext" <<_ACEOF -#line 14178 "configure" -#include "confdefs.h" -#include <${cf_header}> -int -main (void) -{ -initscr(); tgoto("?", 0,0) - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:14190: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:14193: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:14196: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:14199: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - cf_cv_ncurses_header=$cf_header; break -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" -done - -fi -echo "$as_me:14210: result: $cf_cv_ncurses_header" >&5 -echo "${ECHO_T}$cf_cv_ncurses_header" >&6 - -if test "$cf_cv_ncurses_header" = none ; then - { { echo "$as_me:14214: error: No curses header-files found" >&5 -echo "$as_me: error: No curses header-files found" >&2;} - { (exit 1); exit 1; }; } -fi - -# cheat, to get the right #define's for HAVE_NCURSES_H, etc. - -for ac_header in $cf_cv_ncurses_header -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -echo "$as_me:14224: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >"conftest.$ac_ext" <<_ACEOF -#line 14230 "configure" -#include "confdefs.h" -#include <$ac_header> -_ACEOF -if { (eval echo "$as_me:14234: \"$ac_cpp "conftest.$ac_ext"\"") >&5 - (eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - $EGREP -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:14240: \$? = $ac_status" >&5 - (exit "$ac_status"); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - eval "$as_ac_Header=yes" -else - echo "$as_me: failed program was:" >&5 - cat "conftest.$ac_ext" >&5 - eval "$as_ac_Header=no" -fi -rm -f conftest.err "conftest.$ac_ext" -fi -echo "$as_me:14259: result: `eval echo '${'"$as_ac_Header"'}'`" >&5 -echo "${ECHO_T}`eval echo '${'"$as_ac_Header"'}'`" >&6 -if test "`eval echo '${'"$as_ac_Header"'}'`" = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 -EOF - -fi -done - -echo "$as_me:14269: checking for terminfo header" >&5 -echo $ECHO_N "checking for terminfo header... $ECHO_C" >&6 -if test "${cf_cv_term_header+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - -case "${cf_cv_ncurses_header}" in -(*/ncurses.h|*/ncursesw.h) - cf_term_header=`echo "$cf_cv_ncurses_header" | sed -e 's%ncurses[^.]*\.h$%term.h%'` - ;; -(*) - cf_term_header=term.h - ;; -esac - -for cf_test in $cf_term_header "ncurses/term.h" "ncursesw/term.h" -do -cat >"conftest.$ac_ext" <<_ACEOF -#line 14287 "configure" -#include "confdefs.h" -#include <stdio.h> -#include <${cf_cv_ncurses_header:-curses.h}> -#include <$cf_test> - -int -main (void) -{ -int x = auto_left_margin; (void)x - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:14302: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:14305: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:14308: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:14311: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - - cf_cv_term_header="$cf_test" -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 - - cf_cv_term_header=unknown - -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" - test "$cf_cv_term_header" != unknown && break -done - -fi -echo "$as_me:14327: result: $cf_cv_term_header" >&5 -echo "${ECHO_T}$cf_cv_term_header" >&6 - -# Set definitions to allow ifdef'ing to accommodate subdirectories - -case "$cf_cv_term_header" in -(*term.h) - -cat >>confdefs.h <<\EOF -#define HAVE_TERM_H 1 -EOF - - ;; -esac - -case "$cf_cv_term_header" in -(ncurses/term.h) - -cat >>confdefs.h <<\EOF -#define HAVE_NCURSES_TERM_H 1 -EOF - - ;; -(ncursesw/term.h) - -cat >>confdefs.h <<\EOF -#define HAVE_NCURSESW_TERM_H 1 -EOF - - ;; -esac - -echo "$as_me:14359: checking for ncurses version" >&5 -echo $ECHO_N "checking for ncurses version... $ECHO_C" >&6 -if test "${cf_cv_ncurses_version+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - cf_cv_ncurses_version=no - cf_tempfile=out$$ - rm -f "$cf_tempfile" - if test "$cross_compiling" = yes; then - - # This will not work if the preprocessor splits the line after the - # Autoconf token. The 'unproto' program does that. - cat > "conftest.$ac_ext" <<EOF -#include <${cf_cv_ncurses_header:-curses.h}> -#undef Autoconf -#ifdef NCURSES_VERSION -Autoconf NCURSES_VERSION -#else -#ifdef __NCURSES_H -Autoconf "old" -#endif -; -#endif -EOF - cf_try="$ac_cpp conftest.$ac_ext 2>&5 | grep '^Autoconf ' >conftest.out" - { (eval echo "$as_me:14385: \"$cf_try\"") >&5 - (eval $cf_try) 2>&5 - ac_status=$? - echo "$as_me:14388: \$? = $ac_status" >&5 - (exit "$ac_status"); } - if test -f conftest.out ; then - cf_out=`sed -e 's%^Autoconf %%' -e 's%^[^"]*"%%' -e 's%".*%%' conftest.out` - test -n "$cf_out" && cf_cv_ncurses_version="$cf_out" - rm -f conftest.out - fi - -else - cat >"conftest.$ac_ext" <<_ACEOF -#line 14398 "configure" -#include "confdefs.h" - -#include <${cf_cv_ncurses_header:-curses.h}> -#include <stdio.h> -int main(void) -{ - FILE *fp = fopen("$cf_tempfile", "w"); -#ifdef NCURSES_VERSION -# ifdef NCURSES_VERSION_PATCH - fprintf(fp, "%s.%d\\n", NCURSES_VERSION, NCURSES_VERSION_PATCH); -# else - fprintf(fp, "%s\\n", NCURSES_VERSION); -# endif -#else -# ifdef __NCURSES_H - fprintf(fp, "old\\n"); -# else - make an error -# endif -#endif - ${cf_cv_main_return:-return}(0); -} -_ACEOF -rm -f "conftest$ac_exeext" -if { (eval echo "$as_me:14423: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:14426: \$? = $ac_status" >&5 - (exit "$ac_status"); } && { ac_try='"./conftest$ac_exeext"' - { (eval echo "$as_me:14428: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:14431: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - - cf_cv_ncurses_version=`cat $cf_tempfile` -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -fi -rm -f core ./core.* ./*.core "conftest$ac_exeext" "conftest.$ac_objext" "conftest.$ac_ext" -fi - rm -f "$cf_tempfile" - -fi -echo "$as_me:14445: result: $cf_cv_ncurses_version" >&5 -echo "${ECHO_T}$cf_cv_ncurses_version" >&6 -test "$cf_cv_ncurses_version" = no || -cat >>confdefs.h <<\EOF -#define NCURSES 1 -EOF - -echo "$as_me:14452: checking if we have identified curses libraries" >&5 -echo $ECHO_N "checking if we have identified curses libraries... $ECHO_C" >&6 -cat >"conftest.$ac_ext" <<_ACEOF -#line 14455 "configure" -#include "confdefs.h" -#include <${cf_cv_ncurses_header:-curses.h}> -int -main (void) -{ -initscr(); tgoto("?", 0,0) - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:14467: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:14470: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:14473: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:14476: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - cf_result=yes -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -cf_result=no -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" -echo "$as_me:14485: result: $cf_result" >&5 -echo "${ECHO_T}$cf_result" >&6 - -if test "$cf_result" = no ; then -case "$host_os" in -(freebsd*) - echo "$as_me:14491: checking for tgoto in -lmytinfo" >&5 -echo $ECHO_N "checking for tgoto in -lmytinfo... $ECHO_C" >&6 -if test "${ac_cv_lib_mytinfo_tgoto+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lmytinfo $LIBS" -cat >"conftest.$ac_ext" <<_ACEOF -#line 14499 "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char tgoto (); -int -main (void) -{ -tgoto (); - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:14518: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:14521: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:14524: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:14527: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - ac_cv_lib_mytinfo_tgoto=yes -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -ac_cv_lib_mytinfo_tgoto=no -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:14538: result: $ac_cv_lib_mytinfo_tgoto" >&5 -echo "${ECHO_T}$ac_cv_lib_mytinfo_tgoto" >&6 -if test "$ac_cv_lib_mytinfo_tgoto" = yes; then - -cf_add_libs="$LIBS" -# reverse order -cf_add_0lib= -for cf_add_1lib in -lmytinfo; do cf_add_0lib="$cf_add_1lib $cf_add_0lib"; done -# filter duplicates -for cf_add_1lib in $cf_add_0lib; do - for cf_add_2lib in $cf_add_libs; do - if test "x$cf_add_1lib" = "x$cf_add_2lib"; then - cf_add_1lib= - break - fi - done - test -n "$cf_add_1lib" && cf_add_libs="$cf_add_1lib $cf_add_libs" -done -LIBS="$cf_add_libs" - -fi - - ;; -(hpux10.*) - # Looking at HPUX 10.20, the Hcurses library is the oldest (1997), cur_colr - # next (1998), and xcurses "newer" (2000). There is no header file for - # Hcurses; the subdirectory curses_colr has the headers (curses.h and - # term.h) for cur_colr - if test "x$cf_cv_screen" = "xcurses_colr" - then - echo "$as_me:14568: checking for initscr in -lcur_colr" >&5 -echo $ECHO_N "checking for initscr in -lcur_colr... $ECHO_C" >&6 -if test "${ac_cv_lib_cur_colr_initscr+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lcur_colr $LIBS" -cat >"conftest.$ac_ext" <<_ACEOF -#line 14576 "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char initscr (); -int -main (void) -{ -initscr (); - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:14595: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:14598: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:14601: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:14604: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - ac_cv_lib_cur_colr_initscr=yes -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -ac_cv_lib_cur_colr_initscr=no -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:14615: result: $ac_cv_lib_cur_colr_initscr" >&5 -echo "${ECHO_T}$ac_cv_lib_cur_colr_initscr" >&6 -if test "$ac_cv_lib_cur_colr_initscr" = yes; then - -cf_add_libs="$LIBS" -# reverse order -cf_add_0lib= -for cf_add_1lib in -lcur_colr; do cf_add_0lib="$cf_add_1lib $cf_add_0lib"; done -# filter duplicates -for cf_add_1lib in $cf_add_0lib; do - for cf_add_2lib in $cf_add_libs; do - if test "x$cf_add_1lib" = "x$cf_add_2lib"; then - cf_add_1lib= - break - fi - done - test -n "$cf_add_1lib" && cf_add_libs="$cf_add_1lib $cf_add_libs" -done -LIBS="$cf_add_libs" - - ac_cv_func_initscr=yes - -else - - echo "$as_me:14639: checking for initscr in -lHcurses" >&5 -echo $ECHO_N "checking for initscr in -lHcurses... $ECHO_C" >&6 -if test "${ac_cv_lib_Hcurses_initscr+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lHcurses $LIBS" -cat >"conftest.$ac_ext" <<_ACEOF -#line 14647 "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char initscr (); -int -main (void) -{ -initscr (); - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:14666: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:14669: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:14672: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:14675: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - ac_cv_lib_Hcurses_initscr=yes -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -ac_cv_lib_Hcurses_initscr=no -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:14686: result: $ac_cv_lib_Hcurses_initscr" >&5 -echo "${ECHO_T}$ac_cv_lib_Hcurses_initscr" >&6 -if test "$ac_cv_lib_Hcurses_initscr" = yes; then - - # HP's header uses __HP_CURSES, but user claims _HP_CURSES. - -cf_add_libs="$LIBS" -# reverse order -cf_add_0lib= -for cf_add_1lib in -lHcurses; do cf_add_0lib="$cf_add_1lib $cf_add_0lib"; done -# filter duplicates -for cf_add_1lib in $cf_add_0lib; do - for cf_add_2lib in $cf_add_libs; do - if test "x$cf_add_1lib" = "x$cf_add_2lib"; then - cf_add_1lib= - break - fi - done - test -n "$cf_add_1lib" && cf_add_libs="$cf_add_1lib $cf_add_libs" -done -LIBS="$cf_add_libs" - - test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS " - CPPFLAGS="${CPPFLAGS}-D__HP_CURSES -D_HP_CURSES" - - ac_cv_func_initscr=yes - -fi - -fi - - fi - ;; -(linux*) - case `arch 2>/dev/null` in - (x86_64) - if test -d /lib64 - then - -if test -n "/lib64" ; then - for cf_add_libdir in /lib64 - do - if test "$cf_add_libdir" = /usr/lib ; then - : - elif test -d "$cf_add_libdir" - then - cf_have_libdir=no - if test -n "$LDFLAGS$LIBS" ; then - # a loop is needed to ensure we can add subdirs of existing dirs - for cf_test_libdir in $LDFLAGS $LIBS ; do - if test ".$cf_test_libdir" = ".-L$cf_add_libdir" ; then - cf_have_libdir=yes; break - fi - done - fi - if test "$cf_have_libdir" = no ; then - test -n "$verbose" && echo " adding $cf_add_libdir to library-path" 1>&6 - -echo "${as_me:-configure}:14744: testing adding $cf_add_libdir to library-path ..." 1>&5 - - LDFLAGS="-L$cf_add_libdir $LDFLAGS" - fi - fi - done -fi - - else - -if test -n "/lib" ; then - for cf_add_libdir in /lib - do - if test "$cf_add_libdir" = /usr/lib ; then - : - elif test -d "$cf_add_libdir" - then - cf_have_libdir=no - if test -n "$LDFLAGS$LIBS" ; then - # a loop is needed to ensure we can add subdirs of existing dirs - for cf_test_libdir in $LDFLAGS $LIBS ; do - if test ".$cf_test_libdir" = ".-L$cf_add_libdir" ; then - cf_have_libdir=yes; break - fi - done - fi - if test "$cf_have_libdir" = no ; then - test -n "$verbose" && echo " adding $cf_add_libdir to library-path" 1>&6 - -echo "${as_me:-configure}:14773: testing adding $cf_add_libdir to library-path ..." 1>&5 - - LDFLAGS="-L$cf_add_libdir $LDFLAGS" - fi - fi - done -fi - - fi - ;; - (*) - -if test -n "/lib" ; then - for cf_add_libdir in /lib - do - if test "$cf_add_libdir" = /usr/lib ; then - : - elif test -d "$cf_add_libdir" - then - cf_have_libdir=no - if test -n "$LDFLAGS$LIBS" ; then - # a loop is needed to ensure we can add subdirs of existing dirs - for cf_test_libdir in $LDFLAGS $LIBS ; do - if test ".$cf_test_libdir" = ".-L$cf_add_libdir" ; then - cf_have_libdir=yes; break - fi - done - fi - if test "$cf_have_libdir" = no ; then - test -n "$verbose" && echo " adding $cf_add_libdir to library-path" 1>&6 - -echo "${as_me:-configure}:14804: testing adding $cf_add_libdir to library-path ..." 1>&5 - - LDFLAGS="-L$cf_add_libdir $LDFLAGS" - fi - fi - done -fi - - ;; - esac - ;; -(sunos3*|sunos4*) - if test "x$cf_cv_screen" = "xcurses_5lib" - then - if test -d /usr/5lib ; then - -if test -n "/usr/5lib" ; then - for cf_add_libdir in /usr/5lib - do - if test "$cf_add_libdir" = /usr/lib ; then - : - elif test -d "$cf_add_libdir" - then - cf_have_libdir=no - if test -n "$LDFLAGS$LIBS" ; then - # a loop is needed to ensure we can add subdirs of existing dirs - for cf_test_libdir in $LDFLAGS $LIBS ; do - if test ".$cf_test_libdir" = ".-L$cf_add_libdir" ; then - cf_have_libdir=yes; break - fi - done - fi - if test "$cf_have_libdir" = no ; then - test -n "$verbose" && echo " adding $cf_add_libdir to library-path" 1>&6 - -echo "${as_me:-configure}:14839: testing adding $cf_add_libdir to library-path ..." 1>&5 - - LDFLAGS="-L$cf_add_libdir $LDFLAGS" - fi - fi - done -fi - -cf_add_libs="$LIBS" -# reverse order -cf_add_0lib= -for cf_add_1lib in -lcurses -ltermcap; do cf_add_0lib="$cf_add_1lib $cf_add_0lib"; done -# filter duplicates -for cf_add_1lib in $cf_add_0lib; do - for cf_add_2lib in $cf_add_libs; do - if test "x$cf_add_1lib" = "x$cf_add_2lib"; then - cf_add_1lib= - break - fi - done - test -n "$cf_add_1lib" && cf_add_libs="$cf_add_1lib $cf_add_libs" -done -LIBS="$cf_add_libs" - - fi - fi - ac_cv_func_initscr=yes - ;; -esac - -if test ".$ac_cv_func_initscr" != .yes ; then - cf_save_LIBS="$LIBS" - - if test ".${cf_cv_ncurses_version:-no}" != .no - then - cf_check_list="ncurses curses cursesX" - else - cf_check_list="cursesX curses ncurses" - fi - - # Check for library containing tgoto. Do this before curses library - # because it may be needed to link the test-case for initscr. - if test "x$cf_term_lib" = x - then - echo "$as_me:14883: checking for tgoto" >&5 -echo $ECHO_N "checking for tgoto... $ECHO_C" >&6 -if test "${ac_cv_func_tgoto+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >"conftest.$ac_ext" <<_ACEOF -#line 14889 "configure" -#include "confdefs.h" -#define tgoto autoconf_temporary -#include <limits.h> /* least-intrusive standard header which defines gcc2 __stub macros */ -#undef tgoto - -#ifdef __cplusplus -extern "C" -#endif - -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char tgoto (void); - -int -main (void) -{ - -/* The GNU C library defines stubs for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_tgoto) || defined (__stub___tgoto) -#error found stub for tgoto -#endif - - return tgoto (); - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:14920: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:14923: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:14926: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:14929: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - ac_cv_func_tgoto=yes -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -ac_cv_func_tgoto=no -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" -fi -echo "$as_me:14939: result: $ac_cv_func_tgoto" >&5 -echo "${ECHO_T}$ac_cv_func_tgoto" >&6 -if test "$ac_cv_func_tgoto" = yes; then - cf_term_lib=predefined -else - - for cf_term_lib in $cf_check_list otermcap termcap tinfo termlib unknown - do - as_ac_Lib=`echo "ac_cv_lib_$cf_term_lib''_tgoto" | $as_tr_sh` -echo "$as_me:14948: checking for tgoto in -l$cf_term_lib" >&5 -echo $ECHO_N "checking for tgoto in -l$cf_term_lib... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Lib+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-l$cf_term_lib $LIBS" -cat >"conftest.$ac_ext" <<_ACEOF -#line 14956 "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char tgoto (); -int -main (void) -{ -tgoto (); - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:14975: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:14978: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:14981: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:14984: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - eval "$as_ac_Lib=yes" -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -eval "$as_ac_Lib=no" -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:14995: result: `eval echo '${'"$as_ac_Lib"'}'`" >&5 -echo "${ECHO_T}`eval echo '${'"$as_ac_Lib"'}'`" >&6 -if test "`eval echo '${'"$as_ac_Lib"'}'`" = yes; then - - : "${cf_nculib_root:=$cf_term_lib}" - break - -fi - - done - -fi - - fi - - # Check for library containing initscr - test "$cf_term_lib" != predefined && test "$cf_term_lib" != unknown && LIBS="-l$cf_term_lib $cf_save_LIBS" - if test "x$cf_curs_lib" = x - then - for cf_curs_lib in $cf_check_list xcurses jcurses pdcurses unknown - do - LIBS="-l$cf_curs_lib $cf_save_LIBS" - if test "$cf_term_lib" = unknown || test "$cf_term_lib" = "$cf_curs_lib" ; then - echo "$as_me:15018: checking if we can link with $cf_curs_lib library" >&5 -echo $ECHO_N "checking if we can link with $cf_curs_lib library... $ECHO_C" >&6 - cat >"conftest.$ac_ext" <<_ACEOF -#line 15021 "configure" -#include "confdefs.h" -#include <${cf_cv_ncurses_header:-curses.h}> -int -main (void) -{ -initscr() - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:15033: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:15036: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:15039: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:15042: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - cf_result=yes -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -cf_result=no -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" - echo "$as_me:15051: result: $cf_result" >&5 -echo "${ECHO_T}$cf_result" >&6 - test "$cf_result" = yes && break - elif test "$cf_curs_lib" = "$cf_term_lib" ; then - cf_result=no - elif test "$cf_term_lib" != predefined ; then - echo "$as_me:15057: checking if we need both $cf_curs_lib and $cf_term_lib libraries" >&5 -echo $ECHO_N "checking if we need both $cf_curs_lib and $cf_term_lib libraries... $ECHO_C" >&6 - cat >"conftest.$ac_ext" <<_ACEOF -#line 15060 "configure" -#include "confdefs.h" -#include <${cf_cv_ncurses_header:-curses.h}> -int -main (void) -{ -initscr(); tgoto((char *)0, 0, 0); - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:15072: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:15075: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:15078: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:15081: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - cf_result=no -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 - - LIBS="-l$cf_curs_lib -l$cf_term_lib $cf_save_LIBS" - cat >"conftest.$ac_ext" <<_ACEOF -#line 15090 "configure" -#include "confdefs.h" -#include <${cf_cv_ncurses_header:-curses.h}> -int -main (void) -{ -initscr() - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:15102: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:15105: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:15108: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:15111: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - cf_result=yes -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -cf_result=error -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" - -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" - echo "$as_me:15123: result: $cf_result" >&5 -echo "${ECHO_T}$cf_result" >&6 - test "$cf_result" != error && break - fi - done - fi - test "$cf_curs_lib" = unknown && { { echo "$as_me:15129: error: no curses library found" >&5 -echo "$as_me: error: no curses library found" >&2;} - { (exit 1); exit 1; }; } -fi -fi - - ;; -(ncursesw*) - -echo "$as_me:15138: checking for multibyte character support" >&5 -echo $ECHO_N "checking for multibyte character support... $ECHO_C" >&6 -if test "${cf_cv_utf8_lib+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - cf_save_LIBS="$LIBS" - cat >"conftest.$ac_ext" <<_ACEOF -#line 15146 "configure" -#include "confdefs.h" - -#include <stdlib.h> -int -main (void) -{ -putwc(0,0); - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:15159: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:15162: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:15165: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:15168: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - cf_cv_utf8_lib=yes -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 - -# If the linkage is not already in the $CPPFLAGS/$LDFLAGS configuration, these -# will be set on completion of the AC_TRY_LINK below. -cf_cv_header_path_utf8= -cf_cv_library_path_utf8= - -echo "${as_me:-configure}:15180: testing Starting FIND_LINKAGE(utf8,) ..." 1>&5 - -cf_save_LIBS="$LIBS" - -cat >"conftest.$ac_ext" <<_ACEOF -#line 15185 "configure" -#include "confdefs.h" - -#include <libutf8.h> -int -main (void) -{ -putwc(0,0); - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:15198: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:15201: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:15204: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:15207: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - - cf_cv_find_linkage_utf8=yes - cf_cv_header_path_utf8=/usr/include - cf_cv_library_path_utf8=/usr/lib - -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 - -LIBS="-lutf8 $cf_save_LIBS" - -cat >"conftest.$ac_ext" <<_ACEOF -#line 15221 "configure" -#include "confdefs.h" - -#include <libutf8.h> -int -main (void) -{ -putwc(0,0); - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:15234: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:15237: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:15240: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:15243: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - - cf_cv_find_linkage_utf8=yes - cf_cv_header_path_utf8=/usr/include - cf_cv_library_path_utf8=/usr/lib - cf_cv_library_file_utf8="-lutf8" - -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 - - cf_cv_find_linkage_utf8=no - LIBS="$cf_save_LIBS" - - test -n "$verbose" && echo " find linkage for utf8 library" 1>&6 - -echo "${as_me:-configure}:15260: testing find linkage for utf8 library ..." 1>&5 - -echo "${as_me:-configure}:15262: testing Searching for headers in FIND_LINKAGE(utf8,) ..." 1>&5 - - cf_save_CPPFLAGS="$CPPFLAGS" - cf_test_CPPFLAGS="$CPPFLAGS" - -cf_search= - -# collect the current set of include-directories from compiler flags -cf_header_path_list="" -if test -n "${CFLAGS}${CPPFLAGS}" ; then - for cf_header_path in $CPPFLAGS $CFLAGS - do - case "$cf_header_path" in - (-I*) - cf_header_path=`echo ".$cf_header_path" |sed -e 's/^...//' -e 's,/include$,,'` - -test "x$cf_header_path" != "xNONE" && \ -test -d "$cf_header_path" && \ - { - test -n "$verbose" && echo " ... testing for include-directories under $cf_header_path" - test -d "$cf_header_path/include" && cf_search="$cf_search $cf_header_path/include" - test -d "$cf_header_path/include/utf8" && cf_search="$cf_search $cf_header_path/include/utf8" - test -d "$cf_header_path/include/utf8/include" && cf_search="$cf_search $cf_header_path/include/utf8/include" - test -d "$cf_header_path/utf8/include" && cf_search="$cf_search $cf_header_path/utf8/include" - test -d "$cf_header_path/utf8/include/utf8" && cf_search="$cf_search $cf_header_path/utf8/include/utf8" -} - - cf_header_path_list="$cf_header_path_list $cf_search" - ;; - esac - done -fi - -# add the variations for the package we are looking for - -cf_search= - -test "x$prefix" != "xNONE" && \ -test -d "$prefix" && \ - { - test -n "$verbose" && echo " ... testing for include-directories under $prefix" - test -d "$prefix/include" && cf_search="$cf_search $prefix/include" - test -d "$prefix/include/utf8" && cf_search="$cf_search $prefix/include/utf8" - test -d "$prefix/include/utf8/include" && cf_search="$cf_search $prefix/include/utf8/include" - test -d "$prefix/utf8/include" && cf_search="$cf_search $prefix/utf8/include" - test -d "$prefix/utf8/include/utf8" && cf_search="$cf_search $prefix/utf8/include/utf8" -} - -for cf_subdir_prefix in \ - /usr \ - /usr/local \ - /usr/pkg \ - /opt \ - /opt/local \ - $HOME -do - -test "x$cf_subdir_prefix" != "x$prefix" && \ -test -d "$cf_subdir_prefix" && \ -{ test -z "$prefix" || test "x$prefix" = xNONE || test "x$cf_subdir_prefix" != "x$prefix"; } && { - test -n "$verbose" && echo " ... testing for include-directories under $cf_subdir_prefix" - test -d "$cf_subdir_prefix/include" && cf_search="$cf_search $cf_subdir_prefix/include" - test -d "$cf_subdir_prefix/include/utf8" && cf_search="$cf_search $cf_subdir_prefix/include/utf8" - test -d "$cf_subdir_prefix/include/utf8/include" && cf_search="$cf_search $cf_subdir_prefix/include/utf8/include" - test -d "$cf_subdir_prefix/utf8/include" && cf_search="$cf_search $cf_subdir_prefix/utf8/include" - test -d "$cf_subdir_prefix/utf8/include/utf8" && cf_search="$cf_search $cf_subdir_prefix/utf8/include/utf8" -} - -done - -test "$includedir" != NONE && \ -test "$includedir" != "/usr/include" && \ -test -d "$includedir" && { - test -d "$includedir" && cf_search="$cf_search $includedir" - test -d "$includedir/utf8" && cf_search="$cf_search $includedir/utf8" -} - -test "$oldincludedir" != NONE && \ -test "$oldincludedir" != "/usr/include" && \ -test -d "$oldincludedir" && { - test -d "$oldincludedir" && cf_search="$cf_search $oldincludedir" - test -d "$oldincludedir/utf8" && cf_search="$cf_search $oldincludedir/utf8" -} - -cf_search="$cf_search $cf_header_path_list" - - for cf_cv_header_path_utf8 in $cf_search - do - if test -d "$cf_cv_header_path_utf8" ; then - test -n "$verbose" && echo " ... testing $cf_cv_header_path_utf8" 1>&6 - -echo "${as_me:-configure}:15353: testing ... testing $cf_cv_header_path_utf8 ..." 1>&5 - - CPPFLAGS="$cf_save_CPPFLAGS" - - test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS " - CPPFLAGS="${CPPFLAGS}-I$cf_cv_header_path_utf8" - - cat >"conftest.$ac_ext" <<_ACEOF -#line 15361 "configure" -#include "confdefs.h" - -#include <libutf8.h> -int -main (void) -{ -putwc(0,0); - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:15374: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:15377: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:15380: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:15383: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - - test -n "$verbose" && echo " ... found utf8 headers in $cf_cv_header_path_utf8" 1>&6 - -echo "${as_me:-configure}:15388: testing ... found utf8 headers in $cf_cv_header_path_utf8 ..." 1>&5 - - cf_cv_find_linkage_utf8=maybe - cf_test_CPPFLAGS="$CPPFLAGS" - break -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 - - CPPFLAGS="$cf_save_CPPFLAGS" - -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" - fi - done - - if test "$cf_cv_find_linkage_utf8" = maybe ; then - -echo "${as_me:-configure}:15406: testing Searching for utf8 library in FIND_LINKAGE(utf8,) ..." 1>&5 - - cf_save_LIBS="$LIBS" - cf_save_LDFLAGS="$LDFLAGS" - - if test "$cf_cv_find_linkage_utf8" != yes ; then - -cf_search= -cf_library_path_list="" -if test -n "${LDFLAGS}${LIBS}" ; then - for cf_library_path in $LDFLAGS $LIBS - do - case "$cf_library_path" in - (-L*) - cf_library_path=`echo ".$cf_library_path" |sed -e 's/^...//' -e 's,/lib$,,'` - -test "x$cf_library_path" != "xNONE" && \ -test -d "$cf_library_path" && \ - { - test -n "$verbose" && echo " ... testing for lib-directories under $cf_library_path" - test -d "$cf_library_path/lib" && cf_search="$cf_search $cf_library_path/lib" - test -d "$cf_library_path/lib/utf8" && cf_search="$cf_search $cf_library_path/lib/utf8" - test -d "$cf_library_path/lib/utf8/lib" && cf_search="$cf_search $cf_library_path/lib/utf8/lib" - test -d "$cf_library_path/utf8/lib" && cf_search="$cf_search $cf_library_path/utf8/lib" - test -d "$cf_library_path/utf8/lib/utf8" && cf_search="$cf_search $cf_library_path/utf8/lib/utf8" -} - - cf_library_path_list="$cf_library_path_list $cf_search" - ;; - esac - done -fi - -cf_search= - -test "x$prefix" != "xNONE" && \ -test -d "$prefix" && \ - { - test -n "$verbose" && echo " ... testing for lib-directories under $prefix" - test -d "$prefix/lib" && cf_search="$cf_search $prefix/lib" - test -d "$prefix/lib/utf8" && cf_search="$cf_search $prefix/lib/utf8" - test -d "$prefix/lib/utf8/lib" && cf_search="$cf_search $prefix/lib/utf8/lib" - test -d "$prefix/utf8/lib" && cf_search="$cf_search $prefix/utf8/lib" - test -d "$prefix/utf8/lib/utf8" && cf_search="$cf_search $prefix/utf8/lib/utf8" -} - -for cf_subdir_prefix in \ - /usr \ - /usr/local \ - /usr/pkg \ - /opt \ - /opt/local \ - $HOME -do - -test "x$cf_subdir_prefix" != "x$prefix" && \ -test -d "$cf_subdir_prefix" && \ -{ test -z "$prefix" || test "x$prefix" = xNONE || test "x$cf_subdir_prefix" != "x$prefix"; } && { - test -n "$verbose" && echo " ... testing for lib-directories under $cf_subdir_prefix" - test -d "$cf_subdir_prefix/lib" && cf_search="$cf_search $cf_subdir_prefix/lib" - test -d "$cf_subdir_prefix/lib/utf8" && cf_search="$cf_search $cf_subdir_prefix/lib/utf8" - test -d "$cf_subdir_prefix/lib/utf8/lib" && cf_search="$cf_search $cf_subdir_prefix/lib/utf8/lib" - test -d "$cf_subdir_prefix/utf8/lib" && cf_search="$cf_search $cf_subdir_prefix/utf8/lib" - test -d "$cf_subdir_prefix/utf8/lib/utf8" && cf_search="$cf_search $cf_subdir_prefix/utf8/lib/utf8" -} - -done - -cf_search="$cf_library_path_list $cf_search" - - for cf_cv_library_path_utf8 in $cf_search - do - if test -d "$cf_cv_library_path_utf8" ; then - test -n "$verbose" && echo " ... testing $cf_cv_library_path_utf8" 1>&6 - -echo "${as_me:-configure}:15481: testing ... testing $cf_cv_library_path_utf8 ..." 1>&5 - - CPPFLAGS="$cf_test_CPPFLAGS" - LIBS="-lutf8 $cf_save_LIBS" - LDFLAGS="$cf_save_LDFLAGS -L$cf_cv_library_path_utf8" - cat >"conftest.$ac_ext" <<_ACEOF -#line 15487 "configure" -#include "confdefs.h" - -#include <libutf8.h> -int -main (void) -{ -putwc(0,0); - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:15500: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:15503: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:15506: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:15509: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - - test -n "$verbose" && echo " ... found utf8 library in $cf_cv_library_path_utf8" 1>&6 - -echo "${as_me:-configure}:15514: testing ... found utf8 library in $cf_cv_library_path_utf8 ..." 1>&5 - - cf_cv_find_linkage_utf8=yes - cf_cv_library_file_utf8="-lutf8" - break -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 - - CPPFLAGS="$cf_save_CPPFLAGS" - LIBS="$cf_save_LIBS" - LDFLAGS="$cf_save_LDFLAGS" - -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" - fi - done - CPPFLAGS="$cf_save_CPPFLAGS" - LDFLAGS="$cf_save_LDFLAGS" - fi - - else - cf_cv_find_linkage_utf8=no - fi - -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" - -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" - -LIBS="$cf_save_LIBS" - -if test "$cf_cv_find_linkage_utf8" = yes ; then -cf_cv_utf8_lib=add-on -else -cf_cv_utf8_lib=no -fi - -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" -fi -echo "$as_me:15556: result: $cf_cv_utf8_lib" >&5 -echo "${ECHO_T}$cf_cv_utf8_lib" >&6 - -# HAVE_LIBUTF8_H is used by ncurses if curses.h is shared between -# ncurses/ncursesw: -if test "$cf_cv_utf8_lib" = "add-on" ; then - -cat >>confdefs.h <<\EOF -#define HAVE_LIBUTF8_H 1 -EOF - -if test -n "$cf_cv_header_path_utf8" ; then - for cf_add_incdir in $cf_cv_header_path_utf8 - do - while test "$cf_add_incdir" != /usr/include - do - if test -d "$cf_add_incdir" - then - cf_have_incdir=no - if test -n "$CFLAGS$CPPFLAGS" ; then - # a loop is needed to ensure we can add subdirs of existing dirs - for cf_test_incdir in $CFLAGS $CPPFLAGS ; do - if test ".$cf_test_incdir" = ".-I$cf_add_incdir" ; then - cf_have_incdir=yes; break - fi - done - fi - - if test "$cf_have_incdir" = no ; then - if test "$cf_add_incdir" = /usr/local/include ; then - if test "$GCC" = yes - then - cf_save_CPPFLAGS=$CPPFLAGS - - test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS " - CPPFLAGS="${CPPFLAGS}-I$cf_add_incdir" - - cat >"conftest.$ac_ext" <<_ACEOF -#line 15594 "configure" -#include "confdefs.h" -#include <stdio.h> -int -main (void) -{ -printf("Hello") - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:15606: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:15609: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:15612: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:15615: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - : -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -cf_have_incdir=yes -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" - CPPFLAGS=$cf_save_CPPFLAGS - fi - fi - fi - - if test "$cf_have_incdir" = no ; then - test -n "$verbose" && echo " adding $cf_add_incdir to include-path" 1>&6 - -echo "${as_me:-configure}:15632: testing adding $cf_add_incdir to include-path ..." 1>&5 - - CPPFLAGS="$CPPFLAGS -I$cf_add_incdir" - - cf_top_incdir=`echo "$cf_add_incdir" | sed -e 's%/include/.*$%/include%'` - test "$cf_top_incdir" = "$cf_add_incdir" && break - cf_add_incdir="$cf_top_incdir" - else - break - fi - else - break - fi - done - done -fi - -if test -n "$cf_cv_library_path_utf8" ; then - for cf_add_libdir in $cf_cv_library_path_utf8 - do - if test "$cf_add_libdir" = /usr/lib ; then - : - elif test -d "$cf_add_libdir" - then - cf_have_libdir=no - if test -n "$LDFLAGS$LIBS" ; then - # a loop is needed to ensure we can add subdirs of existing dirs - for cf_test_libdir in $LDFLAGS $LIBS ; do - if test ".$cf_test_libdir" = ".-L$cf_add_libdir" ; then - cf_have_libdir=yes; break - fi - done - fi - if test "$cf_have_libdir" = no ; then - test -n "$verbose" && echo " adding $cf_add_libdir to library-path" 1>&6 - -echo "${as_me:-configure}:15668: testing adding $cf_add_libdir to library-path ..." 1>&5 - - LDFLAGS="-L$cf_add_libdir $LDFLAGS" - fi - fi - done -fi - -cf_add_libs="$LIBS" -# reverse order -cf_add_0lib= -for cf_add_1lib in $cf_cv_library_file_utf8; do cf_add_0lib="$cf_add_1lib $cf_add_0lib"; done -# filter duplicates -for cf_add_1lib in $cf_add_0lib; do - for cf_add_2lib in $cf_add_libs; do - if test "x$cf_add_1lib" = "x$cf_add_2lib"; then - cf_add_1lib= - break - fi - done - test -n "$cf_add_1lib" && cf_add_libs="$cf_add_1lib $cf_add_libs" -done -LIBS="$cf_add_libs" - -fi - -cf_ncuconfig_root=$cf_cv_screen -cf_have_ncuconfig=no - -if test "x${PKG_CONFIG:=none}" != xnone; then - echo "$as_me:15698: checking pkg-config for $cf_ncuconfig_root" >&5 -echo $ECHO_N "checking pkg-config for $cf_ncuconfig_root... $ECHO_C" >&6 - if "$PKG_CONFIG" --exists $cf_ncuconfig_root ; then - echo "$as_me:15701: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - - echo "$as_me:15704: checking if the $cf_ncuconfig_root package files work" >&5 -echo $ECHO_N "checking if the $cf_ncuconfig_root package files work... $ECHO_C" >&6 - cf_have_ncuconfig=unknown - - cf_save_CFLAGS="$CFLAGS" - cf_save_CPPFLAGS="$CPPFLAGS" - cf_save_LIBS="$LIBS" - - cf_pkg_cflags="`$PKG_CONFIG --cflags $cf_ncuconfig_root`" - cf_pkg_libs="`$PKG_CONFIG --libs $cf_ncuconfig_root`" - - # while -W for passing linker flags is prevalent, it is not "standard". - # At least one wrapper for c89/c99 (in Apple's xcode) has its own - # incompatible _and_ non-standard -W option which gives an error. Work - # around that pitfall. - case "x${CC}@@${cf_pkg_libs}@${cf_pkg_cflags}" in - (x*c[89]9@@*-W*) - -cf_fix_cppflags=no -cf_new_cflags= -cf_new_cppflags= -cf_new_extra_cppflags= - -for cf_add_cflags in $cf_pkg_cflags -do -case "$cf_fix_cppflags" in -(no) - case "$cf_add_cflags" in - (-undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) - case "$cf_add_cflags" in - (-D*) - cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^-D[^=]*='\''\"[^"]*//'` - - test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=yes - - if test "$cf_fix_cppflags" = yes ; then - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - continue - elif test "${cf_tst_cflags}" = "\"'" ; then - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - continue - fi - ;; - esac - case "$CPPFLAGS" in - (*$cf_add_cflags) - ;; - (*) - case "$cf_add_cflags" in - (-D*) - cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'` - -CPPFLAGS=`echo "$CPPFLAGS" | \ - sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \ - -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'` - - ;; - esac - - test -n "$cf_new_cppflags" && cf_new_cppflags="$cf_new_cppflags " - cf_new_cppflags="${cf_new_cppflags}$cf_add_cflags" - - ;; - esac - ;; - (*) - - test -n "$cf_new_cflags" && cf_new_cflags="$cf_new_cflags " - cf_new_cflags="${cf_new_cflags}$cf_add_cflags" - - ;; - esac - ;; -(yes) - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^[^"]*"'\''//'` - - test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=no - ;; -esac -done - -if test -n "$cf_new_cflags" ; then - - test -n "$CFLAGS" && CFLAGS="$CFLAGS " - CFLAGS="${CFLAGS}$cf_new_cflags" - -fi - -if test -n "$cf_new_cppflags" ; then - - test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS " - CPPFLAGS="${CPPFLAGS}$cf_new_cppflags" - -fi - -if test -n "$cf_new_extra_cppflags" ; then - - test -n "$EXTRA_CPPFLAGS" && EXTRA_CPPFLAGS="$EXTRA_CPPFLAGS " - EXTRA_CPPFLAGS="${EXTRA_CPPFLAGS}$cf_new_extra_cppflags" - -fi - -cf_add_libs="$LIBS" -# reverse order -cf_add_0lib= -for cf_add_1lib in $cf_pkg_libs; do cf_add_0lib="$cf_add_1lib $cf_add_0lib"; done -# filter duplicates -for cf_add_1lib in $cf_add_0lib; do - for cf_add_2lib in $cf_add_libs; do - if test "x$cf_add_1lib" = "x$cf_add_2lib"; then - cf_add_1lib= - break - fi - done - test -n "$cf_add_1lib" && cf_add_libs="$cf_add_1lib $cf_add_libs" -done -LIBS="$cf_add_libs" - - cat >"conftest.$ac_ext" <<_ACEOF -#line 15837 "configure" -#include "confdefs.h" -#include <${cf_cv_ncurses_header:-curses.h}> -int -main (void) -{ -initscr(); mousemask(0,0); tigetstr((char *)0); - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:15849: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:15852: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:15855: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:15858: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - if test "$cross_compiling" = yes; then - cf_test_ncuconfig=maybe -else - cat >"conftest.$ac_ext" <<_ACEOF -#line 15864 "configure" -#include "confdefs.h" -#include <${cf_cv_ncurses_header:-curses.h}> - int main(void) - { char *xx = curses_version(); return (xx == 0); } -_ACEOF -rm -f "conftest$ac_exeext" -if { (eval echo "$as_me:15871: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:15874: \$? = $ac_status" >&5 - (exit "$ac_status"); } && { ac_try='"./conftest$ac_exeext"' - { (eval echo "$as_me:15876: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:15879: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - cf_test_ncuconfig=yes -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -cf_test_ncuconfig=no -fi -rm -f core ./core.* ./*.core "conftest$ac_exeext" "conftest.$ac_objext" "conftest.$ac_ext" -fi -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -cf_test_ncuconfig=no -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" - - CFLAGS="$cf_save_CFLAGS" - CPPFLAGS="$cf_save_CPPFLAGS" - LIBS="$cf_save_LIBS" - - if test "x$cf_test_ncuconfig" != xyes; then - cf_temp=`echo "x$cf_pkg_cflags" | sed -e s/^x// -e 's/-W[^ ]*//g'` - cf_pkg_cflags="$cf_temp" - cf_temp=`echo "x$cf_pkg_libs" | sed -e s/^x// -e 's/-W[^ ]*//g'` - cf_pkg_libs="$cf_temp" - fi - ;; - esac - -cf_fix_cppflags=no -cf_new_cflags= -cf_new_cppflags= -cf_new_extra_cppflags= - -for cf_add_cflags in $cf_pkg_cflags -do -case "$cf_fix_cppflags" in -(no) - case "$cf_add_cflags" in - (-undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) - case "$cf_add_cflags" in - (-D*) - cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^-D[^=]*='\''\"[^"]*//'` - - test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=yes - - if test "$cf_fix_cppflags" = yes ; then - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - continue - elif test "${cf_tst_cflags}" = "\"'" ; then - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - continue - fi - ;; - esac - case "$CPPFLAGS" in - (*$cf_add_cflags) - ;; - (*) - case "$cf_add_cflags" in - (-D*) - cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'` - -CPPFLAGS=`echo "$CPPFLAGS" | \ - sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \ - -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'` - - ;; - esac - - test -n "$cf_new_cppflags" && cf_new_cppflags="$cf_new_cppflags " - cf_new_cppflags="${cf_new_cppflags}$cf_add_cflags" - - ;; - esac - ;; - (*) - - test -n "$cf_new_cflags" && cf_new_cflags="$cf_new_cflags " - cf_new_cflags="${cf_new_cflags}$cf_add_cflags" - - ;; - esac - ;; -(yes) - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^[^"]*"'\''//'` - - test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=no - ;; -esac -done - -if test -n "$cf_new_cflags" ; then - - test -n "$CFLAGS" && CFLAGS="$CFLAGS " - CFLAGS="${CFLAGS}$cf_new_cflags" - -fi - -if test -n "$cf_new_cppflags" ; then - - test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS " - CPPFLAGS="${CPPFLAGS}$cf_new_cppflags" - -fi - -if test -n "$cf_new_extra_cppflags" ; then - - test -n "$EXTRA_CPPFLAGS" && EXTRA_CPPFLAGS="$EXTRA_CPPFLAGS " - EXTRA_CPPFLAGS="${EXTRA_CPPFLAGS}$cf_new_extra_cppflags" - -fi - -cf_add_libs="$LIBS" -# reverse order -cf_add_0lib= -for cf_add_1lib in $cf_pkg_libs; do cf_add_0lib="$cf_add_1lib $cf_add_0lib"; done -# filter duplicates -for cf_add_1lib in $cf_add_0lib; do - for cf_add_2lib in $cf_add_libs; do - if test "x$cf_add_1lib" = "x$cf_add_2lib"; then - cf_add_1lib= - break - fi - done - test -n "$cf_add_1lib" && cf_add_libs="$cf_add_1lib $cf_add_libs" -done -LIBS="$cf_add_libs" - - cat >"conftest.$ac_ext" <<_ACEOF -#line 16025 "configure" -#include "confdefs.h" -#include <${cf_cv_ncurses_header:-curses.h}> -int -main (void) -{ -initscr(); mousemask(0,0); tigetstr((char *)0); - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:16037: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:16040: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:16043: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:16046: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - if test "$cross_compiling" = yes; then - cf_have_ncuconfig=maybe -else - cat >"conftest.$ac_ext" <<_ACEOF -#line 16052 "configure" -#include "confdefs.h" -#include <${cf_cv_ncurses_header:-curses.h}> - int main(void) - { char *xx = curses_version(); return (xx == 0); } -_ACEOF -rm -f "conftest$ac_exeext" -if { (eval echo "$as_me:16059: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:16062: \$? = $ac_status" >&5 - (exit "$ac_status"); } && { ac_try='"./conftest$ac_exeext"' - { (eval echo "$as_me:16064: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:16067: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - cf_have_ncuconfig=yes -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -cf_have_ncuconfig=no -fi -rm -f core ./core.* ./*.core "conftest$ac_exeext" "conftest.$ac_objext" "conftest.$ac_ext" -fi -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -cf_have_ncuconfig=no -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" - echo "$as_me:16084: result: $cf_have_ncuconfig" >&5 -echo "${ECHO_T}$cf_have_ncuconfig" >&6 - test "$cf_have_ncuconfig" = maybe && cf_have_ncuconfig=yes - if test "$cf_have_ncuconfig" != "yes" - then - CPPFLAGS="$cf_save_CPPFLAGS" - LIBS="$cf_save_LIBS" - NCURSES_CONFIG_PKG=none - else - -cat >>confdefs.h <<\EOF -#define NCURSES 1 -EOF - - NCURSES_CONFIG_PKG=$cf_ncuconfig_root - -echo "$as_me:16100: checking for terminfo header" >&5 -echo $ECHO_N "checking for terminfo header... $ECHO_C" >&6 -if test "${cf_cv_term_header+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - -case "${cf_cv_ncurses_header}" in -(*/ncurses.h|*/ncursesw.h) - cf_term_header=`echo "$cf_cv_ncurses_header" | sed -e 's%ncurses[^.]*\.h$%term.h%'` - ;; -(*) - cf_term_header=term.h - ;; -esac - -for cf_test in $cf_term_header "ncurses/term.h" "ncursesw/term.h" -do -cat >"conftest.$ac_ext" <<_ACEOF -#line 16118 "configure" -#include "confdefs.h" -#include <stdio.h> -#include <${cf_cv_ncurses_header:-curses.h}> -#include <$cf_test> - -int -main (void) -{ -int x = auto_left_margin; (void)x - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:16133: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:16136: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:16139: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:16142: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - - cf_cv_term_header="$cf_test" -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 - - cf_cv_term_header=unknown - -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" - test "$cf_cv_term_header" != unknown && break -done - -fi -echo "$as_me:16158: result: $cf_cv_term_header" >&5 -echo "${ECHO_T}$cf_cv_term_header" >&6 - -# Set definitions to allow ifdef'ing to accommodate subdirectories - -case "$cf_cv_term_header" in -(*term.h) - -cat >>confdefs.h <<\EOF -#define HAVE_TERM_H 1 -EOF - - ;; -esac - -case "$cf_cv_term_header" in -(ncurses/term.h) - -cat >>confdefs.h <<\EOF -#define HAVE_NCURSES_TERM_H 1 -EOF - - ;; -(ncursesw/term.h) - -cat >>confdefs.h <<\EOF -#define HAVE_NCURSESW_TERM_H 1 -EOF - - ;; -esac - - fi - - else - echo "$as_me:16193: result: no" >&5 -echo "${ECHO_T}no" >&6 - NCURSES_CONFIG_PKG=none - fi -else - NCURSES_CONFIG_PKG=none -fi - -if test "x$cf_have_ncuconfig" = "xno"; then - cf_ncurses_config="${cf_ncuconfig_root}${NCURSES_CONFIG_SUFFIX}-config"; echo "Looking for ${cf_ncurses_config}" - -if test -n "$ac_tool_prefix"; then - for ac_prog in ${cf_ncurses_config} ${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}5-config - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -echo "$as_me:16209: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_NCURSES_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$NCURSES_CONFIG"; then - ac_cv_prog_NCURSES_CONFIG="$NCURSES_CONFIG" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_NCURSES_CONFIG="$ac_tool_prefix$ac_prog" -echo "$as_me:16224: found $ac_dir/$ac_word" >&5 -break -done - -fi -fi -NCURSES_CONFIG=$ac_cv_prog_NCURSES_CONFIG -if test -n "$NCURSES_CONFIG"; then - echo "$as_me:16232: result: $NCURSES_CONFIG" >&5 -echo "${ECHO_T}$NCURSES_CONFIG" >&6 -else - echo "$as_me:16235: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$NCURSES_CONFIG" && break - done -fi -if test -z "$NCURSES_CONFIG"; then - ac_ct_NCURSES_CONFIG=$NCURSES_CONFIG - for ac_prog in ${cf_ncurses_config} ${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}5-config -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -echo "$as_me:16248: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_NCURSES_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_NCURSES_CONFIG"; then - ac_cv_prog_ac_ct_NCURSES_CONFIG="$ac_ct_NCURSES_CONFIG" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_ac_ct_NCURSES_CONFIG="$ac_prog" -echo "$as_me:16263: found $ac_dir/$ac_word" >&5 -break -done - -fi -fi -ac_ct_NCURSES_CONFIG=$ac_cv_prog_ac_ct_NCURSES_CONFIG -if test -n "$ac_ct_NCURSES_CONFIG"; then - echo "$as_me:16271: result: $ac_ct_NCURSES_CONFIG" >&5 -echo "${ECHO_T}$ac_ct_NCURSES_CONFIG" >&6 -else - echo "$as_me:16274: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$ac_ct_NCURSES_CONFIG" && break -done -test -n "$ac_ct_NCURSES_CONFIG" || ac_ct_NCURSES_CONFIG="none" - - NCURSES_CONFIG=$ac_ct_NCURSES_CONFIG -fi - - if test "$NCURSES_CONFIG" != none ; then - -cf_fix_cppflags=no -cf_new_cflags= -cf_new_cppflags= -cf_new_extra_cppflags= - -for cf_add_cflags in `$NCURSES_CONFIG --cflags` -do -case "$cf_fix_cppflags" in -(no) - case "$cf_add_cflags" in - (-undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) - case "$cf_add_cflags" in - (-D*) - cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^-D[^=]*='\''\"[^"]*//'` - - test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=yes - - if test "$cf_fix_cppflags" = yes ; then - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - continue - elif test "${cf_tst_cflags}" = "\"'" ; then - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - continue - fi - ;; - esac - case "$CPPFLAGS" in - (*$cf_add_cflags) - ;; - (*) - case "$cf_add_cflags" in - (-D*) - cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'` - -CPPFLAGS=`echo "$CPPFLAGS" | \ - sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \ - -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'` - - ;; - esac - - test -n "$cf_new_cppflags" && cf_new_cppflags="$cf_new_cppflags " - cf_new_cppflags="${cf_new_cppflags}$cf_add_cflags" - - ;; - esac - ;; - (*) - - test -n "$cf_new_cflags" && cf_new_cflags="$cf_new_cflags " - cf_new_cflags="${cf_new_cflags}$cf_add_cflags" - - ;; - esac - ;; -(yes) - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^[^"]*"'\''//'` - - test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=no - ;; -esac -done - -if test -n "$cf_new_cflags" ; then - - test -n "$CFLAGS" && CFLAGS="$CFLAGS " - CFLAGS="${CFLAGS}$cf_new_cflags" - -fi - -if test -n "$cf_new_cppflags" ; then - - test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS " - CPPFLAGS="${CPPFLAGS}$cf_new_cppflags" - -fi - -if test -n "$cf_new_extra_cppflags" ; then - - test -n "$EXTRA_CPPFLAGS" && EXTRA_CPPFLAGS="$EXTRA_CPPFLAGS " - EXTRA_CPPFLAGS="${EXTRA_CPPFLAGS}$cf_new_extra_cppflags" - -fi - -cf_add_libs="$LIBS" -# reverse order -cf_add_0lib= -for cf_add_1lib in `$NCURSES_CONFIG --libs`; do cf_add_0lib="$cf_add_1lib $cf_add_0lib"; done -# filter duplicates -for cf_add_1lib in $cf_add_0lib; do - for cf_add_2lib in $cf_add_libs; do - if test "x$cf_add_1lib" = "x$cf_add_2lib"; then - cf_add_1lib= - break - fi - done - test -n "$cf_add_1lib" && cf_add_libs="$cf_add_1lib $cf_add_libs" -done -LIBS="$cf_add_libs" - - # even with config script, some packages use no-override for curses.h - -echo "$as_me:16403: checking if we have identified curses headers" >&5 -echo $ECHO_N "checking if we have identified curses headers... $ECHO_C" >&6 -if test "${cf_cv_ncurses_header+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - -cf_cv_ncurses_header=none -for cf_header in \ - ncurses.h $cf_cv_screen/ncurses.h \ - curses.h $cf_cv_screen/curses.h -do -cat >"conftest.$ac_ext" <<_ACEOF -#line 16415 "configure" -#include "confdefs.h" -#include <${cf_header}> -int -main (void) -{ -initscr(); tgoto("?", 0,0) - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:16427: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:16430: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:16433: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:16436: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - cf_cv_ncurses_header=$cf_header; break -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" -done - -fi -echo "$as_me:16447: result: $cf_cv_ncurses_header" >&5 -echo "${ECHO_T}$cf_cv_ncurses_header" >&6 - -if test "$cf_cv_ncurses_header" = none ; then - { { echo "$as_me:16451: error: No curses header-files found" >&5 -echo "$as_me: error: No curses header-files found" >&2;} - { (exit 1); exit 1; }; } -fi - -# cheat, to get the right #define's for HAVE_NCURSES_H, etc. - -for ac_header in $cf_cv_ncurses_header -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -echo "$as_me:16461: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >"conftest.$ac_ext" <<_ACEOF -#line 16467 "configure" -#include "confdefs.h" -#include <$ac_header> -_ACEOF -if { (eval echo "$as_me:16471: \"$ac_cpp "conftest.$ac_ext"\"") >&5 - (eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - $EGREP -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:16477: \$? = $ac_status" >&5 - (exit "$ac_status"); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - eval "$as_ac_Header=yes" -else - echo "$as_me: failed program was:" >&5 - cat "conftest.$ac_ext" >&5 - eval "$as_ac_Header=no" -fi -rm -f conftest.err "conftest.$ac_ext" -fi -echo "$as_me:16496: result: `eval echo '${'"$as_ac_Header"'}'`" >&5 -echo "${ECHO_T}`eval echo '${'"$as_ac_Header"'}'`" >&6 -if test "`eval echo '${'"$as_ac_Header"'}'`" = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 -EOF - -fi -done - -cat >>confdefs.h <<\EOF -#define NCURSES 1 -EOF - -cf_nculib_ROOT=`echo "HAVE_LIB$cf_ncuconfig_root" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` - - cat >>confdefs.h <<EOF -#define $cf_nculib_ROOT 1 -EOF - - cf_cv_ncurses_version="`$NCURSES_CONFIG --version`" - - else - -cf_ncuhdr_root=$cf_cv_screen - -test -n "$cf_cv_curses_dir" && \ -test "$cf_cv_curses_dir" != "no" && { \ - -if test -n "$cf_cv_curses_dir/include/$cf_ncuhdr_root" ; then - for cf_add_incdir in $cf_cv_curses_dir/include/$cf_ncuhdr_root - do - while test "$cf_add_incdir" != /usr/include - do - if test -d "$cf_add_incdir" - then - cf_have_incdir=no - if test -n "$CFLAGS$CPPFLAGS" ; then - # a loop is needed to ensure we can add subdirs of existing dirs - for cf_test_incdir in $CFLAGS $CPPFLAGS ; do - if test ".$cf_test_incdir" = ".-I$cf_add_incdir" ; then - cf_have_incdir=yes; break - fi - done - fi - - if test "$cf_have_incdir" = no ; then - if test "$cf_add_incdir" = /usr/local/include ; then - if test "$GCC" = yes - then - cf_save_CPPFLAGS=$CPPFLAGS - - test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS " - CPPFLAGS="${CPPFLAGS}-I$cf_add_incdir" - - cat >"conftest.$ac_ext" <<_ACEOF -#line 16552 "configure" -#include "confdefs.h" -#include <stdio.h> -int -main (void) -{ -printf("Hello") - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:16564: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:16567: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:16570: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:16573: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - : -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -cf_have_incdir=yes -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" - CPPFLAGS=$cf_save_CPPFLAGS - fi - fi - fi - - if test "$cf_have_incdir" = no ; then - test -n "$verbose" && echo " adding $cf_add_incdir to include-path" 1>&6 - -echo "${as_me:-configure}:16590: testing adding $cf_add_incdir to include-path ..." 1>&5 - - CPPFLAGS="$CPPFLAGS -I$cf_add_incdir" - - cf_top_incdir=`echo "$cf_add_incdir" | sed -e 's%/include/.*$%/include%'` - test "$cf_top_incdir" = "$cf_add_incdir" && break - cf_add_incdir="$cf_top_incdir" - else - break - fi - else - break - fi - done - done -fi - -} - -echo "$as_me:16609: checking for $cf_ncuhdr_root header in include-path" >&5 -echo $ECHO_N "checking for $cf_ncuhdr_root header in include-path... $ECHO_C" >&6 -if test "${cf_cv_ncurses_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - cf_header_list="$cf_ncuhdr_root/curses.h $cf_ncuhdr_root/ncurses.h" - { test "$cf_ncuhdr_root" = ncurses || test "$cf_ncuhdr_root" = ncursesw; } && cf_header_list="$cf_header_list curses.h ncurses.h" - for cf_header in $cf_header_list - do - - cat >"conftest.$ac_ext" <<_ACEOF -#line 16621 "configure" -#include "confdefs.h" - -#include <$cf_header> -int -main (void) -{ - -#ifdef NCURSES_VERSION - -printf("%s\\n", NCURSES_VERSION); -#else -#ifdef __NCURSES_H -printf("old\\n"); -#else - make an error -#endif -#endif - - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:16645: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:16648: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:16651: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:16654: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - cf_cv_ncurses_h=$cf_header - -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -cf_cv_ncurses_h=no -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" - - test "$cf_cv_ncurses_h" != no && break - done - -fi -echo "$as_me:16669: result: $cf_cv_ncurses_h" >&5 -echo "${ECHO_T}$cf_cv_ncurses_h" >&6 - -if test "$cf_cv_ncurses_h" != no ; then - cf_cv_ncurses_header=$cf_cv_ncurses_h -else - -echo "$as_me:16676: checking for $cf_ncuhdr_root include-path" >&5 -echo $ECHO_N "checking for $cf_ncuhdr_root include-path... $ECHO_C" >&6 -if test "${cf_cv_ncurses_h2+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - test -n "$verbose" && echo - -cf_search= - -# collect the current set of include-directories from compiler flags -cf_header_path_list="" -if test -n "${CFLAGS}${CPPFLAGS}" ; then - for cf_header_path in $CPPFLAGS $CFLAGS - do - case "$cf_header_path" in - (-I*) - cf_header_path=`echo ".$cf_header_path" |sed -e 's/^...//' -e 's,/include$,,'` - -test "x$cf_header_path" != "xNONE" && \ -test -d "$cf_header_path" && \ - { - test -n "$verbose" && echo " ... testing for include-directories under $cf_header_path" - test -d "$cf_header_path/include" && cf_search="$cf_search $cf_header_path/include" - test -d "$cf_header_path/include/$cf_ncuhdr_root" && cf_search="$cf_search $cf_header_path/include/$cf_ncuhdr_root" - test -d "$cf_header_path/include/$cf_ncuhdr_root/include" && cf_search="$cf_search $cf_header_path/include/$cf_ncuhdr_root/include" - test -d "$cf_header_path/$cf_ncuhdr_root/include" && cf_search="$cf_search $cf_header_path/$cf_ncuhdr_root/include" - test -d "$cf_header_path/$cf_ncuhdr_root/include/$cf_ncuhdr_root" && cf_search="$cf_search $cf_header_path/$cf_ncuhdr_root/include/$cf_ncuhdr_root" -} - - cf_header_path_list="$cf_header_path_list $cf_search" - ;; - esac - done -fi - -# add the variations for the package we are looking for - -cf_search= - -test "x$prefix" != "xNONE" && \ -test -d "$prefix" && \ - { - test -n "$verbose" && echo " ... testing for include-directories under $prefix" - test -d "$prefix/include" && cf_search="$cf_search $prefix/include" - test -d "$prefix/include/$cf_ncuhdr_root" && cf_search="$cf_search $prefix/include/$cf_ncuhdr_root" - test -d "$prefix/include/$cf_ncuhdr_root/include" && cf_search="$cf_search $prefix/include/$cf_ncuhdr_root/include" - test -d "$prefix/$cf_ncuhdr_root/include" && cf_search="$cf_search $prefix/$cf_ncuhdr_root/include" - test -d "$prefix/$cf_ncuhdr_root/include/$cf_ncuhdr_root" && cf_search="$cf_search $prefix/$cf_ncuhdr_root/include/$cf_ncuhdr_root" -} - -for cf_subdir_prefix in \ - /usr \ - /usr/local \ - /usr/pkg \ - /opt \ - /opt/local \ - $HOME -do - -test "x$cf_subdir_prefix" != "x$prefix" && \ -test -d "$cf_subdir_prefix" && \ -{ test -z "$prefix" || test "x$prefix" = xNONE || test "x$cf_subdir_prefix" != "x$prefix"; } && { - test -n "$verbose" && echo " ... testing for include-directories under $cf_subdir_prefix" - test -d "$cf_subdir_prefix/include" && cf_search="$cf_search $cf_subdir_prefix/include" - test -d "$cf_subdir_prefix/include/$cf_ncuhdr_root" && cf_search="$cf_search $cf_subdir_prefix/include/$cf_ncuhdr_root" - test -d "$cf_subdir_prefix/include/$cf_ncuhdr_root/include" && cf_search="$cf_search $cf_subdir_prefix/include/$cf_ncuhdr_root/include" - test -d "$cf_subdir_prefix/$cf_ncuhdr_root/include" && cf_search="$cf_search $cf_subdir_prefix/$cf_ncuhdr_root/include" - test -d "$cf_subdir_prefix/$cf_ncuhdr_root/include/$cf_ncuhdr_root" && cf_search="$cf_search $cf_subdir_prefix/$cf_ncuhdr_root/include/$cf_ncuhdr_root" -} - -done - -test "$includedir" != NONE && \ -test "$includedir" != "/usr/include" && \ -test -d "$includedir" && { - test -d "$includedir" && cf_search="$cf_search $includedir" - test -d "$includedir/$cf_ncuhdr_root" && cf_search="$cf_search $includedir/$cf_ncuhdr_root" -} - -test "$oldincludedir" != NONE && \ -test "$oldincludedir" != "/usr/include" && \ -test -d "$oldincludedir" && { - test -d "$oldincludedir" && cf_search="$cf_search $oldincludedir" - test -d "$oldincludedir/$cf_ncuhdr_root" && cf_search="$cf_search $oldincludedir/$cf_ncuhdr_root" -} - -cf_search="$cf_search $cf_header_path_list" - - test -n "$verbose" && echo "search path $cf_search" - cf_save2_CPPFLAGS="$CPPFLAGS" - for cf_incdir in $cf_search - do - -if test -n "$cf_incdir" ; then - for cf_add_incdir in $cf_incdir - do - while test "$cf_add_incdir" != /usr/include - do - if test -d "$cf_add_incdir" - then - cf_have_incdir=no - if test -n "$CFLAGS$CPPFLAGS" ; then - # a loop is needed to ensure we can add subdirs of existing dirs - for cf_test_incdir in $CFLAGS $CPPFLAGS ; do - if test ".$cf_test_incdir" = ".-I$cf_add_incdir" ; then - cf_have_incdir=yes; break - fi - done - fi - - if test "$cf_have_incdir" = no ; then - if test "$cf_add_incdir" = /usr/local/include ; then - if test "$GCC" = yes - then - cf_save_CPPFLAGS=$CPPFLAGS - - test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS " - CPPFLAGS="${CPPFLAGS}-I$cf_add_incdir" - - cat >"conftest.$ac_ext" <<_ACEOF -#line 16797 "configure" -#include "confdefs.h" -#include <stdio.h> -int -main (void) -{ -printf("Hello") - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:16809: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:16812: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:16815: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:16818: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - : -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -cf_have_incdir=yes -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" - CPPFLAGS=$cf_save_CPPFLAGS - fi - fi - fi - - if test "$cf_have_incdir" = no ; then - test -n "$verbose" && echo " adding $cf_add_incdir to include-path" 1>&6 - -echo "${as_me:-configure}:16835: testing adding $cf_add_incdir to include-path ..." 1>&5 - - CPPFLAGS="$CPPFLAGS -I$cf_add_incdir" - - cf_top_incdir=`echo "$cf_add_incdir" | sed -e 's%/include/.*$%/include%'` - test "$cf_top_incdir" = "$cf_add_incdir" && break - cf_add_incdir="$cf_top_incdir" - else - break - fi - else - break - fi - done - done -fi - - for cf_header in \ - ncurses.h \ - curses.h - do - - cat >"conftest.$ac_ext" <<_ACEOF -#line 16858 "configure" -#include "confdefs.h" - -#include <$cf_header> -int -main (void) -{ - -#ifdef NCURSES_VERSION - -printf("%s\\n", NCURSES_VERSION); -#else -#ifdef __NCURSES_H -printf("old\\n"); -#else - make an error -#endif -#endif - - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:16882: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:16885: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:16888: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:16891: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - cf_cv_ncurses_h2=$cf_header - -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -cf_cv_ncurses_h2=no -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" - - if test "$cf_cv_ncurses_h2" != no ; then - cf_cv_ncurses_h2=$cf_incdir/$cf_header - test -n "$verbose" && echo $ECHO_N " ... found $ECHO_C" 1>&6 - break - fi - test -n "$verbose" && echo " ... tested $cf_incdir/$cf_header" 1>&6 - done - CPPFLAGS="$cf_save2_CPPFLAGS" - test "$cf_cv_ncurses_h2" != no && break - done - test "$cf_cv_ncurses_h2" = no && { { echo "$as_me:16912: error: not found" >&5 -echo "$as_me: error: not found" >&2;} - { (exit 1); exit 1; }; } - -fi -echo "$as_me:16917: result: $cf_cv_ncurses_h2" >&5 -echo "${ECHO_T}$cf_cv_ncurses_h2" >&6 - - cf_1st_incdir=`echo "$cf_cv_ncurses_h2" | sed -e 's%/[^/]*$%%'` - cf_cv_ncurses_header="`basename "$cf_cv_ncurses_h2"`" - if test "`basename "$cf_1st_incdir"`" = "$cf_ncuhdr_root" ; then - cf_cv_ncurses_header="$cf_ncuhdr_root/$cf_cv_ncurses_header" - fi - -if test -n "$cf_1st_incdir" ; then - for cf_add_incdir in $cf_1st_incdir - do - while test "$cf_add_incdir" != /usr/include - do - if test -d "$cf_add_incdir" - then - cf_have_incdir=no - if test -n "$CFLAGS$CPPFLAGS" ; then - # a loop is needed to ensure we can add subdirs of existing dirs - for cf_test_incdir in $CFLAGS $CPPFLAGS ; do - if test ".$cf_test_incdir" = ".-I$cf_add_incdir" ; then - cf_have_incdir=yes; break - fi - done - fi - - if test "$cf_have_incdir" = no ; then - if test "$cf_add_incdir" = /usr/local/include ; then - if test "$GCC" = yes - then - cf_save_CPPFLAGS=$CPPFLAGS - - test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS " - CPPFLAGS="${CPPFLAGS}-I$cf_add_incdir" - - cat >"conftest.$ac_ext" <<_ACEOF -#line 16953 "configure" -#include "confdefs.h" -#include <stdio.h> -int -main (void) -{ -printf("Hello") - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:16965: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:16968: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:16971: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:16974: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - : -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -cf_have_incdir=yes -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" - CPPFLAGS=$cf_save_CPPFLAGS - fi - fi - fi - - if test "$cf_have_incdir" = no ; then - test -n "$verbose" && echo " adding $cf_add_incdir to include-path" 1>&6 - -echo "${as_me:-configure}:16991: testing adding $cf_add_incdir to include-path ..." 1>&5 - - CPPFLAGS="$CPPFLAGS -I$cf_add_incdir" - - cf_top_incdir=`echo "$cf_add_incdir" | sed -e 's%/include/.*$%/include%'` - test "$cf_top_incdir" = "$cf_add_incdir" && break - cf_add_incdir="$cf_top_incdir" - else - break - fi - else - break - fi - done - done -fi - -fi - -# Set definitions to allow ifdef'ing for ncurses.h - -case "$cf_cv_ncurses_header" in -(*ncurses.h) - -cat >>confdefs.h <<\EOF -#define HAVE_NCURSES_H 1 -EOF - - ;; -esac - -case "$cf_cv_ncurses_header" in -(ncurses/curses.h|ncurses/ncurses.h) - -cat >>confdefs.h <<\EOF -#define HAVE_NCURSES_NCURSES_H 1 -EOF - - ;; -(ncursesw/curses.h|ncursesw/ncurses.h) - -cat >>confdefs.h <<\EOF -#define HAVE_NCURSESW_NCURSES_H 1 -EOF - - ;; -esac - -echo "$as_me:17039: checking for terminfo header" >&5 -echo $ECHO_N "checking for terminfo header... $ECHO_C" >&6 -if test "${cf_cv_term_header+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - -case "${cf_cv_ncurses_header}" in -(*/ncurses.h|*/ncursesw.h) - cf_term_header=`echo "$cf_cv_ncurses_header" | sed -e 's%ncurses[^.]*\.h$%term.h%'` - ;; -(*) - cf_term_header=term.h - ;; -esac - -for cf_test in $cf_term_header "ncurses/term.h" "ncursesw/term.h" -do -cat >"conftest.$ac_ext" <<_ACEOF -#line 17057 "configure" -#include "confdefs.h" -#include <stdio.h> -#include <${cf_cv_ncurses_header:-curses.h}> -#include <$cf_test> - -int -main (void) -{ -int x = auto_left_margin; (void)x - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:17072: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:17075: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:17078: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:17081: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - - cf_cv_term_header="$cf_test" -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 - - cf_cv_term_header=unknown - -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" - test "$cf_cv_term_header" != unknown && break -done - -fi -echo "$as_me:17097: result: $cf_cv_term_header" >&5 -echo "${ECHO_T}$cf_cv_term_header" >&6 - -# Set definitions to allow ifdef'ing to accommodate subdirectories - -case "$cf_cv_term_header" in -(*term.h) - -cat >>confdefs.h <<\EOF -#define HAVE_TERM_H 1 -EOF - - ;; -esac - -case "$cf_cv_term_header" in -(ncurses/term.h) - -cat >>confdefs.h <<\EOF -#define HAVE_NCURSES_TERM_H 1 -EOF - - ;; -(ncursesw/term.h) - -cat >>confdefs.h <<\EOF -#define HAVE_NCURSESW_TERM_H 1 -EOF - - ;; -esac - -# some applications need this, but should check for NCURSES_VERSION - -cat >>confdefs.h <<\EOF -#define NCURSES 1 -EOF - -echo "$as_me:17135: checking for ncurses version" >&5 -echo $ECHO_N "checking for ncurses version... $ECHO_C" >&6 -if test "${cf_cv_ncurses_version+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - cf_cv_ncurses_version=no - cf_tempfile=out$$ - rm -f "$cf_tempfile" - if test "$cross_compiling" = yes; then - - # This will not work if the preprocessor splits the line after the - # Autoconf token. The 'unproto' program does that. - cat > "conftest.$ac_ext" <<EOF -#include <${cf_cv_ncurses_header:-curses.h}> -#undef Autoconf -#ifdef NCURSES_VERSION -Autoconf NCURSES_VERSION -#else -#ifdef __NCURSES_H -Autoconf "old" -#endif -; -#endif -EOF - cf_try="$ac_cpp conftest.$ac_ext 2>&5 | grep '^Autoconf ' >conftest.out" - { (eval echo "$as_me:17161: \"$cf_try\"") >&5 - (eval $cf_try) 2>&5 - ac_status=$? - echo "$as_me:17164: \$? = $ac_status" >&5 - (exit "$ac_status"); } - if test -f conftest.out ; then - cf_out=`sed -e 's%^Autoconf %%' -e 's%^[^"]*"%%' -e 's%".*%%' conftest.out` - test -n "$cf_out" && cf_cv_ncurses_version="$cf_out" - rm -f conftest.out - fi - -else - cat >"conftest.$ac_ext" <<_ACEOF -#line 17174 "configure" -#include "confdefs.h" - -#include <${cf_cv_ncurses_header:-curses.h}> -#include <stdio.h> -int main(void) -{ - FILE *fp = fopen("$cf_tempfile", "w"); -#ifdef NCURSES_VERSION -# ifdef NCURSES_VERSION_PATCH - fprintf(fp, "%s.%d\\n", NCURSES_VERSION, NCURSES_VERSION_PATCH); -# else - fprintf(fp, "%s\\n", NCURSES_VERSION); -# endif -#else -# ifdef __NCURSES_H - fprintf(fp, "old\\n"); -# else - make an error -# endif -#endif - ${cf_cv_main_return:-return}(0); -} -_ACEOF -rm -f "conftest$ac_exeext" -if { (eval echo "$as_me:17199: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:17202: \$? = $ac_status" >&5 - (exit "$ac_status"); } && { ac_try='"./conftest$ac_exeext"' - { (eval echo "$as_me:17204: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:17207: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - - cf_cv_ncurses_version=`cat $cf_tempfile` -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -fi -rm -f core ./core.* ./*.core "conftest$ac_exeext" "conftest.$ac_objext" "conftest.$ac_ext" -fi - rm -f "$cf_tempfile" - -fi -echo "$as_me:17221: result: $cf_cv_ncurses_version" >&5 -echo "${ECHO_T}$cf_cv_ncurses_version" >&6 -test "$cf_cv_ncurses_version" = no || -cat >>confdefs.h <<\EOF -#define NCURSES 1 -EOF - -cf_nculib_root=$cf_cv_screen - # This works, except for the special case where we find gpm, but - # ncurses is in a nonstandard location via $LIBS, and we really want - # to link gpm. -cf_ncurses_LIBS="" -cf_ncurses_SAVE="$LIBS" -echo "$as_me:17234: checking for Gpm_Open in -lgpm" >&5 -echo $ECHO_N "checking for Gpm_Open in -lgpm... $ECHO_C" >&6 -if test "${ac_cv_lib_gpm_Gpm_Open+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lgpm $LIBS" -cat >"conftest.$ac_ext" <<_ACEOF -#line 17242 "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char Gpm_Open (); -int -main (void) -{ -Gpm_Open (); - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:17261: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:17264: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:17267: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:17270: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - ac_cv_lib_gpm_Gpm_Open=yes -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -ac_cv_lib_gpm_Gpm_Open=no -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:17281: result: $ac_cv_lib_gpm_Gpm_Open" >&5 -echo "${ECHO_T}$ac_cv_lib_gpm_Gpm_Open" >&6 -if test "$ac_cv_lib_gpm_Gpm_Open" = yes; then - echo "$as_me:17284: checking for initscr in -lgpm" >&5 -echo $ECHO_N "checking for initscr in -lgpm... $ECHO_C" >&6 -if test "${ac_cv_lib_gpm_initscr+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lgpm $LIBS" -cat >"conftest.$ac_ext" <<_ACEOF -#line 17292 "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char initscr (); -int -main (void) -{ -initscr (); - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:17311: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:17314: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:17317: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:17320: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - ac_cv_lib_gpm_initscr=yes -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -ac_cv_lib_gpm_initscr=no -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:17331: result: $ac_cv_lib_gpm_initscr" >&5 -echo "${ECHO_T}$ac_cv_lib_gpm_initscr" >&6 -if test "$ac_cv_lib_gpm_initscr" = yes; then - LIBS="$cf_ncurses_SAVE" -else - cf_ncurses_LIBS="-lgpm" -fi - -fi - -case "$host_os" in -(freebsd*) - # This is only necessary if you are linking against an obsolete - # version of ncurses (but it should do no harm, since it's static). - if test "$cf_nculib_root" = ncurses ; then - echo "$as_me:17346: checking for tgoto in -lmytinfo" >&5 -echo $ECHO_N "checking for tgoto in -lmytinfo... $ECHO_C" >&6 -if test "${ac_cv_lib_mytinfo_tgoto+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lmytinfo $LIBS" -cat >"conftest.$ac_ext" <<_ACEOF -#line 17354 "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char tgoto (); -int -main (void) -{ -tgoto (); - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:17373: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:17376: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:17379: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:17382: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - ac_cv_lib_mytinfo_tgoto=yes -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -ac_cv_lib_mytinfo_tgoto=no -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:17393: result: $ac_cv_lib_mytinfo_tgoto" >&5 -echo "${ECHO_T}$ac_cv_lib_mytinfo_tgoto" >&6 -if test "$ac_cv_lib_mytinfo_tgoto" = yes; then - cf_ncurses_LIBS="-lmytinfo $cf_ncurses_LIBS" -fi - - fi - ;; -esac - -cf_add_libs="$LIBS" -# reverse order -cf_add_0lib= -for cf_add_1lib in $cf_ncurses_LIBS; do cf_add_0lib="$cf_add_1lib $cf_add_0lib"; done -# filter duplicates -for cf_add_1lib in $cf_add_0lib; do - for cf_add_2lib in $cf_add_libs; do - if test "x$cf_add_1lib" = "x$cf_add_2lib"; then - cf_add_1lib= - break - fi - done - test -n "$cf_add_1lib" && cf_add_libs="$cf_add_1lib $cf_add_libs" -done -LIBS="$cf_add_libs" - -if test -n "$cf_cv_curses_dir" && test "$cf_cv_curses_dir" != "no" -then - -cf_add_libs="$LIBS" -# reverse order -cf_add_0lib= -for cf_add_1lib in -l$cf_nculib_root; do cf_add_0lib="$cf_add_1lib $cf_add_0lib"; done -# filter duplicates -for cf_add_1lib in $cf_add_0lib; do - for cf_add_2lib in $cf_add_libs; do - if test "x$cf_add_1lib" = "x$cf_add_2lib"; then - cf_add_1lib= - break - fi - done - test -n "$cf_add_1lib" && cf_add_libs="$cf_add_1lib $cf_add_libs" -done -LIBS="$cf_add_libs" - -else - - eval 'cf_cv_have_lib_'"$cf_nculib_root"'=no' - cf_libdir="" - echo "$as_me:17442: checking for initscr" >&5 -echo $ECHO_N "checking for initscr... $ECHO_C" >&6 -if test "${ac_cv_func_initscr+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >"conftest.$ac_ext" <<_ACEOF -#line 17448 "configure" -#include "confdefs.h" -#define initscr autoconf_temporary -#include <limits.h> /* least-intrusive standard header which defines gcc2 __stub macros */ -#undef initscr - -#ifdef __cplusplus -extern "C" -#endif - -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char initscr (void); - -int -main (void) -{ - -/* The GNU C library defines stubs for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_initscr) || defined (__stub___initscr) -#error found stub for initscr -#endif - - return initscr (); - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:17479: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:17482: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:17485: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:17488: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - ac_cv_func_initscr=yes -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -ac_cv_func_initscr=no -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" -fi -echo "$as_me:17498: result: $ac_cv_func_initscr" >&5 -echo "${ECHO_T}$ac_cv_func_initscr" >&6 -if test "$ac_cv_func_initscr" = yes; then - eval 'cf_cv_have_lib_'"$cf_nculib_root"'=yes' -else - - cf_save_LIBS="$LIBS" - echo "$as_me:17505: checking for initscr in -l$cf_nculib_root" >&5 -echo $ECHO_N "checking for initscr in -l$cf_nculib_root... $ECHO_C" >&6 - LIBS="-l$cf_nculib_root $LIBS" - cat >"conftest.$ac_ext" <<_ACEOF -#line 17509 "configure" -#include "confdefs.h" -#include <${cf_cv_ncurses_header:-curses.h}> -int -main (void) -{ -initscr() - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:17521: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:17524: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:17527: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:17530: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - echo "$as_me:17532: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - eval 'cf_cv_have_lib_'"$cf_nculib_root"'=yes' - -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -echo "$as_me:17539: result: no" >&5 -echo "${ECHO_T}no" >&6 - -cf_search= -cf_library_path_list="" -if test -n "${LDFLAGS}${LIBS}" ; then - for cf_library_path in $LDFLAGS $LIBS - do - case "$cf_library_path" in - (-L*) - cf_library_path=`echo ".$cf_library_path" |sed -e 's/^...//' -e 's,/lib$,,'` - -test "x$cf_library_path" != "xNONE" && \ -test -d "$cf_library_path" && \ - { - test -n "$verbose" && echo " ... testing for lib-directories under $cf_library_path" - test -d "$cf_library_path/lib" && cf_search="$cf_search $cf_library_path/lib" - test -d "$cf_library_path/lib/$cf_nculib_root" && cf_search="$cf_search $cf_library_path/lib/$cf_nculib_root" - test -d "$cf_library_path/lib/$cf_nculib_root/lib" && cf_search="$cf_search $cf_library_path/lib/$cf_nculib_root/lib" - test -d "$cf_library_path/$cf_nculib_root/lib" && cf_search="$cf_search $cf_library_path/$cf_nculib_root/lib" - test -d "$cf_library_path/$cf_nculib_root/lib/$cf_nculib_root" && cf_search="$cf_search $cf_library_path/$cf_nculib_root/lib/$cf_nculib_root" -} - - cf_library_path_list="$cf_library_path_list $cf_search" - ;; - esac - done -fi - -cf_search= - -test "x$prefix" != "xNONE" && \ -test -d "$prefix" && \ - { - test -n "$verbose" && echo " ... testing for lib-directories under $prefix" - test -d "$prefix/lib" && cf_search="$cf_search $prefix/lib" - test -d "$prefix/lib/$cf_nculib_root" && cf_search="$cf_search $prefix/lib/$cf_nculib_root" - test -d "$prefix/lib/$cf_nculib_root/lib" && cf_search="$cf_search $prefix/lib/$cf_nculib_root/lib" - test -d "$prefix/$cf_nculib_root/lib" && cf_search="$cf_search $prefix/$cf_nculib_root/lib" - test -d "$prefix/$cf_nculib_root/lib/$cf_nculib_root" && cf_search="$cf_search $prefix/$cf_nculib_root/lib/$cf_nculib_root" -} - -for cf_subdir_prefix in \ - /usr \ - /usr/local \ - /usr/pkg \ - /opt \ - /opt/local \ - $HOME -do - -test "x$cf_subdir_prefix" != "x$prefix" && \ -test -d "$cf_subdir_prefix" && \ -{ test -z "$prefix" || test "x$prefix" = xNONE || test "x$cf_subdir_prefix" != "x$prefix"; } && { - test -n "$verbose" && echo " ... testing for lib-directories under $cf_subdir_prefix" - test -d "$cf_subdir_prefix/lib" && cf_search="$cf_search $cf_subdir_prefix/lib" - test -d "$cf_subdir_prefix/lib/$cf_nculib_root" && cf_search="$cf_search $cf_subdir_prefix/lib/$cf_nculib_root" - test -d "$cf_subdir_prefix/lib/$cf_nculib_root/lib" && cf_search="$cf_search $cf_subdir_prefix/lib/$cf_nculib_root/lib" - test -d "$cf_subdir_prefix/$cf_nculib_root/lib" && cf_search="$cf_search $cf_subdir_prefix/$cf_nculib_root/lib" - test -d "$cf_subdir_prefix/$cf_nculib_root/lib/$cf_nculib_root" && cf_search="$cf_search $cf_subdir_prefix/$cf_nculib_root/lib/$cf_nculib_root" -} - -done - -cf_search="$cf_library_path_list $cf_search" - - for cf_libdir in $cf_search - do - echo "$as_me:17607: checking for -l$cf_nculib_root in $cf_libdir" >&5 -echo $ECHO_N "checking for -l$cf_nculib_root in $cf_libdir... $ECHO_C" >&6 - LIBS="-L$cf_libdir -l$cf_nculib_root $cf_save_LIBS" - cat >"conftest.$ac_ext" <<_ACEOF -#line 17611 "configure" -#include "confdefs.h" -#include <${cf_cv_ncurses_header:-curses.h}> -int -main (void) -{ -initscr() - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:17623: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:17626: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:17629: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:17632: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - echo "$as_me:17634: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - eval 'cf_cv_have_lib_'"$cf_nculib_root"'=yes' - break -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -echo "$as_me:17641: result: no" >&5 -echo "${ECHO_T}no" >&6 - LIBS="$cf_save_LIBS" -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" - done - -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" - -fi - -eval 'cf_found_library="$cf_cv_have_lib_'"$cf_nculib_root"\" - -if test "$cf_found_library" = no ; then - { { echo "$as_me:17656: error: Cannot link $cf_nculib_root library" >&5 -echo "$as_me: error: Cannot link $cf_nculib_root library" >&2;} - { (exit 1); exit 1; }; } -fi - -fi - -if test -n "$cf_ncurses_LIBS" ; then - echo "$as_me:17664: checking if we can link $cf_nculib_root without $cf_ncurses_LIBS" >&5 -echo $ECHO_N "checking if we can link $cf_nculib_root without $cf_ncurses_LIBS... $ECHO_C" >&6 - cf_ncurses_SAVE="$LIBS" - for p in $cf_ncurses_LIBS ; do - q=`echo "$LIBS" | sed -e "s%$p %%" -e "s%$p$%%"` - if test "$q" != "$LIBS" ; then - LIBS="$q" - fi - done - cat >"conftest.$ac_ext" <<_ACEOF -#line 17674 "configure" -#include "confdefs.h" -#include <${cf_cv_ncurses_header:-curses.h}> -int -main (void) -{ -initscr(); mousemask(0,0); tigetstr((char *)0); - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:17686: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:17689: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:17692: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:17695: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - echo "$as_me:17697: result: yes" >&5 -echo "${ECHO_T}yes" >&6 -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -echo "$as_me:17702: result: no" >&5 -echo "${ECHO_T}no" >&6 - LIBS="$cf_ncurses_SAVE" -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" -fi - -cf_nculib_ROOT=`echo "HAVE_LIB$cf_nculib_root" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` - -cat >>confdefs.h <<EOF -#define $cf_nculib_ROOT 1 -EOF - - fi -else - NCURSES_CONFIG=none -fi - - ;; -(ncurses*) - -cf_ncuconfig_root=$cf_cv_screen -cf_have_ncuconfig=no - -if test "x${PKG_CONFIG:=none}" != xnone; then - echo "$as_me:17727: checking pkg-config for $cf_ncuconfig_root" >&5 -echo $ECHO_N "checking pkg-config for $cf_ncuconfig_root... $ECHO_C" >&6 - if "$PKG_CONFIG" --exists $cf_ncuconfig_root ; then - echo "$as_me:17730: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - - echo "$as_me:17733: checking if the $cf_ncuconfig_root package files work" >&5 -echo $ECHO_N "checking if the $cf_ncuconfig_root package files work... $ECHO_C" >&6 - cf_have_ncuconfig=unknown - - cf_save_CFLAGS="$CFLAGS" - cf_save_CPPFLAGS="$CPPFLAGS" - cf_save_LIBS="$LIBS" - - cf_pkg_cflags="`$PKG_CONFIG --cflags $cf_ncuconfig_root`" - cf_pkg_libs="`$PKG_CONFIG --libs $cf_ncuconfig_root`" - - # while -W for passing linker flags is prevalent, it is not "standard". - # At least one wrapper for c89/c99 (in Apple's xcode) has its own - # incompatible _and_ non-standard -W option which gives an error. Work - # around that pitfall. - case "x${CC}@@${cf_pkg_libs}@${cf_pkg_cflags}" in - (x*c[89]9@@*-W*) - -cf_fix_cppflags=no -cf_new_cflags= -cf_new_cppflags= -cf_new_extra_cppflags= - -for cf_add_cflags in $cf_pkg_cflags -do -case "$cf_fix_cppflags" in -(no) - case "$cf_add_cflags" in - (-undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) - case "$cf_add_cflags" in - (-D*) - cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^-D[^=]*='\''\"[^"]*//'` - - test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=yes - - if test "$cf_fix_cppflags" = yes ; then - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - continue - elif test "${cf_tst_cflags}" = "\"'" ; then - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - continue - fi - ;; - esac - case "$CPPFLAGS" in - (*$cf_add_cflags) - ;; - (*) - case "$cf_add_cflags" in - (-D*) - cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'` - -CPPFLAGS=`echo "$CPPFLAGS" | \ - sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \ - -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'` - - ;; - esac - - test -n "$cf_new_cppflags" && cf_new_cppflags="$cf_new_cppflags " - cf_new_cppflags="${cf_new_cppflags}$cf_add_cflags" - - ;; - esac - ;; - (*) - - test -n "$cf_new_cflags" && cf_new_cflags="$cf_new_cflags " - cf_new_cflags="${cf_new_cflags}$cf_add_cflags" - - ;; - esac - ;; -(yes) - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^[^"]*"'\''//'` - - test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=no - ;; -esac -done - -if test -n "$cf_new_cflags" ; then - - test -n "$CFLAGS" && CFLAGS="$CFLAGS " - CFLAGS="${CFLAGS}$cf_new_cflags" - -fi - -if test -n "$cf_new_cppflags" ; then - - test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS " - CPPFLAGS="${CPPFLAGS}$cf_new_cppflags" - -fi - -if test -n "$cf_new_extra_cppflags" ; then - - test -n "$EXTRA_CPPFLAGS" && EXTRA_CPPFLAGS="$EXTRA_CPPFLAGS " - EXTRA_CPPFLAGS="${EXTRA_CPPFLAGS}$cf_new_extra_cppflags" - -fi - -cf_add_libs="$LIBS" -# reverse order -cf_add_0lib= -for cf_add_1lib in $cf_pkg_libs; do cf_add_0lib="$cf_add_1lib $cf_add_0lib"; done -# filter duplicates -for cf_add_1lib in $cf_add_0lib; do - for cf_add_2lib in $cf_add_libs; do - if test "x$cf_add_1lib" = "x$cf_add_2lib"; then - cf_add_1lib= - break - fi - done - test -n "$cf_add_1lib" && cf_add_libs="$cf_add_1lib $cf_add_libs" -done -LIBS="$cf_add_libs" - - cat >"conftest.$ac_ext" <<_ACEOF -#line 17866 "configure" -#include "confdefs.h" -#include <${cf_cv_ncurses_header:-curses.h}> -int -main (void) -{ -initscr(); mousemask(0,0); tigetstr((char *)0); - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:17878: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:17881: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:17884: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:17887: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - if test "$cross_compiling" = yes; then - cf_test_ncuconfig=maybe -else - cat >"conftest.$ac_ext" <<_ACEOF -#line 17893 "configure" -#include "confdefs.h" -#include <${cf_cv_ncurses_header:-curses.h}> - int main(void) - { char *xx = curses_version(); return (xx == 0); } -_ACEOF -rm -f "conftest$ac_exeext" -if { (eval echo "$as_me:17900: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:17903: \$? = $ac_status" >&5 - (exit "$ac_status"); } && { ac_try='"./conftest$ac_exeext"' - { (eval echo "$as_me:17905: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:17908: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - cf_test_ncuconfig=yes -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -cf_test_ncuconfig=no -fi -rm -f core ./core.* ./*.core "conftest$ac_exeext" "conftest.$ac_objext" "conftest.$ac_ext" -fi -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -cf_test_ncuconfig=no -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" - - CFLAGS="$cf_save_CFLAGS" - CPPFLAGS="$cf_save_CPPFLAGS" - LIBS="$cf_save_LIBS" - - if test "x$cf_test_ncuconfig" != xyes; then - cf_temp=`echo "x$cf_pkg_cflags" | sed -e s/^x// -e 's/-W[^ ]*//g'` - cf_pkg_cflags="$cf_temp" - cf_temp=`echo "x$cf_pkg_libs" | sed -e s/^x// -e 's/-W[^ ]*//g'` - cf_pkg_libs="$cf_temp" - fi - ;; - esac - -cf_fix_cppflags=no -cf_new_cflags= -cf_new_cppflags= -cf_new_extra_cppflags= - -for cf_add_cflags in $cf_pkg_cflags -do -case "$cf_fix_cppflags" in -(no) - case "$cf_add_cflags" in - (-undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) - case "$cf_add_cflags" in - (-D*) - cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^-D[^=]*='\''\"[^"]*//'` - - test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=yes - - if test "$cf_fix_cppflags" = yes ; then - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - continue - elif test "${cf_tst_cflags}" = "\"'" ; then - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - continue - fi - ;; - esac - case "$CPPFLAGS" in - (*$cf_add_cflags) - ;; - (*) - case "$cf_add_cflags" in - (-D*) - cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'` - -CPPFLAGS=`echo "$CPPFLAGS" | \ - sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \ - -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'` - - ;; - esac - - test -n "$cf_new_cppflags" && cf_new_cppflags="$cf_new_cppflags " - cf_new_cppflags="${cf_new_cppflags}$cf_add_cflags" - - ;; - esac - ;; - (*) - - test -n "$cf_new_cflags" && cf_new_cflags="$cf_new_cflags " - cf_new_cflags="${cf_new_cflags}$cf_add_cflags" - - ;; - esac - ;; -(yes) - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^[^"]*"'\''//'` - - test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=no - ;; -esac -done - -if test -n "$cf_new_cflags" ; then - - test -n "$CFLAGS" && CFLAGS="$CFLAGS " - CFLAGS="${CFLAGS}$cf_new_cflags" - -fi - -if test -n "$cf_new_cppflags" ; then - - test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS " - CPPFLAGS="${CPPFLAGS}$cf_new_cppflags" - -fi - -if test -n "$cf_new_extra_cppflags" ; then - - test -n "$EXTRA_CPPFLAGS" && EXTRA_CPPFLAGS="$EXTRA_CPPFLAGS " - EXTRA_CPPFLAGS="${EXTRA_CPPFLAGS}$cf_new_extra_cppflags" - -fi - -cf_add_libs="$LIBS" -# reverse order -cf_add_0lib= -for cf_add_1lib in $cf_pkg_libs; do cf_add_0lib="$cf_add_1lib $cf_add_0lib"; done -# filter duplicates -for cf_add_1lib in $cf_add_0lib; do - for cf_add_2lib in $cf_add_libs; do - if test "x$cf_add_1lib" = "x$cf_add_2lib"; then - cf_add_1lib= - break - fi - done - test -n "$cf_add_1lib" && cf_add_libs="$cf_add_1lib $cf_add_libs" -done -LIBS="$cf_add_libs" - - cat >"conftest.$ac_ext" <<_ACEOF -#line 18054 "configure" -#include "confdefs.h" -#include <${cf_cv_ncurses_header:-curses.h}> -int -main (void) -{ -initscr(); mousemask(0,0); tigetstr((char *)0); - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:18066: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:18069: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:18072: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:18075: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - if test "$cross_compiling" = yes; then - cf_have_ncuconfig=maybe -else - cat >"conftest.$ac_ext" <<_ACEOF -#line 18081 "configure" -#include "confdefs.h" -#include <${cf_cv_ncurses_header:-curses.h}> - int main(void) - { char *xx = curses_version(); return (xx == 0); } -_ACEOF -rm -f "conftest$ac_exeext" -if { (eval echo "$as_me:18088: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:18091: \$? = $ac_status" >&5 - (exit "$ac_status"); } && { ac_try='"./conftest$ac_exeext"' - { (eval echo "$as_me:18093: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:18096: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - cf_have_ncuconfig=yes -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -cf_have_ncuconfig=no -fi -rm -f core ./core.* ./*.core "conftest$ac_exeext" "conftest.$ac_objext" "conftest.$ac_ext" -fi -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -cf_have_ncuconfig=no -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" - echo "$as_me:18113: result: $cf_have_ncuconfig" >&5 -echo "${ECHO_T}$cf_have_ncuconfig" >&6 - test "$cf_have_ncuconfig" = maybe && cf_have_ncuconfig=yes - if test "$cf_have_ncuconfig" != "yes" - then - CPPFLAGS="$cf_save_CPPFLAGS" - LIBS="$cf_save_LIBS" - NCURSES_CONFIG_PKG=none - else - -cat >>confdefs.h <<\EOF -#define NCURSES 1 -EOF - - NCURSES_CONFIG_PKG=$cf_ncuconfig_root - -echo "$as_me:18129: checking for terminfo header" >&5 -echo $ECHO_N "checking for terminfo header... $ECHO_C" >&6 -if test "${cf_cv_term_header+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - -case "${cf_cv_ncurses_header}" in -(*/ncurses.h|*/ncursesw.h) - cf_term_header=`echo "$cf_cv_ncurses_header" | sed -e 's%ncurses[^.]*\.h$%term.h%'` - ;; -(*) - cf_term_header=term.h - ;; -esac - -for cf_test in $cf_term_header "ncurses/term.h" "ncursesw/term.h" -do -cat >"conftest.$ac_ext" <<_ACEOF -#line 18147 "configure" -#include "confdefs.h" -#include <stdio.h> -#include <${cf_cv_ncurses_header:-curses.h}> -#include <$cf_test> - -int -main (void) -{ -int x = auto_left_margin; (void)x - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:18162: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:18165: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:18168: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:18171: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - - cf_cv_term_header="$cf_test" -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 - - cf_cv_term_header=unknown - -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" - test "$cf_cv_term_header" != unknown && break -done - -fi -echo "$as_me:18187: result: $cf_cv_term_header" >&5 -echo "${ECHO_T}$cf_cv_term_header" >&6 - -# Set definitions to allow ifdef'ing to accommodate subdirectories - -case "$cf_cv_term_header" in -(*term.h) - -cat >>confdefs.h <<\EOF -#define HAVE_TERM_H 1 -EOF - - ;; -esac - -case "$cf_cv_term_header" in -(ncurses/term.h) - -cat >>confdefs.h <<\EOF -#define HAVE_NCURSES_TERM_H 1 -EOF - - ;; -(ncursesw/term.h) - -cat >>confdefs.h <<\EOF -#define HAVE_NCURSESW_TERM_H 1 -EOF - - ;; -esac - - fi - - else - echo "$as_me:18222: result: no" >&5 -echo "${ECHO_T}no" >&6 - NCURSES_CONFIG_PKG=none - fi -else - NCURSES_CONFIG_PKG=none -fi - -if test "x$cf_have_ncuconfig" = "xno"; then - cf_ncurses_config="${cf_ncuconfig_root}${NCURSES_CONFIG_SUFFIX}-config"; echo "Looking for ${cf_ncurses_config}" - -if test -n "$ac_tool_prefix"; then - for ac_prog in ${cf_ncurses_config} ${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}5-config - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -echo "$as_me:18238: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_NCURSES_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$NCURSES_CONFIG"; then - ac_cv_prog_NCURSES_CONFIG="$NCURSES_CONFIG" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_NCURSES_CONFIG="$ac_tool_prefix$ac_prog" -echo "$as_me:18253: found $ac_dir/$ac_word" >&5 -break -done - -fi -fi -NCURSES_CONFIG=$ac_cv_prog_NCURSES_CONFIG -if test -n "$NCURSES_CONFIG"; then - echo "$as_me:18261: result: $NCURSES_CONFIG" >&5 -echo "${ECHO_T}$NCURSES_CONFIG" >&6 -else - echo "$as_me:18264: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$NCURSES_CONFIG" && break - done -fi -if test -z "$NCURSES_CONFIG"; then - ac_ct_NCURSES_CONFIG=$NCURSES_CONFIG - for ac_prog in ${cf_ncurses_config} ${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}5-config -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -echo "$as_me:18277: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_NCURSES_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_NCURSES_CONFIG"; then - ac_cv_prog_ac_ct_NCURSES_CONFIG="$ac_ct_NCURSES_CONFIG" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_ac_ct_NCURSES_CONFIG="$ac_prog" -echo "$as_me:18292: found $ac_dir/$ac_word" >&5 -break -done - -fi -fi -ac_ct_NCURSES_CONFIG=$ac_cv_prog_ac_ct_NCURSES_CONFIG -if test -n "$ac_ct_NCURSES_CONFIG"; then - echo "$as_me:18300: result: $ac_ct_NCURSES_CONFIG" >&5 -echo "${ECHO_T}$ac_ct_NCURSES_CONFIG" >&6 -else - echo "$as_me:18303: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$ac_ct_NCURSES_CONFIG" && break -done -test -n "$ac_ct_NCURSES_CONFIG" || ac_ct_NCURSES_CONFIG="none" - - NCURSES_CONFIG=$ac_ct_NCURSES_CONFIG -fi - - if test "$NCURSES_CONFIG" != none ; then - -cf_fix_cppflags=no -cf_new_cflags= -cf_new_cppflags= -cf_new_extra_cppflags= - -for cf_add_cflags in `$NCURSES_CONFIG --cflags` -do -case "$cf_fix_cppflags" in -(no) - case "$cf_add_cflags" in - (-undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) - case "$cf_add_cflags" in - (-D*) - cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^-D[^=]*='\''\"[^"]*//'` - - test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=yes - - if test "$cf_fix_cppflags" = yes ; then - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - continue - elif test "${cf_tst_cflags}" = "\"'" ; then - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - continue - fi - ;; - esac - case "$CPPFLAGS" in - (*$cf_add_cflags) - ;; - (*) - case "$cf_add_cflags" in - (-D*) - cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'` - -CPPFLAGS=`echo "$CPPFLAGS" | \ - sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \ - -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'` - - ;; - esac - - test -n "$cf_new_cppflags" && cf_new_cppflags="$cf_new_cppflags " - cf_new_cppflags="${cf_new_cppflags}$cf_add_cflags" - - ;; - esac - ;; - (*) - - test -n "$cf_new_cflags" && cf_new_cflags="$cf_new_cflags " - cf_new_cflags="${cf_new_cflags}$cf_add_cflags" - - ;; - esac - ;; -(yes) - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^[^"]*"'\''//'` - - test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=no - ;; -esac -done - -if test -n "$cf_new_cflags" ; then - - test -n "$CFLAGS" && CFLAGS="$CFLAGS " - CFLAGS="${CFLAGS}$cf_new_cflags" - -fi - -if test -n "$cf_new_cppflags" ; then - - test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS " - CPPFLAGS="${CPPFLAGS}$cf_new_cppflags" - -fi - -if test -n "$cf_new_extra_cppflags" ; then - - test -n "$EXTRA_CPPFLAGS" && EXTRA_CPPFLAGS="$EXTRA_CPPFLAGS " - EXTRA_CPPFLAGS="${EXTRA_CPPFLAGS}$cf_new_extra_cppflags" - -fi - -cf_add_libs="$LIBS" -# reverse order -cf_add_0lib= -for cf_add_1lib in `$NCURSES_CONFIG --libs`; do cf_add_0lib="$cf_add_1lib $cf_add_0lib"; done -# filter duplicates -for cf_add_1lib in $cf_add_0lib; do - for cf_add_2lib in $cf_add_libs; do - if test "x$cf_add_1lib" = "x$cf_add_2lib"; then - cf_add_1lib= - break - fi - done - test -n "$cf_add_1lib" && cf_add_libs="$cf_add_1lib $cf_add_libs" -done -LIBS="$cf_add_libs" - - # even with config script, some packages use no-override for curses.h - -echo "$as_me:18432: checking if we have identified curses headers" >&5 -echo $ECHO_N "checking if we have identified curses headers... $ECHO_C" >&6 -if test "${cf_cv_ncurses_header+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - -cf_cv_ncurses_header=none -for cf_header in \ - ncurses.h $cf_cv_screen/ncurses.h \ - curses.h $cf_cv_screen/curses.h -do -cat >"conftest.$ac_ext" <<_ACEOF -#line 18444 "configure" -#include "confdefs.h" -#include <${cf_header}> -int -main (void) -{ -initscr(); tgoto("?", 0,0) - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:18456: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:18459: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:18462: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:18465: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - cf_cv_ncurses_header=$cf_header; break -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" -done - -fi -echo "$as_me:18476: result: $cf_cv_ncurses_header" >&5 -echo "${ECHO_T}$cf_cv_ncurses_header" >&6 - -if test "$cf_cv_ncurses_header" = none ; then - { { echo "$as_me:18480: error: No curses header-files found" >&5 -echo "$as_me: error: No curses header-files found" >&2;} - { (exit 1); exit 1; }; } -fi - -# cheat, to get the right #define's for HAVE_NCURSES_H, etc. - -for ac_header in $cf_cv_ncurses_header -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -echo "$as_me:18490: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >"conftest.$ac_ext" <<_ACEOF -#line 18496 "configure" -#include "confdefs.h" -#include <$ac_header> -_ACEOF -if { (eval echo "$as_me:18500: \"$ac_cpp "conftest.$ac_ext"\"") >&5 - (eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - $EGREP -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:18506: \$? = $ac_status" >&5 - (exit "$ac_status"); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - eval "$as_ac_Header=yes" -else - echo "$as_me: failed program was:" >&5 - cat "conftest.$ac_ext" >&5 - eval "$as_ac_Header=no" -fi -rm -f conftest.err "conftest.$ac_ext" -fi -echo "$as_me:18525: result: `eval echo '${'"$as_ac_Header"'}'`" >&5 -echo "${ECHO_T}`eval echo '${'"$as_ac_Header"'}'`" >&6 -if test "`eval echo '${'"$as_ac_Header"'}'`" = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 -EOF - -fi -done - -cat >>confdefs.h <<\EOF -#define NCURSES 1 -EOF - -cf_nculib_ROOT=`echo "HAVE_LIB$cf_ncuconfig_root" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` - - cat >>confdefs.h <<EOF -#define $cf_nculib_ROOT 1 -EOF - - cf_cv_ncurses_version="`$NCURSES_CONFIG --version`" - - else - -cf_ncuhdr_root=$cf_cv_screen - -test -n "$cf_cv_curses_dir" && \ -test "$cf_cv_curses_dir" != "no" && { \ - -if test -n "$cf_cv_curses_dir/include/$cf_ncuhdr_root" ; then - for cf_add_incdir in $cf_cv_curses_dir/include/$cf_ncuhdr_root - do - while test "$cf_add_incdir" != /usr/include - do - if test -d "$cf_add_incdir" - then - cf_have_incdir=no - if test -n "$CFLAGS$CPPFLAGS" ; then - # a loop is needed to ensure we can add subdirs of existing dirs - for cf_test_incdir in $CFLAGS $CPPFLAGS ; do - if test ".$cf_test_incdir" = ".-I$cf_add_incdir" ; then - cf_have_incdir=yes; break - fi - done - fi - - if test "$cf_have_incdir" = no ; then - if test "$cf_add_incdir" = /usr/local/include ; then - if test "$GCC" = yes - then - cf_save_CPPFLAGS=$CPPFLAGS - - test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS " - CPPFLAGS="${CPPFLAGS}-I$cf_add_incdir" - - cat >"conftest.$ac_ext" <<_ACEOF -#line 18581 "configure" -#include "confdefs.h" -#include <stdio.h> -int -main (void) -{ -printf("Hello") - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:18593: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:18596: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:18599: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:18602: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - : -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -cf_have_incdir=yes -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" - CPPFLAGS=$cf_save_CPPFLAGS - fi - fi - fi - - if test "$cf_have_incdir" = no ; then - test -n "$verbose" && echo " adding $cf_add_incdir to include-path" 1>&6 - -echo "${as_me:-configure}:18619: testing adding $cf_add_incdir to include-path ..." 1>&5 - - CPPFLAGS="$CPPFLAGS -I$cf_add_incdir" - - cf_top_incdir=`echo "$cf_add_incdir" | sed -e 's%/include/.*$%/include%'` - test "$cf_top_incdir" = "$cf_add_incdir" && break - cf_add_incdir="$cf_top_incdir" - else - break - fi - else - break - fi - done - done -fi - -} - -echo "$as_me:18638: checking for $cf_ncuhdr_root header in include-path" >&5 -echo $ECHO_N "checking for $cf_ncuhdr_root header in include-path... $ECHO_C" >&6 -if test "${cf_cv_ncurses_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - cf_header_list="$cf_ncuhdr_root/curses.h $cf_ncuhdr_root/ncurses.h" - { test "$cf_ncuhdr_root" = ncurses || test "$cf_ncuhdr_root" = ncursesw; } && cf_header_list="$cf_header_list curses.h ncurses.h" - for cf_header in $cf_header_list - do - - cat >"conftest.$ac_ext" <<_ACEOF -#line 18650 "configure" -#include "confdefs.h" - -#include <$cf_header> -int -main (void) -{ - -#ifdef NCURSES_VERSION - -printf("%s\\n", NCURSES_VERSION); -#else -#ifdef __NCURSES_H -printf("old\\n"); -#else - make an error -#endif -#endif - - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:18674: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:18677: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:18680: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:18683: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - cf_cv_ncurses_h=$cf_header - -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -cf_cv_ncurses_h=no -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" - - test "$cf_cv_ncurses_h" != no && break - done - -fi -echo "$as_me:18698: result: $cf_cv_ncurses_h" >&5 -echo "${ECHO_T}$cf_cv_ncurses_h" >&6 - -if test "$cf_cv_ncurses_h" != no ; then - cf_cv_ncurses_header=$cf_cv_ncurses_h -else - -echo "$as_me:18705: checking for $cf_ncuhdr_root include-path" >&5 -echo $ECHO_N "checking for $cf_ncuhdr_root include-path... $ECHO_C" >&6 -if test "${cf_cv_ncurses_h2+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - test -n "$verbose" && echo - -cf_search= - -# collect the current set of include-directories from compiler flags -cf_header_path_list="" -if test -n "${CFLAGS}${CPPFLAGS}" ; then - for cf_header_path in $CPPFLAGS $CFLAGS - do - case "$cf_header_path" in - (-I*) - cf_header_path=`echo ".$cf_header_path" |sed -e 's/^...//' -e 's,/include$,,'` - -test "x$cf_header_path" != "xNONE" && \ -test -d "$cf_header_path" && \ - { - test -n "$verbose" && echo " ... testing for include-directories under $cf_header_path" - test -d "$cf_header_path/include" && cf_search="$cf_search $cf_header_path/include" - test -d "$cf_header_path/include/$cf_ncuhdr_root" && cf_search="$cf_search $cf_header_path/include/$cf_ncuhdr_root" - test -d "$cf_header_path/include/$cf_ncuhdr_root/include" && cf_search="$cf_search $cf_header_path/include/$cf_ncuhdr_root/include" - test -d "$cf_header_path/$cf_ncuhdr_root/include" && cf_search="$cf_search $cf_header_path/$cf_ncuhdr_root/include" - test -d "$cf_header_path/$cf_ncuhdr_root/include/$cf_ncuhdr_root" && cf_search="$cf_search $cf_header_path/$cf_ncuhdr_root/include/$cf_ncuhdr_root" -} - - cf_header_path_list="$cf_header_path_list $cf_search" - ;; - esac - done -fi - -# add the variations for the package we are looking for - -cf_search= - -test "x$prefix" != "xNONE" && \ -test -d "$prefix" && \ - { - test -n "$verbose" && echo " ... testing for include-directories under $prefix" - test -d "$prefix/include" && cf_search="$cf_search $prefix/include" - test -d "$prefix/include/$cf_ncuhdr_root" && cf_search="$cf_search $prefix/include/$cf_ncuhdr_root" - test -d "$prefix/include/$cf_ncuhdr_root/include" && cf_search="$cf_search $prefix/include/$cf_ncuhdr_root/include" - test -d "$prefix/$cf_ncuhdr_root/include" && cf_search="$cf_search $prefix/$cf_ncuhdr_root/include" - test -d "$prefix/$cf_ncuhdr_root/include/$cf_ncuhdr_root" && cf_search="$cf_search $prefix/$cf_ncuhdr_root/include/$cf_ncuhdr_root" -} - -for cf_subdir_prefix in \ - /usr \ - /usr/local \ - /usr/pkg \ - /opt \ - /opt/local \ - $HOME -do - -test "x$cf_subdir_prefix" != "x$prefix" && \ -test -d "$cf_subdir_prefix" && \ -{ test -z "$prefix" || test "x$prefix" = xNONE || test "x$cf_subdir_prefix" != "x$prefix"; } && { - test -n "$verbose" && echo " ... testing for include-directories under $cf_subdir_prefix" - test -d "$cf_subdir_prefix/include" && cf_search="$cf_search $cf_subdir_prefix/include" - test -d "$cf_subdir_prefix/include/$cf_ncuhdr_root" && cf_search="$cf_search $cf_subdir_prefix/include/$cf_ncuhdr_root" - test -d "$cf_subdir_prefix/include/$cf_ncuhdr_root/include" && cf_search="$cf_search $cf_subdir_prefix/include/$cf_ncuhdr_root/include" - test -d "$cf_subdir_prefix/$cf_ncuhdr_root/include" && cf_search="$cf_search $cf_subdir_prefix/$cf_ncuhdr_root/include" - test -d "$cf_subdir_prefix/$cf_ncuhdr_root/include/$cf_ncuhdr_root" && cf_search="$cf_search $cf_subdir_prefix/$cf_ncuhdr_root/include/$cf_ncuhdr_root" -} - -done - -test "$includedir" != NONE && \ -test "$includedir" != "/usr/include" && \ -test -d "$includedir" && { - test -d "$includedir" && cf_search="$cf_search $includedir" - test -d "$includedir/$cf_ncuhdr_root" && cf_search="$cf_search $includedir/$cf_ncuhdr_root" -} - -test "$oldincludedir" != NONE && \ -test "$oldincludedir" != "/usr/include" && \ -test -d "$oldincludedir" && { - test -d "$oldincludedir" && cf_search="$cf_search $oldincludedir" - test -d "$oldincludedir/$cf_ncuhdr_root" && cf_search="$cf_search $oldincludedir/$cf_ncuhdr_root" -} - -cf_search="$cf_search $cf_header_path_list" - - test -n "$verbose" && echo "search path $cf_search" - cf_save2_CPPFLAGS="$CPPFLAGS" - for cf_incdir in $cf_search - do - -if test -n "$cf_incdir" ; then - for cf_add_incdir in $cf_incdir - do - while test "$cf_add_incdir" != /usr/include - do - if test -d "$cf_add_incdir" - then - cf_have_incdir=no - if test -n "$CFLAGS$CPPFLAGS" ; then - # a loop is needed to ensure we can add subdirs of existing dirs - for cf_test_incdir in $CFLAGS $CPPFLAGS ; do - if test ".$cf_test_incdir" = ".-I$cf_add_incdir" ; then - cf_have_incdir=yes; break - fi - done - fi - - if test "$cf_have_incdir" = no ; then - if test "$cf_add_incdir" = /usr/local/include ; then - if test "$GCC" = yes - then - cf_save_CPPFLAGS=$CPPFLAGS - - test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS " - CPPFLAGS="${CPPFLAGS}-I$cf_add_incdir" - - cat >"conftest.$ac_ext" <<_ACEOF -#line 18826 "configure" -#include "confdefs.h" -#include <stdio.h> -int -main (void) -{ -printf("Hello") - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:18838: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:18841: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:18844: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:18847: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - : -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -cf_have_incdir=yes -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" - CPPFLAGS=$cf_save_CPPFLAGS - fi - fi - fi - - if test "$cf_have_incdir" = no ; then - test -n "$verbose" && echo " adding $cf_add_incdir to include-path" 1>&6 - -echo "${as_me:-configure}:18864: testing adding $cf_add_incdir to include-path ..." 1>&5 - - CPPFLAGS="$CPPFLAGS -I$cf_add_incdir" - - cf_top_incdir=`echo "$cf_add_incdir" | sed -e 's%/include/.*$%/include%'` - test "$cf_top_incdir" = "$cf_add_incdir" && break - cf_add_incdir="$cf_top_incdir" - else - break - fi - else - break - fi - done - done -fi - - for cf_header in \ - ncurses.h \ - curses.h - do - - cat >"conftest.$ac_ext" <<_ACEOF -#line 18887 "configure" -#include "confdefs.h" - -#include <$cf_header> -int -main (void) -{ - -#ifdef NCURSES_VERSION - -printf("%s\\n", NCURSES_VERSION); -#else -#ifdef __NCURSES_H -printf("old\\n"); -#else - make an error -#endif -#endif - - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:18911: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:18914: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:18917: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:18920: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - cf_cv_ncurses_h2=$cf_header - -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -cf_cv_ncurses_h2=no -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" - - if test "$cf_cv_ncurses_h2" != no ; then - cf_cv_ncurses_h2=$cf_incdir/$cf_header - test -n "$verbose" && echo $ECHO_N " ... found $ECHO_C" 1>&6 - break - fi - test -n "$verbose" && echo " ... tested $cf_incdir/$cf_header" 1>&6 - done - CPPFLAGS="$cf_save2_CPPFLAGS" - test "$cf_cv_ncurses_h2" != no && break - done - test "$cf_cv_ncurses_h2" = no && { { echo "$as_me:18941: error: not found" >&5 -echo "$as_me: error: not found" >&2;} - { (exit 1); exit 1; }; } - -fi -echo "$as_me:18946: result: $cf_cv_ncurses_h2" >&5 -echo "${ECHO_T}$cf_cv_ncurses_h2" >&6 - - cf_1st_incdir=`echo "$cf_cv_ncurses_h2" | sed -e 's%/[^/]*$%%'` - cf_cv_ncurses_header="`basename "$cf_cv_ncurses_h2"`" - if test "`basename "$cf_1st_incdir"`" = "$cf_ncuhdr_root" ; then - cf_cv_ncurses_header="$cf_ncuhdr_root/$cf_cv_ncurses_header" - fi - -if test -n "$cf_1st_incdir" ; then - for cf_add_incdir in $cf_1st_incdir - do - while test "$cf_add_incdir" != /usr/include - do - if test -d "$cf_add_incdir" - then - cf_have_incdir=no - if test -n "$CFLAGS$CPPFLAGS" ; then - # a loop is needed to ensure we can add subdirs of existing dirs - for cf_test_incdir in $CFLAGS $CPPFLAGS ; do - if test ".$cf_test_incdir" = ".-I$cf_add_incdir" ; then - cf_have_incdir=yes; break - fi - done - fi - - if test "$cf_have_incdir" = no ; then - if test "$cf_add_incdir" = /usr/local/include ; then - if test "$GCC" = yes - then - cf_save_CPPFLAGS=$CPPFLAGS - - test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS " - CPPFLAGS="${CPPFLAGS}-I$cf_add_incdir" - - cat >"conftest.$ac_ext" <<_ACEOF -#line 18982 "configure" -#include "confdefs.h" -#include <stdio.h> -int -main (void) -{ -printf("Hello") - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:18994: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:18997: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:19000: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:19003: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - : -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -cf_have_incdir=yes -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" - CPPFLAGS=$cf_save_CPPFLAGS - fi - fi - fi - - if test "$cf_have_incdir" = no ; then - test -n "$verbose" && echo " adding $cf_add_incdir to include-path" 1>&6 - -echo "${as_me:-configure}:19020: testing adding $cf_add_incdir to include-path ..." 1>&5 - - CPPFLAGS="$CPPFLAGS -I$cf_add_incdir" - - cf_top_incdir=`echo "$cf_add_incdir" | sed -e 's%/include/.*$%/include%'` - test "$cf_top_incdir" = "$cf_add_incdir" && break - cf_add_incdir="$cf_top_incdir" - else - break - fi - else - break - fi - done - done -fi - -fi - -# Set definitions to allow ifdef'ing for ncurses.h - -case "$cf_cv_ncurses_header" in -(*ncurses.h) - -cat >>confdefs.h <<\EOF -#define HAVE_NCURSES_H 1 -EOF - - ;; -esac - -case "$cf_cv_ncurses_header" in -(ncurses/curses.h|ncurses/ncurses.h) - -cat >>confdefs.h <<\EOF -#define HAVE_NCURSES_NCURSES_H 1 -EOF - - ;; -(ncursesw/curses.h|ncursesw/ncurses.h) - -cat >>confdefs.h <<\EOF -#define HAVE_NCURSESW_NCURSES_H 1 -EOF - - ;; -esac - -echo "$as_me:19068: checking for terminfo header" >&5 -echo $ECHO_N "checking for terminfo header... $ECHO_C" >&6 -if test "${cf_cv_term_header+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - -case "${cf_cv_ncurses_header}" in -(*/ncurses.h|*/ncursesw.h) - cf_term_header=`echo "$cf_cv_ncurses_header" | sed -e 's%ncurses[^.]*\.h$%term.h%'` - ;; -(*) - cf_term_header=term.h - ;; -esac - -for cf_test in $cf_term_header "ncurses/term.h" "ncursesw/term.h" -do -cat >"conftest.$ac_ext" <<_ACEOF -#line 19086 "configure" -#include "confdefs.h" -#include <stdio.h> -#include <${cf_cv_ncurses_header:-curses.h}> -#include <$cf_test> - -int -main (void) -{ -int x = auto_left_margin; (void)x - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:19101: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:19104: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:19107: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:19110: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - - cf_cv_term_header="$cf_test" -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 - - cf_cv_term_header=unknown - -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" - test "$cf_cv_term_header" != unknown && break -done - -fi -echo "$as_me:19126: result: $cf_cv_term_header" >&5 -echo "${ECHO_T}$cf_cv_term_header" >&6 - -# Set definitions to allow ifdef'ing to accommodate subdirectories - -case "$cf_cv_term_header" in -(*term.h) - -cat >>confdefs.h <<\EOF -#define HAVE_TERM_H 1 -EOF - - ;; -esac - -case "$cf_cv_term_header" in -(ncurses/term.h) - -cat >>confdefs.h <<\EOF -#define HAVE_NCURSES_TERM_H 1 -EOF - - ;; -(ncursesw/term.h) - -cat >>confdefs.h <<\EOF -#define HAVE_NCURSESW_TERM_H 1 -EOF - - ;; -esac - -# some applications need this, but should check for NCURSES_VERSION - -cat >>confdefs.h <<\EOF -#define NCURSES 1 -EOF - -echo "$as_me:19164: checking for ncurses version" >&5 -echo $ECHO_N "checking for ncurses version... $ECHO_C" >&6 -if test "${cf_cv_ncurses_version+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - cf_cv_ncurses_version=no - cf_tempfile=out$$ - rm -f "$cf_tempfile" - if test "$cross_compiling" = yes; then - - # This will not work if the preprocessor splits the line after the - # Autoconf token. The 'unproto' program does that. - cat > "conftest.$ac_ext" <<EOF -#include <${cf_cv_ncurses_header:-curses.h}> -#undef Autoconf -#ifdef NCURSES_VERSION -Autoconf NCURSES_VERSION -#else -#ifdef __NCURSES_H -Autoconf "old" -#endif -; -#endif -EOF - cf_try="$ac_cpp conftest.$ac_ext 2>&5 | grep '^Autoconf ' >conftest.out" - { (eval echo "$as_me:19190: \"$cf_try\"") >&5 - (eval $cf_try) 2>&5 - ac_status=$? - echo "$as_me:19193: \$? = $ac_status" >&5 - (exit "$ac_status"); } - if test -f conftest.out ; then - cf_out=`sed -e 's%^Autoconf %%' -e 's%^[^"]*"%%' -e 's%".*%%' conftest.out` - test -n "$cf_out" && cf_cv_ncurses_version="$cf_out" - rm -f conftest.out - fi - -else - cat >"conftest.$ac_ext" <<_ACEOF -#line 19203 "configure" -#include "confdefs.h" - -#include <${cf_cv_ncurses_header:-curses.h}> -#include <stdio.h> -int main(void) -{ - FILE *fp = fopen("$cf_tempfile", "w"); -#ifdef NCURSES_VERSION -# ifdef NCURSES_VERSION_PATCH - fprintf(fp, "%s.%d\\n", NCURSES_VERSION, NCURSES_VERSION_PATCH); -# else - fprintf(fp, "%s\\n", NCURSES_VERSION); -# endif -#else -# ifdef __NCURSES_H - fprintf(fp, "old\\n"); -# else - make an error -# endif -#endif - ${cf_cv_main_return:-return}(0); -} -_ACEOF -rm -f "conftest$ac_exeext" -if { (eval echo "$as_me:19228: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:19231: \$? = $ac_status" >&5 - (exit "$ac_status"); } && { ac_try='"./conftest$ac_exeext"' - { (eval echo "$as_me:19233: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:19236: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - - cf_cv_ncurses_version=`cat $cf_tempfile` -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -fi -rm -f core ./core.* ./*.core "conftest$ac_exeext" "conftest.$ac_objext" "conftest.$ac_ext" -fi - rm -f "$cf_tempfile" - -fi -echo "$as_me:19250: result: $cf_cv_ncurses_version" >&5 -echo "${ECHO_T}$cf_cv_ncurses_version" >&6 -test "$cf_cv_ncurses_version" = no || -cat >>confdefs.h <<\EOF -#define NCURSES 1 -EOF - -cf_nculib_root=$cf_cv_screen - # This works, except for the special case where we find gpm, but - # ncurses is in a nonstandard location via $LIBS, and we really want - # to link gpm. -cf_ncurses_LIBS="" -cf_ncurses_SAVE="$LIBS" -echo "$as_me:19263: checking for Gpm_Open in -lgpm" >&5 -echo $ECHO_N "checking for Gpm_Open in -lgpm... $ECHO_C" >&6 -if test "${ac_cv_lib_gpm_Gpm_Open+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lgpm $LIBS" -cat >"conftest.$ac_ext" <<_ACEOF -#line 19271 "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char Gpm_Open (); -int -main (void) -{ -Gpm_Open (); - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:19290: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:19293: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:19296: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:19299: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - ac_cv_lib_gpm_Gpm_Open=yes -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -ac_cv_lib_gpm_Gpm_Open=no -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:19310: result: $ac_cv_lib_gpm_Gpm_Open" >&5 -echo "${ECHO_T}$ac_cv_lib_gpm_Gpm_Open" >&6 -if test "$ac_cv_lib_gpm_Gpm_Open" = yes; then - echo "$as_me:19313: checking for initscr in -lgpm" >&5 -echo $ECHO_N "checking for initscr in -lgpm... $ECHO_C" >&6 -if test "${ac_cv_lib_gpm_initscr+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lgpm $LIBS" -cat >"conftest.$ac_ext" <<_ACEOF -#line 19321 "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char initscr (); -int -main (void) -{ -initscr (); - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:19340: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:19343: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:19346: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:19349: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - ac_cv_lib_gpm_initscr=yes -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -ac_cv_lib_gpm_initscr=no -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:19360: result: $ac_cv_lib_gpm_initscr" >&5 -echo "${ECHO_T}$ac_cv_lib_gpm_initscr" >&6 -if test "$ac_cv_lib_gpm_initscr" = yes; then - LIBS="$cf_ncurses_SAVE" -else - cf_ncurses_LIBS="-lgpm" -fi - -fi - -case "$host_os" in -(freebsd*) - # This is only necessary if you are linking against an obsolete - # version of ncurses (but it should do no harm, since it's static). - if test "$cf_nculib_root" = ncurses ; then - echo "$as_me:19375: checking for tgoto in -lmytinfo" >&5 -echo $ECHO_N "checking for tgoto in -lmytinfo... $ECHO_C" >&6 -if test "${ac_cv_lib_mytinfo_tgoto+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lmytinfo $LIBS" -cat >"conftest.$ac_ext" <<_ACEOF -#line 19383 "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char tgoto (); -int -main (void) -{ -tgoto (); - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:19402: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:19405: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:19408: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:19411: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - ac_cv_lib_mytinfo_tgoto=yes -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -ac_cv_lib_mytinfo_tgoto=no -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:19422: result: $ac_cv_lib_mytinfo_tgoto" >&5 -echo "${ECHO_T}$ac_cv_lib_mytinfo_tgoto" >&6 -if test "$ac_cv_lib_mytinfo_tgoto" = yes; then - cf_ncurses_LIBS="-lmytinfo $cf_ncurses_LIBS" -fi - - fi - ;; -esac - -cf_add_libs="$LIBS" -# reverse order -cf_add_0lib= -for cf_add_1lib in $cf_ncurses_LIBS; do cf_add_0lib="$cf_add_1lib $cf_add_0lib"; done -# filter duplicates -for cf_add_1lib in $cf_add_0lib; do - for cf_add_2lib in $cf_add_libs; do - if test "x$cf_add_1lib" = "x$cf_add_2lib"; then - cf_add_1lib= - break - fi - done - test -n "$cf_add_1lib" && cf_add_libs="$cf_add_1lib $cf_add_libs" -done -LIBS="$cf_add_libs" - -if test -n "$cf_cv_curses_dir" && test "$cf_cv_curses_dir" != "no" -then - -cf_add_libs="$LIBS" -# reverse order -cf_add_0lib= -for cf_add_1lib in -l$cf_nculib_root; do cf_add_0lib="$cf_add_1lib $cf_add_0lib"; done -# filter duplicates -for cf_add_1lib in $cf_add_0lib; do - for cf_add_2lib in $cf_add_libs; do - if test "x$cf_add_1lib" = "x$cf_add_2lib"; then - cf_add_1lib= - break - fi - done - test -n "$cf_add_1lib" && cf_add_libs="$cf_add_1lib $cf_add_libs" -done -LIBS="$cf_add_libs" - -else - - eval 'cf_cv_have_lib_'"$cf_nculib_root"'=no' - cf_libdir="" - echo "$as_me:19471: checking for initscr" >&5 -echo $ECHO_N "checking for initscr... $ECHO_C" >&6 -if test "${ac_cv_func_initscr+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >"conftest.$ac_ext" <<_ACEOF -#line 19477 "configure" -#include "confdefs.h" -#define initscr autoconf_temporary -#include <limits.h> /* least-intrusive standard header which defines gcc2 __stub macros */ -#undef initscr - -#ifdef __cplusplus -extern "C" -#endif - -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char initscr (void); - -int -main (void) -{ - -/* The GNU C library defines stubs for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_initscr) || defined (__stub___initscr) -#error found stub for initscr -#endif - - return initscr (); - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:19508: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:19511: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:19514: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:19517: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - ac_cv_func_initscr=yes -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -ac_cv_func_initscr=no -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" -fi -echo "$as_me:19527: result: $ac_cv_func_initscr" >&5 -echo "${ECHO_T}$ac_cv_func_initscr" >&6 -if test "$ac_cv_func_initscr" = yes; then - eval 'cf_cv_have_lib_'"$cf_nculib_root"'=yes' -else - - cf_save_LIBS="$LIBS" - echo "$as_me:19534: checking for initscr in -l$cf_nculib_root" >&5 -echo $ECHO_N "checking for initscr in -l$cf_nculib_root... $ECHO_C" >&6 - LIBS="-l$cf_nculib_root $LIBS" - cat >"conftest.$ac_ext" <<_ACEOF -#line 19538 "configure" -#include "confdefs.h" -#include <${cf_cv_ncurses_header:-curses.h}> -int -main (void) -{ -initscr() - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:19550: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:19553: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:19556: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:19559: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - echo "$as_me:19561: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - eval 'cf_cv_have_lib_'"$cf_nculib_root"'=yes' - -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -echo "$as_me:19568: result: no" >&5 -echo "${ECHO_T}no" >&6 - -cf_search= -cf_library_path_list="" -if test -n "${LDFLAGS}${LIBS}" ; then - for cf_library_path in $LDFLAGS $LIBS - do - case "$cf_library_path" in - (-L*) - cf_library_path=`echo ".$cf_library_path" |sed -e 's/^...//' -e 's,/lib$,,'` - -test "x$cf_library_path" != "xNONE" && \ -test -d "$cf_library_path" && \ - { - test -n "$verbose" && echo " ... testing for lib-directories under $cf_library_path" - test -d "$cf_library_path/lib" && cf_search="$cf_search $cf_library_path/lib" - test -d "$cf_library_path/lib/$cf_nculib_root" && cf_search="$cf_search $cf_library_path/lib/$cf_nculib_root" - test -d "$cf_library_path/lib/$cf_nculib_root/lib" && cf_search="$cf_search $cf_library_path/lib/$cf_nculib_root/lib" - test -d "$cf_library_path/$cf_nculib_root/lib" && cf_search="$cf_search $cf_library_path/$cf_nculib_root/lib" - test -d "$cf_library_path/$cf_nculib_root/lib/$cf_nculib_root" && cf_search="$cf_search $cf_library_path/$cf_nculib_root/lib/$cf_nculib_root" -} - - cf_library_path_list="$cf_library_path_list $cf_search" - ;; - esac - done -fi - -cf_search= - -test "x$prefix" != "xNONE" && \ -test -d "$prefix" && \ - { - test -n "$verbose" && echo " ... testing for lib-directories under $prefix" - test -d "$prefix/lib" && cf_search="$cf_search $prefix/lib" - test -d "$prefix/lib/$cf_nculib_root" && cf_search="$cf_search $prefix/lib/$cf_nculib_root" - test -d "$prefix/lib/$cf_nculib_root/lib" && cf_search="$cf_search $prefix/lib/$cf_nculib_root/lib" - test -d "$prefix/$cf_nculib_root/lib" && cf_search="$cf_search $prefix/$cf_nculib_root/lib" - test -d "$prefix/$cf_nculib_root/lib/$cf_nculib_root" && cf_search="$cf_search $prefix/$cf_nculib_root/lib/$cf_nculib_root" -} - -for cf_subdir_prefix in \ - /usr \ - /usr/local \ - /usr/pkg \ - /opt \ - /opt/local \ - $HOME -do - -test "x$cf_subdir_prefix" != "x$prefix" && \ -test -d "$cf_subdir_prefix" && \ -{ test -z "$prefix" || test "x$prefix" = xNONE || test "x$cf_subdir_prefix" != "x$prefix"; } && { - test -n "$verbose" && echo " ... testing for lib-directories under $cf_subdir_prefix" - test -d "$cf_subdir_prefix/lib" && cf_search="$cf_search $cf_subdir_prefix/lib" - test -d "$cf_subdir_prefix/lib/$cf_nculib_root" && cf_search="$cf_search $cf_subdir_prefix/lib/$cf_nculib_root" - test -d "$cf_subdir_prefix/lib/$cf_nculib_root/lib" && cf_search="$cf_search $cf_subdir_prefix/lib/$cf_nculib_root/lib" - test -d "$cf_subdir_prefix/$cf_nculib_root/lib" && cf_search="$cf_search $cf_subdir_prefix/$cf_nculib_root/lib" - test -d "$cf_subdir_prefix/$cf_nculib_root/lib/$cf_nculib_root" && cf_search="$cf_search $cf_subdir_prefix/$cf_nculib_root/lib/$cf_nculib_root" -} - -done - -cf_search="$cf_library_path_list $cf_search" - - for cf_libdir in $cf_search - do - echo "$as_me:19636: checking for -l$cf_nculib_root in $cf_libdir" >&5 -echo $ECHO_N "checking for -l$cf_nculib_root in $cf_libdir... $ECHO_C" >&6 - LIBS="-L$cf_libdir -l$cf_nculib_root $cf_save_LIBS" - cat >"conftest.$ac_ext" <<_ACEOF -#line 19640 "configure" -#include "confdefs.h" -#include <${cf_cv_ncurses_header:-curses.h}> -int -main (void) -{ -initscr() - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:19652: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:19655: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:19658: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:19661: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - echo "$as_me:19663: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - eval 'cf_cv_have_lib_'"$cf_nculib_root"'=yes' - break -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -echo "$as_me:19670: result: no" >&5 -echo "${ECHO_T}no" >&6 - LIBS="$cf_save_LIBS" -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" - done - -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" - -fi - -eval 'cf_found_library="$cf_cv_have_lib_'"$cf_nculib_root"\" - -if test "$cf_found_library" = no ; then - { { echo "$as_me:19685: error: Cannot link $cf_nculib_root library" >&5 -echo "$as_me: error: Cannot link $cf_nculib_root library" >&2;} - { (exit 1); exit 1; }; } -fi - -fi - -if test -n "$cf_ncurses_LIBS" ; then - echo "$as_me:19693: checking if we can link $cf_nculib_root without $cf_ncurses_LIBS" >&5 -echo $ECHO_N "checking if we can link $cf_nculib_root without $cf_ncurses_LIBS... $ECHO_C" >&6 - cf_ncurses_SAVE="$LIBS" - for p in $cf_ncurses_LIBS ; do - q=`echo "$LIBS" | sed -e "s%$p %%" -e "s%$p$%%"` - if test "$q" != "$LIBS" ; then - LIBS="$q" - fi - done - cat >"conftest.$ac_ext" <<_ACEOF -#line 19703 "configure" -#include "confdefs.h" -#include <${cf_cv_ncurses_header:-curses.h}> -int -main (void) -{ -initscr(); mousemask(0,0); tigetstr((char *)0); - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:19715: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:19718: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:19721: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:19724: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - echo "$as_me:19726: result: yes" >&5 -echo "${ECHO_T}yes" >&6 -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -echo "$as_me:19731: result: no" >&5 -echo "${ECHO_T}no" >&6 - LIBS="$cf_ncurses_SAVE" -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" -fi - -cf_nculib_ROOT=`echo "HAVE_LIB$cf_nculib_root" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` - -cat >>confdefs.h <<EOF -#define $cf_nculib_ROOT 1 -EOF - - fi -else - NCURSES_CONFIG=none -fi - - ;; -(pdcurses) - -cf_x_athena=${cf_x_athena:-Xaw} - -echo "$as_me:19754: checking if you want to link with Xaw 3d library" >&5 -echo $ECHO_N "checking if you want to link with Xaw 3d library... $ECHO_C" >&6 -withval= - -# Check whether --with-Xaw3d or --without-Xaw3d was given. -if test "${with_Xaw3d+set}" = set; then - withval="$with_Xaw3d" - -fi; -if test "$withval" = yes ; then - cf_x_athena=Xaw3d - echo "$as_me:19765: result: yes" >&5 -echo "${ECHO_T}yes" >&6 -else - echo "$as_me:19768: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -echo "$as_me:19772: checking if you want to link with Xaw 3d xft library" >&5 -echo $ECHO_N "checking if you want to link with Xaw 3d xft library... $ECHO_C" >&6 -withval= - -# Check whether --with-Xaw3dxft or --without-Xaw3dxft was given. -if test "${with_Xaw3dxft+set}" = set; then - withval="$with_Xaw3dxft" - -fi; -if test "$withval" = yes ; then - cf_x_athena=Xaw3dxft - echo "$as_me:19783: result: yes" >&5 -echo "${ECHO_T}yes" >&6 -else - echo "$as_me:19786: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -echo "$as_me:19790: checking if you want to link with neXT Athena library" >&5 -echo $ECHO_N "checking if you want to link with neXT Athena library... $ECHO_C" >&6 -withval= - -# Check whether --with-neXtaw or --without-neXtaw was given. -if test "${with_neXtaw+set}" = set; then - withval="$with_neXtaw" - -fi; -if test "$withval" = yes ; then - cf_x_athena=neXtaw - echo "$as_me:19801: result: yes" >&5 -echo "${ECHO_T}yes" >&6 -else - echo "$as_me:19804: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -echo "$as_me:19808: checking if you want to link with Athena-Plus library" >&5 -echo $ECHO_N "checking if you want to link with Athena-Plus library... $ECHO_C" >&6 -withval= - -# Check whether --with-XawPlus or --without-XawPlus was given. -if test "${with_XawPlus+set}" = set; then - withval="$with_XawPlus" - -fi; -if test "$withval" = yes ; then - cf_x_athena=XawPlus - echo "$as_me:19819: result: yes" >&5 -echo "${ECHO_T}yes" >&6 -else - echo "$as_me:19822: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -cf_x_athena_lib="" - -if test "$PKG_CONFIG" != none ; then - cf_athena_list= - test "$cf_x_athena" = Xaw && cf_athena_list="xaw8 xaw7 xaw6" - for cf_athena_pkg in \ - $cf_athena_list \ - ${cf_x_athena} \ - ${cf_x_athena}-devel \ - lib${cf_x_athena} \ - lib${cf_x_athena}-devel - do - -if test "$PKG_CONFIG" != none && "$PKG_CONFIG" --exists "$cf_athena_pkg"; then - test -n "$verbose" && echo " found package $cf_athena_pkg" 1>&6 - -echo "${as_me:-configure}:19842: testing found package $cf_athena_pkg ..." 1>&5 - - cf_pkgconfig_incs="`$PKG_CONFIG --cflags "$cf_athena_pkg" 2>/dev/null`" - cf_pkgconfig_libs="`$PKG_CONFIG --libs "$cf_athena_pkg" 2>/dev/null`" - test -n "$verbose" && echo " package $cf_athena_pkg CFLAGS: $cf_pkgconfig_incs" 1>&6 - -echo "${as_me:-configure}:19848: testing package $cf_athena_pkg CFLAGS: $cf_pkgconfig_incs ..." 1>&5 - - test -n "$verbose" && echo " package $cf_athena_pkg LIBS: $cf_pkgconfig_libs" 1>&6 - -echo "${as_me:-configure}:19852: testing package $cf_athena_pkg LIBS: $cf_pkgconfig_libs ..." 1>&5 - -cf_fix_cppflags=no -cf_new_cflags= -cf_new_cppflags= -cf_new_extra_cppflags= - -for cf_add_cflags in $cf_pkgconfig_incs -do -case "$cf_fix_cppflags" in -(no) - case "$cf_add_cflags" in - (-undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) - case "$cf_add_cflags" in - (-D*) - cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^-D[^=]*='\''\"[^"]*//'` - - test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=yes - - if test "$cf_fix_cppflags" = yes ; then - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - continue - elif test "${cf_tst_cflags}" = "\"'" ; then - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - continue - fi - ;; - esac - case "$CPPFLAGS" in - (*$cf_add_cflags) - ;; - (*) - case "$cf_add_cflags" in - (-D*) - cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'` - -CPPFLAGS=`echo "$CPPFLAGS" | \ - sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \ - -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'` - - ;; - esac - - test -n "$cf_new_cppflags" && cf_new_cppflags="$cf_new_cppflags " - cf_new_cppflags="${cf_new_cppflags}$cf_add_cflags" - - ;; - esac - ;; - (*) - - test -n "$cf_new_cflags" && cf_new_cflags="$cf_new_cflags " - cf_new_cflags="${cf_new_cflags}$cf_add_cflags" - - ;; - esac - ;; -(yes) - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^[^"]*"'\''//'` - - test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=no - ;; -esac -done - -if test -n "$cf_new_cflags" ; then - - test -n "$CFLAGS" && CFLAGS="$CFLAGS " - CFLAGS="${CFLAGS}$cf_new_cflags" - -fi - -if test -n "$cf_new_cppflags" ; then - - test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS " - CPPFLAGS="${CPPFLAGS}$cf_new_cppflags" - -fi - -if test -n "$cf_new_extra_cppflags" ; then - - test -n "$EXTRA_CPPFLAGS" && EXTRA_CPPFLAGS="$EXTRA_CPPFLAGS " - EXTRA_CPPFLAGS="${EXTRA_CPPFLAGS}$cf_new_extra_cppflags" - -fi - -cf_add_libs="$LIBS" -# reverse order -cf_add_0lib= -for cf_add_1lib in $cf_pkgconfig_libs; do cf_add_0lib="$cf_add_1lib $cf_add_0lib"; done -# filter duplicates -for cf_add_1lib in $cf_add_0lib; do - for cf_add_2lib in $cf_add_libs; do - if test "x$cf_add_1lib" = "x$cf_add_2lib"; then - cf_add_1lib= - break - fi - done - test -n "$cf_add_1lib" && cf_add_libs="$cf_add_1lib $cf_add_libs" -done -LIBS="$cf_add_libs" - - cf_x_athena_lib="$cf_pkgconfig_libs" - -cf_x_athena_LIBS=`echo "HAVE_LIB_$cf_x_athena" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` - - cat >>confdefs.h <<EOF -#define $cf_x_athena_LIBS 1 -EOF - - for cf_trim_lib in Xmu Xt X11 - do - case "$LIBS" in - (*-l$cf_trim_lib\ *-l$cf_trim_lib*) - LIBS=`echo "$LIBS " | sed -e 's/ / /g' -e 's%-l'"$cf_trim_lib"' %%' -e 's/ $//'` - test -n "$verbose" && echo " ..trimmed $LIBS" 1>&6 - -echo "${as_me:-configure}:19983: testing ..trimmed $LIBS ..." 1>&5 - - ;; - esac - done - -echo "$as_me:19989: checking for usable $cf_x_athena/Xmu package" >&5 -echo $ECHO_N "checking for usable $cf_x_athena/Xmu package... $ECHO_C" >&6 -if test "${cf_cv_xaw_compat+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - -cat >"conftest.$ac_ext" <<_ACEOF -#line 19996 "configure" -#include "confdefs.h" - -#include <X11/Xmu/CharSet.h> - -int -main (void) -{ - -int check = XmuCompareISOLatin1("big", "small"); -(void)check; - - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:20013: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:20016: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:20019: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:20022: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - cf_cv_xaw_compat=yes -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -cf_cv_xaw_compat=no -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" -fi -echo "$as_me:20032: result: $cf_cv_xaw_compat" >&5 -echo "${ECHO_T}$cf_cv_xaw_compat" >&6 - - if test "$cf_cv_xaw_compat" = no - then - # workaround for broken ".pc" files... - case "$cf_x_athena_lib" in - (*-lXmu*) - ;; - (*) - test -n "$verbose" && echo " work around broken package" 1>&6 - -echo "${as_me:-configure}:20044: testing work around broken package ..." 1>&5 - - cf_save_xmu="$LIBS" - cf_first_lib=`echo "$cf_save_xmu" | sed -e 's/^ *//' -e 's/ .*//'` - -if test "$PKG_CONFIG" != none && "$PKG_CONFIG" --exists "xmu"; then - test -n "$verbose" && echo " found package xmu" 1>&6 - -echo "${as_me:-configure}:20052: testing found package xmu ..." 1>&5 - - cf_pkgconfig_incs="`$PKG_CONFIG --cflags "xmu" 2>/dev/null`" - cf_pkgconfig_libs="`$PKG_CONFIG --libs "xmu" 2>/dev/null`" - test -n "$verbose" && echo " package xmu CFLAGS: $cf_pkgconfig_incs" 1>&6 - -echo "${as_me:-configure}:20058: testing package xmu CFLAGS: $cf_pkgconfig_incs ..." 1>&5 - - test -n "$verbose" && echo " package xmu LIBS: $cf_pkgconfig_libs" 1>&6 - -echo "${as_me:-configure}:20062: testing package xmu LIBS: $cf_pkgconfig_libs ..." 1>&5 - -cf_fix_cppflags=no -cf_new_cflags= -cf_new_cppflags= -cf_new_extra_cppflags= - -for cf_add_cflags in $cf_pkgconfig_incs -do -case "$cf_fix_cppflags" in -(no) - case "$cf_add_cflags" in - (-undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) - case "$cf_add_cflags" in - (-D*) - cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^-D[^=]*='\''\"[^"]*//'` - - test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=yes - - if test "$cf_fix_cppflags" = yes ; then - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - continue - elif test "${cf_tst_cflags}" = "\"'" ; then - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - continue - fi - ;; - esac - case "$CPPFLAGS" in - (*$cf_add_cflags) - ;; - (*) - case "$cf_add_cflags" in - (-D*) - cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'` - -CPPFLAGS=`echo "$CPPFLAGS" | \ - sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \ - -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'` - - ;; - esac - - test -n "$cf_new_cppflags" && cf_new_cppflags="$cf_new_cppflags " - cf_new_cppflags="${cf_new_cppflags}$cf_add_cflags" - - ;; - esac - ;; - (*) - - test -n "$cf_new_cflags" && cf_new_cflags="$cf_new_cflags " - cf_new_cflags="${cf_new_cflags}$cf_add_cflags" - - ;; - esac - ;; -(yes) - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^[^"]*"'\''//'` - - test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=no - ;; -esac -done - -if test -n "$cf_new_cflags" ; then - - test -n "$CFLAGS" && CFLAGS="$CFLAGS " - CFLAGS="${CFLAGS}$cf_new_cflags" - -fi - -if test -n "$cf_new_cppflags" ; then - - test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS " - CPPFLAGS="${CPPFLAGS}$cf_new_cppflags" - -fi - -if test -n "$cf_new_extra_cppflags" ; then - - test -n "$EXTRA_CPPFLAGS" && EXTRA_CPPFLAGS="$EXTRA_CPPFLAGS " - EXTRA_CPPFLAGS="${EXTRA_CPPFLAGS}$cf_new_extra_cppflags" - -fi - -cf_add_libs="$LIBS" -# reverse order -cf_add_0lib= -for cf_add_1lib in $cf_pkgconfig_libs; do cf_add_0lib="$cf_add_1lib $cf_add_0lib"; done -# filter duplicates -for cf_add_1lib in $cf_add_0lib; do - for cf_add_2lib in $cf_add_libs; do - if test "x$cf_add_1lib" = "x$cf_add_2lib"; then - cf_add_1lib= - break - fi - done - test -n "$cf_add_1lib" && cf_add_libs="$cf_add_1lib $cf_add_libs" -done -LIBS="$cf_add_libs" - - LIBS="$cf_save_xmu" - -test -n "$verbose" && echo " ...before $LIBS" 1>&6 - -echo "${as_me:-configure}:20182: testing ...before $LIBS ..." 1>&5 - -LIBS=`echo "$LIBS" | sed -e "s/[ ][ ]*/ /g" -e "s%$cf_first_lib %$cf_first_lib $cf_pkgconfig_libs %" -e 's% % %g'` -test -n "$verbose" && echo " ...after $LIBS" 1>&6 - -echo "${as_me:-configure}:20187: testing ...after $LIBS ..." 1>&5 - -else - cf_pkgconfig_incs= - cf_pkgconfig_libs= - -test -n "$verbose" && echo " ...before $LIBS" 1>&6 - -echo "${as_me:-configure}:20195: testing ...before $LIBS ..." 1>&5 - -LIBS=`echo "$LIBS" | sed -e "s/[ ][ ]*/ /g" -e "s%$cf_first_lib %$cf_first_lib -lXmu %" -e 's% % %g'` -test -n "$verbose" && echo " ...after $LIBS" 1>&6 - -echo "${as_me:-configure}:20200: testing ...after $LIBS ..." 1>&5 - -fi - - for cf_trim_lib in Xmu Xt X11 - do - case "$LIBS" in - (*-l$cf_trim_lib\ *-l$cf_trim_lib*) - LIBS=`echo "$LIBS " | sed -e 's/ / /g' -e 's%-l'"$cf_trim_lib"' %%' -e 's/ $//'` - test -n "$verbose" && echo " ..trimmed $LIBS" 1>&6 - -echo "${as_me:-configure}:20211: testing ..trimmed $LIBS ..." 1>&5 - - ;; - esac - done - - ;; - esac - fi - - break -else - cf_pkgconfig_incs= - cf_pkgconfig_libs= - : -fi - - done -fi - -if test -z "$cf_x_athena_lib" ; then - -if test "$PKG_CONFIG" != none && "$PKG_CONFIG" --exists "Xext"; then - test -n "$verbose" && echo " found package Xext" 1>&6 - -echo "${as_me:-configure}:20236: testing found package Xext ..." 1>&5 - - cf_pkgconfig_incs="`$PKG_CONFIG --cflags "Xext" 2>/dev/null`" - cf_pkgconfig_libs="`$PKG_CONFIG --libs "Xext" 2>/dev/null`" - test -n "$verbose" && echo " package Xext CFLAGS: $cf_pkgconfig_incs" 1>&6 - -echo "${as_me:-configure}:20242: testing package Xext CFLAGS: $cf_pkgconfig_incs ..." 1>&5 - - test -n "$verbose" && echo " package Xext LIBS: $cf_pkgconfig_libs" 1>&6 - -echo "${as_me:-configure}:20246: testing package Xext LIBS: $cf_pkgconfig_libs ..." 1>&5 - -cf_fix_cppflags=no -cf_new_cflags= -cf_new_cppflags= -cf_new_extra_cppflags= - -for cf_add_cflags in $cf_pkgconfig_incs -do -case "$cf_fix_cppflags" in -(no) - case "$cf_add_cflags" in - (-undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) - case "$cf_add_cflags" in - (-D*) - cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^-D[^=]*='\''\"[^"]*//'` - - test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=yes - - if test "$cf_fix_cppflags" = yes ; then - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - continue - elif test "${cf_tst_cflags}" = "\"'" ; then - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - continue - fi - ;; - esac - case "$CPPFLAGS" in - (*$cf_add_cflags) - ;; - (*) - case "$cf_add_cflags" in - (-D*) - cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'` - -CPPFLAGS=`echo "$CPPFLAGS" | \ - sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \ - -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'` - - ;; - esac - - test -n "$cf_new_cppflags" && cf_new_cppflags="$cf_new_cppflags " - cf_new_cppflags="${cf_new_cppflags}$cf_add_cflags" - - ;; - esac - ;; - (*) - - test -n "$cf_new_cflags" && cf_new_cflags="$cf_new_cflags " - cf_new_cflags="${cf_new_cflags}$cf_add_cflags" - - ;; - esac - ;; -(yes) - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^[^"]*"'\''//'` - - test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=no - ;; -esac -done - -if test -n "$cf_new_cflags" ; then - - test -n "$CFLAGS" && CFLAGS="$CFLAGS " - CFLAGS="${CFLAGS}$cf_new_cflags" - -fi - -if test -n "$cf_new_cppflags" ; then - - test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS " - CPPFLAGS="${CPPFLAGS}$cf_new_cppflags" - -fi - -if test -n "$cf_new_extra_cppflags" ; then - - test -n "$EXTRA_CPPFLAGS" && EXTRA_CPPFLAGS="$EXTRA_CPPFLAGS " - EXTRA_CPPFLAGS="${EXTRA_CPPFLAGS}$cf_new_extra_cppflags" - -fi - -cf_add_libs="$LIBS" -# reverse order -cf_add_0lib= -for cf_add_1lib in $cf_pkgconfig_libs; do cf_add_0lib="$cf_add_1lib $cf_add_0lib"; done -# filter duplicates -for cf_add_1lib in $cf_add_0lib; do - for cf_add_2lib in $cf_add_libs; do - if test "x$cf_add_1lib" = "x$cf_add_2lib"; then - cf_add_1lib= - break - fi - done - test -n "$cf_add_1lib" && cf_add_libs="$cf_add_1lib $cf_add_libs" -done -LIBS="$cf_add_libs" - - : -else - cf_pkgconfig_incs= - cf_pkgconfig_libs= - - echo "$as_me:20367: checking for XextCreateExtension in -lXext" >&5 -echo $ECHO_N "checking for XextCreateExtension in -lXext... $ECHO_C" >&6 -if test "${ac_cv_lib_Xext_XextCreateExtension+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lXext $LIBS" -cat >"conftest.$ac_ext" <<_ACEOF -#line 20375 "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char XextCreateExtension (); -int -main (void) -{ -XextCreateExtension (); - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:20394: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:20397: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:20400: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:20403: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - ac_cv_lib_Xext_XextCreateExtension=yes -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -ac_cv_lib_Xext_XextCreateExtension=no -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:20414: result: $ac_cv_lib_Xext_XextCreateExtension" >&5 -echo "${ECHO_T}$ac_cv_lib_Xext_XextCreateExtension" >&6 -if test "$ac_cv_lib_Xext_XextCreateExtension" = yes; then - -cf_add_libs="$LIBS" -# reverse order -cf_add_0lib= -for cf_add_1lib in -lXext; do cf_add_0lib="$cf_add_1lib $cf_add_0lib"; done -# filter duplicates -for cf_add_1lib in $cf_add_0lib; do - for cf_add_2lib in $cf_add_libs; do - if test "x$cf_add_1lib" = "x$cf_add_2lib"; then - cf_add_1lib= - break - fi - done - test -n "$cf_add_1lib" && cf_add_libs="$cf_add_1lib $cf_add_libs" -done -LIBS="$cf_add_libs" - -fi - -fi - -# OSX is schizoid about who owns /usr/X11 (old) versus /opt/X11 (new) (and -# in some cases has installed dummy files in the former, other cases replaced -# it with a link to the new location). This complicates the configure script. -# Check for that pitfall, and recover using pkg-config -# -# If none of these are set, the configuration is almost certainly broken. -if test -z "${X_CFLAGS}${X_PRE_LIBS}${X_LIBS}${X_EXTRA_LIBS}" -then - -if test "$PKG_CONFIG" != none && "$PKG_CONFIG" --exists "x11"; then - test -n "$verbose" && echo " found package x11" 1>&6 - -echo "${as_me:-configure}:20450: testing found package x11 ..." 1>&5 - - cf_pkgconfig_incs="`$PKG_CONFIG --cflags "x11" 2>/dev/null`" - cf_pkgconfig_libs="`$PKG_CONFIG --libs "x11" 2>/dev/null`" - test -n "$verbose" && echo " package x11 CFLAGS: $cf_pkgconfig_incs" 1>&6 - -echo "${as_me:-configure}:20456: testing package x11 CFLAGS: $cf_pkgconfig_incs ..." 1>&5 - - test -n "$verbose" && echo " package x11 LIBS: $cf_pkgconfig_libs" 1>&6 - -echo "${as_me:-configure}:20460: testing package x11 LIBS: $cf_pkgconfig_libs ..." 1>&5 - -cf_fix_cppflags=no -cf_new_cflags= -cf_new_cppflags= -cf_new_extra_cppflags= - -for cf_add_cflags in $cf_pkgconfig_incs -do -case "$cf_fix_cppflags" in -(no) - case "$cf_add_cflags" in - (-undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) - case "$cf_add_cflags" in - (-D*) - cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^-D[^=]*='\''\"[^"]*//'` - - test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=yes - - if test "$cf_fix_cppflags" = yes ; then - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - continue - elif test "${cf_tst_cflags}" = "\"'" ; then - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - continue - fi - ;; - esac - case "$CPPFLAGS" in - (*$cf_add_cflags) - ;; - (*) - case "$cf_add_cflags" in - (-D*) - cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'` - -CPPFLAGS=`echo "$CPPFLAGS" | \ - sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \ - -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'` - - ;; - esac - - test -n "$cf_new_cppflags" && cf_new_cppflags="$cf_new_cppflags " - cf_new_cppflags="${cf_new_cppflags}$cf_add_cflags" - - ;; - esac - ;; - (*) - - test -n "$cf_new_cflags" && cf_new_cflags="$cf_new_cflags " - cf_new_cflags="${cf_new_cflags}$cf_add_cflags" - - ;; - esac - ;; -(yes) - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^[^"]*"'\''//'` - - test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=no - ;; -esac -done - -if test -n "$cf_new_cflags" ; then - - test -n "$CFLAGS" && CFLAGS="$CFLAGS " - CFLAGS="${CFLAGS}$cf_new_cflags" - -fi - -if test -n "$cf_new_cppflags" ; then - - test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS " - CPPFLAGS="${CPPFLAGS}$cf_new_cppflags" - -fi - -if test -n "$cf_new_extra_cppflags" ; then - - test -n "$EXTRA_CPPFLAGS" && EXTRA_CPPFLAGS="$EXTRA_CPPFLAGS " - EXTRA_CPPFLAGS="${EXTRA_CPPFLAGS}$cf_new_extra_cppflags" - -fi - -cf_add_libs="$LIBS" -# reverse order -cf_add_0lib= -for cf_add_1lib in $cf_pkgconfig_libs; do cf_add_0lib="$cf_add_1lib $cf_add_0lib"; done -# filter duplicates -for cf_add_1lib in $cf_add_0lib; do - for cf_add_2lib in $cf_add_libs; do - if test "x$cf_add_1lib" = "x$cf_add_2lib"; then - cf_add_1lib= - break - fi - done - test -n "$cf_add_1lib" && cf_add_libs="$cf_add_1lib $cf_add_libs" -done -LIBS="$cf_add_libs" - - : -else - cf_pkgconfig_incs= - cf_pkgconfig_libs= - { echo "$as_me:20580: WARNING: unable to find X11 library" >&5 -echo "$as_me: WARNING: unable to find X11 library" >&2;} -fi - -if test "$PKG_CONFIG" != none && "$PKG_CONFIG" --exists "ice"; then - test -n "$verbose" && echo " found package ice" 1>&6 - -echo "${as_me:-configure}:20587: testing found package ice ..." 1>&5 - - cf_pkgconfig_incs="`$PKG_CONFIG --cflags "ice" 2>/dev/null`" - cf_pkgconfig_libs="`$PKG_CONFIG --libs "ice" 2>/dev/null`" - test -n "$verbose" && echo " package ice CFLAGS: $cf_pkgconfig_incs" 1>&6 - -echo "${as_me:-configure}:20593: testing package ice CFLAGS: $cf_pkgconfig_incs ..." 1>&5 - - test -n "$verbose" && echo " package ice LIBS: $cf_pkgconfig_libs" 1>&6 - -echo "${as_me:-configure}:20597: testing package ice LIBS: $cf_pkgconfig_libs ..." 1>&5 - -cf_fix_cppflags=no -cf_new_cflags= -cf_new_cppflags= -cf_new_extra_cppflags= - -for cf_add_cflags in $cf_pkgconfig_incs -do -case "$cf_fix_cppflags" in -(no) - case "$cf_add_cflags" in - (-undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) - case "$cf_add_cflags" in - (-D*) - cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^-D[^=]*='\''\"[^"]*//'` - - test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=yes - - if test "$cf_fix_cppflags" = yes ; then - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - continue - elif test "${cf_tst_cflags}" = "\"'" ; then - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - continue - fi - ;; - esac - case "$CPPFLAGS" in - (*$cf_add_cflags) - ;; - (*) - case "$cf_add_cflags" in - (-D*) - cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'` - -CPPFLAGS=`echo "$CPPFLAGS" | \ - sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \ - -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'` - - ;; - esac - - test -n "$cf_new_cppflags" && cf_new_cppflags="$cf_new_cppflags " - cf_new_cppflags="${cf_new_cppflags}$cf_add_cflags" - - ;; - esac - ;; - (*) - - test -n "$cf_new_cflags" && cf_new_cflags="$cf_new_cflags " - cf_new_cflags="${cf_new_cflags}$cf_add_cflags" - - ;; - esac - ;; -(yes) - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^[^"]*"'\''//'` - - test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=no - ;; -esac -done - -if test -n "$cf_new_cflags" ; then - - test -n "$CFLAGS" && CFLAGS="$CFLAGS " - CFLAGS="${CFLAGS}$cf_new_cflags" - -fi - -if test -n "$cf_new_cppflags" ; then - - test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS " - CPPFLAGS="${CPPFLAGS}$cf_new_cppflags" - -fi - -if test -n "$cf_new_extra_cppflags" ; then - - test -n "$EXTRA_CPPFLAGS" && EXTRA_CPPFLAGS="$EXTRA_CPPFLAGS " - EXTRA_CPPFLAGS="${EXTRA_CPPFLAGS}$cf_new_extra_cppflags" - -fi - -cf_add_libs="$LIBS" -# reverse order -cf_add_0lib= -for cf_add_1lib in $cf_pkgconfig_libs; do cf_add_0lib="$cf_add_1lib $cf_add_0lib"; done -# filter duplicates -for cf_add_1lib in $cf_add_0lib; do - for cf_add_2lib in $cf_add_libs; do - if test "x$cf_add_1lib" = "x$cf_add_2lib"; then - cf_add_1lib= - break - fi - done - test -n "$cf_add_1lib" && cf_add_libs="$cf_add_1lib $cf_add_libs" -done -LIBS="$cf_add_libs" - - : -else - cf_pkgconfig_incs= - cf_pkgconfig_libs= - { echo "$as_me:20717: WARNING: unable to find ICE library" >&5 -echo "$as_me: WARNING: unable to find ICE library" >&2;} -fi - -if test "$PKG_CONFIG" != none && "$PKG_CONFIG" --exists "sm"; then - test -n "$verbose" && echo " found package sm" 1>&6 - -echo "${as_me:-configure}:20724: testing found package sm ..." 1>&5 - - cf_pkgconfig_incs="`$PKG_CONFIG --cflags "sm" 2>/dev/null`" - cf_pkgconfig_libs="`$PKG_CONFIG --libs "sm" 2>/dev/null`" - test -n "$verbose" && echo " package sm CFLAGS: $cf_pkgconfig_incs" 1>&6 - -echo "${as_me:-configure}:20730: testing package sm CFLAGS: $cf_pkgconfig_incs ..." 1>&5 - - test -n "$verbose" && echo " package sm LIBS: $cf_pkgconfig_libs" 1>&6 - -echo "${as_me:-configure}:20734: testing package sm LIBS: $cf_pkgconfig_libs ..." 1>&5 - -cf_fix_cppflags=no -cf_new_cflags= -cf_new_cppflags= -cf_new_extra_cppflags= - -for cf_add_cflags in $cf_pkgconfig_incs -do -case "$cf_fix_cppflags" in -(no) - case "$cf_add_cflags" in - (-undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) - case "$cf_add_cflags" in - (-D*) - cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^-D[^=]*='\''\"[^"]*//'` - - test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=yes - - if test "$cf_fix_cppflags" = yes ; then - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - continue - elif test "${cf_tst_cflags}" = "\"'" ; then - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - continue - fi - ;; - esac - case "$CPPFLAGS" in - (*$cf_add_cflags) - ;; - (*) - case "$cf_add_cflags" in - (-D*) - cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'` - -CPPFLAGS=`echo "$CPPFLAGS" | \ - sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \ - -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'` - - ;; - esac - - test -n "$cf_new_cppflags" && cf_new_cppflags="$cf_new_cppflags " - cf_new_cppflags="${cf_new_cppflags}$cf_add_cflags" - - ;; - esac - ;; - (*) - - test -n "$cf_new_cflags" && cf_new_cflags="$cf_new_cflags " - cf_new_cflags="${cf_new_cflags}$cf_add_cflags" - - ;; - esac - ;; -(yes) - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^[^"]*"'\''//'` - - test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=no - ;; -esac -done - -if test -n "$cf_new_cflags" ; then - - test -n "$CFLAGS" && CFLAGS="$CFLAGS " - CFLAGS="${CFLAGS}$cf_new_cflags" - -fi - -if test -n "$cf_new_cppflags" ; then - - test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS " - CPPFLAGS="${CPPFLAGS}$cf_new_cppflags" - -fi - -if test -n "$cf_new_extra_cppflags" ; then - - test -n "$EXTRA_CPPFLAGS" && EXTRA_CPPFLAGS="$EXTRA_CPPFLAGS " - EXTRA_CPPFLAGS="${EXTRA_CPPFLAGS}$cf_new_extra_cppflags" - -fi - -cf_add_libs="$LIBS" -# reverse order -cf_add_0lib= -for cf_add_1lib in $cf_pkgconfig_libs; do cf_add_0lib="$cf_add_1lib $cf_add_0lib"; done -# filter duplicates -for cf_add_1lib in $cf_add_0lib; do - for cf_add_2lib in $cf_add_libs; do - if test "x$cf_add_1lib" = "x$cf_add_2lib"; then - cf_add_1lib= - break - fi - done - test -n "$cf_add_1lib" && cf_add_libs="$cf_add_1lib $cf_add_libs" -done -LIBS="$cf_add_libs" - - : -else - cf_pkgconfig_incs= - cf_pkgconfig_libs= - { echo "$as_me:20854: WARNING: unable to find SM library" >&5 -echo "$as_me: WARNING: unable to find SM library" >&2;} -fi - -if test "$PKG_CONFIG" != none && "$PKG_CONFIG" --exists "xt"; then - test -n "$verbose" && echo " found package xt" 1>&6 - -echo "${as_me:-configure}:20861: testing found package xt ..." 1>&5 - - cf_pkgconfig_incs="`$PKG_CONFIG --cflags "xt" 2>/dev/null`" - cf_pkgconfig_libs="`$PKG_CONFIG --libs "xt" 2>/dev/null`" - test -n "$verbose" && echo " package xt CFLAGS: $cf_pkgconfig_incs" 1>&6 - -echo "${as_me:-configure}:20867: testing package xt CFLAGS: $cf_pkgconfig_incs ..." 1>&5 - - test -n "$verbose" && echo " package xt LIBS: $cf_pkgconfig_libs" 1>&6 - -echo "${as_me:-configure}:20871: testing package xt LIBS: $cf_pkgconfig_libs ..." 1>&5 - -cf_fix_cppflags=no -cf_new_cflags= -cf_new_cppflags= -cf_new_extra_cppflags= - -for cf_add_cflags in $cf_pkgconfig_incs -do -case "$cf_fix_cppflags" in -(no) - case "$cf_add_cflags" in - (-undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) - case "$cf_add_cflags" in - (-D*) - cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^-D[^=]*='\''\"[^"]*//'` - - test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=yes - - if test "$cf_fix_cppflags" = yes ; then - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - continue - elif test "${cf_tst_cflags}" = "\"'" ; then - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - continue - fi - ;; - esac - case "$CPPFLAGS" in - (*$cf_add_cflags) - ;; - (*) - case "$cf_add_cflags" in - (-D*) - cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'` - -CPPFLAGS=`echo "$CPPFLAGS" | \ - sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \ - -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'` - - ;; - esac - - test -n "$cf_new_cppflags" && cf_new_cppflags="$cf_new_cppflags " - cf_new_cppflags="${cf_new_cppflags}$cf_add_cflags" - - ;; - esac - ;; - (*) - - test -n "$cf_new_cflags" && cf_new_cflags="$cf_new_cflags " - cf_new_cflags="${cf_new_cflags}$cf_add_cflags" - - ;; - esac - ;; -(yes) - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^[^"]*"'\''//'` - - test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=no - ;; -esac -done - -if test -n "$cf_new_cflags" ; then - - test -n "$CFLAGS" && CFLAGS="$CFLAGS " - CFLAGS="${CFLAGS}$cf_new_cflags" - -fi - -if test -n "$cf_new_cppflags" ; then - - test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS " - CPPFLAGS="${CPPFLAGS}$cf_new_cppflags" - -fi - -if test -n "$cf_new_extra_cppflags" ; then - - test -n "$EXTRA_CPPFLAGS" && EXTRA_CPPFLAGS="$EXTRA_CPPFLAGS " - EXTRA_CPPFLAGS="${EXTRA_CPPFLAGS}$cf_new_extra_cppflags" - -fi - -cf_add_libs="$LIBS" -# reverse order -cf_add_0lib= -for cf_add_1lib in $cf_pkgconfig_libs; do cf_add_0lib="$cf_add_1lib $cf_add_0lib"; done -# filter duplicates -for cf_add_1lib in $cf_add_0lib; do - for cf_add_2lib in $cf_add_libs; do - if test "x$cf_add_1lib" = "x$cf_add_2lib"; then - cf_add_1lib= - break - fi - done - test -n "$cf_add_1lib" && cf_add_libs="$cf_add_1lib $cf_add_libs" -done -LIBS="$cf_add_libs" - - : -else - cf_pkgconfig_incs= - cf_pkgconfig_libs= - { echo "$as_me:20991: WARNING: unable to find Xt library" >&5 -echo "$as_me: WARNING: unable to find Xt library" >&2;} -fi - -else - LIBS="$X_PRE_LIBS $LIBS $X_EXTRA_LIBS" -fi - -cf_have_X_LIBS=no - -if test "$PKG_CONFIG" != none && "$PKG_CONFIG" --exists "xt"; then - test -n "$verbose" && echo " found package xt" 1>&6 - -echo "${as_me:-configure}:21004: testing found package xt ..." 1>&5 - - cf_pkgconfig_incs="`$PKG_CONFIG --cflags "xt" 2>/dev/null`" - cf_pkgconfig_libs="`$PKG_CONFIG --libs "xt" 2>/dev/null`" - test -n "$verbose" && echo " package xt CFLAGS: $cf_pkgconfig_incs" 1>&6 - -echo "${as_me:-configure}:21010: testing package xt CFLAGS: $cf_pkgconfig_incs ..." 1>&5 - - test -n "$verbose" && echo " package xt LIBS: $cf_pkgconfig_libs" 1>&6 - -echo "${as_me:-configure}:21014: testing package xt LIBS: $cf_pkgconfig_libs ..." 1>&5 - -cf_fix_cppflags=no -cf_new_cflags= -cf_new_cppflags= -cf_new_extra_cppflags= - -for cf_add_cflags in $cf_pkgconfig_incs -do -case "$cf_fix_cppflags" in -(no) - case "$cf_add_cflags" in - (-undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) - case "$cf_add_cflags" in - (-D*) - cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^-D[^=]*='\''\"[^"]*//'` - - test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=yes - - if test "$cf_fix_cppflags" = yes ; then - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - continue - elif test "${cf_tst_cflags}" = "\"'" ; then - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - continue - fi - ;; - esac - case "$CPPFLAGS" in - (*$cf_add_cflags) - ;; - (*) - case "$cf_add_cflags" in - (-D*) - cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'` - -CPPFLAGS=`echo "$CPPFLAGS" | \ - sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \ - -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'` - - ;; - esac - - test -n "$cf_new_cppflags" && cf_new_cppflags="$cf_new_cppflags " - cf_new_cppflags="${cf_new_cppflags}$cf_add_cflags" - - ;; - esac - ;; - (*) - - test -n "$cf_new_cflags" && cf_new_cflags="$cf_new_cflags " - cf_new_cflags="${cf_new_cflags}$cf_add_cflags" - - ;; - esac - ;; -(yes) - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^[^"]*"'\''//'` - - test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=no - ;; -esac -done - -if test -n "$cf_new_cflags" ; then - - test -n "$CFLAGS" && CFLAGS="$CFLAGS " - CFLAGS="${CFLAGS}$cf_new_cflags" - -fi - -if test -n "$cf_new_cppflags" ; then - - test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS " - CPPFLAGS="${CPPFLAGS}$cf_new_cppflags" - -fi - -if test -n "$cf_new_extra_cppflags" ; then - - test -n "$EXTRA_CPPFLAGS" && EXTRA_CPPFLAGS="$EXTRA_CPPFLAGS " - EXTRA_CPPFLAGS="${EXTRA_CPPFLAGS}$cf_new_extra_cppflags" - -fi - -cf_add_libs="$LIBS" -# reverse order -cf_add_0lib= -for cf_add_1lib in $cf_pkgconfig_libs; do cf_add_0lib="$cf_add_1lib $cf_add_0lib"; done -# filter duplicates -for cf_add_1lib in $cf_add_0lib; do - for cf_add_2lib in $cf_add_libs; do - if test "x$cf_add_1lib" = "x$cf_add_2lib"; then - cf_add_1lib= - break - fi - done - test -n "$cf_add_1lib" && cf_add_libs="$cf_add_1lib $cf_add_libs" -done -LIBS="$cf_add_libs" - - case "x$LIBS" in - (*-lX11*) - ;; - (*) -# we have an "xt" package, but it may omit Xt's dependency on X11 -echo "$as_me:21135: checking for usable X dependency" >&5 -echo $ECHO_N "checking for usable X dependency... $ECHO_C" >&6 -if test "${cf_cv_xt_x11_compat+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - -cat >"conftest.$ac_ext" <<_ACEOF -#line 21142 "configure" -#include "confdefs.h" - -#include <X11/Xlib.h> - -int -main (void) -{ - - int rc1 = XDrawLine((Display*) 0, (Drawable) 0, (GC) 0, 0, 0, 0, 0); - int rc2 = XClearWindow((Display*) 0, (Window) 0); - int rc3 = XMoveWindow((Display*) 0, (Window) 0, 0, 0); - int rc4 = XMoveResizeWindow((Display*)0, (Window)0, 0, 0, 0, 0); - - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:21161: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:21164: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:21167: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:21170: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - cf_cv_xt_x11_compat=yes -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -cf_cv_xt_x11_compat=no -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" -fi -echo "$as_me:21180: result: $cf_cv_xt_x11_compat" >&5 -echo "${ECHO_T}$cf_cv_xt_x11_compat" >&6 - if test "$cf_cv_xt_x11_compat" = no - then - test -n "$verbose" && echo " work around broken X11 dependency" 1>&6 - -echo "${as_me:-configure}:21186: testing work around broken X11 dependency ..." 1>&5 - - # 2010/11/19 - good enough until a working Xt on Xcb is delivered. - -if test "$PKG_CONFIG" != none && "$PKG_CONFIG" --exists "x11"; then - test -n "$verbose" && echo " found package x11" 1>&6 - -echo "${as_me:-configure}:21193: testing found package x11 ..." 1>&5 - - cf_pkgconfig_incs="`$PKG_CONFIG --cflags "x11" 2>/dev/null`" - cf_pkgconfig_libs="`$PKG_CONFIG --libs "x11" 2>/dev/null`" - test -n "$verbose" && echo " package x11 CFLAGS: $cf_pkgconfig_incs" 1>&6 - -echo "${as_me:-configure}:21199: testing package x11 CFLAGS: $cf_pkgconfig_incs ..." 1>&5 - - test -n "$verbose" && echo " package x11 LIBS: $cf_pkgconfig_libs" 1>&6 - -echo "${as_me:-configure}:21203: testing package x11 LIBS: $cf_pkgconfig_libs ..." 1>&5 - -cf_fix_cppflags=no -cf_new_cflags= -cf_new_cppflags= -cf_new_extra_cppflags= - -for cf_add_cflags in $cf_pkgconfig_incs -do -case "$cf_fix_cppflags" in -(no) - case "$cf_add_cflags" in - (-undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) - case "$cf_add_cflags" in - (-D*) - cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^-D[^=]*='\''\"[^"]*//'` - - test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=yes - - if test "$cf_fix_cppflags" = yes ; then - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - continue - elif test "${cf_tst_cflags}" = "\"'" ; then - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - continue - fi - ;; - esac - case "$CPPFLAGS" in - (*$cf_add_cflags) - ;; - (*) - case "$cf_add_cflags" in - (-D*) - cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'` - -CPPFLAGS=`echo "$CPPFLAGS" | \ - sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \ - -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'` - - ;; - esac - - test -n "$cf_new_cppflags" && cf_new_cppflags="$cf_new_cppflags " - cf_new_cppflags="${cf_new_cppflags}$cf_add_cflags" - - ;; - esac - ;; - (*) - - test -n "$cf_new_cflags" && cf_new_cflags="$cf_new_cflags " - cf_new_cflags="${cf_new_cflags}$cf_add_cflags" - - ;; - esac - ;; -(yes) - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^[^"]*"'\''//'` - - test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=no - ;; -esac -done - -if test -n "$cf_new_cflags" ; then - - test -n "$CFLAGS" && CFLAGS="$CFLAGS " - CFLAGS="${CFLAGS}$cf_new_cflags" - -fi - -if test -n "$cf_new_cppflags" ; then - - test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS " - CPPFLAGS="${CPPFLAGS}$cf_new_cppflags" - -fi - -if test -n "$cf_new_extra_cppflags" ; then - - test -n "$EXTRA_CPPFLAGS" && EXTRA_CPPFLAGS="$EXTRA_CPPFLAGS " - EXTRA_CPPFLAGS="${EXTRA_CPPFLAGS}$cf_new_extra_cppflags" - -fi - -cf_add_libs="$LIBS" -# reverse order -cf_add_0lib= -for cf_add_1lib in $cf_pkgconfig_libs; do cf_add_0lib="$cf_add_1lib $cf_add_0lib"; done -# filter duplicates -for cf_add_1lib in $cf_add_0lib; do - for cf_add_2lib in $cf_add_libs; do - if test "x$cf_add_1lib" = "x$cf_add_2lib"; then - cf_add_1lib= - break - fi - done - test -n "$cf_add_1lib" && cf_add_libs="$cf_add_1lib $cf_add_libs" -done -LIBS="$cf_add_libs" - - : -else - cf_pkgconfig_incs= - cf_pkgconfig_libs= - -test -n "$verbose" && echo " ...before $LIBS" 1>&6 - -echo "${as_me:-configure}:21326: testing ...before $LIBS ..." 1>&5 - -LIBS=`echo "$LIBS" | sed -e "s/[ ][ ]*/ /g" -e "s%-lXt %-lXt -lX11 %" -e 's% % %g'` -test -n "$verbose" && echo " ...after $LIBS" 1>&6 - -echo "${as_me:-configure}:21331: testing ...after $LIBS ..." 1>&5 - -fi - - fi - ;; - esac - -echo "$as_me:21339: checking for usable X Toolkit package" >&5 -echo $ECHO_N "checking for usable X Toolkit package... $ECHO_C" >&6 -if test "${cf_cv_xt_ice_compat+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - -cat >"conftest.$ac_ext" <<_ACEOF -#line 21346 "configure" -#include "confdefs.h" - -#include <X11/Shell.h> - -int -main (void) -{ -int num = IceConnectionNumber(0); (void) num - - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:21361: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:21364: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:21367: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:21370: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - cf_cv_xt_ice_compat=yes -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -cf_cv_xt_ice_compat=no -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" -fi -echo "$as_me:21380: result: $cf_cv_xt_ice_compat" >&5 -echo "${ECHO_T}$cf_cv_xt_ice_compat" >&6 - - if test "$cf_cv_xt_ice_compat" = no - then - # workaround for broken ".pc" files used for X Toolkit. - case "x$X_PRE_LIBS" in - (*-lICE*) - case "x$LIBS" in - (*-lICE*) - ;; - (*) - test -n "$verbose" && echo " work around broken ICE dependency" 1>&6 - -echo "${as_me:-configure}:21394: testing work around broken ICE dependency ..." 1>&5 - -if test "$PKG_CONFIG" != none && "$PKG_CONFIG" --exists "ice"; then - test -n "$verbose" && echo " found package ice" 1>&6 - -echo "${as_me:-configure}:21399: testing found package ice ..." 1>&5 - - cf_pkgconfig_incs="`$PKG_CONFIG --cflags "ice" 2>/dev/null`" - cf_pkgconfig_libs="`$PKG_CONFIG --libs "ice" 2>/dev/null`" - test -n "$verbose" && echo " package ice CFLAGS: $cf_pkgconfig_incs" 1>&6 - -echo "${as_me:-configure}:21405: testing package ice CFLAGS: $cf_pkgconfig_incs ..." 1>&5 - - test -n "$verbose" && echo " package ice LIBS: $cf_pkgconfig_libs" 1>&6 - -echo "${as_me:-configure}:21409: testing package ice LIBS: $cf_pkgconfig_libs ..." 1>&5 - -cf_fix_cppflags=no -cf_new_cflags= -cf_new_cppflags= -cf_new_extra_cppflags= - -for cf_add_cflags in $cf_pkgconfig_incs -do -case "$cf_fix_cppflags" in -(no) - case "$cf_add_cflags" in - (-undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) - case "$cf_add_cflags" in - (-D*) - cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^-D[^=]*='\''\"[^"]*//'` - - test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=yes - - if test "$cf_fix_cppflags" = yes ; then - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - continue - elif test "${cf_tst_cflags}" = "\"'" ; then - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - continue - fi - ;; - esac - case "$CPPFLAGS" in - (*$cf_add_cflags) - ;; - (*) - case "$cf_add_cflags" in - (-D*) - cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'` - -CPPFLAGS=`echo "$CPPFLAGS" | \ - sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \ - -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'` - - ;; - esac - - test -n "$cf_new_cppflags" && cf_new_cppflags="$cf_new_cppflags " - cf_new_cppflags="${cf_new_cppflags}$cf_add_cflags" - - ;; - esac - ;; - (*) - - test -n "$cf_new_cflags" && cf_new_cflags="$cf_new_cflags " - cf_new_cflags="${cf_new_cflags}$cf_add_cflags" - - ;; - esac - ;; -(yes) - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^[^"]*"'\''//'` - - test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=no - ;; -esac -done - -if test -n "$cf_new_cflags" ; then - - test -n "$CFLAGS" && CFLAGS="$CFLAGS " - CFLAGS="${CFLAGS}$cf_new_cflags" - -fi - -if test -n "$cf_new_cppflags" ; then - - test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS " - CPPFLAGS="${CPPFLAGS}$cf_new_cppflags" - -fi - -if test -n "$cf_new_extra_cppflags" ; then - - test -n "$EXTRA_CPPFLAGS" && EXTRA_CPPFLAGS="$EXTRA_CPPFLAGS " - EXTRA_CPPFLAGS="${EXTRA_CPPFLAGS}$cf_new_extra_cppflags" - -fi - -cf_add_libs="$LIBS" -# reverse order -cf_add_0lib= -for cf_add_1lib in $cf_pkgconfig_libs; do cf_add_0lib="$cf_add_1lib $cf_add_0lib"; done -# filter duplicates -for cf_add_1lib in $cf_add_0lib; do - for cf_add_2lib in $cf_add_libs; do - if test "x$cf_add_1lib" = "x$cf_add_2lib"; then - cf_add_1lib= - break - fi - done - test -n "$cf_add_1lib" && cf_add_libs="$cf_add_1lib $cf_add_libs" -done -LIBS="$cf_add_libs" - -if test "$PKG_CONFIG" != none && "$PKG_CONFIG" --exists "sm"; then - test -n "$verbose" && echo " found package sm" 1>&6 - -echo "${as_me:-configure}:21528: testing found package sm ..." 1>&5 - - cf_pkgconfig_incs="`$PKG_CONFIG --cflags "sm" 2>/dev/null`" - cf_pkgconfig_libs="`$PKG_CONFIG --libs "sm" 2>/dev/null`" - test -n "$verbose" && echo " package sm CFLAGS: $cf_pkgconfig_incs" 1>&6 - -echo "${as_me:-configure}:21534: testing package sm CFLAGS: $cf_pkgconfig_incs ..." 1>&5 - - test -n "$verbose" && echo " package sm LIBS: $cf_pkgconfig_libs" 1>&6 - -echo "${as_me:-configure}:21538: testing package sm LIBS: $cf_pkgconfig_libs ..." 1>&5 - -cf_fix_cppflags=no -cf_new_cflags= -cf_new_cppflags= -cf_new_extra_cppflags= - -for cf_add_cflags in $cf_pkgconfig_incs -do -case "$cf_fix_cppflags" in -(no) - case "$cf_add_cflags" in - (-undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) - case "$cf_add_cflags" in - (-D*) - cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^-D[^=]*='\''\"[^"]*//'` - - test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=yes - - if test "$cf_fix_cppflags" = yes ; then - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - continue - elif test "${cf_tst_cflags}" = "\"'" ; then - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - continue - fi - ;; - esac - case "$CPPFLAGS" in - (*$cf_add_cflags) - ;; - (*) - case "$cf_add_cflags" in - (-D*) - cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'` - -CPPFLAGS=`echo "$CPPFLAGS" | \ - sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \ - -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'` - - ;; - esac - - test -n "$cf_new_cppflags" && cf_new_cppflags="$cf_new_cppflags " - cf_new_cppflags="${cf_new_cppflags}$cf_add_cflags" - - ;; - esac - ;; - (*) - - test -n "$cf_new_cflags" && cf_new_cflags="$cf_new_cflags " - cf_new_cflags="${cf_new_cflags}$cf_add_cflags" - - ;; - esac - ;; -(yes) - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^[^"]*"'\''//'` - - test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=no - ;; -esac -done - -if test -n "$cf_new_cflags" ; then - - test -n "$CFLAGS" && CFLAGS="$CFLAGS " - CFLAGS="${CFLAGS}$cf_new_cflags" - -fi - -if test -n "$cf_new_cppflags" ; then - - test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS " - CPPFLAGS="${CPPFLAGS}$cf_new_cppflags" - -fi - -if test -n "$cf_new_extra_cppflags" ; then - - test -n "$EXTRA_CPPFLAGS" && EXTRA_CPPFLAGS="$EXTRA_CPPFLAGS " - EXTRA_CPPFLAGS="${EXTRA_CPPFLAGS}$cf_new_extra_cppflags" - -fi - -cf_add_libs="$LIBS" -# reverse order -cf_add_0lib= -for cf_add_1lib in $cf_pkgconfig_libs; do cf_add_0lib="$cf_add_1lib $cf_add_0lib"; done -# filter duplicates -for cf_add_1lib in $cf_add_0lib; do - for cf_add_2lib in $cf_add_libs; do - if test "x$cf_add_1lib" = "x$cf_add_2lib"; then - cf_add_1lib= - break - fi - done - test -n "$cf_add_1lib" && cf_add_libs="$cf_add_1lib $cf_add_libs" -done -LIBS="$cf_add_libs" - - : -else - cf_pkgconfig_incs= - cf_pkgconfig_libs= - : -fi - -else - cf_pkgconfig_incs= - cf_pkgconfig_libs= - -test -n "$verbose" && echo " ...before $LIBS" 1>&6 - -echo "${as_me:-configure}:21667: testing ...before $LIBS ..." 1>&5 - -LIBS=`echo "$LIBS" | sed -e "s/[ ][ ]*/ /g" -e "s%-lXt %-lXt $X_PRE_LIBS %" -e 's% % %g'` -test -n "$verbose" && echo " ...after $LIBS" 1>&6 - -echo "${as_me:-configure}:21672: testing ...after $LIBS ..." 1>&5 - -fi - - ;; - esac - ;; - esac - fi - - cf_have_X_LIBS=yes - -else - cf_pkgconfig_incs= - cf_pkgconfig_libs= - - LDFLAGS="$X_LIBS $LDFLAGS" - -test -n "$verbose" && echo " checking additions to CFLAGS" 1>&6 - -echo "${as_me:-configure}:21692: testing checking additions to CFLAGS ..." 1>&5 - -cf_check_cflags="$CFLAGS" -cf_check_cppflags="$CPPFLAGS" - -cf_fix_cppflags=no -cf_new_cflags= -cf_new_cppflags= -cf_new_extra_cppflags= - -for cf_add_cflags in $X_CFLAGS -do -case "$cf_fix_cppflags" in -(no) - case "$cf_add_cflags" in - (-undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) - case "$cf_add_cflags" in - (-D*) - cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^-D[^=]*='\''\"[^"]*//'` - - test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=yes - - if test "$cf_fix_cppflags" = yes ; then - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - continue - elif test "${cf_tst_cflags}" = "\"'" ; then - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - continue - fi - ;; - esac - case "$CPPFLAGS" in - (*$cf_add_cflags) - ;; - (*) - case "$cf_add_cflags" in - (-D*) - cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'` - -CPPFLAGS=`echo "$CPPFLAGS" | \ - sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \ - -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'` - - ;; - esac - - test -n "$cf_new_cppflags" && cf_new_cppflags="$cf_new_cppflags " - cf_new_cppflags="${cf_new_cppflags}$cf_add_cflags" - - ;; - esac - ;; - (*) - - test -n "$cf_new_cflags" && cf_new_cflags="$cf_new_cflags " - cf_new_cflags="${cf_new_cflags}$cf_add_cflags" - - ;; - esac - ;; -(yes) - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^[^"]*"'\''//'` - - test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=no - ;; -esac -done - -if test -n "$cf_new_cflags" ; then - test -n "$verbose" && echo " add to \$CFLAGS $cf_new_cflags" 1>&6 - -echo "${as_me:-configure}:21777: testing add to \$CFLAGS $cf_new_cflags ..." 1>&5 - - test -n "$CFLAGS" && CFLAGS="$CFLAGS " - CFLAGS="${CFLAGS}$cf_new_cflags" - -fi - -if test -n "$cf_new_cppflags" ; then - test -n "$verbose" && echo " add to \$CPPFLAGS $cf_new_cppflags" 1>&6 - -echo "${as_me:-configure}:21787: testing add to \$CPPFLAGS $cf_new_cppflags ..." 1>&5 - - test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS " - CPPFLAGS="${CPPFLAGS}$cf_new_cppflags" - -fi - -if test -n "$cf_new_extra_cppflags" ; then - test -n "$verbose" && echo " add to \$EXTRA_CPPFLAGS $cf_new_extra_cppflags" 1>&6 - -echo "${as_me:-configure}:21797: testing add to \$EXTRA_CPPFLAGS $cf_new_extra_cppflags ..." 1>&5 - - test -n "$EXTRA_CPPFLAGS" && EXTRA_CPPFLAGS="$EXTRA_CPPFLAGS " - EXTRA_CPPFLAGS="${EXTRA_CPPFLAGS}$cf_new_extra_cppflags" - -fi - -if test "x$cf_check_cflags" != "x$CFLAGS" ; then -cat >"conftest.$ac_ext" <<_ACEOF -#line 21806 "configure" -#include "confdefs.h" -#include <stdio.h> -int -main (void) -{ -printf("Hello world"); - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:21818: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:21821: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:21824: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:21827: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - : -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -test -n "$verbose" && echo " test-compile failed. Undoing change to \$CFLAGS" 1>&6 - -echo "${as_me:-configure}:21835: testing test-compile failed. Undoing change to \$CFLAGS ..." 1>&5 - - if test "x$cf_check_cppflags" != "x$CPPFLAGS" ; then - test -n "$verbose" && echo " but keeping change to \$CPPFLAGS" 1>&6 - -echo "${as_me:-configure}:21840: testing but keeping change to \$CPPFLAGS ..." 1>&5 - - fi - CFLAGS="$cf_check_cflags" -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" -fi - - echo "$as_me:21848: checking for XOpenDisplay" >&5 -echo $ECHO_N "checking for XOpenDisplay... $ECHO_C" >&6 -if test "${ac_cv_func_XOpenDisplay+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >"conftest.$ac_ext" <<_ACEOF -#line 21854 "configure" -#include "confdefs.h" -#define XOpenDisplay autoconf_temporary -#include <limits.h> /* least-intrusive standard header which defines gcc2 __stub macros */ -#undef XOpenDisplay - -#ifdef __cplusplus -extern "C" -#endif - -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char XOpenDisplay (void); - -int -main (void) -{ - -/* The GNU C library defines stubs for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_XOpenDisplay) || defined (__stub___XOpenDisplay) -#error found stub for XOpenDisplay -#endif - - return XOpenDisplay (); - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:21885: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:21888: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:21891: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:21894: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - ac_cv_func_XOpenDisplay=yes -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -ac_cv_func_XOpenDisplay=no -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" -fi -echo "$as_me:21904: result: $ac_cv_func_XOpenDisplay" >&5 -echo "${ECHO_T}$ac_cv_func_XOpenDisplay" >&6 -if test "$ac_cv_func_XOpenDisplay" = yes; then - : -else - - echo "$as_me:21910: checking for XOpenDisplay in -lX11" >&5 -echo $ECHO_N "checking for XOpenDisplay in -lX11... $ECHO_C" >&6 -if test "${ac_cv_lib_X11_XOpenDisplay+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lX11 $LIBS" -cat >"conftest.$ac_ext" <<_ACEOF -#line 21918 "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char XOpenDisplay (); -int -main (void) -{ -XOpenDisplay (); - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:21937: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:21940: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:21943: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:21946: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - ac_cv_lib_X11_XOpenDisplay=yes -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -ac_cv_lib_X11_XOpenDisplay=no -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:21957: result: $ac_cv_lib_X11_XOpenDisplay" >&5 -echo "${ECHO_T}$ac_cv_lib_X11_XOpenDisplay" >&6 -if test "$ac_cv_lib_X11_XOpenDisplay" = yes; then - -cf_add_libs="$LIBS" -# reverse order -cf_add_0lib= -for cf_add_1lib in -lX11; do cf_add_0lib="$cf_add_1lib $cf_add_0lib"; done -# filter duplicates -for cf_add_1lib in $cf_add_0lib; do - for cf_add_2lib in $cf_add_libs; do - if test "x$cf_add_1lib" = "x$cf_add_2lib"; then - cf_add_1lib= - break - fi - done - test -n "$cf_add_1lib" && cf_add_libs="$cf_add_1lib $cf_add_libs" -done -LIBS="$cf_add_libs" - -fi - -fi - - echo "$as_me:21981: checking for XtAppInitialize" >&5 -echo $ECHO_N "checking for XtAppInitialize... $ECHO_C" >&6 -if test "${ac_cv_func_XtAppInitialize+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >"conftest.$ac_ext" <<_ACEOF -#line 21987 "configure" -#include "confdefs.h" -#define XtAppInitialize autoconf_temporary -#include <limits.h> /* least-intrusive standard header which defines gcc2 __stub macros */ -#undef XtAppInitialize - -#ifdef __cplusplus -extern "C" -#endif - -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char XtAppInitialize (void); - -int -main (void) -{ - -/* The GNU C library defines stubs for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_XtAppInitialize) || defined (__stub___XtAppInitialize) -#error found stub for XtAppInitialize -#endif - - return XtAppInitialize (); - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:22018: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:22021: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:22024: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:22027: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - ac_cv_func_XtAppInitialize=yes -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -ac_cv_func_XtAppInitialize=no -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" -fi -echo "$as_me:22037: result: $ac_cv_func_XtAppInitialize" >&5 -echo "${ECHO_T}$ac_cv_func_XtAppInitialize" >&6 -if test "$ac_cv_func_XtAppInitialize" = yes; then - : -else - - echo "$as_me:22043: checking for XtAppInitialize in -lXt" >&5 -echo $ECHO_N "checking for XtAppInitialize in -lXt... $ECHO_C" >&6 -if test "${ac_cv_lib_Xt_XtAppInitialize+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lXt $LIBS" -cat >"conftest.$ac_ext" <<_ACEOF -#line 22051 "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char XtAppInitialize (); -int -main (void) -{ -XtAppInitialize (); - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:22070: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:22073: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:22076: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:22079: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - ac_cv_lib_Xt_XtAppInitialize=yes -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -ac_cv_lib_Xt_XtAppInitialize=no -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:22090: result: $ac_cv_lib_Xt_XtAppInitialize" >&5 -echo "${ECHO_T}$ac_cv_lib_Xt_XtAppInitialize" >&6 -if test "$ac_cv_lib_Xt_XtAppInitialize" = yes; then - -cat >>confdefs.h <<\EOF -#define HAVE_LIBXT 1 -EOF - - cf_have_X_LIBS=Xt - LIBS="-lXt $LIBS" -fi - -fi - -fi - -if test "$cf_have_X_LIBS" = no ; then - { echo "$as_me:22107: WARNING: Unable to successfully link X Toolkit library (-lXt) with -test program. You will have to check and add the proper libraries by hand -to makefile." >&5 -echo "$as_me: WARNING: Unable to successfully link X Toolkit library (-lXt) with -test program. You will have to check and add the proper libraries by hand -to makefile." >&2;} -fi - -cf_x_athena_root=$cf_x_athena -cf_x_athena_inc="" - -for cf_path in default \ - /usr/contrib/X11R6 \ - /usr/contrib/X11R5 \ - /usr/lib/X11R5 \ - /usr/local -do - if test -z "$cf_x_athena_inc" ; then - -cf_save_LIBS_CF_X_ATHENA_CPPFLAGS="$LIBS" -cf_save_CFLAGS_CF_X_ATHENA_CPPFLAGS="$CFLAGS" -cf_save_CPPFLAGS_CF_X_ATHENA_CPPFLAGS="$CPPFLAGS" -LIBS="$LIBS ${X_PRE_LIBS} ${X_LIBS} ${X_EXTRA_LIBS}" -for cf_X_CFLAGS in $X_CFLAGS -do - case "x$cf_X_CFLAGS" in - x-[IUD]*) - CPPFLAGS="$CPPFLAGS $cf_X_CFLAGS" - ;; - *) - CFLAGS="$CFLAGS $cf_X_CFLAGS" - ;; - esac -done - - cf_test=X11/$cf_x_athena_root/SimpleMenu.h - if test "$cf_path" != default ; then - - test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS " - CPPFLAGS="${CPPFLAGS}-I$cf_path/include" - - echo "$as_me:22148: checking for $cf_test in $cf_path" >&5 -echo $ECHO_N "checking for $cf_test in $cf_path... $ECHO_C" >&6 - else - echo "$as_me:22151: checking for $cf_test" >&5 -echo $ECHO_N "checking for $cf_test... $ECHO_C" >&6 - fi - cat >"conftest.$ac_ext" <<_ACEOF -#line 22155 "configure" -#include "confdefs.h" - -#include <X11/Intrinsic.h> -#include <$cf_test> -int -main (void) -{ - - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:22169: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:22172: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:22175: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:22178: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - cf_result=yes -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -cf_result=no -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" - echo "$as_me:22187: result: $cf_result" >&5 -echo "${ECHO_T}$cf_result" >&6 - -LIBS="$cf_save_LIBS_CF_X_ATHENA_CPPFLAGS" -CFLAGS="$cf_save_CFLAGS_CF_X_ATHENA_CPPFLAGS" -CPPFLAGS="$cf_save_CPPFLAGS_CF_X_ATHENA_CPPFLAGS" - - if test "$cf_result" = yes ; then - test "$cf_path" = default && cf_x_athena_inc=default - test "$cf_path" != default && cf_x_athena_inc="$cf_path/include" - break - fi - fi -done - -if test -z "$cf_x_athena_inc" ; then - { echo "$as_me:22203: WARNING: Unable to find Athena header files" >&5 -echo "$as_me: WARNING: Unable to find Athena header files" >&2;} -elif test "$cf_x_athena_inc" != default ; then - - test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS " - CPPFLAGS="${CPPFLAGS}-I$cf_x_athena_inc" - -fi - -cf_x_athena_root=$cf_x_athena -cf_x_athena_lib="" - -for cf_path in default \ - /usr/contrib/X11R6 \ - /usr/contrib/X11R5 \ - /usr/lib/X11R5 \ - /usr/local -do - for cf_lib in \ - ${cf_x_athena_root} \ - ${cf_x_athena_root}7 \ - ${cf_x_athena_root}6 - do - for cf_libs in \ - "-l$cf_lib -lXmu" \ - "-l$cf_lib -lXpm -lXmu" \ - "-l${cf_lib}_s -lXmu_s" - do - test -n "$cf_x_athena_lib" && break - -cf_save_LIBS_CF_X_ATHENA_LIBS="$LIBS" -cf_save_CFLAGS_CF_X_ATHENA_LIBS="$CFLAGS" -cf_save_CPPFLAGS_CF_X_ATHENA_LIBS="$CPPFLAGS" -LIBS="$LIBS ${X_PRE_LIBS} ${X_LIBS} ${X_EXTRA_LIBS}" -for cf_X_CFLAGS in $X_CFLAGS -do - case "x$cf_X_CFLAGS" in - x-[IUD]*) - CPPFLAGS="$CPPFLAGS $cf_X_CFLAGS" - ;; - *) - CFLAGS="$CFLAGS $cf_X_CFLAGS" - ;; - esac -done - - cf_test=XawSimpleMenuAddGlobalActions - test "$cf_path" != default && cf_libs="-L$cf_path/lib $cf_libs" - -cf_add_libs="$LIBS" -# reverse order -cf_add_0lib= -for cf_add_1lib in $cf_libs; do cf_add_0lib="$cf_add_1lib $cf_add_0lib"; done -# filter duplicates -for cf_add_1lib in $cf_add_0lib; do - for cf_add_2lib in $cf_add_libs; do - if test "x$cf_add_1lib" = "x$cf_add_2lib"; then - cf_add_1lib= - break - fi - done - test -n "$cf_add_1lib" && cf_add_libs="$cf_add_1lib $cf_add_libs" -done -LIBS="$cf_add_libs" - - echo "$as_me:22268: checking for $cf_test in $cf_libs" >&5 -echo $ECHO_N "checking for $cf_test in $cf_libs... $ECHO_C" >&6 - cat >"conftest.$ac_ext" <<_ACEOF -#line 22271 "configure" -#include "confdefs.h" - -#include <X11/Intrinsic.h> -#include <X11/$cf_x_athena_root/SimpleMenu.h> - -int -main (void) -{ - -$cf_test((XtAppContext) 0) - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:22287: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:22290: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:22293: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:22296: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - cf_result=yes -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -cf_result=no -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" - echo "$as_me:22305: result: $cf_result" >&5 -echo "${ECHO_T}$cf_result" >&6 - -LIBS="$cf_save_LIBS_CF_X_ATHENA_LIBS" -CFLAGS="$cf_save_CFLAGS_CF_X_ATHENA_LIBS" -CPPFLAGS="$cf_save_CPPFLAGS_CF_X_ATHENA_LIBS" - - if test "$cf_result" = yes ; then - cf_x_athena_lib="$cf_libs" - break - fi - done # cf_libs - test -n "$cf_x_athena_lib" && break - done # cf_lib -done - -if test -z "$cf_x_athena_lib" ; then - { { echo "$as_me:22322: error: Unable to successfully link Athena library (-l$cf_x_athena_root) with test program" >&5 -echo "$as_me: error: Unable to successfully link Athena library (-l$cf_x_athena_root) with test program" >&2;} - { (exit 1); exit 1; }; } -fi - -cf_add_libs="$LIBS" -# reverse order -cf_add_0lib= -for cf_add_1lib in $cf_x_athena_lib; do cf_add_0lib="$cf_add_1lib $cf_add_0lib"; done -# filter duplicates -for cf_add_1lib in $cf_add_0lib; do - for cf_add_2lib in $cf_add_libs; do - if test "x$cf_add_1lib" = "x$cf_add_2lib"; then - cf_add_1lib= - break - fi - done - test -n "$cf_add_1lib" && cf_add_libs="$cf_add_1lib $cf_add_libs" -done -LIBS="$cf_add_libs" - -cf_x_athena_LIBS=`echo "HAVE_LIB_$cf_x_athena" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` - -cat >>confdefs.h <<EOF -#define $cf_x_athena_LIBS 1 -EOF - -fi - -if test -n "$ac_tool_prefix"; then - for ac_prog in xcurses-config - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -echo "$as_me:22356: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_XCURSES_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$XCURSES_CONFIG"; then - ac_cv_prog_XCURSES_CONFIG="$XCURSES_CONFIG" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_XCURSES_CONFIG="$ac_tool_prefix$ac_prog" -echo "$as_me:22371: found $ac_dir/$ac_word" >&5 -break -done - -fi -fi -XCURSES_CONFIG=$ac_cv_prog_XCURSES_CONFIG -if test -n "$XCURSES_CONFIG"; then - echo "$as_me:22379: result: $XCURSES_CONFIG" >&5 -echo "${ECHO_T}$XCURSES_CONFIG" >&6 -else - echo "$as_me:22382: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$XCURSES_CONFIG" && break - done -fi -if test -z "$XCURSES_CONFIG"; then - ac_ct_XCURSES_CONFIG=$XCURSES_CONFIG - for ac_prog in xcurses-config -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -echo "$as_me:22395: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_XCURSES_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_XCURSES_CONFIG"; then - ac_cv_prog_ac_ct_XCURSES_CONFIG="$ac_ct_XCURSES_CONFIG" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_ac_ct_XCURSES_CONFIG="$ac_prog" -echo "$as_me:22410: found $ac_dir/$ac_word" >&5 -break -done - -fi -fi -ac_ct_XCURSES_CONFIG=$ac_cv_prog_ac_ct_XCURSES_CONFIG -if test -n "$ac_ct_XCURSES_CONFIG"; then - echo "$as_me:22418: result: $ac_ct_XCURSES_CONFIG" >&5 -echo "${ECHO_T}$ac_ct_XCURSES_CONFIG" >&6 -else - echo "$as_me:22421: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$ac_ct_XCURSES_CONFIG" && break -done -test -n "$ac_ct_XCURSES_CONFIG" || ac_ct_XCURSES_CONFIG="none" - - XCURSES_CONFIG=$ac_ct_XCURSES_CONFIG -fi - -if test "$XCURSES_CONFIG" != none ; then - -cf_fix_cppflags=no -cf_new_cflags= -cf_new_cppflags= -cf_new_extra_cppflags= - -for cf_add_cflags in `$XCURSES_CONFIG --cflags` -do -case "$cf_fix_cppflags" in -(no) - case "$cf_add_cflags" in - (-undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) - case "$cf_add_cflags" in - (-D*) - cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^-D[^=]*='\''\"[^"]*//'` - - test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=yes - - if test "$cf_fix_cppflags" = yes ; then - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - continue - elif test "${cf_tst_cflags}" = "\"'" ; then - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - continue - fi - ;; - esac - case "$CPPFLAGS" in - (*$cf_add_cflags) - ;; - (*) - case "$cf_add_cflags" in - (-D*) - cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'` - -CPPFLAGS=`echo "$CPPFLAGS" | \ - sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \ - -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'` - - ;; - esac - - test -n "$cf_new_cppflags" && cf_new_cppflags="$cf_new_cppflags " - cf_new_cppflags="${cf_new_cppflags}$cf_add_cflags" - - ;; - esac - ;; - (*) - - test -n "$cf_new_cflags" && cf_new_cflags="$cf_new_cflags " - cf_new_cflags="${cf_new_cflags}$cf_add_cflags" - - ;; - esac - ;; -(yes) - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^[^"]*"'\''//'` - - test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=no - ;; -esac -done - -if test -n "$cf_new_cflags" ; then - - test -n "$CFLAGS" && CFLAGS="$CFLAGS " - CFLAGS="${CFLAGS}$cf_new_cflags" - -fi - -if test -n "$cf_new_cppflags" ; then - - test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS " - CPPFLAGS="${CPPFLAGS}$cf_new_cppflags" - -fi - -if test -n "$cf_new_extra_cppflags" ; then - - test -n "$EXTRA_CPPFLAGS" && EXTRA_CPPFLAGS="$EXTRA_CPPFLAGS " - EXTRA_CPPFLAGS="${EXTRA_CPPFLAGS}$cf_new_extra_cppflags" - -fi - -cf_add_libs="$LIBS" -# reverse order -cf_add_0lib= -for cf_add_1lib in `$XCURSES_CONFIG --libs`; do cf_add_0lib="$cf_add_1lib $cf_add_0lib"; done -# filter duplicates -for cf_add_1lib in $cf_add_0lib; do - for cf_add_2lib in $cf_add_libs; do - if test "x$cf_add_1lib" = "x$cf_add_2lib"; then - cf_add_1lib= - break - fi - done - test -n "$cf_add_1lib" && cf_add_libs="$cf_add_1lib $cf_add_libs" -done -LIBS="$cf_add_libs" - -cf_cv_lib_XCurses=yes - -else - -LDFLAGS="$LDFLAGS $X_LIBS" - -test -n "$verbose" && echo " checking additions to CFLAGS" 1>&6 - -echo "${as_me:-configure}:22556: testing checking additions to CFLAGS ..." 1>&5 - -cf_check_cflags="$CFLAGS" -cf_check_cppflags="$CPPFLAGS" - -cf_fix_cppflags=no -cf_new_cflags= -cf_new_cppflags= -cf_new_extra_cppflags= - -for cf_add_cflags in $X_CFLAGS -do -case "$cf_fix_cppflags" in -(no) - case "$cf_add_cflags" in - (-undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) - case "$cf_add_cflags" in - (-D*) - cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^-D[^=]*='\''\"[^"]*//'` - - test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=yes - - if test "$cf_fix_cppflags" = yes ; then - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - continue - elif test "${cf_tst_cflags}" = "\"'" ; then - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - continue - fi - ;; - esac - case "$CPPFLAGS" in - (*$cf_add_cflags) - ;; - (*) - case "$cf_add_cflags" in - (-D*) - cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'` - -CPPFLAGS=`echo "$CPPFLAGS" | \ - sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \ - -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'` - - ;; - esac - - test -n "$cf_new_cppflags" && cf_new_cppflags="$cf_new_cppflags " - cf_new_cppflags="${cf_new_cppflags}$cf_add_cflags" - - ;; - esac - ;; - (*) - - test -n "$cf_new_cflags" && cf_new_cflags="$cf_new_cflags " - cf_new_cflags="${cf_new_cflags}$cf_add_cflags" - - ;; - esac - ;; -(yes) - - test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags " - cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags" - - cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^[^"]*"'\''//'` - - test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=no - ;; -esac -done - -if test -n "$cf_new_cflags" ; then - test -n "$verbose" && echo " add to \$CFLAGS $cf_new_cflags" 1>&6 - -echo "${as_me:-configure}:22641: testing add to \$CFLAGS $cf_new_cflags ..." 1>&5 - - test -n "$CFLAGS" && CFLAGS="$CFLAGS " - CFLAGS="${CFLAGS}$cf_new_cflags" - -fi - -if test -n "$cf_new_cppflags" ; then - test -n "$verbose" && echo " add to \$CPPFLAGS $cf_new_cppflags" 1>&6 - -echo "${as_me:-configure}:22651: testing add to \$CPPFLAGS $cf_new_cppflags ..." 1>&5 - - test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS " - CPPFLAGS="${CPPFLAGS}$cf_new_cppflags" - -fi - -if test -n "$cf_new_extra_cppflags" ; then - test -n "$verbose" && echo " add to \$EXTRA_CPPFLAGS $cf_new_extra_cppflags" 1>&6 - -echo "${as_me:-configure}:22661: testing add to \$EXTRA_CPPFLAGS $cf_new_extra_cppflags ..." 1>&5 - - test -n "$EXTRA_CPPFLAGS" && EXTRA_CPPFLAGS="$EXTRA_CPPFLAGS " - EXTRA_CPPFLAGS="${EXTRA_CPPFLAGS}$cf_new_extra_cppflags" - -fi - -if test "x$cf_check_cflags" != "x$CFLAGS" ; then -cat >"conftest.$ac_ext" <<_ACEOF -#line 22670 "configure" -#include "confdefs.h" -#include <stdio.h> -int -main (void) -{ -printf("Hello world"); - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:22682: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:22685: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:22688: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:22691: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - : -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -test -n "$verbose" && echo " test-compile failed. Undoing change to \$CFLAGS" 1>&6 - -echo "${as_me:-configure}:22699: testing test-compile failed. Undoing change to \$CFLAGS ..." 1>&5 - - if test "x$cf_check_cppflags" != "x$CPPFLAGS" ; then - test -n "$verbose" && echo " but keeping change to \$CPPFLAGS" 1>&6 - -echo "${as_me:-configure}:22704: testing but keeping change to \$CPPFLAGS ..." 1>&5 - - fi - CFLAGS="$cf_check_cflags" -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" -fi - -echo "$as_me:22712: checking for XOpenDisplay in -lX11" >&5 -echo $ECHO_N "checking for XOpenDisplay in -lX11... $ECHO_C" >&6 -if test "${ac_cv_lib_X11_XOpenDisplay+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lX11 $X_PRE_LIBS $LIBS $X_EXTRA_LIBS $LIBS" -cat >"conftest.$ac_ext" <<_ACEOF -#line 22720 "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char XOpenDisplay (); -int -main (void) -{ -XOpenDisplay (); - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:22739: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:22742: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:22745: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:22748: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - ac_cv_lib_X11_XOpenDisplay=yes -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -ac_cv_lib_X11_XOpenDisplay=no -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:22759: result: $ac_cv_lib_X11_XOpenDisplay" >&5 -echo "${ECHO_T}$ac_cv_lib_X11_XOpenDisplay" >&6 -if test "$ac_cv_lib_X11_XOpenDisplay" = yes; then - -cf_add_libs="$LIBS" -# reverse order -cf_add_0lib= -for cf_add_1lib in -lX11; do cf_add_0lib="$cf_add_1lib $cf_add_0lib"; done -# filter duplicates -for cf_add_1lib in $cf_add_0lib; do - for cf_add_2lib in $cf_add_libs; do - if test "x$cf_add_1lib" = "x$cf_add_2lib"; then - cf_add_1lib= - break - fi - done - test -n "$cf_add_1lib" && cf_add_libs="$cf_add_1lib $cf_add_libs" -done -LIBS="$cf_add_libs" - -fi - -echo "$as_me:22781: checking for XCurses library" >&5 -echo $ECHO_N "checking for XCurses library... $ECHO_C" >&6 -if test "${cf_cv_lib_XCurses+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - -cf_add_libs="$LIBS" -# reverse order -cf_add_0lib= -for cf_add_1lib in -lXCurses; do cf_add_0lib="$cf_add_1lib $cf_add_0lib"; done -# filter duplicates -for cf_add_1lib in $cf_add_0lib; do - for cf_add_2lib in $cf_add_libs; do - if test "x$cf_add_1lib" = "x$cf_add_2lib"; then - cf_add_1lib= - break - fi - done - test -n "$cf_add_1lib" && cf_add_libs="$cf_add_1lib $cf_add_libs" -done -LIBS="$cf_add_libs" - -cat >"conftest.$ac_ext" <<_ACEOF -#line 22804 "configure" -#include "confdefs.h" - -#include <xcurses.h> -char *XCursesProgramName = "test"; - -int -main (void) -{ -XCursesExit(); - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:22819: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:22822: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:22825: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:22828: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - cf_cv_lib_XCurses=yes -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -cf_cv_lib_XCurses=no -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" - -fi -echo "$as_me:22839: result: $cf_cv_lib_XCurses" >&5 -echo "${ECHO_T}$cf_cv_lib_XCurses" >&6 - -fi - -if test "$cf_cv_lib_XCurses" = yes ; then - -cat >>confdefs.h <<\EOF -#define UNIX 1 -EOF - -cat >>confdefs.h <<\EOF -#define XCURSES 1 -EOF - - echo "$as_me:22854: checking for xcurses.h" >&5 -echo $ECHO_N "checking for xcurses.h... $ECHO_C" >&6 -if test "${ac_cv_header_xcurses_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >"conftest.$ac_ext" <<_ACEOF -#line 22860 "configure" -#include "confdefs.h" -#include <xcurses.h> -_ACEOF -if { (eval echo "$as_me:22864: \"$ac_cpp "conftest.$ac_ext"\"") >&5 - (eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - $EGREP -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:22870: \$? = $ac_status" >&5 - (exit "$ac_status"); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_cv_header_xcurses_h=yes -else - echo "$as_me: failed program was:" >&5 - cat "conftest.$ac_ext" >&5 - ac_cv_header_xcurses_h=no -fi -rm -f conftest.err "conftest.$ac_ext" -fi -echo "$as_me:22889: result: $ac_cv_header_xcurses_h" >&5 -echo "${ECHO_T}$ac_cv_header_xcurses_h" >&6 -if test "$ac_cv_header_xcurses_h" = yes; then - -cat >>confdefs.h <<\EOF -#define HAVE_XCURSES 1 -EOF - -fi - -else - { { echo "$as_me:22900: error: Cannot link with XCurses" >&5 -echo "$as_me: error: Cannot link with XCurses" >&2;} - { (exit 1); exit 1; }; } -fi - - ;; -(*) - { { echo "$as_me:22907: error: unexpected screen-value: $cf_cv_screen" >&5 -echo "$as_me: error: unexpected screen-value: $cf_cv_screen" >&2;} - { (exit 1); exit 1; }; } - ;; -esac - -: ${cf_nculib_root:=$cf_cv_screen} -as_ac_Lib=`echo "ac_cv_lib_$cf_nculib_root''__nc_init_pthreads" | $as_tr_sh` -echo "$as_me:22915: checking for _nc_init_pthreads in -l$cf_nculib_root" >&5 -echo $ECHO_N "checking for _nc_init_pthreads in -l$cf_nculib_root... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Lib+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-l$cf_nculib_root $LIBS" -cat >"conftest.$ac_ext" <<_ACEOF -#line 22923 "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char _nc_init_pthreads (); -int -main (void) -{ -_nc_init_pthreads (); - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:22942: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:22945: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:22948: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:22951: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - eval "$as_ac_Lib=yes" -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -eval "$as_ac_Lib=no" -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:22962: result: `eval echo '${'"$as_ac_Lib"'}'`" >&5 -echo "${ECHO_T}`eval echo '${'"$as_ac_Lib"'}'`" >&6 -if test "`eval echo '${'"$as_ac_Lib"'}'`" = yes; then - cf_cv_ncurses_pthreads=yes -else - cf_cv_ncurses_pthreads=no -fi - -if test "$cf_cv_ncurses_pthreads" = yes -then - -cf_add_libs="$LIBS" -# reverse order -cf_add_0lib= -for cf_add_1lib in -lpthread; do cf_add_0lib="$cf_add_1lib $cf_add_0lib"; done -# filter duplicates -for cf_add_1lib in $cf_add_0lib; do - for cf_add_2lib in $cf_add_libs; do - if test "x$cf_add_1lib" = "x$cf_add_2lib"; then - cf_add_1lib= - break - fi - done - test -n "$cf_add_1lib" && cf_add_libs="$cf_add_1lib $cf_add_libs" -done -LIBS="$cf_add_libs" - -fi - -echo "$as_me:22991: checking if curses supports wide characters" >&5 -echo $ECHO_N "checking if curses supports wide characters... $ECHO_C" >&6 -if test "${cf_cv_widec_curses+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - -cat >"conftest.$ac_ext" <<_ACEOF -#line 22998 "configure" -#include "confdefs.h" - -#include <stdlib.h> -#include <${cf_cv_ncurses_header:-curses.h}> -int -main (void) -{ - - wchar_t temp[2]; - wchar_t wch = 'A'; - temp[0] = wch; - waddnwstr(stdscr, temp, 1); - - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:23017: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:23020: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:23023: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:23026: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - cf_cv_widec_curses=yes -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -cf_cv_widec_curses=no -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" - -fi -echo "$as_me:23037: result: $cf_cv_widec_curses" >&5 -echo "${ECHO_T}$cf_cv_widec_curses" >&6 - -if test "$cf_cv_widec_curses" = yes ; then - -cat >>confdefs.h <<\EOF -#define WIDEC_CURSES 1 -EOF - - # This is needed on Tru64 5.0 to declare mbstate_t - echo "$as_me:23047: checking if we must include wchar.h to declare mbstate_t" >&5 -echo $ECHO_N "checking if we must include wchar.h to declare mbstate_t... $ECHO_C" >&6 -if test "${cf_cv_widec_mbstate+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - cat >"conftest.$ac_ext" <<_ACEOF -#line 23054 "configure" -#include "confdefs.h" - -#include <stdlib.h> -#include <${cf_cv_ncurses_header:-curses.h}> -int -main (void) -{ -mbstate_t state; (void)state - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:23068: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:23071: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:23074: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:23077: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - cf_cv_widec_mbstate=no -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -cat >"conftest.$ac_ext" <<_ACEOF -#line 23084 "configure" -#include "confdefs.h" - -#include <stdlib.h> -#include <wchar.h> -#include <${cf_cv_ncurses_header:-curses.h}> -int -main (void) -{ -mbstate_t state; (void)state - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:23099: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:23102: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:23105: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:23108: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - cf_cv_widec_mbstate=yes -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -cf_cv_widec_mbstate=unknown -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" -fi -echo "$as_me:23120: result: $cf_cv_widec_mbstate" >&5 -echo "${ECHO_T}$cf_cv_widec_mbstate" >&6 - -if test "$cf_cv_widec_mbstate" = yes ; then - -cat >>confdefs.h <<\EOF -#define NEED_WCHAR_H 1 -EOF - -fi - -if test "$cf_cv_widec_mbstate" != unknown ; then - -cat >>confdefs.h <<\EOF -#define HAVE_MBSTATE_T 1 -EOF - -fi - -fi - -cf_all_widgets=yes - -echo "$as_me:23143: checking if you want extra dialogs" >&5 -echo $ECHO_N "checking if you want extra dialogs... $ECHO_C" >&6 - -# Check whether --enable-extras or --disable-extras was given. -if test "${enable_extras+set}" = set; then - enableval="$enable_extras" - -else - enableval=yes -fi; -echo "$as_me:23153: result: $enableval" >&5 -echo "${ECHO_T}$enableval" >&6 -if test "$enableval" != no ; then -cf_all_widgets=yes -else -cf_all_widgets=no -fi - -cf_use_dialogrc=yes - -echo "$as_me:23163: checking if you want config-file support" >&5 -echo $ECHO_N "checking if you want config-file support... $ECHO_C" >&6 - -# Check whether --enable-rc-file or --disable-rc-file was given. -if test "${enable_rc_file+set}" = set; then - enableval="$enable_rc_file" - -else - enableval=$cf_all_widgets -fi; -echo "$as_me:23173: result: $enableval" >&5 -echo "${ECHO_T}$enableval" >&6 -if test "$enableval" != no ; then -EXTRAOBJS="$EXTRAOBJS rc\$o" - -cat >>confdefs.h <<\EOF -#define HAVE_RC_FILE 1 -EOF - -else -cf_use_dialogrc=no -fi - -cf_use_dialogrc2=yes -if test "$cf_use_dialogrc" = yes; then - -echo "$as_me:23189: checking if you want extra attributes in config-file" >&5 -echo $ECHO_N "checking if you want extra attributes in config-file... $ECHO_C" >&6 - -# Check whether --enable-rc-file2 or --disable-rc-file2 was given. -if test "${enable_rc_file2+set}" = set; then - enableval="$enable_rc_file2" - -else - enableval=$cf_all_widgets -fi; -echo "$as_me:23199: result: $enableval" >&5 -echo "${ECHO_T}$enableval" >&6 -if test "$enableval" != no ; then - -cat >>confdefs.h <<\EOF -#define HAVE_RC_FILE2 1 -EOF - -else -cf_use_dialogrc2=no -fi - -fi - -echo "$as_me:23213: checking if you want Xdialog-style dialogs" >&5 -echo $ECHO_N "checking if you want Xdialog-style dialogs... $ECHO_C" >&6 - -# Check whether --enable-Xdialog or --disable-Xdialog was given. -if test "${enable_Xdialog+set}" = set; then - enableval="$enable_Xdialog" - -else - enableval=$cf_all_widgets -fi; -echo "$as_me:23223: result: $enableval" >&5 -echo "${ECHO_T}$enableval" >&6 -if test "$enableval" != no ; then -EXTRAOBJS="$EXTRAOBJS calendar\$o fselect\$o timebox\$o" - -cat >>confdefs.h <<\EOF -#define HAVE_XDIALOG 1 -EOF - -else - : -fi - -echo "$as_me:23236: checking if you want extra Xdialog-style dialogs (1.2)" >&5 -echo $ECHO_N "checking if you want extra Xdialog-style dialogs (1.2)... $ECHO_C" >&6 - -# Check whether --enable-Xdialog2 or --disable-Xdialog2 was given. -if test "${enable_Xdialog2+set}" = set; then - enableval="$enable_Xdialog2" - -else - enableval=$cf_all_widgets -fi; -echo "$as_me:23246: result: $enableval" >&5 -echo "${ECHO_T}$enableval" >&6 -if test "$enableval" != no ; then -EXTRAOBJS="$EXTRAOBJS buildlist\$o rangebox\$o treeview\$o" - -cat >>confdefs.h <<\EOF -#define HAVE_XDIALOG2 1 -EOF - -else - : -fi - -echo "$as_me:23259: checking if you want compatibility with whiptail options" >&5 -echo $ECHO_N "checking if you want compatibility with whiptail options... $ECHO_C" >&6 - -# Check whether --enable-whiptail or --disable-whiptail was given. -if test "${enable_whiptail+set}" = set; then - enableval="$enable_whiptail" - -else - enableval=$cf_all_widgets -fi; -echo "$as_me:23269: result: $enableval" >&5 -echo "${ECHO_T}$enableval" >&6 -if test "$enableval" != no ; then - -cat >>confdefs.h <<\EOF -#define HAVE_WHIPTAIL 1 -EOF - -else - : -fi - -echo "$as_me:23281: checking if you want the form dialog" >&5 -echo $ECHO_N "checking if you want the form dialog... $ECHO_C" >&6 - -# Check whether --enable-form or --disable-form was given. -if test "${enable_form+set}" = set; then - enableval="$enable_form" - -else - enableval=$cf_all_widgets -fi; -echo "$as_me:23291: result: $enableval" >&5 -echo "${ECHO_T}$enableval" >&6 -if test "$enableval" != no ; then -EXTRAOBJS="$EXTRAOBJS formbox\$o" - -cat >>confdefs.h <<\EOF -#define HAVE_DLG_FORMBOX 1 -EOF - -else - : -fi - -echo "$as_me:23304: checking if you want the gauge dialog" >&5 -echo $ECHO_N "checking if you want the gauge dialog... $ECHO_C" >&6 - -# Check whether --enable-gauge or --disable-gauge was given. -if test "${enable_gauge+set}" = set; then - enableval="$enable_gauge" - -else - enableval=$cf_all_widgets -fi; -echo "$as_me:23314: result: $enableval" >&5 -echo "${ECHO_T}$enableval" >&6 -if test "$enableval" != no ; then -EXTRAOBJS="$EXTRAOBJS guage\$o pause\$o prgbox\$o progressbox\$o" - -cat >>confdefs.h <<\EOF -#define HAVE_DLG_GAUGE 1 -EOF - -else - : -fi - -echo "$as_me:23327: checking if you want the tailbox dialog" >&5 -echo $ECHO_N "checking if you want the tailbox dialog... $ECHO_C" >&6 - -# Check whether --enable-tailbox or --disable-tailbox was given. -if test "${enable_tailbox+set}" = set; then - enableval="$enable_tailbox" - -else - enableval=$cf_all_widgets -fi; -echo "$as_me:23337: result: $enableval" >&5 -echo "${ECHO_T}$enableval" >&6 -if test "$enableval" != no ; then -EXTRAOBJS="$EXTRAOBJS tailbox\$o" - -cat >>confdefs.h <<\EOF -#define HAVE_DLG_TAILBOX 1 -EOF - -else - : -fi - -echo "$as_me:23350: checking if you want the mixedform dialog" >&5 -echo $ECHO_N "checking if you want the mixedform dialog... $ECHO_C" >&6 - -# Check whether --enable-mixedform or --disable-mixedform was given. -if test "${enable_mixedform+set}" = set; then - enableval="$enable_mixedform" - -else - enableval=${enable_form:=$cf_all_widgets} -fi; -echo "$as_me:23360: result: $enableval" >&5 -echo "${ECHO_T}$enableval" >&6 -if test "$enableval" != no ; then -EXTRAOBJS="$EXTRAOBJS mixedform\$o" - -cat >>confdefs.h <<\EOF -#define HAVE_DLG_MIXEDFORM 1 -EOF - -else - : -fi - -echo "$as_me:23373: checking if you want the mixedgauge dialog" >&5 -echo $ECHO_N "checking if you want the mixedgauge dialog... $ECHO_C" >&6 - -# Check whether --enable-mixedgauge or --disable-mixedgauge was given. -if test "${enable_mixedgauge+set}" = set; then - enableval="$enable_mixedgauge" - -else - enableval=$cf_all_widgets -fi; -echo "$as_me:23383: result: $enableval" >&5 -echo "${ECHO_T}$enableval" >&6 -if test "$enableval" != no ; then -EXTRAOBJS="$EXTRAOBJS mixedgauge\$o" - -cat >>confdefs.h <<\EOF -#define HAVE_MIXEDGAUGE 1 -EOF - -else - : -fi - -echo "$as_me:23396: checking if you want the wide-curses features" >&5 -echo $ECHO_N "checking if you want the wide-curses features... $ECHO_C" >&6 - -# Check whether --enable-widec or --disable-widec was given. -if test "${enable_widec+set}" = set; then - enableval="$enable_widec" - -else - enableval=$cf_cv_widec_curses -fi; -echo "$as_me:23406: result: $enableval" >&5 -echo "${ECHO_T}$enableval" >&6 -if test "$enableval" != no ; then - -cat >>confdefs.h <<\EOF -#define USE_WIDE_CURSES 1 -EOF - -else - : -fi - -echo "$as_me:23418: checking for ANSI C header files" >&5 -echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6 -if test "${ac_cv_header_stdc+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >"conftest.$ac_ext" <<_ACEOF -#line 23424 "configure" -#include "confdefs.h" -#include <stdlib.h> -#include <stdarg.h> -#include <string.h> -#include <float.h> - -_ACEOF -if { (eval echo "$as_me:23432: \"$ac_cpp "conftest.$ac_ext"\"") >&5 - (eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - $EGREP -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:23438: \$? = $ac_status" >&5 - (exit "$ac_status"); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_cv_header_stdc=yes -else - echo "$as_me: failed program was:" >&5 - cat "conftest.$ac_ext" >&5 - ac_cv_header_stdc=no -fi -rm -f conftest.err "conftest.$ac_ext" - -if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat >"conftest.$ac_ext" <<_ACEOF -#line 23460 "configure" -#include "confdefs.h" -#include <string.h> - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "memchr" >/dev/null 2>&1; then - : -else - ac_cv_header_stdc=no -fi -rm -rf conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat >"conftest.$ac_ext" <<_ACEOF -#line 23478 "configure" -#include "confdefs.h" -#include <stdlib.h> - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "free" >/dev/null 2>&1; then - : -else - ac_cv_header_stdc=no -fi -rm -rf conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then - : -else - cat >"conftest.$ac_ext" <<_ACEOF -#line 23499 "configure" -#include "confdefs.h" -#include <ctype.h> -#if ((' ' & 0x0FF) == 0x020) -# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#else -# define ISLOWER(c) (('a' <= (c) && (c) <= 'i') \ - || ('j' <= (c) && (c) <= 'r') \ - || ('s' <= (c) && (c) <= 'z')) -# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) -#endif - -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -int -main (void) -{ - int i; - for (i = 0; i < 256; i++) - if (XOR (islower (i), ISLOWER (i)) - || toupper (i) != TOUPPER (i)) - $ac_main_return(2); - $ac_main_return (0); -} -_ACEOF -rm -f "conftest$ac_exeext" -if { (eval echo "$as_me:23525: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:23528: \$? = $ac_status" >&5 - (exit "$ac_status"); } && { ac_try='"./conftest$ac_exeext"' - { (eval echo "$as_me:23530: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:23533: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - : -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -ac_cv_header_stdc=no -fi -rm -f core ./core.* ./*.core "conftest$ac_exeext" "conftest.$ac_objext" "conftest.$ac_ext" -fi -fi -fi -echo "$as_me:23546: result: $ac_cv_header_stdc" >&5 -echo "${ECHO_T}$ac_cv_header_stdc" >&6 -if test $ac_cv_header_stdc = yes; then - -cat >>confdefs.h <<\EOF -#define STDC_HEADERS 1 -EOF - -fi - -echo "$as_me:23556: checking whether time.h and sys/time.h may both be included" >&5 -echo $ECHO_N "checking whether time.h and sys/time.h may both be included... $ECHO_C" >&6 -if test "${ac_cv_header_time+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >"conftest.$ac_ext" <<_ACEOF -#line 23562 "configure" -#include "confdefs.h" -#include <sys/types.h> -#include <sys/time.h> -#include <time.h> - -int -main (void) -{ -if ((struct tm *) 0) -return 0; - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:23578: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:23581: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:23584: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:23587: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - ac_cv_header_time=yes -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -ac_cv_header_time=no -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" -fi -echo "$as_me:23597: result: $ac_cv_header_time" >&5 -echo "${ECHO_T}$ac_cv_header_time" >&6 -if test $ac_cv_header_time = yes; then - -cat >>confdefs.h <<\EOF -#define TIME_WITH_SYS_TIME 1 -EOF - -fi - -ac_header_dirent=no -for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do - as_ac_Header=`echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh` -echo "$as_me:23610: checking for $ac_hdr that defines DIR" >&5 -echo $ECHO_N "checking for $ac_hdr that defines DIR... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >"conftest.$ac_ext" <<_ACEOF -#line 23616 "configure" -#include "confdefs.h" -#include <sys/types.h> -#include <$ac_hdr> - -int -main (void) -{ -if ((DIR *) 0) -return 0; - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:23631: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:23634: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:23637: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:23640: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - eval "$as_ac_Header=yes" -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -eval "$as_ac_Header=no" -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" -fi -echo "$as_me:23650: result: `eval echo '${'"$as_ac_Header"'}'`" >&5 -echo "${ECHO_T}`eval echo '${'"$as_ac_Header"'}'`" >&6 -if test "`eval echo '${'"$as_ac_Header"'}'`" = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_hdr" | $as_tr_cpp` 1 -EOF - -ac_header_dirent=$ac_hdr; break -fi - -done -# Two versions of opendir et al. are in -ldir and -lx on SCO Xenix. -if test $ac_header_dirent = dirent.h; then - echo "$as_me:23663: checking for opendir in -ldir" >&5 -echo $ECHO_N "checking for opendir in -ldir... $ECHO_C" >&6 -if test "${ac_cv_lib_dir_opendir+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldir $LIBS" -cat >"conftest.$ac_ext" <<_ACEOF -#line 23671 "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char opendir (); -int -main (void) -{ -opendir (); - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:23690: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:23693: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:23696: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:23699: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - ac_cv_lib_dir_opendir=yes -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -ac_cv_lib_dir_opendir=no -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:23710: result: $ac_cv_lib_dir_opendir" >&5 -echo "${ECHO_T}$ac_cv_lib_dir_opendir" >&6 -if test "$ac_cv_lib_dir_opendir" = yes; then - LIBS="$LIBS -ldir" -fi - -else - echo "$as_me:23717: checking for opendir in -lx" >&5 -echo $ECHO_N "checking for opendir in -lx... $ECHO_C" >&6 -if test "${ac_cv_lib_x_opendir+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lx $LIBS" -cat >"conftest.$ac_ext" <<_ACEOF -#line 23725 "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char opendir (); -int -main (void) -{ -opendir (); - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:23744: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:23747: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:23750: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:23753: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - ac_cv_lib_x_opendir=yes -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -ac_cv_lib_x_opendir=no -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:23764: result: $ac_cv_lib_x_opendir" >&5 -echo "${ECHO_T}$ac_cv_lib_x_opendir" >&6 -if test "$ac_cv_lib_x_opendir" = yes; then - LIBS="$LIBS -lx" -fi - -fi - -for ac_header in search.h stdint.h sys/param.h unistd.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -echo "$as_me:23775: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >"conftest.$ac_ext" <<_ACEOF -#line 23781 "configure" -#include "confdefs.h" -#include <$ac_header> -_ACEOF -if { (eval echo "$as_me:23785: \"$ac_cpp "conftest.$ac_ext"\"") >&5 - (eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - $EGREP -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:23791: \$? = $ac_status" >&5 - (exit "$ac_status"); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - eval "$as_ac_Header=yes" -else - echo "$as_me: failed program was:" >&5 - cat "conftest.$ac_ext" >&5 - eval "$as_ac_Header=no" -fi -rm -f conftest.err "conftest.$ac_ext" -fi -echo "$as_me:23810: result: `eval echo '${'"$as_ac_Header"'}'`" >&5 -echo "${ECHO_T}`eval echo '${'"$as_ac_Header"'}'`" >&6 -if test "`eval echo '${'"$as_ac_Header"'}'`" = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 -EOF - -fi -done - -echo "$as_me:23820: checking for term.h" >&5 -echo $ECHO_N "checking for term.h... $ECHO_C" >&6 -if test "${cf_cv_term_header+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - -# If we found <ncurses/curses.h>, look for <ncurses/term.h>, but always look -# for <term.h> if we do not find the variant. - -cf_header_list="term.h ncurses/term.h ncursesw/term.h" - -case "${cf_cv_ncurses_header:-curses.h}" in -(*/*) - cf_header_item=`echo "${cf_cv_ncurses_header:-curses.h}" | sed -e 's%\..*%%' -e 's%/.*%/%'`term.h - cf_header_list="$cf_header_item $cf_header_list" - ;; -esac - -for cf_header in $cf_header_list -do - cat >"conftest.$ac_ext" <<_ACEOF -#line 23841 "configure" -#include "confdefs.h" - -#include <${cf_cv_ncurses_header:-curses.h}> -#include <${cf_header}> -int -main (void) -{ -WINDOW *x; (void)x - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:23855: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:23858: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:23861: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:23864: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - cf_cv_term_header=$cf_header - break -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -cf_cv_term_header=no -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" -done - -case "$cf_cv_term_header" in -(no) - # If curses is ncurses, some packagers still mess it up by trying to make - # us use GNU termcap. This handles the most common case. - for cf_header in ncurses/term.h ncursesw/term.h - do - cat >"conftest.$ac_ext" <<_ACEOF -#line 23883 "configure" -#include "confdefs.h" - -#include <${cf_cv_ncurses_header:-curses.h}> -#ifdef NCURSES_VERSION -#include <${cf_header}> -#else -make an error -#endif -int -main (void) -{ -WINDOW *x; (void)x - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:23901: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:23904: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:23907: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:23910: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - cf_cv_term_header=$cf_header - break -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -cf_cv_term_header=no -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" - done - ;; -esac - -fi -echo "$as_me:23925: result: $cf_cv_term_header" >&5 -echo "${ECHO_T}$cf_cv_term_header" >&6 - -case "$cf_cv_term_header" in -(term.h) - -cat >>confdefs.h <<\EOF -#define HAVE_TERM_H 1 -EOF - - ;; -(ncurses/term.h) - -cat >>confdefs.h <<\EOF -#define HAVE_NCURSES_TERM_H 1 -EOF - - ;; -(ncursesw/term.h) - -cat >>confdefs.h <<\EOF -#define HAVE_NCURSESW_TERM_H 1 -EOF - - ;; -esac - -echo "$as_me:23952: checking return type of signal handlers" >&5 -echo $ECHO_N "checking return type of signal handlers... $ECHO_C" >&6 -if test "${ac_cv_type_signal+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >"conftest.$ac_ext" <<_ACEOF -#line 23958 "configure" -#include "confdefs.h" -#include <sys/types.h> -#include <signal.h> -#ifdef signal -# undef signal -#endif -#ifdef __cplusplus -extern "C" void (*signal (int, void (*)(int)))(int); -#else -void (*signal ()) (); -#endif - -int -main (void) -{ -int i; - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:23980: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:23983: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:23986: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:23989: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - ac_cv_type_signal=void -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -ac_cv_type_signal=int -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" -fi -echo "$as_me:23999: result: $ac_cv_type_signal" >&5 -echo "${ECHO_T}$ac_cv_type_signal" >&6 - -cat >>confdefs.h <<EOF -#define RETSIGTYPE $ac_cv_type_signal -EOF - -for ac_func in \ -btowc \ -mblen \ -mbrlen \ -mbrtowc \ -mbtowc \ -strcasecmp \ -strftime \ -tsearch \ -waitpid \ -wcsrtombs \ -wcstombs \ -wctob \ -wctomb \ -mktime \ - -do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:24024: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >"conftest.$ac_ext" <<_ACEOF -#line 24030 "configure" -#include "confdefs.h" -#define $ac_func autoconf_temporary -#include <limits.h> /* least-intrusive standard header which defines gcc2 __stub macros */ -#undef $ac_func - -#ifdef __cplusplus -extern "C" -#endif - -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (void); - -int -main (void) -{ - -/* The GNU C library defines stubs for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -#error found stub for $ac_func -#endif - - return $ac_func (); - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:24061: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:24064: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:24067: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:24070: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -eval "$as_ac_var=no" -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" -fi -echo "$as_me:24080: result: `eval echo '${'"$as_ac_var"'}'`" >&5 -echo "${ECHO_T}`eval echo '${'"$as_ac_var"'}'`" >&6 -if test "`eval echo '${'"$as_ac_var"'}'`" = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 -EOF - -fi -done - -echo "$as_me:24090: checking definition to turn on extended curses functions" >&5 -echo $ECHO_N "checking definition to turn on extended curses functions... $ECHO_C" >&6 -if test "${cf_cv_need_xopen_extension+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - -cf_cv_need_xopen_extension=unknown -cat >"conftest.$ac_ext" <<_ACEOF -#line 24098 "configure" -#include "confdefs.h" - -#include <stdlib.h> -#include <${cf_cv_ncurses_header:-curses.h}> -int -main (void) -{ - -#if defined(NCURSES_VERSION_PATCH) -#if (NCURSES_VERSION_PATCH < 20100501) && (NCURSES_VERSION_PATCH >= 20100403) - make an error -#endif -#endif -#ifdef NCURSES_VERSION - cchar_t check; - int check2 = curs_set((int)sizeof(check)); -#endif - long x = winnstr(stdscr, "", 0); - int x1, y1; -#ifdef NCURSES_VERSION - (void)check2; -#endif - getbegyx(stdscr, y1, x1); - (void)x; - (void)y1; - (void)x1; - - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:24131: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:24134: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:24137: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:24140: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - cf_cv_need_xopen_extension=none -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 - - for cf_try_xopen_extension in _XOPEN_SOURCE_EXTENDED NCURSES_WIDECHAR - do - cat >"conftest.$ac_ext" <<_ACEOF -#line 24150 "configure" -#include "confdefs.h" - -#define $cf_try_xopen_extension 1 -#include <stdlib.h> -#include <${cf_cv_ncurses_header:-curses.h}> -int -main (void) -{ - -#ifdef NCURSES_VERSION - cchar_t check; - int check2 = curs_set((int)sizeof(check)); -#endif - long x = winnstr(stdscr, "", 0); - int x1, y1; - getbegyx(stdscr, y1, x1); -#ifdef NCURSES_VERSION - (void)check2; -#endif - (void)x; - (void)y1; - (void)x1; - - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:24179: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:24182: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:24185: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:24188: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - cf_cv_need_xopen_extension=$cf_try_xopen_extension; break -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" - done - -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" - -fi -echo "$as_me:24202: result: $cf_cv_need_xopen_extension" >&5 -echo "${ECHO_T}$cf_cv_need_xopen_extension" >&6 - -case "$cf_cv_need_xopen_extension" in -(*_*) - - test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS " - CPPFLAGS="${CPPFLAGS}-D$cf_cv_need_xopen_extension" - - ;; -esac - -echo "$as_me:24214: checking for unctrl.h" >&5 -echo $ECHO_N "checking for unctrl.h... $ECHO_C" >&6 -if test "${cf_cv_unctrl_header+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - -# If we found <ncurses/curses.h>, look for <ncurses/unctrl.h>, but always look -# for <unctrl.h> if we do not find the variant. - -cf_header_list="unctrl.h ncurses/unctrl.h ncursesw/unctrl.h" - -case "${cf_cv_ncurses_header:-curses.h}" in -(*/*) - cf_header_item=`echo "${cf_cv_ncurses_header:-curses.h}" | sed -e 's%\..*%%' -e 's%/.*%/%'`unctrl.h - cf_header_list="$cf_header_item $cf_header_list" - ;; -esac - -for cf_header in $cf_header_list -do - cat >"conftest.$ac_ext" <<_ACEOF -#line 24235 "configure" -#include "confdefs.h" - -#include <${cf_cv_ncurses_header:-curses.h}> -#include <${cf_header}> -int -main (void) -{ -WINDOW *x; (void)x - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:24249: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:24252: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:24255: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:24258: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - cf_cv_unctrl_header=$cf_header - break -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -cf_cv_unctrl_header=no -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" -done - -fi -echo "$as_me:24271: result: $cf_cv_unctrl_header" >&5 -echo "${ECHO_T}$cf_cv_unctrl_header" >&6 - -case "$cf_cv_unctrl_header" in -(no) - { echo "$as_me:24276: WARNING: unctrl.h header not found" >&5 -echo "$as_me: WARNING: unctrl.h header not found" >&2;} - ;; -esac - -case "$cf_cv_unctrl_header" in -(unctrl.h) - -cat >>confdefs.h <<\EOF -#define HAVE_UNCTRL_H 1 -EOF - - ;; -(ncurses/unctrl.h) - -cat >>confdefs.h <<\EOF -#define HAVE_NCURSES_UNCTRL_H 1 -EOF - - ;; -(ncursesw/unctrl.h) - -cat >>confdefs.h <<\EOF -#define HAVE_NCURSESW_UNCTRL_H 1 -EOF - - ;; -esac - -for cf_func in \ -flushinp \ -getattrs \ -getbegx \ -getbegy \ -getbegyx \ -getcurx \ -getcury \ -getmaxx \ -getmaxy \ -getmaxyx \ -getparx \ -getpary \ -getparyx \ -use_default_colors \ -wchgat \ -wcursyncup \ -wget_wch \ -wsyncup \ - -do - -cf_tr_func=`echo "$cf_func" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` - - echo "$as_me:24329: checking for ${cf_func}" >&5 -echo $ECHO_N "checking for ${cf_func}... $ECHO_C" >&6 - -echo "${as_me:-configure}:24332: testing ${cf_func} ..." 1>&5 - - if eval "test \"\${cf_cv_func_$cf_func+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - eval cf_result='$ac_cv_func_'$cf_func - if test ".$cf_result" != ".no"; then - cat >"conftest.$ac_ext" <<_ACEOF -#line 24341 "configure" -#include "confdefs.h" - -#ifdef HAVE_XCURSES -#include <xcurses.h> -char * XCursesProgramName = "test"; -#else -#include <${cf_cv_ncurses_header:-curses.h}> -#if defined(NCURSES_VERSION) && defined(HAVE_NCURSESW_TERM_H) -#include <ncursesw/term.h> -#elif defined(NCURSES_VERSION) && defined(HAVE_NCURSES_TERM_H) -#include <ncurses/term.h> -#elif defined(HAVE_TERM_H) -#include <term.h> -#endif -#endif - -int -main (void) -{ - -#ifndef ${cf_func} -long foo = (long)(&${cf_func}); -fprintf(stderr, "testing linkage of $cf_func:%p\\n", (void *)foo); -if (foo + 1234L > 5678L) - ${cf_cv_main_return:-return}(foo != 0); -#endif - - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:24374: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:24377: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:24380: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:24383: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - cf_result=yes -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -cf_result=no -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" - fi - eval 'cf_cv_func_'$cf_func'="$cf_result"' - -fi - - # use the computed/retrieved cache-value: - eval 'cf_result=$cf_cv_func_'$cf_func - echo "$as_me:24399: result: $cf_result" >&5 -echo "${ECHO_T}$cf_result" >&6 - if test "$cf_result" != no; then - cat >>confdefs.h <<EOF -#define HAVE_${cf_tr_func} 1 -EOF - - fi -done - -for cf_func in \ -curses_exit \ -_nc_free_and_exit \ - -do - -cf_tr_func=`echo "$cf_func" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` - - echo "$as_me:24417: checking for ${cf_func}" >&5 -echo $ECHO_N "checking for ${cf_func}... $ECHO_C" >&6 - -echo "${as_me:-configure}:24420: testing ${cf_func} ..." 1>&5 - - if eval "test \"\${cf_cv_func_$cf_func+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - eval cf_result='$ac_cv_func_'$cf_func - if test ".$cf_result" != ".no"; then - cat >"conftest.$ac_ext" <<_ACEOF -#line 24429 "configure" -#include "confdefs.h" - -#ifdef HAVE_XCURSES -#include <xcurses.h> -char * XCursesProgramName = "test"; -#else -#include <${cf_cv_ncurses_header:-curses.h}> -#if defined(NCURSES_VERSION) && defined(HAVE_NCURSESW_TERM_H) -#include <ncursesw/term.h> -#elif defined(NCURSES_VERSION) && defined(HAVE_NCURSES_TERM_H) -#include <ncurses/term.h> -#elif defined(HAVE_TERM_H) -#include <term.h> -#endif -#endif - -int -main (void) -{ - -#ifndef ${cf_func} -long foo = (long)(&${cf_func}); -fprintf(stderr, "testing linkage of $cf_func:%p\\n", (void *)foo); -if (foo + 1234L > 5678L) - ${cf_cv_main_return:-return}(foo != 0); -#endif - - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:24462: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:24465: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:24468: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:24471: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - cf_result=yes -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -cf_result=no -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" - fi - eval 'cf_cv_func_'$cf_func'="$cf_result"' - -fi - - # use the computed/retrieved cache-value: - eval 'cf_result=$cf_cv_func_'$cf_func - echo "$as_me:24487: result: $cf_result" >&5 -echo "${ECHO_T}$cf_result" >&6 - if test "$cf_result" != no; then - cat >>confdefs.h <<EOF -#define HAVE_${cf_tr_func} 1 -EOF - - fi -done - -echo "$as_me:24497: checking for start_color" >&5 -echo $ECHO_N "checking for start_color... $ECHO_C" >&6 -if test "${ac_cv_func_start_color+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >"conftest.$ac_ext" <<_ACEOF -#line 24503 "configure" -#include "confdefs.h" -#define start_color autoconf_temporary -#include <limits.h> /* least-intrusive standard header which defines gcc2 __stub macros */ -#undef start_color - -#ifdef __cplusplus -extern "C" -#endif - -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char start_color (void); - -int -main (void) -{ - -/* The GNU C library defines stubs for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_start_color) || defined (__stub___start_color) -#error found stub for start_color -#endif - - return start_color (); - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:24534: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:24537: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:24540: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:24543: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - ac_cv_func_start_color=yes -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -ac_cv_func_start_color=no -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" -fi -echo "$as_me:24553: result: $ac_cv_func_start_color" >&5 -echo "${ECHO_T}$ac_cv_func_start_color" >&6 -if test "$ac_cv_func_start_color" = yes; then - -cat >>confdefs.h <<\EOF -#define HAVE_COLOR 1 -EOF - -fi - -echo "$as_me:24563: checking for chtype typedef" >&5 -echo $ECHO_N "checking for chtype typedef... $ECHO_C" >&6 -if test "${cf_cv_chtype_decl+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - cat >"conftest.$ac_ext" <<_ACEOF -#line 24570 "configure" -#include "confdefs.h" -#include <${cf_cv_ncurses_header:-curses.h}> -int -main (void) -{ -chtype foo; (void)foo - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:24582: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:24585: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:24588: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:24591: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - cf_cv_chtype_decl=yes -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -cf_cv_chtype_decl=no -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" -fi -echo "$as_me:24601: result: $cf_cv_chtype_decl" >&5 -echo "${ECHO_T}$cf_cv_chtype_decl" >&6 -if test "$cf_cv_chtype_decl" = yes ; then - -cat >>confdefs.h <<\EOF -#define HAVE_TYPE_CHTYPE 1 -EOF - - echo "$as_me:24609: checking if chtype is scalar or struct" >&5 -echo $ECHO_N "checking if chtype is scalar or struct... $ECHO_C" >&6 -if test "${cf_cv_chtype_type+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - cat >"conftest.$ac_ext" <<_ACEOF -#line 24616 "configure" -#include "confdefs.h" -#include <${cf_cv_ncurses_header:-curses.h}> -int -main (void) -{ -static chtype foo; long x = foo; (void)x - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:24628: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:24631: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:24634: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:24637: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - cf_cv_chtype_type=scalar -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -cf_cv_chtype_type=struct -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" -fi -echo "$as_me:24647: result: $cf_cv_chtype_type" >&5 -echo "${ECHO_T}$cf_cv_chtype_type" >&6 - if test "$cf_cv_chtype_type" = scalar ; then - -cat >>confdefs.h <<\EOF -#define TYPE_CHTYPE_IS_SCALAR 1 -EOF - - fi -fi - -echo "$as_me:24658: checking for wide alternate character set array" >&5 -echo $ECHO_N "checking for wide alternate character set array... $ECHO_C" >&6 -if test "${cf_cv_curses_wacs_map+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - cf_cv_curses_wacs_map=unknown - for name in wacs_map _wacs_map __wacs_map _nc_wacs _wacs_char - do - cat >"conftest.$ac_ext" <<_ACEOF -#line 24668 "configure" -#include "confdefs.h" - -#ifndef _XOPEN_SOURCE_EXTENDED -#define _XOPEN_SOURCE_EXTENDED -#endif -#include <${cf_cv_ncurses_header:-curses.h}> -int -main (void) -{ -void *foo = &(${name}['k']); (void)foo - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:24684: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:24687: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:24690: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:24693: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - cf_cv_curses_wacs_map=$name - break -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" - done -fi -echo "$as_me:24704: result: $cf_cv_curses_wacs_map" >&5 -echo "${ECHO_T}$cf_cv_curses_wacs_map" >&6 - -test "$cf_cv_curses_wacs_map" != unknown && -cat >>confdefs.h <<EOF -#define CURSES_WACS_ARRAY $cf_cv_curses_wacs_map -EOF - -echo "$as_me:24712: checking for wide alternate character constants" >&5 -echo $ECHO_N "checking for wide alternate character constants... $ECHO_C" >&6 -if test "${cf_cv_curses_wacs_symbols+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - -cf_cv_curses_wacs_symbols=no -if test "$cf_cv_curses_wacs_map" != unknown -then - cat >"conftest.$ac_ext" <<_ACEOF -#line 24722 "configure" -#include "confdefs.h" - -#ifndef _XOPEN_SOURCE_EXTENDED -#define _XOPEN_SOURCE_EXTENDED -#endif -#include <${cf_cv_ncurses_header:-curses.h}> -int -main (void) -{ -cchar_t *foo = WACS_PLUS; - ${cf_cv_curses_wacs_map}['k'] = *WACS_PLUS; (void)foo - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:24739: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:24742: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:24745: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:24748: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - cf_cv_curses_wacs_symbols=yes -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" -else - cat >"conftest.$ac_ext" <<_ACEOF -#line 24758 "configure" -#include "confdefs.h" - -#ifndef _XOPEN_SOURCE_EXTENDED -#define _XOPEN_SOURCE_EXTENDED -#endif -#include <${cf_cv_ncurses_header:-curses.h}> -int -main (void) -{ -cchar_t *foo = WACS_PLUS; (void)foo - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:24774: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:24777: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:24780: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:24783: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - cf_cv_curses_wacs_symbols=yes -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" -fi - -fi -echo "$as_me:24794: result: $cf_cv_curses_wacs_symbols" >&5 -echo "${ECHO_T}$cf_cv_curses_wacs_symbols" >&6 - -test "$cf_cv_curses_wacs_symbols" != no && -cat >>confdefs.h <<\EOF -#define CURSES_WACS_SYMBOLS 1 -EOF - -for cf_func in wgetparent -do - -cf_tr_func=`echo "$cf_func" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` - - echo "$as_me:24807: checking for ${cf_func}" >&5 -echo $ECHO_N "checking for ${cf_func}... $ECHO_C" >&6 - -echo "${as_me:-configure}:24810: testing ${cf_func} ..." 1>&5 - - if eval "test \"\${cf_cv_func_$cf_func+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - eval cf_result='$ac_cv_func_'$cf_func - if test ".$cf_result" != ".no"; then - cat >"conftest.$ac_ext" <<_ACEOF -#line 24819 "configure" -#include "confdefs.h" - -#ifdef HAVE_XCURSES -#include <xcurses.h> -char * XCursesProgramName = "test"; -#else -#include <${cf_cv_ncurses_header:-curses.h}> -#if defined(NCURSES_VERSION) && defined(HAVE_NCURSESW_TERM_H) -#include <ncursesw/term.h> -#elif defined(NCURSES_VERSION) && defined(HAVE_NCURSES_TERM_H) -#include <ncurses/term.h> -#elif defined(HAVE_TERM_H) -#include <term.h> -#endif -#endif - -int -main (void) -{ - -#ifndef ${cf_func} -long foo = (long)(&${cf_func}); -fprintf(stderr, "testing linkage of $cf_func:%p\\n", (void *)foo); -if (foo + 1234L > 5678L) - ${cf_cv_main_return:-return}(foo != 0); -#endif - - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:24852: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:24855: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:24858: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:24861: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - cf_result=yes -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -cf_result=no -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" - fi - eval 'cf_cv_func_'$cf_func'="$cf_result"' - -fi - - # use the computed/retrieved cache-value: - eval 'cf_result=$cf_cv_func_'$cf_func - echo "$as_me:24877: result: $cf_result" >&5 -echo "${ECHO_T}$cf_result" >&6 - if test "$cf_result" != no; then - cat >>confdefs.h <<EOF -#define HAVE_${cf_tr_func} 1 -EOF - - fi -done - -if test "x$cf_cv_func_wgetparent" != xyes -then - echo "$as_me:24889: checking if WINDOW has _parent member" >&5 -echo $ECHO_N "checking if WINDOW has _parent member... $ECHO_C" >&6 - cat >"conftest.$ac_ext" <<_ACEOF -#line 24892 "configure" -#include "confdefs.h" -#include <${cf_cv_ncurses_header:-curses.h}> -int -main (void) -{ -WINDOW *p = stdscr->_parent; (void)p - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:24904: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:24907: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:24910: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:24913: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - cf_window__parent=yes -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -cf_window__parent=no -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" - echo "$as_me:24922: result: $cf_window__parent" >&5 -echo "${ECHO_T}$cf_window__parent" >&6 - if test "$cf_window__parent" = yes - then - -cat >>confdefs.h <<\EOF -#define HAVE_WINDOW__PARENT 1 -EOF - - fi -fi - -for ac_header in sys/wait.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -echo "$as_me:24937: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >"conftest.$ac_ext" <<_ACEOF -#line 24943 "configure" -#include "confdefs.h" -#include <$ac_header> -_ACEOF -if { (eval echo "$as_me:24947: \"$ac_cpp "conftest.$ac_ext"\"") >&5 - (eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - $EGREP -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:24953: \$? = $ac_status" >&5 - (exit "$ac_status"); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - eval "$as_ac_Header=yes" -else - echo "$as_me: failed program was:" >&5 - cat "conftest.$ac_ext" >&5 - eval "$as_ac_Header=no" -fi -rm -f conftest.err "conftest.$ac_ext" -fi -echo "$as_me:24972: result: `eval echo '${'"$as_ac_Header"'}'`" >&5 -echo "${ECHO_T}`eval echo '${'"$as_ac_Header"'}'`" >&6 -if test "`eval echo '${'"$as_ac_Header"'}'`" = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 -EOF - -fi -done - -cf_wait_headers="#include <sys/types.h> -" -if test "$ac_cv_header_sys_wait_h" = yes; then -cf_wait_headers="$cf_wait_headers -#include <sys/wait.h> -" -else - -for ac_header in wait.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -echo "$as_me:24993: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >"conftest.$ac_ext" <<_ACEOF -#line 24999 "configure" -#include "confdefs.h" -#include <$ac_header> -_ACEOF -if { (eval echo "$as_me:25003: \"$ac_cpp "conftest.$ac_ext"\"") >&5 - (eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - $EGREP -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:25009: \$? = $ac_status" >&5 - (exit "$ac_status"); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - eval "$as_ac_Header=yes" -else - echo "$as_me: failed program was:" >&5 - cat "conftest.$ac_ext" >&5 - eval "$as_ac_Header=no" -fi -rm -f conftest.err "conftest.$ac_ext" -fi -echo "$as_me:25028: result: `eval echo '${'"$as_ac_Header"'}'`" >&5 -echo "${ECHO_T}`eval echo '${'"$as_ac_Header"'}'`" >&6 -if test "`eval echo '${'"$as_ac_Header"'}'`" = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 -EOF - -fi -done - -for ac_header in waitstatus.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -echo "$as_me:25041: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >"conftest.$ac_ext" <<_ACEOF -#line 25047 "configure" -#include "confdefs.h" -#include <$ac_header> -_ACEOF -if { (eval echo "$as_me:25051: \"$ac_cpp "conftest.$ac_ext"\"") >&5 - (eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - $EGREP -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:25057: \$? = $ac_status" >&5 - (exit "$ac_status"); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - eval "$as_ac_Header=yes" -else - echo "$as_me: failed program was:" >&5 - cat "conftest.$ac_ext" >&5 - eval "$as_ac_Header=no" -fi -rm -f conftest.err "conftest.$ac_ext" -fi -echo "$as_me:25076: result: `eval echo '${'"$as_ac_Header"'}'`" >&5 -echo "${ECHO_T}`eval echo '${'"$as_ac_Header"'}'`" >&6 -if test "`eval echo '${'"$as_ac_Header"'}'`" = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 -EOF - -fi -done - -if test "$ac_cv_header_wait_h" = yes; then -cf_wait_headers="$cf_wait_headers -#include <wait.h> -" -fi -if test "$ac_cv_header_waitstatus_h" = yes; then -cf_wait_headers="$cf_wait_headers -#include <waitstatus.h> -" -fi -fi - -echo "$as_me:25098: checking for union wait" >&5 -echo $ECHO_N "checking for union wait... $ECHO_C" >&6 -if test "${cf_cv_type_unionwait+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - cat >"conftest.$ac_ext" <<_ACEOF -#line 25105 "configure" -#include "confdefs.h" -$cf_wait_headers -int -main (void) -{ -int x; - int y = WEXITSTATUS(x); - int z = WTERMSIG(x); - wait(&x); - (void)x; - (void)y; - (void)z; - - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:25124: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:25127: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:25130: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:25133: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - cf_cv_type_unionwait=no - echo compiles ok w/o union wait 1>&5 - -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 - - cat >"conftest.$ac_ext" <<_ACEOF -#line 25143 "configure" -#include "confdefs.h" -$cf_wait_headers -int -main (void) -{ -union wait x; -#ifdef WEXITSTATUS - int y = WEXITSTATUS(x); -#endif -#ifdef WTERMSIG - int z = WTERMSIG(x); -#endif - wait(&x); - (void)x; -#ifdef WEXITSTATUS - (void)y; -#endif -#ifdef WTERMSIG - (void)z; -#endif - - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:25170: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:25173: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:25176: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:25179: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - cf_cv_type_unionwait=yes - echo compiles ok with union wait and possibly macros too 1>&5 - -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -cf_cv_type_unionwait=no -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" -fi - -echo "$as_me:25194: result: $cf_cv_type_unionwait" >&5 -echo "${ECHO_T}$cf_cv_type_unionwait" >&6 -test "$cf_cv_type_unionwait" = yes && -cat >>confdefs.h <<\EOF -#define HAVE_TYPE_UNIONWAIT 1 -EOF - -if test "$cf_cv_type_unionwait" = yes; then - - echo "$as_me:25203: checking if union wait can be used as wait-arg" >&5 -echo $ECHO_N "checking if union wait can be used as wait-arg... $ECHO_C" >&6 - if test "${cf_cv_arg_union_wait+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - cat >"conftest.$ac_ext" <<_ACEOF -#line 25210 "configure" -#include "confdefs.h" -$cf_wait_headers -int -main (void) -{ -union wait x; wait(&x) - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:25222: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:25225: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:25228: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:25231: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - cf_cv_arg_union_wait=yes -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -cf_cv_arg_union_wait=no -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" - -fi - - echo "$as_me:25243: result: $cf_cv_arg_union_wait" >&5 -echo "${ECHO_T}$cf_cv_arg_union_wait" >&6 - test "$cf_cv_arg_union_wait" = yes && -cat >>confdefs.h <<\EOF -#define WAIT_USES_UNION 1 -EOF - - echo "$as_me:25250: checking if union wait can be used as waitpid-arg" >&5 -echo $ECHO_N "checking if union wait can be used as waitpid-arg... $ECHO_C" >&6 - if test "${cf_cv_arg_union_waitpid+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - cat >"conftest.$ac_ext" <<_ACEOF -#line 25257 "configure" -#include "confdefs.h" -$cf_wait_headers -int -main (void) -{ -union wait x; waitpid(0, &x, 0) - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:25269: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:25272: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:25275: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:25278: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - cf_cv_arg_union_waitpid=yes -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -cf_cv_arg_union_waitpid=no -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" - -fi - - echo "$as_me:25290: result: $cf_cv_arg_union_waitpid" >&5 -echo "${ECHO_T}$cf_cv_arg_union_waitpid" >&6 - test "$cf_cv_arg_union_waitpid" = yes && -cat >>confdefs.h <<\EOF -#define WAITPID_USES_UNION 1 -EOF - -fi - -echo "$as_me:25299: checking if we must include wchar.h to declare mbstate_t" >&5 -echo $ECHO_N "checking if we must include wchar.h to declare mbstate_t... $ECHO_C" >&6 -if test "${cf_cv_mbstate_t+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - -cat >"conftest.$ac_ext" <<_ACEOF -#line 25306 "configure" -#include "confdefs.h" - -#include <stdlib.h> -#include <stdio.h> -#ifdef HAVE_LIBUTF8_H -#include <libutf8.h> -#endif -int -main (void) -{ -mbstate_t state; (void)state - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:25323: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:25326: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:25329: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:25332: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - cf_cv_mbstate_t=no -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -cat >"conftest.$ac_ext" <<_ACEOF -#line 25339 "configure" -#include "confdefs.h" - -#include <stdlib.h> -#include <stdio.h> -#include <wchar.h> -#ifdef HAVE_LIBUTF8_H -#include <libutf8.h> -#endif -int -main (void) -{ -mbstate_t value; (void)value - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:25357: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:25360: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:25363: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:25366: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - cf_cv_mbstate_t=yes -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -cf_cv_mbstate_t=unknown -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" -fi -echo "$as_me:25378: result: $cf_cv_mbstate_t" >&5 -echo "${ECHO_T}$cf_cv_mbstate_t" >&6 - -if test "$cf_cv_mbstate_t" = yes ; then - -cat >>confdefs.h <<\EOF -#define NEED_WCHAR_H 1 -EOF - -fi - -if test "$cf_cv_mbstate_t" != unknown ; then - -cat >>confdefs.h <<\EOF -#define HAVE_MBSTATE_T 1 -EOF - -fi - -for ac_header in \ -termio.h \ -termios.h \ -unistd.h \ -sys/ioctl.h \ -sys/termio.h \ - -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -echo "$as_me:25406: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >"conftest.$ac_ext" <<_ACEOF -#line 25412 "configure" -#include "confdefs.h" -#include <$ac_header> -_ACEOF -if { (eval echo "$as_me:25416: \"$ac_cpp "conftest.$ac_ext"\"") >&5 - (eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - $EGREP -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:25422: \$? = $ac_status" >&5 - (exit "$ac_status"); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - eval "$as_ac_Header=yes" -else - echo "$as_me: failed program was:" >&5 - cat "conftest.$ac_ext" >&5 - eval "$as_ac_Header=no" -fi -rm -f conftest.err "conftest.$ac_ext" -fi -echo "$as_me:25441: result: `eval echo '${'"$as_ac_Header"'}'`" >&5 -echo "${ECHO_T}`eval echo '${'"$as_ac_Header"'}'`" >&6 -if test "`eval echo '${'"$as_ac_Header"'}'`" = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 -EOF - -fi -done - -if test "$ac_cv_header_termios_h" = yes ; then - case "$CFLAGS $CPPFLAGS" in - (*-D_POSIX_SOURCE*) - termios_bad=dunno ;; - (*) termios_bad=maybe ;; - esac - if test "$termios_bad" = maybe ; then - echo "$as_me:25458: checking whether termios.h needs _POSIX_SOURCE" >&5 -echo $ECHO_N "checking whether termios.h needs _POSIX_SOURCE... $ECHO_C" >&6 - cat >"conftest.$ac_ext" <<_ACEOF -#line 25461 "configure" -#include "confdefs.h" -#include <termios.h> -int -main (void) -{ -struct termios foo; int x = foo.c_iflag = 1; (void)x - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:25473: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:25476: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:25479: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:25482: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - termios_bad=no -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 - - cat >"conftest.$ac_ext" <<_ACEOF -#line 25490 "configure" -#include "confdefs.h" - -#define _POSIX_SOURCE -#include <termios.h> -int -main (void) -{ -struct termios foo; int x = foo.c_iflag = 2; (void)x - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:25504: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:25507: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:25510: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:25513: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - termios_bad=unknown -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -termios_bad=yes -cat >>confdefs.h <<\EOF -#define _POSIX_SOURCE 1 -EOF - -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" - -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" - echo "$as_me:25529: result: $termios_bad" >&5 -echo "${ECHO_T}$termios_bad" >&6 - fi -fi - -echo "$as_me:25534: checking declaration of size-change" >&5 -echo $ECHO_N "checking declaration of size-change... $ECHO_C" >&6 -if test "${cf_cv_sizechange+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - cf_cv_sizechange=unknown - cf_save_CPPFLAGS="$CPPFLAGS" - -for cf_opts in "" "NEED_PTEM_H" -do - - CPPFLAGS="$cf_save_CPPFLAGS" - if test -n "$cf_opts" - then - - test -n "$CPPFLAGS" && CPPFLAGS="$CPPFLAGS " - CPPFLAGS="${CPPFLAGS}-D$cf_opts" - - fi - cat >"conftest.$ac_ext" <<_ACEOF -#line 25555 "configure" -#include "confdefs.h" -#include <sys/types.h> -#ifdef HAVE_TERMIOS_H -#include <termios.h> -#else -#ifdef HAVE_TERMIO_H -#include <termio.h> -#endif -#endif - -#ifdef NEED_PTEM_H -/* This is a workaround for SCO: they neglected to define struct winsize in - * termios.h -- it's only in termio.h and ptem.h - */ -#include <sys/stream.h> -#include <sys/ptem.h> -#endif - -#ifdef HAVE_SYS_IOCTL_H -#include <sys/ioctl.h> -#endif - -int -main (void) -{ - -#ifdef TIOCGSIZE - struct ttysize win; /* SunOS 3.0... */ - int y = win.ts_lines = 2; - int x = win.ts_cols = 1; - (void)y; - (void)x; -#else -#ifdef TIOCGWINSZ - struct winsize win; /* everything else */ - int y = win.ws_row = 2; - int x = win.ws_col = 1; - (void)y; - (void)x; -#else - no TIOCGSIZE or TIOCGWINSZ -#endif /* TIOCGWINSZ */ -#endif /* TIOCGSIZE */ - - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:25605: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:25608: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:25611: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:25614: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - cf_cv_sizechange=yes -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -cf_cv_sizechange=no -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" - - CPPFLAGS="$cf_save_CPPFLAGS" - if test "$cf_cv_sizechange" = yes ; then - echo "size-change succeeded ($cf_opts)" >&5 - test -n "$cf_opts" && cf_cv_sizechange="$cf_opts" - break - fi -done - -fi -echo "$as_me:25633: result: $cf_cv_sizechange" >&5 -echo "${ECHO_T}$cf_cv_sizechange" >&6 -if test "$cf_cv_sizechange" != no ; then - -cat >>confdefs.h <<\EOF -#define HAVE_SIZECHANGE 1 -EOF - - case "$cf_cv_sizechange" in - (NEED*) - cat >>confdefs.h <<EOF -#define $cf_cv_sizechange 1 -EOF - - ;; - esac -fi - -PACKAGE_PREFIX=DLG -PACKAGE_CONFIG=dlg_config.h - -EXTRA_OUTPUT="$EXTRA_OUTPUT headers-sh:$srcdir/headers-sh.in" - -cat >"conftest.$ac_ext" <<_ACEOF -#line 25657 "configure" -#include "confdefs.h" -#include <locale.h> -int -main (void) -{ -setlocale(LC_ALL, "") - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:25669: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:25672: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:25675: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:25678: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - -cat >>confdefs.h <<\EOF -#define HAVE_SETLOCALE 1 -EOF - -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" - -echo "$as_me:25691: checking if runtime has nl_langinfo support for first weekday" >&5 -echo $ECHO_N "checking if runtime has nl_langinfo support for first weekday... $ECHO_C" >&6 -if test "${cf_nl_langinfo_1stday+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - cat >"conftest.$ac_ext" <<_ACEOF -#line 25698 "configure" -#include "confdefs.h" - -#include <langinfo.h> -#include <locale.h> - -int -main (void) -{ - - int first_weekday = nl_langinfo (_NL_TIME_FIRST_WEEKDAY)[0]; - long week_1stday_l = (long) nl_langinfo (_NL_TIME_WEEK_1STDAY); - (void) first_weekday; - (void) week_1stday_l; - - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" -if { (eval echo "$as_me:25718: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:25721: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest.$ac_objext"' - { (eval echo "$as_me:25724: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:25727: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - cf_nl_langinfo_1stday=yes - -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -cf_nl_langinfo_1stday=no - -fi -rm -f "conftest.$ac_objext" "conftest.$ac_ext" - -fi -echo "$as_me:25740: result: $cf_nl_langinfo_1stday" >&5 -echo "${ECHO_T}$cf_nl_langinfo_1stday" >&6 -test "x$cf_nl_langinfo_1stday" = xyes && -cat >>confdefs.h <<\EOF -#define HAVE_NL_LANGINFO_1STDAY 1 -EOF - -if test "$GCC" = yes || test "$GXX" = yes -then - - test -n "$CFLAGS" && CFLAGS="$CFLAGS " - CFLAGS="${CFLAGS}$EXTRA_CFLAGS" - - EXTRA_CFLAGS= -fi - -echo "$as_me:25756: checking if rpath-hack should be disabled" >&5 -echo $ECHO_N "checking if rpath-hack should be disabled... $ECHO_C" >&6 - -# Check whether --enable-rpath-hack or --disable-rpath-hack was given. -if test "${enable_rpath_hack+set}" = set; then - enableval="$enable_rpath_hack" - test "$enableval" != no && enableval=yes - if test "$enableval" != "yes" ; then - enable_rpath_hack=no - else - enable_rpath_hack=yes - fi -else - enableval=yes - enable_rpath_hack=yes - -fi; -if test "x$enable_rpath_hack" = xno; then cf_disable_rpath_hack=yes; else cf_disable_rpath_hack=no; fi -echo "$as_me:25774: result: $cf_disable_rpath_hack" >&5 -echo "${ECHO_T}$cf_disable_rpath_hack" >&6 - -if test "$enable_rpath_hack" = yes ; then - -echo "$as_me:25779: checking for updated LDFLAGS" >&5 -echo $ECHO_N "checking for updated LDFLAGS... $ECHO_C" >&6 -if test -n "$LD_RPATH_OPT" ; then - echo "$as_me:25782: result: maybe" >&5 -echo "${ECHO_T}maybe" >&6 - - for ac_prog in ldd -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -echo "$as_me:25789: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_cf_ldd_prog+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$cf_ldd_prog"; then - ac_cv_prog_cf_ldd_prog="$cf_ldd_prog" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_cf_ldd_prog="$ac_prog" -echo "$as_me:25804: found $ac_dir/$ac_word" >&5 -break -done - -fi -fi -cf_ldd_prog=$ac_cv_prog_cf_ldd_prog -if test -n "$cf_ldd_prog"; then - echo "$as_me:25812: result: $cf_ldd_prog" >&5 -echo "${ECHO_T}$cf_ldd_prog" >&6 -else - echo "$as_me:25815: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$cf_ldd_prog" && break -done -test -n "$cf_ldd_prog" || cf_ldd_prog="no" - - cf_rpath_list="/usr/lib /lib" - if test "$cf_ldd_prog" != no - then - cf_rpath_oops= - -cat >"conftest.$ac_ext" <<_ACEOF -#line 25829 "configure" -#include "confdefs.h" -#include <stdio.h> -int -main (void) -{ -printf("Hello"); - ; - return 0; -} -_ACEOF -rm -f "conftest.$ac_objext" "conftest$ac_exeext" -if { (eval echo "$as_me:25841: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:25844: \$? = $ac_status" >&5 - (exit "$ac_status"); } && - { ac_try='test -s "conftest$ac_exeext"' - { (eval echo "$as_me:25847: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:25850: \$? = $ac_status" >&5 - (exit "$ac_status"); }; }; then - cf_rpath_oops=`"$cf_ldd_prog" "conftest$ac_exeext" | ${FGREP-fgrep} ' not found' | sed -e 's% =>.*$%%' |sort | uniq` - cf_rpath_list=`"$cf_ldd_prog" "conftest$ac_exeext" | ${FGREP-fgrep} / | sed -e 's%^.*[ ]/%/%' -e 's%/[^/][^/]*$%%' |sort | uniq` -else - echo "$as_me: failed program was:" >&5 -cat "conftest.$ac_ext" >&5 -fi -rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext" - - # If we passed the link-test, but get a "not found" on a given library, - # this could be due to inept reconfiguration of gcc to make it only - # partly honor /usr/local/lib (or whatever). Sometimes this behavior - # is intentional, e.g., installing gcc in /usr/bin and suppressing the - # /usr/local libraries. - if test -n "$cf_rpath_oops" - then - for cf_rpath_src in $cf_rpath_oops - do - for cf_rpath_dir in \ - /usr/local \ - /usr/pkg \ - /opt/sfw - do - if test -f "$cf_rpath_dir/lib/$cf_rpath_src" - then - test -n "$verbose" && echo " ...adding -L$cf_rpath_dir/lib to LDFLAGS for $cf_rpath_src" 1>&6 - -echo "${as_me:-configure}:25878: testing ...adding -L$cf_rpath_dir/lib to LDFLAGS for $cf_rpath_src ..." 1>&5 - - LDFLAGS="$LDFLAGS -L$cf_rpath_dir/lib" - break - fi - done - done - fi - fi - - test -n "$verbose" && echo " ...checking EXTRA_LDFLAGS $EXTRA_LDFLAGS" 1>&6 - -echo "${as_me:-configure}:25890: testing ...checking EXTRA_LDFLAGS $EXTRA_LDFLAGS ..." 1>&5 - -test -n "$verbose" && echo " ...checking LDFLAGS $LDFLAGS" 1>&6 - -echo "${as_me:-configure}:25894: testing ...checking LDFLAGS $LDFLAGS ..." 1>&5 - -cf_rpath_dst= -for cf_rpath_src in $LDFLAGS -do - case "$cf_rpath_src" in - (-L*) - - # check if this refers to a directory which we will ignore - cf_rpath_skip=no - if test -n "$cf_rpath_list" - then - for cf_rpath_item in $cf_rpath_list - do - if test "x$cf_rpath_src" = "x-L$cf_rpath_item" - then - cf_rpath_skip=yes - break - fi - done - fi - - if test "$cf_rpath_skip" = no - then - # transform the option - if test "$LD_RPATH_OPT" = "-R " ; then - cf_rpath_tmp=`echo "$cf_rpath_src" |sed -e "s%-L%-R %"` - else - cf_rpath_tmp=`echo "$cf_rpath_src" |sed -e "s%-L%$LD_RPATH_OPT%"` - fi - - # if we have not already added this, add it now - cf_rpath_tst=`echo "$EXTRA_LDFLAGS" | sed -e "s%$cf_rpath_tmp %%"` - if test "x$cf_rpath_tst" = "x$EXTRA_LDFLAGS" - then - test -n "$verbose" && echo " ...Filter $cf_rpath_src ->$cf_rpath_tmp" 1>&6 - -echo "${as_me:-configure}:25931: testing ...Filter $cf_rpath_src ->$cf_rpath_tmp ..." 1>&5 - - EXTRA_LDFLAGS="$cf_rpath_tmp $EXTRA_LDFLAGS" - fi - fi - ;; - esac - cf_rpath_dst="$cf_rpath_dst $cf_rpath_src" -done -LDFLAGS=$cf_rpath_dst - -test -n "$verbose" && echo " ...checked LDFLAGS $LDFLAGS" 1>&6 - -echo "${as_me:-configure}:25944: testing ...checked LDFLAGS $LDFLAGS ..." 1>&5 - -test -n "$verbose" && echo " ...checking LIBS $LIBS" 1>&6 - -echo "${as_me:-configure}:25948: testing ...checking LIBS $LIBS ..." 1>&5 - -cf_rpath_dst= -for cf_rpath_src in $LIBS -do - case "$cf_rpath_src" in - (-L*) - - # check if this refers to a directory which we will ignore - cf_rpath_skip=no - if test -n "$cf_rpath_list" - then - for cf_rpath_item in $cf_rpath_list - do - if test "x$cf_rpath_src" = "x-L$cf_rpath_item" - then - cf_rpath_skip=yes - break - fi - done - fi - - if test "$cf_rpath_skip" = no - then - # transform the option - if test "$LD_RPATH_OPT" = "-R " ; then - cf_rpath_tmp=`echo "$cf_rpath_src" |sed -e "s%-L%-R %"` - else - cf_rpath_tmp=`echo "$cf_rpath_src" |sed -e "s%-L%$LD_RPATH_OPT%"` - fi - - # if we have not already added this, add it now - cf_rpath_tst=`echo "$EXTRA_LDFLAGS" | sed -e "s%$cf_rpath_tmp %%"` - if test "x$cf_rpath_tst" = "x$EXTRA_LDFLAGS" - then - test -n "$verbose" && echo " ...Filter $cf_rpath_src ->$cf_rpath_tmp" 1>&6 - -echo "${as_me:-configure}:25985: testing ...Filter $cf_rpath_src ->$cf_rpath_tmp ..." 1>&5 - - EXTRA_LDFLAGS="$cf_rpath_tmp $EXTRA_LDFLAGS" - fi - fi - ;; - esac - cf_rpath_dst="$cf_rpath_dst $cf_rpath_src" -done -LIBS=$cf_rpath_dst - -test -n "$verbose" && echo " ...checked LIBS $LIBS" 1>&6 - -echo "${as_me:-configure}:25998: testing ...checked LIBS $LIBS ..." 1>&5 - - test -n "$verbose" && echo " ...checked EXTRA_LDFLAGS $EXTRA_LDFLAGS" 1>&6 - -echo "${as_me:-configure}:26002: testing ...checked EXTRA_LDFLAGS $EXTRA_LDFLAGS ..." 1>&5 - -else - echo "$as_me:26005: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -fi - -cf_libname=\${LIB_BASENAME} -cf_liblink=$cf_libname -cf_libroot=$cf_libname - -if test "x$cf_cv_do_symlinks" = xyes -then - case "x$cf_cv_shlib_version" in - (xrel) - cf_liblink="\${LIB_ABI_NAME}" - cf_libname="\${LIB_REL_NAME}" - ;; - (xabi) - cf_liblink="\${LIB_REL_NAME}" - cf_libname="\${LIB_ABI_NAME}" - ;; - esac -fi -LIB_TARGET=$cf_libname - -SET_SHLIB_VARS="# begin CF__DEFINE_SHLIB_VARS\\ -LIB_BASENAME = \${LIB_PREFIX}\${LIB_ROOTNAME}\${LIB_SUFFIX}\\ -LIB_REL_NAME = \${LIB_BASENAME}.\${REL_VERSION}\\ -LIB_ABI_NAME = \${LIB_BASENAME}.\${ABI_VERSION}\\ -LIB_TARGET = $LIB_TARGET\\ -RM_SHARED_OPTS = $RM_SHARED_OPTS\\ -# end CF__DEFINE_SHLIB_VARS" - -echo "$as_me:26038: checking for linker search path" >&5 -echo $ECHO_N "checking for linker search path... $ECHO_C" >&6 -if test "${cf_cv_ld_searchpath+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - -if test "$cross_compiling" != yes ; then - -# GNU binutils' ld does not involve permissions which may stop ldconfig. -cf_pathlist=`ld --verbose 2>/dev/null | grep SEARCH_DIR | sed -e 's,SEARCH_DIR[("=][("=]*,,g' -e 's/"[)];//gp' | sort -u` - -# The -NX options tell newer versions of Linux ldconfig to not attempt to -# update the cache, which makes it run faster. -test -z "$cf_pathlist" && \ - cf_pathlist=`ldconfig -NX -v 2>/dev/null | sed -e '/^[ ]/d' -e 's/:$//' | sort -u` - -test -z "$cf_pathlist" && - cf_pathlist=`ldconfig -v 2>/dev/null | sed -n -e '/^[ ]/d' -e 's/:$//p' | sort -u` - -# This works with OpenBSD 6.5, which lists only filenames -test -z "$cf_pathlist" && - cf_pathlist=`ldconfig -v 2>/dev/null | sed -n -e 's,^Adding \(.*\)/.*$,\1,p' | sort -u` - -if test -z "$cf_pathlist" -then - # dyld default path with MacOS - if test -f /usr/bin/otool && test "x`uname -s`" = xDarwin - then - # do this to bypass check - cf_cv_ld_searchpath='$HOME/lib' - cf_pathlist="/usr/local/lib /lib /usr/lib" - fi -fi - -if test -z "$cf_pathlist" -then - # Solaris is hardcoded - if test -d /opt/SUNWspro/lib - then - cf_pathlist="/opt/SUNWspro/lib /usr/ccs/lib /usr/lib" - elif test -d /usr/ccs/lib - then - cf_pathlist="/usr/ccs/lib /usr/lib" - fi -fi - -fi - -# If nothing else, assume it is conventional -test -z "$cf_pathlist" && cf_pathlist="/usr/lib /lib" - -# Finally, check that this is only directories -for cf_path in $0 $cf_pathlist -do - if test -d "$cf_path"; then - test -n "$cf_cv_ld_searchpath" && cf_cv_ld_searchpath="${cf_cv_ld_searchpath} " - cf_cv_ld_searchpath="${cf_cv_ld_searchpath}${cf_path}" - fi -done - -# Ensure that it is nonempty -test -z "$cf_cv_ld_searchpath" && cf_cv_ld_searchpath=/usr/lib - -fi -echo "$as_me:26102: result: $cf_cv_ld_searchpath" >&5 -echo "${ECHO_T}$cf_cv_ld_searchpath" >&6 - -LD_SEARCHPATH=`echo "$cf_cv_ld_searchpath"|sed -e 's/ /|/g'` - -ac_config_files="$ac_config_files dialog-config makefile $EXTRA_OUTPUT $SUB_MAKEFILE" -ac_config_commands="$ac_config_commands default" -cat >confcache <<\_ACEOF -# This file is a shell script that caches the results of configure -# tests run on this system so they can be shared between configure -# scripts and configure runs, see configure's option --config-cache. -# It is not useful on other systems. If it contains results you don't -# want to keep, you may remove or edit it. -# -# config.status only pays attention to the cache file if you give it -# the --recheck option to rerun configure. -# -# `ac_cv_env_foo' variables (set or unset) will be overriden when -# loading this file, other *unset* `ac_cv_foo' will be assigned the -# following values. - -_ACEOF - -# The following way of writing the cache mishandles newlines in values, -# but we know of no workaround that is simple, portable, and efficient. -# So, don't put newlines in cache variables' values. -# Ultrix sh set writes to stderr and can't be redirected directly, -# and sets the high bit in the cache file unless we assign to the vars. -{ - (set) 2>&1 | - case `(ac_space=' '; set | grep ac_space) 2>&1` in - *ac_space=\ *) - # `set' does not quote correctly, so add quotes (double-quote - # substitution turns \\\\ into \\, and sed turns \\ into \). - sed -n \ - "s/'/'\\\\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" - ;; - *) - # `set' quotes correctly as required by POSIX, so do not add quotes. - sed -n \ - "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" - ;; - esac; -} | - sed ' - t clear - : clear - s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ - t end - /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ - : end' >>confcache -if cmp -s $cache_file confcache; then :; else - if test -w $cache_file; then - test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file" - cat confcache >$cache_file - else - echo "not updating unwritable cache $cache_file" - fi -fi -rm -f confcache - -test "x$prefix" = xNONE && prefix=$ac_default_prefix -# Let make expand exec_prefix. -test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' - -# VPATH may cause trouble with some makes, so we remove $(srcdir), -# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and -# trailing colons and then remove the whole line if VPATH becomes empty -# (actually we leave an empty line to preserve line numbers). -if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=/{ -s/:*\$(srcdir):*/:/; -s/:*\${srcdir}:*/:/; -s/:*@srcdir@:*/:/; -s/^\([^=]*=[ ]*\):*/\1/; -s/:*$//; -s/^[^=]*=[ ]*$//; -}' -fi - -DEFS=-DHAVE_CONFIG_H - -: "${CONFIG_STATUS=./config.status}" -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files $CONFIG_STATUS" -{ echo "$as_me:26188: creating $CONFIG_STATUS" >&5 -echo "$as_me: creating $CONFIG_STATUS" >&6;} -cat >"$CONFIG_STATUS" <<_ACEOF -#! $SHELL -# Generated automatically by configure. -# Run this file to recreate the current configuration. -# Compiler output produced by configure, useful for debugging -# configure, is in config.log if it exists. - -debug=false -SHELL=\${CONFIG_SHELL-$SHELL} -ac_cs_invocation="\$0 \$@" - -CLICOLOR_FORCE= GREP_OPTIONS= -unset CLICOLOR_FORCE GREP_OPTIONS -_ACEOF - -cat >>"$CONFIG_STATUS" <<\_ACEOF -# Be Bourne compatible -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: -elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then - set -o posix -fi - -# Name of the executable. -as_me=`echo "$0" |sed 's,.*[\\/],,'` - -if expr a : '\(a\)' >/dev/null 2>&1; then - as_expr=expr -else - as_expr=false -fi - -rm -f conf$$ conf$$.exe conf$$.file -echo >conf$$.file -if ln -s conf$$.file conf$$ 2>/dev/null; then - # We could just check for DJGPP; but this test a) works b) is more generic - # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). - if test -f conf$$.exe; then - # Don't use ln at all; we don't have any links - as_ln_s='cp -p' - else - as_ln_s='ln -s' - fi -elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln -else - as_ln_s='cp -p' -fi -rm -f conf$$ conf$$.exe conf$$.file - -as_executable_p="test -f" - -# Support unset when possible. -if (FOO=FOO; unset FOO) >/dev/null 2>&1; then - as_unset="unset" -else - as_unset="false" -fi - -# NLS nuisances. -$as_unset LANG || test "${LANG+set}" != set || { LANG=C; export LANG; } -$as_unset LC_ALL || test "${LC_ALL+set}" != set || { LC_ALL=C; export LC_ALL; } -$as_unset LC_TIME || test "${LC_TIME+set}" != set || { LC_TIME=C; export LC_TIME; } -$as_unset LC_CTYPE || test "${LC_CTYPE+set}" != set || { LC_CTYPE=C; export LC_CTYPE; } -$as_unset LANGUAGE || test "${LANGUAGE+set}" != set || { LANGUAGE=C; export LANGUAGE; } -$as_unset LC_COLLATE || test "${LC_COLLATE+set}" != set || { LC_COLLATE=C; export LC_COLLATE; } -$as_unset LC_NUMERIC || test "${LC_NUMERIC+set}" != set || { LC_NUMERIC=C; export LC_NUMERIC; } -$as_unset LC_MESSAGES || test "${LC_MESSAGES+set}" != set || { LC_MESSAGES=C; export LC_MESSAGES; } - -# IFS -# We need space, tab and new line, in precisely that order. -as_nl=' -' -IFS=" $as_nl" - -# CDPATH. -$as_unset CDPATH || test "${CDPATH+set}" != set || { CDPATH=:; export CDPATH; } - -exec 6>&1 - -_ACEOF - -# Files that config.status was made for. -if test -n "$ac_config_files"; then - echo "config_files=\"$ac_config_files\"" >>"$CONFIG_STATUS" -fi - -if test -n "$ac_config_headers"; then - echo "config_headers=\"$ac_config_headers\"" >>"$CONFIG_STATUS" -fi - -if test -n "$ac_config_links"; then - echo "config_links=\"$ac_config_links\"" >>"$CONFIG_STATUS" -fi - -if test -n "$ac_config_commands"; then - echo "config_commands=\"$ac_config_commands\"" >>"$CONFIG_STATUS" -fi - -cat >>"$CONFIG_STATUS" <<\EOF - -ac_cs_usage="\ -\`$as_me' instantiates files from templates according to the -current configuration. - -Usage: $0 [OPTIONS] [FILE]... - - -h, --help print this help, then exit - -V, --version print version number, then exit - -d, --debug don't remove temporary files - --recheck update $as_me by reconfiguring in the same conditions - --file=FILE[:TEMPLATE] - instantiate the configuration file FILE - --header=FILE[:TEMPLATE] - instantiate the configuration header FILE - -Configuration files: -$config_files - -Configuration headers: -$config_headers - -Configuration commands: -$config_commands - -Report bugs to <dickey@invisible-island.net>." -EOF - -cat >>"$CONFIG_STATUS" <<EOF -ac_cs_version="\\ -config.status -configured by $0, generated by GNU Autoconf 2.52.20210105, - with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" - -Copyright 2003-2020,2021 Thomas E. Dickey -Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001 -Free Software Foundation, Inc. -This config.status script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it." -srcdir="$srcdir" -INSTALL="$INSTALL" -EOF - -cat >>"$CONFIG_STATUS" <<\EOF -# If no file are specified by the user, then we need to provide default -# value. By we need to know if files were specified by the user. -ac_need_defaults=: -while test $# != 0 -do - case $1 in - --*=*) - ac_option=`expr "x$1" : 'x\([^=]*\)='` - ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'` - shift - set dummy "$ac_option" "$ac_optarg" ${1+"$@"} - shift - ;; - -*);; - *) # This is not an option, so the user has probably given explicit - # arguments. - ac_need_defaults=false;; - esac - - case $1 in - # Handling of the options. -EOF -cat >>"$CONFIG_STATUS" <<EOF - -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) - echo "running $SHELL $0 " $ac_configure_args " --no-create --no-recursion" - exec $SHELL $0 $ac_configure_args --no-create --no-recursion ;; -EOF -cat >>"$CONFIG_STATUS" <<\EOF - --version | --vers* | -V ) - echo "$ac_cs_version"; exit 0 ;; - --he | --h) - # Conflict between --help and --header - { { echo "$as_me:26367: error: ambiguous option: $1 -Try \`$0 --help' for more information." >&5 -echo "$as_me: error: ambiguous option: $1 -Try \`$0 --help' for more information." >&2;} - { (exit 1); exit 1; }; };; - --help | --hel | -h ) - echo "$ac_cs_usage"; exit 0 ;; - --debug | --d* | -d ) - debug=: ;; - --file | --fil | --fi | --f ) - shift - CONFIG_FILES="$CONFIG_FILES $1" - ac_need_defaults=false;; - --header | --heade | --head | --hea ) - shift - CONFIG_HEADERS="$CONFIG_HEADERS $1" - ac_need_defaults=false;; - - # This is an error. - -*) { { echo "$as_me:26386: error: unrecognized option: $1 -Try \`$0 --help' for more information." >&5 -echo "$as_me: error: unrecognized option: $1 -Try \`$0 --help' for more information." >&2;} - { (exit 1); exit 1; }; } ;; - - *) ac_config_targets="$ac_config_targets $1" ;; - - esac - shift -done - -exec 5>>config.log -cat >&5 << _ACEOF - -## ----------------------- ## -## Running config.status. ## -## ----------------------- ## - -This file was extended by $as_me 2.52.20210105, executed with - CONFIG_FILES = $CONFIG_FILES - CONFIG_HEADERS = $CONFIG_HEADERS - CONFIG_LINKS = $CONFIG_LINKS - CONFIG_COMMANDS = $CONFIG_COMMANDS - > "$ac_cs_invocation" -on `(hostname || uname -n) 2>/dev/null | sed 1q` - -_ACEOF -EOF - -cat >>"$CONFIG_STATUS" <<EOF -# -# INIT-COMMANDS section. -# - -ABI_VERSION="$ABI_VERSION" -REL_VERSION="$REL_VERSION" -LIB_MODEL="$LIB_MODEL" -LIB_PREFIX="$LIB_PREFIX" -LIB_ROOTNAME="$LIB_ROOTNAME" -DFT_DEP_SUFFIX="$DFT_DEP_SUFFIX" -RM_SHARED_OPTS="$RM_SHARED_OPTS" -cf_cv_do_symlinks="$cf_cv_do_symlinks" -cf_cv_shlib_version="$cf_cv_shlib_version" - -EOF - -cat >>"$CONFIG_STATUS" <<\EOF -for ac_config_target in $ac_config_targets -do - case "$ac_config_target" in - # Handling of arguments. - "dialog-config" ) CONFIG_FILES="$CONFIG_FILES dialog-config" ;; - "makefile" ) CONFIG_FILES="$CONFIG_FILES makefile" ;; - "$EXTRA_OUTPUT" ) CONFIG_FILES="$CONFIG_FILES $EXTRA_OUTPUT" ;; - "$SUB_MAKEFILE" ) CONFIG_FILES="$CONFIG_FILES $SUB_MAKEFILE" ;; - "default-1" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;; - "default" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default" ;; - "dlg_config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS dlg_config.h:config.hin" ;; - *) { { echo "$as_me:26445: error: invalid argument: $ac_config_target" >&5 -echo "$as_me: error: invalid argument: $ac_config_target" >&2;} - { (exit 1); exit 1; }; };; - esac -done - -# If the user did not use the arguments to specify the items to instantiate, -# then the envvar interface is used. Set only those that are not. -# We use the long form for the default assignment because of an extremely -# bizarre bug on SunOS 4.1.3. -if "$ac_need_defaults"; then - test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files - test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers - test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands -fi - -# Create a temporary directory, and hook for its removal unless debugging. -$debug || -{ - trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0 - trap '{ (exit 1); exit 1; }' 1 2 13 15 -} - -# Create a (secure) tmp directory for tmp files. -: ${TMPDIR=/tmp} -{ - tmp=`(umask 077 && mktemp -d -q "$TMPDIR/csXXXXXX") 2>/dev/null` && - test -n "$tmp" && test -d "$tmp" -} || -{ - tmp=$TMPDIR/cs$$-$RANDOM - (umask 077 && mkdir $tmp) -} || -{ - echo "$me: cannot create a temporary directory in $TMPDIR" >&2 - { (exit 1); exit 1; } -} - -EOF - -cat >>"$CONFIG_STATUS" <<EOF - -# -# CONFIG_FILES section. -# - -# No need to generate the scripts if there are no CONFIG_FILES. -# This happens for instance when ./config.status config.h -if test -n "\$CONFIG_FILES"; then - # Protect against being on the right side of a sed subst in config.status. - sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g; - s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF -s,@SHELL@,$SHELL,;t t -s,@exec_prefix@,$exec_prefix,;t t -s,@prefix@,$prefix,;t t -s,@program_transform_name@,$program_transform_name,;t t -s,@bindir@,$bindir,;t t -s,@sbindir@,$sbindir,;t t -s,@libexecdir@,$libexecdir,;t t -s,@datarootdir@,$datarootdir,;t t -s,@datadir@,$datadir,;t t -s,@sysconfdir@,$sysconfdir,;t t -s,@sharedstatedir@,$sharedstatedir,;t t -s,@localstatedir@,$localstatedir,;t t -s,@runstatedir@,$runstatedir,;t t -s,@libdir@,$libdir,;t t -s,@includedir@,$includedir,;t t -s,@oldincludedir@,$oldincludedir,;t t -s,@infodir@,$infodir,;t t -s,@mandir@,$mandir,;t t -s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t -s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t -s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t -s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t -s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t -s,@build_alias@,$build_alias,;t t -s,@host_alias@,$host_alias,;t t -s,@target_alias@,$target_alias,;t t -s,@ECHO_C@,$ECHO_C,;t t -s,@ECHO_N@,$ECHO_N,;t t -s,@ECHO_T@,$ECHO_T,;t t -s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t -s,@DEFS@,$DEFS,;t t -s,@LIBS@,$LIBS,;t t -s,@DESTDIR@,$DESTDIR,;t t -s,@CC@,$CC,;t t -s,@CFLAGS@,$CFLAGS,;t t -s,@LDFLAGS@,$LDFLAGS,;t t -s,@CPPFLAGS@,$CPPFLAGS,;t t -s,@ac_ct_CC@,$ac_ct_CC,;t t -s,@EXEEXT@,$EXEEXT,;t t -s,@OBJEXT@,$OBJEXT,;t t -s,@build@,$build,;t t -s,@build_cpu@,$build_cpu,;t t -s,@build_vendor@,$build_vendor,;t t -s,@build_os@,$build_os,;t t -s,@host@,$host,;t t -s,@host_cpu@,$host_cpu,;t t -s,@host_vendor@,$host_vendor,;t t -s,@host_os@,$host_os,;t t -s,@EXTRA_CPPFLAGS@,$EXTRA_CPPFLAGS,;t t -s,@CPP@,$CPP,;t t -s,@GREP@,$GREP,;t t -s,@EGREP@,$EGREP,;t t -s,@SET_MAKE@,$SET_MAKE,;t t -s,@RANLIB@,$RANLIB,;t t -s,@ac_ct_RANLIB@,$ac_ct_RANLIB,;t t -s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t -s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t -s,@INSTALL_DATA@,$INSTALL_DATA,;t t -s,@LN_S@,$LN_S,;t t -s,@LINT@,$LINT,;t t -s,@LINT_OPTS@,$LINT_OPTS,;t t -s,@GROFF_PATH@,$GROFF_PATH,;t t -s,@NROFF_PATH@,$NROFF_PATH,;t t -s,@TBL_PATH@,$TBL_PATH,;t t -s,@GROFF_NOTE@,$GROFF_NOTE,;t t -s,@NROFF_NOTE@,$NROFF_NOTE,;t t -s,@AR@,$AR,;t t -s,@ac_ct_AR@,$ac_ct_AR,;t t -s,@ARFLAGS@,$ARFLAGS,;t t -s,@FGREP@,$FGREP,;t t -s,@cf_cv_makeflags@,$cf_cv_makeflags,;t t -s,@CTAGS@,$CTAGS,;t t -s,@ETAGS@,$ETAGS,;t t -s,@MAKE_LOWER_TAGS@,$MAKE_LOWER_TAGS,;t t -s,@MAKE_UPPER_TAGS@,$MAKE_UPPER_TAGS,;t t -s,@ECHO_LT@,$ECHO_LT,;t t -s,@ECHO_LD@,$ECHO_LD,;t t -s,@RULE_CC@,$RULE_CC,;t t -s,@SHOW_CC@,$SHOW_CC,;t t -s,@ECHO_CC@,$ECHO_CC,;t t -s,@PROG_EXT@,$PROG_EXT,;t t -s,@LIB_PREFIX@,$LIB_PREFIX,;t t -s,@X_CFLAGS@,$X_CFLAGS,;t t -s,@X_PRE_LIBS@,$X_PRE_LIBS,;t t -s,@X_LIBS@,$X_LIBS,;t t -s,@X_EXTRA_LIBS@,$X_EXTRA_LIBS,;t t -s,@EXTRA_CFLAGS@,$EXTRA_CFLAGS,;t t -s,@PKG_CONFIG@,$PKG_CONFIG,;t t -s,@ac_pt_PKG_CONFIG@,$ac_pt_PKG_CONFIG,;t t -s,@VERSION@,$VERSION,;t t -s,@VERSION_MAJOR@,$VERSION_MAJOR,;t t -s,@VERSION_MINOR@,$VERSION_MINOR,;t t -s,@VERSION_PATCH@,$VERSION_PATCH,;t t -s,@PACKAGE@,$PACKAGE,;t t -s,@CFG_ROOTNAME@,$CFG_ROOTNAME,;t t -s,@HDR_ROOTNAME@,$HDR_ROOTNAME,;t t -s,@LIB_ROOTNAME@,$LIB_ROOTNAME,;t t -s,@SUB_INC@,$SUB_INC,;t t -s,@cf_man2html@,$cf_man2html,;t t -s,@MAN2HTML_NOTE@,$MAN2HTML_NOTE,;t t -s,@MAN2HTML_PATH@,$MAN2HTML_PATH,;t t -s,@MAN2HTML_TEMP@,$MAN2HTML_TEMP,;t t -s,@CONFIG_H@,$CONFIG_H,;t t -s,@ALLOCA@,$ALLOCA,;t t -s,@GLIBC21@,$GLIBC21,;t t -s,@LIBICONV@,$LIBICONV,;t t -s,@USE_NLS@,$USE_NLS,;t t -s,@MSGFMT@,$MSGFMT,;t t -s,@GMSGFMT@,$GMSGFMT,;t t -s,@XGETTEXT@,$XGETTEXT,;t t -s,@INTLBISON@,$INTLBISON,;t t -s,@BUILD_INCLUDED_LIBINTL@,$BUILD_INCLUDED_LIBINTL,;t t -s,@USE_INCLUDED_LIBINTL@,$USE_INCLUDED_LIBINTL,;t t -s,@CATALOGS@,$CATALOGS,;t t -s,@CATOBJEXT@,$CATOBJEXT,;t t -s,@GMOFILES@,$GMOFILES,;t t -s,@INTLLIBS@,$INTLLIBS,;t t -s,@INTLOBJS@,$INTLOBJS,;t t -s,@POFILES@,$POFILES,;t t -s,@POSUB@,$POSUB,;t t -s,@DATADIRNAME@,$DATADIRNAME,;t t -s,@INSTOBJEXT@,$INSTOBJEXT,;t t -s,@GENCAT@,$GENCAT,;t t -s,@INTL_LIBTOOL_SUFFIX_PREFIX@,$INTL_LIBTOOL_SUFFIX_PREFIX,;t t -s,@NLS_TEXTDOMAIN@,$NLS_TEXTDOMAIN,;t t -s,@MSG_DIR_MAKE@,$MSG_DIR_MAKE,;t t -s,@SUB_MAKEFILE@,$SUB_MAKEFILE,;t t -s,@INTLDIR_MAKE@,$INTLDIR_MAKE,;t t -s,@GT_YES@,$GT_YES,;t t -s,@GT_NO@,$GT_NO,;t t -s,@LINK_PREFIX@,$LINK_PREFIX,;t t -s,@ABI_VERSION@,$ABI_VERSION,;t t -s,@REL_VERSION@,$REL_VERSION,;t t -s,@shlibdir@,$shlibdir,;t t -s,@LIBTOOL_VERSION@,$LIBTOOL_VERSION,;t t -s,@LIBTOOL@,$LIBTOOL,;t t -s,@ac_ct_LIBTOOL@,$ac_ct_LIBTOOL,;t t -s,@LT_UNDEF@,$LT_UNDEF,;t t -s,@LIBTOOL_CXX@,$LIBTOOL_CXX,;t t -s,@LIBTOOL_OPTS@,$LIBTOOL_OPTS,;t t -s,@LIB_CREATE@,$LIB_CREATE,;t t -s,@LIB_OBJECT@,$LIB_OBJECT,;t t -s,@LIB_SUFFIX@,$LIB_SUFFIX,;t t -s,@LIB_PREP@,$LIB_PREP,;t t -s,@LIB_CLEAN@,$LIB_CLEAN,;t t -s,@LIB_COMPILE@,$LIB_COMPILE,;t t -s,@LIB_LINK@,$LIB_LINK,;t t -s,@LIB_INSTALL@,$LIB_INSTALL,;t t -s,@LIB_UNINSTALL@,$LIB_UNINSTALL,;t t -s,@EXPORT_SYMS@,$EXPORT_SYMS,;t t -s,@MAKE_DLLS@,$MAKE_DLLS,;t t -s,@CC_SHARED_OPTS@,$CC_SHARED_OPTS,;t t -s,@LD_RPATH_OPT@,$LD_RPATH_OPT,;t t -s,@LD_SHARED_OPTS@,$LD_SHARED_OPTS,;t t -s,@MK_SHARED_LIB@,$MK_SHARED_LIB,;t t -s,@RM_SHARED_OPTS@,$RM_SHARED_OPTS,;t t -s,@LINK_PROGS@,$LINK_PROGS,;t t -s,@LINK_TESTS@,$LINK_TESTS,;t t -s,@EXTRA_LDFLAGS@,$EXTRA_LDFLAGS,;t t -s,@LOCAL_LDFLAGS@,$LOCAL_LDFLAGS,;t t -s,@LOCAL_LDFLAGS2@,$LOCAL_LDFLAGS2,;t t -s,@INSTALL_LIB@,$INSTALL_LIB,;t t -s,@RPATH_LIST@,$RPATH_LIST,;t t -s,@RESULTING_SYMS@,$RESULTING_SYMS,;t t -s,@VERSIONED_SYMS@,$VERSIONED_SYMS,;t t -s,@WILDCARD_SYMS@,$WILDCARD_SYMS,;t t -s,@DFT_LWR_MODEL@,$DFT_LWR_MODEL,;t t -s,@DFT_LIB_SUFFIX@,$DFT_LIB_SUFFIX,;t t -s,@DFT_DEP_SUFFIX@,$DFT_DEP_SUFFIX,;t t -s,@LIB_MODEL@,$LIB_MODEL,;t t -s,@LIBTOOL_MAKE@,$LIBTOOL_MAKE,;t t -s,@MAKE_NORMAL@,$MAKE_NORMAL,;t t -s,@MAKE_SHARED@,$MAKE_SHARED,;t t -s,@MAKE_STATIC@,$MAKE_STATIC,;t t -s,@NCURSES_CONFIG@,$NCURSES_CONFIG,;t t -s,@ac_ct_NCURSES_CONFIG@,$ac_ct_NCURSES_CONFIG,;t t -s,@XCURSES_CONFIG@,$XCURSES_CONFIG,;t t -s,@ac_ct_XCURSES_CONFIG@,$ac_ct_XCURSES_CONFIG,;t t -s,@EXTRAOBJS@,$EXTRAOBJS,;t t -s,@PACKAGE_PREFIX@,$PACKAGE_PREFIX,;t t -s,@PACKAGE_CONFIG@,$PACKAGE_CONFIG,;t t -s,@cf_ldd_prog@,$cf_ldd_prog,;t t -s,@SET_SHLIB_VARS@,$SET_SHLIB_VARS,;t t -s,@LIB_TARGET@,$LIB_TARGET,;t t -s,@LD_SEARCHPATH@,$LD_SEARCHPATH,;t t -CEOF - -EOF - - cat >>"$CONFIG_STATUS" <<\EOF - # Split the substitutions into bite-sized pieces for seds with - # small command number limits, like on Digital OSF/1 and HP-UX. - ac_max_sed_lines=48 - ac_sed_frag=1 # Number of current file. - ac_beg=1 # First line for current file. - ac_end=$ac_max_sed_lines # Line after last line for current file. - ac_more_lines=: - ac_sed_cmds= - while "$ac_more_lines"; do - if test "$ac_beg" -gt 1; then - sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag - else - sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag - fi - if test ! -s $tmp/subs.frag; then - ac_more_lines=false - else - # The purpose of the label and of the branching condition is to - # speed up the sed processing (if there are no `@' at all, there - # is no need to browse any of the substitutions). - # These are the two extra sed commands mentioned above. - (echo ':t - /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed - # It is possible to make a multiline substitution using escaped newlines. - # Ensure that we do not split the substitution between script fragments. - ac_BEG=$ac_end - ac_END=`expr "$ac_end" + "$ac_max_sed_lines"` - sed "1,${ac_BEG}d; ${ac_END}p; q" $tmp/subs.sed >$tmp/subs.next - if test -s $tmp/subs.next; then - grep '^s,@[^@,][^@,]*@,.*\\$' $tmp/subs.next >$tmp/subs.edit - if test ! -s $tmp/subs.edit; then - grep "^s,@[^@,][^@,]*@,.*,;t t$" $tmp/subs.next >$tmp/subs.edit - if test ! -s $tmp/subs.edit; then - if test "$ac_beg" -gt 1; then - ac_end=`expr "$ac_end" - 1` - continue - fi - fi - fi - fi - - if test -z "$ac_sed_cmds"; then - ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed" - else - ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed" - fi - ac_sed_frag=`expr "$ac_sed_frag" + 1` - ac_beg=$ac_end - ac_end=`expr "$ac_end" + "$ac_max_sed_lines"` - fi - done - if test -z "$ac_sed_cmds"; then - ac_sed_cmds=cat - fi -fi # test -n "$CONFIG_FILES" - -EOF -cat >>"$CONFIG_STATUS" <<\EOF -for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue - # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". - case "$ac_file" in - - | *:- | *:-:* ) # input from stdin - cat >$tmp/stdin - ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` - ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; - *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` - ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; - * ) ac_file_in=$ac_file.in ;; - esac - - # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories. - ac_dir=`$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$ac_file" : 'X\(//\)[^/]' \| \ - X"$ac_file" : 'X\(//\)$' \| \ - X"$ac_file" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || -echo X"$ac_file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } - /^X\(\/\/\)[^/].*/{ s//\1/; q; } - /^X\(\/\/\)$/{ s//\1/; q; } - /^X\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` - if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then - { case "$ac_dir" in - [\\/]* | ?:[\\/]* ) as_incr_dir=;; - *) as_incr_dir=.;; -esac -as_dummy="$ac_dir" -for as_mkdir_dir in `IFS='/\\'; set X $as_dummy; shift; echo "$@"`; do - case $as_mkdir_dir in - # Skip DOS drivespec - ?:) as_incr_dir=$as_mkdir_dir ;; - *) - as_incr_dir=$as_incr_dir/$as_mkdir_dir - test -d "$as_incr_dir" || mkdir "$as_incr_dir" - ;; - esac -done; } - - ac_dir_suffix="/`echo $ac_dir|sed 's,^\./,,'`" - # A "../" for each directory in $ac_dir_suffix. - ac_dots=`echo "$ac_dir_suffix" | sed 's,/[^/]*,../,g'` - else - ac_dir_suffix= ac_dots= - fi - - case "$srcdir" in - .) ac_srcdir=. - if test -z "$ac_dots"; then - ac_top_srcdir=. - else - ac_top_srcdir=`echo "$ac_dots" | sed 's,/$,,'` - fi ;; - [\\/]* | ?:[\\/]* ) - ac_srcdir="$srcdir$ac_dir_suffix"; - ac_top_srcdir="$srcdir" ;; - *) # Relative path. - ac_srcdir="$ac_dots$srcdir$ac_dir_suffix" - ac_top_srcdir="$ac_dots$srcdir" ;; - esac - - case $INSTALL in - [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; - *) ac_INSTALL=$ac_dots$INSTALL ;; - esac - - if test x"$ac_file" != x-; then - { echo "$as_me:26814: creating $ac_file" >&5 -echo "$as_me: creating $ac_file" >&6;} - rm -f "$ac_file" - fi - # Let's still pretend it is `configure' which instantiates (i.e., don't - # use $as_me), people would be surprised to read: - # /* config.h. Generated automatically by config.status. */ - configure_input="Generated automatically from `echo $ac_file_in | - sed 's,.*/,,'` by configure." - - # First look for the input files in the build tree, otherwise in the - # src tree. - ac_file_inputs=`IFS=: - for f in $ac_file_in; do - case $f in - -) echo $tmp/stdin ;; - [\\/$]*) - # Absolute (can't be DOS-style, as IFS=:) - test -f "$f" || { { echo "$as_me:26832: error: cannot find input file: $f" >&5 -echo "$as_me: error: cannot find input file: $f" >&2;} - { (exit 1); exit 1; }; } - echo $f;; - *) # Relative - if test -f "$f"; then - # Build tree - echo $f - elif test -f "$srcdir/$f"; then - # Source tree - echo "$srcdir/$f" - else - # /dev/null tree - { { echo "$as_me:26845: error: cannot find input file: $f" >&5 -echo "$as_me: error: cannot find input file: $f" >&2;} - { (exit 1); exit 1; }; } - fi;; - esac - done` || { (exit 1); exit 1; } -EOF -cat >>"$CONFIG_STATUS" <<\EOF - ac_warn_datarootdir=no - if test x"$ac_file" != x-; then - for ac_item in $ac_file_inputs - do - ac_seen=`grep '@\(datadir\|mandir\|infodir\)@' "$ac_item"` - if test -n "$ac_seen"; then - ac_used=`grep '@datarootdir@' "$ac_item"` - if test -z "$ac_used"; then - { echo "$as_me:26861: WARNING: datarootdir was used implicitly but not set: -$ac_seen" >&5 -echo "$as_me: WARNING: datarootdir was used implicitly but not set: -$ac_seen" >&2;} - ac_warn_datarootdir=yes - fi - fi - ac_seen=`grep '${datarootdir}' "$ac_item"` - if test -n "$ac_seen"; then - { echo "$as_me:26870: WARNING: datarootdir was used explicitly but not set: -$ac_seen" >&5 -echo "$as_me: WARNING: datarootdir was used explicitly but not set: -$ac_seen" >&2;} - ac_warn_datarootdir=yes - fi - done - fi - -if test "x$ac_warn_datarootdir" = xyes; then - ac_sed_cmds="$ac_sed_cmds | sed -e 's,@datarootdir@,\${prefix}/share,g' -e 's,\${datarootdir},\${prefix}/share,g'" -fi - -EOF -cat >>"$CONFIG_STATUS" <<EOF - sed "$ac_vpsub -$extrasub -EOF -cat >>"$CONFIG_STATUS" <<\EOF -:t -/@[a-zA-Z_][a-zA-Z_0-9]*@/!b -s,@configure_input@,$configure_input,;t t -s,@srcdir@,$ac_srcdir,;t t -s,@top_srcdir@,$ac_top_srcdir,;t t -s,@INSTALL@,$ac_INSTALL,;t t -" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out - rm -f $tmp/stdin - if test x"$ac_file" != x-; then - cp "$tmp/out" "$ac_file" - - for ac_name in prefix exec_prefix datarootdir - do - ac_seen=`${FGREP-fgrep} -n '${'$ac_name'[:=].*}' "$ac_file"` - if test -n "$ac_seen"; then - ac_init=`${EGREP-egrep} '[ ]*'$ac_name'[ ]*=' "$ac_file"` - if test -z "$ac_init"; then - ac_seen=`echo "$ac_seen" |sed -e 's,^,'$ac_file':,'` - { echo "$as_me:26907: WARNING: Variable $ac_name is used but was not set: -$ac_seen" >&5 -echo "$as_me: WARNING: Variable $ac_name is used but was not set: -$ac_seen" >&2;} - fi - fi - done - ${EGREP-egrep} -n '@[a-z_][a-z_0-9]+@' "$ac_file" >$tmp/out - ${EGREP-egrep} -n '@[A-Z_][A-Z_0-9]+@' "$ac_file" >>$tmp/out - if test -s $tmp/out; then - ac_seen=`sed -e 's,^,'$ac_file':,' < $tmp/out` - { echo "$as_me:26918: WARNING: Some variables may not be substituted: -$ac_seen" >&5 -echo "$as_me: WARNING: Some variables may not be substituted: -$ac_seen" >&2;} - fi - else - cat $tmp/out - fi - rm -f $tmp/out - -done -EOF -cat >>"$CONFIG_STATUS" <<\EOF - -# -# CONFIG_HEADER section. -# - -# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where -# NAME is the cpp macro being defined and VALUE is the value it is being given. -# -# ac_d sets the value in "#define NAME VALUE" lines. -ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)' -ac_dB='[ ].*$,\1#\2' -ac_dC=' ' -ac_dD=',;t' -# ac_i turns "#undef NAME" with trailing blanks into "#define NAME VALUE". -ac_iA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' -ac_iB='\([ ]\),\1#\2define\3' -ac_iC=' ' -ac_iD='\4,;t' -# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE". -ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' -ac_uB='$,\1#\2define\3' -ac_uC=' ' -ac_uD=',;t' - -for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue - # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". - case "$ac_file" in - - | *:- | *:-:* ) # input from stdin - cat >$tmp/stdin - ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` - ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; - *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` - ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; - * ) ac_file_in=$ac_file.in ;; - esac - - test x"$ac_file" != x- && { echo "$as_me:26967: creating $ac_file" >&5 -echo "$as_me: creating $ac_file" >&6;} - - # First look for the input files in the build tree, otherwise in the - # src tree. - ac_file_inputs=`IFS=: - for f in $ac_file_in; do - case $f in - -) echo $tmp/stdin ;; - [\\/$]*) - # Absolute (can't be DOS-style, as IFS=:) - test -f "$f" || { { echo "$as_me:26978: error: cannot find input file: $f" >&5 -echo "$as_me: error: cannot find input file: $f" >&2;} - { (exit 1); exit 1; }; } - echo $f;; - *) # Relative - if test -f "$f"; then - # Build tree - echo $f - elif test -f "$srcdir/$f"; then - # Source tree - echo "$srcdir/$f" - else - # /dev/null tree - { { echo "$as_me:26991: error: cannot find input file: $f" >&5 -echo "$as_me: error: cannot find input file: $f" >&2;} - { (exit 1); exit 1; }; } - fi;; - esac - done` || { (exit 1); exit 1; } - # Remove the trailing spaces. - sed 's/[ ]*$//' $ac_file_inputs >$tmp/in - -EOF - -# Transform confdefs.h into a list of #define's. We won't use it as a sed -# script, but as data to insert where we see @DEFS@. We expect AC_SAVE_DEFS to -# be either 'cat' or 'sort'. -sort -u confdefs.h | uniq >conftest.vals - -# Break up conftest.vals because some shells have a limit on -# the size of here documents, and old seds have small limits too. - -rm -f conftest.tail -echo ' rm -f conftest.frag' >> "$CONFIG_STATUS" -while grep . conftest.vals >/dev/null -do - # Write chunks of a limited-size here document to conftest.frag. - echo ' cat >> conftest.frag <<CEOF' >> "$CONFIG_STATUS" - sed "${ac_max_here_lines}q" conftest.vals | sed -e 's/#ifdef.*/#if 0/' >> "$CONFIG_STATUS" - echo 'CEOF' >> "$CONFIG_STATUS" - sed "1,${ac_max_here_lines}d" conftest.vals > conftest.tail - rm -f conftest.vals - mv conftest.tail conftest.vals -done -rm -f conftest.vals - -# Run sed to substitute the contents of conftest.frag into $tmp/in at the -# marker @DEFS@. -echo ' cat >> conftest.edit <<CEOF -/@DEFS@/r conftest.frag -/@DEFS@/d -CEOF -sed -f conftest.edit $tmp/in > $tmp/out -rm -f $tmp/in -mv $tmp/out $tmp/in -rm -f conftest.edit conftest.frag -' >> "$CONFIG_STATUS" - -cat >>"$CONFIG_STATUS" <<\EOF - # Let's still pretend it is `configure' which instantiates (i.e., don't - # use $as_me), people would be surprised to read: - # /* config.h. Generated automatically by config.status. */ - if test x"$ac_file" = x-; then - echo "/* Generated automatically by configure. */" >$tmp/config.h - else - echo "/* $ac_file. Generated automatically by configure. */" >$tmp/config.h - fi - cat $tmp/in >>$tmp/config.h - rm -f $tmp/in - if test x"$ac_file" != x-; then - if cmp -s "$ac_file" "$tmp/config.h" 2>/dev/null; then - { echo "$as_me:27049: $ac_file is unchanged" >&5 -echo "$as_me: $ac_file is unchanged" >&6;} - else - ac_dir=`$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$ac_file" : 'X\(//\)[^/]' \| \ - X"$ac_file" : 'X\(//\)$' \| \ - X"$ac_file" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || -echo X"$ac_file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } - /^X\(\/\/\)[^/].*/{ s//\1/; q; } - /^X\(\/\/\)$/{ s//\1/; q; } - /^X\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` - if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then - { case "$ac_dir" in - [\\/]* | ?:[\\/]* ) as_incr_dir=;; - *) as_incr_dir=.;; -esac -as_dummy="$ac_dir" -for as_mkdir_dir in `IFS='/\\'; set X $as_dummy; shift; echo "$@"`; do - case $as_mkdir_dir in - # Skip DOS drivespec - ?:) as_incr_dir=$as_mkdir_dir ;; - *) - as_incr_dir=$as_incr_dir/$as_mkdir_dir - test -d "$as_incr_dir" || mkdir "$as_incr_dir" - ;; - esac -done; } - - fi - rm -f "$ac_file" - mv "$tmp/config.h" "$ac_file" - fi - else - cat $tmp/config.h - rm -f $tmp/config.h - fi -done -EOF -cat >>"$CONFIG_STATUS" <<\EOF -# -# CONFIG_COMMANDS section. -# -for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue - ac_dest=`echo "$ac_file" | sed 's,:.*,,'` - ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'` - - case "$ac_dest" in - default-1 ) for ac_file in $CONFIG_FILES; do - - # Support "outfile[:infile[:infile...]]" - case "$ac_file" in - (*:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; - esac - - # PO directories have a Makefile.in generated from Makefile.inn. - case "$ac_file" in - (*/[Mm]akefile.in) - # Adjust a relative srcdir. - ac_dir="`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`" - ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" - ac_dots="`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`" - ac_base="`basename $ac_file .in`" - # In autoconf-2.13 it is called $ac_given_srcdir. - # In autoconf-2.50 it is called $srcdir. - test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" - - case "$ac_given_srcdir" in - (.) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; - (/*) top_srcdir="$ac_given_srcdir" ;; - (*) top_srcdir="$ac_dots$ac_given_srcdir" ;; - esac - - if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then - rm -f "$ac_dir/POTFILES" - test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" - sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," -e "\$s/\(.*\) \\\\/\1/" < "$ac_given_srcdir/$ac_dir/POTFILES.in" > "$ac_dir/POTFILES" - test -n "$as_me" && echo "$as_me: creating $ac_dir/$ac_base" || echo "creating $ac_dir/$ac_base" - sed -e "/POTFILES =/r $ac_dir/POTFILES" "$ac_dir/$ac_base.in" > "$ac_dir/$ac_base" - fi - ;; - esac - done ;; - default ) - -cf_libname=\${LIB_BASENAME} -cf_liblink=$cf_libname -cf_libroot=$cf_libname - -if test "x$cf_cv_do_symlinks" = xyes -then - case "x$cf_cv_shlib_version" in - (xrel) - cf_liblink="\${LIB_ABI_NAME}" - cf_libname="\${LIB_REL_NAME}" - ;; - (xabi) - cf_liblink="\${LIB_REL_NAME}" - cf_libname="\${LIB_ABI_NAME}" - ;; - esac -fi -LIB_TARGET=$cf_libname - -case x$LIB_MODEL in -(xlibtool|xshared) - cf_libdeps="\${LIBS} \${LDFLAGS}" - ;; -(x*) - cf_libdeps= - ;; -esac - -cat >>makefile <<CF_EOF - -# generated by CF__ADD_SHLIB_RULES -# libmodel: $LIB_MODEL -# symlinks: $cf_cv_do_symlinks -# shlibver: $cf_cv_shlib_version - -CF_EOF - -cat >>makefile <<CF_EOF -$cf_libname :: \\ -CF_EOF - -cat >>makefile <<CF_EOF - \${LIB_OBJECT} - @echo linking \$@ - \$(LIBTOOL_CREATE) \${LIB_OBJECT} $cf_libdeps -CF_EOF - -if test "x$cf_cv_do_symlinks" = xyes -then -cat >>makefile <<CF_EOF - \$(LN_S) $cf_libname $cf_liblink - \$(LN_S) $cf_liblink $cf_libroot -CF_EOF -fi - -cat >>makefile <<CF_EOF - -install \\ -install.libs :: \$(DESTDIR)\$(libdir)/$cf_libname - -\$(DESTDIR)\$(libdir)/$cf_libname :: \\ - \$(DESTDIR)\$(libdir) \\ - \${LIB_OBJECT} - @echo linking \$@ - \$(LIBTOOL_CREATE) \${LIB_OBJECT} $cf_libdeps -CF_EOF - -if test "x$cf_cv_do_symlinks" = xyes -then -cat >>makefile <<CF_EOF - cd \$(DESTDIR)\$(libdir) && (\$(LN_S) $cf_libname $cf_liblink; \$(LN_S) $cf_liblink $cf_libroot; ) -CF_EOF -fi - -if test x$LIB_MODEL = xshared -then -cat >>makefile <<CF_EOF - - \$(SHELL) -c "if test -z "\$(DESTDIR)" ; then /sbin/ldconfig; fi" -CF_EOF -fi - -cat >>makefile <<CF_EOF - -uninstall \\ -uninstall.libs :: - @echo uninstalling \$(DESTDIR)\$(libdir)/$cf_libname -CF_EOF - -if test "x$cf_cv_do_symlinks" = xyes -then -cat >>makefile <<CF_EOF - -rm -f \$(DESTDIR)\$(libdir)/$cf_libroot - -rm -f \$(DESTDIR)\$(libdir)/$cf_liblink -CF_EOF -fi - -cat >>makefile <<CF_EOF - -rm -f \$(DESTDIR)\$(libdir)/$cf_libname - -clean \\ -clean.libs :: -CF_EOF - -if test "x$cf_cv_do_symlinks" = xyes -then -cat >>makefile <<CF_EOF - -rm -f $cf_libroot - -rm -f $cf_liblink -CF_EOF -fi - -cat >>makefile <<CF_EOF - -rm -f $cf_libname - -mostlyclean:: - -rm -f \${LIB_OBJECT} -# end generated by CF__ADD_SHLIB_RULES -CF_EOF - - ;; - esac -done -EOF - -cat >>"$CONFIG_STATUS" <<\EOF - -{ (exit 0); exit 0; } -EOF -chmod +x "$CONFIG_STATUS" -ac_clean_files=$ac_clean_files_save - -# configure is writing to config.log, and then calls config.status. -# config.status does its own redirection, appending to config.log. -# Unfortunately, on DOS this fails, as config.log is still kept open -# by configure, so config.status won't be able to write to it; its -# output is simply discarded. So we exec the FD to /dev/null, -# effectively closing config.log, so it can be properly (re)opened and -# appended to by config.status. When coming back to configure, we -# need to make the FD available again. -if test "$no_create" != yes; then - ac_cs_success=: - exec 5>/dev/null - $SHELL "$CONFIG_STATUS" || ac_cs_success=false - exec 5>>config.log - # Use ||, not &&, to avoid exiting from the if with $? = 1, which - # would make configure fail if this is the last instruction. - "$ac_cs_success" || { (exit 1); exit 1; } -fi - diff --git a/contrib/dialog/configure.in b/contrib/dialog/configure.in deleted file mode 100644 index f81a47e8e376..000000000000 --- a/contrib/dialog/configure.in +++ /dev/null @@ -1,285 +0,0 @@ -dnl $Id: configure.in,v 1.101 2020/11/26 16:21:27 tom Exp $ -dnl Process this file with autoconf to produce a configure script. -dnl --------------------------------------------------------------------------- -dnl Copyright 1999-2019,2020 -- Thomas E. Dickey -dnl -dnl Permission is hereby granted, free of charge, to any person obtaining a -dnl copy of this software and associated documentation files (the -dnl "Software"), to deal in the Software without restriction, including -dnl without limitation the rights to use, copy, modify, merge, publish, -dnl distribute, distribute with modifications, sublicense, and/or sell -dnl copies of the Software, and to permit persons to whom the Software is -dnl furnished to do so, subject to the following conditions: -dnl -dnl The above copyright notice and this permission notice shall be included -dnl in all copies or portions of the Software. -dnl -dnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -dnl OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -dnl MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -dnl IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -dnl DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -dnl OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -dnl THE USE OR OTHER DEALINGS IN THE SOFTWARE. -dnl -dnl Except as contained in this notice, the name(s) of the above copyright -dnl holders shall not be used in advertising or otherwise to promote the -dnl sale, use or other dealings in this Software without prior written -dnl authorization. -dnl --------------------------------------------------------------------------- -AC_PREREQ(2.52.20200802) -AC_INIT(dialog.h) -AC_CONFIG_HEADER(dlg_config.h:config.hin) - -AC_ARG_PROGRAM - -DESTDIR= -AC_SUBST(DESTDIR) - -dnl -dnl Checks for programs. -dnl -CF_PROG_CC -AC_PROG_CPP -AC_PROG_MAKE_SET -AC_PROG_RANLIB -AC_PROG_INSTALL -CF_PROG_LN_S -CF_PROG_LINT - -CF_PROG_GROFF -test -z "$GROFF_NOTE" && NROFF_NOTE= - -dnl needed for CF_WITH_LIBTOOL -CF_AR_FLAGS - -CF_MAKEFLAGS -CF_MAKE_TAGS -CF_DISABLE_ECHO -CF_PROG_EXT -CF_PATHSEP -CF_LIB_PREFIX -CF_XOPEN_SOURCE -CF_LARGEFILE - -CF_WITH_INSTALL_PREFIX -CF_WITH_SCREEN_PDCURSES -CF_ENABLE_WARNINGS(,yes) -CF_PKG_CONFIG - -dnl -dnl Allow dialog program and library to be renamed. -AC_MSG_CHECKING(for this package's name) -AC_ARG_WITH(package, - [ --with-package=XXX rename dialog to XXX, library to libXXX.a, etc], - [PACKAGE=$withval], - [PACKAGE=dialog]) -AC_MSG_RESULT($PACKAGE) -CF_VERSION_INFO(dialog,$PACKAGE) - -CFG_ROOTNAME=$PACKAGE -HDR_ROOTNAME=$PACKAGE -LIB_ROOTNAME=$PACKAGE - -AC_SUBST(CFG_ROOTNAME) -AC_SUBST(HDR_ROOTNAME) -AC_SUBST(LIB_ROOTNAME) - -dnl -dnl If package is renamed, it is useful to have the dlg_XXX headers in a -dnl subdirectory (using the package name) so that multiple versions of the -dnl headers can coexist. -AC_MSG_CHECKING(if we should install dlg_XXX headers to subdirectory) -AC_ARG_ENABLE(header-subdir, - [ --enable-header-subdir install dlg_XXX headers to subdirectory], - [SUB_INC=$enableval], - [SUB_INC=no]) -AC_MSG_RESULT($SUB_INC) -AC_SUBST(SUB_INC) - -CF_WITH_MAN2HTML - -dnl -dnl Checks for libraries. -dnl -EXTRAOBJS="" -CF_BUNDLED_INTL(makefile,enable) -CF_MATH_LIB(,sqrt(x)) - -CF_WITH_NO_LEAKS - -CF_ARG_MSG_ENABLE([if you want --trace option], - trace, - [ --disable-trace do not support --trace option], - [EXTRAOBJS="$EXTRAOBJS trace\$o" - AC_DEFINE(HAVE_DLG_TRACE,1,[Define to 1 to support --trace option])],,yes) - -CF_ENABLE_RPATH -CF_LD_RPATH_OPT -CF_WITH_SHARED_OR_LIBTOOL(DIALOG,${VERSION_MAJOR}.${VERSION_MINOR},`echo "$VERSION" |sed -e 's/:/./g'`) - -CF_WITH_CURSES_DIR - -CF_WITH_NCURSES_ETC -CF_WIDEC_CURSES - -cf_all_widgets=yes -CF_ARG_MSG_ENABLE([if you want extra dialogs], - extras, - [ --disable-extras do not include extra dialogs], - [cf_all_widgets=yes],[cf_all_widgets=no],yes) - -cf_use_dialogrc=yes -CF_ARG_MSG_ENABLE([if you want config-file support], - rc-file, - [ --disable-rc-file do not include config-file support], - [EXTRAOBJS="$EXTRAOBJS rc\$o" - AC_DEFINE(HAVE_RC_FILE,1,[Define to 1 to include config-file support])],cf_use_dialogrc=no,$cf_all_widgets) - -cf_use_dialogrc2=yes -if test "$cf_use_dialogrc" = yes; then -CF_ARG_MSG_ENABLE([if you want extra attributes in config-file], - rc-file2, - [ --disable-rc-file2 do not use extra attributes in config-file], - [AC_DEFINE(HAVE_RC_FILE2,1,[Define to 1 to use extra attributes in config-file])],cf_use_dialogrc2=no,$cf_all_widgets) -fi - -CF_ARG_MSG_ENABLE([if you want Xdialog-style dialogs], - Xdialog, - [ --disable-Xdialog do not include Xdialog-style dialogs (1.1)], - [EXTRAOBJS="$EXTRAOBJS calendar\$o fselect\$o timebox\$o" - AC_DEFINE(HAVE_XDIALOG,1,[Define to 1 to include Xdialog-style dialogs])],,$cf_all_widgets) - -CF_ARG_MSG_ENABLE([if you want extra Xdialog-style dialogs (1.2)], - Xdialog2, - [ --disable-Xdialog2 do not include extra Xdialog-style dialogs (1.2)], - [EXTRAOBJS="$EXTRAOBJS buildlist\$o rangebox\$o treeview\$o" - AC_DEFINE(HAVE_XDIALOG2,1,[Define to 1 to include extra Xdialog-style dialogs])],,$cf_all_widgets) - -CF_ARG_MSG_ENABLE([if you want compatibility with whiptail options], - whiptail, - [ --disable-whiptail do not map extra whiptail options], - [AC_DEFINE(HAVE_WHIPTAIL,1,[Define to 1 to include extra whiptail options])],,$cf_all_widgets) - -CF_ARG_MSG_ENABLE([if you want the form dialog], - form, - [ --disable-form do not include the form dialog], - [EXTRAOBJS="$EXTRAOBJS formbox\$o" - AC_DEFINE(HAVE_DLG_FORMBOX,1,[Define to 1 to include the form dialog])],,$cf_all_widgets) - -CF_ARG_MSG_ENABLE([if you want the gauge dialog], - gauge, - [ --disable-gauge do not include the gauge dialogs], - [EXTRAOBJS="$EXTRAOBJS guage\$o pause\$o prgbox\$o progressbox\$o" - AC_DEFINE(HAVE_DLG_GAUGE,1,[Define to 1 to include the gauge dialogs])],,$cf_all_widgets) - -CF_ARG_MSG_ENABLE([if you want the tailbox dialog], - tailbox, - [ --disable-tailbox do not include the tailbox dialog], - [EXTRAOBJS="$EXTRAOBJS tailbox\$o" - AC_DEFINE(HAVE_DLG_TAILBOX,1,[Define to 1 to include the tailbox dialog])],,$cf_all_widgets) - -CF_ARG_MSG_ENABLE([if you want the mixedform dialog], - mixedform, - [ --disable-mixedform do not include the mixedform dialog], - [EXTRAOBJS="$EXTRAOBJS mixedform\$o" - AC_DEFINE(HAVE_DLG_MIXEDFORM,1,[Define to 1 to include the mixedform dialog])],,${enable_form:=$cf_all_widgets}) - -CF_ARG_MSG_ENABLE([if you want the mixedgauge dialog], - mixedgauge, - [ --disable-mixedgauge do not include the mixedgauge dialog], - [EXTRAOBJS="$EXTRAOBJS mixedgauge\$o" - AC_DEFINE(HAVE_MIXEDGAUGE,1,[Define to 1 to include the mixedgauge dialog])],,$cf_all_widgets) - -CF_ARG_MSG_ENABLE([if you want the wide-curses features], - widec, - [ --enable-widec enable wide-curses features], - [AC_DEFINE(USE_WIDE_CURSES,1,[Define to 1 to enable wide-curses features])],,$cf_cv_widec_curses) - -AC_SUBST(EXTRAOBJS) - -dnl -dnl Checks for header files. -dnl -AC_HEADER_STDC -AC_HEADER_TIME -AC_HEADER_DIRENT -AC_CHECK_HEADERS(search.h stdint.h sys/param.h unistd.h) -CF_CURSES_TERM_H - -dnl -dnl Checks for library functions. -dnl -AC_TYPE_SIGNAL -AC_CHECK_FUNCS(\ -btowc \ -mblen \ -mbrlen \ -mbrtowc \ -mbtowc \ -strcasecmp \ -strftime \ -tsearch \ -waitpid \ -wcsrtombs \ -wcstombs \ -wctob \ -wctomb \ -mktime \ -) - -CF_CURSES_FUNCS(\ -flushinp \ -getattrs \ -getbegx \ -getbegy \ -getbegyx \ -getcurx \ -getcury \ -getmaxx \ -getmaxy \ -getmaxyx \ -getparx \ -getpary \ -getparyx \ -use_default_colors \ -wchgat \ -wcursyncup \ -wget_wch \ -wsyncup \ -) - -CF_CURSES_EXIT - -AC_CHECK_FUNC(start_color,[AC_DEFINE(HAVE_COLOR,1,[Define to 1 if (n)curses has start_color function])]) -CF_CURSES_CHTYPE -CF_CURSES_WACS_SYMBOLS -CF_CURSES_WGETPARENT -CF_FUNC_WAIT -CF_MBSTATE_T -CF_SIZECHANGE - -CF_HEADERS_SH(DLG,dlg_config.h) - -AC_TRY_LINK([#include <locale.h>],[setlocale(LC_ALL, "")],[AC_DEFINE(HAVE_SETLOCALE,1,[Define to 1 if locale feature can be enabled])]) -CF_NL_LANGINFO_1STDAY - -CF_MERGE_EXTRA_CFLAGS -CF_DISABLE_RPATH_HACK - -CF__DEFINE_SHLIB_VARS -CF_LD_SEARCHPATH - -AC_OUTPUT( - dialog-config - makefile - $EXTRA_OUTPUT - $SUB_MAKEFILE,[ -CF__ADD_SHLIB_RULES( - makefile, - $LIB_MODEL, - [\${LIB_OBJECT}], - [\${LIBS} \${LDFLAGS}]) -],[ -CF__INIT_SHLIB_RULES -],[sort -u]) diff --git a/contrib/dialog/demo.pl b/contrib/dialog/demo.pl deleted file mode 100755 index 8f1a37e7b379..000000000000 --- a/contrib/dialog/demo.pl +++ /dev/null @@ -1,337 +0,0 @@ -#!/usr/bin/env perl -# $Id: demo.pl,v 1.23 2018/06/12 21:39:44 tom Exp $ -################################################################################ -# Copyright 2018 Thomas E. Dickey -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License, version 2.1 -# as published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this program; if not, write to -# Free Software Foundation, Inc. -# 51 Franklin St., Fifth Floor -# Boston, MA 02110, USA. -################################################################################ -# This demonstration is provided solely to exercise the sample Perl wrapper for -# dialog which is included in its source-code. See libui-dialog-perl for a -# more comprehensive binding. -# -# TODO: modify dialog.pl to use $DIALOG environment variable, drive from GetOpts here -# TODO: eliminate constant $scr_lines in dialog.pl - -use warnings; -use strict; -use diagnostics; - -use FindBin qw($Bin $Script); -use lib "$Bin"; - -require "dialog.pl"; -dialog->import('@dialog_result'); -our @dialog_result; - -sub tput($$) { - my $name = shift; - my $default = shift; - my $value = `tput "$name"`; - chomp $value; - $value = $default unless ( $value =~ /^[0-9]+$/ ); - return $value; -} - -sub napms($) { - my $msecs = shift; - select( undef, undef, undef, $msecs * 0.001 ); -} - -sub show_results($$) { - my $title = shift; - my $width = shift; - &rhs_msgbox( - $title, - sprintf( - "Resulting text:\\n %s", join( '\\n ', @dialog_result ) - ), - $width - ); -} - -sub doit() { - my $status = 1; - my $RHS_CLEAR = "clear"; - my $RHS_TEXTBOX = "textbox"; - my $RHS_MSGBOX = "msgbox"; - my $RHS_INFOBOX = "infobox"; - my $RHS_YESNO = "yesno"; - my $RHS_GAUGE = "gauge"; - my $RHS_INPUTBOX = "inputbox"; - my $RHS_MENU = "menu"; - my $RHS_MENUL = "menul"; - my $RHS_MENUA = "menua"; - my $RHS_CHECKLIST = "checklist"; - my $RHS_CHECKLISTL = "checklistl"; - my $RHS_CHECKLISTA = "checklista"; - my $RHS_RADIOLIST = "radiolist"; - - my @demo_2col = qw( - This that - is has - a this - 2-column quoted - menu "tag". - ); - my @demo_3col; - my @demo_tags; - my %demo_hash; - - for ( my $s = 0, my $t = 0 ; $s <= $#demo_2col ; $s += 2, $t += 3 ) { - my $d = $s / 2; - my $c1 = $demo_2col[$s]; - my $c2 = $demo_2col[ $s + 1 ]; - $demo_3col[$t] = $c1; - $demo_3col[ $t + 1 ] = $c2; - $demo_3col[ $t + 2 ] = ( $c1 =~ /2/ ) ? 1 : 0; - $demo_tags[$d] = $c1; - $demo_tags[$d] =~ s/2/1/; - $demo_tags[ $d + ( $#demo_2col + 1 ) / 2 ] = $c2; - $demo_hash{ sprintf( "%d %s", $d, $c1 ) } = $c2; - } - - while ( $status > 0 ) { - my $lines = &tput( "lines", 24 ); - my $cols = &tput( "cols", 80 ); - my $maxcols = $cols - 4; - my $mincols = ( $cols > 8 ) ? 8 : $cols; - my $midcols = int( ( $cols * 3 ) / 4 ); - - @dialog_result = (); - $status = &rhs_menu( - "My title", "My message", - 0, 14, - $RHS_CLEAR, "clear and exit", - $RHS_TEXTBOX, "text-box of this script", - $RHS_MSGBOX, "informational-message, OK button", - $RHS_INFOBOX, "informational-message, no button", - $RHS_YESNO, "message with Yes/No buttons", - $RHS_GAUGE, "message with progress-gauge", - $RHS_INPUTBOX, "input-box", - $RHS_MENU, "menu, with tags and description", - $RHS_MENUL, "menu, using only tags", - $RHS_MENUA, "alphabetically sorted menu", - $RHS_CHECKLIST, "check-list with tags and description", - $RHS_CHECKLISTL, "check-list using only tags", - $RHS_CHECKLISTA, "alphabetically sorted check-list", - $RHS_RADIOLIST, "list of radio-buttons" - ); - if ( $status > 0 and $#dialog_result == 0 ) { - - my $testcase = $dialog_result[0]; - if ( $testcase eq $RHS_CLEAR ) { - &rhs_clear; - last; - } - elsif ( $testcase eq $RHS_TEXTBOX ) { - &rhs_textbox( "This script", "$Script", 0, 0 ); - } - elsif ( $testcase eq $RHS_MSGBOX ) { - my $msg = - "This is a demonstration script.\\n" - . "This should be the second line,\\n" - . "and this should be the third line,"; - &rhs_msgbox( "A message", $msg, - int( ( length($msg) + 3 ) / 3 ) + 3 ); - } - elsif ( $testcase eq $RHS_INFOBOX ) { - my $msg = - "This is a fairly long line of text, used to" - . " show how dialog can be used to wrap lines to fit in" - . " screens with different width. The text will start wide," - . " then get narrower, showing a new infobox for each width" - . " before going back up to the full width of the terminal."; - my $wide = $maxcols; - while ( $wide > $mincols ) { - &rhs_infobox( "Info-box", $msg, $wide-- ); - &napms(50); - } - while ( $wide < $maxcols ) { - &rhs_infobox( "Info-box", $msg, ++$wide ); - &napms(50); - } - &rhs_msgbox( "Info-end", $msg, $wide ); - } - elsif ( $testcase eq $RHS_YESNO ) { - if ( - &rhs_yesno( - "Yes/no", - "Should \"dialog --yesno\" return \"1\" on \"yes\"" - . " to simplify (some) shell scripts?", - $cols / 2 - ) - ) - { - &rhs_msgbox( - "Explanation", - "No, a successful program exits with " - . "\"0\" (EXIT_SUCCESS)", - $cols / 2 - ); - } - else { - &rhs_msgbox( - "Explanation", - "Shell scripts assume that \"exit\ 0\" is successful;" - . " Perl is different.", - $cols / 2 - ); - } - } - elsif ( $testcase eq $RHS_GAUGE ) { - my $pct = 0; - my $sec = 10; - &rhs_gauge( - "My gauge", - "Show progress (or lack of it)", - $midcols * 3, $pct - ); - while ( $pct < 100 ) { - $pct++; - &napms($sec); - $sec *= 1.04; - &rhs_update_gauge($pct); - } - $pct = 99; - &rhs_update_gauge_and_message( "This will go faster", $pct ); - while ( $pct > 0 ) { - $pct--; - &napms($sec); - $sec /= 1.05; - &rhs_update_gauge($pct); - } - &napms(1000); - &rhs_stop_gauge; - } - elsif ( $testcase eq $RHS_INPUTBOX ) { - if ( - &rhs_inputbox( - "My inputbox", "This demonstrates the inputbox", - $maxcols, "" - ) - ) - { - &show_results( "My inputbox", $midcols ); - } - } - elsif ( $testcase eq $RHS_MENU ) { - if ( - &rhs_menu( - ( - "A menu", - "This menu uses \"tag\" values and descriptions:", - $midcols, ( $#demo_2col + 1 ) / 2 - ), - @demo_2col - ) - ) - { - &show_results( "My menu", $midcols ); - } - } - elsif ( $testcase eq $RHS_MENUL ) { - if ( - &rhs_menul( - ( - "A menu", "This menu uses only the \"tag\" values:", - $midcols, $#demo_tags + 1 - ), - @demo_tags - ) - ) - { - &show_results( "My long-menu", $midcols ); - } - } - elsif ( $testcase eq $RHS_MENUA ) { - if ( - &rhs_menua( - "A menu", "This menu uses the sorted keys from a hash:", - $midcols, %demo_hash - ) - ) - { - &show_results( "My alpha-menu", $midcols ); - } - } - elsif ( $testcase eq $RHS_CHECKLIST ) { - if ( - &rhs_checklist( - ( - "A checklist", - "This checklist uses \"tag\" values" - . " and descriptions:", - $midcols, - ( $#demo_3col + 1 ) / 3 - ), - @demo_3col - ) - ) - { - &show_results( "My checklist", $midcols ); - } - } - elsif ( $testcase eq $RHS_CHECKLISTL ) { - if ( - &rhs_checklistl( - ( - "A checklist", - "This checklist uses only the \"tag\" values:", - $midcols, $#demo_tags + 1 - ), - @demo_tags - ) - ) - { - &show_results( "My long-checklist", $midcols ); - } - } - elsif ( $testcase eq $RHS_CHECKLISTA ) { - if ( - &rhs_checklista( - "A checklist", - "This checklist uses the sorted keys from a hash:", - $midcols, %demo_hash - ) - ) - { - &show_results( "My alpha-checklist", $midcols ); - } - } - elsif ( $testcase eq $RHS_RADIOLIST ) { - if ( - &rhs_radiolist( - ( - "A radiolist", - "This radiolist uses \"tag\" values" - . " and descriptions:", - $midcols, - ( $#demo_3col + 1 ) / 3 - ), - @demo_3col - ) - ) - { - &show_results( "My radiolist", $midcols ); - } - } - } - } -} - -&doit; - -1; diff --git a/contrib/dialog/dialog-config.in b/contrib/dialog/dialog-config.in deleted file mode 100644 index 8bf1a591b451..000000000000 --- a/contrib/dialog/dialog-config.in +++ /dev/null @@ -1,254 +0,0 @@ -#!@SHELL@ -# $Id: dialog-config.in,v 1.13 2019/09/26 00:50:46 tom Exp $ -############################################################################## -# Copyright (c) 2007-2012,2019 Thomas E. Dickey # -# # -# Permission is hereby granted, free of charge, to any person obtaining a # -# copy of this software and associated documentation files (the "Software"), # -# to deal in the Software without restriction, including without limitation # -# the rights to use, copy, modify, merge, publish, distribute, distribute # -# with modifications, sublicense, and/or sell copies of the Software, and to # -# permit persons to whom the Software is furnished to do so, subject to the # -# following conditions: # -# # -# The above copyright notice and this permission notice shall be included in # -# all copies or substantial portions of the Software. # -# # -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # -# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # -# DEALINGS IN THE SOFTWARE. # -# # -# Except as contained in this notice, the name(s) of the above copyright # -# holders shall not be used in advertising or otherwise to promote the sale, # -# use or other dealings in this Software without prior written # -# authorization. # -############################################################################## - -prefix="@prefix@" -exec_prefix="@exec_prefix@" -datarootdir="@datarootdir@" - -same_prefix=yes -same_exec_prefix=yes - -THIS="@PACKAGE@" - -test $# = 0 && exec @SHELL@ "$0" --error - -while test $# -gt 0; do - - # (re)evaluate symbols that may depend upon $prefix - if [ "x$same_prefix" != "xyes" ] - then - eval exec_prefix='@exec_prefix@' - eval datarootdir='@datarootdir@' - elif [ "x$same_exec_prefix" != "xyes" ] - then - eval datarootdir='@datarootdir@' - fi - - eval bindir='"@bindir@"' - eval includedir='"@includedir@"' - eval libdir='"@libdir@"' - eval datadir='"@datadir@"' - eval mandir='"@mandir@"' - - [ -z "$includedir" ] && includedir="${prefix}/include" - - eval LDFLAGS='"@LDFLAGS@"' - eval LIBS='"@LIBS@"' - LIBS="-l${THIS} $LIBS" - - # If the directory given by --libdir is not in the LDFLAGS+LIBS set, - # prepend it to LDFLAGS to help link this application's library. - found=no - for opt in $LDFLAGS $LIBS - do - if [ "x$-L${libdir}" = "x$opt" ] - then - found=yes - break - fi - done - if [ $found = no ] - then - [ -n "$LFLAGS" ] && LDFLAGS=" $LFDLAGS" - LDFLAGS="-L${libdir}$LDFLAGS" - fi - [ -z "$LDFLAGS" ] && LDFLAGS="-L${exec_prefix}/lib" - - # Ignore -L options which do not correspond to an actual directory, - # or which are standard library directories (i.e., the linker is - # supposed to search those directories). - # - # There is no portable way to find the list of standard library - # directories. Require a POSIX shell anyway, to keep this simple. - lib_flags= - for opt in $LDFLAGS $LIBS - do - case $opt in - -L*) - [ -d ${opt##-L} ] || continue - case ${opt##-L} in - @LD_SEARCHPATH@) # skip standard libdir - continue - ;; - *) - ;; - esac - ;; - esac - lib_flags="$lib_flags $opt" - done - - case "$1" in - -*=*) - ARG=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` - ;; - *) - ARG= - ;; - esac - - case "$1" in - # basic configuration - --prefix=*) - prefix="$ARG" - test -z "$exec_prefix" && exec_prefix="$ARG" - same_prefix=no - ;; - --prefix) - echo "$prefix" - ;; - --exec-prefix=*) - exec_prefix="$ARG" - same_exec_prefix=no - ;; - --exec-prefix) - echo "$exec_prefix" - ;; - # compile/link - --cflags|--cflags-only-I) - INCS= - if test "$includedir" != /usr/include ; then - INCS="-I$includedir" - fi - sed -e 's,^[ ]*,,' -e 's, [ ]*, ,g' -e 's,[ ]*$,,' <<-ENDECHO - $INCS -ENDECHO - ;; - --cflags-only-other) - # no -D/-U options should be needed - echo - ;; - --libs) - OPTS= - for opt in $lib_flags - do - [ -n "$OPTS" ] && OPTS="$OPTS " - OPTS="${OPTS}${opt}" - done - printf "%s\n" "$OPTS" - ;; - --libs-only-L) - OPTS= - for opt in $lib_flags - do - case "x$opt" in - x-L*) - [ -n "$OPTS" ] && OPTS="$OPTS " - OPTS="${OPTS}${opt}" - ;; - esac - done - printf "%s\n" "$OPTS" - ;; - --libs-only-l) - OPTS= - for opt in $lib_flags - do - case "x$opt" in - x-l*) - [ -n "$OPTS" ] && OPTS="$OPTS " - OPTS="${OPTS}${opt}" - ;; - esac - done - printf "%s\n" "$OPTS" - ;; - --libs-only-other) - OPTS= - for opt in $lib_flags - do - case "x$opt" in - x-[lL]*) - ;; - *) - [ -n "$OPTS" ] && OPTS="$OPTS " - OPTS="${OPTS}${opt}" - ;; - esac - done - printf "%s\n" "$OPTS" - ;; - # identification - --version) - echo "@VERSION_MAJOR@.@VERSION_MINOR@.@VERSION_PATCH@" - ;; - --abi-version) - echo "@VERSION@" | sed -e 's/:/./g' - ;; - # locations - --bindir) - echo "${bindir}" - ;; - --datadir) - echo "${datadir}" - ;; - --libdir) - echo "${libdir}" - ;; - --mandir) - echo "${mandir}" - ;; - # general info - --help) - cat <<ENDHELP -Usage: ${THIS}-config [options] - -Options: - --prefix echos the package-prefix of ${THIS} - --prefix=ARG sets the package-prefix of ${THIS} - --exec-prefix echos the executable-prefix of ${THIS} - --exec-prefix=ARG sets the executable-prefix of ${THIS} - - --cflags echos the C compiler flags needed to compile with ${THIS} - --libs echos the libraries needed to link with ${THIS} - - --libs-only-L echos -L linker options (search path) for ${THIS} - --libs-only-l echos -l linker options (libraries) for ${THIS} - --libs-only-other echos linker options other than -L/-l - - --version echos the release+patchdate version of ${THIS} - --abi-version echos the ABI version of ${THIS} - - --bindir echos the directory containing ${THIS} programs - --datadir echos the directory containing ${THIS} data - --libdir echos the directory containing ${THIS} libraries - --mandir echos the directory containing ${THIS} manual pages - - --help prints this message -ENDHELP - ;; - --error|*) - @SHELL@ "$0" --help 1>&2 - exit 1 - ;; - esac - shift -done -# vile:shmode diff --git a/contrib/dialog/dialog.1 b/contrib/dialog/dialog.1 deleted file mode 100644 index 6ff9293b8574..000000000000 --- a/contrib/dialog/dialog.1 +++ /dev/null @@ -1,2041 +0,0 @@ -'\" t -.\" $Id: dialog.1,v 1.226 2021/01/17 17:25:01 tom Exp $ -.\" Copyright 2005-2020,2021 Thomas E. Dickey -.\" -.\" This program is free software; you can redistribute it and/or modify -.\" it under the terms of the GNU Lesser General Public License, version 2.1 -.\" as published by the Free Software Foundation. -.\" -.\" This program is distributed in the hope that it will be useful, but -.\" WITHOUT ANY WARRANTY; without even the implied warranty of -.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -.\" Lesser General Public License for more details. -.\" -.\" You should have received a copy of the GNU Lesser General Public -.\" License along with this program; if not, write to -.\" Free Software Foundation, Inc. -.\" 51 Franklin St., Fifth Floor -.\" Boston, MA 02110, USA. -.\" -.\" definitions for renaming -.ds p dialog -.ds l dialog -.ds L Dialog -.ds D DIALOG -.\" -.de ES -.ne 8 -.IP -.. -.de Ex -.RS +7 -.PP -.nf -.ft CW -.. -.de Ee -.fi -.ft R -.RE -.. -.\" Bulleted paragraph -.de bP -.ie n .IP \(bu 4 -.el .IP \(bu 2 -.. -.ie \n(.g .ds `` \(lq -.el .ds `` `` -.ie \n(.g .ds '' \(rq -.el .ds '' '' -. -.TH \*D 1 "" "$Date: 2021/01/17 17:25:01 $" -.SH NAME -dialog \- display dialog boxes from shell scripts -.SH SYNOPSIS -\fB\*p \-\-clear\fP -.br -.BI "\*p \-\-create\-rc " file -.br -\fB\*p \-\-print\-maxsize\fP -.br -\fB\*p\fP -\fIcommon-options\fP -\fIbox-options\fP -.SH DESCRIPTION -\fB\*L\fP -is a program that will let you present a variety of questions or -display messages using dialog boxes from a shell script. -These types of dialog boxes are implemented -(though not all are necessarily compiled into \fB\*p\fR): -.RS -.LP -.nh -.na -.BR buildlist ", " -.BR calendar ", " -.BR checklist ", " -.BR dselect ", " -.BR editbox ", " -.BR form ", " -.BR fselect ", " -.BR gauge ", " -.BR infobox ", " -.BR inputbox ", " -.BR inputmenu ", " -.BR menu ", " -.BR mixedform ", " -.BR mixedgauge ", " -.BR msgbox " (message), " -.BR passwordbox ", " -.BR passwordform ", " -.BR pause ", " -.BR prgbox ", " -.BR programbox ", " -.BR progressbox ", " -.BR radiolist ", " -.BR rangebox ", " -.BR tailbox ", " -.BR tailboxbg ", " -.BR textbox ", " -.BR timebox ", " -.BR treeview ", and " -.BR yesno " (yes/no)." -.ad -.RE -.PP -You can put more than one dialog box into a script: -.bP -Use the "\fB\-\-and\-widget\fP" token to force \fB\*p\fP to proceed to the next -dialog unless you have pressed ESC to cancel, or -.bP -Simply add the tokens for the next dialog box, making a chain. -\*L stops chaining when the return code from a dialog is nonzero, -e.g., Cancel or No (see DIAGNOSTICS). -.PP -Some widgets, e.g., checklist, will write text to \fB\*p\fP's output. -Normally that is the standard error, but there are options for -changing this: -\*(``\fB\-\-output\-fd\fP\*('', -\*(``\fB\-\-stderr\fP\*('' and -\*(``\fB\-\-stdout\fP\*(''. -No text is written if the Cancel button (or ESC) is pressed; -\fB\*p\fP exits immediately in that case. -. -.\" ************************************************************************ -.SH OPTIONS -All options begin with \*(``\fB--\fP\*('' -(two ASCII hyphens, -for the benefit of those using systems with deranged locale support). -.PP -A \*(``\fB--\fP\*('' by itself is used as an escape, -i.e., the next token on the command-line is not treated as an option. -.RS -.B \*p --title -- --Not an option -.RE -.PP -When a common (e.g., non-widget) option is repeated, -the last found is the one that is used. -Boolean options are handled specially so they can be cancelled, -by adding (or omitting) a \*(``no\*('' modifier -after the leading \*(``\fB--\fP\*(''. -For instance, \fB\-\-no-shadow\fP is documented here, -but \fB\-\-shadow\fP also is accepted. -.PP -The \*(``\fB\-\-args\fP\*('' option tells \fB\*p\fP to list the command-line -parameters to the standard error. -This is useful when debugging complex scripts using -the \*(``\fB--\fP\*('' and \*(``\fB\-\-file\fP\*('', -since the command-line may be rewritten as these are expanded. -.PP -The \*(``\fB\-\-file\fP\*('' option tells \fB\*p\fP to read parameters from -the file named as its value. -.RS -.B \*p --file \fIparameterfile -.RE -.PP -Blanks not within double-quotes are discarded -(use backslashes to quote single characters). -The result is inserted into the command-line, -replacing \*(``\fB\-\-file\fP\*('' and its option value. -Interpretation of the command-line resumes from that point. -If \fIparameterfile\fP begins with \*(``&\*('', \fB\*p\fP -interprets the following text as a file descriptor number -rather than a filename. -.PP -Most widgets accept \fIheight\fP and \fIwidth\fP parameters, -which can be used to automatically size the widget to accommodate -multi-line message \fIprompt\fP values: -.bP -If the parameter is negative, -\fB\*l\fP uses the screen's size. -.bP -If the parameter is zero, -\fB\*l\fP uses minimum size for the widget to display the \fIprompt\fP -and data. -.bP -Otherwise, \fB\*l\fP uses the given size for the widget. -. -.SS \fBCommon Options\fP -Most of the common options are reset before processing each widget. -. -.IP "\fB--ascii-lines -Rather than draw graphics lines around boxes, -draw ASCII \*(``+\*('' and \*(``-\*('' in the same place. -See also \*(``\fB\-\-no\-lines\fR\*(''. -. -.IP "\fB--aspect \fIratio" -This gives you some control over the box dimensions when using auto -sizing (specifying 0 for height and width). -It represents width / height. -The default is 9, which means 9 characters wide to every 1 line high. -. -.IP "\fB--backtitle \fIbacktitle" -Specifies a -\fIbacktitle\fP -string to be displayed on the backdrop, at the top of the screen. -. -.IP "\fB--begin \fIy x" -Specify the position of the upper left corner of a dialog box on the screen. -. -.IP "\fB--cancel-label \fIstring" -Override the label used for \*(``Cancel\*('' buttons. -. -.IP "\fB--clear" -Clears the widget screen, keeping only the screen_color background. -Use this when you combine widgets -with \*(``\fB\-\-and\-widget\fR\*('' to erase the -contents of a previous widget on the screen, so it won't be seen -under the contents of a following widget. -Understand this as the complement of \*(``\fB\-\-keep\-window\fR\*(''. -To compare the effects, use these: -. -.ES -All three widgets visible, staircase effect, ordered 1,2,3: -.Ex -\*p \e - --begin 2 2 --yesno "" 0 0 \e - --and-widget --begin 4 4 --yesno "" 0 0 \e - --and-widget --begin 6 6 --yesno "" 0 0 -.Ee -. -.ES -Only the last widget is left visible: -.Ex -\*p \e - --clear --begin 2 2 --yesno "" 0 0 \e - --and-widget --clear --begin 4 4 --yesno "" 0 0 \e - --and-widget --begin 6 6 --yesno "" 0 0 -.Ee -. -.ES -All three widgets visible, staircase effect, ordered 3,2,1: -.Ex -\*p \e - --keep-window --begin 2 2 --yesno "" 0 0 \e - --and-widget --keep-window --begin 4 4 --yesno "" 0 0 \e - --and-widget --begin 6 6 --yesno "" 0 0 -.Ee -. -.ES -First and third widget visible, staircase effect, ordered 3,1: -.Ex -\*p \e - --keep-window --begin 2 2 --yesno "" 0 0 \e - --and-widget --clear --begin 4 4 --yesno "" 0 0 \e - --and-widget --begin 6 6 --yesno "" 0 0 -.Ee -.IP -Note, if you want to restore original console colors and send your -cursor home after the dialog program has exited, use the \fBclear\fR\ (1) -command. -Conversely, if you want to clear the screen and send your cursor to -the lower left after the \fB\*p\fP program has exited, use the -\fB\-\-erase\-on\-exit\fR\ option. -. -.IP "\fB--colors" -Interpret embedded \*(``\eZ\*('' sequences in the dialog text -by the following character, -which tells \fB\*p\fP to set colors or video attributes: -.RS -.bP -0 through 7 are the ANSI color numbers used in curses: -black, -red, -green, -yellow, -blue, -magenta, -cyan and -white respectively. -.bP -Bold is set by 'b', reset by 'B'. -.bP -Reverse is set by 'r', reset by 'R'. -.bP -Underline is set by 'u', reset by 'U'. -.bP -The settings are cumulative, e.g., \*(``\eZb\eZ1\*('' makes the following text -bold (perhaps bright) red. -.bP -Restore normal settings with \*(``\eZn\*(''. -.RE -. -.IP "\fB--column-separator \fIstring" -Tell \fB\*p\fP to split data for radio/checkboxes and menus on the -occurrences of the given string, and to align the split data into columns. -. -.IP "\fB--cr-wrap" -Interpret embedded newlines in the dialog text as a newline on the screen. -Otherwise, \fB\*p\fR will only wrap lines -where needed to fit inside the text box. -.IP -Even though you can control line breaks with this, -\fB\*L\fR will still wrap any lines that are too long for the width of the box. -Without cr-wrap, the layout of your text may be formatted to look nice -in the source code of your script without affecting the way it will -look in the dialog. -.IP -The \fIcr\-wrap\fP feature is implemented subject to these conditions: -.RS -.bP -the string contains \*(``\en\*('' and the \fB\-\-no\-nl\-expand\fP option is -not used, or -.bP -the \fB\-\-trim\fP option is used. -.RE -.IP -For more information, see \fBWhitespace Options\fP. -. -.IP "\fB--create-rc \fIfile" -When -\fB\*p\fP -supports run-time configuration, -this can be used to dump a sample configuration file to the file specified -by -.IR file "." -. -.IP "\fB--cursor-off-label" -Place the terminal cursor at the end of a button instead of on the -first character of the button label. -This is useful to reduce visual confusion when the cursor coloration -interacts poorly with the button-label text colors. -. -.IP "\fB--date-format \fIformat" -If the host provides \fBstrftime\fP, -this option allows you to specify the format of the date printed for -the \fB\-\-calendar\fP widget. -The time of day (hour, minute, second) are the current local time. -. -.IP "\fB--defaultno" -Make the default value of the -\fByes/no\fP -box a -.BR No . -Likewise, treat the default button of widgets that provide -\*(``OK\*('' and \*(``Cancel\*('' -as a \fICancel\fP. -If \*(``\fB\-\-no\-cancel\fP\*('' or \*(``\fB\-\-visit\-items\fP\*('' are given -those options overrides this, -making the default button always \*(``Yes\*('' -(internally the same as \*(``OK\*(''). -. -.IP "\fB--default-button \fIstring" -Set the default (preselected) button in a widget. -By preselecting a button, -a script makes it possible for the user to simply press \fIEnter\fP -to proceed through a dialog with minimum interaction. -.IP -The option's value is the name of the button: -.IR ok , -.IR yes , -.IR cancel , -.IR no , -.IR help "\ or" -.IR extra . -.IP -Normally the first button in each widget is the default. -The first button shown is determined by the widget -together with the \*(``\fB\-\-no\-ok\fP\*('' -and \*(``\fB\-\-no\-cancel\fP\*('' options. -If this option is not given, there is no default button assigned. -. -.IP "\fB--default-item \fIstring" -Set the default item in a checklist, form or menu box. -Normally the first item in the box is the default. -. -.IP "\fB--erase-on-exit" -When \fB\*p\fP exits, remove the dialog widget, erasing the entire -screen to its native background color, and place the terminal cursor -at the lower left corner. -. -.IP "\fB--exit-label \fIstring" -Override the label used for \*(``EXIT\*('' buttons. -. -.IP "\fB--extra-button" -Show an extra button, between \*(``OK\*('' and \*(``Cancel\*('' buttons. -. -.IP "\fB--extra-label \fIstring" -Override the label used for \*(``Extra\*('' buttons. -Note: for inputmenu widgets, this defaults to \*(``Rename\*(''. -. -.IP "\fB--help" -Prints the help message to the standard output and exits. -The help message is also printed if no options are given, -or if an unrecognized option is given. -. -.IP "\fB--help-button" -Show a help-button after \*(``OK\*('' and \*(``Cancel\*('' buttons -in boxes which have a list of tagged items -(i.e., checklist, radiolist, menu, and treeview boxes). -.IP -On exit, the return status indicates that the Help button was pressed. -\fB\*L\fP also writes a message to its output -after the token \*(``HELP\*('': -.RS -.bP -If "\fB\-\-item\-help\fR" is also given, the item-help text is written. -.bP -Otherwise, the item's tag (the first field) is written. -.RE -.IP -.IP -You can use the \fB\-\-help\-tags\fP option and/or set the DIALOG_ITEM_HELP -environment variable to modify these messages and exit-status. -.IP -This option can be applied to other widgets, -which have an \*(``OK\*('' button, -whether or not the \*(``Cancel\*('' button is used. -The return status and output are not treated specially for the other widgets; -the help-button is just an extra button. -. -.IP "\fB--help-label \fIstring" -Override the label used for \*(``Help\*('' buttons. -. -.IP "\fB--help-status" -If the help-button is selected, -writes the checklist, radiolist or form information -after the item-help \*(``HELP\*('' information. -This can be used to reconstruct the state of a checklist after processing -the help request. -. -.IP "\fB--help-tags" -Modify the messages written on exit for \fB\-\-help\-button\fP -by making them always just the item's tag. -This does not affect the exit status code. -. -.IP "\fB--hfile \fIfilename" -Display the given file using a textbox when the user presses F1. -. -.IP "\fB--hline \fIstring" -Display the given string centered at the bottom of the widget. -. -.IP "\fB--ignore" -Ignore options that \fB\*p\fP does not recognize. -Some well-known ones such as \*(``\fB\-\-icon\fP\*('' are ignored anyway, -but this is a better choice for compatibility with other implementations. -. -.IP "\fB--input-fd \fIfd" -Read keyboard input from the given file descriptor. -Most \fB\*p\fR scripts read from the standard input, -but the gauge widget reads a pipe (which is always standard input). -Some configurations do not work properly when -\fB\*p\fP tries to reopen the terminal. -Use this option (with appropriate juggling of file-descriptors) -if your script must work in that type of environment. -. -.IP "\fB--insecure" -Makes the password widget friendlier but less secure, -by echoing asterisks for each character. -. -.IP "\fB--iso-week" -Set the starting point for the week-number -shown in the \*(``\fB\-\-calendar\fP\*('' option -according to ISO-8601, which starts numbering -with the first week which includes a Thursday in January. -. -.IP "\fB--item-help" -Interpret the tags data for checklist, radiolist and menu boxes -adding a column which is displayed in the bottom line of the -screen, for the currently selected item. -. -.IP "\fB--keep-tite" -When built with \fBncurses\fP, -\fB\*p\fP normally checks to see if it is running in an \fBxterm\fP, -and in that case tries to suppress the initialization strings that -would make it switch to the alternate screen. -Switching between the normal and alternate screens -is visually distracting in a script which runs \fB\*p\fP -several times. -Use this option to allow \fB\*p\fP to use those initialization strings. -. -.IP "\fB--keep-window" -Normally when \fB\*p\fR performs several \fBtailboxbg\fR widgets -connected by \*(``\fB\-\-and\-widget\fR\*('', -it clears the old widget from the screen by painting over it. -Use this option to suppress that repainting. -.IP -At exit, \fB\*p\fR repaints all of the widgets which have been -marked with \*(``\fB\-\-keep\-window\fR\*('', -even if they are not \fBtailboxbg\fR widgets. -That causes them to be repainted in reverse order. -See the discussion of the \*(``\fB\-\-clear\fR\*('' option for examples. -. -.IP "\fB--last-key" -At exit, report the last key which the user entered. -This is the curses key code rather than a symbol or literal character, -and is only reported for keys which are bound to an action. -It can be used by scripts to distinguish between two keys which are -bound to the same action. -. -.IP "\fB--max-input \fIsize" -Limit input strings to the given size. -If not specified, the limit is 2048. -. -.IP "\fB--no-cancel" -Suppress the \*(``Cancel\*('' button in checklist, inputbox and menu box modes. -A script can still test if the user pressed the ESC key to cancel to quit. -. -.IP "\fB--no-collapse" -Normally \fB\*p\fR converts tabs to spaces and reduces multiple -spaces to a single space for text which is displayed in a message boxes, etc. -Use this option to disable that feature. -Note that \fB\*p\fR will still wrap text, -subject to the \*(``\fB\-\-cr\-wrap\fR\*('' -and \*(``\fB\-\-trim\fR\*('' options. -.IP -The \fIno\-collapse\fP feature is implemented subject to these conditions: -.RS -.bP -the string contains \*(``\en\*('' and the \fB\-\-no\-nl\-expand\fP option is -not used, or -.bP -the \fB\-\-trim\fP option is not used. -.RE -.IP -For more information, see \fBWhitespace Options\fP. -. -.IP "\fB\-\-no\-hot\-list" -Tells -\fB\*p\fP -to suppress the hotkey feature for lists, e.g., the checkbox, menus. -.IP -Normally, the first uppercase character of a list entry will be highlighted, -and typing that character will move the focus to that entry. -This option suppresses both the highlighting and the movement. -.IP -Hotkeys for buttons (\*(``OK\*('' , \*(``Cancel\*('', etc.) are unaffected. -. -.IP "\fB--no-items" -Some widgets (checklist, inputmenu, radiolist, menu) display a list -with two columns (a \*(``tag\*('' and \*(``item\*('', -i.e., \*(``description\*(''). -This option tells \fB\*p\fP to read shorter rows, -omitting the \*(``item\*('' part of the list. -This is occasionally useful, e.g., if the tags provide enough information. -.IP -See also \fB\-\-no\-tags\fP. -If both options are given, this one is ignored. -. -.IP "\fB--no-kill" -Tells -\fB\*p\fP -to put the -\fBtailboxbg\fP -box in the background, -printing its process id to \fB\*p\fP's output. -SIGHUP is disabled for the background process. -. -.IP "\fB--no-label \fIstring" -Override the label used for \*(``No\*('' buttons. -. -.IP "\fB--no-lines -Rather than draw lines around boxes, draw spaces in the same place. -See also \*(``\fB\-\-ascii\-lines\fR\*(''. -. -.IP "\fB--no-mouse -Do not enable the mouse. -. -.IP "\fB--no-nl-expand -Do not convert \*(``\en\*('' substrings of the message/prompt text into -literal newlines. -.IP -The \fIno\-nl\-expand\fP feature is used only if -the string contains \*(``\en\*('' so that there is something to convert. -.IP -For more information, see \fBWhitespace Options\fP. -. -.IP "\fB--no-ok" -Suppress the \*(``OK\*('' button, so that it is not displayed. -A script can still test if the user pressed -the \*(``Enter\*('' key to accept the data: -.RS -.bP -The \*(``Enter\*('' key is always handled as the \*(``OK\*('' button -when the \fB\-\-no\-ok\fP option is used. -That is, by default it is bound to the \fILEAVE\fP virtual key. -.IP -When \fB\-\-no\-ok\fP is not used, -you can use the the \fITab\fP key to move the cursor through the -fields and buttons on the widget. -In that case, the \*(``Enter\*('' key activates the current button -if the cursor is positioned on a button. -.bP -To provide for the case where you want to activate a button -when using \fB\-\-no\-ok\fP, -there is another virtual key \fILEAVE\fP, -which activates the current button. -By default, \fB^D\fP (EOF) is bound to that key. -.RE -. -.IP "\fB--no-shadow" -Suppress shadows that would be drawn to the right and bottom of each dialog box. -. -.IP "\fB--no-tags" -Some widgets (checklist, inputmenu, radiolist, menu) display a list -with two columns (a \*(``tag\*('' and \*(``description\*(''). -The tag is useful for scripting, but may not help the user. -The \fB\-\-no\-tags\fP option (from Xdialog) may be used to suppress the -column of tags from the display. -Unlike the \fB\-\-no\-items\fP option, -this does not affect the data which is read from the script. -.IP -Xdialog does not display the tag column for the analogous buildlist -and treeview widgets; \fB\*p\fP does the same. -.IP -Normally \fB\*p\fP allows you to quickly move to entries on the displayed list, -by matching a single character to the first character of the tag. -When the \fB\-\-no\-tags\fP option is given, \fB\*p\fP matches against -the first character of the description. -In either case, the matchable character is highlighted. -. -.IP "\fB--ok-label \fIstring" -Override the label used for \*(``OK\*('' buttons. -. -.IP "\fB--output-fd \fIfd" -Direct output to the given file descriptor. -Most \fB\*p\fR scripts write to the standard error, -but error messages may also be written there, depending on your script. -. -.IP "\fB--separator \fIstring" -.IP "\fB--output-separator \fIstring" -Specify a string that will separate the output on \fB\*p\fP's output from -checklists, rather than a newline (for \fB\-\-separate\-output\fP) or a space. -This applies to other widgets such as forms and editboxes which normally -use a newline. -. -.IP "\fB--print-maxsize" -Print the maximum size of dialog boxes, i.e., the screen size, -to \fB\*p\fP's output. -This may be used alone, without other options. -. -.IP "\fB--print-size" -Prints the size of each dialog box to \fB\*p\fP's output -when the box is initialized. -. -.IP "\fB--print-text-only \fIstring [ height [ width ] ]" -Prints the string as it would be wrapped in a message box -to \fB\*p\fP's output. -.IP -Because the optional \fIheight\fP and \fIwidth\fP default to zero, -if they are omitted, \fB\*p\fP autosizes according to the screen dimensions. -. -.IP "\fB--print-text-size \fIstring [ height [ width ] ]" -Prints the size of the string as it would be wrapped in a message box, -to \fB\*p\fP's output, -as -.Ex -height width -.Ee -.IP -Because the optional \fIheight\fP and \fIwidth\fP parameters default to zero, -if they are omitted, \fB\*p\fP autosizes according to the screen dimensions. -. -.IP "\fB--print-version" -Prints \fB\*p\fR's version to \fB\*p\fP's output. -This may be used alone, without other options. -It does not cause \fB\*l\fP to exit by itself. -. -.IP "\fB--quoted" -Normally \fB\*p\fP quotes the strings returned by checklist's -as well as the item-help text. -Use this option to quote all string results as needed -(i.e., if the string contains whitespace or a single or double-quote character). -. -.IP "\fB--reorder" -By default, the buildlist widget uses the same order for the output (right) -list as for the input (left). -Use this option to tell \fB\*p\fP to use the order -in which a user adds selections to the output list. -. -.IP "\fB--scrollbar" -For widgets holding a scrollable set of data, -draw a scrollbar on its right-margin. -This does not respond to the mouse. -. -.IP "\fB--separate-output" -For certain widgets (buildlist, checklist, treeview), -output result one line at a time, with no quoting. -This facilitates parsing by another program. -. -.IP "\fB--separate-widget \fIstring" -Specify a string that will separate the output on \fB\*p\fP's output from -each widget. -This is used to simplify parsing the result of a dialog with several widgets. -If this option is not given, -the default separator string is a tab character. -. -.IP "\fB--single-quoted" -Use single-quoting as needed (and no quotes if unneeded) for the -output of checklist's as well as the item-help text. -.IP -If this option is not set, \fB\*p\fP may use double quotes around each item. -In either case, -\fB\*p\fP adds backslashes to make the output useful in shell scripts. -.IP -Single quotes would be needed if -the string contains whitespace or a single or double-quote character. -. -.IP "\fB--size-err" -Check the resulting size of a dialog box before trying to use it, -printing the resulting size if it is larger than the screen. -(This option is obsolete, since all new-window calls are checked). -. -.IP "\fB--sleep \fIsecs" -Sleep (delay) for the given number of seconds after processing a dialog box. -. -.IP "\fB--stderr" -Direct output to the standard error. -This is the default, since curses normally writes screen updates to -the standard output. -. -.IP "\fB--stdout" -Direct output to the standard output. -This option is provided for compatibility with Xdialog, -however using it in portable scripts is not recommended, -since curses normally writes its screen updates to the standard output. -If you use this option, \fB\*p\fR attempts to reopen the terminal -so it can write to the display. -Depending on the platform and your environment, that may fail. -. -.IP "\fB--tab-correct" -Convert each tab character to one or more spaces -(for the \fBtextbox\fP widget; otherwise to a single space). -Otherwise, tabs are rendered according to the curses library's interpretation. -The \fB\-\-no\-collapse\fP option disables tab expansion. -. -.IP "\fB--tab-len \fIn" -Specify the number of spaces that a tab character occupies if the -\*(``\fB\-\-tab\-correct\fP\*('' option is given. -The default is 8. -This option is only effective for the \fBtextbox\fP widget. -. -.IP "\fB--time-format \fIformat" -If the host provides \fBstrftime\fP, -this option allows you to specify the format of the time printed for -the \fB\-\-timebox\fP widget. -The day, month, year values in this case are for the current local time. -. -.IP "\fB--timeout \fIsecs" -Timeout if no user response within the given number of seconds. -A timeout of zero seconds is ignored. -.IP -Normally a timeout causes an ESC character to be entered in the current widget, -cancelling it. -Other widgets may still be on the screen; -these are not cancelled. -Set the \fBDIALOG_TIMEOUT\fP environment variable to tell \fB\*l\fP to -directly exit instead, i.e., cancelling all widgets on the screen. -.IP -This option is ignored by the \*(``\fB\-\-pause\fP\*('' widget. -It is also overridden -if the background \*(``\fB\-\-tailboxbg\fP\*('' option is used -to set up multiple concurrent widgets. -. -.IP "\fB--title \fItitle" -Specifies a -\fItitle\fP -string to be displayed at the top of the dialog box. -. -.IP "\fB--trace \fIfilename" -logs the command-line parameters, -keystrokes and other information to the given file. -If \fB\*l\fP reads a configure file, it is logged as well. -Piped input to the \fIgauge\fP widget is logged. -Use control/T to log a picture of the current dialog window. -.IP -The \fB\*p\fR program handles some command-line parameters specially, -and removes them from the parameter list as they are processed. -For example, if the first option is \fB\-\-trace\fP, -then that is processed (and removed) before \fB\*p\fR initializes the display. -. -.IP "\fB--week-start \fIday" -sets the starting day for the week, -used in the \*(``\fB\-\-calendar\fP\*('' option. -The \fIday\fP parameter can be -.RS -.bP -a number (0 to 6, Sunday through Saturday using POSIX) or -.bP -the special value \*(``locale\*('' (this works with systems using glibc, -providing an extension to the \fBlocale\fP command, -the \fBfirst_weekday\fP value). -.bP -a string matching one of the abbreviations for the day of the week -shown in the \fBcalendar\fP widget, e.g., \*(``Mo\*('' for \*(``Monday\*(''. -.RE -. -.IP "\fB--trim" -eliminate leading blanks, -trim literal newlines and repeated blanks from message text. -.IP -The \fItrim\fP feature is implemented subject to these conditions: -.RS -.bP -the string does not contain \*(``\en\*('' or -.bP -the \fB\-\-no\-nl\-expand\fP option is used. -.RE -.IP -For more information, see \fBWhitespace Options\fP. -. -.IP -See also the \*(``\fB\-\-cr\-wrap\fR\*('' -and \*(``\fB\-\-no\-collapse\fR\*('' options. -. -.IP "\fB--version" -Prints \fB\*p\fR's version to the standard output, and exits. -See also \*(``\fB\-\-print\-version\fP\*(''. -. -.IP "\fB--visit-items" -Modify the tab-traversal of checklist, radiolist, menubox and inputmenu -to include the list of items as one of the states. -This is useful as a visual aid, -i.e., the cursor position helps some users. -.IP -When this option is given, the cursor is initially placed on the list. -Abbreviations (the first letter of the tag) apply to the list items. -If you tab to the button row, abbreviations apply to the buttons. -. -.IP "\fB--yes-label \fIstring" -Override the label used for \*(``Yes\*('' buttons. -. -.\" ************************************************************************ -.SS Box Options -All dialog boxes have at least three parameters: -.TP 7 -\fItext\fP -the caption or contents of the box. -.TP 7 -\fIheight\fP -the height of the dialog box. -.TP 7 -\fIwidth\fP -the width of the dialog box. -.PP -Other parameters depend on the box type. -. -. -.IP "\fB\-\-buildlist \fItext height width list-height \fR[ \fItag item status \fR] \fI..." -A \fBbuildlist\fP dialog displays two lists, side-by-side. -The list on the left shows unselected items. -The list on the right shows selected items. -As items are selected or unselected, they move between the lists. -.IP -Use a carriage return or the \*(``OK\*('' button to accept the current value -in the selected-window and exit. -The results are written using the order displayed in the selected-window. -.IP -The initial on/off state of each entry is specified by -.IR status "." -.IP -The dialog behaves like a \fBmenu\fP, using the \fB\-\-visit\-items\fP -to control whether the cursor is allowed to visit the lists directly. -.RS -.bP -If \fB\-\-visit\-items\fP is not given, -tab-traversal uses two states (OK/Cancel). -.bP -If \fB\-\-visit\-items\fP is given, -tab-traversal uses four states (Left/Right/OK/Cancel). -.RE -.IP -Whether or not \fB\-\-visit\-items\fP is given, -it is possible to move the highlight between the two lists using -the default \*(``^\*('' (left-column) and \*(``$\*('' (right-column) keys. -.IP -On exit, a list of the \fItag\fP -strings of those entries that are turned on -will be printed on \fB\*p\fP's output. -.IP -If the "\fB\-\-separate\-output\fP" option is not given, -the strings will be quoted as needed -to make it simple for scripts to separate them. -By default, this uses double-quotes, as needed. -See the \*(``\fB\-\-single\-quoted\fP\*('' option, -which modifies the quoting behavior. -. -.IP "\fB--calendar \fItext height width day month year" -A \fBcalendar\fP box displays -month, day and year in separately adjustable windows. -If the values for day, month or year are missing or negative, -the current date's corresponding values are used. -You can increment or decrement any of those using the -left-, up-, right-, and down-arrows. -Use vi-style h, j, k and l for moving around the array of days in a month. -Use tab or backtab to move between windows. -If the year is given as zero, the current date is used as an initial value. -.IP -On exit, the date is printed in the form day/month/year. -The format can be overridden using the \fB\-\-date\-format\fP option. -. -.IP "\fB\-\-checklist \fItext height width list-height \fR[ \fItag item status \fR] \fI..." -A \fBchecklist\fP box is similar to a \fBmenu\fP box; -there are multiple entries presented in the form of a menu. -Another difference is -that you can indicate which entry is currently selected, by setting its -.IR status " to " on "." -Instead of choosing -one entry among the entries, each entry can be turned on or off by the user. -The initial on/off state of each entry is specified by -.IR status "." -.IP -On exit, a list of the \fItag\fP -strings of those entries that are turned on -will be printed on \fB\*p\fP's output. -.IP -If the \*(``\fB\-\-separate\-output\fP\*('' option is not given, -the strings will be quoted as needed -to make it simple for scripts to separate them. -By default, this uses double-quotes (as needed). -See the \*(``\fB\-\-single\-quoted\fP\*('' option, -which modifies the quoting behavior. -. -.IP "\fB\-\-dselect \fIfilepath height width\fR" -The directory-selection dialog displays a text-entry window -in which you can type a directory, -and above that a windows with directory names. -.IP -Here -\fBfilepath\fP -can be a filepath in which case the directory window -will display the contents of the path and the text-entry window will contain -the preselected directory. -.IP -Use tab or arrow keys to move between the windows. -Within the directory window, use the up/down arrow keys -to scroll the current selection. -Use the space-bar to copy the current selection into the text-entry -window. -.IP -Typing any printable characters switches focus to the text-entry window, -entering that character as well as scrolling the directory -window to the closest match. -.IP -Use a carriage return or the \*(``OK\*('' button to accept the current value -in the text-entry window and exit. -.IP -On exit, the contents of the text-entry window are written -to \fB\*p\fP's output. -. -.IP "\fB\-\-editbox \fIfilepath height width\fR" -The edit-box dialog displays a copy of the file. -You may edit it using -the \fIbackspace\fP, \fIdelete\fP and cursor keys -to correct typing errors. -It also recognizes pageup/pagedown. -Unlike the \fB\-\-inputbox\fP, -you must tab to the \*(``OK\*('' or \*(``Cancel\*('' buttons -to close the dialog. -Pressing the \*(``Enter\*('' key within the box will split -the corresponding line. -.IP -On exit, the contents of the edit window are written to \fB\*p\fP's output. -. -.nf -.IP "\fB\-\-form \fItext height width formheight \fR[ \fIlabel y x item y x flen ilen \fR] \fI..." -.fi -The \fBform\fP dialog displays a form consisting of labels and fields, -which are positioned on a scrollable window by coordinates given in the script. -The field length \fIflen\fR and input-length \fIilen\fR tell how long -the field can be. -The former defines the length shown for a selected field, -while the latter defines the permissible length of the data entered in the -field. -.RS -.bP -If \fIflen\fR is zero, the corresponding field cannot be altered. -and the contents of the field determine the displayed-length. -.bP -If \fIflen\fR is negative, the corresponding field cannot be altered, -and the negated value of \fIflen\fR is used as the displayed-length. -.bP -If \fIilen\fR is zero, it is set to \fIflen\fR. -.RE -.IP -Use up/down arrows (or control/N, control/P) to move between fields. -Use tab to move between windows. -.IP -On exit, the contents of the form-fields are written to \fB\*p\fP's output, -each field separated by a newline. -The text used to fill non-editable fields -(\fIflen\fR is zero or negative) -is not written out. -. -. -.IP "\fB\-\-fselect \fIfilepath height width\fR" -The \fBfselect\fP (file-selection) dialog displays a text-entry window -in which you can type a filename (or directory), -and above that two windows with directory names and filenames. -.IP -Here -\fBfilepath\fP -can be a filepath in which case the file and directory windows -will display the contents of the path and the text-entry window will contain -the preselected filename. -.IP -Use tab or arrow keys to move between the windows. -Within the directory or filename windows, use the up/down arrow keys -to scroll the current selection. -Use the space-bar to copy the current selection into the text-entry -window. -.IP -Typing any printable characters switches focus to the text-entry window, -entering that character as well as scrolling the directory and filename -windows to the closest match. -.IP -Typing the space character forces \fB\*p\fP to complete the current -name (up to the point where there may be a match against more than one -entry). -.IP -Use a carriage return or the \*(``OK\*('' button to accept the current value -in the text-entry window and exit. -.IP -On exit, the contents of the text-entry window are written -to \fB\*p\fP's output. -. -. -.IP "\fB\-\-gauge \fItext height width [percent]\fR" -A -\fBgauge\fP -box displays a meter along the bottom of the box. -The meter indicates the percentage. -New percentages are read from -standard input, one integer per line. -The meter is updated -to reflect each new percentage. -If the standard input reads the string \*(``XXX\*('', -then the first line following is taken as an integer percentage, -then subsequent lines up to another \*(``XXX\*('' are used for a new prompt. -The gauge exits when EOF is reached on the standard input. -.IP -The \fIpercent\fR value denotes the initial percentage shown in the meter. -If not specified, it is zero. -.IP -On exit, no text is written to \fB\*p\fP's output. -The widget accepts no input, so the exit status is always OK. -. -. -.IP "\fB--infobox \fItext height width" -An \fBinfo\fP box is basically a \fBmessage\fP box. -However, in this case, \fB\*p\fP -will exit immediately after displaying the message to the user. -The screen is not cleared when \fB\*p\fP -exits, so that the message will remain on the screen until the calling -shell script clears it later. -This is useful when you want to inform -the user that some operations are carrying on that may require some -time to finish. -.IP -On exit, no text is written to \fB\*p\fP's output. -An OK exit status is returned. -. -. -.IP "\fB--inputbox \fItext height width [init]" -An -\fBinput\fP -box is useful when you want to ask questions that -require the user to input a string as the answer. -If init is supplied -it is used to initialize the input string. -When entering the string, -the \fIbackspace\fP, \fIdelete\fP and cursor keys -can be used to correct typing errors. -If the input string is longer than -can fit in the dialog box, the input field will be scrolled. -.IP -On exit, the input string will be printed on \fB\*p\fP's output. -. -. -.IP "\fB\-\-inputmenu \fItext height width menu-height \fR[ \fItag item \fR] \fI..." -An \fBinputmenu\fP box is very similar to an ordinary \fBmenu\fP box. -There are only a few differences between them: -.RS -.TP 4 -1. -The entries are not automatically centered but left adjusted. -.TP -2. -An extra button (called \fIRename\/\fP) is implied to rename -the current item when it is pressed. -.TP -3. -It is possible to rename the current entry by pressing the -\fIRename\fP -button. -Then \fB\*p\fP will write the following on \fB\*p\fP's output. -.IP -RENAMED <tag> <item> -.RE -. -. -.IP "\fB\-\-menu \fItext height width menu-height \fR[ \fItag item \fR] \fI..." -As its name suggests, a -\fBmenu\fP -box is a dialog box that can be used to present a list of choices in -the form of a menu for the user to choose. -Choices are displayed in the order given. -Each menu entry consists of a \fItag\fP string and an \fIitem\fP string. -The \fItag\fP -gives the entry a name to distinguish it from the other entries in the -menu. -The \fIitem\fP is a short description of the option that the entry represents. -The user can move between the menu entries by pressing the -cursor keys, the first letter of the \fItag\fP -as a hot-key, or the number keys \fI1\fP through \fI9\fP. -There are \fImenu-height\fP -entries displayed in the menu at one time, but the menu will be -scrolled if there are more entries than that. -.IP -On exit the \fItag\fP -of the chosen menu entry will be printed on \fB\*p\fP's output. -If the \*(``\fB\-\-help\-button\fR\*('' option is given, the corresponding help -text will be printed if the user selects the help button. -. -.nf -.IP "\fB\-\-mixedform \fItext height width formheight \fR[ \fIlabel y x item y x flen ilen itype \fR] \fI..." -.fi -The \fBmixedform\fP dialog displays a form consisting of labels and fields, -much like the \fB\-\-form\fP dialog. -It differs by adding a field-type parameter to each field's description. -Each bit in the type denotes an attribute of the field: -.RS -.TP 5 -1 -hidden, e.g., a password field. -.TP 5 -2 -readonly, e.g., a label. -.RE -. -.IP "\fB\-\-mixedgauge \fItext height width percent \fR[ \fItag1 item1 \fR] \fI..." -A \fBmixedgauge\fP box displays a meter along the bottom of the box. -The meter indicates the percentage. -.IP -It also displays a list of the \fItag\/\fP- and \fIitem\/\fP-values at the -top of the box. -See \*l(3) for the tag values. -.IP -The \fItext\fP is shown as a caption between the list and meter. -The \fIpercent\fR value denotes the initial percentage shown in the meter. -.IP -No provision is made for reading data from the standard input as \fB\-\-gauge\fP -does. -.IP -On exit, no text is written to \fB\*p\fP's output. -The widget accepts no input, so the exit status is always OK. -. -.IP "\fB--msgbox \fItext height width" -A \fBmessage\fP box is very similar to a \fByes/no\fP box. -The only difference between a \fBmessage\fP box and a \fByes/no\fP -box is that a \fBmessage\fP box has only a single \fBOK\fP button. -You can use this dialog box to display any message you like. -After reading the message, the user can press the \fIENTER\fP key so that -\fB\*p\fP will exit and the calling shell script can continue its operation. -.IP -If the message is too large for the space, -\fB\*p\fP may allow you to scroll it, -provided that the underlying curses implementation is capable enough. -In this case, a percentage is shown in the base of the widget. -.IP -On exit, no text is written to \fB\*p\fP's output. -Only an \*(``OK\*('' button is provided for input, -but an ESC exit status may be returned. -. -.IP "\fB\-\-pause \fItext height width seconds\fR" -A -\fBpause\fP -box displays a meter along the bottom of the box. -The meter indicates how many seconds remain until the end of the pause. -The pause exits when timeout is reached -or the user presses the OK button -(status OK) -or the user presses the CANCEL button -or Esc key. -.IP "\fB--passwordbox \fItext height width [init]" -A \fBpassword\fP box is similar to an input box, -except that the text the user enters is not displayed. -This is useful when prompting for passwords or other -sensitive information. -Be aware that if anything is passed in \*(``init\*('', it -will be visible in the system's process table to casual snoopers. -Also, it -is very confusing to the user to provide them with a default password they -cannot see. -For these reasons, using \*(``init\*('' is highly discouraged. -See \*(``\fB\-\-insecure\fP\*('' if you do not care about your password. -.IP -On exit, the input string will be printed on \fB\*p\fP's output. -. -. -.nf -.IP "\fB\-\-passwordform \fItext height width formheight \fR[ \fIlabel y x item y x flen ilen \fR] \fI..." -.fi -This is identical to \fB\-\-form\fP except that all text fields are -treated as \fBpassword\fP widgets rather than \fBinputbox\fP widgets. -. -. -.IP "\fB--prgbox \fItext command height width" -.IP "\fB--prgbox \fIcommand height width" -A \fBprgbox\fP is very similar to a \fBprogrambox\fP. -.IP -This dialog box is used to display the output of a command that is -specified as an argument to \fBprgbox\fP. -.IP -After the command completes, the user can press the \fIENTER\fP key so that -\fB\*l\fP will exit and the calling shell script can continue its operation. -.IP -If four parameters are given, it displays the text under the title, -delineated from the scrolling file's contents. -If only three parameters are given, this text is omitted. -. -. -.IP "\fB--programbox \fItext height width" -.IP "\fB--programbox \fIheight width" -A \fBprogrambox\fP is very similar to a \fBprogressbox\fP. -The only difference between a \fBprogram\fP box and a \fBprogress\fP -box is that a \fBprogram\fP box displays an \fBOK\fP button -(but only after the command completes). -.IP -This dialog box is used to display the piped output of a command. -After the command completes, the user can press the \fIENTER\fP key so that -\fB\*l\fP will exit and the calling shell script can continue its operation. -.IP -If three parameters are given, it displays the text under the title, -delineated from the scrolling file's contents. -If only two parameters are given, this text is omitted. -. -. -.IP "\fB--progressbox \fItext height width" -.IP "\fB--progressbox \fIheight width" -A \fBprogressbox\fP is similar to an \fBtailbox\fP, -except that -.RS -.TP 3 -a) rather than displaying the contents of a file, -it displays the piped output of a command and -.TP 3 -b) it will exit when it reaches the end of the file -(there is no \*(``OK\*('' button). -.RE -.IP -If three parameters are given, it displays the text under the title, -delineated from the scrolling file's contents. -If only two parameters are given, this text is omitted. -. -. -.IP "\fB\-\-radiolist \fItext height width list-height \fR [ \fItag item status \fR] \fI..." -A \fBradiolist\fP box is similar to a \fBmenu\fP box. -The only difference is -that you can indicate which entry is currently selected, by setting its -.IR status " to " on "." -.IP -On exit, the tag of the selected item is written to \fB\*p\fP's output. -. -. -.nf -.IP "\fB--rangebox \fItext height width min-value max-value default-value" -.fi -Allow the user to select from a range of values, e.g., using a slider. -The dialog shows the current value as a bar (like the gauge dialog). -Tabs or arrow keys move the cursor between the buttons and the value. -When the cursor is on the value, -you can edit it by: -.RS -.TP 5 -left/right cursor movement to select a digit to modify -.TP 5 -+/- -characters to increment/decrement the digit by one -.TP 5 -0 through 9 -to set the digit to the given value -.RE -.IP -Some keys are also recognized in all cursor positions: -.RS -.TP 5 -home/end -set the value to its maximum or minimum -.TP 5 -pageup/pagedown -increment the value so that the slider moves by one column -.RE -. -. -.IP "\fB--tailbox \fIfile height width" -Display text from a file in a dialog box, -as in a \*(``tail -f\*('' command. -Scroll left/right using vi-style 'h' and 'l', or arrow-keys. -A '0' resets the scrolling. -.IP -On exit, no text is written to \fB\*p\fP's output. -Only an \*(``OK\*('' button is provided for input, -but an ESC exit status may be returned. -. -. -.IP "\fB--tailboxbg \fIfile height width" -Display text from a file in a dialog box as a background task, -as in a \*(``tail -f &\*('' command. -Scroll left/right using vi-style 'h' and 'l', or arrow-keys. -A '0' resets the scrolling. -.IP -\*L treats the background task specially if there are other -widgets (\fB\-\-and\-widget\fP) on the screen concurrently. -Until those widgets are closed (e.g., an \*(``OK\*(''), -\fB\*p\fP will perform all of the tailboxbg widgets in the same process, -polling for updates. -You may use a tab to traverse between the widgets on the screen, -and close them individually, e.g., by pressing \fIENTER\fP. -Once the non-tailboxbg widgets are closed, -\fB\*p\fP forks a copy of itself into the background, -and prints its process id if the \*(``\fB\-\-no\-kill\fP\*('' option -is given. -.IP -On exit, no text is written to \fB\*p\fP's output. -Only an \*(``EXIT\*('' button is provided for input, -but an ESC exit status may be returned. -.IP -NOTE: -Older versions of \fB\*p\fP forked immediately and attempted to -update the screen individually. -Besides being bad for performance, -it was unworkable. -Some older scripts may not work properly with the polled scheme. -. -. -.IP "\fB--textbox \fIfile height width" -A -\fBtext\fP -box lets you display the contents of a text file in a dialog box. -It is like a simple text file viewer. -The user can move through the file by using the -cursor, page-up, page-down -and \fIHOME/END\fR keys available on most keyboards. -If the lines are too long to be displayed in the box, -the \fILEFT/RIGHT\fP -keys can be used to scroll the text region horizontally. -You may also use vi-style keys h, j, k, and l in place of the cursor keys, -and B or N in place of the page-up and page-down keys. -Scroll up/down using vi-style 'k' and 'j', or arrow-keys. -Scroll left/right using vi-style 'h' and 'l', or arrow-keys. -A '0' resets the left/right scrolling. -For more convenience, -vi-style forward and backward searching functions are also provided. -.IP -On exit, no text is written to \fB\*p\fP's output. -Only an \*(``EXIT\*('' button is provided for input, -but an ESC exit status may be returned. -. -. -.IP "\fB--timebox \fItext height [width hour minute second]" -A dialog is displayed which allows you to select hour, minute and second. -If the values for hour, minute or second are missing or negative, -the current date's corresponding values are used. -You can increment or decrement any of those using the -left-, up-, right- and down-arrows. -Use tab or backtab to move between windows. -.IP -On exit, the result is printed in the form hour:minute:second. -The format can be overridden using the \fB\-\-time\-format\fP option. -. -. -.IP "\fB\-\-treeview \fItext height width list-height \fR[ \fItag item status depth \fR] \fI..." -Display data organized as a tree. -Each group of data contains a tag, -the text to display for the item, -its status (\*(``on\*('' or \*(``off\*('') -and the depth of the item in the tree. -.IP -Only one item can be selected (like the \fBradiolist\fP). -The tag is not displayed. -.IP -On exit, the tag of the selected item is written to \fB\*p\fP's output. -. -. -.IP "\fB--yesno \fItext height width" -A \fByes/no\fP dialog box of -size \fIheight\fP rows by \fIwidth\fP columns will be displayed. -The string specified by -\fItext\fP -is displayed inside the dialog box. -If this string is too long to fit -in one line, it will be automatically divided into multiple lines at -appropriate places. -The -\fItext\fP -string can also contain the sub-string -.RI """" \en """" -or newline characters -.RI ` \en ' -to control line breaking explicitly. -This dialog box is useful for -asking questions that require the user to answer either yes or no. -The dialog box has a -\fBYes\fP -button and a -\fBNo\fP -button, in which the user can switch between by pressing the -.IR TAB " key." -.IP -On exit, no text is written to \fB\*p\fP's output. -In addition to the \*(``Yes\*('' and \*(``No\*('' exit codes (see DIAGNOSTICS) -an ESC exit status may be returned. -.IP -The codes used for \*(``Yes\*('' and \*(``No\*('' -match those used for \*(``OK\*('' and \*(``Cancel\*('', -internally no distinction is made. -. -.\" ************************************************************************ -.SS "Obsolete Options" -.\" from cdialog 0.9a (Pako) -.IP "\fB--beep" -This was used to tell the original cdialog that it should make a beep -when the separate processes of the tailboxbg widget would repaint the screen. -. -.\" from cdialog 0.9a (Pako) -.IP "\fB--beep-after" -Beep after a user has completed a widget by pressing one of the buttons. -. -.\" ************************************************************************ -.SS "Whitespace Options" -.PP -These options can be used to transform whitespace (space, tab, newline) -as dialog reads the script: -.RS -.BR --cr-wrap , -.BR --no-collapse , -.BR --no-nl-expand ", and" -.B --trim -.RE -.PP -The options are not independent: -.bP -\fB\*L\fP checks if the script contains at least one \*(``\en\*('' -and (unless \fB\-\-no\-nl\-expand\fP is set) will ignore the -\fB\-\-no\-collapse\fP and \fB\-\-trim\fP options. -.bP -After checking for \*(``\en\*('' and the \fB\-\-no\-nl\-expand\fP option, -\fB\*l\fP handles the \fB\-\-trim\fP option. -.IP -If the \fB\-\-trim\fP option takes effect, -then \fB\*l\fP ignores \fB\-\-no\-collapse\fP. -It changes sequences of tabs, spaces -(and newlines unless \fB\-cr\-wrap\fP is set) to a single space. -.bP -If neither the \*(``\en\*('' or \fB\-\-trim\fP cases apply, -\fB\*l\fP checks \fB\-\-no\-collapse\fP to decide whether to reduce -sequences of tabs and spaces to a single space. -.IP -In this case, \fB\*l\fP ignores \fB\-\-cr\-wrap\fP and does not modify newlines. -.PP -Taking those dependencies into account, -here is a table summarizing the behavior -for the various combinations of options. -The table assumes that the script contains at least one \*(``\en\*('' -when the \fB\-\-no\-nl\-expand\fP option is not set. -.na -.RS 5 -.TS -tab(/) ; -lB lB lB lB lB -lB lB lB lB lB -_ _ _ _ _ -lw4 lw4 lw4 lw4 lw29. -cr-/no-/no-/trim/Result -wrap/collapse/nl-expand -no/no/no/no/T{ -Convert tab to space. -Convert newline to space. -Convert \*(``\en\*('' to newline. -T} -no/no/no/yes/T{ -Convert tab to space. -Convert newline to space. -Convert \*(``\en\*('' to newline. -T} -no/no/yes/no/T{ -Convert tab to space. -Do not convert newline to space. -Convert multiple-space to single. -Show \*(``\en\*('' literally. -T} -no/no/yes/yes/T{ -Convert tab to space. -Convert multiple-space to single. -Convert newline to space. -Show \*(``\en\*('' literally. -T} -no/yes/no/no/T{ -Convert newline to space. -Convert \*(``\en\*('' to newline. -T} -no/yes/no/yes/T{ -Convert newline to space. -Convert \*(``\en\*('' to newline. -T} -no/yes/yes/no/T{ -Do not convert newline to space. -Do not reduce multiple blanks. -Show \*(``\en\*('' literally. -T} -no/yes/yes/yes/T{ -Convert multiple-space to single. -Convert newline to space. -Show \*(``\en\*('' literally. -T} -yes/no/no/no/T{ -Convert tab to space. -Wrap on newline. -Convert \*(``\en\*('' to newline. -T} -yes/no/no/yes/T{ -Convert tab to space. -Wrap on newline. -Convert \*(``\en\*('' to newline. -T} -yes/no/yes/no/T{ -Convert tab to space. -Do not convert newline to space. -Convert multiple-space to single. -Show \*(``\en\*('' literally. -T} -yes/no/yes/yes/T{ -Convert tab to space. -Convert multiple-space to single. -Wrap on newline. -Show \*(``\en\*('' literally. -T} -yes/yes/no/no/T{ -Wrap on newline. -Convert \*(``\en\*('' to newline. -T} -yes/yes/no/yes/T{ -Wrap on newline. -Convert \*(``\en\*('' to newline. -T} -yes/yes/yes/no/T{ -Do not convert newline to space. -Do not reduce multiple blanks. -Show \*(``\en\*('' literally. -T} -yes/yes/yes/yes/T{ -Convert multiple-space to single. -Wrap on newline. -Show \*(``\en\*('' literally. -T} -.TE -.RE -.ad -. -.\" ************************************************************************ -.SH "RUN-TIME CONFIGURATION" -.TP 4 -1. -Create a sample configuration file by typing: -.LP -.Ex -\*p \-\-create\-rc \fIfile\fP -.Ee -.TP 4 -2. -At start, -\fB\*p\fP -determines the settings to use as follows: -.RS -.TP 4 -a) -if environment variable -\fBDIALOGRC\fP -is set, its value determines the name of the configuration file. -.TP 4 -b) -if the file in (a) is not found, use the file -\fI$HOME/.dialogrc\fP -as the configuration file. -.TP 4 -c) -if the file in (b) is not found, try using the GLOBALRC file determined at -compile-time, i.e., \fI/etc/dialogrc\fP. -.TP 4 -d) -if the file in (c) is not found, use compiled in defaults. -.RE -.TP 4 -3. -Edit the sample configuration file and copy it to some place that -\fB\*p\fP -can find, as stated in step 2 above. -. -.\" ************************************************************************ -.SH "KEY BINDINGS" -You can override or add to key bindings in \fB\*p\fP -by adding to the configuration file. -\fB\*L\fP's \fBbindkey\fP command maps single keys to its internal coding. -.Ex -bindkey \fIwidget\fP \fIcurses_key\fP \fIdialog_key\fP -.Ee -.PP -The \fIwidget\fP name can be \*(``*\*('' (all widgets), or -specific widgets such as \fBtextbox\fP. -Specific widget bindings override the \*(``*\*('' bindings. -User-defined bindings override the built-in bindings. -.PP -The \fIcurses_key\fP can be expressed in different forms: -.bP -It may be any of the names derived from -\fBcurses.h\fP, e.g., \*(``HELP\*('' from \*(``KEY_HELP\*(''. -.bP -\fB\*L\fP also recognizes ANSI control characters -such as \*(``^A\*('', \*(``^?\*('', -as well as C1-controls such as \*(``~A\*('' and \*(``~?\*(''. -.bP -Finally, \fB\*l\fP allows backslash escapes as in C. -Those can be octal character values such as \*(``\\033\*('' -(the ASCII escape character), -or the characters listed in this table: -.RS 10 -.TS -tab(/) ; -lI lI -_ _ -l l . -Escaped/Actual -\\b/backspace -\\f/form feed -\\n/new line (line feed) -\\r/carriage return -\\s/space -\\t/tab -\\^/\*(``^\*('' (caret) -\\?/\*(``?\*('' (question mark) -\\\\/\*(``\\\*('' (backslash) -_ -.TE -.RE -.PP -\fB\*L\fP's internal keycode names correspond to the -\fBDLG_KEYS_ENUM\fP type in -\fBdlg_keys.h\fP, e.g., \*(``HELP\*('' from \*(``DLGK_HELP\*(''. -.SS Widget Names -.PP -Some widgets (such as the formbox) have an area where fields can be edited. -Those are managed in a subwindow of the widget, and -may have separate keybindings from the main widget -because the subwindows are registered using a different name. -.RS 5 -.TS -tab(/) ; -lI lI lI -_ _ _ -l l l . -Widget/Window name/Subwindow Name -calendar/calendar -checklist/checklist -editbox/editbox/editbox2 -form/formbox/formfield -fselect/fselect/fselect2 -inputbox/inputbox/inputbox2 -menu/menubox/menu -msgbox/msgbox -pause/pause -progressbox/progressbox -radiolist/radiolist -tailbox/tailbox -textbox/textbox/searchbox -timebox/timebox -yesno/yesno -_ -.TE -.RE -.PP -Some widgets are actually other widgets, -using internal settings to modify the behavior. -Those use the same widget name as the actual widget: -.RS 5 -.TS -tab(/) ; -lI lI -_ _ -l l . -Widget/Actual Widget -dselect/fselect -infobox/msgbox -inputmenu/menu -mixedform/form -passwordbox/inputbox -passwordform/form -prgbox/progressbox -programbox/progressbox -tailboxbg/tailbox -_ -.TE -.RE -.SS Built-in Bindings -This manual page does not list the key bindings for each widget, -because that detailed information can be obtained by running \fB\*p\fP. -If you have set the \fB\-\-trace\fP option, -\fB\*p\fP writes the key-binding information for each widget -as it is registered. -.SS Example -Normally \fB\*p\fP uses different keys for navigating between the buttons -and editing part of a dialog versus navigating within the editing part. -That is, tab (and back-tab) traverse buttons -(or between buttons and the editing part), -while arrow keys traverse fields within the editing part. -Tabs are also recognized as a special case for traversing between -widgets, e.g., when using multiple tailboxbg widgets. -.PP -Some users may wish to use the same key for traversing within the -editing part as for traversing between buttons. -The form widget is written to support this sort of redefinition of -the keys, by adding a special group in \fBdlgk_keys.h\fP -for \*(``form\*('' (left/right/next/prev). -Here is an example binding demonstrating how to do this: -.Ex -bindkey formfield TAB form_NEXT -bindkey formbox TAB form_NEXT -bindkey formfield BTAB form_prev -bindkey formbox BTAB form_prev -.Ee -.PP -That type of redefinition would not be useful in other widgets, -e.g., calendar, due to the potentially large number of fields to traverse. -. -.\" ************************************************************************ -.SH ENVIRONMENT -.TP 15 -\fBDIALOGOPTS\fP -Define this variable to apply any of the common options to each widget. -Most of the common options are reset before processing each widget. -If you set the options in this environment variable, -they are applied to \fB\*p\fP's state after the reset. -As in the \*(``\fB\-\-file\fP\*('' option, -double-quotes and backslashes are interpreted. -.IP -The \*(``\fB\-\-file\fP\*('' option is not considered a common option -(so you cannot embed it within this environment variable). -.TP 15 -\fBDIALOGRC\fP -Define this variable if you want to specify the name of the configuration file -to use. -.TP 15 -\fBDIALOG_CANCEL\fP -.TP 15 -\fBDIALOG_ERROR\fP -.TP 15 -\fBDIALOG_ESC\fP -.TP 15 -\fBDIALOG_EXTRA\fP -.TP 15 -\fBDIALOG_HELP\fP -.TP 15 -\fBDIALOG_ITEM_HELP\fP -.TP 15 -\fBDIALOG_TIMEOUT\fP -.TP 15 -\fBDIALOG_OK\fP -Define any of these variables to change the exit code on -.RS -.bP -Cancel (1), -.bP -error (\-1), -.bP -ESC (255), -.bP -Extra (3), -.bP -Help (2), -.bP -Help with \fB\-\-item\-help\fP (2), -.bP -Timeout (5), or -.bP -OK (0). -.RE -.IP -Normally shell scripts cannot distinguish between \-1 and 255. -.TP 15 -\fBDIALOG_TTY\fP -Set this variable to \*(``1\*('' to provide compatibility with older versions -of \fB\*p\fP which assumed that if the script redirects the standard output, -that the \*(``\fB\-\-stdout\fP\*('' option was given. -.SH FILES -.TP 20 -\fI$HOME/.dialogrc\fP -default configuration file -.SH EXAMPLES -The \fB\*p\fP sources contain several samples -of how to use the different box options and how they look. -Just take a look into the directory \fBsamples/\fP of the source. -.SH DIAGNOSTICS -Exit status is subject to being overridden by environment variables. -The default values and corresponding environment variables -that can override them are: -.TP 5 -0 -if the \fBYES\fP or \fBOK\fP button is pressed (DIALOG_OK). -.TP 5 -1 -if the -.BR No " or " Cancel -button is pressed (DIALOG_CANCEL). -.TP 5 -2 -if the -.B Help -button is pressed (DIALOG_HELP), -.br -except as noted below about DIALOG_ITEM_HELP. -.TP 5 -3 -if the -.B Extra -button is pressed (DIALOG_EXTRA). -.TP 5 -4 -if the -.B Help -button is pressed, -.br -and the \fB\-\-item\-help\fP option is set -.br -and the DIALOG_ITEM_HELP environment variable is set to 4. -.IP -While any of the exit-codes can be overridden using environment variables, -this special case was introduced in 2004 to simplify compatibility. -\fB\*L\fP uses DIALOG_ITEM_HELP(4) internally, -but unless the environment variable is also set, -it changes that to DIALOG_HELP(2) on exit. -.TP 5 -5 -if a timeout expires and the \fBDIALOG_TIMEOUT\fP variable is set to 5. -.TP 5 -\-1 -if errors occur inside \fB\*p\fP (DIALOG_ERROR) -or \fB\*p\fP exits because the \fIESC\fP key (DIALOG_ESC) was pressed. -. -.\" ************************************************************************ -.SH PORTABILITY -\fB\*L\fP works with X/Open curses. -However, some implementations have deficiencies: -.RS 3 -.bP -HPUX curses (and perhaps others) do not open the terminal properly for -the \fInewterm\fP function. -This interferes with \fB\*p\fP's \fB\-\-input\-fd\fP option, -by preventing cursor-keys and similar escape sequences from being recognized. -.bP -NetBSD 5.1 curses has incomplete support for wide-characters. -\fB\*p\fP will build, but not all examples display properly. -.RE -.\" ************************************************************************ -.SH COMPATIBILITY -You may want to write scripts which run with -other \fB\*l\fP \*(``clones\*(''. -.SS Original Dialog -First, there is the \*(``original\*('' \fB\*p\fP program to consider -(versions 0.3 to 0.9). -It had some misspelled (or inconsistent) options. -The \fB\*p\fP program maps those deprecated options to the preferred ones. -They include: -.RS -.TS -tab(/) ; -lI lI -_ _ -l l. -Option/Treatment -\fB\-\-beep\-after\fP/ignored -\fB\-\-guage\fP/mapped to \fB\-\-gauge\fP -_ -.TE -.RE -.SS Xdialog -This is an X application, rather than a terminal program. -With some care, it is possible to write useful scripts that work -with both \fBXdialog\fP and \fB\*p\fP. -.PP -The \fB\*p\fP program ignores these options which are recognized -by \fBXdialog\fP: -.RS -.TS -tab(/) ; -lI lI -_ _ -l l. -Option/Treatment -\fB\-\-allow\-close\fP/ignored -\fB\-\-auto\-placement\fP/ignored -\fB\-\-fixed\-font\fP/ignored -\fB\-\-icon\fP/ignored -\fB\-\-keep\-colors\fP/ignored -\fB\-\-no\-close\fP/ignored -\fB\-\-no\-cr\-wrap\fP/ignored -\fB\-\-screen\-center\fP/ignored -\fB\-\-separator\fP/mapped to \fB\-\-separate\-output\fP -\fB\-\-smooth\fP/ignored -\fB\-\-under\-mouse\fP/ignored -\fB\-\-wmclass\fP/ignored -_ -.TE -.RE -.PP -\fBXdialog\fP's manpage has a section discussing its compatibility -with \fB\*p\fP. -There are some differences not shown in the manpage. -For example, the html documentation states -.RS -.PP -Note: former Xdialog releases used the \*(``\en\*('' (line feed) as a -results separator for the checklist widget; -this has been changed to \*(``/\*('' in Xdialog v1.5.0 -to make it compatible with (c)dialog. -In your old scripts using the Xdialog checklist, you -will then have to add the \fB\-\-separate\-output\fP option before the -\fB\-\-checklist\fP one. -.RE -.PP -\fB\*L\fP has not used a different separator; -the difference was likely due to confusion regarding some script. -.SS Whiptail -Then there is \fBwhiptail\fP. -For practical purposes, it is maintained by Debian -(very little work is done by its upstream developers). -Its documentation (README.whiptail) claims -.Ex -whiptail(1) is a lightweight replacement for \*p(1), -to provide dialog boxes for shell scripts. -It is built on the -newt windowing library rather than the ncurses library, allowing -it to be smaller in embedded environments such as installers, -rescue disks, etc. - -whiptail is designed to be drop-in compatible with \*p, but -has less features: some dialog boxes are not implemented, such -as tailbox, timebox, calendarbox, etc. -.Ee -.PP -Comparing actual sizes (Debian testing, 2007/1/10): -The total of sizes for \fBwhiptail\fP, -the newt, popt and slang libraries is 757\ KB. -The comparable number for \fB\*p\fP (counting ncurses) is 520\ KB. -Disregard the first paragraph. -.PP -The second paragraph is misleading, since \fBwhiptail\fP -also does not work for common options of \fB\*p\fP, -such as the gauge box. -\fBwhiptail\fP is less compatible with \fB\*p\fP than the -original mid-1990s dialog 0.4 program. -.PP -\fBwhiptail\fP's manpage borrows features from \fB\*p\fP, e.g., -but oddly cites only \fB\*p\fP versions up to 0.4 (1994) as a source. -That is, its manpage refers to features which -were borrowed from more recent versions of \fB\*p\fP, e.g., -.bP -\fB\-\-gauge\fP (from 0.5) -.bP -\fB\-\-passwordbox\fP (from Debian changes in 1999), -.bP -\fB\-\-default\-item\fP (from \fB\*p\fP 2000/02/22), -.bP -\fB\-\-output\-fd\fP (from \fB\*p\fP 2002/08/14). -.PP -Somewhat humorously, one may note that the \fBpopt\fP feature -(undocumented in its manpage) -of using a \*(``--\*('' as an escape was documented in \fB\*p\fP's manpage about -a year before it was mentioned in \fBwhiptail\fP's manpage. -\fBwhiptail\fP's manpage incorrectly attributes that to \fBgetopt\fP -(and is inaccurate anyway). -.PP -Debian uses \fBwhiptail\fP for the official \fB\*p\fP variation. -.PP -The \fB\*p\fP program ignores or maps these options which are recognized -by \fBwhiptail\fP: -.RS -.TS -tab(/) ; -lI lI -_ _ -l l. -Option/Treatment -\fB\-\-cancel\-button\fP/mapped to \fB\-\-cancel\-label\fP -\fB\-\-fb\fP/ignored -\fB\-\-fullbutton\fP/ignored -\fB\-\-no\-button\fP/mapped to \fB\-\-no\-label\fP -\fB\-\-nocancel\fP/mapped to \fB\-\-no\-cancel\fP -\fB\-\-noitem\fP/mapped to \fB\-\-no\-items\fP -\fB\-\-notags\fP/mapped to \fB\-\-no\-tags\fP -\fB\-\-ok\-button\fP/mapped to \fB\-\-ok\-label\fP -\fB\-\-scrolltext\fP/mapped to \fB\-\-scrollbar\fP -\fB\-\-topleft\fP/mapped to \fB\-\-begin 0 0\fP -\fB\-\-yes\-button\fP/mapped to \fB\-\-yes\-label\fP -_ -.TE -.RE -.LP -There are visual differences which are not addressed by command-line options: -.bP -\fB\*p\fP centers lists within the window. -\fBwhiptail\fP typically puts lists against the left margin. -.bP -\fBwhiptail\fP uses angle brackets (\*(``<\*('' and \*(``>\*('') -for marking buttons. -\fB\*p\fP uses square brackets. -.bP -\fBwhiptail\fP marks the limits of subtitles with vertical bars. -\fB\*p\fP does not mark the limits. -.bP -\fBwhiptail\fP attempts to mark the top/bottom cells of a scrollbar -with up/down arrows. -When it cannot do this, -it fills those cells with the background color -of the scrollbar and confusing the user. -\fB\*p\fP uses the entire scrollbar space, -thereby getting better resolution. -.\" ************************************************************************ -.SH BUGS -Perhaps. -.SH AUTHOR -.LP -Thomas E.\& Dickey (updates for 0.9b and beyond) -.SH CONTRIBUTORS -Kiran Cherupally \(en the mixed form and mixed gauge widgets. -.LP -Tobias C.\& Rittweiler -.LP -Valery Reznic \(en the form and progressbox widgets. -.LP -Yura Kalinichenko adapted the gauge widget as \*(``pause\*(''. -.PP -This is a rewrite (except as needed to provide compatibility) -of the earlier version of \fB\*p 0.9a\fP, -which lists as authors: -.bP -Savio Lam \(en version 0.3, \*(``dialog\*('' -.bP -Stuart Herbert \(en patch for version 0.4 -.bP -Marc Ewing \(en the gauge widget. -.bP -Pasquale De Marco \*(``Pako\*('' \(en version 0.9a, \*(``cdialog\*('' diff --git a/contrib/dialog/dialog.3 b/contrib/dialog/dialog.3 deleted file mode 100644 index efa45d0a9456..000000000000 --- a/contrib/dialog/dialog.3 +++ /dev/null @@ -1,3823 +0,0 @@ -'\" t -.\" $Id: dialog.3,v 1.138 2021/01/17 18:02:44 tom Exp $ -.\" Copyright 2005-2020,2021 Thomas E. Dickey -.\" -.\" This program is free software; you can redistribute it and/or modify -.\" it under the terms of the GNU Lesser General Public License, version 2.1 -.\" as published by the Free Software Foundation. -.\" -.\" This program is distributed in the hope that it will be useful, but -.\" WITHOUT ANY WARRANTY; without even the implied warranty of -.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -.\" Lesser General Public License for more details. -.\" -.\" You should have received a copy of the GNU Lesser General Public -.\" License along with this program; if not, write to -.\" Free Software Foundation, Inc. -.\" 51 Franklin St., Fifth Floor -.\" Boston, MA 02110, USA. -.\" -.\" definitions for renaming -.ds p dialog -.ds l dialog -.ds L Dialog -.ds D DIALOG -. -.de ES -.ne 8 -.IP -.. -.de Ex -.RS +7 -.PP -.nf -.ft CW -.. -.de Ee -.fi -.ft R -.RE -.. -.\" Bulleted paragraph -.de bP -.ie n .IP \(bu 4 -.el .IP \(bu 2 -.. -.ie \n(.g .ds `` \(lq -.el .ds `` `` -.ie \n(.g .ds '' \(rq -.el .ds '' '' -.TH \*D 3 "" "$Date: 2021/01/17 18:02:44 $" -.SH NAME -dialog \- widgets and utilities for the \*p program -.SH SYNOPSIS -.B cc [ flag ... ] file ... \-l\*l [ library ... ] -.br -\ \ \ or -.br -.B cc $(\*p\-config \-\-cflags) file ... $(\*p\-config \-\-libs) ] -.sp -.B #include <\*l.h> -.PP -\fB\*L\fP -is a program that will let you present a variety of questions or -display messages using dialog boxes from a shell script. -It is built from the \fB\*l\fP library, -which consists of several widgets -as well as utility functions that are used by the widgets -or the main program. -. -.SH DESCRIPTION -This manpage documents the features from \fI<\*l.h>\fP which -are likely to be important to developers using the widgets directly. -Some hints are also given for developing new widgets. -.PP -Here is a \fB\*l\fP version of \fIHello World\/\fP: -.RS -.nf -int main(void) -{ - int status; - init_dialog(stdin, stdout); - status = dialog_yesno( - "Hello, in dialog\-format", - "Hello World!", - 0, 0); - end_dialog(); - return status; -} -.fi -.RE -. -.\" ************************************************************************ -.SH DEFINITIONS -Exit codes (passed back to the main program for its use) -are defined with a "\fIDLG_EXIT_\fP prefix. -The efined constants can be mapped using environment variables -as described in \fB\*p\fP(1), -e.g., \fIDLG_EXIT_OK\fP corresponds to \fI$DIALOG_OK\fP. -.PP -Useful character constants which correspond to user input -are named with the "\fICHR_\fP" prefix, e.g., -\fICHR_BACKSPACE\fP. -.PP -Colors and video attributes are categorized and associated with -settings in the configuration file -(see the discussion of \fI$DIALOGRC\fP in \fB\*p\/\fP(1)). -The \fIDIALOG_ATR(n)\fP macro is used for defining the references -to the combined color and attribute table \fBdlg_color_table[]\fP. -.PP -The \fB\*p\fP application passes its command-line parameters -to the widget functions. -Some of those parameters are single values, -but some of the widgets accept data as an array of values. -Those include checklist/radiobox, menubox and formbox. -When the \fB\-\-item\-help\fP option is given, an extra column -of data is expected. -The USE_ITEM_HELP(), CHECKBOX_TAGS, MENUBOX_TAGS and FORMBOX_TAGS -macros are used to hide this difference from the calling application. -.PP -Most of the other definitions found in \fI<\*l.h>\fP -are used for convenience in building the library or main program. -These include definitions based on the generated \fI<dlg_config.h>\fP header. -. -.\" ************************************************************************ -.SH DATA STRUCTURES -All of the global data for the \fB\*l\fP library is stored in -a few structures: -\fIDIALOG_STATE\fP, \fIDIALOG_VARS\fP and \fIDIALOG_COLORS\fP. -The corresponding -\fBdialog_state\fP, \fBdialog_vars\fP and \fBdlg_color_table\fP -global variables should be initialized to zeros, -and then populated with the data to use. -A few of these must be nonzero for the corresponding widgets to function. -As as the case with function names, -variables beginning with "\fIdialog_\fP" -are designed for use by the calling application -while variables beginning with "\fIdlg_\fP" -are intended for lower levels, e.g., by the \fB\*l\fP library. -.\" --------------------------------------------------------------------------- -.SH DIALOG_STATE -The \fIstate\fP variables are \fB\*l\fP's working variables. -It initializes those, uses them to manage the widgets. -.\" --------------------------------------------------------------------------- -.SS .all_subwindows -This is a linked list of all subwindows created by the library. -The \fBdlg_del_window\fP function uses this -to free storage for subwindows when deleting a window. -.\" --------------------------------------------------------------------------- -.SS .all_windows -This is a linked list of all windows created by the library. -The \fBdlg_del_window\fP function uses this to locate windows which -may be redrawn after deleting a window. -.\" --------------------------------------------------------------------------- -.SS .aspect_ratio -This corresponds to the command-line option "\fB\-\-aspect\-ratio\fP". -The value gives the application -some control over the box dimensions when using auto -sizing (specifying 0 for height and width). -It represents width / height. -The default is 9, which means 9 characters wide to every 1 line high. -.\" --------------------------------------------------------------------------- -.SS .finish_string -When set to true, this allows calls to \fBdlg_finish_string\fP to discard the -corresponding data which is created to speed up layout computations for the -given string parameter. -The \fBgauge\fP widget uses this feature. -.\" --------------------------------------------------------------------------- -.SS .getc_callbacks -This is set up in \fIui_getc.c\fP to record windows which must be polled -for input, e.g., to handle the background tailbox widget. -One window is designated as the foreground or control window. -.\" --------------------------------------------------------------------------- -.SS .getc_redirect -If the control window for \fIDIALOG_STATE.getc_callbacks\fP is -closed, the list is transferred to this variable. -Closing all windows causes the application to exit. -.\" --------------------------------------------------------------------------- -.SS .had_resize -This is set to TRUE -in \fBdlg_will_resize\fP or \fBdlg_result_key\fP -when \fBKEY_RESIZE\fP is read, -to tell \fB\*p\fP to ignore subsequent \fBERR\fPs. -.\" --------------------------------------------------------------------------- -.SS .no_mouse -This corresponds to the command-line option "\fB\-\-no\-mouse\fP". -If true, \fB\*p\fP will not initialize (and enable) the mouse in -\fIinit_dialog\fP. -.\" --------------------------------------------------------------------------- -.SS .output -This is set in the \fB\*p\fP application to the stream on -which the application and library functions may write text results. -Normally that is the standard error, -since the curses library prefers to write its data to the standard output. -Some scripts, trading portability for convenience, -prefer to write results to the standard output, -e.g., by using the "\fB\-\-stdout\fP" option. -.\" --------------------------------------------------------------------------- -.SS .output_count -This is incremented by \fBdlg_does_output\fP, -which is called by each widget that writes text to the output. -The \fB\*p\fP application uses that to decide if it should -also write a separator, i.e., -\fIDIALOG_STATE.separate_str\fP, -between calls to each widget. -.\" --------------------------------------------------------------------------- -.SS .pipe_input -This is set in \fIinit_dialog\fP to a stream which can be used by the -\fBgauge\fP widget, which must be the application's standard input. -The \fB\*p\fP application calls \fIinit_dialog\fP normally with -\fIinput\fP set to the standard input, but optionally based on the -"\fB\-\-input\-fd\fP" option. -Since the application cannot read from -a pipe (standard input) and at the same time read -the curses input from the standard input, -it must allow for reopening the latter from either -a specific file descriptor, -or directly from the terminal. -The adjusted pipe stream value is stored in this variable. -.\" --------------------------------------------------------------------------- -.SS .screen_height -The text-formatting functions use this for the number of rows used for -formatting a string. -.LP -It is used by \fB\*l\fP for the command-line options -"\fB\-\-print\-text\-size\fP" and -"\fB\-\-print\-text\-only\fP". -.\" --------------------------------------------------------------------------- -.SS .screen_initialized -This is set in \fIinit_dialog\fP and -reset in \fIend_dialog\fP. -It is used to check if curses has been initialized, -and if the \fIendwin\fP function must be called on exit. -.\" --------------------------------------------------------------------------- -.SS .screen_output -This is set in \fIinit_dialog\fP to the output stream used -by the curses library. -Normally that is the standard output, -unless that happens to not be a terminal (and if \fIinit_dialog\fP can -successfully open the terminal directly). -.\" --------------------------------------------------------------------------- -.SS .screen_width -The text-formatting functions use this for the number of columns used for -formatting a string. -.LP -It is used by \fB\*l\fP for the command-line options -"\fB\-\-print\-text\-size\fP" and -"\fB\-\-print\-text\-only\fP". -.\" --------------------------------------------------------------------------- -.SS .separate_str -This corresponds to the command-line option "\fB\-\-separate\-widget\fP". -The given string -specifies a string that will separate the output on \fB\*p\fP's output from -each widget. -This is used to simplify parsing the result of a dialog with several widgets. -If this option is not given, -the default separator string is a tab character. -.\" --------------------------------------------------------------------------- -.SS .tab_len -This corresponds to the command-line option "\fB\-\-tab\-len\fP \fInumber\/\fP". -Specify the number of spaces that a tab character occupies if the -"\fB\-\-tab\-correct\fP" -option is given. -The default is 8. -.\" --------------------------------------------------------------------------- -.SS .text_height -The text-formatting functions set this to the number of lines used for -formatting a string. -.LP -It is used by \fB\*l\fP for the command-line options -"\fB\-\-print\-text\-size\fP" and -"\fB\-\-print\-text\-only\fP". -.\" --------------------------------------------------------------------------- -.SS .text_only -\fB\*L\fP uses this in the command-line option "\fB\-\-print\-text\-only\fP". -.LP -The text-formatting functions -(\fBdlg_print_text\fP, -\fBdlg_print_line\fP, and -\fBdlg_print_autowrap\fP) -check this to decide whether to print the formatted text to -\fB\*p\fP's output or to the curses-display. -.LP -Also, -\fBdlg_auto_size\fP checks the flag, allowing it to be used before -\fBinit_dialog\fP is called. -.\" --------------------------------------------------------------------------- -.SS .text_width -The text-formatting functions set this to the number of columns used for -formatting a string. -.LP -It is used by \fB\*l\fP for the command-line options -"\fB\-\-print\-text\-size\fP" and -"\fB\-\-print\-text\-only\fP". -.\" --------------------------------------------------------------------------- -.SS .trace_output -This corresponds to the command-line option "\fB\-\-trace\fP \fIfile\fP". -It is the file pointer to which trace messages are written. -.\" --------------------------------------------------------------------------- -.SS .use_colors -This is set in \fIinit_dialog\fP if the curses implementation supports color. -.\" --------------------------------------------------------------------------- -.SS .use_scrollbar -This corresponds to the command-line option "\fB\-\-scrollbar\fP". -If true, -draw a scrollbar to make windows holding scrolled data more readable. -.\" --------------------------------------------------------------------------- -.SS .use_shadow -This corresponds to the command-line option "\fB\-\-no\-shadow\fP". -This is set in \fIinit_dialog\fP if the curses implementation supports color. -If true, -suppress shadows that would be drawn to the right and bottom of each dialog box. -.\" --------------------------------------------------------------------------- -.SS .visit_items -This corresponds to the command-line option "\fB\-\-visit\-items\fP". -Modify the tab-traversal of the list-oriented widgets -(buildlist, checklist, radiobox, menubox, inputmenu, and treeview) -to include the list of items as one of the states. -This is useful as a visual aid, -i.e., the cursor position helps some users. -.\" --------------------------------------------------------------------------- -.PP -The \fB\*p\fP application resets the \fBdialog_vars\fP data before -accepting options to invoke each widget. -Most of the \fIDIALOG_VARS\fP members are set directly from \fB\*p\fP's -command-line options: -.\" --------------------------------------------------------------------------- -.SH -DIALOG_VARS -.PP -In contrast to \fBDIALOG_STATE\fP, the members of \fBDIALOG_VARS\fP -are set by command-line options in \fB\*p\fP. -.\" --------------------------------------------------------------------------- -.SS .ascii_lines -This corresponds to the command-line option "\fB\-\-ascii\-lines\fP. -It causes line-drawing to be done with ASCII characters, e.g., "+" and "\-". -See \fIDIALOG_VARS.no_lines\fP. -.\" --------------------------------------------------------------------------- -.SS .backtitle -This corresponds to the command-line option -"\fB\-\-backtitle\fP \fIbacktitle\/\fP". -It specifies a -\fIbacktitle\fP -string to be displayed on the backdrop, at the top of the screen. -.\" --------------------------------------------------------------------------- -.SS .beep_after_signal -This corresponds to the command-line option "\fB\-\-beep\-after\fP". -If true, beep after a user has completed a widget -by pressing one of the buttons. -.\" --------------------------------------------------------------------------- -.SS .beep_signal -This corresponds to the command-line option "\fB\-\-beep\fP". -It is obsolete. -.\" --------------------------------------------------------------------------- -.SS .begin_set -This is true if the command-line option "\fB\-\-begin\fP \fIy x\/\fP" was used. -It specifies the position of the upper left corner -of a dialog box on the screen. -.\" --------------------------------------------------------------------------- -.SS .begin_x -This corresponds to the \fIx\fP value from -the command-line option "\fB\-\-begin\fP \fIy x\/\fP" (second value). -.\" --------------------------------------------------------------------------- -.SS .begin_y -This corresponds to the \fIy\fP value from -the command-line option "\fB\-\-begin\fP \fIy x\/\fP" (first value). -.\" --------------------------------------------------------------------------- -.SS .cancel_label -This corresponds to the command-line option -"\fB--cancel-label\fP \fIstring\/\fP". -The given \fIstring\fP overrides the label used for \*(``Cancel\*('' buttons. -.\" --------------------------------------------------------------------------- -.SS .cant_kill -This corresponds to the command-line option "\fB\-\-no\-kill\fP". -If true, this tells -\fB\*p\fP -to put the -\fBtailboxbg\fP -box in the background, -printing its process id to \fB\*p\fP's output. -SIGHUP is disabled for the background process. -.\" --------------------------------------------------------------------------- -.SS .colors -This corresponds to the command-line option "\fB\-\-colors\fP". -If true, interpret embedded "\eZ" sequences in the dialog text -by the following character, -which tells \fB\*p\fP to set colors or video attributes: -0 through 7 are the ANSI codes used in curses: -black, -red, -green, -yellow, -blue, -magenta, -cyan and -white respectively. -Bold is set by 'b', reset by 'B'. -Reverse is set by 'r', reset by 'R'. -Underline is set by 'u', reset by 'U'. -The settings are cumulative, e.g., "\eZb\eZ1" makes the following text -bright red. -Restore normal settings with "\eZn". -.\" --------------------------------------------------------------------------- -.SS .column_separator -This corresponds to the command-line option "\fB\-\-column\-separator\fP". -\fB\*L\fP splits data for radio/checkboxes and menus on the -occurrences of the given string, and aligns the split data into columns. -.\" --------------------------------------------------------------------------- -.SS .cr_wrap -This corresponds to the command-line option "\fB\-\-cr\-wrap\fP". -If true, -interpret embedded newlines in the dialog text as a newline on the screen. -Otherwise, \fB\*p\fR will only wrap lines where needed -to fit inside the text box. -Even though you can control line breaks with this, -\fB\*p\fR will still wrap any lines that are too long for the width of the box. -Without cr-wrap, the layout of your text may be formatted to look nice -in the source code of your script without affecting the way it will -look in the dialog. -.\" --------------------------------------------------------------------------- -.SS .cursor_off_label -This corresponds to the command-line option "\fB\-\-cursor\-off\-label\fP". -If true, place the terminal cursor at the end of a button instead of -on the first character of the button label. -This is useful to reduce visual confusion when the cursor coloration -interacts poorly with the button-label text colors. -.\" --------------------------------------------------------------------------- -.SS .date_format -This corresponds to the command-line option -"\fB\-\-date\-format\fP \fIstring\/\fP". -If the host provides \fBstrftime\fP, and the value is nonnull, -the calendar widget uses this to format its output. -.\" --------------------------------------------------------------------------- -.SS .default_button -This is set by the command-line option "\fB\-\-default\-button\fP. -It is used by \fBdlg_default_button\fP. -.\" --------------------------------------------------------------------------- -.SS .default_item -This corresponds to the command-line option -"\fB\-\-default\-item\fP \fIstring\/\fP". -The given string is used as -the default item in a checklist, form or menu box. -Normally the first item in the box is the default. -.\" --------------------------------------------------------------------------- -.SS .defaultno -This corresponds to the command-line option "\fB\-\-defaultno\fP". -If true, -make the default value of the -\fByes/no\fP -box a -.BR No . -Likewise, treat the default button of widgets that provide -\*(``OK\*('' and \*(``Cancel\*('' -as a \fICancel\fP. -If \fB\-\-no\-cancel\fP was given that option overrides this, -making the default button always \*(``Yes\*('' -(internally the same as \*(``OK\*(''). -.\" --------------------------------------------------------------------------- -.SS .dlg_clear_screen -This corresponds to the command-line option "\fB\-\-clear\fP". -This option is implemented in the main program, not the library. -If true, -the screen will be cleared on exit. -This may be used alone, without other options. -.\" --------------------------------------------------------------------------- -.SS .erase_on_exit -This corresponds to the command-line option "\fB\-\-erase\-on\-exit\fP". -If true, remove the dialog widget on program exit, erasing the entire -screen to its native background color, and place the terminal cursor -at the lower left corner of the screen. -This is useful for making the window contents invisible at the end of -a series of dialog boxes. -But it can also be used at earlier stages of a series of invocations -of \fB\*p\fP, if the series may be aborted before it is fully completed. -.\" --------------------------------------------------------------------------- -.SS .exit_label -This corresponds to the command-line option "\fB\-\-exit\-label string\fP". -The given string overrides the label used for \*(``EXIT\*('' buttons. -.\" --------------------------------------------------------------------------- -.SS .extra_button -This corresponds to the command-line option "\fB\-\-extra\-button\fP". -If true, some widgets show an extra button, -between \*(``OK\*('' and \*(``Cancel\*('' buttons. -.\" --------------------------------------------------------------------------- -.SS .extra_label -This corresponds to the command-line option -"\fB\-\-extra\-label\fP \fIstring\/\fP". -The given string overrides the label used for \*(``Extra\*('' buttons. -Note: for inputmenu widgets, this defaults to \*(``Rename\*(''. -.\" --------------------------------------------------------------------------- -.SS .formitem_type -This is set by the command-line option "\fB\-\-passwordform\fP" -to tell the form widget that its text fields should be treated like -password widgets. -.\" --------------------------------------------------------------------------- -.SS .help_button -This corresponds to the command-line option "\fB\-\-help\-button\fP". -If true, some widgets show a help-button after -\*(``OK\*('' and \*(``Cancel\*('' buttons, -i.e., in checklist, radiolist and menu boxes. -If \fB\-\-item\-help\fR is also given, on exit -the return status will be the same as for the \*(``OK\*('' button, -and the item-help text will be written to \fB\*p\fP's output -after the token \*(``HELP\*(''. -Otherwise, the return status will indicate that the Help button was pressed, -and no message printed. -.\" --------------------------------------------------------------------------- -.SS .help_file -This corresponds to the command-line option "\fB\-\-hfile\fP \fIstring\/\fP". -The given filename is passed to \fBdialog_helpfile\fP when the user -presses F1. -.\" --------------------------------------------------------------------------- -.SS .help_label -This corresponds to the -command-line option "\fB\-\-help\-label\fP \fIstring\/\fP". -The given string overrides the label used for \*(``Help\*('' buttons. -.\" --------------------------------------------------------------------------- -.SS .help_line -This corresponds to the command-line option "\fB\-\-hline\fP \fIstring\/\fP". -The given string is displayed in the bottom of dialog windows, -like a subtitle. -.\" --------------------------------------------------------------------------- -.SS .help_status -This corresponds to the command-line option "\fB\-\-help\-status\fP". -If true, and the the help-button is selected, -writes the checklist or radiolist information -after the item-help \*(``HELP\*('' information. -This can be used to reconstruct the state of a checklist after processing -the help request. -.\" --------------------------------------------------------------------------- -.SS .help_tags -This corresponds to the command-line option "\fB\-\-help\-tags\fP". -If true, -\fBdlg_add_help_formitem\fP and -\fBdlg_add_help_listitem\fP use the item's tag value consistently -rather than using the tag's help-text value -when \fIDIALOG_VARS.item_help\fP is set. -.\" --------------------------------------------------------------------------- -.SS .input_length -This is nonzero if \fIDIALOG_VARS.input_result\fP is allocated, -versus being a pointer to the user's local variables. -.\" --------------------------------------------------------------------------- -.SS .input_menu -This flag is set to denote whether the menubox widget -implements a menu versus a inputmenu widget. -.\" --------------------------------------------------------------------------- -.SS .input_result -This may be either a user-supplied buffer, -or a buffer dynamically allocated by the library, -depending on \fIDIALOG_VARS.input_length\fP: -.bP -If \fIDIALOG_VARS.input_length\fP is zero, -this is a pointer to user buffer (on the stack, or static). -The buffer size is assumed to be \fBMAX_LEN\fP, -which is defined in \fI<\*l.h>\fP. -.bP -When \fIDIALOG_VARS.input_length\fP is nonzero, -this is a dynamically-allocated buffer used by the widgets to return -printable results to the calling application. -.LP -Certain widgets copy a result to this buffer. -If the pointer is NULL, or if the length is insufficient for -the result, then the \fB\*l\fP library allocates a buffer which is large enough, -and sets \fIDIALOG_VARS.input_length\fP. -Callers should check for this case if they have supplied their own buffer. -.\" --------------------------------------------------------------------------- -.SS .insecure -This corresponds to the command-line option "\fB\-\-insecure\fP". -If true, make the password widget friendlier but less secure, -by echoing asterisks for each character. -.\" --------------------------------------------------------------------------- -.SS .in_helpfile -This variable is used to prevent \fBdialog_helpfile\fP from showing -anything, e.g., if F1 were pressed within a help-file display. -.\" --------------------------------------------------------------------------- -.SS .iso_week -This corresponds to the command-line option "\fB\-\-iso\-week\fP". -It is used in the calendar widget to tell how -to compute the starting week for the year: -.bP -by default, the calendar treats January 1 as the first week of the year. -.bP -If this variable is true, the calendar uses ISO 8601's convention. -ISO 8601 numbers weeks starting with the first week in January with -a Thursday in the current year. -January 1 may be in the \fIprevious\fP year. -.\" --------------------------------------------------------------------------- -.SS .item_help -This corresponds to the command-line option "\fB\-\-item\-help\fP". -If true, -interpret the tags data for checklist, radiolist and menu boxes -adding a column whose text is displayed in the bottom line of the -screen, for the currently selected item. -.\" --------------------------------------------------------------------------- -.SS .keep_tite -This is set by the command-line option "\fB\-\-keep\-tite\fP" -to tell \fB\*p\fP to not attempt to cancel the terminal initialization -(termcap \fIti\/\fP/\,\fIte\/\fP) sequences -which correspond to xterm's alternate-screen switching. -Normally \fB\*p\fP does this to avoid flickering when run several times -in a script. -.\" --------------------------------------------------------------------------- -.SS .keep_window -This corresponds to the command-line option "\fB\-\-keep\-window\fP". -If true, do not remove/repaint the window on exit. -This is useful for keeping the window contents visible when several -widgets are run in the same process. -Note that curses will clear the screen when starting a new process. -.\" --------------------------------------------------------------------------- -.SS .last_key -This corresponds to the command-line option "\fB\-\-last\-key\fP". -.\" --------------------------------------------------------------------------- -.SS .max_input -This corresponds to the command-line option "\fB\-\-max\-input\fP \fIsize\/\fP". -Limit input strings to the given size. -If not specified, the limit is 2048. -.\" --------------------------------------------------------------------------- -.SS .no_hot_key -This corresponds to the command-line option "\fB\-\-no\-hot\-list\fP". -.LP -Some widgets -(buildlist, -checklist, -inputmenu, -menu, -radiolist, -treeview) -display a list -for which the leading capital letter in each entry is accepted as a hot-key, -to quickly move the focus to that entry. -.LP -Setting this variable to TRUE disables the feature. -.\" --------------------------------------------------------------------------- -.SS .no_items -This corresponds to the command-line option "\fB\-\-no\-items\fP". -Some widgets (checklist, inputmenu, radiolist, menu) display a list -with two columns (a \*(``tag\*('' and \*(``item\*('', -i.e., \*(``description\*(''). -This tells \fB\*p\fP to read shorter rows from data, -omitting the \*(``list\*(''. -.\" --------------------------------------------------------------------------- -.SS .no_label -This corresponds to the command-line -option "\fB\-\-no\-label\fP \fIstring\/\fP". -The given string overrides the label used for \*(``No\*('' buttons. -.\" --------------------------------------------------------------------------- -.SS .no_lines -This corresponds to the command-line option "\fB\-\-no\-lines\fP. -It suppresses line-drawing. -See \fIDIALOG_VARS.ascii_lines\fP. -.\" --------------------------------------------------------------------------- -.SS .no_nl_expand -This corresponds to the command-line option "\fB\-\-no\-nl\-expand\fP". -If false, \fBdlg_trim_string\fP converts literal "\en" substrings -in a message into newlines. -.\" --------------------------------------------------------------------------- -.SS .no_tags -This corresponds to the command-line option "\fB\-\-no\-tags\fP". -Some widgets (checklist, inputmenu, radiolist, menu) display a list -with two columns (a \*(``tag\*('' and \*(``item\*('', -also known as \*(``description\*(''). -The tag is useful for scripting, but may not help the user. -The \fB\-\-no\-tags\fP option (from Xdialog) may be used to suppress the -column of tags from the display. -.LP -Normally \fB\*p\fP allows you to quickly move to entries on the displayed list, -by matching a single character to the first character of the tag. -When the \fB\-\-no\-tags\fP option is given, \fB\*p\fP matches against -the first character of the description. -In either case, the matchable character is highlighted. -.LP -Here is a table showing how the no_tags and no_items values interact: -.TS -tab(/); -l l l l l -l l l n n. -Widget/Fields Shown/Fields Read/.no_items/.no_tags -_ -buildlist/item/tag,item/0/0* -buildlist/item/tag,item/0/1 -buildlist/tag/tag/1/0* -buildlist/tag/tag/1/1 -checklist/tag,item/tag,item/0/0 -checklist/item/tag,item/0/1 -checklist/tag/tag/1/0 -checklist/tag/tag/1/1 -inputmenu/tag,item/tag,item/0/0 -inputmenu/item/tag,item/0/1 -inputmenu/tag/tag/1/0 -inputmenu/tag/tag/1/1 -menu/tag,item/tag,item/0/0 -menu/item/tag,item/0/1 -menu/tag/tag/1/0 -menu/tag/tag/1/1 -radiolist/tag,item/tag,item/0/0 -radiolist/item/tag,item/0/1 -radiolist/tag/tag/1/0 -radiolist/tag/tag/1/1 -treeview/item/tag,item/0/0* -treeview/item/tag,item/0/1 -treeview/tag/tag/1/0* -treeview/tag/tag/1/1 -_ -.TE -.TP 2 -* -Xdialog does not display the tag column for the analogous buildlist -and treeview widgets. -\fB\*L\fP does the same on the command-line. -However the library interface defaults to displaying the tag column. -Your application can enable or disable the tag column as needed for each widget. -.\" --------------------------------------------------------------------------- -.SS .nocancel -This corresponds to the command-line option "\fB\-\-no\-cancel\fP". -If true, -suppress the \*(``Cancel\*('' button in checklist, inputbox and menu box modes. -A script can still test if the user pressed the ESC key to cancel to quit. -.\" --------------------------------------------------------------------------- -.SS .nocollapse -This corresponds to the command-line option "\fB\-\-no\-collapse\fP". -Normally \fB\*p\fR converts tabs to spaces and reduces multiple -spaces to a single space for text which is displayed in a message boxes, etc. -It true, that feature is disabled. -Note that \fB\*p\fR will still wrap text, subject to the \fB\-\-cr\-wrap\fR -option. -.\" --------------------------------------------------------------------------- -.SS .nook -This corresponds to the command-line option "\fB\-\-no\-ok\fP. -\fB\*L\fP will suppress the \*(``ok\*('' (or \*(``yes\*('') button -from the widget. -.\" --------------------------------------------------------------------------- -.SS .ok_label -This corresponds to the command-line -option "\fB\-\-ok\-label\fP \fIstring\/\fP". -The given string overrides the label used for \*(``OK\*('' buttons. -.\" --------------------------------------------------------------------------- -.SS .pause_secs -When set, force \fBdlg_set_timeout\fP to use 10 milliseconds -rather than using the \fIDIALOG_VARS.timeout_secs\fP value. -.\" --------------------------------------------------------------------------- -.SS .print_siz -This corresponds to the command-line option "\fB\-\-print\-size\fP". -If true, -each widget prints its size to \fB\*p\fP's output when it is invoked. -.\" --------------------------------------------------------------------------- -.SS .quoted -This corresponds to the command-line option "\fB\-\-quoted\fP. -Normally \fB\*p\fP quotes the strings returned by checklist's -as well as the item-help text. -If true, \fB\*p\fP will quote all string results. -.\" --------------------------------------------------------------------------- -.SS .reorder -This corresponds to the command-line option "\fB\-\-reorder\fP. -By default, the buildlist widget uses the same order for the output (right) -list as for the input (left). -If true, \fB\*p\fP will use the order in which a user adds selections -to the output list. -.\" --------------------------------------------------------------------------- -.SS .separate_output -This corresponds to the command-line option "\fB\-\-separate\-output\fP". -If true, -checklist widgets output result one line at a time, with no quoting. -This facilitates parsing by another program. -.\" --------------------------------------------------------------------------- -.SS .single_quoted -This corresponds to the command-line option "\fB\-\-single\-quoted\fP". -If true, -use single-quoting as needed (and no quotes if unneeded) for the -output of checklist's as well as the item-help text. -If this option is not set, \fB\*p\fP uses double quotes around each item. -The latter requires occasional use of backslashes to make the output useful in -shell scripts. -.\" --------------------------------------------------------------------------- -.SS .size_err -This corresponds to the command-line option "\fB\-\-size\-err\fP". -If true, -check the resulting size of a dialog box before trying to use it, -printing the resulting size if it is larger than the screen. -(This option is obsolete, since all new-window calls are checked). -.\" --------------------------------------------------------------------------- -.SS .sleep_secs -This corresponds to the command-line option "\fB\-\-sleep\fP \fIsecs\/\fP". -This option is implemented in the main program, not the library. -If nonzero, this is the number of seconds after to delay -after processing a dialog box. -.\" --------------------------------------------------------------------------- -.SS .tab_correct -This corresponds to the command-line option "\fB\-\-tab-correct\fP". -If true, convert each tab character of the text to one or more spaces. -Otherwise, tabs are rendered according to the curses library's interpretation. -.\" --------------------------------------------------------------------------- -.SS .time_format -This corresponds to the command-line option -"\fB\-\-time\-format\fP \fIstring\/\fP". -If the host provides \fBstrftime\fP, and the value is nonnull, -the timebox widget uses this to format its output. -.\" --------------------------------------------------------------------------- -.SS .timeout_secs -This corresponds to the command-line option "\fB\-\-timeout\fP \fIsecs\/\fP". -If nonzero, timeout input requests (exit with error code) -if no user response within the given number of seconds. -.\" --------------------------------------------------------------------------- -.SS .title -This corresponds to the command-line option "\fB\-\-title\fP \fItitle\/\fP". -Specifies a -\fItitle\fP -string to be displayed at the top of the dialog box. -.\" --------------------------------------------------------------------------- -.SS .trim_whitespace -This corresponds to the command-line option "\fB\-\-trim\fP". -If true, eliminate leading blanks, -trim literal newlines and repeated blanks from message text. -.\" --------------------------------------------------------------------------- -.SS .week_start -This corresponds to the command-line option "\fB\-\-week\-start\fP". -It is used in the calendar widget to set the starting day for the week. -The string value can be -.bP -a number (0 to 6, Sunday through Saturday using POSIX) or -.bP -the special value \*(``locale\*('' (this works with systems using glibc, -providing an extension to the \fBlocale\fP command, -the \fBfirst_weekday\fP value). -.bP -a string matching one of the abbreviations for the day of the week -shown in the \fBcalendar\fP widget, e.g., \*(``Mo\*('' for \*(``Monday\*(''. -.\" --------------------------------------------------------------------------- -.SS .yes_label -This corresponds to the command-line -option "\fB\-\-yes\-label\fP \fIstring\/\fP". -The given string overrides the label used for \*(``Yes\*('' buttons. -. -.\" ************************************************************************ -.\" ************************************************************************ -.SH WIDGETS -Functions that implement major functionality for the command-line \fB\*p\fP -program, e.g., widgets, have names beginning "\fIdialog_\fP". -.PP -All dialog boxes have at least three parameters: -.RS 3 -.TP 5 -\fItitle\fP -the caption for the box, shown on its top border. -.TP 5 -\fIheight\fP -the height of the dialog box. -.TP 5 -\fIwidth\fP -the width of the dialog box. -.RE -.PP -Other parameters depend on the box type. -. -.\" ************************************************************************ -.SS dialog_buildlist -implements the "\fB\-\-buildlist\fP" option. -.TP 5 -.B const char * \fItitle -is the title on the top of the widget. -.TP 5 -.B const char * \fIcprompt -is the prompt text shown within the widget. -.TP 5 -.B int \fIheight -is the desired height of the box. -If zero, the height is adjusted to use the available screen size. -.TP 5 -.B int \fIwidth -is the desired width of the box. -If zero, the height is adjusted to use the available screen size. -.TP 5 -.B int \fIlist_height -is the minimum height to reserve for displaying the list. -If zero, it is computed based on the given \fIheight\fP and \fIwidth\fP. -.TP 5 -.B int \fIitem_no -is the number of rows in \fIitems\fP. -.TP 5 -.B char ** \fIitems -is an array of strings which is viewed either as a list of rows -.RS -\fItag item status\fR -.RE -.IP -or -.RS -\fItag item status help\fR -.RE -.IP -depending on whether \fBdialog_vars.item_help\fP is set. -.TP 5 -.B int \fIorder_mode -is reserved for future enhancements -. -.\" ************************************************************************ -.SS dialog_calendar -implements the "\fB\-\-calendar\fP" option. -.TP 5 -.B const char * \fItitle -is the title on the top of the widget. -.TP 5 -.B const char * \fIsubtitle -is the prompt text shown within the widget. -.TP 5 -.B int \fIheight -is the height excluding the fixed-height calendar grid. -.TP 5 -.B int \fIwidth -is the overall width of the box, -which is adjusted up to the calendar grid's minimum width if needed. -.TP 5 -.B int \fIday -is the initial day of the week shown, -counting zero as Sunday. -If the value is negative, the current day of the week is used. -.TP 5 -.B int \fImonth -is the initial month of the year shown, -counting one as January. -If the value is negative, the current month of the year is used. -.TP 5 -.B int \fIyear -is the initial year shown. -If the value is negative, the current year is used. -.\" ************************************************************************ -.SS dialog_checklist -implements the "\fB\-\-checklist\fP" and "\fB\-\-radiolist\fP" options -depending on the \fIflag\fP parameter. -.TP 5 -.B const char * \fItitle -is the title on the top of the widget. -.TP 5 -.B const char * \fIcprompt -is the prompt text shown within the widget. -.TP 5 -.B int \fIheight -is the desired height of the box. -If zero, the height is adjusted to use the available screen size. -.TP 5 -.B int \fIwidth -is the desired width of the box. -If zero, the height is adjusted to use the available screen size. -.TP 5 -.B int \fIlist_height -is the minimum height to reserve for displaying the list. -If zero, it is computed based on the given \fIheight\fP and \fIwidth\fP. -.TP 5 -.B int \fIitem_no -is the number of rows in \fIitems\fP. -.TP 5 -.B int \fIitems -is an array of strings which is viewed either as a list of rows -.RS -\fItag item status\fR -.RE -.IP -or -.RS -\fItag item status help\fR -.RE -.IP -depending on whether \fBdialog_vars.item_help\fP is set. -.IP flag -is either \fIFLAG_CHECK\fP, for checklists, -or \fIFLAG_RADIO\fP for radiolists. -.\" ************************************************************************ -.SS dialog_dselect -implements the "\fB\-\-dselect\fP" option. -.TP 5 -.B const char * \fItitle -is the title on the top of the widget. -.TP 5 -.B const char * \fIpath -is the preselected value to show in the input-box, -which is used also to set the directory- and file-windows. -.TP 5 -.B int \fIheight -is the height excluding the minimum needed to show the dialog box framework. -If zero, the height is based on the screen size. -.TP 5 -.B int \fIwidth -is the desired width of the box. -If zero, the height is based on the screen size. -.\" ************************************************************************ -.SS dialog_editbox -implements the "\fB\-\-editbox\fP" option. -.TP 5 -.B const char * \fItitle -is the title on the top of the widget. -.TP 5 -.B const char * \fIfile -is the name of the file from which to read. -.TP 5 -.B int \fIheight -is the desired height of the box. -If zero, the height is adjusted to use the available screen size. -.TP 5 -.B int \fIwidth -is the desired width of the box. -If zero, the height is adjusted to use the available screen size. -.\" ************************************************************************ -.SS dialog_form -implements the "\fB\-\-form\fP" option. -.TP 5 -.B const char * \fItitle -is the title on the top of the widget. -.TP 5 -.B const char * \fIcprompt -is the prompt text shown within the widget. -.TP 5 -.B int \fIheight -is the desired height of the box. -If zero, the height is adjusted to use the available screen size. -.TP 5 -.B int \fIwidth -is the desired width of the box. -If zero, the height is adjusted to use the available screen size. -.TP 5 -.B int \fIform_height -is the minimum height to reserve for displaying the list. -If zero, it is computed based on the given \fIheight\fP and \fIwidth\fP. -.TP 5 -.B int \fIitem_no -is the number of rows in \fIitems\fP. -.TP 5 -.B int \fIitems -is an array of strings which is viewed either as a list of rows -.RS -\fIName NameY NameX Text TextY TextX FLen ILen\fR -.RE -.IP -or -.RS -\fIName NameY NameX Text TextY TextX FLen ILen Help\fR -.RE -.IP -depending on whether \fBdialog_vars.item_help\fP is set. -.\" ************************************************************************ -.SS dialog_fselect -implements the "\fB\-\-fselect\fP" option. -.TP 5 -.B const char * \fItitle -is the title on the top of the widget. -.TP 5 -.B const char * \fIpath -is the preselected value to show in the input-box, -which is used also to set the directory- and file-windows. -.TP 5 -.B int \fIheight -is the height excluding the minimum needed to show the dialog box framework. -If zero, the height is based on the screen size. -.TP 5 -.B int \fIwidth -is the desired width of the box. -If zero, the height is based on the screen size. -.\" ************************************************************************ -.SS dialog_gauge -implements the "\fB\-\-gauge\fP" option. -Alternatively, a simpler or customized gauge widget can be -set up using -\fBdlg_allocate_gauge\fP, -\fBdlg_reallocate_gauge\fP, -\fBdlg_update_gauge\fP and -\fBdlg_free_gauge\fP. -.TP 5 -.B const char * \fItitle -is the title on the top of the widget. -.TP 5 -.B const char * \fIcprompt -is the prompt text shown within the widget. -.TP 5 -.B int \fIheight -is the desired height of the box. -If zero, the height is based on the screen size. -.TP 5 -.B int \fIwidth -is the desired width of the box. -If zero, the height is based on the screen size. -.TP 5 -.B int \fIpercent -is the percentage to show in the progress bar. -.\" ************************************************************************ -.SS dialog_inputbox -implements the "\fB\-\-inputbox\fP" or -"\fB\-\-password\fP" option, depending on the value of \fIpassword\fP. -.TP 5 -.B const char * \fItitle -is the title on the top of the widget. -.TP 5 -.B const char * \fIcprompt -is the prompt text shown within the widget. -.TP 5 -.B int \fIheight -is the desired height of the box. -If zero, the height is based on the screen size. -.TP 5 -.B int \fIwidth -is the desired width of the box. -If zero, the height is based on the screen size. -.TP 5 -.B const char * \fIinit -is the initial value of the input box, whose length is taken into account -when auto-sizing the width of the dialog box. -.TP 5 -.B int \fIpassword -if true, causes typed input to be echoed as asterisks. -.\" ************************************************************************ -.SS dialog_helpfile -implements the "\fB\-\-hfile\fP" option. -.TP 5 -.B const char * \fItitle -is the title on the top of the widget. -.TP 5 -.B const char * \fIfile -is the name of a file containing the text to display. -This function is internally bound to F1 (function key \*(``1\*(''), -passing \fBdialog_vars.help_file\fP as a parameter. -The \fB\*p\fP program sets that variable when the \fB\-\-hfile\fP option -is given. -.TP 5 -.B int \fIheight -is the desired height of the box. -If zero, the height is based on the screen size. -.TP 5 -.B int \fIwidth -is the desired width of the box. -If zero, the height is based on the screen size. -.\" ************************************************************************ -.SS dialog_menu -implements the "\fB\-\-menu\fP" or "\fB\-\-inputmenu\fP" option -depending on whether \fBdialog_vars.input_menu\fP is set. -.TP 5 -.B const char * \fItitle -is the title on the top of the widget. -.TP 5 -.B const char * \fIcprompt -is the prompt text shown within the widget. -.TP 5 -.B int \fIheight -is the desired height of the box. -If zero, the height is based on the screen size. -.TP 5 -.B int \fIwidth -is the desired width of the box. -If zero, the height is based on the screen size. -.TP 5 -.B int \fImenu_height -is the minimum height to reserve for displaying the list. -If zero, it is computed based on the given \fIheight\fP and \fIwidth\fP. -.TP 5 -.B int \fIitem_no -is the number of rows in \fIitems\fP. -.TP 5 -.B int \fIitems -is an array of strings which is viewed either as a list of rows -.RS -\fItag item\fR -.RE -.IP -or -.RS -\fItag item help\fR -.RE -.IP -depending on whether \fBdialog_vars.item_help\fP is set. -.\" ************************************************************************ -.SS dialog_mixedform -implements the "\fB\-\-mixedform\fP" option. -.TP 5 -.B const char * \fItitle -is the title on the top of the widget. -.TP 5 -.B const char * \fIcprompt -is the prompt text shown within the widget. -.TP 5 -.B int \fIheight -is the desired height of the box. -If zero, the height is adjusted to use the available screen size. -.TP 5 -.B int \fIwidth -is the desired width of the box. -If zero, the height is adjusted to use the available screen size. -.TP 5 -.B int \fIform_height -is the minimum height to reserve for displaying the list. -If zero, it is computed based on the given \fIheight\fP and \fIwidth\fP. -.TP 5 -.B int \fIitem_no -is the number of rows in \fIitems\fP. -.TP 5 -.B int \fIitems -is an array of strings which is viewed either as a list of rows -.RS -\fIName NameY NameX Text TextY TextX FLen ILen Ityp\fR -.RE -.IP -or -.RS -\fIName NameY NameX Text TextY TextX FLen ILen Ityp Help\fR -.RE -.IP -depending on whether \fBdialog_vars.item_help\fP is set. -.\" ************************************************************************ -.SS dialog_mixedgauge -implements the "\fB\-\-mixedgauge\fP" option -.TP 5 -.B const char * \fItitle -is the title on the top of the widget. -.TP 5 -.B const char * \fIcprompt -is the caption text shown within the widget. -.TP 5 -.B int \fIheight -is the desired height of the box. -If zero, the height is based on the screen size. -.TP 5 -.B int \fIwidth -is the desired width of the box. -If zero, the height is based on the screen size. -.TP 5 -.B int \fIpercent -is the percentage to show in the progress bar. -.TP 5 -.B int \fIitem_no -is the number of rows in \fIitems\fP. -.TP 5 -.B int \fIitems -is an array of strings which is viewed as a list -of \fItag\fP and \fIitem\fP values. -The \fItag\fP values are listed, -one per row, in the list at the top of the widget. -.IP -The \fIitem\fP values are decoded: -digits 0 through 9 are the following strings -.RS -.IP 0 -Succeeded -.IP 1 -Failed -.IP 2 -Passed -.IP 3 -Completed -.IP 4 -Checked -.IP 5 -Done -.IP 6 -Skipped -.IP 7 -In Progress -.IP 8 -(blank) -.IP 9 -N/A -.RE -.IP -A string with a leading "-" character is centered, marked with "%". -For example, "-75" is displayed as "75%". -Other strings are displayed as is. -.\" ************************************************************************ -.SS dialog_msgbox -implements the "\fB\-\-msgbox\fP" or "\fB\-\-infobox\fP" option -depending on whether \fIpauseopt\fP is set. -.TP 5 -.B const char * \fItitle -is the title on the top of the widget. -.TP 5 -.B const char * \fIcprompt -is the prompt text shown within the widget. -.TP 5 -.B int \fIheight -is the desired height of the box. -If zero, the height is based on the screen size. -.TP 5 -.B int \fIwidth -is the desired width of the box. -If zero, the height is based on the screen size. -.TP 5 -.B int \fIpauseopt -if true, an \*(``OK\*('' button will be shown, -and the dialog will wait for it to complete. -With an \*(``OK\*('' button, it is denoted a \*(``msgbox\*('', -without an \*(``OK\*('' button, it is denoted an \*(``infobox\*(''. -.\" ************************************************************************ -.SS dialog_pause -implements the "\fB\-\-pause\fP" option. -.TP 5 -.B const char * \fItitle -is the title on the top of the widget. -.TP 5 -.B int \fIheight -is the desired height of the box. -If zero, the height is based on the screen size. -.TP 5 -.B int \fIwidth -is the desired width of the box. -If zero, the height is based on the screen size. -.TP 5 -.B int \fIseconds -is the timeout to use for the progress bar. -.\" ************************************************************************ -.SS dialog_prgbox -implements the "\fB\-\-prgbox\fP" option. -.TP 5 -.B const char * \fItitle -is the title on the top of the widget. -.TP 5 -.B const char * \fIcprompt -is the prompt text shown within the widget. -If empty or null, no prompt is shown. -.TP 5 -.B const char * \fIcommand -is the name of the command to execute. -.TP 5 -.B int \fIheight -is the desired height of the box. -If zero, the height is based on the screen size. -.TP 5 -.B int \fIwidth -is the desired width of the box. -If zero, the height is based on the screen size. -.TP 5 -.B int \fIpauseopt -if true, an \*(``OK\*('' button will be shown, -and the dialog will wait for it to complete. -.\" ************************************************************************ -.SS dialog_progressbox -implements the "\fB\-\-progressbox\fP" option. -.TP 5 -.B const char * \fItitle -is the title on the top of the widget. -.TP 5 -.B const char * \fIcprompt -is the prompt text shown within the widget. -If empty or null, no prompt is shown. -.TP 5 -.B int \fIheight -is the desired height of the box. -If zero, the height is based on the screen size. -.TP 5 -.B int \fIwidth -is the desired width of the box. -If zero, the height is based on the screen size. -.\" ************************************************************************ -.SS dialog_rangebox -implements the "\fB\-\-rangebox\fP" option. -.TP 5 -.B const char * \fItitle -is the title on the top of the widget. -.TP 5 -.B const char * \fIcprompt -is the prompt text shown within the widget. -If empty or null, no prompt is shown. -.TP 5 -.B int \fIheight -is the desired height of the widget. -If zero, the height is based on the screen size. -.TP 5 -.B int \fIwidth -is the desired width of the widget. -If zero, the height is based on the screen size. -.TP 5 -.B int \fImin_value -is the minimum value to allow. -.TP 5 -.B int \fImax_value -is the maximum value to allow. -.TP 5 -.B int \fIdefault_value -is the default value, if no change is made. -.\" ************************************************************************ -.SS dialog_tailbox -implements the "\fB\-\-tailbox\fP" or "\fB\-\-tailboxbg\fP" option -depending on whether \fIbg_task\fP is set. -.TP 5 -.B const char * \fItitle -is the title on the top of the widget. -.TP 5 -.B const char * \fIfile -is the name of the file to display in the dialog. -.TP 5 -.B int \fIheight -is the desired height of the box. -If zero, the height is based on the screen size. -.TP 5 -.B int \fIwidth -is the desired width of the box. -If zero, the height is based on the screen size. -.TP 5 -.B int \fIbg_task -if true, -the window is added to the callback list in \fBdialog_state\fP, -and the application will poll for the window to be updated. -Otherwise an \*(``OK\*('' button is added to the window, -and it will be closed when the button is activated. -.\" ************************************************************************ -.SS dialog_textbox -implements the "\fB\-\-textbox\fP" option. -.TP 5 -.B const char * \fItitle -is the title on the top of the widget. -.TP 5 -.B const char * \fIfile -is the name of the file to display in the dialog. -.TP 5 -.B int \fIheight -is the desired height of the box. -If zero, the height is based on the screen size. -.TP 5 -.B int \fIwidth -is the desired width of the box. -If zero, the height is based on the screen size. -.\" ************************************************************************ -.SS dialog_timebox -implements the "\fB\-\-timebox\fP" option. -.TP 5 -.B const char * \fItitle -is the title on the top of the widget. -.TP 5 -.B const char * \fIsubtitle -is the prompt text shown within the widget. -.TP 5 -.B int \fIheight -is the desired height of the box. -If zero, the height is based on the screen size. -.TP 5 -.B int \fIwidth -is the desired width of the box. -If zero, the height is based on the screen size. -.TP 5 -.B int \fIhour -is the initial hour shown. -If the value is negative, the current hour is used. -Returns DLG_EXIT_ERROR if the value specified is greater than or equal to 24. -.TP 5 -.B int \fIminute -is the initial minute shown. -If the value is negative, the current minute is used. -Returns DLG_EXIT_ERROR if the value specified is greater than or equal to 60. -.TP 5 -.B int \fIsecond -is the initial second shown. -If the value is negative, the current second is used. -Returns DLG_EXIT_ERROR if the value specified is greater than or equal to 60. -.\" ************************************************************************ -.SS dialog_treeview -implements the "\fB\-\-treeview\fP" option. -.TP 5 -.B const char * \fItitle -is the title on the top of the widget. -.TP 5 -.B const char * \fIcprompt -is the prompt text shown within the widget. -.TP 5 -.B int \fIheight -is the desired height of the box. -If zero, the height is based on the screen size. -.TP 5 -.B int \fIwidth -is the desired width of the box. -If zero, the height is based on the screen size. -.TP 5 -.B int \fIlist_height -is the minimum height to reserve for displaying the list. -If zero, it is computed based on the given \fIheight\fP and \fIwidth\fP. -.TP 5 -.B int \fIitem_no -is the number of rows in \fIitems\fP. -.TP 5 -.B char ** \fIitems -is the list of items, contain tag, name, and optionally help strings -(if \fBdialog_vars.item_help\fP is set). -The initial selection state for each item is also in this list. -.TP 5 -.B int \fIflag -.IP flag -is either \fIFLAG_CHECK\fP, for checklists (multiple selections), -or \fIFLAG_RADIO\fP for radiolists (a single selection). -.\" ************************************************************************ -.SS dialog_yesno -implements the "\fB\-\-yesno\fP" option. -.TP 5 -.B const char * \fItitle -is the title on the top of the widget. -.TP 5 -.B const char * \fIcprompt -is the prompt text shown within the widget. -.TP 5 -.B int \fIheight -is the desired height of the box. -If zero, the height is based on the screen size. -.TP 5 -.B int \fIwidth -is the desired width of the box. -If zero, the height is based on the screen size. -. -.\" ************************************************************************ -.SH UTILITY FUNCTIONS -Most functions that implement lower-level -functionality for the command-line \fB\*p\fP -program or widgets, have names beginning "\fIdlg_\fP". -Bowing to longstanding usage, the functions that initialize the -display and end it are named \fIinit_dialog\fP and \fIend_dialog\fP. -.PP -The only non-widget function whose name begins with "\fIdialog_\fP" -is \fBdialog_version\fP, which returns the version number of the -library as a string. -.PP -A few functions are prefixed "\fI_dlg_\fP", -because they are required for internal use, -but not intended as part of the library application programming interface. -. -.PP -Here is a brief summary of the utility functions and their parameters: -.\" --------------------------------------------------------------------------- -.SS dlg_add_callback -Add a callback, used to allow polling input from multiple tailbox -widgets. -.TP 5 -.B DIALOG_CALLBACK *\fIp\fP -contains the callback information. -.\" --------------------------------------------------------------------------- -.SS dlg_add_callback_ref -Like \fBdlg_add_callback\fP, but passes a reference to the \fBDIALOG_CALLBACK\fP -as well as a pointer to a cleanup function which will be called when the -associated input ends. -.TP 5 -.B DIALOG_CALLBACK **\fIp\fP -points to the callback information. -This is a reference to the pointer so that the caller's pointer can be -zeroed when input ends. -.TP 5 -.B DIALOG_FREEBACK \fIfunc\fP -function to call when input ends, e.g., to free caller's additional data. -.\" --------------------------------------------------------------------------- -.SS dlg_add_help_formitem -This is a utility function used enforce consistent behavior for -the \fIDIALOG_VARS.help_tags\fP and \fIDIALOG_VARS.item_help\fP variables. -.TP 5 -.B int *\fIresult\fP -this is updated to DLG_EXIT_ITEM_HELP if \fIDIALOG_VARS.item_help\fP is set. -.TP 5 -.B char **\fItag\fP -the tag- or help-text is stored here. -.TP 5 -.B DIALOG_FORMITEM *\fIitem\fP -contains the list item to use for tag- or help-text. -.\" --------------------------------------------------------------------------- -.SS dlg_add_help_listitem -This is a utility function used enforce consistent behavior for -the \fIDIALOG_VARS.help_tags\fP and \fIDIALOG_VARS.item_help\fP variables. -.TP 5 -.B int *\fIresult\fP -this is updated to DLG_EXIT_ITEM_HELP if \fIDIALOG_VARS.item_help\fP is set. -.TP 5 -.B char **\fItag\fP -the tag- or help-text is stored here. -.TP 5 -.B DIALOG_LISTITEM *\fIitem\fP -contains the list item to use for tag- or help-text. -.\" --------------------------------------------------------------------------- -.SS dlg_add_last_key -Report the last key entered by the user. -This implements the \fB\-\-last\-key\fP command-line option, -using \fBdialog_vars.last_key\fP. -.TP 5 -.B int \fImode -controls the way the last key report is separated from other results: -.RS -.TP 5 --2 -(no separator) -.TP 5 --1 -(separator after the key name) -.TP 5 -0 -(separator is optionally before the key name) -.TP 5 -1 -(same as -1) -.RE -.\" --------------------------------------------------------------------------- -.SS dlg_add_quoted -Add a quoted string to the result buffer (see \fBdlg_add_result\fP). -If no quotes are necessary, none are used. -If \fBdialog_vars.single_quoted\fR is set, single-quotes are used. -Otherwise, double-quotes are used. -.TP 5 -.B char * \fIstring -is the string to add. -.\" --------------------------------------------------------------------------- -.SS dlg_add_result -Add a string to the result buffer \fBdialog_vars.input_result\fP. -.TP 5 -.B char * \fIstring -is the string to add. -.\" --------------------------------------------------------------------------- -.SS dlg_add_separator -Add an output-separator to the result buffer \fBdialog_vars.input_result\fP. -If \fBdialog_vars.output_separator\fP is set, use that. -Otherwise, if \fBdialog_vars.separate_output\fP is set, use newline. -If neither is set, use a space. -.\" --------------------------------------------------------------------------- -.SS dlg_add_string -Add a quoted or unquoted string to the result buffer -(see \fBdlg_add_quoted\fP) and \fBdlg_add_result\fP), -according to whether \fBdialog_vars.quoted\fP is true. -.TP 5 -.B char * \fIstring -is the string to add. -.\" --------------------------------------------------------------------------- -.SS dlg_align_columns -Copy and reformat an array of pointers to strings, aligning according to -the column separator \fBdialog_vars.column_separator\fP. -If no column separator is set, the array will be unmodified; -otherwise it is copied and reformatted. -.IP -Caveat: This function is only implemented for 8-bit characters. -.TP 5 -.B char **\fItarget -This is the array to reformat. -It points to the first string to modify. -.TP 5 -.B int \fIper_row -This is the size of the struct for each row of the array. -.TP 5 -.B int \fInum_rows -This is the number of rows in the array. -.\" --------------------------------------------------------------------------- -.SS dlg_allocate_gauge -Allocates a gauge widget. -Use \fBdlg_update_gauge\fP to display the result. -.TP 5 -.B const char * \fItitle -is the title string to display at the top of the widget. -.TP 5 -.B const char * \fIcprompt -is the prompt text shown within the widget. -.TP 5 -.B int \fIheight -is the desired height of the box. -If zero, the height is adjusted to use the available screen size. -.TP 5 -.B int \fIwidth -is the desired width of the box. -If zero, the height is adjusted to use the available screen size. -.TP 5 -.B int \fIpercent -is the percentage to show in the progress bar. -.\" --------------------------------------------------------------------------- -.SS dlg_asciibox -returns its parameter transformed to the -corresponding "+" or "-", etc., -for the line-drawing characters used in \fB\*p\fP. -If the parameter is not a line-drawing or other special character -such as ACS_DARROW, it returns 0. -.TP 5 -.B chtype \fIch -is the parameter, usually one of the \fBACS_\fP\fIxxx\fP constants. -.\" --------------------------------------------------------------------------- -.SS dlg_attr_clear -Set window to the given attribute. -.TP 5 -.B WINDOW * \fIwin -is the window to update. -.TP 5 -.B int \fIheight -is the number of rows to update. -.TP 5 -.B int \fIwidth -is the number of columns to update. -.TP 5 -.B chtype \fIattr -is the attribute, e.g., \fBA_BOLD\fP. -.\" --------------------------------------------------------------------------- -.SS dlg_auto_size -Compute window size based on the size of the formatted \fIprompt\fP and -minimum dimensions for a given widget. -.PP -\fB\*L\fP sets -\fBdialog_state.text_height\fP and -\fBdialog_state.text_width\fP for -the formatted \fIprompt\fP -as a side-effect. -.PP -Normally \fB\*l\fP writes the formatted \fIprompt\fP to the curses -window, -but it will write the formatted \fIprompt\fP to the output stream -if \fBdialog_state.text_only\fP is set. -.TP 5 -.B const char * \fItitle -is the title string to display at the top of the widget. -.TP 5 -.B const char * \fIprompt -is the message text which will be displayed in the widget, -used here to determine how large the widget should be. -.IP -If the value is \fINULL\fP, -\fB\*l\fP allows the widget to use the whole screen, -i.e., if the values referenced by \fIheight\fP and/or \fIwidth\fP are zero. -.TP 5 -.B int * \fIheight -is the nominal height. -\fB\*L\fP checks the referenced value and may update it: -.RS -.bP -if the value is negative, -\fB\*l\fP updates it to the available height of the screen, -after reserving rows for the window border and shadow, -as well as taking into account -\fBdialog_vars.begin_y\fP and -\fBdialog_vars.begin_set\fP. -.bP -if the value is zero, -\fB\*l\fP updates it to the required height of the window, -taking into account a (possibly) multi-line \fIprompt\fP. -.bP -if the value is greater than zero, -\fB\*l\fP uses it internally, but restores the value on return. -.RE -.TP 5 -.B int * \fIwidth -is the nominal width. -\fB\*L\fP checks the referenced value and may update it: -.RS -.bP -if the value is negative, -\fB\*l\fP updates it to the available width of the screen, -after reserving rows for the window border and shadow, -as well as taking into account -\fBdialog_vars.begin_x\fP and -\fBdialog_vars.begin_set\fP. -.bP -if the value is zero, -\fB\*l\fP updates it to the required width of the window, -taking into account a (possibly) multi-line \fIprompt\fP. -.bP -if the value is greater than zero, -\fB\*l\fP uses it internally, but restores the value on return. -.RE -.TP 5 -.B int \fIboxlines -is the number of lines to reserve in the vertical direction. -.TP 5 -.B int \fImincols -is the minimum number of columns to use. -.\" --------------------------------------------------------------------------- -.SS dlg_auto_sizefile -Like \fBdlg_auto_size\fP, but use a file contents to decide how large -the widget should be. -.TP 5 -.B const char * \fItitle -is the title string to display at the top of the widget. -.TP 5 -.B const char * \fIfile -is the name of the file. -.TP 5 -.B int * \fIheight -is the nominal height. -.IP -If it is -1, use the screen's height -(after subtracting \fBdialog_vars.begin_y\fP -if \fBdialog_vars.begin_set\fP is true). -.IP -If it is greater than zero, -limit the referenced value to the screen-height -after verifying that the file exists. -.TP 5 -.B int * \fIwidth -is the nominal width. -.IP -If it is -1, use the screen's width (after subtracting \fBdialog_vars.begin_x\fP -if \fBdialog_vars.begin_set\fP is true). -.IP -If it is greater than zero, -limit the referenced value to the screen-width -after verifying that the file exists. -.TP 5 -.B int \fIboxlines -is the number of lines to reserve on the screen for drawing boxes. -.TP 5 -.B int \fImincols -is the number of columns to reserve on the screen for drawing boxes. -.\" --------------------------------------------------------------------------- -.SS dlg_beeping -If \fBdialog_vars.beep_signal\fP is nonzero, -this calls \fBbeep\fP once and sets -\fBdialog_vars.beep_signal\fP to zero. -.\" --------------------------------------------------------------------------- -.SS dlg_boxchar -returns its \fBchtype\fP parameter transformed as follows: -.bP -if neither \fBdialog_vars.ascii_lines\fP nor \fBdialog_vars.no_lines\fP is set. -.bP -if \fBdialog_vars.ascii_lines\fP is set, -returns the corresponding "+" or "-", etc., -for the line-drawing characters used in \fB\*p\fP. -.bP -otherwise, if \fBdialog_vars.no_lines\fP is set, -returns a space for the line-drawing characters. -.bP -if the parameter is not a line-drawing or other special character -such as ACS_DARROW, -it returns the parameter unchanged. -.\" --------------------------------------------------------------------------- -.SS dlg_box_x_ordinate -returns a suitable x-ordinate (column) for a new widget. -If \fBdialog_vars.begin_set\fP is 1, -use \fBdialog_vars.begin_x\fP; -otherwise center the widget on the screen (using the \fIwidth\fP parameter). -.TP 5 -.B int \fIwidth -is the width of the widget. -.\" --------------------------------------------------------------------------- -.SS dlg_box_y_ordinate -returns a suitable y-ordinate (row) for a new widget. -If \fBdialog_vars.begin_set\fP is 1, -use \fBdialog_vars.begin_y\fP; -otherwise center the widget on the screen (using the \fIheight\fP parameter). -.TP 5 -.B int \fIheight -is the height of the widget. -.\" --------------------------------------------------------------------------- -.SS dlg_buildlist -This is an alternate interface to the \fBbuildlist\fP widget -which allows the application to read the list item states back -directly without putting them in the output buffer. -.TP 5 -.B const char * \fItitle -is the title string to display at the top of the widget. -.TP 5 -.B const char * \fIcprompt -is the prompt text shown within the widget. -.TP 5 -.B int \fIheight -is the desired height of the box. -If zero, the height is adjusted to use the available screen size. -.TP 5 -.B int \fIwidth -is the desired width of the box. -If zero, the height is adjusted to use the available screen size. -.TP 5 -.B int \fIlist_height -is the minimum height to reserve for displaying the list. -If zero, it is computed based on the given \fIheight\fP and \fIwidth\fP. -.TP 5 -.B int \fIitem_no -is the number of rows in \fIitems\fP. -.TP 5 -.B DIALOG_LISTITEM * \fIitems -is the list of items, contain tag, name, and optionally help strings -(if \fBdialog_vars.item_help\fP is set). -The initial selection state for each item is also in this list. -.TP 5 -.B const char * \fIstates -This is a list of characters to display for the given states. -Normally a buildlist provides true (1) and false (0) values, -which the widget displays as "*" and space, respectively. -An application may set this parameter to an arbitrary null-terminated string. -The widget determines the number of states from the length of this string, -and will cycle through the corresponding display characters as the user -presses the space-bar. -.TP 5 -.B int \fIorder_mode -is reserved for future enhancements -.TP 5 -.B int * \fIcurrent_item -The widget sets the referenced location to the index of the current display -item (cursor) when it returns. -.\" --------------------------------------------------------------------------- -.SS dlg_button_count -Count the buttons in the list. -.TP 5 -.B const char ** \fIlabels -is a list of (pointers to) button labels terminated by a null pointer. -.\" --------------------------------------------------------------------------- -.SS dlg_button_key -If a key was bound to one of the button-codes in \fBdlg_result_key\fP, fake -a button-value and an \*(``Cancel\*('' key -to cause the calling widget to return the corresponding status. -.PP -See \fBdlg_ok_buttoncode\fP, which maps settings for ok/extra/help and button -number into exit-code. -.\" --------------------------------------------------------------------------- -.SS dlg_button_layout -Make sure there is enough space for the buttons by -computing the width required for their labels, -adding margins and limiting based on the screen size. -.TP 5 -.B const char ** \fIlabels -is a list of (pointers to) button labels terminated by a null pointer. -.TP 5 -.B int * \fIlimit -the function sets the referenced \fIlimit\fP to the width required for -the buttons (limited by the screen size) -if that is wider than the passed-in limit. -.\" --------------------------------------------------------------------------- -.SS dlg_button_sizes -Compute the size of the button array in columns. -.TP 5 -.B const char ** \fIlabels -is a list of (pointers to) button labels terminated by a null pointer. -.TP 5 -.B int \fIvertical -is true if the buttons are arranged in a column rather than a row. -.TP 5 -.B int * \fIlongest -Return the total number of columns in the referenced location. -.TP 5 -.B int * \fIlength -Return the longest button's columns in the referenced location. -.\" --------------------------------------------------------------------------- -.SS dlg_button_to_char -Find the first uppercase character in the label, which we may use for an -abbreviation. -If the label is empty, return -1. -If no uppercase character is found, return 0. -Otherwise return the uppercase character. -.LP -Normally -.B dlg_draw_buttons -and -.B dlg_char_to_button -use the first uppercase character. -However, they keep track of all of the labels and -if the first has already been used in another label, -they will continue looking for another uppercase character. -This function does not have enough information to make that check. -.TP 5 -.B const char * \fIlabel -is the label to test. -.\" --------------------------------------------------------------------------- -.SS dlg_button_x_step -Compute the step-size needed between elements of the button array. -.TP 5 -.B const char ** \fIlabels -is a list of (pointers to) button labels terminated by a null pointer. -.TP 5 -.B int \fIlimit -is the maximum number of columns to allow for the buttons. -.TP 5 -.B int * \fIgap -store the nominal gap between buttons in the referenced location. -This is constrained to be at least one. -.TP 5 -.B int * \fImargin -store the left+right total margins (for the list of buttons) in the referenced -location. -.TP 5 -.B int * \fIstep -store the step-size in the referenced location. -.\" --------------------------------------------------------------------------- -.SS dlg_calc_list_width -Calculate the minimum width for the list, -assuming none of the items are truncated. -.TP 5 -.B int \fIitem_no -is the number of \fIitems\fP. -.TP 5 -.B DIALOG_LISTITEM * \fIitems -contains a \fIname\fP and \fItext\fP field, -e.g., for checklists or radiobox lists. -The function returns the sum of the widest columns -needed for of each of these fields. -.IP -If \fBdialog_vars.no_items\fP is set, -the \fItext\fP fields in the list are ignored. -.\" --------------------------------------------------------------------------- -.SS dlg_calc_listh -Calculate new height and list_height values. -.TP 5 -.B int * \fIheight -on input, is the height without adding the list-height. -On return, this contains the total list-height and is the -actual widget's height. -.TP 5 -.B int * \fIlist_height -on input, is the requested list-height. -On return, this contains the number of rows available for displaying -the list after taking into account the screen size and -the \fBdialog_vars.begin_set\fP and \fBdialog_vars.begin_y\fP variables. -.TP 5 -.B int \fIitem_no -is the number of \fIitems\fP in the list. -.\" --------------------------------------------------------------------------- -.SS dlg_calc_listw -This function is obsolete, provided for library-compatibility. -It is replaced by \fBdlg_calc_list_width\fP. -.TP 5 -.B int \fIitem_no -is the number of \fIitems\fP. -.TP 5 -.B char ** \fIitems -is a list of character pointers. -.TP 5 -.B int \fIgroup -is the number of items in each group, e.g., the second array index. -.\" --------------------------------------------------------------------------- -.SS dlg_char_to_button -Given a list of button labels, -and a character which may be the abbreviation for one, find it, if it exists. -An abbreviation will be the first character -which happens to be capitalized in the label. -If the character is found, return its index within the list of \fIlabels\fP. -Otherwise, return \fBDLG_EXIT_UNKNOWN\fP. -.TP 5 -.B int \fIch -is the character to find. -.TP 5 -.B const char ** \fIlabels -is a list of (pointers to) button labels terminated by a null pointer. -.\" --------------------------------------------------------------------------- -.SS dlg_checklist -This entrypoint provides the \fB\-\-checklist\fP or \fB\-\-radiolist\fP -functionality without the limitations of \fB\*p\fP's command-line syntax -(compare to \fBdialog_checklist\fP). -.TP 5 -.B const char * \fItitle -is the title string to display at the top of the widget. -.TP 5 -.B const char * \fIcprompt -is the prompt text shown within the widget. -.TP 5 -.B int \fIheight -is the desired height of the box. -If zero, the height is adjusted to use the available screen size. -.TP 5 -.B int \fIwidth -is the desired width of the box. -If zero, the height is adjusted to use the available screen size. -.TP 5 -.B int \fIlist_height -is the minimum height to reserve for displaying the list. -If zero, it is computed based on the given \fIheight\fP and \fIwidth\fP. -.TP 5 -.B int \fIitem_no -is the number of \fIitems\fP. -.TP 5 -.B DIALOG_LISTITEM * \fIitems -This is a list of the items to display in the checklist. -.TP 5 -.B const char * \fIstates -This is a list of characters to display for the given states. -Normally a checklist provides true (1) and false (0) values, -which the widget displays as "*" and space, respectively. -An application may set this parameter to an arbitrary null-terminated string. -The widget determines the number of states from the length of this string, -and will cycle through the corresponding display characters as the user -presses the space-bar. -.TP 5 -.B int \fIflag -This is should be one of \fBFLAG_CHECK\fP or \fPFLAG_RADIO\fP, -depending on whether the widget should act as a checklist or radiobox. -.TP 5 -.B int * \fIcurrent_item -The widget sets the referenced location to the index of the current display -item (cursor) when it returns. -.\" --------------------------------------------------------------------------- -.SS dlg_check_scrolled -given a function key (or other key that was mapped to a function key), -check if it is one of the up/down scrolling functions: -.sp -.RS -DLGK_PAGE_FIRST, -.br -DLGK_PAGE_LAST, -.br -DLGK_GRID_UP, -.br -DLGK_GRID_DOWN, -.br -DLGK_PAGE_PREV or -.br -DLGK_PAGE_NEXT. -.RE -.fi -.LP -Some widgets use these key bindings for scrolling the prompt-text up and -down, to allow for display in very small windows. -.LP -The function returns 0 (zero) if it finds one of these keys, -and -1 if not. -.TP 5 -.B int \fIkey -is the function-key to check -.TP 5 -.B int \fIlast -is the number of lines -which would be used to display the scrolled prompt in -an arbitrarily tall window. -It is used here to check limits for the \fIoffset\fP value. -.TP 5 -.B int \fIpage -this is the available height for writing scrolled text, -which is smaller than the window if it contains buttons. -.TP 5 -.B bool * \fIshow -on return, holds TRUE if \fBdlg_print_scrolled\fP should be used to redisplay -the prompt text. -.TP 5 -.B int * \fIoffset -on entry, holds the starting line number (counting from zero) -last used for \fBdlg_print_scrolled\fP. -On return, holds the updated starting line number. -.\" --------------------------------------------------------------------------- -.SS dlg_clear -Set window to the default \fB\*p\fP screen attribute. -This is set in the rc-file with \fBscreen_color\fP. -.\" --------------------------------------------------------------------------- -.SS dlg_clr_result -Free storage used for the result buffer (\fBdialog_vars.input_result\fP). -The corresponding pointer is set to NULL. -.\" --------------------------------------------------------------------------- -.SS dlg_color_count -Return the number of colors that can be configured in \fB\*p\fP. -.\" --------------------------------------------------------------------------- -.SS dlg_color_setup -Initialize the color pairs used in \fB\*p\fP. -.\" --------------------------------------------------------------------------- -.SS dlg_count_argv -Count the entries in an argument vector. -.TP 5 -.B argv -Points to the argument vector. -.\" --------------------------------------------------------------------------- -.SS dlg_count_columns -Returns the number of columns used for a string. -This is not necessarily the number of bytes in a string. -.TP 5 -.B const char * \fIstring -is the string to measure. -.\" --------------------------------------------------------------------------- -.SS dlg_count_real_columns -Returns the number of columns used for a string, -accounting for "\eZ" sequences which can be used for -coloring the text if \fBdialog_vars.colors\fP is set. -This is not necessarily the number of bytes in a string. -.TP 5 -.B const char * \fIstring -is the string to measure. -.\" --------------------------------------------------------------------------- -.SS dlg_count_wchars -Returns the number of wide-characters in the string. -.TP 5 -.B const char * \fIstring -is the string to measure. -.\" --------------------------------------------------------------------------- -.SS dlg_create_rc -Create a configuration file, -i.e., write internal tables to a file which can be read back by \fB\*p\fP -as an rc-file. -.TP 5 -.B const char * \fIfilename -is the name of the file to write to. -.\" --------------------------------------------------------------------------- -.SS dlg_ctl_size -If \fBdialog_vars.size_err\fP is true, -check if the given window size is too large to fit on the screen. -If so, exit with an error reporting the size of the window. -.TP 5 -.B int \fIheight -is the window's height -.TP 5 -.B int \fIwidth -is the window's width -.\" --------------------------------------------------------------------------- -.SS dlg_default_button -If \fBdialog_vars.default_button\fP is positive, -return the button-index for that button code, -using \fBdlg_ok_buttoncode\fP to test indices starting with zero. -Otherwise (or if no match was found for the button code), return zero. -.\" --------------------------------------------------------------------------- -.SS dlg_default_formitem -If \fBdialog_vars.default_item\fP is not null, -find that name by matching the \fIname\fP field in the list of form \fIitems\fP. -If found, return the index of that item in the list. -Otherwise, return zero. -.TP 5 -.B DIALOG_FORMITEM * \fIitems -is the list of items to search. -It is terminated by an entry with a null \fIname\fP field. -.\" --------------------------------------------------------------------------- -.SS dlg_default_item -This function is obsolete, provided for library-compatibility. -It is replaced by \fBdlg_default_formitem\fP and \fBdlg_default_listitem\fP. -.TP 5 -.B char ** \fIitems -is the list of items to search. -.TP 5 -.B int \fIllen -is the number of items in each group, e.g., the second array index. -.\" --------------------------------------------------------------------------- -.SS dlg_defaultno_button -If \fBdialog_vars.defaultno\fP is true, and \fBdialog_vars.nocancel\fP is not, -find the button-index for the \*(``Cancel\*('' button. -Otherwise, return the index for \*(``OK\*('' (always zero). -.\" --------------------------------------------------------------------------- -.SS dlg_del_window -Remove a window, repainting everything else. -.TP 5 -.B WINDOW * \fIwin -is the window to remove. -.\" --------------------------------------------------------------------------- -.SS dlg_der_window -create a derived window, e.g., for an input area of a widget -.TP 5 -.B WINDOW * \fIwin -is the parent window -.TP 5 -.B int \fIheight -is the subwindow's height -.TP 5 -.B int \fIwidth -is the subwindow's width -.TP 5 -.B int \fIy -is the subwindow's top-row -.TP 5 -.B int \fIx -is the subwindow's left-column -.\" --------------------------------------------------------------------------- -.SS dlg_does_output -This is called each time a widget is invoked which may do output. -It increments \fBdialog_state.output_count\fP, -so the output function in \fB\*p\fP can test this and add a separator. -.\" --------------------------------------------------------------------------- -.SS dlg_draw_arrows -Draw up/down arrows on a window, e.g., for scrollable lists. -It calls \fBdlg_draw_arrows2\fP using the -\fImenubox_color\fP and \fImenubox_border_color\fP attributes. -.TP 5 -.B WINDOW * \fIdialog -is the window on which to draw an arrow. -.TP 5 -.B int \fItop_arrow -is true if an up-arrow should be drawn at the top of the window. -.TP 5 -.B int \fIbottom_arrow -is true if an down-arrow should be drawn at the bottom of the window. -.TP 5 -.B int \fIx -is the zero-based column within the window on which to draw arrows. -.TP 5 -.B int \fItop -is the zero-based row within the window on which to draw up-arrows -as well as a horizontal line to show the window's top. -.TP 5 -.B int \fIbottom -is the zero-based row within the window on which to draw down-arrows -as well as a horizontal line to show the window's bottom. -.\" --------------------------------------------------------------------------- -.SS dlg_draw_arrows2 -Draw up/down arrows on a window, e.g., for scrollable lists. -.TP 5 -.B WINDOW * \fIdialog -is the window on which to draw an arrow. -.TP 5 -.B int \fItop_arrow -is true if an up-arrow should be drawn at the top of the window. -.TP 5 -.B int \fIbottom_arrow -is true if an down-arrow should be drawn at the bottom of the window. -.TP 5 -.B int \fIx -is the zero-based column within the window on which to draw arrows. -.TP 5 -.B int \fItop -is the zero-based row within the window on which to draw up-arrows -as well as a horizontal line to show the window's top. -.TP 5 -.B int \fIbottom -is the zero-based row within the window on which to draw down-arrows -as well as a horizontal line to show the window's bottom. -.TP 5 -.B chtype \fIattr -is the window's background attribute. -.TP 5 -.B chtype \fIborderattr -is the window's border attribute. -.\" --------------------------------------------------------------------------- -.SS dlg_draw_bottom_box -Draw a partial box at the bottom of a window, -e.g., to surround a row of buttons. -It is designed to merge with an existing box around -the whole window (see \fBdlg_draw_box\fP), -so it uses tee-elements rather than corner-elements -on the top corners of this box. -.TP 5 -.B WINDOW * \fIwin -is the window to update. -.\" --------------------------------------------------------------------------- -.SS dlg_draw_bottom_box2 -Draw a partial box at the bottom of a window, -e.g., to surround a row of buttons. -It is designed to merge with an existing box around -the whole window (see \fBdlg_draw_box2\fP), -so it uses tee-elements rather than corner-elements -on the top corners of this box. -.TP 5 -.B WINDOW * \fIwin -is the window to update. -.TP 5 -.B chtype \fIon_left -is used to color the upper/left edges of the box, i.e., the tee-element and -horizontal line -.TP 5 -.B chtype \fIon_right -is used to color the right edge of the box, i.e., the tee-element -.TP 5 -.B chtype \fIon_inside -is used to fill-color the inside of the box -.\" --------------------------------------------------------------------------- -.SS dlg_draw_box -Draw a rectangular box with line drawing characters. -.TP 5 -.B WINDOW * \fIwin -is the window to update. -.TP 5 -.B int \fIy -is the top row of the box. -.TP 5 -.B int \fIx -is the left column of the box. -.TP 5 -.B int \fIheight -is the height of the box. -.TP 5 -.B int \fIwidth -is the width of the box. -.TP 5 -.B chtype \fIboxchar -is used to color the right/lower edges. -It also is fill-color used for the box contents. -.TP 5 -.B chtype \fIborderchar -is used to color the upper/left edges. -.\" --------------------------------------------------------------------------- -.SS dlg_draw_box2 -Draw a rectangular box with line drawing characters. -.TP 5 -.B WINDOW * \fIwin -is the window to update. -.TP 5 -.B int \fIy -is the top row of the box. -.TP 5 -.B int \fIx -is the left column of the box. -.TP 5 -.B int \fIheight -is the height of the box. -.TP 5 -.B int \fIwidth -is the width of the box. -.TP 5 -.B chtype \fIboxchar -is used to fill-color for the box contents. -.TP 5 -.B chtype \fIborderchar -is used to color the upper/left edges. -.TP 5 -.B chtype \fIborderchar2 -is used to color the right/lower edges. -.\" --------------------------------------------------------------------------- -.SS dlg_draw_buttons -Print a list of buttons at the given position. -.TP 5 -.B WINDOW * \fIwin -is the window to update. -.TP 5 -.B int \fIy -is the starting row. -.TP 5 -.B int \fIx -is the starting column. -.TP 5 -.B const char ** \fIlabels -is a list of (pointers to) button labels terminated by a null pointer. -.TP 5 -.B int \fIselected -is the index within the list of the selected button. -.TP 5 -.B int \fIvertical -is true if the buttons are arranged in a column rather than a row. -.TP 5 -.B int \fIlimit -is the number of columns (or rows if \fIvertical\/\fP) allowed for the display. -.\" --------------------------------------------------------------------------- -.SS dlg_draw_helpline -draw the text in \fBdialog_vars.help_line\fP at the bottom of the given window. -.TP 5 -.B WINDOW * \fIdialog -is the window to modify. -.TP 5 -.B bool \fIdecorations -if true, allow room for the scrolling arrows. -.\" --------------------------------------------------------------------------- -.SS dlg_draw_scrollbar -If \fBdialog_state.use_scrollbar\fP is set, -draw a scrollbar on the right margin of windows holding scrollable data. -Also (whether or not the scrollbar is drawn), -annotate the bottom margin of the window with the percentage of data -by the bottom of that window, -and call \fBdlg_draw_arrows2\fP to put markers on the window showing -when more data is available. -.TP 5 -.B WINDOW * \fIwin -is the window in which the data is scrolled. -Because \fIleft\fP, \fIright\fP, \fItop\fP, \fIbottom\fP -are passed as parameters, this window can contain additional data. -.TP 5 -.B long \fIfirst_data -is the zero-based index to the first row of data in the current window. -.TP 5 -.B long \fIthis_data -is the zero-based index to the current row of data. -.TP 5 -.B long \fInext_data -is the zero-based index to the next data after the current row. -.TP 5 -.B long \fItotal_data -is the total number of rows of data. -.TP 5 -.B int \fIleft -is the zero-based left margin/column of the window. -The up/down arrows are draw inset by 5 columns from this point. -.TP 5 -.B int \fIright -is the zero-based right margin/column of the window. -The scrollbar is drawn flush against this column. -.TP 5 -.B int \fItop -is the zero-based row within the window on which to draw up-arrows -as well as a horizontal line to show the window's top. -.TP 5 -.B int \fIbottom -is the zero-based row within the window on which to draw down-arrows -as well as a horizontal line to show the window's bottom. -.TP 5 -.B chtype \fIattr -is the window's background attribute. -.TP 5 -.B chtype \fIborderattr -is the window's border attribute. -.\" --------------------------------------------------------------------------- -.SS dlg_draw_shadow -Draw shadows along the right and bottom edge of a window to give it -a 3-dimensional look. -(The height, etc., may not be the same as the window's actual values). -.TP 5 -.B WINDOW * \fIwin -is the window to update. -.TP 5 -.B int \fIheight -is the height of the window. -.TP 5 -.B int \fIwidth -is the width of the window. -.TP 5 -.B int \fIy -is the top row of the window. -.TP 5 -.B int \fIx -is the left column of the window. -.\" --------------------------------------------------------------------------- -.SS dlg_draw_title -Draw a title centered at the top of the window. -.TP 5 -.B WINDOW * \fIwin -is the window to update. -.TP 5 -.B const char * \fItitle -is the title string to display at the top of the widget. -.\" --------------------------------------------------------------------------- -.SS dlg_dummy_menutext -This is a utility function which supports the \fB\-\-inputmenu\fP option of -the \fB\*p\fP program. -If \fBdialog_vars.input_menu\fP is set, \fBdialog_menu\fP passes this -pointer to \fBdlg_menu\fP as the \fIrename_menutext\fP parameter. -Otherwise, it passes \fBdlg_dummy_menutext\fP. -.LP -The function should only return \fBDLG_EXIT_ERROR\fP. -.TP 5 -.B DIALOG_LISTITEM * \fIitems -is the list of menu items -.TP 5 -.B int \fIcurrent -is the index of the currently-selected item -.TP 5 -.B char * \fInewtext -is the updated text for the menu item -.\" --------------------------------------------------------------------------- -.SS dlg_dump_keys -Write all user-defined key-bindings to the given stream, -e.g., as part of \fBdlg_create_rc\fP. -.TP 5 -.B FILE * \fIfp -is the stream on which to write the bindings. -.\" --------------------------------------------------------------------------- -.SS dlg_dump_window_keys -Write all user-defined key-bindings to the given stream, -e.g., as part of \fBdlg_create_rc\fP. -.TP 5 -.B FILE * \fIfp -is the stream on which to write the bindings. -.TP 5 -.B WINDOW * \fIwin -is the window for which bindings should be dumped. -If it is null, then only built-in bindings are dumped. -.\" --------------------------------------------------------------------------- -.SS dlg_eat_argv -Remove one or more items from an argument vector. -.TP 5 -.B int * \fIargcp -in/out parameter giving the length of the argument vector. -.B char *** \fIargvp -in/out parameter pointing to the argument vector. -.B int \fIstart -starting index. -.B int \fIcount -number of arguments to remove. -.\" --------------------------------------------------------------------------- -.SS dlg_edit_offset -Given the character-offset in the string, -returns the display-offset where -\fB\*p\fP should position the cursor. -In this context, \*(``characters\*('' may be multicolumn, -since the string can be a multibyte character string. -.TP 5 -.B char * \fIstring -is the string to analyze -.TP 5 -.B int \fIoffset -is the character-offset -.TP 5 -.B int \fIx_last -is a limit on the column positions that can be used, -e.g., the window's size. -.\" --------------------------------------------------------------------------- -.SS dlg_edit_string -Updates the string and character-offset, given various editing characters -or literal characters which are inserted at the character-offset. -Returns true if an editing change was made (and the display should -be updated), and false if the key was something like \fBKEY_ENTER\fP, -which is a non-editing action outside this function. -.TP 5 -.B char * \fIstring -is the (multibyte) string to update -.TP 5 -.B int * \fIoffset -is the character-offset -.TP 5 -.B int \fIkey -is the editing key -.TP 5 -.B int \fIfkey -is true if the editing key is a function-key -.TP 5 -.B bool \fIforce -is used in a special loop case by calling code to force the return -value of this function when a function-key code 0 is passed in. -.\" --------------------------------------------------------------------------- -.SS dlg_exit -Given an internal exit code, -check if the corresponding environment variable is set. -If so, remap the exit code to match the environment variable. -Finally call \fBexit\fP with the resulting exit code. -.TP 5 -.B int \fIcode -is the internal exit code, e.g., \fBDLG_EXIT_OK\fP, -which may be remapped. -.LP -The \fB\*p\fP program uses this function -to allow shell scripts to remap the exit codes so they can distinguish ESC -from ERROR. -.\" --------------------------------------------------------------------------- -.SS dlg_exitcode2s -Returns the name of an exit-code, e.g., -\*(``OK\*('' for \fBDLG_EXIT_OK\fP. -.TP 5 -.B int \fIcode -is an exit-code for \fB\*p\fP as defined in \fB<\*p.h>\fP. -.\" --------------------------------------------------------------------------- -.SS dlg_exitname2n -Returns an exit-code as the reverse of \fBdlg_exitcode2n\fP, e.g., -0 (\fBDLG_EXIT_OK\fP) for the \*(``OK\*('' string. -.TP 5 -.B const char * \fIname -is the name of an exit-code for \fB\*p\fP as defined in \fB<\*p.h>\fP -but omitting the \*(``DLG_EXIT_\*('' prefix. -.\" --------------------------------------------------------------------------- -.SS dlg_exit_buttoncode -Map the given button index for \fBdlg_exit_label\fP into \fB\*p\fP's exit-code. -.TP 5 -.B int \fIbutton -is the button index -.\" --------------------------------------------------------------------------- -.SS dlg_exit_label -Return a list of button labels. -If \fBdialog_vars.extra_button\fP is true, -return the result of \fBdlg_ok_labels\fP. -Otherwise, return a list with the \*(``Exit\*('' label -and (if \fBdialog_vars.help_button\fP is set) -the \*(``Help\*('' button as well. -.\" --------------------------------------------------------------------------- -.SS dlg_exiterr -Quit program killing all \fBtailboxbg\fP widgets. -.TP 5 -.B const char * \fIfmt -is the format of the \fBprintf\fP-like message to write. -.TP 5 -.B ... -.br -are the variables to apply to the \fIfmt\fP format. -.\" --------------------------------------------------------------------------- -.SS dlg_find_index -Given the character-offset to find in the list, return the corresponding -array index. -.TP 5 -.B const int *\fIlist -contains a list of character-offsets, -i.e., indices into a string that denote the beginning of multibyte characters. -.TP 5 -.B int \fIlimit -is the last index into \fBlist\fP to search. -.TP 5 -.B int \fIto_find -is the character-offset to find. -.\" --------------------------------------------------------------------------- -.SS dlg_finish_string -If \fIDIALOG_STATE.finish_string\fP is true, -this function discards data used to speed up layout computations. -.TP 5 -.B const char * \fIstring -is the address of the string whose data should be discarded. -The address rather than contents is used as the unique identifier because -some of the caching is used for editable input-fields. -.\" --------------------------------------------------------------------------- -.SS dlg_flush_getc -Cancel the local data saved by \fBdlg_last_getc\fP. -.\" --------------------------------------------------------------------------- -.SS dlg_editbox -This entrypoint provides the \fB\-\-editbox\fP -functionality without the limitations of \fB\*p\fP's command-line syntax -(compare to \fBdialog_editbox\fP). -.TP 5 -.B const char * \fItitle -is the title string to display at the top of the widget. -.TP 5 -.B char *** \fIlist -is a pointer to an array of \fBchar\ *\fP pointers. -The array is allocated by the caller, -and so are the strings to which it points. -The \fBdlg_editbox\fP function may reallocate the -array and the strings. -.TP 5 -.B int * \fIrows -points to the nominal length of \fIlist\fP. -The referenced value is updated if\fIlist\fP is reallocated. -.TP 5 -.B int \fIheight -is the desired height of the box. -If zero, the height is adjusted to use the available screen size. -.TP 5 -.B int \fIwidth -is the desired width of the box. -If zero, the height is adjusted to use the available screen size. -.\" --------------------------------------------------------------------------- -.SS dlg_form -This entrypoint provides the \fB\-\-form\fP -functionality without the limitations of \fB\*p\fP's command-line syntax -(compare to \fBdialog_form\fP). -.TP 5 -.B const char * \fItitle -is the title string to display at the top of the widget. -.TP 5 -.B const char * \fIcprompt -is the prompt text shown within the widget. -.TP 5 -.B int \fIheight -is the desired height of the box. -If zero, the height is adjusted to use the available screen size. -.TP 5 -.B int \fIwidth -is the desired width of the box. -If zero, the height is adjusted to use the available screen size. -.TP 5 -.B int \fIform_height -is the minimum height to reserve for displaying the list. -If zero, it is computed based on the given \fIheight\fP and \fIwidth\fP. -.TP 5 -.B int \fIitem_no -is the number of \fIitems\fP. -.TP 5 -.B DIALOG_FORMITEM * \fIitems -This is a list of the items to display in the form. -.TP 5 -.B int * \fIcurrent_item -The widget sets the referenced location to the index of the current display -item (cursor) when it returns. -.\" --------------------------------------------------------------------------- -.SS dlg_free_columns -Free data allocated by \fBdlg_align_columns\fP. -.TP 5 -.B char **\fItarget -This is the array which was reformatted. -It points to the first string to free. -.TP 5 -.B int \fIper_row -This is the size of the struct for each row of the array. -.TP 5 -.B int \fInum_rows -This is the number of rows in the array. -.\" --------------------------------------------------------------------------- -.SS dlg_free_formitems -Free memory owned by a list of DIALOG_FORMITEM's. -.TP 5 -.B DIALOG_FORMITEM * \fIitems -is the list to free. -.\" --------------------------------------------------------------------------- -.SS dlg_free_gauge -Remove the gauge widget from the screen and free its associated memory. -.TP 5 -.B void *\fIobjptr -points to the gauge widget. -.\" --------------------------------------------------------------------------- -.SS dlg_getc -Read a character from the given window. -Handle repainting here (to simplify -things in the calling application). -Also, if input-callback(s) are set up, -poll the corresponding files and handle the updates, -e.g., for displaying a tailbox. -Returns the key-code. -.TP 5 -.B WINDOW * \fIwin -is the window within which to read. -.TP 5 -.B int * \fIfkey -as a side-effect, set this to true if the key-code is really a function-key. -.\" --------------------------------------------------------------------------- -.SS dlg_getenv_num -Get a number from the environment: -.bP -If the caller provides a pointer in the second parameter, return -success/failure for the function return, and the actual value via the pointer. -Use this for decoding arbitrary numbers, e.g., negative or zero. -.bP -If the caller does not provide a pointer, return the decoded value for -the function-return. -Use this when only values greater than zero are useful. -.TP 5 -.B char * \fIname -is the name of the environment-variable to retrieve. -.TP 5 -.B int * \fIvalue -is the optional pointer to a return-value. -.\" --------------------------------------------------------------------------- -.SS dlg_getenv_str -Get a string from the environment, rejecting those which are entirely blank. -.TP 5 -.B char * \fIname -is the name of the environment-variable to retrieve. -.\" --------------------------------------------------------------------------- -.SS dlg_get_attrs -extract the video attributes from the given window. -.TP 5 -.B WINDOW * \fIwin -is the window from which to get attributes. -.\" --------------------------------------------------------------------------- -.SS dlg_getc_callbacks -passes the given key-code \fIch\fP to the current window that -has established a callback. -If the callback returns zero, remove it and try the next window. -If no more callbacks remain, return. -If any callbacks were found, return true, otherwise false. -.TP 5 -.B int \fIch -is the key-code -.TP 5 -.B int \fIfkey -is true if the key is a function-key -.TP 5 -.B int * \fIresult -is used to pass an exit-code to the caller, -which should pass that via \fBdlg_exit\fP. -.\" --------------------------------------------------------------------------- -.SS dlg_index_columns -Build a list of the display-columns for the given multibyte string's characters. -.TP 5 -.B const char * \fIstring -is the string to analyze -.\" --------------------------------------------------------------------------- -.SS dlg_index_wchars -Build an index of the wide-characters in the string, -so the caller can easily tell -which byte-offset begins a given wide-character. -.TP 5 -.B const char * \fIstring -is the string to analyze -.\" --------------------------------------------------------------------------- -.SS dlg_item_help -Draw the string for the \fBdialog_vars.item_help\fP feature. -.TP 5 -.B const char * \fItxt -is the help-message -.\" --------------------------------------------------------------------------- -.SS dlg_keep_tite -This performs the check and modifications -for the command-line option "\fB\-\-keep\-tite\fP", -used in \fBinit_dialog\fP as well as for -the command-line option \fB\-\-erase\-on\-exit\fP. -.TP 5 -.B FILE * \fIoutput -is the output stream used for displaying widgets. -It is either \fIstdout\fP or \fIstderr\fP, -depending on the \fB\-\-stdout\fP option. -.\" --------------------------------------------------------------------------- -.SS dlg_killall_bg -If \fB\*p\fP has callbacks active, -purge the list of all that are not marked -to keep in the background. -If any remain, run those in a background process. -.TP 5 -.B int * \fIretval -stores the exit-code to pass back to the caller. -.\" --------------------------------------------------------------------------- -.SS dlg_last_getc -returns the most recent character that was read via \fBdlg_getc\fP. -.\" --------------------------------------------------------------------------- -.SS dlg_limit_columns -Given a column limit, -count the number of wide characters that can fit into that limit. -The offset is used to skip over a leading character -that was already written. -.TP 5 -.B const char * \fIstring -is the string to analyze -.TP 5 -.B int \fIlimit -is the column limit -.TP 5 -.B int \fIoffset -is the starting offset from which analysis should continue -.\" --------------------------------------------------------------------------- -.SS dlg_lookup_key -Check for a key-binding. -If there is no binding associated with the widget, it simply returns -the given curses-key. -Otherwise, it returns the result of the binding -.TP 5 -.B WINDOW * \fIwin -is the window on which the binding is checked -.TP 5 -.B int \fIcurses_key -is the curses key-code -.TP 5 -.B int * \fIdialog_key -is the corresponding \fB\*p\fP internal code -(see \fBDLG_KEYS_ENUM\fP in dlg_key.h). -.\" --------------------------------------------------------------------------- -.SS dlg_max_input -Limit the parameter according to \fBdialog_vars.max_input\fP -.TP 5 -.B int \fImax_len -is the value to limit -.\" --------------------------------------------------------------------------- -.SS dlg_match_char -Match a given character against the beginning of the string, -ignoring case of the given character. -The matching string must begin with an uppercase character. -.TP 5 -.B int \fIch -is the character to check -.TP 5 -.B const char * \fIstring -is the string to search -.\" --------------------------------------------------------------------------- -.SS dlg_menu -This entrypoint provides the \fB\-\-menu\fP -functionality without the limitations of \fB\*p\fP's command-line syntax -(compare to \fBdialog_menu\fP). -.TP 5 -.B const char * \fItitle -is the title string to display at the top of the widget. -.TP 5 -.B const char * \fIcprompt -is the prompt text shown within the widget. -.TP 5 -.B int \fIheight -is the desired height of the box. -If zero, the height is adjusted to use the available screen size. -.TP 5 -.B int \fIwidth -is the desired width of the box. -If zero, the height is adjusted to use the available screen size. -.TP 5 -.B int \fImenu_height -is the minimum height to reserve for displaying the list. -If zero, it is computed based on the given \fIheight\fP and \fIwidth\fP. -.TP 5 -.B int \fIitem_no -is the number of \fIitems\fP. -.TP 5 -.B DIALOG_LISTITEM * \fIitems -This is a list of the items to display in the form. -.TP 5 -.B int * \fIcurrent_item -The widget sets the referenced location to the index of the current display -item (cursor) when it returns. -.TP 5 -.B DIALOG_INPUTMENU \fIrename_menutext -If this is not \fBdlg_dummy_menutext\fP, -the widget acts like an \fIinputmenu\fP widget, -providing an extra \*(``Rename\*('' button, -which activates an edit feature on the selected menu item. -.\" --------------------------------------------------------------------------- -.SS dlg_move_window -Moves/resizes the given window to the given position and size. -.TP 5 -.B WINDOW *\fIwin -is the window to move/resize. -.TP 5 -.B WINDOW *\fIheight -is the height of the resized window. -.TP 5 -.B WINDOW *\fIwidth -is the width of the resized window. -.TP 5 -.B WINDOW *\fIy -y-ordinate to use for the repositioned window. -.TP 5 -.B WINDOW *\fIx -x-ordinate to use for the repositioned window. -.\" --------------------------------------------------------------------------- -.SS dlg_mouse_bigregion -Retrieve the big-region under the pointer. -.TP 5 -.B int \fIy -is the row on which the mouse click occurred -.TP 5 -.B int \fIx -is the column on which the mouse click occurred -.\" --------------------------------------------------------------------------- -.SS dlg_mouse_free_regions -Free the memory associated with mouse regions. -.\" --------------------------------------------------------------------------- -.SS dlg_mouse_mkbigregion -Creates a region on which the mouse-clicks will return a specified code. -.TP 5 -.B int \fIy -is the top-row of the region. -.TP 5 -.B int \fIx -is the left-column of the region. -.TP 5 -.B int \fIheight -is the height of the region. -.TP 5 -.B int \fIwidth -is the width of the region. -.TP 5 -.B int \fIcode -is a code used to make the region unique within a widget -.TP 5 -.B int \fIstep_x -is used in modes 2 (columns) and 3 (cells) to determine the width -of a column/cell. -.TP 5 -.B int \fIstep_y -is currently unused -.TP 5 -.B int \fImode -is used to determine how the mouse position is translated into -a code (like a function-key): -.RS 5 -.TP 3 -1 -index by lines -.TP -2 -index by columns -.TP -3 -index by cells -.RE -.\" --------------------------------------------------------------------------- -.SS dlg_mouse_mkregion -.TP 5 -.B int \fIy -is the top-row of the region. -.TP 5 -.B int \fIx -is the left-column of the region. -.TP 5 -.B int \fIheight -is the height of the region. -.TP 5 -.B int \fIwidth -is the width of the region. -.TP 5 -.B int \fIcode -is a code used to make the region unique within a widget -.\" --------------------------------------------------------------------------- -.SS dlg_mouse_region -Retrieve the frame under the mouse pointer -.TP 5 -.B int \fIy -is the row of the mouse-click -.TP 5 -.B int \fIx -is the column of the mouse-click -.\" --------------------------------------------------------------------------- -.SS dlg_mouse_setbase -Sets a base for subsequent calls to \fBdlg_mouse_mkregion\fP, -so they can make regions relative to the start of a given window. -.TP 5 -.B int \fIx -is the left-column for the base -.TP 5 -.B int \fIy -is the top-row for the base -.\" --------------------------------------------------------------------------- -.SS dlg_mouse_setcode -Sets a value used internally by \fBdlg_mouse_mkregion\fP -which is added to the \fIcode\fP parameter. -By providing different values, -e.g., multiples of \fBKEY_MAX\fP, -it is possible to support multiple \*(``big\*('' regions in a widget. -The \fIbuildlist\fP widget uses this feature to recognize mouse-clicks -in the left/right panes. -.TP 5 -.B int \fIcode -is the value to add to \fBdlg_mouse_mkregion\fP's \fIcode\fP parameter. -.\" --------------------------------------------------------------------------- -.SS dlg_mouse_wgetch -is a wrapper for \fBdlg_getc\fP which additionally maps mouse-clicks -(if the curses library supports those) into extended function-keys -which encode the position according to the \fImode\fP in -\fBdlg_mouse_mkbigregion\fP. -Returns the corresponding key-code. -.TP 5 -.B WINDOW * \fIwin -is the window on which to perform the input -.TP 5 -.B int * \fIfkey -the referenced location is set to true if the key-code is an actual -or extended (mouse) function-key. -.\" --------------------------------------------------------------------------- -.SS dlg_mouse_wgetch_nowait -This is a non-blocking variant of \fBdlg_mouse_wgetch\fP. -.TP 5 -.B WINDOW * \fIwin -is the window on which to perform the input -.TP 5 -.B int * \fIfkey -the referenced location is set to true if the key-code is an actual -or extended (mouse) function-key. -.\" --------------------------------------------------------------------------- -.SS dlg_need_separator -Check if an output-separator is needed. -If \fBdialog_vars.output_separator\fP is set, return true. -Otherwise, if \fBdialog_vars.input_result\fP is nonempty, return true. -If neither, return false. -.\" --------------------------------------------------------------------------- -.SS dlg_new_modal_window -Create a modal window, optionally with a shadow. -The shadow is created if \fBdialog_state.use_shadow\fP is true. -.TP 5 -.B WINDOW * \fIparent -is the parent window (usually the top-level window of a widget) -.TP 5 -.B int \fIheight -is the window's height -.TP 5 -.B int \fIwidth -is the window's width -.TP 5 -.B int \fIy -is the window's top-row -.TP 5 -.B int \fIx -is the window's left-column -.\" --------------------------------------------------------------------------- -.SS dlg_new_window -Create a window, optionally with a shadow. -The shadow is created if \fBdialog_state.use_shadow\fP is true. -.TP 5 -.B int \fIheight -is the window's height -.TP 5 -.B int \fIwidth -is the window's width -.TP 5 -.B int \fIy -is the window's top-row -.TP 5 -.B int \fIx -is the window's left-column -.\" --------------------------------------------------------------------------- -.SS dlg_next_button -Return the next index in the list of labels. -.TP 5 -.B const char ** \fIlabels -is a list of (pointers to) button labels terminated by a null pointer. -.TP 5 -.B int \fIbutton -is the current button-index. -.\" --------------------------------------------------------------------------- -.SS dlg_next_ok_buttonindex -Assuming that the caller is using \fBdlg_ok_labels\fP to list buttons, -find the next index in the list of buttons. -.TP 5 -.B int \fIcurrent -is the current index in the list of buttons -.TP 5 -.B int \fIextra -if negative, provides a way to enumerate extra active areas on the widget. -.\" --------------------------------------------------------------------------- -.SS dlg_ok_buttoncode -Map the given button index for \fBdlg_ok_labels\fP -into \fB\*p\fP's exit-code. -.TP 5 -.B int \fIbutton -is the button-index (which is not necessarily the same as the index -in the list of labels). -.\" --------------------------------------------------------------------------- -.SS dlg_ok_button_key -Calls \fBdlg_button_key\fP with the \*(``Cancel\*('' button disabled, -e.g., for the textbox widget. -.\" --------------------------------------------------------------------------- -.SS dlg_ok_label -Returns a list with the \*(``Ok\*('' label, -and if \fBdialog_vars.help_button\fP is true, the \*(``Help\*('' label as well. -.\" --------------------------------------------------------------------------- -.SS dlg_ok_labels -Return a list of button labels for the OK/Cancel group of widgets. -.\" --------------------------------------------------------------------------- -.SS dlg_ordinate -Decode the string as an integer, decrement if greater than zero to make -a curses-ordinate from a dialog-ordinate. -.\" --------------------------------------------------------------------------- -.SS dlg_parse_bindkey -Parse the parameters of the \*(``bindkeys\*('' configuration-file entry. -This expects widget name which may be "*", followed by curses key definition and -then \fB\*p\fP key definition. -.TP 5 -.B char * \fIparams -is the parameter string to parse. -.\" --------------------------------------------------------------------------- -.SS dlg_parse_rc -Parse the configuration file and set up variables. -.\" --------------------------------------------------------------------------- -.SS dlg_popen -Open a pipe which ties the standard error and output together. -The \fBpopen\fP function captures only the standard output of a command. -.TP 5 -.B const char *\fIcommand -The shell command to run. -.TP 5 -.B const char *\fItype -Like \fBpopen\fP, "r" is used to read, and "w" is used to write. -.\" --------------------------------------------------------------------------- -.SS dlg_prev_button -Return the previous index in the list of labels. -.TP 5 -.B const char ** \fIlabels -is a list of (pointers to) button labels terminated by a null pointer. -.TP 5 -.B int \fIbutton -is the current button index -.\" --------------------------------------------------------------------------- -.SS dlg_print_listitem -This is a helper function used for the various \*(``list\*('' widgets, -e.g., checklist, menu, buildlist, treeview. -Each list-widget has \*(``tag\*('' and \*(``description\*('' values -for each item which can be displayed. -If \fBdialog_vars.no_tags\fP is true, -the \*(``tag\*('' value is not shown. -The first character of the first value shown (tag or description) -is highlighted to indicate that the widget will match it for quick navigation. -.TP 5 -.B WINDOW *\fIwin -the window in which to display the text -.TP 5 -.B const char *\fItext -the value to display -.TP 5 -.B int \fIclimit -the number of columns available for printing the text -.TP 5 -.B bool \fIfirst -true if this is the first call (for \*(``tag\*('' and \*(``description\*(''), -and the first character of the value should be highlighted. -.TP 5 -.B int \fIselected -nonzero if the text should be displayed using the \*(``selected\*('' colors -.\" --------------------------------------------------------------------------- -.SS dlg_print_scrolled -This is a wrapper for \fBdlg_print_autowrap\fP which allows the user -to scroll too-long prompt text up/down. -.LP -See \fBdlg_check_scrolled\fP for a function which updates the \fIoffset\fP -variable used as a parameter here. -It complements this function; you need both. -If \fIpauseopt\fP is set, this function returns an updated \fIlast\fP -parameter, needed for \fBdlg_check_scrolled\fP calls. -.TP 5 -.B WINDOW * \fIwin -is the window to update. -.TP 5 -.B const char * \fIprompt -is the string to print -.TP 5 -.B int \fIoffset -is the starting line-number to write wrapped text. -.TP 5 -.B int \fIheight -is the available height for writing the wrapped text -.TP 5 -.B int \fIwidth -is the width that the wrapping should occur in -.TP 5 -.B int \fIpauseopt -is true if the extra functionality for scrolling should be enabled. -If false, this calls \fBdlg_print_autowrap\fP without doing any scrolling. -.\" --------------------------------------------------------------------------- -.SS dlg_print_line -Print one line of the prompt in the window within the limits of the -specified right margin. -The line will end on a word boundary and a pointer -to the start of the next line is returned, or a NULL pointer if the end of -*prompt is reached. -.TP 5 -.B WINDOW *\fIwin -is the window to update. -.TP 5 -.B chtype *\fIattr -holds the starting attributes, and is updated to reflect the final attributes -applied to the string. -.TP 5 -.B const char *\fIprompt -is the string to print -.TP 5 -.B int \fIlm -is the left margin. -.TP 5 -.B int \fIrm -is the right margin -.TP 5 -.B int *\fIx -returns the ending x-ordinate. -.\" --------------------------------------------------------------------------- -.SS dlg_prev_ok_buttonindex -Find the previous button index in the list from \fBdlg_ok_labels\fP. -.TP 5 -.B int \fIcurrent -is the current index -.TP 5 -.B int \fIextra -if negative provides a way to enumerate extra active areas on the widget. -.\" --------------------------------------------------------------------------- -.SS dlg_print_autowrap -Print a string of text in a window, automatically wrap around to the next -line if the string is too long to fit on one line. -Note that the string may contain embedded newlines. -The text is written starting at the top of the window. -.TP 5 -.B WINDOW * \fIwin -is the window to update. -.TP 5 -.B const char * \fIprompt -is the string to print -.TP 5 -.B int \fIheight -is the nominal height the wrapped string is limited to -.TP 5 -.B int \fIwidth -is the width that the wrapping should occur in -.\" --------------------------------------------------------------------------- -.SS dlg_print_size -If \fBdialog_vars.print_siz\fP is true, -print the given height/width (from a widget) -to \fBdialog_state.output\fP, e.g., -\fBSize: height, width\fP. -.TP 5 -.B int \fIheight -is the window's height -.TP 5 -.B int \fIwidth -is the window's width -.\" --------------------------------------------------------------------------- -.SS dlg_print_text -Print up to \fIcols\fP columns from \fBtext\fP, -optionally rendering \fB\*p\fP's escape sequences for attributes and color. -.TP 5 -.B WINDOW * \fIwin -is the window to update. -.TP 5 -.B const char * \fItxt -is the string to print -.TP 5 -.B int \fIcol -is the column limit -.TP 5 -.B chtype * \fIattr -holds the starting attributes, and is updated to reflect the final attributes -applied to the string. -.\" --------------------------------------------------------------------------- -.SS dlg_progressbox -implements the "\fB\-\-prgbox\fP" and "\fB\-\-progressbox\fP" options. -.TP 5 -.B const char * \fItitle -is the title on the top of the widget. -.TP 5 -.B const char * \fIcprompt -is the prompt text shown within the widget. -If empty or null, no prompt is shown. -.TP 5 -.B int \fIheight -is the desired height of the box. -If zero, the height is based on the screen size. -.TP 5 -.B int \fIwidth -is the desired width of the box. -If zero, the height is based on the screen size. -.TP 5 -.B int \fIpauseopt -if true, an \*(``OK\*('' button will be shown, -and the dialog will wait for it to complete. -With an \*(``OK\*('' button, it is denoted a \*(``programbox\*('', -without an \*(``OK\*('' button, it is denoted a \*(``progressbox\*(''. -.TP 5 -.B FILE * \fIfp -is the file pointer, which may be a pipe or a regular file. -.\" --------------------------------------------------------------------------- -.SS dlg_put_backtitle -Display the background title if \fBdialog_vars.backtitle\fP is non-null. -The background title is shown at the top of the screen. -.\" --------------------------------------------------------------------------- -.SS dlg_reallocate_gauge -Allocates or reallocates a gauge widget (see \fBdlg_allocate_gauge\fP). -Use \fBdlg_update_gauge\fP to display the result. -.TP 5 -.B void ** \fIobjptr -If the pointer referenced by this parameter is null, the function creates -a new gauge widget using \fBdlg_allocate_gauge\fP. -Otherwise, it updates the title and cprompt values, reusing the window -from the previous call on this function. -As a side-effect, the function stores the updated object-pointer via -the \fIobjptr\fP parameter. -.TP 5 -.B const char * \fItitle -is the title string to display at the top of the widget. -.TP 5 -.B const char * \fIcprompt -is the prompt text shown within the widget. -.TP 5 -.B int \fIheight -is the desired height of the box. -If zero, the height is adjusted to use the available screen size. -.TP 5 -.B int \fIwidth -is the desired width of the box. -If zero, the height is adjusted to use the available screen size. -.TP 5 -.B int \fIpercent -is the percentage to show in the progress bar. -.\" --------------------------------------------------------------------------- -.SS dlg_register_buttons -The widget developer should call this function after \fBdlg_register_window\fP, -for the list of button labels associated with the widget. -One may bind a key to a button, e.g., \*(``OK\*('' for \fBDLGK_OK\fP, -.TP 5 -.B WINDOW * \fIwin -is the window with which to associate the buttons -.TP 5 -.B const char * \fIname -is the widget's binding name (usually the name of the widget). -.TP 5 -.B const char ** \fIbuttons -is the list of buttons -.\" --------------------------------------------------------------------------- -.SS dlg_register_window -For a given named widget's window, associate a binding table. -.TP 5 -.B WINDOW * \fIwin -is the window with which to associate the buttons -.TP 5 -.B const char * \fIname -is the widget's binding name (usually the name of the widget). -.TP 5 -.B DLG_KEYS_BINDING * \fIbinding -is the binding table -.\" --------------------------------------------------------------------------- -.SS dlg_remove_callback -Remove a callback. -.TP 5 -.B DIALOG_CALLBACK * \fIp -contains the callback information. -.\" --------------------------------------------------------------------------- -.SS dlg_renamed_menutext -This is a utility function which supports the \fB\-\-inputmenu\fP option of -the \fB\*p\fP program. -If \fBdialog_vars.input_menu\fP is set, \fBdialog_menu\fP passes this -pointer to \fBdlg_menu\fP as the \fIrename_menutext\fP parameter. -Otherwise, it passes \fBdlg_dummy_menutext\fP. -.LP -The function should add \*(``RENAMED\*('' to \fBdialog_vars.input_result\fP , -followed by the menu item's name and the \fInewtext\fP value -(with a space separating the three items), -and return \fBDLG_EXIT_EXTRA\fP. -.TP 5 -.B DIALOG_LISTITEM * \fIitems -is the list of menu items -.TP 5 -.B int \fIcurrent -is the index of the currently-selected item -.TP 5 -.B char * \fInewtext -is the updated text for the menu item -.\" --------------------------------------------------------------------------- -.SS dlg_reset_timeout -Calls \fBwtimeout\fP with the value saved for a window in the -last call to \fBdlg_set_timeout\fP. -.\" --------------------------------------------------------------------------- -.SS dlg_restore_vars -Restore \fB\*p\fP's variables from the given variable -(see \fBdialog_save_vars\fP). -.TP 5 -.B DIALOG_VARS * \fIsave -is the variable from which to restore. -.LP -The -\fIDIALOG_VARS.input_length\fP and -\fIDIALOG_VARS.input_result\fP members are treated specially, -since these are used by a widget to pass data to the caller. -They are not modified by this function. -.\" --------------------------------------------------------------------------- -.SS dlg_result_key -Test a \fB\*p\fP internal keycode to see if it corresponds to one of the push -buttons on the widget such as \*(``OK\*(''. -This is only useful if there are user-defined key bindings, since there are -no built-in bindings that map directly to \fBDLGK_OK\fP, etc. -Return true if a mapping was done. -.TP 5 -.B int \fIdialog_key -is the \fB\*p\fP key to test -.TP 5 -.B int \fIfkey -is true if this is a function key -.TP 5 -.B int * \fIresultp -store the result of the mapping in the referenced location. -.\" --------------------------------------------------------------------------- -.SS dlg_save_vars -Save \fB\*p\fP's variables into the given variable (see \fBdlg_restore_vars\fP). -.TP 5 -.B DIALOG_VARS * \fIsave -is the variable into which to save. -.\" --------------------------------------------------------------------------- -.SS dlg_set_focus -Set focus on the given window, -making it display above other windows on the screen. -.TP 5 -.B WINDOW * \fIparent -is the parent window (usually the top-level window of a widget) -.TP 5 -.B WINDOW * \fIwin -is the window on which to place focus (usually a subwindow of a widget) -.\" --------------------------------------------------------------------------- -.SS dlg_set_result -Setup a fixed-buffer for the result in \fBdialog_vars.input_result\fP -.TP 5 -.B const char * \fIstring -is the new contents for the result -.\" --------------------------------------------------------------------------- -.SS dlg_set_timeout -Calls \fBwtimeout\fP to establish a preferred timeout for nonblocking -reads, e.g., to allow the gauge widget to handle window-resizing events. -The \fBdlg_may_resize\fP function temporarily overrides this value, -to allow it to skip over the error codes returned while the ncurses -library processes window-resizing events. -It restores the value established in this call -by calling \fBdlg_restore_timeout\fP. -.TP 5 -.B WINDOW * \fIwin -is the window whose input-timeout should be set -.TP 5 -.B bool \fIwill_getc -is true if the widget is expected to read keyboard characters. -Some (such as the gauge widget) do not. -.\" --------------------------------------------------------------------------- -.SS dlg_show_string -Displays the string, shifted as necessary, to fit within the box and show -the current character-offset. -.TP 5 -.B WINDOW * \fIwin -is the window within which to display -.TP 5 -.B const char * \fIstring -is the string to display -.TP 5 -.B int \fIoffset -is the starting (character, not bytes) offset -.TP 5 -.B chtype \fIattr -is the window attribute to use for the string -.TP 5 -.B int \fIy_base -beginning row on screen -.TP 5 -.B int \fIx_base -beginning column on screen -.TP 5 -.B int \fIx_last -number of columns on screen -.TP 5 -.B bool \fIhidden -if true, do not echo input -.TP 5 -.B bool \fIforce -if true, force repaint -.\" --------------------------------------------------------------------------- -.SS dlg_strclone -duplicate the string, like \fBstrdup\fP. -.TP 5 -.B const char * \fIcprompt -is the string to duplicate -.\" --------------------------------------------------------------------------- -.SS dlg_strcmp -compare two strings, ignoring case. -.TP 5 -.B const char * \fIa -is one string -.TP 5 -.B const char * \fIb -is the other string -.\" --------------------------------------------------------------------------- -.SS dlg_string_to_argv -Convert a string to an argument vector -returning an index (which must be freed by the caller). -The string is modified: -.bP -Blanks between arguments are replaced by nulls. -.bP -Normally arguments are separated by blanks; -however you can double-quote an argument to enclose blanks. -The surrounding double-quotes are removed from the string. -.bP -A backslash preceding a double-quote within double-quotes is removed. -.bP -A backslash preceding a newline outside double-quotes is removed. -.bP -Except for special cases, backslashes are preserved in the strings, -since other \fB\*l\fP functions interpret backslashes, e.g., for colors. -.TP 5 -.B char *\fIblob -is the string to convert. -.\" --------------------------------------------------------------------------- -.SS dlg_sub_window -create a subwindow, e.g., for an input area of a widget -.TP 5 -.B WINDOW * \fIwin -is the parent window -.TP 5 -.B int \fIheight -is the subwindow's height -.TP 5 -.B int \fIwidth -is the subwindow's width -.TP 5 -.B int \fIy -is the subwindow's top-row -.TP 5 -.B int \fIx -is the subwindow's left-column -.\" --------------------------------------------------------------------------- -.SS dlg_tab_correct_str -If the \fBdialog_vars.tab_correct\fP is true, convert tabs to single spaces. -Return the converted result. -The caller is responsible for freeing the string. -.TP 5 -.B char * \fIprompt -is the string to convert -.\" --------------------------------------------------------------------------- -.SS dlg_trace -If the parameter is non-null, opens a trace file with that -name and stores the file pointer in \fBdialog_state.trace\fP. -.\" --------------------------------------------------------------------------- -.SS dlg_trace_2n -logs a numeric value as a comment. -.TP 5 -.B char * \fIname -is the name to log in the comment. -.TP 5 -.B int \fIvalue -is the value to log in the comment. -.\" --------------------------------------------------------------------------- -.SS dlg_trace_2s -logs a string value as a comment. -If the value contains embedded newlines, -the comment is continued with \*(``#+\*('' markers. -.TP 5 -.B char * \fIname -is the name to log in the comment. -.TP 5 -.B int \fIvalue -is the value to log in the comment. -.\" --------------------------------------------------------------------------- -.SS dlg_trace_chr -If \fBdialog_state.trace\fP is set, -translate the parameters into a printable representation, -log it on a \*(``chr\*('' line. -.TP 5 -.B int \fIch -is the nominal keycode value. -.TP 5 -.B int \fIfkey -is nonzero if the value is really a function key. -Some of these may be values declared in the DLG_KEYS_ENUM. -.\" --------------------------------------------------------------------------- -.SS dlg_trace_msg -Write a formatted message to the trace file. -.TP 5 -.B const char * \fIfmt -is the format of the \fBprintf\fP-like message to write. -.TP 5 -.B ... -.br -are the variables to apply to the \fIfmt\fP format. -.LP -Use the DLG_TRACE macro for portability, in case the trace -feature is not compiled into the library. -It uses an extra level of parentheses to work with a variable number of -parameters, e.g., -.Ex -DLG_TRACE(("this is dialog version %s\en", dialog_version())); -.Ee -.\" --------------------------------------------------------------------------- -.SS dlg_trace_va_msg -Write a formatted message to the trace file. -.TP 5 -.B const char *\fIfmt -is the format of the \fBprintf\fP-like message to write. -.TP 5 -.B va_list \fIap -are the variables to apply to the \fIfmt\fP format. -.LP -This is used in \fBdlg_exiterr\fP to capture error messages in the trace file: -.Ex -va_start(ap, fmt); -dlg_trace_msg("## Error: "); -dlg_trace_va_msg(fmt, ap); -va_end(ap); -.Ee -.LP -Unlike \fBdlg_trace_msg\fP, an extra macro is not needed. -.\" --------------------------------------------------------------------------- -.SS dlg_ttysize -Returns the screensize without using curses. -That allows the function to be used before initializing the screen. -.\" --------------------------------------------------------------------------- -.SS dlg_trace_win -If \fBdialog_state.trace\fP is set, -log a printable picture of the given window. -.\" --------------------------------------------------------------------------- -.SS dlg_treeview -This is an alternate interface to 'treeview' which allows the application -to read the list item states back directly without putting them in the -output buffer. -.TP 5 -.B const char * \fItitle -is the title on the top of the widget. -.TP 5 -.B const char * \fIcprompt -is the prompt text shown within the widget. -.TP 5 -.B int \fIheight -is the desired height of the box. -If zero, the height is based on the screen size. -.TP 5 -.B int \fIwidth -is the desired width of the box. -If zero, the height is based on the screen size. -.TP 5 -.B int \fIlist_height -is the minimum height to reserve for displaying the list. -If zero, it is computed based on the given \fIheight\fP and \fIwidth\fP. -.TP 5 -.B int \fIitem_no -is the number of rows in \fIitems\fP. -.TP 5 -.B DIALOG_LISTITEM * \fIitems -is the list of items, contain tag, name, and optionally help strings -(if \fBdialog_vars.item_help\fP is set). -The initial selection state for each item is also in this list. -.TP 5 -.B const char * \fIstates -This is a list of characters to display for the given states. -Normally a buildlist provides true (1) and false (0) values, -which the widget displays as "*" and space, respectively. -An application may set this parameter to an arbitrary null-terminated string. -The widget determines the number of states from the length of this string, -and will cycle through the corresponding display characters as the user -presses the space-bar. -.TP 5 -.B int * \fIdepths -This is a list of depths of each item in the tree. -It is a separate parameter from \fIitems\fP to allow reuse of -the existing functions. -.TP 5 -.B int \fIflag -is either \fIFLAG_CHECK\fP, for checklists (multiple selections), -or \fIFLAG_RADIO\fP for radiolists (a single selection). -.TP 5 -.B int * \fIcurrent_item -The widget sets the referenced location to the index of the current display -item (cursor) when it returns. -.\" --------------------------------------------------------------------------- -.SS dlg_trim_string -The \fB\*p\fP program uses this in each widget to adjust the -message string, -which may contain the newline character (referred to as '\en') -and/or the special substring "\en" -(which can be translated into a newline character). -.LP -There are several optional features: -.bP -Unless \fBdialog_vars.nocollapse\fP is set, -each tab is converted to a space before other processing. -.bP -If \fBdialog_vars.no_nl_expand\fP is not set, -and the string has "\en" substrings: -.RS -.bP -The function changes embedded "\en" substrings to '\en' characters. -.IP -The function preserves extra spaces after these substitutions. -For instance, spaces following a newline (substring or character) -are preserved to use as an indentation. -.bP -If \fBdialog_vars.cr_wrap\fP is set, -the function preserves '\en' newline characters. -Otherwise, each '\en' newline character is converted to a space. -.RE -.bP -Otherwise, if \fBdialog_vars.trim_whitespace\fP is set: -.RS -.bP -This function strips all extra spaces to simplify justification. -.bP -If \fBdialog_vars.cr_wrap\fP is set, -the function preserves '\en' newline characters. -Otherwise, each '\en' newline character is converted to a space. -.RE -.bP -Finally -(if \fBdialog_vars.no_nl_expand\fP is set, -or the string does not contain "\en" substrings, -and \fBdialog_vars.trim_whitespace\fP is not set): -.RS -.bP -Unless \fBdialog_vars.nocollapse\fP is set, -sequences of spaces are reduced to a single space. -.RE -.TP 5 -.B char * \fIsrc -is the string to trim -.\" --------------------------------------------------------------------------- -.SS dlg_unregister_window -Remove the bindings for a given window. -.TP 5 -.B WINDOW * \fIwin -is the window from which to remove bindings -.\" --------------------------------------------------------------------------- -.SS dlg_update_gauge -Update a gauge widget to show a different percentage value. -.TP 5 -.B void *\fIobjptr -points to the gauge object to update. -.TP 5 -.B int \fIpercent -is the new percentage value to display. -.\" --------------------------------------------------------------------------- -.SS dlg_will_resize -This filters out bursts of \fBKEY_RESIZE\fP values. -Call this after \fBdlg_getc\fP returns \fBKEY_RESIZE\fP, -to improve performance. -.\" --------------------------------------------------------------------------- -.SS dlg_yes_buttoncode -Map the given button index for \fBdlg_yes_labels\fP into \fB\*p\fP's exit-code. -.TP 5 -.B int \fIbutton -is the button index -.\" --------------------------------------------------------------------------- -.SS dlg_yes_labels -Return a list of buttons for Yes/No labels. -.\" --------------------------------------------------------------------------- -.SS end_dialog -End use of \fB\*p\fP functions. -.\" --------------------------------------------------------------------------- -.SS init_dialog -Do some initialization for \fB\*p\fP. -.TP 5 -.B FILE *\fIinput -is the real tty input of \fB\*p\fP. -Usually it is the standard input, but if -\fB\-\-input\-fd\fP option is used, it may be anything. -.TP 5 -.B FILE *\fIoutput -is where \fB\*p\fP will send its result. -Usually it is the standard error, but -if \fB\-\-stdout\fP or \fB\-\-output\-fd\fP is used, it may be anything. -. -.\" ************************************************************************ -.SH SEE ALSO -\fB\*p\fP (1). -. -.\" ************************************************************************ -.SH AUTHOR -Thomas E.\& Dickey diff --git a/contrib/dialog/dialog.c b/contrib/dialog/dialog.c deleted file mode 100644 index f59c9dc03c13..000000000000 --- a/contrib/dialog/dialog.c +++ /dev/null @@ -1,2144 +0,0 @@ -/* - * $Id: dialog.c,v 1.281 2021/01/17 16:52:18 tom Exp $ - * - * cdialog - Display simple dialog boxes from shell scripts - * - * Copyright 2000-2020,2021 Thomas E. Dickey - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License, version 2.1 - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this program; if not, write to - * Free Software Foundation, Inc. - * 51 Franklin St., Fifth Floor - * Boston, MA 02110, USA. - * - * An earlier version of this program lists as authors - * Savio Lam (lam836@cs.cuhk.hk) - */ - -#include <dialog.h> - -#include <stddef.h> -#include <string.h> -#include <sys/types.h> -#include <sys/stat.h> - -#ifdef HAVE_SETLOCALE -#include <locale.h> -#endif - -#include <dlg_internals.h> - -#define PASSARGS t, av, offset_add -#define CALLARGS const char *t, char *av[], int *offset_add -typedef int (callerFn) (CALLARGS); - -typedef enum { - o_unknown = 0 - ,o_allow_close - ,o_and_widget - ,o_ascii_lines - ,o_aspect_ratio - ,o_auto_placement - ,o_backtitle - ,o_beep_signal - ,o_beep_after_signal - ,o_begin_set - ,o_cancel_label - ,o_checklist - ,o_dlg_clear_screen - ,o_colors - ,o_column_separator - ,o_cr_wrap - ,o_create_rc - ,o_cursor_off_label - ,o_date_format - ,o_default_button - ,o_default_item - ,o_defaultno - ,o_erase_on_exit - ,o_exit_label - ,o_extra_button - ,o_extra_label - ,o_fixed_font - ,o_form - ,o_gauge - ,o_help - ,o_help_button - ,o_help_file - ,o_help_label - ,o_help_line - ,o_help_status - ,o_help_tags - ,o_icon - ,o_ignore - ,o_infobox - ,o_input_fd - ,o_inputbox - ,o_inputmenu - ,o_insecure - ,o_item_help - ,o_keep_colors - ,o_keep_tite - ,o_keep_window - ,o_last_key - ,o_max_input - ,o_menu - ,o_mixedform - ,o_mixedgauge - ,o_msgbox - ,o_no_close - ,o_nocollapse - ,o_no_cr_wrap - ,o_cant_kill - ,o_no_hot_list - ,o_no_label - ,o_no_lines - ,o_no_mouse - ,o_no_nl_expand - ,o_use_shadow - ,o_nocancel - ,o_nook - ,o_ok_label - ,o_output_fd - ,o_output_separator - ,o_passwordbox - ,o_passwordform - ,o_pause - ,o_prgbox - ,o_print_maxsize - ,o_print_siz - ,o_text_only - ,o_print_text_size - ,o_print_version - ,o_programbox - ,o_progressbox - ,o_quoted - ,o_radiolist - ,o_screen_center - ,o_use_scrollbar - ,o_separate_output - ,o_separate_str - ,o_single_quoted - ,o_size_err - ,o_sleep_secs - ,o_smooth - ,o_output_stderr - ,o_output_stdout - ,o_tab_correct - ,o_tab_len - ,o_tailbox - ,o_tailboxbg - ,o_textbox - ,o_time_format - ,o_timeout_secs - ,o_title - ,o_trim_whitespace - ,o_under_mouse - ,o_version - ,o_visit_items - ,o_wmclass - ,o_yes_label - ,o_yesno -#ifdef HAVE_WHIPTAIL - ,o_fullbutton - ,o_topleft -#endif -#ifdef HAVE_XDIALOG - ,o_calendar - ,o_dselect - ,o_editbox - ,o_fselect - ,o_timebox - ,o_week_start -#endif -#ifdef HAVE_XDIALOG2 - ,o_buildlist - ,o_rangebox - ,o_reorder - ,o_treeview -#endif -#if defined(HAVE_XDIALOG2) || defined(HAVE_WHIPTAIL) - ,o_no_items - ,o_no_tags -#endif -#ifdef HAVE_DLG_TRACE - ,o_trace -#endif - ,o_iso_week -} eOptions; - -typedef enum { - tUnknown - ,tFalse - ,tTrue - ,tNumber - ,tString -} tOptions; - -/* - * The bits in 'pass' are used to decide which options are applicable at - * different stages in the program: - * 1 flags before widgets - * 2 widgets - * 4 non-widget options - */ -typedef struct { - const char *name; - eOptions code; - int vars; /* 0=none, 1=state, 2=vars */ - tOptions type; /* type for bool(true/false), number, string */ - unsigned offset; - int pass; /* 1,2,4 or combination */ - const char *help; /* NULL to suppress, non-empty to display params */ -} Options; - -typedef struct { - eOptions code; - int argmin, argmax; - callerFn *jumper; -} Mode; - -/* use these macros for simple options in DIALOG_STATE */ -#define ssF(name) o_##name, 1, tFalse, offsetof(DIALOG_STATE,name) -#define ssT(name) o_##name, 1, tTrue, offsetof(DIALOG_STATE,name) -#define ssN(name) o_##name, 1, tNumber, offsetof(DIALOG_STATE,name) -#define ssS(name) o_##name, 1, tString, offsetof(DIALOG_STATE,name) - -/* use these macros for simple options in DIALOG_VARS */ -#define svF(name) o_##name, 2, tFalse, offsetof(DIALOG_VARS,name) -#define svT(name) o_##name, 2, tTrue, offsetof(DIALOG_VARS,name) -#define svN(name) o_##name, 2, tNumber, offsetof(DIALOG_VARS,name) -#define svS(name) o_##name, 2, tString, offsetof(DIALOG_VARS,name) - -/* use these macros for ignored options */ -#define xxF(name) o_##name, 0, tFalse, 0 -#define xxT(name) o_##name, 0, tTrue, 0 -#define xxN(name) o_##name, 0, tNumber, 0 -#define xxS(name) o_##name, 0, tString, 0 - -/* use this macro for widget options */ -#define opW(name) o_##name, 0, 0, 0 - -/* use this macro for other options */ -#define opO(name) o_##name, 0, 0, 0 - -static int known_opts = 0; -static const char **dialog_opts; -static char **dialog_argv; - -static char **special_argv = 0; -static int special_argc = 0; - -static bool ignore_unknown = FALSE; - -static const char *program = "dialog"; - -#ifdef NO_LEAKS -typedef struct _all_blobs { - struct _all_blobs *next; - void *blob; -} AllBlobs; - -static AllBlobs *all_blobs; -#endif - -/* - * The options[] table is organized this way to make it simple to maintain - * a sorted list of options for the help-message. - * - * Because Boolean options correspond to "true", --shadow is listed here while - * --no-shadow is not. The findOption and optionBool functions handle the - * cases where "no" is added or removed from the option name to derive an - * opposite setting. - */ -/* *INDENT-OFF* */ -static const Options options[] = { - { "allow-close", xxT(allow_close), 1, NULL }, - { "and-widget", opO(and_widget), 4, NULL }, - { "ascii-lines", svT(ascii_lines), 1, "" }, - { "aspect", ssN(aspect_ratio), 1, "<ratio>" }, - { "auto-placement", xxT(auto_placement), 1, NULL }, - { "backtitle", svS(backtitle), 1, "<backtitle>" }, - { "beep", svT(beep_signal), 1, "" }, - { "beep-after", svT(beep_after_signal), 1, "" }, - { "begin", svT(begin_set), 1, "<y> <x>" }, - { "cancel-label", svS(cancel_label), 1, "<str>" }, - { "checklist", opW(checklist), 2, "<text> <height> <width> <list height> <tag1> <item1> <status1>..." }, - { "clear", svT(dlg_clear_screen), 1, "" }, - { "colors", svT(colors), 1, "" }, - { "column-separator",svS(column_separator), 1, "<str>" }, - { "cr-wrap", svT(cr_wrap), 1, "" }, - { "create-rc", opO(create_rc), 1, NULL }, - { "cursor-off-label",svT(cursor_off_label), 1, "" }, - { "date-format", svS(date_format), 1, "<str>" }, - { "default-button", xxS(default_button), 1, "<str>" }, - { "default-item", svS(default_item), 1, "<str>" }, - { "defaultno", svT(defaultno), 1, "" }, - { "erase-on-exit", svT(erase_on_exit), 1, "" }, - { "exit-label", svS(exit_label), 1, "<str>" }, - { "extra-button", svT(extra_button), 1, "" }, - { "extra-label", svS(extra_label), 1, "<str>" }, - { "fixed-font", xxT(fixed_font), 1, NULL }, - { "form", opW(form), 2, "<text> <height> <width> <form height> <label1> <l_y1> <l_x1> <item1> <i_y1> <i_x1> <flen1> <ilen1>..." }, - { "gauge", opW(gauge), 2, "<text> <height> <width> [<percent>]" }, - { "guage", opW(gauge), 2, NULL }, - { "help", opO(help), 4, "" }, - { "help-button", svT(help_button), 1, "" }, - { "help-label", svS(help_label), 1, "<str>" }, - { "help-status", svT(help_status), 1, "" }, - { "help-tags", svT(help_tags), 1, "" }, - { "hfile", svS(help_file), 1, "<str>" }, - { "hline", svS(help_line), 1, "<str>" }, - { "icon", xxS(icon), 1, NULL }, - { "ignore", opO(ignore), 1, "" }, - { "infobox", opW(infobox), 2, "<text> <height> <width>" }, - { "input-fd", opO(input_fd), 1, "<fd>" }, - { "inputbox", opW(inputbox), 2, "<text> <height> <width> [<init>]" }, - { "inputmenu", opW(inputmenu), 2, "<text> <height> <width> <menu height> <tag1> <item1>..." }, - { "insecure", svT(insecure), 1, "" }, - { "item-help", svT(item_help), 1, "" }, - { "keep-colors", xxT(keep_colors), 1, NULL }, - { "keep-tite", svT(keep_tite), 1, "" }, - { "keep-window", svT(keep_window), 1, "" }, - { "last-key", svT(last_key), 1, "" }, - { "max-input", svN(max_input), 1, "<n>" }, - { "menu", opW(menu), 2, "<text> <height> <width> <menu height> <tag1> <item1>..." }, - { "mixedform", opW(mixedform), 2, "<text> <height> <width> <form height> <label1> <l_y1> <l_x1> <item1> <i_y1> <i_x1> <flen1> <ilen1> <itype>..." }, - { "mixedgauge", opW(mixedgauge), 2, "<text> <height> <width> <percent> <tag1> <item1>..." }, - { "msgbox", opW(msgbox), 2, "<text> <height> <width>" }, - { "no-cancel", svT(nocancel), 1, "" }, - { "no-close", xxT(no_close), 1, NULL }, - { "no-collapse", svT(nocollapse), 1, "" }, - { "no-hot-list", svT(no_hot_list), 1, "" }, - { "no-kill", svT(cant_kill), 1, "" }, - { "no-label", svS(no_label), 1, "<str>" }, - { "no-lines", svT(no_lines), 1, "" }, - { "no-mouse", ssT(no_mouse), 1, "" }, - { "no-nl-expand", svT(no_nl_expand), 1, "" }, - { "no-ok", svT(nook), 1, "" }, - { "no-shadow", ssF(use_shadow), 1, "" }, - { "ok-label", svS(ok_label), 1, "<str>" }, - { "output-fd", opO(output_fd), 1, "<fd>" }, - { "output-separator",svS(output_separator), 1, "<str>" }, - { "passwordbox", opW(passwordbox), 2, "<text> <height> <width> [<init>]" }, - { "passwordform", opW(passwordform), 2, "<text> <height> <width> <form height> <label1> <l_y1> <l_x1> <item1> <i_y1> <i_x1> <flen1> <ilen1>..." }, - { "pause", opW(pause), 2, "<text> <height> <width> <seconds>" }, - { "prgbox", opW(prgbox), 2, "<text> <command> <height> <width>" }, - { "print-maxsize", opO(print_maxsize), 1, "" }, - { "print-size", svT(print_siz), 1, "" }, - { "print-text-only",ssT(text_only), 5, "<text> <height> <width>" }, - { "print-text-size",opO(print_text_size), 5, "<text> <height> <width>" }, - { "print-version", opO(print_version), 5, "" }, - { "programbox", opW(programbox), 2, "<text> <height> <width>" }, - { "progressbox", opW(progressbox), 2, "<text> <height> <width>" }, - { "quoted", svT(quoted), 1, "" }, - { "radiolist", opW(radiolist), 2, "<text> <height> <width> <list height> <tag1> <item1> <status1>..." }, - { "screen-center", xxT(screen_center), 1, NULL }, - { "scrollbar", ssT(use_scrollbar), 1, "" }, - { "separate-output",svT(separate_output), 1, "" }, - { "separate-widget",ssS(separate_str), 1, "<str>" }, - { "separator", svS(output_separator), 1, NULL }, - { "single-quoted", svT(single_quoted), 1, "" }, - { "size-err", svT(size_err), 1, "" }, - { "sleep", svN(sleep_secs), 1, "<secs>" }, - { "smooth", xxT(smooth), 1, NULL }, - { "stderr", opO(output_stderr), 1, "" }, - { "stdout", opO(output_stdout), 1, "" }, - { "tab-correct", svT(tab_correct), 1, "" }, - { "tab-len", ssN(tab_len), 1, "<n>" }, - { "tailbox", opW(tailbox), 2, "<file> <height> <width>" }, - { "tailboxbg", opW(tailboxbg), 2, "<file> <height> <width>" }, - { "textbox", opW(textbox), 2, "<file> <height> <width>" }, - { "time-format", svS(time_format), 1, "<str>" }, - { "timeout", svN(timeout_secs), 1, "<secs>" }, - { "title", svS(title), 1, "<title>" }, - { "trim", svT(trim_whitespace), 1, "" }, - { "under-mouse", xxT(under_mouse), 1, NULL }, - { "version", opO(version), 5, "" }, - { "visit-items", ssT(visit_items), 1, "" }, - { "wmclass", xxS(wmclass), 1, NULL }, - { "yes-label", svS(yes_label), 1, "<str>" }, - { "yesno", opW(yesno), 2, "<text> <height> <width>" }, -#ifdef HAVE_WHIPTAIL - { "cancel-button", svS(cancel_label), 1, NULL }, - { "fb", xxT(fullbutton), 1, NULL }, - { "fullbutton", xxT(fullbutton), 1, NULL }, - { "no-button", svS(no_label), 1, NULL }, - { "ok-button", svS(ok_label), 1, NULL }, - { "scrolltext", ssT(use_scrollbar), 1, NULL }, - { "topleft", svT(begin_set), 1, NULL }, - { "yes-button", svS(yes_label), 1, NULL }, -#endif -#ifdef HAVE_XDIALOG - { "calendar", opW(calendar), 2, "<text> <height> <width> <day> <month> <year>" }, - { "dselect", opW(dselect), 2, "<directory> <height> <width>" }, - { "editbox", opW(editbox), 2, "<file> <height> <width>" }, - { "fselect", opW(fselect), 2, "<filepath> <height> <width>" }, - { "timebox", opW(timebox), 2, "<text> <height> <width> <hour> <minute> <second>" }, - { "week-start", svS(week_start), 1, "<str>" }, - { "iso-week", svT(iso_week), 1, NULL }, -#endif -#ifdef HAVE_XDIALOG2 - { "buildlist", opW(buildlist), 2, "<text> <height> <width> <list-height> <tag1> <item1> <status1>..." }, - { "no-items", svT(no_items), 1, "" }, - { "no-tags", svT(no_tags), 1, "" }, - { "rangebox", opW(rangebox), 2, "<text> <height> <width> <min-value> <max-value> <default-value>" }, - { "reorder", svT(reorder), 1, "" }, - { "treeview", opW(treeview), 2, "<text> <height> <width> <list-height> <tag1> <item1> <status1> <depth1>..." }, -#endif -#if defined(HAVE_XDIALOG2) || defined(HAVE_WHIPTAIL) - { "noitem", svT(no_items), 1, NULL }, - { "notags", svT(no_tags), 1, NULL }, -#endif -#ifdef HAVE_DLG_TRACE - { "trace", opO(trace), 1, "<file>" }, -#endif -}; -/* *INDENT-ON* */ - -#ifdef NO_LEAKS -static void -ignore_leak(void *value) -{ - AllBlobs *next = dlg_calloc(AllBlobs, (size_t) 1); - if (next != 0) { - next->blob = value; - next->next = all_blobs; - all_blobs = next; - } -} - -static void -handle_leaks(void) -{ - while (all_blobs != 0) { - char *blob = all_blobs->blob; - AllBlobs *next = all_blobs->next; - free(blob); - free(all_blobs); - all_blobs = next; - } - free(dialog_opts); - if (special_argv != 0) { - free(special_argv[0]); - free(special_argv); - special_argv = 0; - special_argc = 0; - } -} -#else -#define handle_leaks() /* nothing */ -#define ignore_leak(n) /* nothing */ -#endif - -#define OptionChars "\ -0123456789\ --\ -abcdefghijklmnopqrstuvwxyz\ -" - -/* - * Check if the given string from main's argv is an option. - */ -static bool -isOption(const char *arg) -{ - bool result = FALSE; - - if (arg != 0) { - if (dialog_opts != 0) { - int n; - for (n = 0; dialog_opts[n] != 0; ++n) { - if (dialog_opts[n] == arg) { - result = TRUE; - break; - } - } - } else if (!strncmp(arg, "--", (size_t) 2) && isalpha(UCH(arg[2]))) { - if (strlen(arg) == (strspn) (arg, OptionChars)) { - result = TRUE; - } else { - handle_leaks(); - dlg_exiterr("Invalid option \"%s\"", arg); - } - } - } - return result; -} - -/* - * Make an array showing which argv[] entries are options. Use "--" as a - * special token to escape the next argument, allowing it to begin with "--". - * When we find a "--" argument, also remove it from argv[] and adjust argc. - * That appears to be an undocumented feature of the popt library. - * - * Also, if we see a "--file", expand it into the parameter list by reading the - * text from the given file and stripping quotes, treating whitespace outside - * quotes as a parameter delimiter. - * - * Finally, if we see a "--args", dump the current list of arguments to the - * standard error. This is used for debugging complex --file combinations. - */ -static void -unescape_argv(int *argcp, char ***argvp) -{ - int j, k; - int limit_includes = 20 + *argcp; - int count_includes = 0; - bool doalloc = FALSE; - char *filename; - const char **my_argv = 0; - int my_argc; - - DLG_TRACE(("# unescape_argv\n")); - for (k = 0; k < 2; ++k) { - - my_argc = 0; - if (special_argv != 0) { - for (j = 0; special_argv[j] != 0; ++j) { - if (!strcmp(special_argv[j], "--")) { - break; - } else if (isOption(special_argv[j])) { - if (k != 0) - my_argv[my_argc] = special_argv[j]; - my_argc++; - } - } - } - - if (k == 0) { - my_argc += (*argcp + 1); - my_argv = dlg_calloc(const char *, (size_t) my_argc); - assert_ptr(my_argv, "unescape_argv"); - } - } - - for (j = 1; j < *argcp; j++) { - bool escaped = FALSE; - if (!strcmp((*argvp)[j], "--")) { - escaped = TRUE; - dlg_eat_argv(argcp, argvp, j, 1); - } else if (!strcmp((*argvp)[j], "--args")) { - fprintf(stderr, "Showing arguments at arg%d\n", j); - for (k = 0; k < *argcp; ++k) { - fprintf(stderr, " arg%d:%s\n", k, (*argvp)[k]); - } - dlg_eat_argv(argcp, argvp, j, 1); - --j; - } else if (!strcmp((*argvp)[j], "--file")) { - if (++count_includes > limit_includes) { - handle_leaks(); - dlg_exiterr("Too many --file options"); - } - - if ((filename = (*argvp)[j + 1]) != 0) { - FILE *fp; - char **list; - - if (*filename == '&') { - fp = fdopen(atoi(filename + sizeof(char)), "r"); - } else { - fp = fopen(filename, "r"); - } - - if (fp) { - char *blob; - int added; - size_t bytes_read; - size_t length; - int n; - - DLG_TRACE(("# opened --file %s ..\n", filename)); - blob = NULL; - length = 0; - do { - blob = dlg_realloc(char, length + BUFSIZ + 1, blob); - assert_ptr(blob, "unescape_argv"); - bytes_read = fread(blob + length, - sizeof(char), - (size_t) BUFSIZ, - fp); - length += bytes_read; - if (ferror(fp)) { - handle_leaks(); - dlg_exiterr("error on filehandle in unescape_argv"); - } - } while (bytes_read == BUFSIZ); - fclose(fp); - - blob[length] = '\0'; - ignore_leak(blob); - - list = dlg_string_to_argv(blob); - added = dlg_count_argv(list); - if (added > 2) { - /* *argcp arguments before the expansion of --file - - 2 for the removal of '--file <filepath>' - + added for the arguments contained in <filepath> - + 1 for the terminating NULL pointer */ - size_t need = (size_t) (*argcp + added - 1); - if (doalloc) { - *argvp = dlg_realloc(char *, need, *argvp); - assert_ptr(*argvp, "unescape_argv"); - } else { - char **newp = dlg_malloc(char *, need); - ignore_leak(newp); - assert_ptr(newp, "unescape_argv"); - for (n = 0; n < *argcp; ++n) { - newp[n] = (*argvp)[n]; - } - /* The new array is not NULL-terminated yet. */ - *argvp = newp; - doalloc = TRUE; - } - my_argv = dlg_realloc(const char *, need, my_argv); - assert_ptr(my_argv, "unescape_argv"); - - /* Shift the arguments after '--file <filepath>' - right by (added - 2) positions */ - for (n = *argcp - 1; n >= j + 2; --n) { - (*argvp)[n + added - 2] = (*argvp)[n]; - } - } else if (added < 2) { - /* 0 or 1 argument read from the included file - -> shift the arguments after '--file <filepath>' - left by (2 - added) positions */ - for (n = j + added; n + 2 - added < *argcp; ++n) { - (*argvp)[n] = (*argvp)[n + 2 - added]; - } - } - /* Copy the inserted arguments to *argvp */ - for (n = 0; n < added; ++n) { - (*argvp)[n + j] = list[n]; - } - *argcp += added - 2; - (*argvp)[*argcp] = 0; /* Write the NULL terminator */ - free(list); /* No-op if 'list' is NULL */ - /* Force rescan starting from the first inserted argument */ - --j; - DLG_TRACE(("# finished --file\n")); - continue; - } else { - handle_leaks(); - dlg_exiterr("Cannot open --file %s", filename); - } - } else { - handle_leaks(); - dlg_exiterr("No value given for --file"); - } - } - if (!escaped - && (*argvp)[j] != 0 - && !strncmp((*argvp)[j], "--", (size_t) 2) - && isalpha(UCH((*argvp)[j][2]))) { - my_argv[my_argc++] = (*argvp)[j]; - DLG_TRACE(("#\toption argv[%d]=%s\n", j, (*argvp)[j])); - } - } - - my_argv[my_argc] = 0; - - known_opts = my_argc; - dialog_opts = my_argv; - - DLG_TRACE(("#\t%d options vs %d arguments\n", known_opts, *argcp)); - dialog_argv = (*argvp); -} - -static const Options * -findOption(const char *name, int pass, bool recur) -{ - const Options *result = NULL; - - if (!strncmp(name, "--", 2) && isalpha(UCH(name[2]))) { - unsigned n; - - name += 2; /* skip the "--" */ - for (n = 0; n < TableSize(options); n++) { - if ((pass & options[n].pass) != 0 - && !strcmp(name, options[n].name)) { - result = &options[n]; - break; - } - } - if (result == NULL && !recur) { - char *temp = malloc(8 + strlen(name)); - if (temp != NULL) { - if (!strncmp(name, "no", 2)) { - int skip = !strncmp(name, "no-", 3) ? 3 : 2; - sprintf(temp, "--no-%s", name + skip); - result = findOption(temp, pass, TRUE); - if (result == NULL) { - sprintf(temp, "--%s", name + skip); - result = findOption(temp, pass, TRUE); - } - } - if (result == NULL && strncmp(name, "no", 2)) { - sprintf(temp, "--no-%s", name); - result = findOption(temp, pass, TRUE); - } - free(temp); - } - } - } - return result; -} - -static eOptions -lookupOption(const char *name, int pass) -{ - eOptions result = o_unknown; - const Options *data = findOption(name, pass, FALSE); - if (data != NULL) { - result = data->code; - } - return result; -} - -static void -Usage(const char *msg) -{ - handle_leaks(); - dlg_exiterr("%s.\nUse --help to list options.\n\n", msg); -} - -/* - * Count arguments, stopping at the end of the argument list, or on any of our - * "--" tokens. - */ -static int -arg_rest(char *argv[]) -{ - int i = 1; /* argv[0] points to a "--" token */ - - while (argv[i] != 0 - && (!isOption(argv[i]) || lookupOption(argv[i], 7) == o_unknown)) - i++; - return i; -} - -/* - * In MultiWidget this function is needed to count how many tags - * a widget (menu, checklist, radiolist) has - */ -static int -howmany_tags(char *argv[], int group) -{ - int result = 0; - char temp[80]; - - while (argv[0] != 0) { - int have; - - if (isOption(argv[0])) - break; - if ((have = arg_rest(argv)) < group) { - const char *format = _("Expected %d arguments, found only %d"); - sprintf(temp, format, group, have); - Usage(temp); - } else if ((have % group) != 0) { - const char *format = _("Expected %d arguments, found extra %d"); - sprintf(temp, format, group, (have % group)); - Usage(temp); - } - - argv += have; - result += (have / group); - } - - return result; -} - -static int -numeric_arg(char **av, int n) -{ - int result = 0; - - if (n < dlg_count_argv(av)) { - char *last = 0; - result = (int) strtol(av[n], &last, 10); - - if (last == 0 || *last != 0) { - char msg[80]; - - sprintf(msg, "Expected a number for token %d of %.20s", n, av[0]); - Usage(msg); - } - } - return result; -} - -static char * -optional_str(char **av, int n, char *dft) -{ - char *ret = dft; - if (arg_rest(av) > n) - ret = av[n]; - return ret; -} - -#if defined(HAVE_DLG_GAUGE) || defined(HAVE_XDIALOG) -static int -optional_num(char **av, int n, int dft) -{ - int ret = dft; - if (arg_rest(av) > n) - ret = numeric_arg(av, n); - return ret; -} -#endif - -/* - * On AIX 4.x, we have to flush the output right away since there is a bug in - * the curses package which discards stdout even when we've used newterm to - * redirect output to /dev/tty. - */ -static int -show_result(int ret) -{ - bool either = FALSE; - - switch (ret) { - case DLG_EXIT_OK: - case DLG_EXIT_EXTRA: - case DLG_EXIT_HELP: - case DLG_EXIT_ITEM_HELP: - if ((dialog_state.output_count > 1) && !dialog_vars.separate_output) { - fputs((dialog_state.separate_str - ? dialog_state.separate_str - : DEFAULT_SEPARATE_STR), - dialog_state.output); - either = TRUE; - } - if (dialog_vars.input_result != 0 - && dialog_vars.input_result[0] != '\0') { - fputs(dialog_vars.input_result, dialog_state.output); - DLG_TRACE(("# input_result:\n%s\n", dialog_vars.input_result)); - either = TRUE; - } - if (either) { - fflush(dialog_state.output); - } - break; - } - return ret; -} - -/* - * These are the widget callers. - */ - -static int -call_yesno(CALLARGS) -{ - *offset_add = 4; - return dialog_yesno(t, - av[1], - numeric_arg(av, 2), - numeric_arg(av, 3)); -} - -static int -call_msgbox(CALLARGS) -{ - *offset_add = 4; - return dialog_msgbox(t, - av[1], - numeric_arg(av, 2), - numeric_arg(av, 3), 1); -} - -static int -call_infobox(CALLARGS) -{ - *offset_add = 4; - return dialog_msgbox(t, - av[1], - numeric_arg(av, 2), - numeric_arg(av, 3), 0); -} - -static int -call_textbox(CALLARGS) -{ - *offset_add = 4; - return dialog_textbox(t, - av[1], - numeric_arg(av, 2), - numeric_arg(av, 3)); -} - -static int -call_menu(CALLARGS) -{ - int tags = howmany_tags(av + 5, MENUBOX_TAGS); - *offset_add = 5 + tags * MENUBOX_TAGS; - - return dialog_menu(t, - av[1], - numeric_arg(av, 2), - numeric_arg(av, 3), - numeric_arg(av, 4), - tags, av + 5); -} - -static int -call_inputmenu(CALLARGS) -{ - int tags = howmany_tags(av + 5, MENUBOX_TAGS); - bool free_extra_label = FALSE; - int result; - - dialog_vars.input_menu = TRUE; - - if (dialog_vars.max_input == 0) - dialog_vars.max_input = MAX_LEN / 2; - - if (dialog_vars.extra_label == 0) { - free_extra_label = TRUE; - dialog_vars.extra_label = dlg_strclone(_("Rename")); - } - - dialog_vars.extra_button = TRUE; - - *offset_add = 5 + tags * MENUBOX_TAGS; - result = dialog_menu(t, - av[1], - numeric_arg(av, 2), - numeric_arg(av, 3), - numeric_arg(av, 4), - tags, av + 5); - if (free_extra_label) { - free(dialog_vars.extra_label); - dialog_vars.extra_label = 0; - } - return result; -} - -static int -call_checklist(CALLARGS) -{ - int tags = howmany_tags(av + 5, CHECKBOX_TAGS); - int code; - - *offset_add = 5 + tags * CHECKBOX_TAGS; - code = dialog_checklist(t, - av[1], - numeric_arg(av, 2), - numeric_arg(av, 3), - numeric_arg(av, 4), - tags, av + 5, FLAG_CHECK); - return code; -} - -static int -call_radiolist(CALLARGS) -{ - int tags = howmany_tags(av + 5, CHECKBOX_TAGS); - *offset_add = 5 + tags * CHECKBOX_TAGS; - return dialog_checklist(t, - av[1], - numeric_arg(av, 2), - numeric_arg(av, 3), - numeric_arg(av, 4), - tags, av + 5, FLAG_RADIO); -} - -static int -call_inputbox(CALLARGS) -{ - *offset_add = arg_rest(av); - return dialog_inputbox(t, - av[1], - numeric_arg(av, 2), - numeric_arg(av, 3), - optional_str(av, 4, 0), 0); -} - -static int -call_passwordbox(CALLARGS) -{ - *offset_add = arg_rest(av); - return dialog_inputbox(t, - av[1], - numeric_arg(av, 2), - numeric_arg(av, 3), - optional_str(av, 4, 0), 1); -} - -#ifdef HAVE_XDIALOG -static int -call_calendar(CALLARGS) -{ - *offset_add = arg_rest(av); - return dialog_calendar(t, - av[1], - numeric_arg(av, 2), - numeric_arg(av, 3), - optional_num(av, 4, -1), - optional_num(av, 5, -1), - optional_num(av, 6, -1)); -} - -static int -call_dselect(CALLARGS) -{ - *offset_add = arg_rest(av); - return dialog_dselect(t, - av[1], - numeric_arg(av, 2), - numeric_arg(av, 3)); -} - -static int -call_editbox(CALLARGS) -{ - *offset_add = 4; - return dialog_editbox(t, - av[1], - numeric_arg(av, 2), - numeric_arg(av, 3)); -} - -static int -call_fselect(CALLARGS) -{ - *offset_add = arg_rest(av); - return dialog_fselect(t, - av[1], - numeric_arg(av, 2), - numeric_arg(av, 3)); -} - -static int -call_timebox(CALLARGS) -{ - *offset_add = arg_rest(av); - return dialog_timebox(t, - av[1], - numeric_arg(av, 2), - numeric_arg(av, 3), - optional_num(av, 4, -1), - optional_num(av, 5, -1), - optional_num(av, 6, -1)); -} -#endif /* HAVE_XDIALOG */ - -/* dialog 1.2 widgets */ -#ifdef HAVE_XDIALOG2 - -#define DisableNoTags() \ - bool save_no_tags = dialog_vars.no_tags; \ - bool save_no_items = dialog_vars.no_items; \ - dialog_vars.no_tags = TRUE; \ - dialog_vars.no_items = FALSE - -#define RestoreNoTags() \ - dialog_vars.no_tags = save_no_tags; \ - dialog_vars.no_items = save_no_items - -static int -call_buildlist(CALLARGS) -{ - int tags = howmany_tags(av + 5, CHECKBOX_TAGS); - int result; - - DisableNoTags(); - - *offset_add = 5 + tags * CHECKBOX_TAGS; - result = dialog_buildlist(t, - av[1], - numeric_arg(av, 2), - numeric_arg(av, 3), - numeric_arg(av, 4), - tags, av + 5, - dialog_vars.reorder); - RestoreNoTags(); - return result; -} - -static int -call_rangebox(CALLARGS) -{ - int min_value; - - *offset_add = arg_rest(av); - min_value = numeric_arg(av, 4); - return dialog_rangebox(t, - av[1], - numeric_arg(av, 2), - numeric_arg(av, 3), - min_value, - numeric_arg(av, 5), - (*offset_add > 6) ? numeric_arg(av, 6) : min_value); -} - -static int -call_treeview(CALLARGS) -{ - int tags = howmany_tags(av + 5, TREEVIEW_TAGS); - int result; - - DisableNoTags(); - - *offset_add = arg_rest(av); - result = dialog_treeview(t, - av[1], - numeric_arg(av, 2), - numeric_arg(av, 3), - numeric_arg(av, 4), - tags, av + 5, FLAG_RADIO); - RestoreNoTags(); - return result; -} -#endif /* HAVE_XDIALOG */ - -#ifdef HAVE_DLG_FORMBOX -static int -call_form(CALLARGS) -{ - int group = FORMBOX_TAGS; - int tags = howmany_tags(av + 5, group); - *offset_add = 5 + tags * group; - - return dialog_form(t, - av[1], - numeric_arg(av, 2), - numeric_arg(av, 3), - numeric_arg(av, 4), - tags, av + 5); -} - -static int -call_password_form(CALLARGS) -{ - unsigned save = dialog_vars.formitem_type; - int result; - - dialog_vars.formitem_type = 1; - result = call_form(PASSARGS); - dialog_vars.formitem_type = save; - - return result; -} -#endif /* HAVE_DLG_FORMBOX */ - -#ifdef HAVE_DLG_MIXEDFORM -static int -call_mixed_form(CALLARGS) -{ - int group = MIXEDFORM_TAGS; - int tags = howmany_tags(av + 5, group); - *offset_add = 5 + tags * group; - - return dialog_mixedform(t, - av[1], - numeric_arg(av, 2), - numeric_arg(av, 3), - numeric_arg(av, 4), - tags, av + 5); -} -#endif /* HAVE_DLG_MIXEDFORM */ - -#ifdef HAVE_DLG_GAUGE -static int -call_gauge(CALLARGS) -{ - *offset_add = arg_rest(av); - return dialog_gauge(t, - av[1], - numeric_arg(av, 2), - numeric_arg(av, 3), - optional_num(av, 4, 0)); -} - -static int -call_pause(CALLARGS) -{ - *offset_add = arg_rest(av); - return dialog_pause(t, - av[1], - numeric_arg(av, 2), - numeric_arg(av, 3), - numeric_arg(av, 4)); -} -#endif - -#ifdef HAVE_MIXEDGAUGE -static int -call_mixed_gauge(CALLARGS) -{ -#define MIXEDGAUGE_BASE 5 - int tags = howmany_tags(av + MIXEDGAUGE_BASE, MIXEDGAUGE_TAGS); - *offset_add = MIXEDGAUGE_BASE + tags * MIXEDGAUGE_TAGS; - return dialog_mixedgauge(t, - av[1], - numeric_arg(av, 2), - numeric_arg(av, 3), - numeric_arg(av, 4), - tags, av + MIXEDGAUGE_BASE); -} -#endif - -#ifdef HAVE_DLG_GAUGE -static int -call_prgbox(CALLARGS) -{ - *offset_add = arg_rest(av); - /* the original version does not accept a prompt string, but for - * consistency we allow it. - */ - return ((*offset_add == 5) - ? dialog_prgbox(t, - av[1], - av[2], - numeric_arg(av, 3), - numeric_arg(av, 4), TRUE) - : dialog_prgbox(t, - "", - av[1], - numeric_arg(av, 2), - numeric_arg(av, 3), TRUE)); -} -#endif - -#ifdef HAVE_DLG_GAUGE -static int -call_programbox(CALLARGS) -{ - int result; - - *offset_add = arg_rest(av); - /* this function is a compromise between --prgbox and --progressbox. - */ - result = ((*offset_add == 4) - ? dlg_progressbox(t, - av[1], - numeric_arg(av, 2), - numeric_arg(av, 3), - TRUE, - dialog_state.pipe_input) - : dlg_progressbox(t, - "", - numeric_arg(av, 1), - numeric_arg(av, 2), - TRUE, - dialog_state.pipe_input)); - dialog_state.pipe_input = 0; - return result; -} -#endif - -#ifdef HAVE_DLG_GAUGE -static int -call_progressbox(CALLARGS) -{ - *offset_add = arg_rest(av); - /* the original version does not accept a prompt string, but for - * consistency we allow it. - */ - return ((*offset_add == 4) - ? dialog_progressbox(t, - av[1], - numeric_arg(av, 2), - numeric_arg(av, 3)) - : dialog_progressbox(t, - "", - numeric_arg(av, 1), - numeric_arg(av, 2))); -} -#endif - -#ifdef HAVE_DLG_TAILBOX -static int -call_tailbox(CALLARGS) -{ - *offset_add = 4; - return dialog_tailbox(t, - av[1], - numeric_arg(av, 2), - numeric_arg(av, 3), - FALSE); -} - -static int -call_tailboxbg(CALLARGS) -{ - *offset_add = 4; - return dialog_tailbox(t, - av[1], - numeric_arg(av, 2), - numeric_arg(av, 3), - TRUE); -} -#endif -/* *INDENT-OFF* */ -static const Mode modes[] = -{ - {o_yesno, 4, 4, call_yesno}, - {o_msgbox, 4, 4, call_msgbox}, - {o_infobox, 4, 4, call_infobox}, - {o_textbox, 4, 4, call_textbox}, - {o_menu, 6, 0, call_menu}, - {o_inputmenu, 6, 0, call_inputmenu}, - {o_checklist, 7, 0, call_checklist}, - {o_radiolist, 7, 0, call_radiolist}, - {o_inputbox, 4, 5, call_inputbox}, - {o_passwordbox, 4, 5, call_passwordbox}, -#ifdef HAVE_DLG_GAUGE - {o_gauge, 4, 5, call_gauge}, - {o_pause, 5, 5, call_pause}, - {o_prgbox, 4, 5, call_prgbox}, - {o_programbox, 3, 4, call_programbox}, - {o_progressbox, 3, 4, call_progressbox}, -#endif -#ifdef HAVE_DLG_FORMBOX - {o_passwordform, 13, 0, call_password_form}, - {o_form, 13, 0, call_form}, -#endif -#ifdef HAVE_MIXEDGAUGE - {o_mixedgauge, MIXEDGAUGE_BASE, 0, call_mixed_gauge}, -#endif -#ifdef HAVE_DLG_MIXEDFORM - {o_mixedform, 13, 0, call_mixed_form}, -#endif -#ifdef HAVE_DLG_TAILBOX - {o_tailbox, 4, 4, call_tailbox}, - {o_tailboxbg, 4, 4, call_tailboxbg}, -#endif -#ifdef HAVE_XDIALOG - {o_calendar, 4, 7, call_calendar}, - {o_dselect, 4, 5, call_dselect}, - {o_editbox, 4, 4, call_editbox}, - {o_fselect, 4, 5, call_fselect}, - {o_timebox, 4, 7, call_timebox}, -#endif -#ifdef HAVE_XDIALOG2 - {o_buildlist, 4, 0, call_buildlist}, - {o_rangebox, 5, 7, call_rangebox}, - {o_treeview, 4, 0, call_treeview}, -#endif -}; -/* *INDENT-ON* */ - -static char * -optionString(char **argv, int *num) -{ - int next = *num + 1; - char *result = argv[next]; - if (result == 0) { - char temp[80]; - sprintf(temp, "Expected a string-parameter for %.20s", argv[*num]); - Usage(temp); - } - *num = next; - return result; -} - -static int -optionValue(char **argv, int *num) -{ - int next = *num + 1; - char *src = argv[next]; - char *tmp = 0; - int result = 0; - - if (src != 0) { - result = (int) strtol(src, &tmp, 0); - if (tmp == 0 || *tmp != 0) - src = 0; - } - - if (src == 0) { - char temp[80]; - sprintf(temp, "Expected a numeric-parameter for %.20s", argv[*num]); - Usage(temp); - } - *num = next; - return result; -} - -/* - * In findOption, we made provision for adding/removing a "no" prefix from - * any boolean option. This function determines the actual true/false result. - */ -static bool -optionBool(const char *actual, const Options * data) -{ - bool normal = (data->type == tTrue) ? TRUE : FALSE; - bool result = !strcmp(actual + 2, data->name) ? normal : !normal; - if (result != normal) { - int want_no = (strncmp(actual + 2, "no", 2) == 0); - int have_no = (strncmp(data->name, "no", 2) == 0); - if (have_no == want_no) - result = normal; - } - return result; -} - -/* Return exit-code for a named button */ -static int -button_code(const char *name) -{ - /* *INDENT-OFF* */ - static struct { - const char *name; - int code; - } table[] = { - { "ok", DLG_EXIT_OK }, - { "yes", DLG_EXIT_OK }, - { "cancel", DLG_EXIT_CANCEL }, - { "no", DLG_EXIT_CANCEL }, - { "help", DLG_EXIT_HELP }, - { "extra", DLG_EXIT_EXTRA }, - }; - /* *INDENT-ON* */ - - int code = DLG_EXIT_ERROR; - size_t i; - - for (i = 0; i < TableSize(table); i++) { - if (!dlg_strcmp(name, table[i].name)) { - code = table[i].code; - break; - } - } - - if (code == DLG_EXIT_ERROR) { - char temp[80]; - sprintf(temp, "Button name \"%.20s\" unknown", name); - Usage(temp); - } - - return code; -} - -/* - * If this is the last option, we do not want any error messages - just our - * output. Calling end_dialog() cancels the refresh() at the end of the - * program as well. - */ -static void -IgnoreNonScreen(char **argv, int offset) -{ - if (argv[offset + 1] == 0) { - ignore_unknown = TRUE; - end_dialog(); - } -} - -static void -PrintTextOnly(char **argv, int *offset, eOptions code) -{ - /* TODO - handle two optional numeric params */ - char *text; - int height = 0; - int width = 0; - int height2 = 0; - int width2 = 0; - int next = arg_rest(argv + *offset); - - if (LINES <= 0 && COLS <= 0) { - dlg_ttysize(fileno(dialog_state.input), - &dialog_state.screen_height, - &dialog_state.screen_width); - } - - text = strdup(optionString(argv, offset)); - IgnoreNonScreen(argv, *offset); - - if (next >= 1) { - next = MIN(next, 3); - height = numeric_arg(argv, *offset + 1); - if (next >= 2) - width = numeric_arg(argv, *offset + 2); - *offset += next - 1; - } - - dlg_trim_string(text); - dlg_auto_size(NULL, text, &height2, &width2, height, width); - - switch (code) { - case o_text_only: - dialog_state.text_only = TRUE; - dlg_print_autowrap(stdscr, text, height2, width2); - dialog_state.text_only = FALSE; - break; - case o_print_text_size: - fprintf(dialog_state.output, "%d %d\n", - dialog_state.text_height, - dialog_state.text_width); - break; - default: - break; - } -} - -/* - * Print parts of a message - */ -static void -PrintList(const char *const *list) -{ - const char *leaf = strrchr(program, '/'); - unsigned n = 0; - - if (leaf != 0) - leaf++; - else - leaf = program; - - while (*list != 0) { - fprintf(dialog_state.output, *list, n ? leaf : dialog_version()); - (void) fputc('\n', dialog_state.output); - n = 1; - list++; - } -} - -static const Mode * -lookupMode(eOptions code) -{ - const Mode *modePtr = 0; - unsigned n; - - for (n = 0; n < TableSize(modes); n++) { - if (modes[n].code == code) { - modePtr = &modes[n]; - break; - } - } - return modePtr; -} - -static int -compare_opts(const void *a, const void *b) -{ - Options *const *p = (Options * const *) a; - Options *const *q = (Options * const *) b; - return strcmp((*p)->name, (*q)->name); -} - -/* - * Print program's version. - */ -static void -PrintVersion(FILE *fp) -{ - fprintf(fp, "Version: %s\n", dialog_version()); -} - -/* - * Print program help-message - */ -static void -Help(void) -{ - static const char *const tbl_1[] = - { - "cdialog (ComeOn Dialog!) version %s", - "Copyright 2000-2020,2021 Thomas E. Dickey", - "This is free software; see the source for copying conditions. There is NO", - "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.", - "", - "* Display dialog boxes from shell scripts *", - "", - "Usage: %s <options> { --and-widget <options> }", - "where options are \"common\" options, followed by \"box\" options", - "", -#ifdef HAVE_RC_FILE - "Special options:", - " [--create-rc \"file\"]", -#endif - 0 - }, *const tbl_3[] = - { - "", - "Auto-size with height and width = 0. Maximize with height and width = -1.", - "Global-auto-size if also menu_height/list_height = 0.", - 0 - }; - size_t limit = TableSize(options); - size_t j, k; - const Options **opts; - - end_dialog(); - dialog_state.output = stdout; - - opts = dlg_calloc(const Options *, limit); - assert_ptr(opts, "Help"); - for (j = 0; j < limit; ++j) { - opts[j] = &(options[j]); - } - qsort(opts, limit, sizeof(Options *), compare_opts); - - PrintList(tbl_1); - fprintf(dialog_state.output, "Common options:\n "); - for (j = k = 0; j < limit; j++) { - if ((opts[j]->pass & 1) - && opts[j]->help != 0) { - size_t len = 6 + strlen(opts[j]->name) + strlen(opts[j]->help); - k += len; - if (k > 75) { - fprintf(dialog_state.output, "\n "); - k = len; - } - fprintf(dialog_state.output, " [--%s%s%s]", opts[j]->name, - *(opts[j]->help) ? " " : "", opts[j]->help); - } - } - fprintf(dialog_state.output, "\nBox options:\n"); - for (j = 0; j < limit; j++) { - if ((opts[j]->pass & 2) != 0 - && opts[j]->help != 0 - && lookupMode(opts[j]->code)) { - fprintf(dialog_state.output, " --%-12s %s\n", opts[j]->name, - opts[j]->help); - } - } - PrintList(tbl_3); - - free(opts); - handle_leaks(); - dlg_exit(DLG_EXIT_OK); -} - -#ifdef HAVE_DLG_TRACE -/* - * Only the first call to dlg_trace will open a trace file. But each time - * --trace is parsed, we show the whole parameter list as it is at that moment, - * counting discarded parameters. The only way to capture the whole parameter - * list is if --trace is the first option. - */ -static void -process_trace_option(char **argv, int *offset) -{ - int j; - - if (dialog_state.trace_output == 0) { - dlg_trace(optionString(argv, offset)); - } else { - DLG_TRACE(("# ignore extra --trace option\n")); - *offset += 1; - } - - DLG_TRACE(("# Parameters:\n")); - for (j = 0; argv[j] != 0; ++j) { - DLG_TRACE(("#\targv[%d] = %s\n", j, argv[j])); - } -} -#endif - -/* - * "Common" options apply to all widgets more/less. Most of the common options - * set values in dialog_vars, a few set dialog_state and a couple write to the - * output stream. - */ -static int -process_common_options(int argc, char **argv, int offset, int output) -{ - const Options *data = NULL; - bool done = FALSE; - - DLG_TRACE(("# process_common_options, offset %d:%d\n", offset, argc)); - - while (!done && offset < argc) { - static char empty[] = ""; - eOptions code = o_unknown; - char *sval = empty; - bool bval; - int nval; - char *target; - - DLG_TRACE(("#\targv[%d] = %s\n", offset, argv[offset])); - if ((data = findOption(argv[offset], 1, FALSE)) == NULL) { - done = TRUE; - continue; - } - - switch (data->vars) { - default: - target = NULL; - break; - case 1: - target = (char *) &dialog_state; - break; - case 2: - target = (char *) &dialog_vars; - break; - } - -#define TraceTarget \ - ((target == (char *) &dialog_state) \ - ? "dialog_state" \ - : "dialog_vars") -#define TraceBVal (bval ? "TRUE" : "FALSE") -#define TraceDone(fmt,value) \ - DLG_TRACE(("#\t.. set %s.%s = %"fmt"\n", TraceTarget, data->name, value)) -#define TraceLate(fmt,value) \ - DLG_TRACE(("#\t.. defer setting %s = %"fmt"\n", data->name, value)) - - code = data->code; - switch (data->type) { - default: - break; - case tFalse: - case tTrue: - bval = optionBool(argv[offset], data); - if (target != NULL) { - *(bool *) (target + data->offset) = bval; - TraceDone("s", TraceBVal); - } else { - TraceLate("s", TraceBVal); - } - break; - case tNumber: - nval = optionValue(argv, &offset); - if (target != NULL) { - *(int *) (void *) (target + data->offset) = nval; - TraceDone("d", nval); - } else { - TraceLate("d", nval); - } - break; - case tString: - sval = optionString(argv, &offset); - if (target != NULL) { - *(char **) (void *) (target + data->offset) = sval; - TraceDone("s", sval); - } else { - TraceLate("s", sval); - } - break; - } - - switch (code) { - case o_defaultno: - dialog_vars.default_button = DLG_EXIT_CANCEL; - break; - case o_default_button: - dialog_vars.default_button = button_code(sval); - dialog_vars.defaultno = dialog_vars.default_button == DLG_EXIT_CANCEL; - break; - case o_text_only: - case o_print_text_size: - PrintTextOnly(argv, &offset, code); - break; - case o_print_maxsize: - if (output) { - IgnoreNonScreen(argv, offset); - fflush(dialog_state.output); - fprintf(dialog_state.output, "MaxSize: %d, %d\n", SLINES, SCOLS); - } - break; - case o_print_version: - if (output) { - PrintVersion(dialog_state.output); - } - break; - case o_visit_items: - dialog_state.visit_cols = 1; - break; - case o_begin_set: -#ifdef HAVE_WHIPTAIL - if (!strcmp(argv[offset], "--topleft")) { - dialog_vars.begin_y = 0; - dialog_vars.begin_x = 0; - } else -#endif - { - dialog_vars.begin_y = optionValue(argv, &offset); - dialog_vars.begin_x = optionValue(argv, &offset); - } - break; - case o_ascii_lines: - dialog_vars.no_lines = FALSE; - break; - case o_no_lines: - dialog_vars.ascii_lines = FALSE; - break; - case o_no_mouse: - mouse_close(); - break; - case o_unknown: - done = !ignore_unknown; - default: - break; -#ifdef HAVE_DLG_TRACE - case o_trace: - process_trace_option(argv, &offset); - break; -#endif - case o_iso_week: - if (dialog_vars.week_start == 0) { /* Monday is implied */ - static char default_1st[] = "1"; - dialog_vars.week_start = default_1st; - } - break; - } - if (!done) - offset++; - } - - if (dialog_state.aspect_ratio == 0) - dialog_state.aspect_ratio = DEFAULT_ASPECT_RATIO; - - return offset; -} - -/* - * Initialize options at the start of a series of common options culminating - * in a widget. - */ -static void -init_result(char *buffer) -{ - static bool first = TRUE; - - DLG_TRACE(("# init_result\n")); - - /* clear everything we do not save for the next widget */ - memset(&dialog_vars, 0, sizeof(dialog_vars)); - - dialog_vars.input_result = buffer; - dialog_vars.input_result[0] = '\0'; - - dialog_vars.default_button = -1; - - /* - * The first time this is called, check for common options given by an - * environment variable. - */ - if (first) { - char *env = dlg_getenv_str("DIALOGOPTS"); - if (env != 0) - env = dlg_strclone(env); - if (env != 0) { - special_argv = dlg_string_to_argv(env); - special_argc = dlg_count_argv(special_argv); - } - first = FALSE; - } - - if (special_argv != 0) { - process_common_options(special_argc, special_argv, 0, FALSE); - } -} - -int -main(int argc, char *argv[]) -{ - char temp[256]; - bool esc_pressed = FALSE; - bool keep_tite = FALSE; - int initial = 1; - int offset = 1; - int offset_add = 0; - int retval = DLG_EXIT_OK; - int j; - eOptions code; - char my_buffer[MAX_LEN + 1]; - - memset(&dialog_state, 0, sizeof(dialog_state)); - memset(&dialog_vars, 0, sizeof(dialog_vars)); - -#if defined(ENABLE_NLS) - /* initialize locale support */ - setlocale(LC_ALL, ""); - bindtextdomain(NLS_TEXTDOMAIN, LOCALEDIR); - textdomain(NLS_TEXTDOMAIN); -#elif defined(HAVE_SETLOCALE) - (void) setlocale(LC_ALL, ""); -#endif - - init_result(my_buffer); /* honor $DIALOGOPTS */ - unescape_argv(&argc, &argv); - program = argv[0]; - dialog_state.output = stderr; - dialog_state.input = stdin; - - /* - * Look for the last --stdout, --stderr or --output-fd option, and use - * that. We can only write to one of them. If --stdout is used, that - * can interfere with initializing the curses library, so we want to - * know explicitly if it is used. - * - * Also, look for any --version or --help message, processing those - * immediately. - */ - while (offset < argc) { - int base = offset; - switch (lookupOption(argv[offset], 7)) { - case o_output_stdout: - dialog_state.output = stdout; - break; - case o_output_stderr: - dialog_state.output = stderr; - break; - case o_input_fd: - if ((j = optionValue(argv, &offset)) < 0 - || (dialog_state.input = fdopen(j, "r")) == 0) { - handle_leaks(); - dlg_exiterr("Cannot open input-fd\n"); - } - break; - case o_output_fd: - if ((j = optionValue(argv, &offset)) < 0 - || (dialog_state.output = fdopen(j, "w")) == 0) { - handle_leaks(); - dlg_exiterr("Cannot open output-fd\n"); - } - break; - case o_keep_tite: - keep_tite = TRUE; - break; - case o_version: - dialog_state.output = stdout; - PrintVersion(dialog_state.output); - dlg_exit(DLG_EXIT_OK); - break; - case o_help: - Help(); - break; -#ifdef HAVE_DLG_TRACE - case o_trace: - /* - * Process/remove the --trace option if it is the first option. - * Otherwise, process it in more/less expected order as a - * "common" option. - */ - if (base == 1) { - process_trace_option(argv, &offset); - break; - } else { - ++offset; - continue; - } -#endif - default: - ++offset; - continue; - } - DLG_TRACE(("# discarding %d parameters starting with argv[%d] (%s)\n", - 1 + offset - base, base, - argv[base])); - for (j = base; j < argc; ++j) { - dialog_argv[j] = dialog_argv[j + 1 + (offset - base)]; - } - argc -= (1 + offset - base); - offset = base; - } - offset = 1; - init_result(my_buffer); - dialog_vars.keep_tite |= keep_tite; /* init_result() cleared global */ - - /* - * Dialog's output may be redirected (see above). Handle the special - * case of options that only report information without interaction. - */ - if (argc == 2) { - switch (code = lookupOption(argv[1], 7)) { - case o_print_maxsize: - (void) initscr(); - endwin(); - fflush(dialog_state.output); - fprintf(dialog_state.output, "MaxSize: %d, %d\n", SLINES, SCOLS); - break; - case o_print_version: - PrintVersion(dialog_state.output); - break; - case o_dlg_clear_screen: - initscr(); - refresh(); - dlg_keep_tite((dialog_state.output == stdout) ? stderr : stdout); - endwin(); - break; - case o_ignore: - break; - default: - Help(); - break; - } - dlg_exit(DLG_EXIT_OK); - } else if (argc < 2) { - Help(); - } -#ifdef HAVE_RC_FILE - else if (lookupOption(argv[1], 7) == o_create_rc) { - if (argc != 3) { - sprintf(temp, "Expected a filename for %.50s", argv[1]); - Usage(temp); - } - if (dlg_parse_rc() == -1) { /* Read the configuration file */ - handle_leaks(); - dlg_exiterr("dialog: dlg_parse_rc"); - } - dlg_create_rc(argv[2]); - dlg_exit(DLG_EXIT_OK); - } -#endif - else { - /* - * Handle combinations of common options including --print-text-only - * which can be done before involving curses, in case we can exit - * without initializing curses (and writing to the terminal). - */ - initial = process_common_options(argc, argv, offset, TRUE); - if (initial >= argc) - dlg_exit(DLG_EXIT_OK); - } - - init_dialog(dialog_state.input, dialog_state.output); - - while (offset < argc && !esc_pressed) { - int have; - const Mode *modePtr; - - init_result(my_buffer); - offset = process_common_options(argc, argv, offset, offset > initial); - - if (argv[offset] == NULL) { - if (ignore_unknown) - break; - Usage("Expected a box option"); - } - - if (dialog_vars.separate_output) { - switch (lookupOption(argv[offset], 2)) { -#ifdef HAVE_XDIALOG2 - case o_buildlist: - case o_treeview: -#endif - case o_checklist: - break; - default: - sprintf(temp, - "Unexpected widget with --separate-output %.20s", - argv[offset]); - Usage(temp); - } - } - - dlg_put_backtitle(); - - /* use a table to look for the requested mode, to avoid code duplication */ - - modePtr = 0; - if ((code = lookupOption(argv[offset], 2)) != o_unknown) - modePtr = lookupMode(code); - if (modePtr == 0) { - sprintf(temp, "%s option %.20s", - lookupOption(argv[offset], 7) != o_unknown - ? "Unexpected" - : "Unknown", - argv[offset]); - Usage(temp); - } - - have = arg_rest(&argv[offset]); - if (have < modePtr->argmin) { - sprintf(temp, "Expected at least %d tokens for %.20s, have %d", - modePtr->argmin - 1, argv[offset], - have - 1); - Usage(temp); - } - if (modePtr->argmax && have > modePtr->argmax) { - sprintf(temp, - "Expected no more than %d tokens for %.20s, have %d", - modePtr->argmax - 1, argv[offset], - have - 1); - Usage(temp); - } - - /* - * Trim whitespace from non-title option values, e.g., the ones that - * will be used as captions or prompts. Do that only for the widget - * we are about to process, since the "--trim" option is reset before - * accumulating options for each widget. - */ - for (j = offset + 1; j <= offset + have; j++) { - switch (lookupOption(argv[j - 1], 7)) { - case o_unknown: - case o_title: - case o_backtitle: - case o_help_line: - case o_help_file: - break; - default: - if (argv[j] != 0) { - char *argv_j = strdup(argv[j]); - if (argv_j != 0) { - dlg_trim_string(argv_j); - argv[j] = argv_j; - } else { - argv[j] = strdup("?"); - } - ignore_leak(argv[j]); - } - break; - } - } - - DLG_TRACE(("# execute %s\n", argv[offset])); - retval = show_result((*(modePtr->jumper)) (dialog_vars.title, - argv + offset, - &offset_add)); - DLG_TRACE(("# widget returns %d\n", retval)); - offset += offset_add; - - if (dialog_vars.input_result != my_buffer) { - free(dialog_vars.input_result); - dialog_vars.input_result = 0; - } - - if (retval == DLG_EXIT_ESC) { - esc_pressed = TRUE; - } else { - - if (dialog_vars.beep_after_signal) - (void) beep(); - - if (dialog_vars.sleep_secs) - (void) napms(dialog_vars.sleep_secs * 1000); - - if (offset < argc) { - switch (lookupOption(argv[offset], 7)) { - case o_and_widget: - offset++; - break; - case o_unknown: - sprintf(temp, "Expected --and-widget, not %.20s", - argv[offset]); - Usage(temp); - break; - default: - /* if we got a cancel, etc., stop chaining */ - if (retval != DLG_EXIT_OK) - esc_pressed = TRUE; - else - dialog_vars.dlg_clear_screen = TRUE; - break; - } - } - if (dialog_vars.dlg_clear_screen) - dlg_clear(); - } - } - - dlg_killall_bg(&retval); - if (dialog_state.screen_initialized) { - (void) refresh(); - end_dialog(); - } - handle_leaks(); - dlg_exit(retval); -} diff --git a/contrib/dialog/dialog.h b/contrib/dialog/dialog.h deleted file mode 100644 index 4ac3a4248ce5..000000000000 --- a/contrib/dialog/dialog.h +++ /dev/null @@ -1,1002 +0,0 @@ -/* - * $Id: dialog.h,v 1.304 2021/01/17 16:58:22 tom Exp $ - * - * dialog.h -- common declarations for all dialog modules - * - * Copyright 2000-2020,2021 Thomas E. Dickey - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License, version 2.1 - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this program; if not, write to - * Free Software Foundation, Inc. - * 51 Franklin St., Fifth Floor - * Boston, MA 02110, USA. - * - * An earlier version of this program lists as authors - * Savio Lam (lam836@cs.cuhk.hk) - */ - -#ifndef DIALOG_H_included -#define DIALOG_H_included 1 -/* *INDENT-OFF* */ - -#include <dlg_config.h> - -#ifdef __hpux -#define __HP_CURSES_COMPAT /* workaround for getattrs, etc. */ -#endif - -#include <sys/types.h> -#include <fcntl.h> -#include <unistd.h> -#include <ctype.h> -#include <stdlib.h> -#include <stdarg.h> -#include <string.h> -#include <signal.h> /* fork() etc. */ -#include <math.h> /* sqrt() */ - -/* header conflict with Solaris xpg4 versus <sys/regset.h> */ -#if defined(ERR) && (ERR == 13) -#undef ERR -#endif - -#if defined(HAVE_NCURSESW_NCURSES_H) -#include <ncursesw/ncurses.h> -#elif defined(HAVE_NCURSES_NCURSES_H) -#include <ncurses/ncurses.h> -#elif defined(HAVE_NCURSES_CURSES_H) -#include <ncurses/curses.h> -#elif defined(HAVE_NCURSES_H) -#include <ncurses.h> -#else -#include <curses.h> -#if defined(HAVE_UNCTRL_H) -#include <unctrl.h> /* most curses.h headers include this, some do not */ -#endif -#endif - -/* Solaris xpg4 renames these */ -#ifndef KEY_MAX -#ifdef __KEY_MAX -#define KEY_MAX __KEY_MAX -#endif -#endif - -#ifndef KEY_MIN -#ifdef __KEY_MIN -#define KEY_MIN __KEY_MIN -#endif -#endif - -/* possible conflicts with <term.h> which may be included in <curses.h> */ -#ifdef color_names -#undef color_names -#endif - -#ifdef buttons -#undef buttons -#endif - -#ifdef ENABLE_NLS -#include <libintl.h> -#include <langinfo.h> -#define _(s) dgettext(PACKAGE, s) -#else -#undef _ -#define _(s) s -#endif - -#ifndef GCC_PRINTFLIKE -#define GCC_PRINTFLIKE(fmt,var) /*nothing*/ -#endif - -#ifndef GCC_NORETURN -#define GCC_NORETURN /*nothing*/ -#endif - -#ifndef GCC_UNUSED -#define GCC_UNUSED /*nothing*/ -#endif - -#ifndef HAVE_WGET_WCH -#undef USE_WIDE_CURSES -#endif - -/* - * FIXME: a configure check would be useful - */ -#ifdef __hpux -#undef ACS_UARROW -#undef ACS_DARROW -#undef ACS_BLOCK -#endif - -/* - * Change these if you want - */ -#define USE_SHADOW TRUE -#define USE_COLORS TRUE - -/* - * These allow using the print-formatting code before curses is initialized. - */ -#define DLG_COLS (COLS ? COLS : dialog_state.screen_width) -#define DLG_LINES (LINES ? LINES : dialog_state.screen_height) - -/* - * Define the usable size of a window, discounting the area needed for shadow. - */ -#ifdef HAVE_COLOR -#define SCOLS (DLG_COLS - (dialog_state.use_shadow ? SHADOW_COLS : 0)) -#define SLINES (DLG_LINES - (dialog_state.use_shadow ? SHADOW_ROWS : 0)) -#else -#define SCOLS COLS -#define SLINES LINES -#endif - -/* - * These are the default values for exit-codes, which can be overridden by - * environment variables, e.g., $DIALOG_CANCEL for DLG_EXIT_CANCEL. - */ -#define DLG_EXIT_ESC 255 -#define DLG_EXIT_UNKNOWN -2 /* never return this (internal use) */ -#define DLG_EXIT_ERROR -1 /* the shell sees this as 255 */ -#define DLG_EXIT_OK 0 -#define DLG_EXIT_CANCEL 1 -#define DLG_EXIT_HELP 2 -#define DLG_EXIT_EXTRA 3 -#define DLG_EXIT_ITEM_HELP 4 /* actually DLG_EXIT_HELP */ -#define DLG_EXIT_TIMEOUT 5 - -#define DLG_CTRL(n) ((n) & 0x1f) /* CTRL is preferred, but conflicts */ - -#define CHR_LEAVE DLG_CTRL('D') -#define CHR_HELP DLG_CTRL('E') -#define CHR_BACKSPACE DLG_CTRL('H') -#define CHR_REPAINT DLG_CTRL('L') -#define CHR_NEXT DLG_CTRL('N') -#define CHR_PREVIOUS DLG_CTRL('P') -#define CHR_KILL DLG_CTRL('U') -#define CHR_TRACE DLG_CTRL('T') -#define CHR_LITERAL DLG_CTRL('V') -#define CHR_SPACE ' ' -#define CHR_DELETE 127 - -#define ESC 27 -#define TAB DLG_CTRL('I') - -#define MARGIN 1 /* width of the line drawn around each box */ -#define GUTTER 2 /* minimum columns between name/description in menu */ -#define SHADOW_ROWS 1 /* rows to reserve for window's shadow */ -#define SHADOW_COLS 2 /* columns to reserve for window's shadow */ -#define ARROWS_COL 5 /* distance from left margin to up/down arrows */ - -#define MAX_LEN 2048 -#define BUF_SIZE (10L*1024) - -#undef MIN -#define MIN(x,y) ((x) < (y) ? (x) : (y)) - -#undef MAX -#define MAX(x,y) ((x) > (y) ? (x) : (y)) - -#define DEFAULT_SEPARATE_STR "\t" -#define DEFAULT_ASPECT_RATIO 9 -/* how many spaces is a tab long (default)? */ -#define TAB_LEN 8 -#define WTIMEOUT_VAL 10 /* minimum amount of time needed for curses */ -#define WTIMEOUT_OFF -1 /* value to disable timeout */ - -#ifndef A_CHARTEXT -#define A_CHARTEXT 0xff -#endif - -#define CharOf(ch) ((ch) & 0xff) - -#ifndef ACS_ULCORNER -#define ACS_ULCORNER '+' -#endif -#ifndef ACS_LLCORNER -#define ACS_LLCORNER '+' -#endif -#ifndef ACS_URCORNER -#define ACS_URCORNER '+' -#endif -#ifndef ACS_LRCORNER -#define ACS_LRCORNER '+' -#endif -#ifndef ACS_HLINE -#define ACS_HLINE '-' -#endif -#ifndef ACS_VLINE -#define ACS_VLINE '|' -#endif -#ifndef ACS_LTEE -#define ACS_LTEE '+' -#endif -#ifndef ACS_RTEE -#define ACS_RTEE '+' -#endif -#ifndef ACS_UARROW -#define ACS_UARROW '^' -#endif -#ifndef ACS_DARROW -#define ACS_DARROW 'v' -#endif -#ifndef ACS_BLOCK -#define ACS_BLOCK '#' -#endif - -/* these definitions may work for antique versions of curses */ -#ifndef HAVE_GETBEGYX -#undef getbegyx -#define getbegyx(win,y,x) (y = (win)?(win)->_begy:ERR, x = (win)?(win)->_begx:ERR) -#endif - -#ifndef HAVE_GETMAXYX -#undef getmaxyx -#define getmaxyx(win,y,x) (y = (win)?(win)->_maxy:ERR, x = (win)?(win)->_maxx:ERR) -#endif - -#ifndef HAVE_GETPARYX -#undef getparyx -#define getparyx(win,y,x) (y = (win)?(win)->_pary:ERR, x = (win)?(win)->_parx:ERR) -#endif - -#if !defined(HAVE_WGETPARENT) && defined(HAVE_WINDOW__PARENT) -#undef wgetparent -#define wgetparent(win) ((win) ? (win)->_parent : 0) -#endif - -#if !defined(HAVE_WSYNCUP) -#undef wsyncup -#define wsyncup(win) /* nothing */ -#endif - -#if !defined(HAVE_WCURSYNCUP) -#undef wcursyncup -#define wcursyncup(win) /* nothing */ -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -/* these definitions may be needed for bleeding-edge curses implementations */ -#if !(defined(HAVE_GETBEGX) && defined(HAVE_GETBEGY)) -#undef getbegx -#undef getbegy -#define getbegx(win) dlg_getbegx(win) -#define getbegy(win) dlg_getbegy(win) -extern int dlg_getbegx(WINDOW * /*win*/); -extern int dlg_getbegy(WINDOW * /*win*/); -#endif - -#if !(defined(HAVE_GETCURX) && defined(HAVE_GETCURY)) -#undef getcurx -#undef getcury -#define getcurx(win) dlg_getcurx(win) -#define getcury(win) dlg_getcury(win) -extern int dlg_getcurx(WINDOW * /*win*/); -extern int dlg_getcury(WINDOW * /*win*/); -#endif - -#if !(defined(HAVE_GETMAXX) && defined(HAVE_GETMAXY)) -#undef getmaxx -#undef getmaxy -#define getmaxx(win) dlg_getmaxx(win) -#define getmaxy(win) dlg_getmaxy(win) -extern int dlg_getmaxx(WINDOW * /*win*/); -extern int dlg_getmaxy(WINDOW * /*win*/); -#endif - -#if !(defined(HAVE_GETPARX) && defined(HAVE_GETPARY)) -#undef getparx -#undef getpary -#define getparx(win) dlg_getparx(win) -#define getpary(win) dlg_getpary(win) -extern int dlg_getparx(WINDOW * /*win*/); -extern int dlg_getpary(WINDOW * /*win*/); -#endif - -#if !(defined(HAVE_WGETPARENT) && defined(HAVE_WINDOW__PARENT)) -#undef wgetparent -#define wgetparent(win) dlg_wgetparent(win) -extern WINDOW * dlg_wgetparent(WINDOW * /*win*/); -#endif - -/* - * This is a list of "old" names, which should be helpful in updating - * applications that use libdialog. Starting with 2003/11/26, all exported - * symbols from libdialog have "dlg_" prefix, or "dialog_" prefix or "_dialog" - * suffix (or suffix "_dialog", e.g., init_dialog). - */ -#ifdef __DIALOG_OLD_NAMES__ -#define color_table dlg_color_table -#define attr_clear(win,h,w,a) dlg_attr_clear(win,h,w,a) -#define auto_size(t,s,h,w,xl,mc) dlg_auto_size(t,s,h,w,xl,mc) -#define auto_sizefile(t,f,h,w,xl,mc) dlg_auto_sizefile(t,f,h,w,xl,mc) -#define beeping() dlg_beeping() -#define box_x_ordinate(w) dlg_box_x_ordinate(w) -#define box_y_ordinate(h) dlg_box_y_ordinate(h) -#define calc_listh(h,lh,in) dlg_calc_listh(h,lh,in) -#define calc_listw(in,items,group) dlg_calc_listw(in,items,group) -#define color_setup() dlg_color_setup() -#define create_rc(f) dlg_create_rc(f) -#define ctl_size(h,w) dlg_ctl_size(h,w) -#define del_window(win) dlg_del_window(win) -#define dialog_clear() dlg_clear() -#define draw_bottom_box(win) dlg_draw_bottom_box(win) -#define draw_box(win,y,x,h,w,xc,bc) dlg_draw_box(win,y,x,h,w,xc,bc) -#define draw_shadow(win,h,w,y,x) dlg_draw_shadow(win,h,w,y,x) -#define draw_title(win,t) dlg_draw_title(win,t) -#define exiterr dlg_exiterr -#define killall_bg(n) dlg_killall_bg(n) -#define mouse_bigregion(y,x) dlg_mouse_bigregion(y,x) -#define mouse_free_regions() dlg_mouse_free_regions() -#define mouse_mkbigregion(y,x,h,w,n,ix,iy,m) dlg_mouse_mkbigregion(y,x,h,w,n,ix,iy,m) -#define mouse_mkregion(y,x,h,w,n) dlg_mouse_mkregion(y,x,h,w,n) -#define mouse_region(y,x) dlg_mouse_region(y,x) -#define mouse_setbase(x,y) dlg_mouse_setbase(x,y) -#define mouse_setcode(c) dlg_mouse_setcode(c) -#define mouse_wgetch(w,c) dlg_mouse_wgetch(w,c) -#define new_window(h,w,y,x) dlg_new_window(h,w,y,x) -#define parse_rc() dlg_parse_rc() -#define print_autowrap(win,s,h,w) dlg_print_autowrap(win,s,h,w) -#define print_size(h,w) dlg_print_size(h,w) -#define put_backtitle() dlg_put_backtitle() -#define strclone(cprompt) dlg_strclone(cprompt) -#define sub_window(win,h,w,y,x) dlg_sub_window(win,h,w,y,x) -#define tab_correct_str(s) dlg_tab_correct_str(s) -#endif - -/* - * Attribute names - */ -#define DIALOG_ATR(n) dlg_color_table[n].atr - -#define screen_attr DIALOG_ATR(0) -#define shadow_attr DIALOG_ATR(1) -#define dialog_attr DIALOG_ATR(2) -#define title_attr DIALOG_ATR(3) -#define border_attr DIALOG_ATR(4) -#define button_active_attr DIALOG_ATR(5) -#define button_inactive_attr DIALOG_ATR(6) -#define button_key_active_attr DIALOG_ATR(7) -#define button_key_inactive_attr DIALOG_ATR(8) -#define button_label_active_attr DIALOG_ATR(9) -#define button_label_inactive_attr DIALOG_ATR(10) -#define inputbox_attr DIALOG_ATR(11) -#define inputbox_border_attr DIALOG_ATR(12) -#define searchbox_attr DIALOG_ATR(13) -#define searchbox_title_attr DIALOG_ATR(14) -#define searchbox_border_attr DIALOG_ATR(15) -#define position_indicator_attr DIALOG_ATR(16) -#define menubox_attr DIALOG_ATR(17) -#define menubox_border_attr DIALOG_ATR(18) -#define item_attr DIALOG_ATR(19) -#define item_selected_attr DIALOG_ATR(20) -#define tag_attr DIALOG_ATR(21) -#define tag_selected_attr DIALOG_ATR(22) -#define tag_key_attr DIALOG_ATR(23) -#define tag_key_selected_attr DIALOG_ATR(24) -#define check_attr DIALOG_ATR(25) -#define check_selected_attr DIALOG_ATR(26) -#define uarrow_attr DIALOG_ATR(27) -#define darrow_attr DIALOG_ATR(28) -#define itemhelp_attr DIALOG_ATR(29) -#define form_active_text_attr DIALOG_ATR(30) -#define form_text_attr DIALOG_ATR(31) -#define form_item_readonly_attr DIALOG_ATR(32) -#define gauge_attr DIALOG_ATR(33) -#define border2_attr DIALOG_ATR(34) -#define inputbox_border2_attr DIALOG_ATR(35) -#define searchbox_border2_attr DIALOG_ATR(36) -#define menubox_border2_attr DIALOG_ATR(37) - -#define DLGK_max (KEY_MAX + 256) - -/* - * Use attributes. - */ -#ifdef PDCURSES -#define dlg_attrset(w,a) (void) wattrset((w), (a)) -#define dlg_attron(w,a) (void) wattron((w), (a)) -#define dlg_attroff(w,a) (void) wattroff((w), (a)) -#else -#define dlg_attrset(w,a) (void) wattrset((w), (int)(a)) -#define dlg_attron(w,a) (void) wattron((w), (int)(a)) -#define dlg_attroff(w,a) (void) wattroff((w), (int)(a)) -#endif - -/* - * Callbacks are used to implement the "background" tailbox. - */ -struct _dlg_callback; - -typedef void (*DIALOG_FREEBACK) (struct _dlg_callback * /* p */); - -typedef struct _dlg_callback { - struct _dlg_callback *next; - FILE *input; - WINDOW *win; - bool keep_bg; /* keep in background, on exit */ - bool bg_task; /* true if this is background task */ - bool (*handle_getc)(struct _dlg_callback *p, int ch, int fkey, int *result); - bool keep_win; /* true to not erase window on exit */ - /* data for dlg_add_callback_ref */ - struct _dlg_callback **caller; - DIALOG_FREEBACK freeback; - /* 1.1-20110107 */ - bool (*handle_input)(struct _dlg_callback *p); - bool input_ready; -} DIALOG_CALLBACK; - -typedef struct _dlg_windows { - struct _dlg_windows *next; - WINDOW *normal; - WINDOW *shadow; - int getc_timeout; -} DIALOG_WINDOWS; - -/* - * Global variables, which are initialized as needed - */ -typedef struct { - DIALOG_CALLBACK *getc_callbacks; - DIALOG_CALLBACK *getc_redirect; - DIALOG_WINDOWS *all_windows; - DIALOG_WINDOWS *all_subwindows; - FILE *output; /* option "--output-fd fd" */ - FILE *pipe_input; /* used for gauge widget */ - FILE *screen_output; /* newterm(), etc. */ - bool screen_initialized; - bool use_colors; /* use colors by default? */ - bool use_scrollbar; /* option "--scrollbar" */ - bool use_shadow; /* shadow dialog boxes by default? */ - bool visit_items; /* option "--visit-items" */ - char *separate_str; /* option "--separate-widget string" */ - int aspect_ratio; /* option "--aspect ratio" */ - int output_count; /* # of widgets that may have done output */ - int tab_len; /* option "--tab-len n" */ - /* 1.0-20070227 */ - FILE *input; /* option "--input-fd fd" */ -#ifdef HAVE_DLG_TRACE - FILE *trace_output; /* option "--trace file" */ -#endif - /* 1.1-20110106 */ - bool no_mouse; /* option "--no-mouse" */ - int visit_cols; /* option "--visit-items" */ - /* 1.2-20130922 */ - bool finish_string; /* caching optimization for gauge */ - /* 1.2-20150125 */ - bool plain_buttons; /* true to suppress button-label highlight */ - /* 1.3-20180610 */ - bool text_only; /* option "--print-text-only", etc. */ - int text_height; - int text_width; - /* 1.3-20190211 */ - int screen_height; - int screen_width; -#ifdef KEY_RESIZE - /* 1.3-20190724 */ - bool had_resize; /* ERR may follow KEY_RESIZE when polling */ -#endif -} DIALOG_STATE; - -extern DIALOG_STATE dialog_state; - -/* - * Global variables, which dialog resets before each widget - */ -typedef struct { - bool beep_after_signal; /* option "--beep-after" */ - bool beep_signal; /* option "--beep" */ - bool begin_set; /* option "--begin y x" was used */ - bool cant_kill; /* option "--no-kill" */ - bool colors; /* option "--colors" */ - bool cr_wrap; /* option "--cr-wrap" */ - bool defaultno; /* option "--defaultno" */ - bool dlg_clear_screen; /* option "--clear" */ - bool extra_button; /* option "--extra-button" */ - bool help_button; /* option "--help-button" */ - bool help_status; /* option "--help-status" */ - bool input_menu; /* menu vs inputmenu widget */ - bool insecure; /* option "--insecure" */ - bool item_help; /* option "--item-help" */ - bool keep_window; /* option "--keep-window" */ - bool nocancel; /* option "--no-cancel" */ - bool nocollapse; /* option "--no-collapse" */ - bool print_siz; /* option "--print-size" */ - bool separate_output; /* option "--separate-output" */ - bool single_quoted; /* option "--single-quoted" */ - bool size_err; /* option "--size-err" */ - bool tab_correct; /* option "--tab-correct" */ - bool trim_whitespace; /* option "--trim" */ - char *backtitle; /* option "--backtitle backtitle" */ - char *cancel_label; /* option "--cancel-label string" */ - char *default_item; /* option "--default-item string" */ - char *exit_label; /* option "--exit-label string" */ - char *extra_label; /* option "--extra-label string" */ - char *help_label; /* option "--help-label string" */ - char *input_result; - char *no_label; /* option "--no-label string" */ - char *ok_label; /* option "--ok-label string" */ - char *title; /* option "--title title" */ - char *yes_label; /* option "--yes-label string" */ - int begin_x; /* option "--begin y x" (second value) */ - int begin_y; /* option "--begin y x" (first value) */ - int max_input; /* option "--max-input size" */ - int scale_factor; /* RESERVED */ - int sleep_secs; /* option "--sleep secs" */ - int timeout_secs; /* option "--timeout secs" */ - unsigned input_length; /* nonzero if input_result is allocated */ - /* 1.0-20051207 */ - unsigned formitem_type; /* DIALOG_FORMITEM.type in dialog_form() */ - /* 1.1-20070227 */ - bool keep_tite; /* option "--keep-tite" */ - bool ascii_lines; /* option "--ascii-lines" */ - bool no_lines; /* option "--no-lines" */ - /* 1.1-20070930 */ - bool nook; /* option "--no-ok" */ - /* 1.1-20080727 */ - bool quoted; /* option "--quoted" */ - char *column_header; /* RESERVED "--column-header" */ - char *column_separator; /* option "--column-separator" */ - char *output_separator; /* option "--output-separator" */ - /* 1.1-20100118 */ - char *date_format; /* option "--date-format" */ - char *time_format; /* option "--time-format" */ - /* 1.1-20110629 */ - char *help_line; /* option "--hline" */ - char *help_file; /* option "--hfile" */ - bool in_helpfile; /* flag to prevent recursion in --hfile */ - bool no_nl_expand; /* option "--no-nl-expand" */ - /* 1.1-20120701 */ - int default_button; /* option "--default-button" (exit code) */ - /* 1.1-20121218 */ - bool no_tags; /* option "--no-tags" */ - bool no_items; /* option "--no-items" */ - /* 1.2-20130315 */ - bool last_key; /* option "--last-key" */ - /* 1.2-20130902 */ - bool help_tags; /* option "--help-tags" */ - /* 1.3-20160126 */ - char *week_start; /* option "--week-start" */ - /* 1.3-20160206 */ - bool iso_week; /* option "--iso-week" */ - /* 1.3-20170131 */ - bool reorder; /* option "--reorder" */ - /* 1.3-20201117 */ - int pause_secs; /* used by pause widget */ - /* 1.3-20201126 */ - bool erase_on_exit; /* option "--erase-on-exit" */ - bool cursor_off_label; /* option "--cursor-off-label" */ - /* 1.3-20210117 */ - bool no_hot_list; /* option "--no-hot-list" */ -} DIALOG_VARS; - -#define USE_ITEM_HELP(s) (dialog_vars.item_help && (s) != 0) - -/* - * Some settings change the number of data items per row which dialog reads - * from a script. - */ -#define DLG__NO_ITEMS (dialog_vars.no_items ? 0 : 1) -#define DLG__ITEM_HELP (dialog_vars.item_help ? 1 : 0) - -/* - * These are the total number of data items per row used for each widget type. - */ -#define CHECKBOX_TAGS (2 + DLG__ITEM_HELP + DLG__NO_ITEMS) -#define MENUBOX_TAGS (1 + DLG__ITEM_HELP + DLG__NO_ITEMS) -#define FORMBOX_TAGS (8 + DLG__ITEM_HELP) -#define MIXEDFORM_TAGS (1 + FORMBOX_TAGS) -#define MIXEDGAUGE_TAGS 2 -#define TREEVIEW_TAGS (3 + DLG__ITEM_HELP + DLG__NO_ITEMS) - -extern DIALOG_VARS dialog_vars; - -#ifndef HAVE_TYPE_CHTYPE -#define chtype long -#endif - -#ifndef isblank -#define isblank(c) ((c) == ' ' || (c) == TAB) -#endif - -#define UCH(ch) ((unsigned char)(ch)) - -#define assert_ptr(ptr,msg) if ((ptr) == 0) dlg_exiterr("cannot allocate memory in " msg) - -#define dlg_malloc(t,n) (t *) malloc((size_t)(n) * sizeof(t)) -#define dlg_calloc(t,n) (t *) calloc((size_t)(n), sizeof(t)) -#define dlg_realloc(t,n,p) (t *) realloc((p), (n) * sizeof(t)) - -/* - * Table for attribute- and color-values. - */ -typedef struct { - chtype atr; /* attribute corresponding to fg, bg, etc */ -#ifdef HAVE_COLOR - int fg; /* foreground color-number */ - int bg; /* background color-number */ - int hilite; /* true if bold */ -#ifdef HAVE_RC_FILE2 - int ul; /* true if underline */ - int rv; /* true if reverse */ -#endif /* HAVE_RC_FILE2 */ -#endif /* HAVE_COLOR */ -#ifdef HAVE_RC_FILE - const char *name; - const char *comment; -#endif -} DIALOG_COLORS; - -extern DIALOG_COLORS dlg_color_table[]; - -/* - * Function prototypes - */ -extern const char *dialog_version(void); - -/* widgets, each in separate files */ -extern int dialog_buildlist(const char * /*title*/, const char * /*cprompt*/, int /*height*/, int /*width*/, int /*list_height*/, int /*item_no*/, char ** /*items*/, int /*order_mode*/); -extern int dialog_calendar(const char * /*title*/, const char * /*subtitle*/, int /*height*/, int /*width*/, int /*day*/, int /*month*/, int /*year*/); -extern int dialog_checklist(const char * /*title*/, const char * /*cprompt*/, int /*height*/, int /*width*/, int /*list_height*/, int /*item_no*/, char ** /*items*/, int /*flag*/); -extern int dialog_dselect(const char * /*title*/, const char * /*path*/, int /*height*/, int /*width*/); -extern int dialog_editbox(const char * /*title*/, const char * /*file*/, int /*height*/, int /*width*/); -extern int dialog_form(const char * /*title*/, const char * /*cprompt*/, int /*height*/, int /*width*/, int /*form_height*/, int /*item_no*/, char ** /*items*/); -extern int dialog_fselect(const char * /*title*/, const char * /*path*/, int /*height*/, int /*width*/); -extern int dialog_gauge(const char * /*title*/, const char * /*cprompt*/, int /*height*/, int /*width*/, int /*percent*/); -extern int dialog_helpfile(const char * /*title*/, const char * /*file*/, int /*height*/, int /*width*/); -extern int dialog_inputbox(const char * /*title*/, const char * /*cprompt*/, int /*height*/, int /*width*/, const char * /*init*/, const int /*password*/); -extern int dialog_menu(const char * /*title*/, const char * /*cprompt*/, int /*height*/, int /*width*/, int /*menu_height*/, int /*item_no*/, char ** /*items*/); -extern int dialog_mixedform(const char * /*title*/, const char * /*cprompt*/, int /*height*/, int /*width*/, int /*form_height*/, int /*item_no*/, char ** /*items*/); -extern int dialog_mixedgauge(const char * /*title*/, const char * /*cprompt*/, int /*height*/, int /*width*/, int /*percent*/, int /*item_no*/, char ** /*items*/); -extern int dialog_msgbox(const char * /*title*/, const char * /*cprompt*/, int /*height*/, int /*width*/, int /*pauseopt*/); -extern int dialog_pause(const char * /*title*/, const char * /*cprompt*/, int /*height*/, int /*width*/, int /*seconds*/); -extern int dialog_prgbox(const char * /*title*/, const char * /*cprompt*/, const char * /*command*/, int /*height*/, int /*width*/, int /*pauseopt*/); -extern int dialog_progressbox(const char * /*title*/, const char * /*cprompt*/, int /*height*/, int /*width*/); -extern int dialog_rangebox(const char * /*title*/, const char * /*file*/, int /*height*/, int /*width*/, int /*min_value*/, int /*max_value*/, int /*default_value*/); -extern int dialog_tailbox(const char * /*title*/, const char * /*file*/, int /*height*/, int /*width*/, int /*bg_task*/); -extern int dialog_textbox(const char * /*title*/, const char * /*file*/, int /*height*/, int /*width*/); -extern int dialog_timebox(const char * /*title*/, const char * /*subtitle*/, int /*height*/, int /*width*/, int /*hour*/, int /*minute*/, int /*second*/); -extern int dialog_treeview(const char * /*title*/, const char * /*subtitle*/, int /*height*/, int /*width*/, int /*list_height*/, int /*item_no*/, char ** /*items*/, int /*flag*/); -extern int dialog_yesno(const char * /*title*/, const char * /*cprompt*/, int /*height*/, int /*width*/); - -/* some widgets have alternate entrypoints, to allow list manipulation */ -typedef struct { - char *name; - char *text; - char *help; - int state; -} DIALOG_LISTITEM; - -typedef struct { - unsigned type; /* the field type (0=input, 1=password) */ - char *name; /* the field label */ - int name_len; /* ...its length */ - int name_y; /* ...its y-ordinate */ - int name_x; /* ...its x-ordinate */ - bool name_free; /* ...true if .name can be freed */ - char *text; /* the field contents */ - int text_len; /* ...its length on the screen */ - int text_y; /* ...its y-ordinate */ - int text_x; /* ...its x-ordinate */ - int text_flen; /* ...its length on screen, or 0 if no input allowed */ - int text_ilen; /* ...its limit on amount to be entered */ - bool text_free; /* ...true if .text can be freed */ - char *help; /* help-message, if any */ - bool help_free; /* ...true if .help can be freed */ -} DIALOG_FORMITEM; - -typedef int (DIALOG_INPUTMENU) (DIALOG_LISTITEM * /*items*/, int /*current*/, char * /*newtext*/); - -extern int dlg_checklist(const char * /*title*/, const char * /*cprompt*/, int /*height*/, int /*width*/, int /*list_height*/, int /*item_no*/, DIALOG_LISTITEM * /*items*/, const char * /*states*/, int /*flag*/, int * /*current_item*/); -extern int dlg_form(const char * /*title*/, const char * /*cprompt*/, int /*height*/, int /*width*/, int /*form_height*/, int /*item_no*/, DIALOG_FORMITEM * /*items*/, int * /*current_item*/); -extern int dlg_menu(const char * /*title*/, const char * /*cprompt*/, int /*height*/, int /*width*/, int /*menu_height*/, int /*item_no*/, DIALOG_LISTITEM * /*items*/, int * /*current_item*/, DIALOG_INPUTMENU /*rename_menu*/); -extern int dlg_progressbox(const char * /*title*/, const char * /*cprompt*/, int /*height*/, int /*width*/, int /*pauseopt*/, FILE * /* fp */); - -/* argv.c */ -extern char ** dlg_string_to_argv(char * /* blob */); -extern int dlg_count_argv(char ** /* argv */); -extern int dlg_eat_argv(int * /* argcp */, char *** /* argvp */, int /* start */, int /* count */); - -/* arrows.c */ -extern void dlg_draw_arrows(WINDOW * /*dialog*/, int /*top_arrow*/, int /*bottom_arrow*/, int /*x*/, int /*top*/, int /*bottom*/); -extern void dlg_draw_arrows2(WINDOW * /*dialog*/, int /*top_arrow*/, int /*bottom_arrow*/, int /*x*/, int /*top*/, int /*bottom*/, chtype /*attr*/, chtype /*borderattr*/); -extern void dlg_draw_helpline(WINDOW * /*dialog*/, bool /*decorations*/); -extern void dlg_draw_scrollbar(WINDOW * /*dialog*/, long /* first_data */, long /* this_data */, long /* next_data */, long /* total_data */, int /* left */, int /* right */, int /*top*/, int /*bottom*/, chtype /*attr*/, chtype /*borderattr*/); - -/* buildlist.c */ -extern int dlg_buildlist(const char * /*title*/, const char * /*cprompt*/, int /*height*/, int /*width*/, int /*list_height*/, int /*item_no*/, DIALOG_LISTITEM * /*items*/, const char * /*states*/, int /*order_mode*/, int * /*current_item*/); - -/* buttons.c */ -extern const char ** dlg_exit_label(void); -extern const char ** dlg_ok_label(void); -extern const char ** dlg_ok_labels(void); -extern const char ** dlg_yes_labels(void); -extern int dlg_button_count(const char ** /*labels*/); -extern int dlg_button_to_char(const char * /*label*/); -extern int dlg_button_x_step(const char ** /*labels*/, int /*limit*/, int * /*gap*/, int * /*margin*/, int * /*step*/); -extern int dlg_char_to_button(int /*ch*/, const char ** /*labels*/); -extern int dlg_exit_buttoncode(int /*button*/); -extern int dlg_match_char(int /*ch*/, const char * /*string*/); -extern int dlg_next_button(const char ** /*labels*/, int /*button*/); -extern int dlg_next_ok_buttonindex(int /*current*/, int /*extra*/); -extern int dlg_ok_buttoncode(int /*button*/); -extern int dlg_prev_button(const char ** /*labels*/, int /*button*/); -extern int dlg_prev_ok_buttonindex(int /*current*/, int /*extra*/); -extern int dlg_yes_buttoncode(int /*button*/); -extern void dlg_button_layout(const char ** /*labels*/, int * /*limit*/); -extern void dlg_button_sizes(const char ** /*labels*/, int /*vertical*/, int * /*longest*/, int * /*length*/); -extern void dlg_draw_buttons(WINDOW * /*win*/, int /*y*/, int /*x*/, const char ** /*labels*/, int /*selected*/, int /*vertical*/, int /*limit*/); - -/* columns.c */ -extern void dlg_align_columns(char ** /* target */, int /* per_row */, int /* num_rows */); -extern void dlg_free_columns(char ** /* target */, int /* per_row */, int /* num_rows */); - -/* editbox.c */ -extern int dlg_editbox(const char * /*title*/, char *** /*list*/, int * /*rows*/, int /*height*/, int /*width*/); - -/* formbox.c */ -extern int dlg_default_formitem(DIALOG_FORMITEM * /*items*/); -extern int dlg_ordinate(const char * /*s*/); -extern void dlg_free_formitems(DIALOG_FORMITEM * /*items*/); - -/* guage.c */ -extern void * dlg_allocate_gauge(const char * /* title */, const char * /* cprompt */, int /* height */, int /* width */, int /* percent */); -extern void * dlg_reallocate_gauge(void * /* objptr */, const char * /* title */, const char * /* cprompt */, int /* height */, int /* width */, int /* percent */); -extern void dlg_free_gauge(void * /* objptr */); -extern void dlg_update_gauge(void * /* objptr */, int /* percent */); - -/* inputstr.c */ -extern bool dlg_edit_string(char * /*string*/, int * /*offset*/, int /*key*/, int /*fkey*/, bool /*force*/); -extern const int * dlg_index_columns(const char * /*string*/); -extern const int * dlg_index_wchars(const char * /*string*/); -extern int dlg_count_columns(const char * /*string*/); -extern int dlg_count_wchars(const char * /*string*/); -extern int dlg_edit_offset(char * /*string*/, int /*offset*/, int /*x_last*/); -extern int dlg_find_index(const int * /*list*/, int /*limit*/, int /*to_find*/); -extern int dlg_limit_columns(const char * /*string*/, int /*limit*/, int /*offset*/); -extern void dlg_finish_string(const char * /* string */); -extern void dlg_show_string(WINDOW * /*win*/, const char * /*string*/, int /*offset*/, chtype /*attr*/, int /*y_base*/, int /*x_base*/, int /*x_last*/, bool /*hidden*/, bool /*force*/); - -/* menubox.c */ -extern int dlg_dummy_menutext(DIALOG_LISTITEM * /*items*/, int /*current*/, char * /*newtext*/); -extern int dlg_renamed_menutext(DIALOG_LISTITEM * /*items*/, int /*current*/, char * /*newtext*/); - -/* prgbox.c */ -extern FILE * dlg_popen(const char * /*command */, const char * /*type */); - -/* rc.c */ -#ifdef HAVE_RC_FILE -extern int dlg_parse_rc(void); -extern void dlg_create_rc(const char * /*filename*/); -#endif - -/* treeview.c */ -extern int dlg_treeview(const char * /*title*/, const char * /*cprompt*/, int /*height*/, int /*width*/, int /*list_height*/, int /*item_no*/, DIALOG_LISTITEM * /*items*/, const char * /*states*/, int * /*depths*/, int /*flag*/, int * /*current_item*/); - -/* ttysize.c */ -extern int dlg_ttysize(int /* fd */, int * /* height */, int * /* width */); - -/* ui_getc.c */ -extern int dlg_getc(WINDOW * /*win*/, int * /*fkey*/); -extern int dlg_getc_callbacks(int /*ch*/, int /*fkey*/, int * /*result*/); -extern int dlg_last_getc(void); -extern void dlg_add_last_key(int /*mode*/); -extern void dlg_add_callback(DIALOG_CALLBACK * /*p*/); -extern void dlg_add_callback_ref(DIALOG_CALLBACK ** /*p*/, DIALOG_FREEBACK /* cleanup */); -extern void dlg_flush_getc(void); -extern void dlg_remove_callback(DIALOG_CALLBACK * /*p*/); -extern void dlg_killall_bg(int *retval); - -/* util.c */ -extern DIALOG_WINDOWS * _dlg_find_window(WINDOW * /* win */); -extern WINDOW * dlg_der_window(WINDOW * /*win*/, int /*height*/, int /*width*/, int /*y*/, int /*x*/); -extern WINDOW * dlg_new_modal_window(WINDOW * /*parent*/, int /*height*/, int /*width*/, int /*y*/, int /*x*/); -extern WINDOW * dlg_new_window(int /*height*/, int /*width*/, int /*y*/, int /*x*/); -extern WINDOW * dlg_sub_window(WINDOW * /*win*/, int /*height*/, int /*width*/, int /*y*/, int /*x*/); -extern bool dlg_need_separator(void); -extern char * dlg_getenv_str(const char * /*name*/); -extern char * dlg_set_result(const char * /*string*/); -extern char * dlg_strclone(const char * /*cprompt*/); -extern char * dlg_strempty(void); -extern chtype dlg_asciibox(chtype /*ch*/); -extern chtype dlg_boxchar(chtype /*ch*/); -extern chtype dlg_get_attrs(WINDOW * /*win*/); -extern const char * dlg_exitcode2s(int /*code*/); -extern const char * dlg_print_line(WINDOW * /*win*/, chtype * /*attr*/, const char * /*prompt*/, int /*lm*/, int /*rm*/, int * /*x*/); -extern int dlg_box_x_ordinate(int /*width*/); -extern int dlg_box_y_ordinate(int /*height*/); -extern int dlg_calc_list_width(int /*item_no*/, DIALOG_LISTITEM * /*items*/); -extern int dlg_calc_listw(int /*item_no*/, char ** /*items*/, int /*group*/); -extern int dlg_check_scrolled(int /* key */, int /* last */, int /* page */, bool * /* show */, int * /* offset */); -extern int dlg_count_real_columns(const char * /*text*/); -extern int dlg_default_item(char ** /*items*/, int /*llen*/); -extern int dlg_default_listitem(DIALOG_LISTITEM * /*items*/); -extern int dlg_defaultno_button(void); -extern int dlg_default_button(void); -extern int dlg_exitname2n(const char * /*name*/); -extern int dlg_getenv_num(const char * /*name*/, int * /* value */); -extern int dlg_max_input(int /*max_len*/); -extern int dlg_print_scrolled(WINDOW * /* win */, const char * /* prompt */, int /* offset */, int /* height */, int /* width */, int /* pauseopt */); -extern int dlg_set_timeout(WINDOW * /* win */, bool /* will_getc */); -extern void dlg_add_help_formitem(int * /* result */, char ** /* tag */, DIALOG_FORMITEM * /* item */); -extern void dlg_add_help_listitem(int * /* result */, char ** /* tag */, DIALOG_LISTITEM * /* item */); -extern void dlg_add_quoted(char * /*string*/); -extern void dlg_add_result(const char * /*string*/); -extern void dlg_add_separator(void); -extern void dlg_add_string(char * /*string*/); -extern void dlg_attr_clear(WINDOW * /*win*/, int /*height*/, int /*width*/, chtype /*attr*/); -extern void dlg_auto_size(const char * /*title*/, const char * /*prompt*/, int * /*height*/, int * /*width*/, int /*boxlines*/, int /*mincols*/); -extern void dlg_auto_sizefile(const char * /*title*/, const char * /*file*/, int * /*height*/, int * /*width*/, int /*boxlines*/, int /*mincols*/); -extern void dlg_beeping(void); -extern void dlg_calc_listh(int * /*height*/, int * /*list_height*/, int /*item_no*/); -extern void dlg_clear(void); -extern void dlg_clr_result(void); -extern void dlg_ctl_size(int /*height*/, int /*width*/); -extern void dlg_del_window(WINDOW * /*win*/); -extern void dlg_does_output(void); -extern void dlg_draw_bottom_box(WINDOW * /*win*/); -extern void dlg_draw_bottom_box2(WINDOW * /*win*/, chtype /*on_left*/, chtype /*on_right*/, chtype /*on_inside*/); -extern void dlg_draw_box(WINDOW * /*win*/, int /*y*/, int /*x*/, int /*height*/, int /*width*/, chtype /*boxchar*/, chtype /*borderchar*/); -extern void dlg_draw_box2(WINDOW * /*win*/, int /*y*/, int /*x*/, int /*height*/, int /*width*/, chtype /*boxchar*/, chtype /*borderchar*/, chtype /*borderchar2*/); -extern void dlg_draw_title(WINDOW *win, const char *title); -extern void dlg_exit(int /*code*/) GCC_NORETURN; -extern void dlg_item_help(const char * /*txt*/); -extern void dlg_keep_tite(FILE * /*output */); -extern void dlg_print_autowrap(WINDOW * /*win*/, const char * /*prompt*/, int /*height*/, int /*width*/); -extern void dlg_print_listitem(WINDOW * /*win*/, const char * /*text*/, int /*climit*/, bool /*first*/, int /*selected*/); -extern void dlg_print_size(int /*height*/, int /*width*/); -extern void dlg_print_text(WINDOW * /*win*/, const char * /*txt*/, int /*len*/, chtype * /*attr*/); -extern void dlg_put_backtitle(void); -extern void dlg_reset_timeout(WINDOW * /* win */); -extern void dlg_restore_vars(DIALOG_VARS * /* save */); -extern void dlg_save_vars(DIALOG_VARS * /* save */); -extern void dlg_set_focus(WINDOW * /*parent*/, WINDOW * /*win*/); -extern void dlg_tab_correct_str(char * /*prompt*/); -extern void dlg_trim_string(char * /*src*/); -extern void end_dialog(void); -extern void init_dialog(FILE * /*input*/, FILE * /*output*/); - -extern void dlg_exiterr(const char *, ...) GCC_NORETURN GCC_PRINTFLIKE(1,2); - -#ifdef HAVE_COLOR -extern chtype dlg_color_pair(int /*foreground*/, int /*background*/); -extern int dlg_color_count(void); -extern void dlg_color_setup(void); -extern void dlg_draw_shadow(WINDOW * /*win*/, int /*height*/, int /*width*/, int /*y*/, int /*x*/); -#endif - -#ifdef HAVE_STRCASECMP -#define dlg_strcmp(a,b) strcasecmp(a,b) -#else -extern int dlg_strcmp(const char * /*a*/, const char * /*b*/); -#endif - -#ifdef HAVE_DLG_TRACE -#define DLG_TRACE(params) dlg_trace_msg params -extern void dlg_trace_msg(const char *fmt, ...) GCC_PRINTFLIKE(1,2); -extern void dlg_trace_va_msg(const char *fmt, va_list ap); -#define DLG_TRACE2S(name,value) dlg_trace_2s (name,value) -#define DLG_TRACE2N(name,value) dlg_trace_2n (name,value) -extern void dlg_trace_2s(const char * /*name*/, const char * /*value*/); -extern void dlg_trace_2n(const char * /*name*/, int /*value*/); -extern void dlg_trace_win(WINDOW * /*win*/); -extern void dlg_trace_chr(int /*ch*/, int /*fkey*/); -extern void dlg_trace(const char * /*fname*/); -#else -#define DLG_TRACE(params) /* nothing */ -#define DLG_TRACE2S(name,value) /* nothing */ -#define DLG_TRACE2N(name,value) /* nothing */ -#define dlg_trace_va_msg(fmt, ap) /* nothing */ -#define dlg_trace_win(win) /* nothing */ -#define dlg_trace_chr(ch,fkey) /* nothing */ -#define dlg_trace(fname) /* nothing */ -#endif - -#ifdef KEY_RESIZE -extern void _dlg_resize_cleanup(WINDOW * /*win*/); -extern void dlg_move_window(WINDOW * /*win*/, int /*height*/, int /*width*/, int /*y*/, int /*x*/); -extern void dlg_will_resize(WINDOW * /*win*/); -#endif - -/* - * Normally "enter" means "ok". Use this macro to handle the explicit - * check for DLGK_ENTER: - */ -#define dlg_enter_buttoncode(code) (dialog_vars.nook ? DLG_EXIT_OK : dlg_ok_buttoncode(code)) - -/* - * The following stuff is needed for mouse support - */ -typedef struct mseRegion { - int x, y, X, Y, code; - int mode, step_x, step_y; - struct mseRegion *next; -} mseRegion; - -#if defined(NCURSES_MOUSE_VERSION) - -#define mouse_open() mousemask(BUTTON1_PRESSED, (mmask_t *) 0) -#define mouse_close() mousemask(0, (mmask_t *) 0) - -extern mseRegion * dlg_mouse_mkregion (int /*y*/, int /*x*/, int /*height*/, int /*width*/, int /*code*/); -extern void dlg_mouse_free_regions (void); -extern void dlg_mouse_mkbigregion (int /*y*/, int /*x*/, int /*height*/, int /*width*/, int /*code*/, int /*step_x*/, int /*step_y*/, int /*mode*/); -extern void dlg_mouse_setbase (int /*x*/, int /*y*/); -extern void dlg_mouse_setcode (int /*code*/); - -#define USE_MOUSE 1 - -#else - -#define mouse_open() /*nothing*/ -#define mouse_close() /*nothing*/ -#define dlg_mouse_free_regions() /* nothing */ -#define dlg_mouse_mkregion(y, x, height, width, code) /*nothing*/ -#define dlg_mouse_mkbigregion(y, x, height, width, code, step_x, step_y, mode) /*nothing*/ -#define dlg_mouse_setbase(x, y) /*nothing*/ -#define dlg_mouse_setcode(c) /*nothing*/ - -#define USE_MOUSE 0 - -#endif - -extern mseRegion *dlg_mouse_region (int /*y*/, int /*x*/); -extern mseRegion *dlg_mouse_bigregion (int /*y*/, int /*x*/); -extern int dlg_mouse_wgetch (WINDOW * /*win*/, int * /*fkey*/); -extern int dlg_mouse_wgetch_nowait (WINDOW * /*win*/, int * /*fkey*/); - -#define mouse_mkbutton(y,x,len,code) dlg_mouse_mkregion(y,x,1,len,code); - -/* - * This is the base for fictitious keys, which activate - * the buttons. - * - * Mouse-generated keys are the following: - * -- the first 32 are used as numbers, in addition to '0'-'9' - * -- uppercase chars are used to invoke the button (M_EVENT + 'O') - */ -#define M_EVENT (DLGK_max + 1) - -/* - * The `flag' parameter in checklist is used to select between - * radiolist and checklist - */ -#define FLAG_CHECK 1 -#define FLAG_RADIO 0 - -/* - * This is used only for debugging (FIXME: should have a separate header). - */ -#ifdef NO_LEAKS -extern void _dlg_inputstr_leaks(void); -#if defined(NCURSES_VERSION) -#if defined(HAVE_CURSES_EXIT) -/* just use curses_exit() */ -#elif defined(HAVE__NC_FREE_AND_EXIT) -extern void _nc_free_and_exit(int); /* nc_alloc.h normally not installed */ -#define curses_exit(code) _nc_free_and_exit(code) -#endif -#endif /* NCURSES_VERSION */ -#endif /* NO_LEAKS */ - -#ifdef __cplusplus -} -#endif -/* *INDENT-ON* */ - -#endif /* DIALOG_H_included */ diff --git a/contrib/dialog/dialog.lsm b/contrib/dialog/dialog.lsm deleted file mode 100644 index be527abbdf90..000000000000 --- a/contrib/dialog/dialog.lsm +++ /dev/null @@ -1,23 +0,0 @@ -Begin3 -Title: dialog - Display dialog boxes in scripts -Version: 1.0-20060221 -Entered-date: 21FEB06 -Description: Dialog is a program that will let you present a variety - of questions or display messages in nice looking color - non-graphical dialog boxes from a shell or perl script. - Various dialog boxes can be presented such as yes/no, menu, - input, message, checklist, radiolist, and more. - - This program is based on the no longer maintained cdialog, but - contains bug fixes and more features. -Keywords: dialog, cdialog, shell, script, window -Author: Originally Savio Lam for the ancient version -Maintained-by: Thomas E. Dickey <dickey@invisible-island.net> - Vila, Santiago <sanvila@debian.org> -Primary-site: http://invisible-island.net/dialog/ - http://packages.debian.org/ -Alternate-site: ftp://ftp.us.debian.org/debian/pool/main/d/dialog/ -Original-site: ftp://sunsite.unc.edu/pub/Linux/utils/shell -Platforms: Linux *nix, OS/2 EMX -Copying-policy: LGPL -End diff --git a/contrib/dialog/dialog.pl b/contrib/dialog/dialog.pl deleted file mode 100644 index da0e6444ab9b..000000000000 --- a/contrib/dialog/dialog.pl +++ /dev/null @@ -1,600 +0,0 @@ -# Functions that handle calling dialog(1) -*-perl-*- -# $Id: dialog.pl,v 1.18 2018/06/12 21:01:58 tom Exp $ -################################################################################ -# Copyright 2018 Thomas E. Dickey -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License, version 2.1 -# as published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this program; if not, write to -# Free Software Foundation, Inc. -# 51 Franklin St., Fifth Floor -# Boston, MA 02110, USA. -################################################################################ -# The "rhs_" functions, as well as return_output originally came from Redhat -# 4.0, e.g., -# http://www.ibiblio.org/pub/historic-linux/distributions/redhat-4.0/i386/live/usr/bin/Xconfigurator.pl -# The other functions were added to make this more useful for demonstrations. - -# These comments are from the original file: -#------------------------------------------------------------------------------ -# Return values are 1 for success and 0 for failure (or cancel) -# Resultant text (if any) is in dialog_result - -# Unfortunately, the gauge requires use of /bin/sh to get going. -# I didn't bother to make the others shell-free, although it -# would be simple to do. - -# Note that dialog generally returns 0 for success, so I invert the -# sense of the return code for more readable boolean expressions. -#------------------------------------------------------------------------------ - -use warnings; -use strict; -use diagnostics; - -our $DIALOG = "dialog"; -our $GAUGE; -our $gauge_width; -our $scr_lines = 24; -our $scr_cols = 80; -our @dialog_result; -our $trace = 0; - -require "flush.pl"; - -sub trace { - if ($trace) { - if ( open TRACE, ">>dialog.log" ) { - printf TRACE $_[0], @_[ 1 .. $#_ ]; - close TRACE; - } - } -} - -sub quoted($) { - my $text = shift; - $text =~ s/[\r\n]+/\n/g; - $text =~ s/[^\n\t -~]/?/g; - $text =~ s/([\\"])/\\$1/g; - return sprintf "\"%s\"", $text; -} - -sub screensize() { - my $params = `$DIALOG --stdout --print-maxsize`; - $params =~ s/\s+$//; - $params =~ s/^[^:]*:\s+//; - my @params = split /,\s+/, $params; - if ( $#params == 1 ) { - $scr_lines = $params[0]; - $scr_cols = $params[1]; - } - else { - $scr_lines = 24; - $scr_cols = 80; - } -} - -sub height_of($$) { - my $width = shift; - my $message = shift; - my $command = - "$DIALOG --stdout --print-text-size " - . "ed($message) - . " $scr_lines $width 2>&1"; - my $params = `$command`; - my @params = split( /\s/, $params ); - return $params[0]; -} - -sub rhs_clear { - return system("$DIALOG --clear"); -} - -sub rhs_textbox { - my ( $title, $file, $width, $height ) = @_; - - $width = int($width); - $height = int($height); - system( "$DIALOG --title " - . "ed($title) - . " --textbox $file $height $width" ); - - return 1; -} - -sub rhs_msgbox { - my ( $title, $message, $width ) = @_; - my ( $tmp, $height ); - - $width = int($width); - $message = &rhs_wordwrap( $message, $width ); - $height = 5 + &height_of( $width, $message ); - - $tmp = - system( "$DIALOG --title " - . "ed($title) - . " --msgbox " - . "ed($message) - . " $height $width" ); - if ($tmp) { - return 0; - } - else { - return 1; - } -} - -sub rhs_infobox { - my ( $title, $message, $width ) = @_; - my ( $tmp, $height ); - - $width = int($width); - $message = &rhs_wordwrap( $message, $width ); - $height = 2 + &height_of( $width, $message ); - - return - system( "$DIALOG --title " - . "ed($title) - . " --infobox " - . "ed($message) - . " $height $width" ); -} - -sub rhs_yesno { - my ( $title, $message, $width ) = @_; - my ( $tmp, $height ); - - $width = int($width); - $message = &rhs_wordwrap( $message, $width ); - $height = 4 + &height_of( $width, $message ); - - $tmp = - system( "$DIALOG --title " - . "ed($title) - . " --yesno " - . "ed($message) - . " $height $width" ); - - # Dumb: dialog returns 0 for "yes" and 1 for "no" - if ( !$tmp ) { - return 1; - } - else { - return 0; - } -} - -sub rhs_gauge { - my ( $title, $message, $width, $percent ) = @_; - my ( $tmp, $height ); - - $width = int($width); - $gauge_width = $width; - - $message = &rhs_wordwrap( $message, $width ); - $height = 5 + &height_of( $width, $message ); - - open( $GAUGE, - "|$DIALOG --title " - . "ed($title) - . " --gauge " - . "ed($message) - . " $height $width $percent" ); -} - -sub rhs_update_gauge { - my ($percent) = @_; - - &printflush( $GAUGE, "$percent\n" ); -} - -sub rhs_update_gauge_and_message { - my ( $message, $percent ) = @_; - - $message = &rhs_wordwrap( $message, $gauge_width ); - $message =~ s/\n/\\n/g; - &printflush( $GAUGE, "XXX\n$percent\n$message\nXXX\n" ); -} - -sub rhs_stop_gauge { - close $GAUGE; -} - -sub rhs_inputbox { - my ( $title, $message, $width, $instr ) = @_; - my ( $tmp, $height ); - - $width = int($width); - $message = &rhs_wordwrap( $message, $width ); - $height = 7 + &height_of( $width, $message ); - - return &return_output( 0, - "$DIALOG --title " - . "ed($title) - . " --inputbox " - . "ed($message) - . " $height $width " - . "ed($instr) ); -} - -sub rhs_menu { - my ( $title, $message, $width, $numitems ) = @_; - my ( $i, $tmp, $ent, $height, $listheight, $menuheight, @list ); - - $width = int($width); - $numitems = int($numitems); - - shift; - shift; - shift; - shift; - - @list = (); - for ( $i = 0 ; $i < $numitems ; $i++ ) { - $ent = shift; - $list[@list] = "ed($ent); - $ent = shift; - $list[@list] = "ed($ent); - } - - $message = &rhs_wordwrap( $message, $width ); - $listheight = &height_of( $width, $message ); - $height = 6 + $listheight + $numitems; - - if ( $height <= $scr_lines ) { - $menuheight = $numitems; - } - else { - $height = $scr_lines; - $menuheight = $scr_lines - $listheight - 6; - } - - return &return_output( 0, - "$DIALOG --title " - . "ed($title) - . " --menu " - . "ed($message) - . " $height $width $menuheight @list" ); -} - -sub rhs_menul { - my ( $title, $message, $width, $numitems ) = @_; - my ( $i, $tmp, $ent, $height, $listheight, $menuheight, @list ); - - $width = int($width); - $numitems = int($numitems); - - shift; - shift; - shift; - shift; - - @list = (); - for ( $i = 0 ; $i < $numitems ; $i++ ) { - $ent = shift; - $list[@list] = "ed($ent); - $list[@list] = "ed(""); - } - - $message = &rhs_wordwrap( $message, $width ); - $listheight = &height_of( $width, $message ); - $height = 6 + $listheight + $numitems; - - if ( $height <= $scr_lines ) { - $menuheight = $numitems; - } - else { - $height = $scr_lines; - $menuheight = $scr_lines - $listheight - 6; - } - - return &return_output( 0, - "$DIALOG --title " - . "ed($title) - . " --menu " - . "ed($message) - . " $height $width $menuheight @list" ); -} - -sub rhs_menua { - my ( $title, $message, $width, %items ) = @_; - my ( $tmp, $ent, $height, $listheight, $menuheight, @list ); - - $width = int($width); - @list = (); - foreach $ent ( sort keys(%items) ) { - $list[@list] = "ed($ent); - $list[@list] = "ed( $items{$ent} ); - } - - my $numitems = keys(%items); - $message = &rhs_wordwrap( $message, $width ); - $listheight = &height_of( $width, $message ); - $height = 6 + $listheight + $numitems; - - if ( $height <= $scr_lines ) { - $menuheight = $numitems; - } - else { - $height = $scr_lines; - $menuheight = $scr_lines - $listheight - 6; - } - - return &return_output( 0, - "$DIALOG --title " - . "ed($title) - . " --menu " - . "ed($message) - . " $height $width $menuheight @list" ); -} - -sub rhs_checklist { - my ( $title, $message, $width, $numitems ) = @_; - my ( $i, $tmp, $ent, $height, $listheight, $menuheight, @list ); - - $width = int($width); - $numitems = int($numitems); - - shift; - shift; - shift; - shift; - - @list = (); - for ( $i = 0 ; $i < $numitems ; $i++ ) { - $ent = shift; - $list[@list] = "ed($ent); - $ent = shift; - $list[@list] = "ed($ent); - $ent = shift; - if ($ent) { - $list[@list] = "ON"; - } - else { - $list[@list] = "OFF"; - } - } - - $message = &rhs_wordwrap( $message, $width ); - $listheight = &height_of( $width, $message ); - $height = 6 + $listheight + $numitems; - - if ( $height <= $scr_lines ) { - $menuheight = $numitems; - } - else { - $height = $scr_lines; - $menuheight = $scr_lines - $listheight - 6; - } - - return &return_output( "list", - "$DIALOG --title " - . "ed($title) - . " --separate-output --checklist " - . "ed($message) - . " $height $width $menuheight @list" ); -} - -sub rhs_checklistl { - my ( $title, $message, $width, $numitems ) = @_; - my ( $i, $tmp, $ent, $height, $listheight, $menuheight, @list ); - - $width = int($width); - $numitems = int($numitems); - - shift; - shift; - shift; - shift; - - @list = (); - for ( $i = 0 ; $i < $numitems ; $i++ ) { - $ent = shift; - $list[@list] = "ed($ent); - $list[@list] = "ed(""); - $list[@list] = "OFF"; - } - - $message = &rhs_wordwrap( $message, $width ); - $listheight = &height_of( $width, $message ); - $height = 6 + $listheight + $numitems; - - if ( $height <= $scr_lines ) { - $menuheight = $numitems; - } - else { - $height = $scr_lines; - $menuheight = $scr_lines - $listheight - 6; - } - return &return_output( "list", - "$DIALOG --title " - . "ed($title) - . " --separate-output --checklist " - . "ed($message) - . " $height $width $menuheight @list" ); -} - -sub rhs_checklista { - my ( $title, $message, $width, %items ) = @_; - my ( $tmp, $ent, $height, $listheight, $menuheight, @list ); - - shift; - shift; - shift; - shift; - - @list = (); - foreach $ent ( sort keys(%items) ) { - $list[@list] = "ed($ent); - $list[@list] = "ed( $items{$ent} ); - $list[@list] = "OFF"; - } - - my $numitems = keys(%items); - $message = &rhs_wordwrap( $message, $width ); - $listheight = &height_of( $width, $message ); - $height = 6 + $listheight + $numitems; - - if ( $height <= $scr_lines ) { - $menuheight = $numitems; - } - else { - $height = $scr_lines; - $menuheight = $scr_lines - $listheight - 6; - } - - return &return_output( "list", - "$DIALOG --title " - . "ed($title) - . " --separate-output --checklist " - . "ed($message) - . " $height $width $menuheight @list" ); -} - -sub rhs_radiolist { - my ( $title, $message, $width, $numitems ) = @_; - my ( $i, $tmp, $ent, $height, $listheight, $menuheight, @list ); - - $width = int($width); - $numitems = int($numitems); - - shift; - shift; - shift; - shift; - - @list = (); - for ( $i = 0 ; $i < $numitems ; $i++ ) { - $ent = shift; - $list[@list] = "ed($ent); - $ent = shift; - $list[@list] = "ed($ent); - $ent = shift; - if ($ent) { - $list[@list] = "ON"; - } - else { - $list[@list] = "OFF"; - } - } - - $message = &rhs_wordwrap( $message, $width ); - $listheight = &height_of( $width, $message ); - $height = 6 + $listheight + $numitems; - - if ( $height <= $scr_lines ) { - $menuheight = $numitems; - } - else { - $height = $scr_lines; - $menuheight = $scr_lines - $listheight - 6; - } - - return &return_output( 0, - "$DIALOG --title " - . "ed($title) - . " --radiolist " - . "ed($message) - . " $height $width $menuheight @list" ); -} - -sub return_output { - my ( $listp, $command ) = @_; - my ($res) = 1; - - pipe( PARENT_READER, CHILD_WRITER ); - - # We have to fork (as opposed to using "system") so that the parent - # process can read from the pipe to avoid deadlock. - my ($pid) = fork; - if ( $pid == 0 ) { # child - close(PARENT_READER); - open( STDERR, ">&CHILD_WRITER" ); - exec($command); - die("no exec"); - } - if ( $pid > 0 ) { # parent - close(CHILD_WRITER); - if ($listp) { - @dialog_result = (); - while (<PARENT_READER>) { - chop; - $dialog_result[@dialog_result] = $_; - } - } - else { - @dialog_result = <PARENT_READER>; - } - close(PARENT_READER); - waitpid( $pid, 0 ); - $res = $?; - } - - # Again, dialog returns results backwards - if ( !$res ) { - return 1; - } - else { - return 0; - } -} - -sub rhs_wordwrap { - my ( $intext, $width ) = @_; - my ( $outtext, $i, $j, @lines, $wrap, @words, $pos, $pad ); - - &trace( "rhs_wordwrap\n\tintext:%s\n\twidth:%d\n", $intext, $width ); - &screensize; - $width = int($width); - $outtext = ""; - $pad = 3; # leave 3 spaces around each line - $pos = $pad; # current insert position - $wrap = 0; # 1 if we have been auto wrapping - my $insert_nl = 0; # 1 if we just did an absolute - # and we should preface any new text - # with a new line - @lines = split( /\n/, $intext ); - - for ( $i = 0 ; $i <= $#lines ; $i++ ) { - - if ( $lines[$i] =~ /^>/ ) { - $outtext .= "\n" if ($insert_nl); - $outtext .= "\n" if ($wrap); - $lines[$i] =~ /^>(.*)$/; - $outtext .= $1; - $insert_nl = 1; - $wrap = 0; - $pos = $pad; - } - else { - $wrap = 1; - @words = split( /\s+/, $lines[$i] ); - for ( $j = 0 ; $j <= $#words ; $j++ ) { - if ($insert_nl) { - $outtext .= "\n"; - $insert_nl = 0; - } - if ( ( length( $words[$j] ) + $pos ) > $width - $pad ) { - $outtext .= "\n"; - $pos = $pad; - } - $outtext .= $words[$j] . " "; - $pos += length( $words[$j] ) + 1; - } - } - } - - &trace( "\touttext:%s\n", $outtext ); - return $outtext; -} - -############ -1; diff --git a/contrib/dialog/dlg_colors.h b/contrib/dialog/dlg_colors.h deleted file mode 100644 index de91627afaa5..000000000000 --- a/contrib/dialog/dlg_colors.h +++ /dev/null @@ -1,280 +0,0 @@ -/* - * $Id: dlg_colors.h,v 1.18 2019/09/23 09:14:30 tom Exp $ - * - * colors.h -- color attribute definitions - * - * Copyright 2000-2011,2019 Thomas E. Dickey - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License, version 2.1 - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this program; if not, write to - * Free Software Foundation, Inc. - * 51 Franklin St., Fifth Floor - * Boston, MA 02110, USA. - * - * An earlier version of this program lists as authors - * Savio Lam (lam836@cs.cuhk.hk) - */ - -#ifndef COLORS_H_included -#define COLORS_H_included 1 - -#include <dialog.h> - -/* - * Default color definitions (DLGC means "Dialog Color") - * - * DLGC_FG_xxx = foreground for "xxx" - * DLGC_BG_xxx = background for "xxx" - * DLGC_HL_xxx = highlight for "xxx" - * DLGC_UL_xxx = underline for "xxx" - * DLGC_RV_xxx = reverse for "xxx" - */ -#define DLGC_FG_SCREEN COLOR_CYAN -#define DLGC_BG_SCREEN COLOR_BLUE -#define DLGC_HL_SCREEN TRUE -#define DLGC_UL_SCREEN FALSE -#define DLGC_RV_SCREEN FALSE - -#define DLGC_FG_SHADOW COLOR_BLACK -#define DLGC_BG_SHADOW COLOR_BLACK -#define DLGC_HL_SHADOW TRUE -#define DLGC_UL_SHADOW FALSE -#define DLGC_RV_SHADOW FALSE - -#define DLGC_FG_DIALOG COLOR_BLACK -#define DLGC_BG_DIALOG COLOR_WHITE -#define DLGC_HL_DIALOG FALSE -#define DLGC_UL_DIALOG FALSE -#define DLGC_RV_DIALOG FALSE - -#define DLGC_FG_TITLE COLOR_BLUE -#define DLGC_BG_TITLE COLOR_WHITE -#define DLGC_HL_TITLE TRUE -#define DLGC_UL_TITLE FALSE -#define DLGC_RV_TITLE FALSE - -#define DLGC_FG_BORDER COLOR_WHITE -#define DLGC_BG_BORDER COLOR_WHITE -#define DLGC_HL_BORDER TRUE -#define DLGC_UL_BORDER FALSE -#define DLGC_RV_BORDER FALSE - -#define DLGC_FG_BORDER2 DLGC_FG_DIALOG -#define DLGC_BG_BORDER2 DLGC_BG_DIALOG -#define DLGC_HL_BORDER2 DLGC_HL_DIALOG -#define DLGC_UL_BORDER2 FALSE -#define DLGC_RV_BORDER2 FALSE - -#define DLGC_FG_BUTTON_ACTIVE COLOR_WHITE -#define DLGC_BG_BUTTON_ACTIVE COLOR_BLUE -#define DLGC_HL_BUTTON_ACTIVE TRUE -#define DLGC_UL_BUTTON_ACTIVE FALSE -#define DLGC_RV_BUTTON_ACTIVE FALSE - -#define DLGC_FG_BUTTON_INACTIVE COLOR_BLACK -#define DLGC_BG_BUTTON_INACTIVE COLOR_WHITE -#define DLGC_HL_BUTTON_INACTIVE FALSE -#define DLGC_UL_BUTTON_INACTIVE FALSE -#define DLGC_RV_BUTTON_INACTIVE FALSE - -#define DLGC_FG_BUTTON_KEY_ACTIVE COLOR_WHITE -#define DLGC_BG_BUTTON_KEY_ACTIVE COLOR_BLUE -#define DLGC_HL_BUTTON_KEY_ACTIVE TRUE -#define DLGC_UL_BUTTON_KEY_ACTIVE FALSE -#define DLGC_RV_BUTTON_KEY_ACTIVE FALSE - -#define DLGC_FG_BUTTON_KEY_INACTIVE COLOR_RED -#define DLGC_BG_BUTTON_KEY_INACTIVE COLOR_WHITE -#define DLGC_HL_BUTTON_KEY_INACTIVE FALSE -#define DLGC_UL_BUTTON_KEY_INACTIVE FALSE -#define DLGC_RV_BUTTON_KEY_INACTIVE FALSE - -#define DLGC_FG_BUTTON_LABEL_ACTIVE COLOR_YELLOW -#define DLGC_BG_BUTTON_LABEL_ACTIVE COLOR_BLUE -#define DLGC_HL_BUTTON_LABEL_ACTIVE TRUE -#define DLGC_UL_BUTTON_LABEL_ACTIVE FALSE -#define DLGC_RV_BUTTON_LABEL_ACTIVE FALSE - -#define DLGC_FG_BUTTON_LABEL_INACTIVE COLOR_BLACK -#define DLGC_BG_BUTTON_LABEL_INACTIVE COLOR_WHITE -#define DLGC_HL_BUTTON_LABEL_INACTIVE TRUE -#define DLGC_UL_BUTTON_LABEL_INACTIVE FALSE -#define DLGC_RV_BUTTON_LABEL_INACTIVE FALSE - -#define DLGC_FG_FORM_ITEM_READONLY COLOR_CYAN -#define DLGC_BG_FORM_ITEM_READONLY COLOR_WHITE -#define DLGC_HL_FORM_ITEM_READONLY TRUE -#define DLGC_UL_FORM_ITEM_READONLY FALSE -#define DLGC_RV_FORM_ITEM_READONLY FALSE - -#define DLGC_FG_INPUTBOX COLOR_BLACK -#define DLGC_BG_INPUTBOX COLOR_WHITE -#define DLGC_HL_INPUTBOX FALSE -#define DLGC_UL_INPUTBOX FALSE -#define DLGC_RV_INPUTBOX FALSE - -#define DLGC_FG_INPUTBOX_BORDER COLOR_BLACK -#define DLGC_BG_INPUTBOX_BORDER COLOR_WHITE -#define DLGC_HL_INPUTBOX_BORDER FALSE -#define DLGC_UL_INPUTBOX_BORDER FALSE -#define DLGC_RV_INPUTBOX_BORDER FALSE - -#define DLGC_FG_INPUTBOX_BORDER2 DLGC_FG_INPUTBOX -#define DLGC_BG_INPUTBOX_BORDER2 DLGC_BG_INPUTBOX -#define DLGC_HL_INPUTBOX_BORDER2 DLGC_HL_INPUTBOX -#define DLGC_UL_INPUTBOX_BORDER2 FALSE -#define DLGC_RV_INPUTBOX_BORDER2 FALSE - -#define DLGC_FG_SEARCHBOX COLOR_BLACK -#define DLGC_BG_SEARCHBOX COLOR_WHITE -#define DLGC_HL_SEARCHBOX FALSE -#define DLGC_UL_SEARCHBOX FALSE -#define DLGC_RV_SEARCHBOX FALSE - -#define DLGC_FG_SEARCHBOX_TITLE COLOR_BLUE -#define DLGC_BG_SEARCHBOX_TITLE COLOR_WHITE -#define DLGC_HL_SEARCHBOX_TITLE TRUE -#define DLGC_UL_SEARCHBOX_TITLE FALSE -#define DLGC_RV_SEARCHBOX_TITLE FALSE - -#define DLGC_FG_SEARCHBOX_BORDER COLOR_WHITE -#define DLGC_BG_SEARCHBOX_BORDER COLOR_WHITE -#define DLGC_HL_SEARCHBOX_BORDER TRUE -#define DLGC_UL_SEARCHBOX_BORDER FALSE -#define DLGC_RV_SEARCHBOX_BORDER FALSE - -#define DLGC_FG_SEARCHBOX_BORDER2 DLGC_FG_SEARCHBOX -#define DLGC_BG_SEARCHBOX_BORDER2 DLGC_BG_SEARCHBOX -#define DLGC_HL_SEARCHBOX_BORDER2 DLGC_HL_SEARCHBOX -#define DLGC_UL_SEARCHBOX_BORDER2 FALSE -#define DLGC_RV_SEARCHBOX_BORDER2 FALSE - -#define DLGC_FG_POSITION_INDICATOR COLOR_BLUE -#define DLGC_BG_POSITION_INDICATOR COLOR_WHITE -#define DLGC_HL_POSITION_INDICATOR TRUE -#define DLGC_UL_POSITION_INDICATOR FALSE -#define DLGC_RV_POSITION_INDICATOR FALSE - -#define DLGC_FG_MENUBOX COLOR_BLACK -#define DLGC_BG_MENUBOX COLOR_WHITE -#define DLGC_HL_MENUBOX FALSE -#define DLGC_UL_MENUBOX FALSE -#define DLGC_RV_MENUBOX FALSE - -#define DLGC_FG_MENUBOX_BORDER COLOR_WHITE -#define DLGC_BG_MENUBOX_BORDER COLOR_WHITE -#define DLGC_HL_MENUBOX_BORDER TRUE -#define DLGC_UL_MENUBOX_BORDER FALSE -#define DLGC_RV_MENUBOX_BORDER FALSE - -#define DLGC_FG_MENUBOX_BORDER2 DLGC_FG_MENUBOX -#define DLGC_BG_MENUBOX_BORDER2 DLGC_BG_MENUBOX -#define DLGC_HL_MENUBOX_BORDER2 DLGC_HL_MENUBOX -#define DLGC_UL_MENUBOX_BORDER2 FALSE -#define DLGC_RV_MENUBOX_BORDER2 FALSE - -#define DLGC_FG_ITEM COLOR_BLACK -#define DLGC_BG_ITEM COLOR_WHITE -#define DLGC_HL_ITEM FALSE -#define DLGC_UL_ITEM FALSE -#define DLGC_RV_ITEM FALSE - -#define DLGC_FG_ITEM_SELECTED COLOR_WHITE -#define DLGC_BG_ITEM_SELECTED COLOR_BLUE -#define DLGC_HL_ITEM_SELECTED TRUE -#define DLGC_UL_ITEM_SELECTED FALSE -#define DLGC_RV_ITEM_SELECTED FALSE - -#define DLGC_FG_TAG COLOR_BLUE -#define DLGC_BG_TAG COLOR_WHITE -#define DLGC_HL_TAG TRUE -#define DLGC_UL_TAG FALSE -#define DLGC_RV_TAG FALSE - -#define DLGC_FG_TAG_SELECTED COLOR_YELLOW -#define DLGC_BG_TAG_SELECTED COLOR_BLUE -#define DLGC_HL_TAG_SELECTED TRUE -#define DLGC_UL_TAG_SELECTED FALSE -#define DLGC_RV_TAG_SELECTED FALSE - -#define DLGC_FG_TAG_KEY COLOR_RED -#define DLGC_BG_TAG_KEY COLOR_WHITE -#define DLGC_HL_TAG_KEY FALSE -#define DLGC_UL_TAG_KEY FALSE -#define DLGC_RV_TAG_KEY FALSE - -#define DLGC_FG_TAG_KEY_SELECTED COLOR_RED -#define DLGC_BG_TAG_KEY_SELECTED COLOR_BLUE -#define DLGC_HL_TAG_KEY_SELECTED TRUE -#define DLGC_UL_TAG_KEY_SELECTED FALSE -#define DLGC_RV_TAG_KEY_SELECTED FALSE - -#define DLGC_FG_CHECK COLOR_BLACK -#define DLGC_BG_CHECK COLOR_WHITE -#define DLGC_HL_CHECK FALSE -#define DLGC_UL_CHECK FALSE -#define DLGC_RV_CHECK FALSE - -#define DLGC_FG_CHECK_SELECTED COLOR_WHITE -#define DLGC_BG_CHECK_SELECTED COLOR_BLUE -#define DLGC_HL_CHECK_SELECTED TRUE -#define DLGC_UL_CHECK_SELECTED FALSE -#define DLGC_RV_CHECK_SELECTED FALSE - -#define DLGC_FG_UARROW COLOR_GREEN -#define DLGC_BG_UARROW COLOR_WHITE -#define DLGC_HL_UARROW TRUE -#define DLGC_UL_UARROW FALSE -#define DLGC_RV_UARROW FALSE - -#define DLGC_FG_DARROW COLOR_GREEN -#define DLGC_BG_DARROW COLOR_WHITE -#define DLGC_HL_DARROW TRUE -#define DLGC_UL_DARROW FALSE -#define DLGC_RV_DARROW FALSE - -#define DLGC_FG_ITEMHELP COLOR_WHITE -#define DLGC_BG_ITEMHELP COLOR_BLACK -#define DLGC_HL_ITEMHELP FALSE -#define DLGC_UL_ITEMHELP FALSE -#define DLGC_RV_ITEMHELP FALSE - -#define DLGC_FG_FORM_ACTIVE_TEXT COLOR_WHITE -#define DLGC_BG_FORM_ACTIVE_TEXT COLOR_BLUE -#define DLGC_HL_FORM_ACTIVE_TEXT TRUE -#define DLGC_UL_FORM_ACTIVE_TEXT FALSE -#define DLGC_RV_FORM_ACTIVE_TEXT FALSE - -#define DLGC_FG_FORM_TEXT COLOR_WHITE -#define DLGC_BG_FORM_TEXT COLOR_CYAN -#define DLGC_HL_FORM_TEXT TRUE -#define DLGC_UL_FORM_TEXT FALSE -#define DLGC_RV_FORM_TEXT FALSE - -#define DLGC_FG_GAUGE COLOR_BLUE -#define DLGC_BG_GAUGE COLOR_WHITE -#define DLGC_HL_GAUGE TRUE -#define DLGC_UL_GAUGE FALSE -#define DLGC_RV_GAUGE FALSE - -/* End of default color definitions */ - -/* - * Global variables - */ - -typedef struct { - const char *name; - int value; -} color_names_st; - -#endif /* COLORS_H_included */ diff --git a/contrib/dialog/dlg_internals.h b/contrib/dialog/dlg_internals.h deleted file mode 100644 index 4c6fb9e09615..000000000000 --- a/contrib/dialog/dlg_internals.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * $Id: dlg_internals.h,v 1.3 2019/08/08 21:29:41 tom Exp $ - * - * dlg_internals.h -- runtime binding support for dialog - * - * Copyright 2019 Thomas E. Dickey - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License, version 2.1 - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this program; if not, write to - * Free Software Foundation, Inc. - * 51 Franklin St., Fifth Floor - * Boston, MA 02110, USA. - */ - -#ifndef DLG_INTERNALS_H_included -#define DLG_INTERNALS_H_included 1 - -#include <dialog.h> - -#define TableSize(name) (sizeof(name)/sizeof((name)[0])) - -/* *INDENT-OFF* */ -#define resizeit(name, NAME) \ - name = ((NAME >= old_##NAME) \ - ? (NAME - (old_##NAME - old_##name)) \ - : old_##name) - -#define AddLastKey() \ - if (dialog_vars.last_key) { \ - if (dlg_need_separator()) \ - dlg_add_separator(); \ - dlg_add_last_key(-1); \ - } - - -/* *INDENT-ON* */ - -#endif /* DLG_INTERNALS_H_included */ diff --git a/contrib/dialog/dlg_keys.c b/contrib/dialog/dlg_keys.c deleted file mode 100644 index e2706568fc61..000000000000 --- a/contrib/dialog/dlg_keys.c +++ /dev/null @@ -1,973 +0,0 @@ -/* - * $Id: dlg_keys.c,v 1.58 2020/11/26 17:11:56 Glenn.Herteg Exp $ - * - * dlg_keys.c -- runtime binding support for dialog - * - * Copyright 2006-2019,2020 Thomas E. Dickey - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License, version 2.1 - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this program; if not, write to - * Free Software Foundation, Inc. - * 51 Franklin St., Fifth Floor - * Boston, MA 02110, USA. - */ - -#include <dialog.h> -#include <dlg_keys.h> -#include <dlg_internals.h> - -#define LIST_BINDINGS struct _list_bindings - -#define CHR_BACKSLASH '\\' -#define IsOctal(ch) ((ch) >= '0' && (ch) <= '7') - -LIST_BINDINGS { - LIST_BINDINGS *link; - WINDOW *win; /* window on which widget gets input */ - const char *name; /* widget name */ - bool buttons; /* true only for dlg_register_buttons() */ - DLG_KEYS_BINDING *binding; /* list of bindings */ -}; - -#define WILDNAME "*" -static LIST_BINDINGS *all_bindings; -static const DLG_KEYS_BINDING end_keys_binding = END_KEYS_BINDING; - -/* - * For a given named widget's window, associate a binding table. - */ -void -dlg_register_window(WINDOW *win, const char *name, DLG_KEYS_BINDING * binding) -{ - LIST_BINDINGS *p, *q; - - for (p = all_bindings, q = 0; p != 0; q = p, p = p->link) { - if (p->win == win && !strcmp(p->name, name)) { - p->binding = binding; - return; - } - } - /* add built-in bindings at the end of the list (see compare_bindings). */ - if ((p = dlg_calloc(LIST_BINDINGS, 1)) != 0) { - p->win = win; - p->name = name; - p->binding = binding; - if (q != 0) { - q->link = p; - } else { - all_bindings = p; - } - } -#if defined(HAVE_DLG_TRACE) && defined(HAVE_RC_FILE) - /* - * Trace the binding information assigned to this window. For most widgets - * there is only one binding table. forms have two, so the trace will be - * longer. Since compiled-in bindings are only visible when the widget is - * registered, there is no other way to see what bindings are available, - * than by running dialog and tracing it. - */ - DLG_TRACE(("# dlg_register_window %s\n", name)); - dlg_dump_keys(dialog_state.trace_output); - dlg_dump_window_keys(dialog_state.trace_output, win); - DLG_TRACE(("# ...done dlg_register_window %s\n", name)); -#endif -} - -/* - * Unlike dlg_lookup_key(), this looks for either widget-builtin or rc-file - * definitions, depending on whether 'win' is null. - */ -static int -key_is_bound(WINDOW *win, const char *name, int curses_key, int function_key) -{ - LIST_BINDINGS *p; - - for (p = all_bindings; p != 0; p = p->link) { - if (p->win == win && !dlg_strcmp(p->name, name)) { - int n; - for (n = 0; p->binding[n].is_function_key >= 0; ++n) { - if (p->binding[n].curses_key == curses_key - && p->binding[n].is_function_key == function_key) { - return TRUE; - } - } - } - } - return FALSE; -} - -/* - * Call this function after dlg_register_window(), for the list of button - * labels associated with the widget. - * - * Ensure that dlg_lookup_key() will not accidentally translate a key that - * we would like to use for a button abbreviation to some other key, e.g., - * h/j/k/l for navigation into a cursor key. Do this by binding the key - * to itself. - * - * See dlg_char_to_button(). - */ -void -dlg_register_buttons(WINDOW *win, const char *name, const char **buttons) -{ - int n; - LIST_BINDINGS *p; - DLG_KEYS_BINDING *q; - - if (buttons == 0) - return; - - for (n = 0; buttons[n] != 0; ++n) { - int curses_key = dlg_button_to_char(buttons[n]); - - /* ignore binding if there is no key to bind */ - if (curses_key < 0) - continue; - - /* ignore multibyte characters */ - if (curses_key >= KEY_MIN) - continue; - - /* if it is not bound in the widget, skip it (no conflicts) */ - if (!key_is_bound(win, name, curses_key, FALSE)) - continue; - -#ifdef HAVE_RC_FILE - /* if it is bound in the rc-file, skip it */ - if (key_is_bound(0, name, curses_key, FALSE)) - continue; -#endif - - if ((p = dlg_calloc(LIST_BINDINGS, 1)) != 0) { - if ((q = dlg_calloc(DLG_KEYS_BINDING, 2)) != 0) { - q[0].is_function_key = 0; - q[0].curses_key = curses_key; - q[0].dialog_key = curses_key; - q[1] = end_keys_binding; - - p->win = win; - p->name = name; - p->buttons = TRUE; - p->binding = q; - - /* put these at the beginning, to override the widget's table */ - p->link = all_bindings; - all_bindings = p; - } else { - free(p); - } - } - } -} - -/* - * Remove the bindings for a given window. - */ -void -dlg_unregister_window(WINDOW *win) -{ - LIST_BINDINGS *p, *q; - - for (p = all_bindings, q = 0; p != 0; p = p->link) { - if (p->win == win) { - if (q != 0) { - q->link = p->link; - } else { - all_bindings = p->link; - } - /* the user-defined and buttons-bindings all are length=1 */ - if (p->binding[1].is_function_key < 0) - free(p->binding); - free(p); - dlg_unregister_window(win); - break; - } - q = p; - } -} - -/* - * Call this after wgetch(), using the same window pointer and passing - * the curses-key. - * - * If there is no binding associated with the widget, it simply returns - * the given curses-key. - * - * Parameters: - * win is the window on which the wgetch() was done. - * curses_key is the value returned by wgetch(). - * fkey in/out (on input, it is nonzero if curses_key is a function key, - * and on output, it is nonzero if the result is a function key). - */ -int -dlg_lookup_key(WINDOW *win, int curses_key, int *fkey) -{ - LIST_BINDINGS *p; - DLG_KEYS_BINDING *q; - - /* - * Ignore mouse clicks, since they are already encoded properly. - */ -#ifdef KEY_MOUSE - if (*fkey != 0 && curses_key == KEY_MOUSE) { - ; - } else -#endif - /* - * Ignore resize events, since they are already encoded properly. - */ -#ifdef KEY_RESIZE - if (*fkey != 0 && curses_key == KEY_RESIZE) { - ; - } else -#endif - if (*fkey == 0 || curses_key < KEY_MAX) { - const char *name = WILDNAME; - if (win != 0) { - for (p = all_bindings; p != 0; p = p->link) { - if (p->win == win) { - name = p->name; - break; - } - } - } - for (p = all_bindings; p != 0; p = p->link) { - if (p->win == win || - (p->win == 0 && - (!strcmp(p->name, name) || !strcmp(p->name, WILDNAME)))) { - int function_key = (*fkey != 0); - for (q = p->binding; q->is_function_key >= 0; ++q) { - if (p->buttons - && !function_key - && q->curses_key == (int) dlg_toupper(curses_key)) { - *fkey = 0; - return q->dialog_key; - } - if (q->curses_key == curses_key - && q->is_function_key == function_key) { - *fkey = q->dialog_key; - return *fkey; - } - } - } - } - } - return curses_key; -} - -/* - * Test a dialog internal keycode to see if it corresponds to one of the push - * buttons on the widget such as "OK". - * - * This is only useful if there are user-defined key bindings, since there are - * no built-in bindings that map directly to DLGK_OK, etc. - * - * See also dlg_ok_buttoncode(). - */ -int -dlg_result_key(int dialog_key, int fkey GCC_UNUSED, int *resultp) -{ - int done = FALSE; - - DLG_TRACE(("# dlg_result_key(dialog_key=%d, fkey=%d)\n", dialog_key, fkey)); -#ifdef KEY_RESIZE - if (dialog_state.had_resize) { - if (dialog_key == ERR) { - dialog_key = 0; - } else { - dialog_state.had_resize = FALSE; - } - } else if (fkey && dialog_key == KEY_RESIZE) { - dialog_state.had_resize = TRUE; - } -#endif -#ifdef HAVE_RC_FILE - if (fkey) { - switch ((DLG_KEYS_ENUM) dialog_key) { - case DLGK_OK: - if (!dialog_vars.nook) { - *resultp = DLG_EXIT_OK; - done = TRUE; - } - break; - case DLGK_CANCEL: - if (!dialog_vars.nocancel) { - *resultp = DLG_EXIT_CANCEL; - done = TRUE; - } - break; - case DLGK_EXTRA: - if (dialog_vars.extra_button) { - *resultp = DLG_EXIT_EXTRA; - done = TRUE; - } - break; - case DLGK_HELP: - if (dialog_vars.help_button) { - *resultp = DLG_EXIT_HELP; - done = TRUE; - } - break; - case DLGK_ESC: - *resultp = DLG_EXIT_ESC; - done = TRUE; - break; - default: - break; - } - } else -#endif - if (dialog_key == ESC) { - *resultp = DLG_EXIT_ESC; - done = TRUE; - } else if (dialog_key == ERR) { - *resultp = DLG_EXIT_ERROR; - done = TRUE; - } - - return done; -} - -/* - * If a key was bound to one of the button-codes in dlg_result_key(), fake - * a button-value and an "Enter" key to cause the calling widget to return - * the corresponding status. - * - * See dlg_ok_buttoncode(), which maps settings for ok/extra/help and button - * number into exit-code. - */ -int -dlg_button_key(int exit_code, int *button, int *dialog_key, int *fkey) -{ - int changed = FALSE; - switch (exit_code) { - case DLG_EXIT_OK: - if (!dialog_vars.nook) { - *button = 0; - changed = TRUE; - } - break; - case DLG_EXIT_EXTRA: - if (dialog_vars.extra_button) { - *button = dialog_vars.nook ? 0 : 1; - changed = TRUE; - } - break; - case DLG_EXIT_CANCEL: - if (!dialog_vars.nocancel) { - *button = dialog_vars.nook ? 1 : 2; - changed = TRUE; - } - break; - case DLG_EXIT_HELP: - if (dialog_vars.help_button) { - int cancel = dialog_vars.nocancel ? 0 : 1; - int extra = dialog_vars.extra_button ? 1 : 0; - int okay = dialog_vars.nook ? 0 : 1; - *button = okay + extra + cancel; - changed = TRUE; - } - break; - } - if (changed) { - DLG_TRACE(("# dlg_button_key(%d:%s) button %d\n", - exit_code, dlg_exitcode2s(exit_code), *button)); - *dialog_key = *fkey = DLGK_ENTER; - } - return changed; -} - -int -dlg_ok_button_key(int exit_code, int *button, int *dialog_key, int *fkey) -{ - int result; - DIALOG_VARS save; - - dlg_save_vars(&save); - dialog_vars.nocancel = TRUE; - - result = dlg_button_key(exit_code, button, dialog_key, fkey); - - dlg_restore_vars(&save); - return result; -} - -#ifdef HAVE_RC_FILE -typedef struct { - const char *name; - int code; -} CODENAME; - -#define ASCII_NAME(name,code) { #name, code } -#define CURSES_NAME(upper) { #upper, KEY_ ## upper } -#define COUNT_CURSES TableSize(curses_names) -static const CODENAME curses_names[] = -{ - ASCII_NAME(ESC, '\033'), - ASCII_NAME(CR, '\r'), - ASCII_NAME(LF, '\n'), - ASCII_NAME(FF, '\f'), - ASCII_NAME(TAB, '\t'), - ASCII_NAME(DEL, '\177'), - - CURSES_NAME(DOWN), - CURSES_NAME(UP), - CURSES_NAME(LEFT), - CURSES_NAME(RIGHT), - CURSES_NAME(HOME), - CURSES_NAME(BACKSPACE), - CURSES_NAME(F0), - CURSES_NAME(DL), - CURSES_NAME(IL), - CURSES_NAME(DC), - CURSES_NAME(IC), - CURSES_NAME(EIC), - CURSES_NAME(CLEAR), - CURSES_NAME(EOS), - CURSES_NAME(EOL), - CURSES_NAME(SF), - CURSES_NAME(SR), - CURSES_NAME(NPAGE), - CURSES_NAME(PPAGE), - CURSES_NAME(STAB), - CURSES_NAME(CTAB), - CURSES_NAME(CATAB), - CURSES_NAME(ENTER), - CURSES_NAME(PRINT), - CURSES_NAME(LL), - CURSES_NAME(A1), - CURSES_NAME(A3), - CURSES_NAME(B2), - CURSES_NAME(C1), - CURSES_NAME(C3), - CURSES_NAME(BTAB), - CURSES_NAME(BEG), - CURSES_NAME(CANCEL), - CURSES_NAME(CLOSE), - CURSES_NAME(COMMAND), - CURSES_NAME(COPY), - CURSES_NAME(CREATE), - CURSES_NAME(END), - CURSES_NAME(EXIT), - CURSES_NAME(FIND), - CURSES_NAME(HELP), - CURSES_NAME(MARK), - CURSES_NAME(MESSAGE), - CURSES_NAME(MOVE), - CURSES_NAME(NEXT), - CURSES_NAME(OPEN), - CURSES_NAME(OPTIONS), - CURSES_NAME(PREVIOUS), - CURSES_NAME(REDO), - CURSES_NAME(REFERENCE), - CURSES_NAME(REFRESH), - CURSES_NAME(REPLACE), - CURSES_NAME(RESTART), - CURSES_NAME(RESUME), - CURSES_NAME(SAVE), - CURSES_NAME(SBEG), - CURSES_NAME(SCANCEL), - CURSES_NAME(SCOMMAND), - CURSES_NAME(SCOPY), - CURSES_NAME(SCREATE), - CURSES_NAME(SDC), - CURSES_NAME(SDL), - CURSES_NAME(SELECT), - CURSES_NAME(SEND), - CURSES_NAME(SEOL), - CURSES_NAME(SEXIT), - CURSES_NAME(SFIND), - CURSES_NAME(SHELP), - CURSES_NAME(SHOME), - CURSES_NAME(SIC), - CURSES_NAME(SLEFT), - CURSES_NAME(SMESSAGE), - CURSES_NAME(SMOVE), - CURSES_NAME(SNEXT), - CURSES_NAME(SOPTIONS), - CURSES_NAME(SPREVIOUS), - CURSES_NAME(SPRINT), - CURSES_NAME(SREDO), - CURSES_NAME(SREPLACE), - CURSES_NAME(SRIGHT), - CURSES_NAME(SRSUME), - CURSES_NAME(SSAVE), - CURSES_NAME(SSUSPEND), - CURSES_NAME(SUNDO), - CURSES_NAME(SUSPEND), - CURSES_NAME(UNDO), -}; - -#define DIALOG_NAME(upper) { #upper, DLGK_ ## upper } -#define COUNT_DIALOG TableSize(dialog_names) -static const CODENAME dialog_names[] = -{ - DIALOG_NAME(OK), - DIALOG_NAME(CANCEL), - DIALOG_NAME(EXTRA), - DIALOG_NAME(HELP), - DIALOG_NAME(ESC), - DIALOG_NAME(PAGE_FIRST), - DIALOG_NAME(PAGE_LAST), - DIALOG_NAME(PAGE_NEXT), - DIALOG_NAME(PAGE_PREV), - DIALOG_NAME(ITEM_FIRST), - DIALOG_NAME(ITEM_LAST), - DIALOG_NAME(ITEM_NEXT), - DIALOG_NAME(ITEM_PREV), - DIALOG_NAME(FIELD_FIRST), - DIALOG_NAME(FIELD_LAST), - DIALOG_NAME(FIELD_NEXT), - DIALOG_NAME(FIELD_PREV), - DIALOG_NAME(FORM_FIRST), - DIALOG_NAME(FORM_LAST), - DIALOG_NAME(FORM_NEXT), - DIALOG_NAME(FORM_PREV), - DIALOG_NAME(GRID_UP), - DIALOG_NAME(GRID_DOWN), - DIALOG_NAME(GRID_LEFT), - DIALOG_NAME(GRID_RIGHT), - DIALOG_NAME(DELETE_LEFT), - DIALOG_NAME(DELETE_RIGHT), - DIALOG_NAME(DELETE_ALL), - DIALOG_NAME(ENTER), - DIALOG_NAME(BEGIN), - DIALOG_NAME(FINAL), - DIALOG_NAME(SELECT), - DIALOG_NAME(HELPFILE), - DIALOG_NAME(TRACE), - DIALOG_NAME(TOGGLE), - DIALOG_NAME(LEAVE) -}; - -#define MAP2(letter,actual) { letter, actual } - -static const struct { - int letter; - int actual; -} escaped_letters[] = { - - MAP2('a', DLG_CTRL('G')), - MAP2('b', DLG_CTRL('H')), - MAP2('f', DLG_CTRL('L')), - MAP2('n', DLG_CTRL('J')), - MAP2('r', DLG_CTRL('M')), - MAP2('s', CHR_SPACE), - MAP2('t', DLG_CTRL('I')), - MAP2('\\', '\\'), -}; - -#undef MAP2 - -static char * -skip_white(char *s) -{ - while (*s != '\0' && isspace(UCH(*s))) - ++s; - return s; -} - -static char * -skip_black(char *s) -{ - while (*s != '\0' && !isspace(UCH(*s))) - ++s; - return s; -} - -/* - * Find a user-defined binding, given the curses key code. - */ -static DLG_KEYS_BINDING * -find_binding(char *widget, int curses_key) -{ - LIST_BINDINGS *p; - DLG_KEYS_BINDING *result = 0; - - for (p = all_bindings; p != 0; p = p->link) { - if (p->win == 0 - && !dlg_strcmp(p->name, widget) - && p->binding->curses_key == curses_key) { - result = p->binding; - break; - } - } - return result; -} - -/* - * Built-in bindings have a nonzero "win" member, and the associated binding - * table can have more than one entry. We keep those last, since lookups will - * find the user-defined bindings first and use those. - * - * Sort "*" (all-widgets) entries past named widgets, since those are less - * specific. - */ -static int -compare_bindings(LIST_BINDINGS * a, LIST_BINDINGS * b) -{ - int result = 0; - if (a->win == b->win) { - if (!strcmp(a->name, b->name)) { - result = a->binding[0].curses_key - b->binding[0].curses_key; - } else if (!strcmp(b->name, WILDNAME)) { - result = -1; - } else if (!strcmp(a->name, WILDNAME)) { - result = 1; - } else { - result = dlg_strcmp(a->name, b->name); - } - } else if (b->win) { - result = -1; - } else { - result = 1; - } - return result; -} - -/* - * Find a user-defined binding, given the curses key code. If it does not - * exist, create a new one, inserting it into the linked list, keeping it - * sorted to simplify lookups for user-defined bindings that can override - * the built-in bindings. - */ -static DLG_KEYS_BINDING * -make_binding(char *widget, int curses_key, int is_function, int dialog_key) -{ - LIST_BINDINGS *entry = 0; - DLG_KEYS_BINDING *data = 0; - char *name; - DLG_KEYS_BINDING *result = find_binding(widget, curses_key); - - if (result == 0 - && (entry = dlg_calloc(LIST_BINDINGS, 1)) != 0 - && (data = dlg_calloc(DLG_KEYS_BINDING, 2)) != 0 - && (name = dlg_strclone(widget)) != 0) { - LIST_BINDINGS *p, *q; - - entry->name = name; - entry->binding = data; - - data[0].is_function_key = is_function; - data[0].curses_key = curses_key; - data[0].dialog_key = dialog_key; - - data[1] = end_keys_binding; - - for (p = all_bindings, q = 0; p != 0; q = p, p = p->link) { - if (compare_bindings(entry, p) < 0) { - break; - } - } - if (q != 0) { - q->link = entry; - } else { - all_bindings = entry; - } - if (p != 0) { - entry->link = p; - } - result = data; - } else if (entry != 0) { - free(entry); - if (data) - free(data); - } - - return result; -} - -static int -decode_escaped(char **string) -{ - int result = 0; - - if (IsOctal(**string)) { - int limit = 3; - while (limit-- > 0 && IsOctal(**string)) { - int ch = (**string); - *string += 1; - result = (result << 3) | (ch - '0'); - } - } else { - unsigned n; - - for (n = 0; n < TableSize(escaped_letters); ++n) { - if (**string == escaped_letters[n].letter) { - *string += 1; - result = escaped_letters[n].actual; - break; - } - } - } - return result; -} - -static char * -encode_escaped(int value) -{ - static char result[80]; - unsigned n; - bool found = FALSE; - for (n = 0; n < TableSize(escaped_letters); ++n) { - if (value == escaped_letters[n].actual) { - found = TRUE; - sprintf(result, "%c", escaped_letters[n].letter); - break; - } - } - if (!found) { - sprintf(result, "%03o", value & 0xff); - } - return result; -} - -/* - * Parse the parameters of the "bindkey" configuration-file entry. This - * expects widget name which may be "*", followed by curses key definition and - * then dialog key definition. - * - * The curses key "should" be one of the names (ignoring case) from - * curses_names[], but may also be a single control character (prefix "^" or - * "~" depending on whether it is C0 or C1), or an escaped single character. - * Binding a printable character with dialog is possible but not useful. - * - * The dialog key must be one of the names from dialog_names[]. - */ -int -dlg_parse_bindkey(char *params) -{ - char *p = skip_white(params); - int result = FALSE; - char *widget; - int curses_key; - int dialog_key; - - curses_key = -1; - dialog_key = -1; - widget = p; - - p = skip_black(p); - if (p != widget && *p != '\0') { - char *q; - unsigned xx; - bool escaped = FALSE; - int modified = 0; - int is_function = FALSE; - - *p++ = '\0'; - p = skip_white(p); - q = p; - while (*p != '\0' && curses_key < 0) { - if (escaped) { - escaped = FALSE; - curses_key = decode_escaped(&p); - } else if (*p == CHR_BACKSLASH) { - escaped = TRUE; - } else if (modified) { - if (*p == '?') { - curses_key = ((modified == '^') - ? 127 - : 255); - } else { - curses_key = ((modified == '^') - ? (*p & 0x1f) - : ((*p & 0x1f) | 0x80)); - } - } else if (*p == '^') { - modified = *p; - } else if (*p == '~') { - modified = *p; - } else if (isspace(UCH(*p))) { - break; - } - ++p; - } - if (!isspace(UCH(*p))) { - ; - } else { - *p++ = '\0'; - if (curses_key < 0) { - char fprefix[2]; - char check[2]; - int keynumber; - if (sscanf(q, "%1[Ff]%d%c", fprefix, &keynumber, check) == 2) { - curses_key = KEY_F(keynumber); - is_function = TRUE; - } else { - for (xx = 0; xx < COUNT_CURSES; ++xx) { - if (!dlg_strcmp(curses_names[xx].name, q)) { - curses_key = curses_names[xx].code; - is_function = (curses_key >= KEY_MIN); - break; - } - } - } - } - } - q = skip_white(p); - p = skip_black(q); - if (p != q) { - for (xx = 0; xx < COUNT_DIALOG; ++xx) { - if (!dlg_strcmp(dialog_names[xx].name, q)) { - dialog_key = dialog_names[xx].code; - break; - } - } - } - if (*widget != '\0' - && curses_key >= 0 - && dialog_key >= 0 - && make_binding(widget, curses_key, is_function, dialog_key) != 0) { - result = TRUE; - } - } - return result; -} - -static void -dump_curses_key(FILE *fp, int curses_key) -{ - if (curses_key > KEY_MIN) { - unsigned n; - bool found = FALSE; - for (n = 0; n < COUNT_CURSES; ++n) { - if (curses_names[n].code == curses_key) { - fprintf(fp, "%s", curses_names[n].name); - found = TRUE; - break; - } - } - if (!found) { -#ifdef KEY_MOUSE - if (is_DLGK_MOUSE(curses_key)) { - fprintf(fp, "MOUSE-"); - dump_curses_key(fp, curses_key - M_EVENT); - } else -#endif - if (curses_key >= KEY_F(0)) { - fprintf(fp, "F%d", curses_key - KEY_F(0)); - } else { - fprintf(fp, "curses%d", curses_key); - } - } - } else if (curses_key >= 0 && curses_key < 32) { - fprintf(fp, "^%c", curses_key + 64); - } else if (curses_key == 127) { - fprintf(fp, "^?"); - } else if (curses_key >= 128 && curses_key < 160) { - fprintf(fp, "~%c", curses_key - 64); - } else if (curses_key == 255) { - fprintf(fp, "~?"); - } else if (curses_key > 32 && - curses_key < 127 && - curses_key != CHR_BACKSLASH) { - fprintf(fp, "%c", curses_key); - } else { - fprintf(fp, "%c%s", CHR_BACKSLASH, encode_escaped(curses_key)); - } -} - -static void -dump_dialog_key(FILE *fp, int dialog_key) -{ - unsigned n; - bool found = FALSE; - for (n = 0; n < COUNT_DIALOG; ++n) { - if (dialog_names[n].code == dialog_key) { - fputs(dialog_names[n].name, fp); - found = TRUE; - break; - } - } - if (!found) { - fprintf(fp, "dialog%d", dialog_key); - } -} - -static void -dump_one_binding(FILE *fp, - WINDOW *win, - const char *widget, - DLG_KEYS_BINDING * binding) -{ - int actual; - int fkey = (binding->curses_key > 255); - - fprintf(fp, "bindkey %s ", widget); - dump_curses_key(fp, binding->curses_key); - fputc(' ', fp); - dump_dialog_key(fp, binding->dialog_key); - actual = dlg_lookup_key(win, binding->curses_key, &fkey); -#ifdef KEY_MOUSE - if (is_DLGK_MOUSE(binding->curses_key) && is_DLGK_MOUSE(actual)) { - ; /* EMPTY */ - } else -#endif - if (actual != binding->dialog_key) { - fprintf(fp, "\t# overridden by "); - dump_dialog_key(fp, actual); - } - fputc('\n', fp); -} - -/* - * Dump bindings for the given window. If it is a null, then this dumps the - * initial bindings which were loaded from the rc-file that are used as - * overall defaults. - */ -void -dlg_dump_window_keys(FILE *fp, WINDOW *win) -{ - if (fp != 0) { - LIST_BINDINGS *p; - DLG_KEYS_BINDING *q; - const char *last = ""; - - for (p = all_bindings; p != 0; p = p->link) { - if (p->win == win) { - if (dlg_strcmp(last, p->name)) { - fprintf(fp, "# key bindings for %s widgets%s\n", - !strcmp(p->name, WILDNAME) ? "all" : p->name, - win == 0 ? " (user-defined)" : ""); - last = p->name; - } - for (q = p->binding; q->is_function_key >= 0; ++q) { - dump_one_binding(fp, win, p->name, q); - } - } - } - } -} - -/* - * Dump all of the bindings which are not specific to a given widget, i.e., - * the "win" member is null. - */ -void -dlg_dump_keys(FILE *fp) -{ - if (fp != 0) { - LIST_BINDINGS *p; - unsigned count = 0; - - for (p = all_bindings; p != 0; p = p->link) { - if (p->win == 0) { - ++count; - } - } - if (count != 0) { - dlg_dump_window_keys(fp, 0); - } - } -} -#endif /* HAVE_RC_FILE */ diff --git a/contrib/dialog/dlg_keys.h b/contrib/dialog/dlg_keys.h deleted file mode 100644 index 1179b0e99ecc..000000000000 --- a/contrib/dialog/dlg_keys.h +++ /dev/null @@ -1,182 +0,0 @@ -/* - * $Id: dlg_keys.h,v 1.39 2020/11/22 23:19:24 tom Exp $ - * - * dlg_keys.h -- runtime binding support for dialog - * - * Copyright 2005-2019,2020 Thomas E. Dickey - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License, version 2.1 - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this program; if not, write to - * Free Software Foundation, Inc. - * 51 Franklin St., Fifth Floor - * Boston, MA 02110, USA. - */ - -#ifndef DLG_KEYS_H_included -#define DLG_KEYS_H_included 1 -/* *INDENT-OFF* */ - -#include <dialog.h> - -#ifdef USE_WIDE_CURSES -#include <wctype.h> -#define dlg_toupper(ch) towupper((wint_t)ch) -#define dlg_isupper(ch) iswupper((wint_t)ch) -#else -#define dlg_toupper(ch) (((ch) > 0 && (ch) <= 255) ? toupper(ch) : (ch)) -#define dlg_isupper(ch) (isalpha(ch) && isupper(ch)) -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -typedef struct { - int is_function_key; - int curses_key; - int dialog_key; -} DLG_KEYS_BINDING; - -#define DLG_KEYS_DATA(dialog, curses) { (curses) >= KEY_MIN, curses, dialog } - -#define END_KEYS_BINDING { -1, 0, 0 } - -/* - * Define dialog's internal function-keys past the range used by curses. - */ -typedef enum { - DLGK_MIN = KEY_MAX + 1, - /* predefined buttons */ - DLGK_OK, - DLGK_CANCEL, - DLGK_EXTRA, - DLGK_HELP, - DLGK_ESC, - /* moving from screen to screen (pages) */ - DLGK_PAGE_FIRST, - DLGK_PAGE_LAST, - DLGK_PAGE_NEXT, - DLGK_PAGE_PREV, - /* moving within a list */ - DLGK_ITEM_FIRST, - DLGK_ITEM_LAST, - DLGK_ITEM_NEXT, - DLGK_ITEM_PREV, - /* moving from field to field (or buttons) */ - DLGK_FIELD_FIRST, - DLGK_FIELD_LAST, - DLGK_FIELD_NEXT, - DLGK_FIELD_PREV, - /* moving from form-field to form-field (or buttons) */ - DLGK_FORM_FIRST, - DLGK_FORM_LAST, - DLGK_FORM_NEXT, - DLGK_FORM_PREV, - /* moving within a grid */ - DLGK_GRID_UP, - DLGK_GRID_DOWN, - DLGK_GRID_LEFT, - DLGK_GRID_RIGHT, - /* delete */ - DLGK_DELETE_LEFT, - DLGK_DELETE_RIGHT, - DLGK_DELETE_ALL, - /* special */ - DLGK_ENTER, - DLGK_BEGIN, - DLGK_FINAL, - DLGK_SELECT, - DLGK_HELPFILE, - DLGK_TRACE, - DLGK_TOGGLE, - DLGK_LEAVE -} DLG_KEYS_ENUM; - -#define is_DLGK_MOUSE(code) ((code) >= M_EVENT) -#define DLGK_MOUSE(code) ((code) + M_EVENT) - -#define HELPKEY_BINDINGS \ - DLG_KEYS_DATA( DLGK_HELPFILE, CHR_HELP ), \ - DLG_KEYS_DATA( DLGK_HELPFILE, KEY_F(1) ), \ - DLG_KEYS_DATA( DLGK_HELPFILE, KEY_HELP ) - -#define ENTERKEY_BINDINGS \ - DLG_KEYS_DATA( DLGK_ENTER, '\n' ), \ - DLG_KEYS_DATA( DLGK_ENTER, '\r' ), \ - DLG_KEYS_DATA( DLGK_ENTER, KEY_ENTER ), \ - DLG_KEYS_DATA( DLGK_LEAVE, CHR_LEAVE ) - -/* ^U == 21 */ -#define INPUTSTR_BINDINGS \ - DLG_KEYS_DATA( DLGK_BEGIN, KEY_HOME ), \ - DLG_KEYS_DATA( DLGK_DELETE_ALL, CHR_KILL ), \ - DLG_KEYS_DATA( DLGK_DELETE_LEFT, CHR_BACKSPACE ), \ - DLG_KEYS_DATA( DLGK_DELETE_LEFT, KEY_BACKSPACE ), \ - DLG_KEYS_DATA( DLGK_DELETE_RIGHT, CHR_DELETE ), \ - DLG_KEYS_DATA( DLGK_DELETE_RIGHT, KEY_DC ), \ - DLG_KEYS_DATA( DLGK_FINAL, KEY_END ), \ - DLG_KEYS_DATA( DLGK_GRID_LEFT, KEY_LEFT ), \ - DLG_KEYS_DATA( DLGK_GRID_RIGHT, KEY_RIGHT ) - -#define SCROLL_FKEY_BINDINGS \ - DLG_KEYS_DATA( DLGK_GRID_DOWN, KEY_DOWN ), \ - DLG_KEYS_DATA( DLGK_GRID_UP, KEY_UP ), \ - DLG_KEYS_DATA( DLGK_PAGE_FIRST, KEY_HOME ), \ - DLG_KEYS_DATA( DLGK_PAGE_LAST, KEY_END ), \ - DLG_KEYS_DATA( DLGK_PAGE_NEXT, KEY_NPAGE ), \ - DLG_KEYS_DATA( DLGK_PAGE_PREV, KEY_PPAGE ) - -#define SCROLLKEY_BINDINGS \ - SCROLL_FKEY_BINDINGS, \ - DLG_KEYS_DATA( DLGK_GRID_DOWN, 'J' ), \ - DLG_KEYS_DATA( DLGK_GRID_DOWN, 'j' ), \ - DLG_KEYS_DATA( DLGK_GRID_UP, 'K' ), \ - DLG_KEYS_DATA( DLGK_GRID_UP, 'k' ), \ - DLG_KEYS_DATA( DLGK_PAGE_FIRST, 'g' ), \ - DLG_KEYS_DATA( DLGK_PAGE_LAST, 'G' ), \ - DLG_KEYS_DATA( DLGK_PAGE_NEXT, 'F' ), \ - DLG_KEYS_DATA( DLGK_PAGE_NEXT, 'f' ), \ - DLG_KEYS_DATA( DLGK_PAGE_PREV, 'B' ), \ - DLG_KEYS_DATA( DLGK_PAGE_PREV, 'b' ) - -#define TRAVERSE_BINDINGS \ - DLG_KEYS_DATA( DLGK_ENTER, CHR_SPACE ), \ - DLG_KEYS_DATA( DLGK_FIELD_NEXT, KEY_DOWN ), \ - DLG_KEYS_DATA( DLGK_FIELD_NEXT, KEY_RIGHT ), \ - DLG_KEYS_DATA( DLGK_FIELD_NEXT, TAB ), \ - DLG_KEYS_DATA( DLGK_FIELD_PREV, KEY_UP ), \ - DLG_KEYS_DATA( DLGK_FIELD_PREV, KEY_BTAB ), \ - DLG_KEYS_DATA( DLGK_FIELD_PREV, KEY_LEFT ) - -#define TOGGLEKEY_BINDINGS \ - DLG_KEYS_DATA( DLGK_TOGGLE, CHR_SPACE ) - -extern int dlg_button_key(int /*exit_code*/, int * /*button*/, int * /*dialog_key*/, int * /*fkey*/); -extern int dlg_lookup_key(WINDOW * /*win*/, int /*curses_key*/, int * /*dialog_key*/); -extern int dlg_ok_button_key(int /*exit_code*/, int * /*button*/, int * /*dialog_key*/, int * /*fkey*/); -extern int dlg_result_key(int /*dialog_key*/, int /*fkey*/, int * /*resultp*/); -extern void dlg_register_buttons(WINDOW * /*win*/, const char * /*name*/, const char ** /*buttons*/); -extern void dlg_register_window(WINDOW * /*win*/, const char * /*name*/, DLG_KEYS_BINDING * /*binding*/); -extern void dlg_unregister_window(WINDOW * /*win*/); - -#ifdef HAVE_RC_FILE -extern int dlg_parse_bindkey(char * /*params*/); -extern void dlg_dump_keys(FILE * /*fp*/); -extern void dlg_dump_window_keys(FILE * /*fp*/, WINDOW * /*win*/); -#endif - -#ifdef __cplusplus -} -#endif -/* *INDENT-ON* */ - -#endif /* DLG_KEYS_H_included */ diff --git a/contrib/dialog/editbox.c b/contrib/dialog/editbox.c deleted file mode 100644 index 1ea80dd6384a..000000000000 --- a/contrib/dialog/editbox.c +++ /dev/null @@ -1,771 +0,0 @@ -/* - * $Id: editbox.c,v 1.80 2020/11/23 00:27:21 tom Exp $ - * - * editbox.c -- implements the edit box - * - * Copyright 2007-2019,2020 Thomas E. Dickey - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License, version 2.1 - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this program; if not, write to - * Free Software Foundation, Inc. - * 51 Franklin St., Fifth Floor - * Boston, MA 02110, USA. - */ - -#include <dialog.h> -#include <dlg_keys.h> - -#include <sys/stat.h> - -#define sTEXT -1 - -static void -fail_list(void) -{ - dlg_exiterr("File too large"); -} - -static void -grow_list(char ***list, int *have, int want) -{ - if (want > *have) { - size_t last = (size_t) *have; - size_t need = (size_t) (want | 31) + 3; - *have = (int) need; - (*list) = dlg_realloc(char *, need, *list); - if ((*list) == 0) { - fail_list(); - } else { - while (++last < need) { - (*list)[last] = 0; - } - } - } -} - -static void -load_list(const char *file, char ***list, int *rows) -{ - char *blob = 0; - struct stat sb; - size_t size; - - *list = 0; - *rows = 0; - - if (stat(file, &sb) < 0 || - (sb.st_mode & S_IFMT) != S_IFREG) - dlg_exiterr("Not a file: %s", file); - - size = (size_t) sb.st_size; - if ((blob = dlg_malloc(char, size + 2)) == 0) { - fail_list(); - } else { - FILE *fp; - unsigned n, pass; - - blob[size] = '\0'; - - if ((fp = fopen(file, "r")) == 0) - dlg_exiterr("Cannot open: %s", file); - size = fread(blob, sizeof(char), size, fp); - fclose(fp); - - /* - * If the file is not empty, ensure that it ends with a newline. - */ - if (size != 0 && blob[size - 1] != '\n') { - blob[++size - 1] = '\n'; - blob[size] = '\0'; - } - - for (pass = 0; pass < 2; ++pass) { - int first = TRUE; - unsigned need = 0; - - for (n = 0; n < size; ++n) { - if (first && pass) { - (*list)[need] = blob + n; - first = FALSE; - } - if (blob[n] == '\n') { - first = TRUE; - ++need; - if (pass) - blob[n] = '\0'; - } - } - if (pass) { - if (need == 0) { - (*list)[0] = dlg_strclone(""); - (*list)[1] = 0; - } else { - for (n = 0; n < need; ++n) { - (*list)[n] = dlg_strclone((*list)[n]); - } - (*list)[need] = 0; - } - } else { - grow_list(list, rows, (int) need + 1); - } - } - free(blob); - } -} - -static void -free_list(char ***list, int *rows) -{ - if (*list != 0) { - int n; - for (n = 0; n < (*rows); ++n) { - if ((*list)[n] != 0) - free((*list)[n]); - } - free(*list); - *list = 0; - } - *rows = 0; -} - -/* - * Display a single row in the editing window: - * thisrow is the actual row number that's being displayed. - * show_row is the row number that's highlighted for edit. - * base_row is the first row number in the window - */ -static bool -display_one(WINDOW *win, - char *text, - int thisrow, - int show_row, - int base_row, - int chr_offset) -{ - bool result; - - if (text != 0) { - dlg_show_string(win, - text, - chr_offset, - ((thisrow == show_row) - ? form_active_text_attr - : form_text_attr), - thisrow - base_row, - 0, - getmaxx(win), - FALSE, - FALSE); - result = TRUE; - } else { - result = FALSE; - } - return result; -} - -static void -display_all(WINDOW *win, - char **list, - int show_row, - int firstrow, - int lastrow, - int chr_offset) -{ - int limit = getmaxy(win); - int row; - - dlg_attr_clear(win, getmaxy(win), getmaxx(win), dialog_attr); - if (lastrow - firstrow >= limit) - lastrow = firstrow + limit; - for (row = firstrow; row < lastrow; ++row) { - if (!display_one(win, list[row], - row, show_row, firstrow, - (row == show_row) ? chr_offset : 0)) - break; - } -} - -static int -size_list(char **list) -{ - int result = 0; - - if (list != 0) { - while (*list++ != 0) { - ++result; - } - } - return result; -} - -static bool -scroll_to(int pagesize, int rows, int *base_row, int *this_row, int target) -{ - bool result = FALSE; - - if (target < *base_row) { - if (target < 0) { - if (*base_row == 0 && *this_row == 0) { - beep(); - } else { - *this_row = 0; - *base_row = 0; - result = TRUE; - } - } else { - *this_row = target; - *base_row = target; - result = TRUE; - } - } else if (target >= rows) { - if (*this_row < rows - 1) { - *this_row = rows - 1; - *base_row = rows - 1; - result = TRUE; - } else { - beep(); - } - } else if (target >= *base_row + pagesize) { - *this_row = target; - *base_row = target; - result = TRUE; - } else { - *this_row = target; - result = FALSE; - } - if (pagesize < rows) { - if (*base_row + pagesize >= rows) { - *base_row = rows - pagesize; - } - } else { - *base_row = 0; - } - return result; -} - -static int -col_to_chr_offset(const char *text, int col) -{ - const int *cols = dlg_index_columns(text); - const int *indx = dlg_index_wchars(text); - bool found = FALSE; - int result = 0; - unsigned n; - unsigned len = (unsigned) dlg_count_wchars(text); - - for (n = 0; n < len; ++n) { - if (cols[n] <= col && cols[n + 1] > col) { - result = indx[n]; - found = TRUE; - break; - } - } - if (!found && len && cols[len] == col) { - result = indx[len]; - } - return result; -} - -#define Scroll_To(target) scroll_to(pagesize, listsize, &base_row, &thisrow, target) -#define SCROLL_TO(target) show_all = Scroll_To(target) - -#define PREV_ROW (*list)[thisrow - 1] -#define THIS_ROW (*list)[thisrow] -#define NEXT_ROW (*list)[thisrow + 1] - -#define UPDATE_COL(input) col_offset = dlg_edit_offset(input, chr_offset, box_width) - -static int -widest_line(char **list) -{ - int result = MAX_LEN; - - if (list != 0) { - char *value; - - while ((value = *list++) != 0) { - int check = (int) strlen(value); - if (check > result) - result = check; - } - } - return result; -} - -#define NAVIGATE_BINDINGS \ - DLG_KEYS_DATA( DLGK_GRID_DOWN, KEY_DOWN ), \ - DLG_KEYS_DATA( DLGK_GRID_RIGHT, KEY_RIGHT ), \ - DLG_KEYS_DATA( DLGK_GRID_LEFT, KEY_LEFT ), \ - DLG_KEYS_DATA( DLGK_GRID_UP, KEY_UP ), \ - DLG_KEYS_DATA( DLGK_FIELD_NEXT, TAB ), \ - DLG_KEYS_DATA( DLGK_FIELD_PREV, KEY_BTAB ), \ - DLG_KEYS_DATA( DLGK_PAGE_FIRST, KEY_HOME ), \ - DLG_KEYS_DATA( DLGK_PAGE_LAST, KEY_END ), \ - DLG_KEYS_DATA( DLGK_PAGE_LAST, KEY_LL ), \ - DLG_KEYS_DATA( DLGK_PAGE_NEXT, KEY_NPAGE ), \ - DLG_KEYS_DATA( DLGK_PAGE_NEXT, DLGK_MOUSE(KEY_NPAGE) ), \ - DLG_KEYS_DATA( DLGK_PAGE_PREV, KEY_PPAGE ), \ - DLG_KEYS_DATA( DLGK_PAGE_PREV, DLGK_MOUSE(KEY_PPAGE) ) -/* - * Display a dialog box for editing a copy of a file - */ -int -dlg_editbox(const char *title, - char ***list, - int *rows, - int height, - int width) -{ - /* *INDENT-OFF* */ - static DLG_KEYS_BINDING binding[] = { - HELPKEY_BINDINGS, - ENTERKEY_BINDINGS, - NAVIGATE_BINDINGS, - TOGGLEKEY_BINDINGS, - END_KEYS_BINDING - }; - static DLG_KEYS_BINDING binding2[] = { - INPUTSTR_BINDINGS, - HELPKEY_BINDINGS, - ENTERKEY_BINDINGS, - NAVIGATE_BINDINGS, - /* no TOGGLEKEY_BINDINGS, since that includes space... */ - END_KEYS_BINDING - }; - /* *INDENT-ON* */ - -#ifdef KEY_RESIZE - int old_height = height; - int old_width = width; -#endif - int x, y, box_y, box_x, box_height, box_width; - int show_buttons; - int thisrow, base_row, lastrow; - int goal_col = -1; - int col_offset = 0; - int chr_offset = 0; - int key, fkey, code; - int pagesize; - int listsize = size_list(*list); - int result = DLG_EXIT_UNKNOWN; - int state; - size_t max_len = (size_t) dlg_max_input(widest_line(*list)); - char *buffer; - bool show_all, show_one; - bool first_trace = TRUE; - WINDOW *dialog; - WINDOW *editing; - DIALOG_VARS save_vars; - const char **buttons = dlg_ok_labels(); - int mincols = (3 * COLS / 4); - - DLG_TRACE(("# editbox args:\n")); - DLG_TRACE2S("title", title); - /* FIXME dump the rows & list */ - DLG_TRACE2N("height", height); - DLG_TRACE2N("width", width); - - dlg_save_vars(&save_vars); - dialog_vars.separate_output = TRUE; - - dlg_does_output(); - - buffer = dlg_malloc(char, max_len + 1); - assert_ptr(buffer, "dlg_editbox"); - - thisrow = base_row = lastrow = 0; - -#ifdef KEY_RESIZE - retry: -#endif - show_buttons = TRUE; - state = dialog_vars.default_button >= 0 ? dlg_default_button() : sTEXT; - fkey = 0; - - dlg_button_layout(buttons, &mincols); - dlg_auto_size(title, "", &height, &width, 3 * LINES / 4, mincols); - dlg_print_size(height, width); - dlg_ctl_size(height, width); - - x = dlg_box_x_ordinate(width); - y = dlg_box_y_ordinate(height); - - dialog = dlg_new_window(height, width, y, x); - dlg_register_window(dialog, "editbox", binding); - dlg_register_buttons(dialog, "editbox", buttons); - - dlg_mouse_setbase(x, y); - - dlg_draw_box2(dialog, 0, 0, height, width, dialog_attr, border_attr, border2_attr); - dlg_draw_bottom_box2(dialog, border_attr, border2_attr, dialog_attr); - dlg_draw_title(dialog, title); - - dlg_attrset(dialog, dialog_attr); - - /* Draw the editing field in a box */ - box_y = MARGIN + 0; - box_x = MARGIN + 1; - box_width = width - 2 - (2 * MARGIN); - box_height = height - (4 * MARGIN); - - dlg_draw_box(dialog, - box_y, - box_x, - box_height, - box_width, - border_attr, border2_attr); - dlg_mouse_mkbigregion(box_y + MARGIN, - box_x + MARGIN, - box_height - (2 * MARGIN), - box_width - (2 * MARGIN), - KEY_MAX, 1, 1, 3); - editing = dlg_sub_window(dialog, - box_height - (2 * MARGIN), - box_width - (2 * MARGIN), - getbegy(dialog) + box_y + 1, - getbegx(dialog) + box_x + 1); - dlg_register_window(editing, "editbox2", binding2); - - show_all = TRUE; - show_one = FALSE; - pagesize = getmaxy(editing); - - while (result == DLG_EXIT_UNKNOWN) { - bool was_mouse; - char *input; - - if (show_all) { - display_all(editing, *list, thisrow, base_row, listsize, chr_offset); - display_one(editing, THIS_ROW, - thisrow, thisrow, base_row, chr_offset); - show_all = FALSE; - show_one = TRUE; - } else { - if (thisrow != lastrow) { - display_one(editing, (*list)[lastrow], - lastrow, thisrow, base_row, 0); - show_one = TRUE; - } - } - if (show_one) { - display_one(editing, THIS_ROW, - thisrow, thisrow, base_row, chr_offset); - getyx(editing, y, x); - dlg_draw_scrollbar(dialog, - base_row, - base_row, - base_row + pagesize, - listsize, - box_x, - box_x + getmaxx(editing), - box_y + 0, - box_y + getmaxy(editing) + 1, - border2_attr, - border_attr); - wmove(editing, y, x); - show_one = FALSE; - } - lastrow = thisrow; - input = THIS_ROW; - - /* - * The last field drawn determines where the cursor is shown: - */ - if (show_buttons) { - show_buttons = FALSE; - UPDATE_COL(input); - if (state != sTEXT) { - display_one(editing, input, thisrow, - -1, base_row, 0); - wrefresh(editing); - } - dlg_draw_buttons(dialog, - height - 2, - 0, - buttons, - (state != sTEXT) ? state : 99, - FALSE, - width); - if (state == sTEXT) { - display_one(editing, input, thisrow, - thisrow, base_row, chr_offset); - } - } - - if (first_trace) { - first_trace = FALSE; - dlg_trace_win(dialog); - } - - key = dlg_mouse_wgetch((state == sTEXT) ? editing : dialog, &fkey); - if (key == ERR) { - result = DLG_EXIT_ERROR; - break; - } else if (key == ESC) { - result = DLG_EXIT_ESC; - break; - } - if (state != sTEXT) { - if (dlg_result_key(key, fkey, &result)) { - if (!dlg_button_key(result, &code, &key, &fkey)) - break; - } - } - - was_mouse = (fkey && is_DLGK_MOUSE(key)); - if (was_mouse) - key -= M_EVENT; - - /* - * Handle mouse clicks first, since we want to know if this is a - * button, or something that dlg_edit_string() should handle. - */ - if (fkey - && was_mouse - && (code = dlg_ok_buttoncode(key)) >= 0) { - result = code; - continue; - } - - if (was_mouse - && (key >= KEY_MAX)) { - int wide = getmaxx(editing); - int cell = key - KEY_MAX; - int check = (cell / wide) + base_row; - if (check < listsize) { - thisrow = check; - col_offset = (cell % wide); - chr_offset = col_to_chr_offset(THIS_ROW, col_offset); - show_one = TRUE; - if (state != sTEXT) { - state = sTEXT; - show_buttons = TRUE; - } - } else { - beep(); - } - continue; - } else if (was_mouse && key >= KEY_MIN) { - key = dlg_lookup_key(dialog, key, &fkey); - } - - if (state == sTEXT) { /* editing box selected */ - int edit = 0; - - /* - * Intercept scrolling keys that dlg_edit_string() does not - * understand. - */ - if (fkey) { - bool moved = TRUE; - - switch (key) { - case DLGK_GRID_UP: - SCROLL_TO(thisrow - 1); - break; - case DLGK_GRID_DOWN: - SCROLL_TO(thisrow + 1); - break; - case DLGK_PAGE_FIRST: - SCROLL_TO(0); - break; - case DLGK_PAGE_LAST: - SCROLL_TO(listsize); - break; - case DLGK_PAGE_NEXT: - SCROLL_TO(base_row + pagesize); - break; - case DLGK_PAGE_PREV: - if (thisrow > base_row) { - SCROLL_TO(base_row); - } else { - SCROLL_TO(base_row - pagesize); - } - break; - case DLGK_DELETE_LEFT: - if (chr_offset == 0) { - if (thisrow == 0) { - beep(); - } else { - size_t len = (strlen(THIS_ROW) + - strlen(PREV_ROW) + 1); - char *tmp = dlg_malloc(char, len); - - assert_ptr(tmp, "dlg_editbox"); - - chr_offset = dlg_count_wchars(PREV_ROW); - UPDATE_COL(PREV_ROW); - goal_col = col_offset; - - sprintf(tmp, "%s%s", PREV_ROW, THIS_ROW); - if (len > max_len) - tmp[max_len] = '\0'; - - free(PREV_ROW); - PREV_ROW = tmp; - for (y = thisrow; y < listsize; ++y) { - (*list)[y] = (*list)[y + 1]; - } - --listsize; - --thisrow; - (void) Scroll_To(thisrow); - - show_all = TRUE; - } - } else { - /* dlg_edit_string() can handle this case */ - moved = FALSE; - } - break; - default: - moved = FALSE; - break; - } - if (moved) { - if (thisrow != lastrow) { - if (goal_col < 0) - goal_col = col_offset; - chr_offset = col_to_chr_offset(THIS_ROW, goal_col); - } else { - UPDATE_COL(THIS_ROW); - } - continue; - } - } - strncpy(buffer, input, max_len - 1)[max_len - 1] = '\0'; - edit = dlg_edit_string(buffer, &chr_offset, key, fkey, FALSE); - - if (edit) { - goal_col = UPDATE_COL(input); - if (strcmp(input, buffer)) { - free(input); - THIS_ROW = dlg_strclone(buffer); - input = THIS_ROW; - } - display_one(editing, input, thisrow, - thisrow, base_row, chr_offset); - continue; - } - } - - /* handle non-functionkeys */ - if (!fkey && (code = dlg_char_to_button(key, buttons)) >= 0) { - dlg_del_window(dialog); - result = dlg_ok_buttoncode(code); - continue; - } - - /* handle functionkeys */ - if (fkey) { - switch (key) { - case DLGK_GRID_UP: - case DLGK_GRID_LEFT: - case DLGK_FIELD_PREV: - show_buttons = TRUE; - state = dlg_prev_ok_buttonindex(state, sTEXT); - break; - case DLGK_GRID_RIGHT: - case DLGK_GRID_DOWN: - case DLGK_FIELD_NEXT: - show_buttons = TRUE; - state = dlg_next_ok_buttonindex(state, sTEXT); - break; - case DLGK_ENTER: - if (state == sTEXT) { - const int *indx = dlg_index_wchars(THIS_ROW); - int split = indx[chr_offset]; - char *tmp = dlg_strclone(THIS_ROW + split); - - assert_ptr(tmp, "dlg_editbox"); - grow_list(list, rows, listsize + 1); - ++listsize; - for (y = listsize; y > thisrow; --y) { - (*list)[y] = (*list)[y - 1]; - } - THIS_ROW[split] = '\0'; - ++thisrow; - chr_offset = 0; - col_offset = 0; - THIS_ROW = tmp; - (void) Scroll_To(thisrow); - show_all = TRUE; - } else { - result = dlg_enter_buttoncode(state); - } - break; - case DLGK_LEAVE: - if (state >= 0) - result = dlg_ok_buttoncode(state); - break; -#ifdef KEY_RESIZE - case KEY_RESIZE: - dlg_will_resize(dialog); - /* reset data */ - height = old_height; - width = old_width; - /* repaint */ - dlg_del_window(editing); - dlg_unregister_window(editing); - _dlg_resize_cleanup(dialog); - goto retry; -#endif - case DLGK_TOGGLE: - if (state != sTEXT) { - result = dlg_ok_buttoncode(state); - } else { - beep(); - } - break; - default: - beep(); - break; - } - } else if (key > 0) { - beep(); - } - } - - dlg_unregister_window(editing); - dlg_del_window(editing); - dlg_del_window(dialog); - dlg_mouse_free_regions(); - - /* - * The caller's copy of the (*list)[] array has been updated, but for - * consistency with the other widgets, we put the "real" result in - * the output buffer. - */ - if (result == DLG_EXIT_OK) { - int n; - for (n = 0; n < listsize; ++n) { - dlg_add_result((*list)[n]); - dlg_add_separator(); - } - dlg_add_last_key(-1); - } - free(buffer); - dlg_restore_vars(&save_vars); - return result; -} - -int -dialog_editbox(const char *title, const char *file, int height, int width) -{ - int result; - char **list; - int rows; - - load_list(file, &list, &rows); - result = dlg_editbox(title, &list, &rows, height, width); - free_list(&list, &rows); - return result; -} diff --git a/contrib/dialog/formbox.c b/contrib/dialog/formbox.c deleted file mode 100644 index 1a4faae06625..000000000000 --- a/contrib/dialog/formbox.c +++ /dev/null @@ -1,1002 +0,0 @@ -/* - * $Id: formbox.c,v 1.103 2021/01/17 22:19:05 tom Exp $ - * - * formbox.c -- implements the form (i.e., some pairs label/editbox) - * - * Copyright 2003-2020,2021 Thomas E. Dickey - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License, version 2.1 - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this program; if not, write to - * Free Software Foundation, Inc. - * 51 Franklin St., Fifth Floor - * Boston, MA 02110, USA. - * - * This is adapted from source contributed by - * Valery Reznic (valery_reznic@users.sourceforge.net) - */ - -#include <dialog.h> -#include <dlg_keys.h> - -#define LLEN(n) ((n) * FORMBOX_TAGS) - -#define ItemName(i) items[LLEN(i) + 0] -#define ItemNameY(i) items[LLEN(i) + 1] -#define ItemNameX(i) items[LLEN(i) + 2] -#define ItemText(i) items[LLEN(i) + 3] -#define ItemTextY(i) items[LLEN(i) + 4] -#define ItemTextX(i) items[LLEN(i) + 5] -#define ItemTextFLen(i) items[LLEN(i) + 6] -#define ItemTextILen(i) items[LLEN(i) + 7] -#define ItemHelp(i) (dialog_vars.item_help ? items[LLEN(i) + 8] : dlg_strempty()) - -static bool -is_readonly(DIALOG_FORMITEM * item) -{ - return ((item->type & 2) != 0) || (item->text_flen <= 0); -} - -static bool -is_hidden(DIALOG_FORMITEM * item) -{ - return ((item->type & 1) != 0); -} - -static bool -in_window(WINDOW *win, int scrollamt, int y) -{ - return (y >= scrollamt && y - scrollamt < getmaxy(win)); -} - -static bool -ok_move(WINDOW *win, int scrollamt, int y, int x) -{ - return in_window(win, scrollamt, y) - && (wmove(win, y - scrollamt, x) != ERR); -} - -static void -move_past(WINDOW *win, int y, int x) -{ - if (wmove(win, y, x) == ERR) - wmove(win, y, getmaxx(win) - 1); -} - -/* - * Print form item - */ -static int -print_item(WINDOW *win, DIALOG_FORMITEM * item, int scrollamt, bool choice) -{ - int count = 0; - int len; - - if (ok_move(win, scrollamt, item->name_y, item->name_x)) { - len = item->name_len; - len = MIN(len, getmaxx(win) - item->name_x); - if (len > 0) { - dlg_show_string(win, - item->name, - 0, - menubox_attr, - item->name_y - scrollamt, - item->name_x, - len, - FALSE, - FALSE); - move_past(win, item->name_y - scrollamt, item->name_x + len); - count = 1; - } - } - if (item->text_len && ok_move(win, scrollamt, item->text_y, item->text_x)) { - chtype this_item_attribute; - - len = item->text_len; - len = MIN(len, getmaxx(win) - item->text_x); - - if (!is_readonly(item)) { - this_item_attribute = choice - ? form_active_text_attr - : form_text_attr; - } else { - this_item_attribute = form_item_readonly_attr; - } - - if (len > 0) { - dlg_show_string(win, - item->text, - 0, - this_item_attribute, - item->text_y - scrollamt, - item->text_x, - len, - is_hidden(item), - FALSE); - move_past(win, item->text_y - scrollamt, item->text_x + len); - count = 1; - } - } - return count; -} - -/* - * Print the entire form. - */ -static void -print_form(WINDOW *win, DIALOG_FORMITEM * item, int total, int scrollamt, int choice) -{ - int n; - int count = 0; - - for (n = 0; n < total; ++n) { - count += print_item(win, item + n, scrollamt, n == choice); - } - if (count) { - wbkgdset(win, menubox_attr | ' '); - wclrtobot(win); - (void) wnoutrefresh(win); - } -} - -static int -set_choice(DIALOG_FORMITEM item[], int choice, int item_no, bool * noneditable) -{ - int result = -1; - - *noneditable = FALSE; - if (!is_readonly(&item[choice])) { - result = choice; - } else { - int i; - - for (i = 0; i < item_no; i++) { - if (!is_readonly(&(item[i]))) { - result = i; - break; - } - } - if (result < 0) { - *noneditable = TRUE; - result = 0; - } - } - return result; -} - -/* - * Find the last y-value in the form. - */ -static int -form_limit(DIALOG_FORMITEM item[]) -{ - int n; - int limit = 0; - for (n = 0; item[n].name != 0; ++n) { - if (limit < item[n].name_y) - limit = item[n].name_y; - if (limit < item[n].text_y) - limit = item[n].text_y; - } - return limit; -} - -static int -is_first_field(DIALOG_FORMITEM item[], int choice) -{ - int count = 0; - while (choice >= 0) { - if (item[choice].text_flen > 0) { - ++count; - } - --choice; - } - - return (count == 1); -} - -static int -is_last_field(DIALOG_FORMITEM item[], int choice, int item_no) -{ - int count = 0; - while (choice < item_no) { - if (item[choice].text_flen > 0) { - ++count; - } - ++choice; - } - - return (count == 1); -} - -/* - * Tab to the next field. - */ -static bool -tab_next(WINDOW *win, - DIALOG_FORMITEM item[], - int item_no, - int stepsize, - int *choice, - int *scrollamt) -{ - int old_choice = *choice; - int old_scroll = *scrollamt; - bool wrapped = FALSE; - - do { - do { - *choice += stepsize; - if (*choice < 0) { - *choice = item_no - 1; - wrapped = TRUE; - } else if (*choice >= item_no) { - *choice = 0; - wrapped = TRUE; - } - } while ((*choice != old_choice) && is_readonly(&(item[*choice]))); - - if (item[*choice].text_flen > 0) { - int lo = MIN(item[*choice].name_y, item[*choice].text_y); - int hi = MAX(item[*choice].name_y, item[*choice].text_y); - - if (old_choice == *choice) - break; - print_item(win, item + old_choice, *scrollamt, FALSE); - - if (*scrollamt < lo + 1 - getmaxy(win)) - *scrollamt = lo + 1 - getmaxy(win); - if (*scrollamt > hi) - *scrollamt = hi; - /* - * If we have to scroll to show a wrap-around, it does get - * confusing. Just give up rather than scroll. Tab'ing to the - * next field in a multi-column form is a different matter. Scroll - * for that. - */ - if (*scrollamt != old_scroll) { - if (wrapped) { - beep(); - *scrollamt = old_scroll; - *choice = old_choice; - } else { - scrollok(win, TRUE); - wscrl(win, *scrollamt - old_scroll); - scrollok(win, FALSE); - } - } - break; - } - } while (*choice != old_choice); - - return (old_choice != *choice) || (old_scroll != *scrollamt); -} - -/* - * Scroll to the next page, putting the choice at the first editable field - * in that page. Note that fields are not necessarily in top-to-bottom order, - * nor is there necessarily a field on each row of the window. - */ -static bool -scroll_next(WINDOW *win, DIALOG_FORMITEM item[], int stepsize, int *choice, int *scrollamt) -{ - bool result = TRUE; - int old_choice = *choice; - int old_scroll = *scrollamt; - int old_row = MIN(item[old_choice].text_y, item[old_choice].name_y); - int target = old_scroll + stepsize; - - if (stepsize < 0) { - if (old_row != old_scroll) - target = old_scroll; - else - target = old_scroll + stepsize; - if (target < 0) { - result = FALSE; - } - } else { - if (target > form_limit(item)) { - result = FALSE; - } - } - - if (result) { - int n; - - for (n = 0; item[n].name != 0; ++n) { - if (item[n].text_flen > 0) { - int new_row = MIN(item[n].text_y, item[n].name_y); - if (abs(new_row - target) < abs(old_row - target)) { - old_row = new_row; - *choice = n; - } - } - } - - if (old_choice != *choice) - print_item(win, item + old_choice, *scrollamt, FALSE); - - *scrollamt = *choice; - if (*scrollamt != old_scroll) { - scrollok(win, TRUE); - wscrl(win, *scrollamt - old_scroll); - scrollok(win, FALSE); - } - result = (old_choice != *choice) || (old_scroll != *scrollamt); - } - if (!result) - beep(); - return result; -} - -/* - * Do a sanity check on the field length, and return the "right" value. - */ -static int -real_length(DIALOG_FORMITEM * item) -{ - return (item->text_flen > 0 - ? item->text_flen - : (item->text_flen < 0 - ? -item->text_flen - : item->text_len)); -} - -/* - * Compute the form size, setup field buffers. - */ -static void -make_FORM_ELTs(DIALOG_FORMITEM * item, - int item_no, - int *min_height, - int *min_width) -{ - int i; - int min_w = 0; - int min_h = 0; - - for (i = 0; i < item_no; ++i) { - int real_len = real_length(item + i); - - /* - * Special value '0' for text_flen: no input allowed - * Special value '0' for text_ilen: 'be the same as text_flen' - */ - if (item[i].text_ilen == 0) - item[i].text_ilen = real_len; - - min_h = MAX(min_h, item[i].name_y + 1); - min_h = MAX(min_h, item[i].text_y + 1); - min_w = MAX(min_w, item[i].name_x + 1 + item[i].name_len); - min_w = MAX(min_w, item[i].text_x + 1 + real_len); - - item[i].text_len = real_length(item + i); - - /* - * We do not know the actual length of .text, so we allocate it here - * to ensure it is big enough. - */ - if (item[i].text_flen > 0) { - int max_len = dlg_max_input(MAX(item[i].text_ilen + 1, MAX_LEN)); - char *old_text = item[i].text; - - item[i].text = dlg_malloc(char, (size_t) max_len + 1); - assert_ptr(item[i].text, "make_FORM_ELTs"); - - sprintf(item[i].text, "%.*s", item[i].text_ilen, old_text); - - if (item[i].text_free) { - free(old_text); - } - item[i].text_free = TRUE; - } - } - - *min_height = min_h; - *min_width = min_w; -} - -int -dlg_default_formitem(DIALOG_FORMITEM * items) -{ - int result = 0; - - if (dialog_vars.default_item != 0) { - int count = 0; - while (items->name != 0) { - if (!strcmp(dialog_vars.default_item, items->name)) { - result = count; - break; - } - ++items; - count++; - } - } - return result; -} - -#define sTEXT -1 - -static int -next_valid_buttonindex(int state, int extra, bool non_editable) -{ - state = dlg_next_ok_buttonindex(state, extra); - while (non_editable && state == sTEXT) - state = dlg_next_ok_buttonindex(state, sTEXT); - return state; -} - -static int -prev_valid_buttonindex(int state, int extra, bool non_editable) -{ - state = dlg_prev_ok_buttonindex(state, extra); - while (non_editable && state == sTEXT) - state = dlg_prev_ok_buttonindex(state, sTEXT); - return state; -} - -#define NAVIGATE_BINDINGS \ - DLG_KEYS_DATA( DLGK_FIELD_NEXT, TAB ), \ - DLG_KEYS_DATA( DLGK_FIELD_PREV, KEY_BTAB ), \ - DLG_KEYS_DATA( DLGK_ITEM_NEXT, CHR_NEXT ), \ - DLG_KEYS_DATA( DLGK_ITEM_NEXT, KEY_DOWN ), \ - DLG_KEYS_DATA( DLGK_ITEM_NEXT, KEY_RIGHT ), \ - DLG_KEYS_DATA( DLGK_ITEM_NEXT, KEY_NEXT ), \ - DLG_KEYS_DATA( DLGK_ITEM_PREV, CHR_PREVIOUS ), \ - DLG_KEYS_DATA( DLGK_ITEM_PREV, KEY_PREVIOUS ), \ - DLG_KEYS_DATA( DLGK_ITEM_PREV, KEY_LEFT ), \ - DLG_KEYS_DATA( DLGK_ITEM_PREV, KEY_UP ), \ - DLG_KEYS_DATA( DLGK_PAGE_NEXT, KEY_NPAGE ), \ - DLG_KEYS_DATA( DLGK_PAGE_PREV, KEY_PPAGE ) -/* - * Display a form for entering a number of fields - */ -int -dlg_form(const char *title, - const char *cprompt, - int height, - int width, - int form_height, - int item_no, - DIALOG_FORMITEM * items, - int *current_item) -{ - /* *INDENT-OFF* */ - static DLG_KEYS_BINDING binding[] = { - HELPKEY_BINDINGS, - ENTERKEY_BINDINGS, - NAVIGATE_BINDINGS, - TOGGLEKEY_BINDINGS, - END_KEYS_BINDING - }; - static DLG_KEYS_BINDING binding2[] = { - INPUTSTR_BINDINGS, - HELPKEY_BINDINGS, - ENTERKEY_BINDINGS, - NAVIGATE_BINDINGS, - /* no TOGGLEKEY_BINDINGS, since that includes space... */ - END_KEYS_BINDING - }; - /* *INDENT-ON* */ - -#ifdef KEY_RESIZE - int old_height = height; - int old_width = width; -#endif - - int form_width; - bool first = TRUE; - bool first_trace = TRUE; - int chr_offset = 0; - int state = (dialog_vars.default_button >= 0 - ? dlg_default_button() - : sTEXT); - int x, y, cur_x, cur_y, box_x, box_y; - int code; - int fkey; - int choice = dlg_default_formitem(items); - int new_choice, new_scroll; - int scrollamt = 0; - int result = DLG_EXIT_UNKNOWN; - int min_width = 0, min_height = 0; - bool was_autosize = (height == 0 || width == 0); - bool show_buttons = FALSE; - bool scroll_changed = FALSE; - bool field_changed = FALSE; - bool non_editable = FALSE; - WINDOW *dialog, *form; - char *prompt; - const char **buttons = dlg_ok_labels(); - DIALOG_FORMITEM *current; - - DLG_TRACE(("# %sform args:\n", (dialog_vars.formitem_type - ? "password" - : ""))); - DLG_TRACE2S("title", title); - DLG_TRACE2S("message", cprompt); - DLG_TRACE2N("height", height); - DLG_TRACE2N("width", width); - DLG_TRACE2N("lheight", form_height); - DLG_TRACE2N("llength", item_no); - /* FIXME dump the items[][] too */ - DLG_TRACE2N("current", *current_item); - - make_FORM_ELTs(items, item_no, &min_height, &min_width); - dlg_button_layout(buttons, &min_width); - dlg_does_output(); - -#ifdef KEY_RESIZE - retry: -#endif - - prompt = dlg_strclone(cprompt); - dlg_tab_correct_str(prompt); - dlg_auto_size(title, prompt, &height, &width, - 1 + 3 * MARGIN, - MAX(26, 2 + min_width)); - - if (form_height == 0) - form_height = min_height; - - if (was_autosize) { - form_height = MIN(SLINES - height, form_height); - height += form_height; - } else { - int thigh = 0; - int twide = 0; - dlg_auto_size(title, prompt, &thigh, &twide, 0, width); - thigh = SLINES - (height - (thigh + 1 + 3 * MARGIN)); - form_height = MIN(thigh, form_height); - } - - dlg_print_size(height, width); - dlg_ctl_size(height, width); - - x = dlg_box_x_ordinate(width); - y = dlg_box_y_ordinate(height); - - dialog = dlg_new_window(height, width, y, x); - dlg_register_window(dialog, "formbox", binding); - dlg_register_buttons(dialog, "formbox", buttons); - - dlg_mouse_setbase(x, y); - - dlg_draw_box2(dialog, 0, 0, height, width, dialog_attr, border_attr, border2_attr); - dlg_draw_bottom_box2(dialog, border_attr, border2_attr, dialog_attr); - dlg_draw_title(dialog, title); - - dlg_attrset(dialog, dialog_attr); - dlg_print_autowrap(dialog, prompt, height, width); - - form_width = width - 6; - getyx(dialog, cur_y, cur_x); - (void) cur_x; - box_y = cur_y + 1; - box_x = (width - form_width) / 2 - 1; - - /* create new window for the form */ - form = dlg_sub_window(dialog, form_height, form_width, y + box_y + 1, - x + box_x + 1); - dlg_register_window(form, "formfield", binding2); - - /* draw a box around the form items */ - dlg_draw_box(dialog, box_y, box_x, form_height + 2, form_width + 2, - menubox_border_attr, menubox_border2_attr); - - /* register the new window, along with its borders */ - dlg_mouse_mkbigregion(getbegy(form) - getbegy(dialog), - getbegx(form) - getbegx(dialog), - getmaxy(form), - getmaxx(form), - KEY_MAX, 1, 1, 3 /* by cells */ ); - - show_buttons = TRUE; - scroll_changed = TRUE; - - choice = set_choice(items, choice, item_no, &non_editable); - current = &items[choice]; - if (non_editable) - state = next_valid_buttonindex(state, sTEXT, non_editable); - - while (result == DLG_EXIT_UNKNOWN) { - int edit = FALSE; - int key; - - if (scroll_changed) { - print_form(form, items, item_no, scrollamt, choice); - dlg_draw_scrollbar(dialog, - scrollamt, - scrollamt, - scrollamt + form_height + 1, - min_height, - box_x + 1, - box_x + form_width, - box_y, - box_y + form_height + 1, - menubox_border2_attr, - menubox_border_attr); - scroll_changed = FALSE; - } - - if (show_buttons) { - dlg_item_help(""); - dlg_draw_buttons(dialog, height - 2, 0, buttons, - ((state < 0) - ? 1000 /* no such button, not highlighted */ - : state), - FALSE, width); - show_buttons = FALSE; - } - - if (first_trace) { - first_trace = FALSE; - dlg_trace_win(dialog); - } - - if (field_changed || state == sTEXT) { - if (field_changed) - chr_offset = 0; - current = &items[choice]; - dialog_vars.max_input = current->text_ilen; - dlg_item_help(current->help); - dlg_show_string(form, current->text, chr_offset, - form_active_text_attr, - current->text_y - scrollamt, - current->text_x, - current->text_len, - is_hidden(current), first); - wsyncup(form); - wcursyncup(form); - field_changed = FALSE; - } - - key = dlg_mouse_wgetch((state == sTEXT) ? form : dialog, &fkey); - if (dlg_result_key(key, fkey, &result)) { - break; - } - - /* handle non-functionkeys */ - if (!fkey) { - if (state != sTEXT) { - code = dlg_char_to_button(key, buttons); - if (code >= 0) { - dlg_del_window(dialog); - result = dlg_ok_buttoncode(code); - continue; - } - } - } - - /* handle functionkeys */ - if (fkey) { - bool do_scroll = FALSE; - bool do_tab = FALSE; - int move_by = 0; - - switch (key) { - case DLGK_MOUSE(KEY_PPAGE): - case DLGK_PAGE_PREV: - do_scroll = TRUE; - move_by = -form_height; - break; - - case DLGK_MOUSE(KEY_NPAGE): - case DLGK_PAGE_NEXT: - do_scroll = TRUE; - move_by = form_height; - break; - - case DLGK_TOGGLE: - case DLGK_ENTER: - dlg_del_window(dialog); - result = (state >= 0) ? dlg_enter_buttoncode(state) : DLG_EXIT_OK; - continue; - case DLGK_LEAVE: - if (state >= 0) - result = dlg_ok_buttoncode(state); - break; - - case DLGK_GRID_LEFT: - if (state == sTEXT) - break; - /* FALLTHRU */ - case DLGK_ITEM_PREV: - if (state == sTEXT) { - do_tab = TRUE; - move_by = -1; - break; - } else { - state = prev_valid_buttonindex(state, 0, non_editable); - show_buttons = TRUE; - continue; - } - - case DLGK_FORM_PREV: - if (state == sTEXT && !is_first_field(items, choice)) { - do_tab = TRUE; - move_by = -1; - break; - } else { - int old_state = state; - state = prev_valid_buttonindex(state, sTEXT, non_editable); - show_buttons = TRUE; - if (old_state >= 0 && state == sTEXT) { - new_choice = item_no - 1; - if (choice != new_choice) { - print_item(form, items + choice, scrollamt, FALSE); - choice = new_choice; - } - } - continue; - } - - case DLGK_FIELD_PREV: - state = prev_valid_buttonindex(state, sTEXT, non_editable); - show_buttons = TRUE; - continue; - - case DLGK_FIELD_NEXT: - state = next_valid_buttonindex(state, sTEXT, non_editable); - show_buttons = TRUE; - continue; - - case DLGK_GRID_RIGHT: - if (state == sTEXT) - break; - /* FALLTHRU */ - - case DLGK_ITEM_NEXT: - if (state == sTEXT) { - do_tab = TRUE; - move_by = 1; - break; - } else { - state = next_valid_buttonindex(state, 0, non_editable); - show_buttons = TRUE; - continue; - } - - case DLGK_FORM_NEXT: - if (state == sTEXT && !is_last_field(items, choice, item_no)) { - do_tab = TRUE; - move_by = 1; - break; - } else { - state = next_valid_buttonindex(state, sTEXT, non_editable); - show_buttons = TRUE; - if (state == sTEXT && choice) { - print_item(form, items + choice, scrollamt, FALSE); - choice = 0; - } - continue; - } - -#ifdef KEY_RESIZE - case KEY_RESIZE: - dlg_will_resize(dialog); - /* reset data */ - height = old_height; - width = old_width; - free(prompt); - _dlg_resize_cleanup(dialog); - dlg_unregister_window(form); - /* repaint */ - goto retry; -#endif - default: -#if USE_MOUSE - if (is_DLGK_MOUSE(key)) { - if (key >= DLGK_MOUSE(KEY_MAX)) { - int cell = key - DLGK_MOUSE(KEY_MAX); - int row = (cell / getmaxx(form)) + scrollamt; - int col = (cell % getmaxx(form)); - int n; - - for (n = 0; n < item_no; ++n) { - if (items[n].name_y == row - && items[n].name_x <= col - && (items[n].name_x + items[n].name_len > col - || (items[n].name_y == items[n].text_y - && items[n].text_x > col))) { - if (!is_readonly(&(items[n]))) { - field_changed = TRUE; - break; - } - } - if (items[n].text_y == row - && items[n].text_x <= col - && items[n].text_x + items[n].text_ilen > col) { - if (!is_readonly(&(items[n]))) { - field_changed = TRUE; - break; - } - } - } - if (field_changed) { - print_item(form, items + choice, scrollamt, FALSE); - choice = n; - continue; - } - beep(); - } else if ((code = dlg_ok_buttoncode(key - M_EVENT)) >= 0) { - result = code; - } - continue; - } -#endif - break; - } - - new_scroll = scrollamt; - new_choice = choice; - if (do_scroll) { - if (scroll_next(form, items, move_by, &new_choice, &new_scroll)) { - if (choice != new_choice) { - choice = new_choice; - field_changed = TRUE; - } - if (scrollamt != new_scroll) { - scrollamt = new_scroll; - scroll_changed = TRUE; - } - } - continue; - } - if (do_tab) { - if (tab_next(form, items, item_no, move_by, &new_choice, &new_scroll)) { - if (choice != new_choice) { - choice = new_choice; - field_changed = TRUE; - } - if (scrollamt != new_scroll) { - scrollamt = new_scroll; - scroll_changed = TRUE; - } - } - continue; - } - } - - if (state == sTEXT) { /* Input box selected */ - if (!is_readonly(current)) - edit = dlg_edit_string(current->text, &chr_offset, key, - fkey, first); - if (edit) { - dlg_show_string(form, current->text, chr_offset, - form_active_text_attr, - current->text_y - scrollamt, - current->text_x, - current->text_len, - is_hidden(current), first); - continue; - } - } - - } - - dlg_mouse_free_regions(); - dlg_unregister_window(form); - dlg_del_window(dialog); - free(prompt); - - *current_item = choice; - return result; -} - -/* - * Free memory owned by a list of DIALOG_FORMITEM's. - */ -void -dlg_free_formitems(DIALOG_FORMITEM * items) -{ - int n; - for (n = 0; items[n].name != 0; ++n) { - if (items[n].name_free) - free(items[n].name); - if (items[n].text_free) - free(items[n].text); - if (items[n].help_free && items[n].help != dlg_strempty()) - free(items[n].help); - } - free(items); -} - -/* - * The script accepts values beginning at 1, while curses starts at 0. - */ -int -dlg_ordinate(const char *s) -{ - int result = atoi(s); - if (result > 0) - --result; - else - result = 0; - return result; -} - -int -dialog_form(const char *title, - const char *cprompt, - int height, - int width, - int form_height, - int item_no, - char **items) -{ - int result; - int choice = 0; - int i; - DIALOG_FORMITEM *listitems; - DIALOG_VARS save_vars; - bool show_status = FALSE; - char *help_result; - - dlg_save_vars(&save_vars); - dialog_vars.separate_output = TRUE; - - listitems = dlg_calloc(DIALOG_FORMITEM, (size_t) item_no + 1); - assert_ptr(listitems, "dialog_form"); - - for (i = 0; i < item_no; ++i) { - listitems[i].type = dialog_vars.formitem_type; - listitems[i].name = ItemName(i); - listitems[i].name_len = (int) strlen(ItemName(i)); - listitems[i].name_y = dlg_ordinate(ItemNameY(i)); - listitems[i].name_x = dlg_ordinate(ItemNameX(i)); - listitems[i].text = ItemText(i); - listitems[i].text_len = (int) strlen(ItemText(i)); - listitems[i].text_y = dlg_ordinate(ItemTextY(i)); - listitems[i].text_x = dlg_ordinate(ItemTextX(i)); - listitems[i].text_flen = atoi(ItemTextFLen(i)); - listitems[i].text_ilen = atoi(ItemTextILen(i)); - listitems[i].help = ((dialog_vars.item_help) - ? ItemHelp(i) - : dlg_strempty()); - } - - result = dlg_form(title, - cprompt, - height, - width, - form_height, - item_no, - listitems, - &choice); - - switch (result) { - case DLG_EXIT_OK: /* FALLTHRU */ - case DLG_EXIT_EXTRA: - show_status = TRUE; - break; - case DLG_EXIT_HELP: - dlg_add_help_formitem(&result, &help_result, &listitems[choice]); - show_status = dialog_vars.help_status; - dlg_add_string(help_result); - if (show_status) - dlg_add_separator(); - break; - } - if (show_status) { - for (i = 0; i < item_no; i++) { - if (listitems[i].text_flen > 0) { - dlg_add_string(listitems[i].text); - dlg_add_separator(); - } - } - dlg_add_last_key(-1); - } - - dlg_free_formitems(listitems); - dlg_restore_vars(&save_vars); - - return result; -} diff --git a/contrib/dialog/fselect.c b/contrib/dialog/fselect.c deleted file mode 100644 index 753805b27286..000000000000 --- a/contrib/dialog/fselect.c +++ /dev/null @@ -1,962 +0,0 @@ -/* - * $Id: fselect.c,v 1.115 2021/01/16 17:19:15 tom Exp $ - * - * fselect.c -- implements the file-selector box - * - * Copyright 2000-2020,2021 Thomas E. Dickey - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License, version 2.1 - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this program; if not, write to - * Free Software Foundation, Inc. - * 51 Franklin St., Fifth Floor - * Boston, MA 02110, USA. - */ - -#include <dlg_internals.h> -#include <dlg_keys.h> - -#include <sys/types.h> -#include <sys/stat.h> - -#if HAVE_DIRENT_H -# include <dirent.h> -# define NAMLEN(dirent) strlen((dirent)->d_name) -#else -# define dirent direct -# define NAMLEN(dirent) (dirent)->d_namlen -# if HAVE_SYS_NDIR_H -# include <sys/ndir.h> -# endif -# if HAVE_SYS_DIR_H -# include <sys/dir.h> -# endif -# if HAVE_NDIR_H -# include <ndir.h> -# endif -#endif - -# if defined(_FILE_OFFSET_BITS) && defined(HAVE_STRUCT_DIRENT64) -# if !defined(_LP64) && (_FILE_OFFSET_BITS == 64) -# define DIRENT struct dirent64 -# else -# define DIRENT struct dirent -# endif -# else -# define DIRENT struct dirent -# endif - -#define EXT_WIDE 1 -#define HDR_HIGH 1 -#define BTN_HIGH (1 + 2 * MARGIN) /* Ok/Cancel, also input-box */ -#define MIN_HIGH (HDR_HIGH - MARGIN + (BTN_HIGH * 2) + 4 * MARGIN) -#define MIN_WIDE (2 * MAX(dlg_count_columns(d_label), dlg_count_columns(f_label)) + 6 * MARGIN + 2 * EXT_WIDE) - -#define MOUSE_D (KEY_MAX + 0) -#define MOUSE_F (KEY_MAX + 10000) -#define MOUSE_T (KEY_MAX + 20000) - -typedef enum { - sDIRS = -3 - ,sFILES = -2 - ,sTEXT = -1 -} STATES; - -typedef struct { - WINDOW *par; /* parent window */ - WINDOW *win; /* this window */ - int length; /* length of the data[] array */ - int offset; /* index of first item on screen */ - int choice; /* index of the selection */ - int mousex; /* base of mouse-code return-values */ - unsigned allocd; - char **data; -} LIST; - -typedef struct { - int length; - char **data; -} MATCH; - -static void -init_list(LIST * list, WINDOW *par, WINDOW *win, int mousex) -{ - list->par = par; - list->win = win; - list->length = 0; - list->offset = 0; - list->choice = 0; - list->mousex = mousex; - list->allocd = 0; - list->data = 0; - dlg_mouse_mkbigregion(getbegy(win), getbegx(win), - getmaxy(win), getmaxx(win), - mousex, 1, 1, 1 /* by lines */ ); -} - -static char * -leaf_of(char *path) -{ - char *leaf = strrchr(path, '/'); - if (leaf != 0) - leaf++; - else - leaf = path; - return leaf; -} - -static char * -data_of(LIST * list) -{ - if (list != 0 - && list->data != 0) - return list->data[list->choice]; - return 0; -} - -static void -free_list(LIST * list, int reinit) -{ - if (list->data != 0) { - int n; - - for (n = 0; list->data[n] != 0; n++) - free(list->data[n]); - free(list->data); - list->data = 0; - } - if (reinit) - init_list(list, list->par, list->win, list->mousex); -} - -static void -add_to_list(LIST * list, char *text) -{ - unsigned need; - - need = (unsigned) (list->length + 1); - if (need + 1 > list->allocd) { - list->allocd = 2 * (need + 1); - if (list->data == 0) { - list->data = dlg_malloc(char *, list->allocd); - } else { - list->data = dlg_realloc(char *, list->allocd, list->data); - } - assert_ptr(list->data, "add_to_list"); - } - list->data[list->length++] = dlg_strclone(text); - list->data[list->length] = 0; -} - -static void -keep_visible(LIST * list) -{ - int high = getmaxy(list->win); - - if (list->choice < list->offset) { - list->offset = list->choice; - } - if (list->choice - list->offset >= high) - list->offset = list->choice - high + 1; -} - -#define Value(c) (int)((c) & 0xff) - -static int -find_choice(char *target, LIST * list) -{ - int choice = list->choice; - - if (*target == 0) { - list->choice = 0; - } else { - int n; - int len_1, cmp_1; - - /* find the match with the longest length. If more than one has the - * same length, choose the one with the closest match of the final - * character. - */ - len_1 = 0; - cmp_1 = 256; - for (n = 0; n < list->length; n++) { - char *a = target; - char *b = list->data[n]; - int len_2, cmp_2; - - len_2 = 0; - while ((*a != 0) && (*b != 0) && (*a == *b)) { - a++; - b++; - len_2++; - } - cmp_2 = Value(*a) - Value(*b); - if (cmp_2 < 0) - cmp_2 = -cmp_2; - if ((len_2 > len_1) - || (len_1 == len_2 && cmp_2 < cmp_1)) { - len_1 = len_2; - cmp_1 = cmp_2; - list->choice = n; - } - } - } - if (choice != list->choice) { - keep_visible(list); - } - return (choice != list->choice); -} - -static void -display_list(LIST * list) -{ - if (list->win != 0) { - int n; - int x; - int y; - int top; - int bottom; - - dlg_attr_clear(list->win, getmaxy(list->win), getmaxx(list->win), item_attr); - for (n = list->offset; n < list->length && list->data[n]; n++) { - y = n - list->offset; - if (y >= getmaxy(list->win)) - break; - (void) wmove(list->win, y, 0); - if (n == list->choice) - dlg_attrset(list->win, item_selected_attr); - (void) waddstr(list->win, list->data[n]); - dlg_attrset(list->win, item_attr); - } - dlg_attrset(list->win, item_attr); - - getparyx(list->win, y, x); - - top = y - 1; - bottom = y + getmaxy(list->win); - dlg_draw_scrollbar(list->par, - (long) list->offset, - (long) list->offset, - (long) (list->offset + getmaxy(list->win)), - (long) (list->length), - x + 1, - x + getmaxx(list->win), - top, - bottom, - menubox_border2_attr, - menubox_border_attr); - - (void) wmove(list->win, list->choice - list->offset, 0); - (void) wnoutrefresh(list->win); - } -} - -/* FIXME: see arrows.c - * This workaround is used to allow two lists to have scroll-tabs at the same - * time, by reassigning their return-values to be different. Just for - * readability, we use the names of keys with similar connotations, though all - * that is really required is that they're distinct, so we can put them in a - * switch statement. - */ -#if USE_MOUSE -static void -fix_arrows(LIST * list) -{ - if (list->win != 0) { - int x; - int y; - int top; - int right; - int bottom; - - getparyx(list->win, y, x); - top = y - 1; - right = getmaxx(list->win); - bottom = y + getmaxy(list->win); - - mouse_mkbutton(top, x, right, - ((list->mousex == MOUSE_D) - ? KEY_PREVIOUS - : KEY_PPAGE)); - mouse_mkbutton(bottom, x, right, - ((list->mousex == MOUSE_D) - ? KEY_NEXT - : KEY_NPAGE)); - } -} - -#else -#define fix_arrows(list) /* nothing */ -#endif - -static bool -show_list(char *target, LIST * list, bool keep) -{ - bool changed = keep || find_choice(target, list); - display_list(list); - return changed; -} - -/* - * Highlight the closest match to 'target' in the given list, setting offset - * to match. - */ -static bool -show_both_lists(char *input, LIST * d_list, LIST * f_list, bool keep) -{ - char *leaf = leaf_of(input); - - return show_list(leaf, d_list, keep) || show_list(leaf, f_list, keep); -} - -/* - * Move up/down in the given list - */ -static bool -change_list(int choice, LIST * list) -{ - if (data_of(list) != 0) { - int last = list->length - 1; - - choice += list->choice; - if (choice < 0) - choice = 0; - if (choice > last) - choice = last; - list->choice = choice; - keep_visible(list); - display_list(list); - return TRUE; - } - return FALSE; -} - -static void -scroll_list(int direction, LIST * list) -{ - if (data_of(list) != 0) { - int length = getmaxy(list->win); - if (change_list(direction * length, list)) - return; - } - beep(); -} - -static int -compar(const void *a, const void *b) -{ - return strcmp(*(const char *const *) a, *(const char *const *) b); -} - -static void -match(char *name, LIST * d_list, LIST * f_list, MATCH * match_list) -{ - char *test = leaf_of(name); - size_t test_len = strlen(test); - char **matches = dlg_malloc(char *, (size_t) (d_list->length + f_list->length)); - size_t data_len = 0; - - if (matches != 0) { - int i; - char **new_ptr; - - for (i = 2; i < d_list->length; i++) { - if (strncmp(test, d_list->data[i], test_len) == 0) { - matches[data_len++] = d_list->data[i]; - } - } - for (i = 0; i < f_list->length; i++) { - if (strncmp(test, f_list->data[i], test_len) == 0) { - matches[data_len++] = f_list->data[i]; - } - } - if ((new_ptr = dlg_realloc(char *, data_len + 1, matches)) != 0) { - matches = new_ptr; - } else { - free(matches); - matches = 0; - data_len = 0; - } - } - match_list->data = matches; - match_list->length = (int) data_len; -} - -static void -free_match(MATCH * match_list) -{ - free(match_list->data); - match_list->length = 0; -} - -static int -complete(char *name, LIST * d_list, LIST * f_list, char **buff_ptr) -{ - MATCH match_list; - char *test; - size_t test_len; - size_t i; - char *buff; - - match(name, d_list, f_list, &match_list); - if (match_list.length == 0) { - free(match_list.data); - *buff_ptr = NULL; - return 0; - } - - test = match_list.data[0]; - test_len = strlen(test); - buff = dlg_malloc(char, test_len + 2); - if (match_list.length == 1) { - strcpy(buff, test); - i = test_len; - if (test == data_of(d_list)) { - buff[test_len] = '/'; - i++; - } - } else { - int j; - - for (i = 0; i < test_len; i++) { - char test_char = test[i]; - if (test_char == '\0') - break; - for (j = 0; j < match_list.length; j++) { - if (match_list.data[j][i] != test_char) { - break; - } - } - if (j == match_list.length) { - (buff)[i] = test_char; - } else - break; - } - buff = dlg_realloc(char, i + 1, buff); - } - free_match(&match_list); - buff[i] = '\0'; - *buff_ptr = buff; - return (i != 0); -} - -static bool -fill_lists(char *current, char *input, LIST * d_list, LIST * f_list, bool keep) -{ - bool result = TRUE; - bool rescan = FALSE; - struct stat sb; - int n; - char path[MAX_LEN + 1]; - - /* check if we've updated the lists */ - for (n = 0; current[n] && input[n]; n++) { - if (current[n] != input[n]) - break; - } - - if (current[n] == input[n]) { - result = FALSE; - rescan = (n == 0 && d_list->length == 0); - } else if (strchr(current + n, '/') == 0 - && strchr(input + n, '/') == 0) { - result = show_both_lists(input, d_list, f_list, keep); - } else { - rescan = TRUE; - } - - if (rescan) { - DIR *dp; - size_t have = strlen(input); - char *leaf; - - if (have > MAX_LEN) - have = MAX_LEN; - memcpy(current, input, have); - current[have] = '\0'; - - /* refill the lists */ - free_list(d_list, TRUE); - free_list(f_list, TRUE); - memcpy(path, current, have); - path[have] = '\0'; - if ((leaf = strrchr(path, '/')) != 0) { - *++leaf = 0; - } else { - strcpy(path, "./"); - leaf = path + strlen(path); - } - DLG_TRACE(("opendir '%s'\n", path)); - if ((dp = opendir(path)) != 0) { - DIRENT *de; - - while ((de = readdir(dp)) != 0) { - size_t len = NAMLEN(de); - if (len == 0 || (len + have + 2) >= MAX_LEN) - continue; - memcpy(leaf, de->d_name, len); - leaf[len] = '\0'; - if (stat(path, &sb) == 0) { - if ((sb.st_mode & S_IFMT) == S_IFDIR) - add_to_list(d_list, leaf); - else if (f_list->win) - add_to_list(f_list, leaf); - } - } - (void) closedir(dp); - /* sort the lists */ - if (d_list->data != 0 && d_list->length > 1) { - qsort(d_list->data, - (size_t) d_list->length, - sizeof(d_list->data[0]), - compar); - } - if (f_list->data != 0 && f_list->length > 1) { - qsort(f_list->data, - (size_t) f_list->length, - sizeof(f_list->data[0]), - compar); - } - } - - (void) show_both_lists(input, d_list, f_list, FALSE); - d_list->offset = d_list->choice; - f_list->offset = f_list->choice; - result = TRUE; - } - return result; -} - -static bool -usable_state(int state, LIST * dirs, LIST * files) -{ - bool result; - - switch (state) { - case sDIRS: - result = (dirs->win != 0) && (data_of(dirs) != 0); - break; - case sFILES: - result = (files->win != 0) && (data_of(files) != 0); - break; - default: - result = TRUE; - break; - } - return result; -} - -#define which_list() ((state == sFILES) \ - ? &f_list \ - : ((state == sDIRS) \ - ? &d_list \ - : 0)) -#define NAVIGATE_BINDINGS \ - DLG_KEYS_DATA( DLGK_FIELD_NEXT, KEY_RIGHT ), \ - DLG_KEYS_DATA( DLGK_FIELD_NEXT, TAB ), \ - DLG_KEYS_DATA( DLGK_FIELD_PREV, KEY_BTAB ), \ - DLG_KEYS_DATA( DLGK_ITEM_NEXT, KEY_DOWN ), \ - DLG_KEYS_DATA( DLGK_ITEM_NEXT, CHR_NEXT ), \ - DLG_KEYS_DATA( DLGK_ITEM_NEXT, KEY_NEXT ), \ - DLG_KEYS_DATA( DLGK_ITEM_PREV, CHR_PREVIOUS ), \ - DLG_KEYS_DATA( DLGK_ITEM_PREV, KEY_UP ), \ - DLG_KEYS_DATA( DLGK_PAGE_NEXT, KEY_NPAGE ), \ - DLG_KEYS_DATA( DLGK_PAGE_PREV, KEY_PPAGE ) - -/* - * Display a dialog box for entering a filename - */ -static int -dlg_fselect(const char *title, const char *path, int height, int width, int dselect) -{ - /* *INDENT-OFF* */ - static DLG_KEYS_BINDING binding[] = { - HELPKEY_BINDINGS, - ENTERKEY_BINDINGS, - NAVIGATE_BINDINGS, - TOGGLEKEY_BINDINGS, - END_KEYS_BINDING - }; - static DLG_KEYS_BINDING binding2[] = { - INPUTSTR_BINDINGS, - HELPKEY_BINDINGS, - ENTERKEY_BINDINGS, - NAVIGATE_BINDINGS, - TOGGLEKEY_BINDINGS, - END_KEYS_BINDING - }; - /* *INDENT-ON* */ - -#ifdef KEY_RESIZE - int old_height = height; - int old_width = width; - bool resized = FALSE; -#endif - int tbox_y, tbox_x, tbox_width, tbox_height; - int dbox_y, dbox_x, dbox_width, dbox_height; - int fbox_y, fbox_x, fbox_width, fbox_height; - int show_buttons = TRUE; - int offset = 0; - int key = 0; - int fkey = FALSE; - int code; - int result = DLG_EXIT_UNKNOWN; - int state = dialog_vars.default_button >= 0 ? dlg_default_button() : sTEXT; - int button; - bool first = (state == sTEXT); - bool first_trace = TRUE; - char *input; - char *completed; - char current[MAX_LEN + 1]; - WINDOW *dialog = 0; - WINDOW *w_text = 0; - WINDOW *w_work = 0; - const char **buttons = dlg_ok_labels(); - const char *d_label = _("Directories"); - const char *f_label = _("Files"); - char *partial = 0; - int min_wide = MIN_WIDE; - int min_items = height ? 0 : 4; - LIST d_list, f_list; - - DLG_TRACE(("# %s args:\n", dselect ? "dselect" : "fselect")); - DLG_TRACE2S("title", title); - DLG_TRACE2S("path", path); - DLG_TRACE2N("height", height); - DLG_TRACE2N("width", width); - - dlg_does_output(); - - /* Set up the initial value */ - input = dlg_set_result(path); - offset = (int) strlen(input); - *current = 0; - - dlg_button_layout(buttons, &min_wide); - -#ifdef KEY_RESIZE - retry: -#endif - dlg_auto_size(title, "", &height, &width, MIN_HIGH + min_items, min_wide); - - dlg_print_size(height, width); - dlg_ctl_size(height, width); - - dialog = dlg_new_window(height, width, - dlg_box_y_ordinate(height), - dlg_box_x_ordinate(width)); - dlg_register_window(dialog, "fselect", binding); - dlg_register_buttons(dialog, "fselect", buttons); - - dlg_mouse_setbase(0, 0); - - dlg_draw_box2(dialog, 0, 0, height, width, dialog_attr, border_attr, border2_attr); - dlg_draw_bottom_box2(dialog, border_attr, border2_attr, dialog_attr); - dlg_draw_title(dialog, title); - - dlg_attrset(dialog, dialog_attr); - - /* Draw the input field box */ - tbox_height = 1; - tbox_width = width - (4 * MARGIN + 2); - tbox_y = height - (BTN_HIGH * 2) + MARGIN; - tbox_x = (width - tbox_width) / 2; - - w_text = dlg_der_window(dialog, tbox_height, tbox_width, tbox_y, tbox_x); - if (w_text == 0) { - result = DLG_EXIT_ERROR; - goto finish; - } - - dlg_draw_box(dialog, tbox_y - MARGIN, tbox_x - MARGIN, - (2 * MARGIN + 1), tbox_width + (MARGIN + EXT_WIDE), - menubox_border_attr, menubox_border2_attr); - dlg_mouse_mkbigregion(getbegy(dialog) + tbox_y - MARGIN, - getbegx(dialog) + tbox_x - MARGIN, - 1 + (2 * MARGIN), - tbox_width + (MARGIN + EXT_WIDE), - MOUSE_T, 1, 1, 3 /* doesn't matter */ ); - - dlg_register_window(w_text, "fselect2", binding2); - - /* Draw the directory listing box */ - if (dselect) - dbox_width = (width - (6 * MARGIN)); - else - dbox_width = (width - (6 * MARGIN + 2 * EXT_WIDE)) / 2; - dbox_height = height - MIN_HIGH; - dbox_y = (2 * MARGIN + 1); - dbox_x = tbox_x; - - w_work = dlg_der_window(dialog, dbox_height, dbox_width, dbox_y, dbox_x); - if (w_work == 0) { - result = DLG_EXIT_ERROR; - goto finish; - } - - (void) mvwaddstr(dialog, dbox_y - (MARGIN + 1), dbox_x - MARGIN, d_label); - dlg_draw_box(dialog, - dbox_y - MARGIN, dbox_x - MARGIN, - dbox_height + (MARGIN + 1), dbox_width + (MARGIN + 1), - menubox_border_attr, menubox_border2_attr); - init_list(&d_list, dialog, w_work, MOUSE_D); - - if (!dselect) { - /* Draw the filename listing box */ - fbox_height = dbox_height; - fbox_width = dbox_width; - fbox_y = dbox_y; - fbox_x = tbox_x + dbox_width + (2 * MARGIN); - - w_work = dlg_der_window(dialog, fbox_height, fbox_width, fbox_y, fbox_x); - if (w_work == 0) { - result = DLG_EXIT_ERROR; - goto finish; - } - - (void) mvwaddstr(dialog, fbox_y - (MARGIN + 1), fbox_x - MARGIN, f_label); - dlg_draw_box(dialog, - fbox_y - MARGIN, fbox_x - MARGIN, - fbox_height + (MARGIN + 1), fbox_width + (MARGIN + 1), - menubox_border_attr, menubox_border2_attr); - init_list(&f_list, dialog, w_work, MOUSE_F); - } else { - memset(&f_list, 0, sizeof(f_list)); - } - - while (result == DLG_EXIT_UNKNOWN) { - - if (fill_lists(current, input, &d_list, &f_list, state < sTEXT)) - show_buttons = TRUE; - -#ifdef KEY_RESIZE - if (resized) { - resized = FALSE; - dlg_show_string(w_text, input, offset, inputbox_attr, - 0, 0, tbox_width, FALSE, first); - } -#endif - - /* - * The last field drawn determines where the cursor is shown: - */ - if (show_buttons) { - show_buttons = FALSE; - button = (state < 0) ? 0 : state; - dlg_draw_buttons(dialog, height - 2, 0, buttons, button, FALSE, width); - } - - if (first_trace) { - first_trace = FALSE; - dlg_trace_win(dialog); - } - - if (state < 0) { - switch (state) { - case sTEXT: - dlg_set_focus(dialog, w_text); - break; - case sFILES: - dlg_set_focus(dialog, f_list.win); - break; - case sDIRS: - dlg_set_focus(dialog, d_list.win); - break; - } - } - - if (first) { - (void) wrefresh(dialog); - } else { - fix_arrows(&d_list); - fix_arrows(&f_list); - key = dlg_mouse_wgetch((state == sTEXT) ? w_text : dialog, &fkey); - if (dlg_result_key(key, fkey, &result)) { - if (!dlg_button_key(result, &button, &key, &fkey)) - break; - } - } - - if (key == DLGK_TOGGLE) { - key = DLGK_SELECT; - fkey = TRUE; - } - - if (fkey) { - switch (key) { - case DLGK_MOUSE(KEY_PREVIOUS): - state = sDIRS; - scroll_list(-1, which_list()); - continue; - case DLGK_MOUSE(KEY_NEXT): - state = sDIRS; - scroll_list(1, which_list()); - continue; - case DLGK_MOUSE(KEY_PPAGE): - state = sFILES; - scroll_list(-1, which_list()); - continue; - case DLGK_MOUSE(KEY_NPAGE): - state = sFILES; - scroll_list(1, which_list()); - continue; - case DLGK_PAGE_PREV: - scroll_list(-1, which_list()); - continue; - case DLGK_PAGE_NEXT: - scroll_list(1, which_list()); - continue; - case DLGK_ITEM_PREV: - if (change_list(-1, which_list())) - continue; - /* FALLTHRU */ - case DLGK_FIELD_PREV: - show_buttons = TRUE; - do { - state = dlg_prev_ok_buttonindex(state, sDIRS); - } while (!usable_state(state, &d_list, &f_list)); - continue; - case DLGK_ITEM_NEXT: - if (change_list(1, which_list())) - continue; - /* FALLTHRU */ - case DLGK_FIELD_NEXT: - show_buttons = TRUE; - do { - state = dlg_next_ok_buttonindex(state, sDIRS); - } while (!usable_state(state, &d_list, &f_list)); - continue; - case DLGK_SELECT: - completed = 0; - if (partial != 0) { - free(partial); - partial = 0; - } - if (state == sFILES && !dselect) { - completed = data_of(&f_list); - } else if (state == sDIRS) { - completed = data_of(&d_list); - } else { - if (complete(input, &d_list, &f_list, &partial)) { - completed = partial; - } - } - if (completed != 0) { - state = sTEXT; - show_buttons = TRUE; - strcpy(leaf_of(input), completed); - offset = (int) strlen(input); - dlg_show_string(w_text, input, offset, inputbox_attr, - 0, 0, tbox_width, 0, first); - if (partial != NULL) { - free(partial); - partial = 0; - } - continue; - } else { /* if (state < sTEXT) */ - (void) beep(); - continue; - } - /* FALLTHRU */ - case DLGK_ENTER: - result = (state > 0) ? dlg_enter_buttoncode(state) : DLG_EXIT_OK; - continue; - case DLGK_LEAVE: - if (state >= 0) - result = dlg_ok_buttoncode(state); - break; -#ifdef KEY_RESIZE - case KEY_RESIZE: - dlg_will_resize(dialog); - /* reset data */ - height = old_height; - width = old_width; - show_buttons = TRUE; - *current = 0; - resized = TRUE; - /* repaint */ - free_list(&d_list, FALSE); - free_list(&f_list, FALSE); - _dlg_resize_cleanup(dialog); - goto retry; -#endif - default: - if (key >= DLGK_MOUSE(MOUSE_T)) { - state = sTEXT; - continue; - } else if (key >= DLGK_MOUSE(MOUSE_F)) { - if (f_list.win != 0) { - state = sFILES; - f_list.choice = (key - DLGK_MOUSE(MOUSE_F)) + f_list.offset; - display_list(&f_list); - } - continue; - } else if (key >= DLGK_MOUSE(MOUSE_D)) { - if (d_list.win != 0) { - state = sDIRS; - d_list.choice = (key - DLGK_MOUSE(MOUSE_D)) + d_list.offset; - display_list(&d_list); - } - continue; - } else if (is_DLGK_MOUSE(key) - && (code = dlg_ok_buttoncode(key - M_EVENT)) >= 0) { - result = code; - continue; - } - break; - } - } - - if (state < 0) { /* Input box selected if we're editing */ - int edit = dlg_edit_string(input, &offset, key, fkey, first); - - if (edit) { - dlg_show_string(w_text, input, offset, inputbox_attr, - 0, 0, tbox_width, 0, first); - first = FALSE; - state = sTEXT; - } - } else if ((code = dlg_char_to_button(key, buttons)) >= 0) { - result = dlg_ok_buttoncode(code); - break; - } - } - AddLastKey(); - - dlg_unregister_window(w_text); - dlg_del_window(dialog); - dlg_mouse_free_regions(); - free_list(&d_list, FALSE); - free_list(&f_list, FALSE); - - finish: - if (partial != 0) - free(partial); - return result; -} - -/* - * Display a dialog box for entering a filename - */ -int -dialog_fselect(const char *title, const char *path, int height, int width) -{ - return dlg_fselect(title, path, height, width, FALSE); -} - -/* - * Display a dialog box for entering a directory - */ -int -dialog_dselect(const char *title, const char *path, int height, int width) -{ - return dlg_fselect(title, path, height, width, TRUE); -} diff --git a/contrib/dialog/guage.c b/contrib/dialog/guage.c deleted file mode 100644 index 5895330c6d56..000000000000 --- a/contrib/dialog/guage.c +++ /dev/null @@ -1,456 +0,0 @@ -/* - * $Id: guage.c,v 1.83 2020/03/27 20:54:43 tom Exp $ - * - * guage.c -- implements the gauge dialog - * - * Copyright 2000-2019,2020 Thomas E. Dickey - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License, version 2.1 - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this program; if not, write to - * Free Software Foundation, Inc. - * 51 Franklin St., Fifth Floor - * Boston, MA 02110, USA. - * - * An earlier version of this program lists as authors - * Marc Ewing, Red Hat Software - */ - -#include <dialog.h> - -#include <errno.h> - -#define MY_LEN (MAX_LEN)/2 - -#define MIN_HIGH (4) -#define MIN_WIDE (10 + 2 * (2 + MARGIN)) - -#define isMarker(buf) !strncmp(buf, "XXX", (size_t) 3) - -typedef struct _my_obj { - DIALOG_CALLBACK obj; /* has to be first in struct */ - struct _my_obj *next; - WINDOW *text; - char *title; - char *prompt; - char prompt_buf[MY_LEN]; - int percent; - int height; - int width; - char line[MAX_LEN + 1]; -} MY_OBJ; - -static MY_OBJ *all_objects; - -static int -valid(MY_OBJ * obj) -{ - MY_OBJ *list = all_objects; - int result = 0; - - while (list != 0) { - if (list == obj) { - result = 1; - break; - } - list = list->next; - } - return result; -} - -static void -delink(MY_OBJ * obj) -{ - MY_OBJ *p = all_objects; - MY_OBJ *q = 0; - while (p != 0) { - if (p == obj) { - if (q != 0) { - q->next = p->next; - } else { - all_objects = p->next; - } - break; - } - q = p; - p = p->next; - } -} - -static int -read_data(char *buffer, FILE *fp) -{ - int result; - - if (feof(fp)) { - result = 0; - } else if (fgets(buffer, MY_LEN, fp) != 0) { - DLG_TRACE(("read_data:%s", buffer)); - buffer[MY_LEN] = '\0'; - dlg_trim_string(buffer); - result = 1; - } else { - result = -1; - } - return result; -} - -static int -decode_percent(char *buffer) -{ - char *tmp = 0; - long value = strtol(buffer, &tmp, 10); - - if (tmp != 0 && (*tmp == 0 || isspace(UCH(*tmp))) && value >= 0) { - return TRUE; - } - return FALSE; -} - -static void -repaint_text(MY_OBJ * obj) -{ - WINDOW *dialog = obj->obj.win; - - if (dialog != 0) { - int i, x; - - (void) werase(dialog); - dlg_draw_box2(dialog, 0, 0, obj->height, obj->width, dialog_attr, - border_attr, border2_attr); - - dlg_draw_title(dialog, obj->title); - - dlg_attrset(dialog, dialog_attr); - dlg_draw_helpline(dialog, FALSE); - dlg_print_autowrap(dialog, obj->prompt, obj->height, obj->width); - - dlg_draw_box2(dialog, - obj->height - 4, 2 + MARGIN, - 2 + MARGIN, obj->width - 2 * (2 + MARGIN), - dialog_attr, - border_attr, - border2_attr); - - /* - * Clear the area for the progress bar by filling it with spaces - * in the gauge-attribute, and write the percentage with that - * attribute. - */ - (void) wmove(dialog, obj->height - 3, 4); - dlg_attrset(dialog, gauge_attr); - - for (i = 0; i < (obj->width - 2 * (3 + MARGIN)); i++) - (void) waddch(dialog, ' '); - - (void) wmove(dialog, obj->height - 3, (obj->width / 2) - 2); - (void) wprintw(dialog, "%3d%%", obj->percent); - - /* - * Now draw a bar in reverse, relative to the background. - * The window attribute was useful for painting the background, - * but requires some tweaks to reverse it. - */ - x = (obj->percent * (obj->width - 2 * (3 + MARGIN))) / 100; - if ((gauge_attr & A_REVERSE) != 0) { - dlg_attroff(dialog, A_REVERSE); - } else { - dlg_attrset(dialog, A_REVERSE); - } - (void) wmove(dialog, obj->height - 3, 4); - for (i = 0; i < x; i++) { - chtype ch2 = winch(dialog); - if (gauge_attr & A_REVERSE) { - ch2 &= ~A_REVERSE; - } - (void) waddch(dialog, ch2); - } - - (void) wrefresh(dialog); - } -} - -static bool -handle_input(DIALOG_CALLBACK * cb) -{ - MY_OBJ *obj = (MY_OBJ *) cb; - bool result; - bool cleanup = FALSE; - int status; - char buf[MY_LEN + 1]; - - if (dialog_state.pipe_input == 0) { - status = -1; - cleanup = TRUE; - } else if ((status = read_data(buf, dialog_state.pipe_input)) > 0) { - - if (isMarker(buf)) { - /* - * Historically, next line should be percentage, but one of the - * worse-written clones of 'dialog' assumes the number is missing. - * (Gresham's Law applied to software). - */ - if ((status = read_data(buf, dialog_state.pipe_input)) > 0) { - - obj->prompt_buf[0] = '\0'; - if (decode_percent(buf)) - obj->percent = atoi(buf); - else - strcpy(obj->prompt_buf, buf); - - /* Rest is message text */ - while ((status = read_data(buf, dialog_state.pipe_input)) > 0 - && !isMarker(buf)) { - if (strlen(obj->prompt_buf) + strlen(buf) < - sizeof(obj->prompt_buf) - 1) { - strcat(obj->prompt_buf, buf); - } - } - - if (obj->prompt != obj->prompt_buf) - free(obj->prompt); - obj->prompt = obj->prompt_buf; - } - } else if (decode_percent(buf)) { - obj->percent = atoi(buf); - } - } else { - if (feof(dialog_state.pipe_input) || - (ferror(dialog_state.pipe_input) && errno != EINTR)) { - cleanup = TRUE; - } - } - - repaint_text(obj); - if (status > 0) { - result = TRUE; - } else { - result = FALSE; - if (cleanup) { - dlg_remove_callback(cb); - delink(obj); - } - } - - return result; -} - -static bool -handle_my_getc(DIALOG_CALLBACK * cb, int ch, int fkey, int *result) -{ - bool status = TRUE; - - *result = DLG_EXIT_OK; - if (cb != 0) { - if (!fkey && (ch == ERR)) { - (void) handle_input(cb); - /* cb might be freed in handle_input */ - status = (valid((MY_OBJ *) cb) && (cb->input != 0)); - } - } else { - status = FALSE; - } - return status; -} - -static void -my_cleanup(DIALOG_CALLBACK * cb) -{ - MY_OBJ *obj = (MY_OBJ *) cb; - - if (valid(obj)) { - if (obj->prompt != obj->prompt_buf) { - free(obj->prompt); - obj->prompt = obj->prompt_buf; - } - free(obj->title); - dlg_del_window(obj->obj.win); - delink(obj); - } -} - -void -dlg_update_gauge(void *objptr, int percent) -{ - MY_OBJ *obj = (MY_OBJ *) objptr; - bool save_finish_string = dialog_state.finish_string; - - dialog_state.finish_string = TRUE; - curs_set(0); - obj->percent = percent; - repaint_text(obj); - dialog_state.finish_string = save_finish_string; -} - -/* - * (Re)Allocates an object and fills it as per the arguments - */ -void * -dlg_reallocate_gauge(void *objptr, - const char *title, - const char *cprompt, - int height, - int width, - int percent) -{ - char *prompt = dlg_strclone(cprompt); - MY_OBJ *obj; - bool save_finish_string = dialog_state.finish_string; - - dialog_state.finish_string = TRUE; - dlg_tab_correct_str(prompt); - - if (objptr == 0) { - /* create a new object */ - obj = dlg_calloc(MY_OBJ, 1); - assert_ptr(obj, "dialog_gauge"); - - dlg_auto_size(title, prompt, &height, &width, MIN_HIGH, MIN_WIDE); - dlg_print_size(height, width); - dlg_ctl_size(height, width); - - } else { - /* reuse an existing object */ - obj = objptr; - height = obj->height; - width = obj->width; - } - - if (obj->obj.win == 0) { - /* center dialog box on screen */ - int x = dlg_box_x_ordinate(width); - int y = dlg_box_y_ordinate(height); - WINDOW *dialog = dlg_new_window(height, width, y, x); - obj->obj.win = dialog; - } - - obj->obj.input = dialog_state.pipe_input; - obj->obj.keep_win = TRUE; - obj->obj.bg_task = TRUE; - obj->obj.handle_getc = handle_my_getc; - obj->obj.handle_input = handle_input; - - if (obj->title == 0 || strcmp(obj->title, title)) { - dlg_finish_string(obj->title); - free(obj->title); - obj->title = dlg_strclone(title); - } - - dlg_finish_string(obj->prompt); - free(obj->prompt); - - obj->prompt = prompt; - obj->percent = percent; - obj->height = height; - obj->width = width; - - /* if this was a new object, link it into the list */ - if (objptr == 0) { - obj->next = all_objects; - all_objects = obj; - } - - dialog_state.finish_string = save_finish_string; - return (void *) obj; -} - -void * -dlg_allocate_gauge(const char *title, - const char *cprompt, - int height, - int width, - int percent) -{ - return dlg_reallocate_gauge(NULL, title, cprompt, height, width, percent); -} - -void -dlg_free_gauge(void *objptr) -{ - MY_OBJ *obj = (MY_OBJ *) objptr; - - if (valid(obj)) { - if (obj->title) - free(obj->title); - if (obj->prompt) - free(obj->prompt); - obj->obj.keep_win = FALSE; - dlg_remove_callback(&(obj->obj)); - delink(obj); - } - curs_set(1); -} - -/* - * Display a gauge, or progress meter. Starts at percent% and reads stdin. If - * stdin is not XXX, then it is interpreted as a percentage, and the display is - * updated accordingly. Otherwise the next line is the percentage, and - * subsequent lines up to another XXX are used for the new prompt. Note that - * the size of the window never changes, so the prompt can not get any larger - * than the height and width specified. - */ -int -dialog_gauge(const char *title, - const char *cprompt, - int height, - int width, - int percent) -{ - int fkey; - int ch, result; - void *objptr = dlg_allocate_gauge(title, cprompt, height, width, percent); - MY_OBJ *obj = (MY_OBJ *) objptr; - - DLG_TRACE(("# gauge args:\n")); - DLG_TRACE2S("title", title); - DLG_TRACE2S("message", cprompt); - DLG_TRACE2N("height", height); - DLG_TRACE2N("width", width); - DLG_TRACE2N("percent", percent); - - dlg_add_callback_ref((DIALOG_CALLBACK **) & obj, my_cleanup); - dlg_update_gauge(obj, percent); - - dlg_trace_win(obj->obj.win); - do { - ch = dlg_getc(obj->obj.win, &fkey); -#ifdef KEY_RESIZE - if (fkey && ch == KEY_RESIZE) { - MY_OBJ *oldobj = obj; - - dlg_will_resize(obj->obj.win); - - obj = dlg_allocate_gauge(title, - cprompt, - height, - width, - oldobj->percent); - - /* avoid breaking new window in dlg_remove_callback */ - oldobj->obj.caller = 0; - oldobj->obj.input = 0; - oldobj->obj.keep_win = FALSE; - - /* remove the old version of the gauge */ - _dlg_resize_cleanup(oldobj->obj.win); - dlg_remove_callback(&(oldobj->obj)); - - dlg_add_callback_ref((DIALOG_CALLBACK **) & obj, my_cleanup); - dlg_update_gauge(obj, obj->percent); - } -#endif - } - while (valid(obj) && handle_my_getc(&(obj->obj), ch, fkey, &result)); - - dlg_free_gauge(obj); - - return (DLG_EXIT_OK); -} diff --git a/contrib/dialog/headers-sh.in b/contrib/dialog/headers-sh.in deleted file mode 100755 index 9bad19fbd25f..000000000000 --- a/contrib/dialog/headers-sh.in +++ /dev/null @@ -1,199 +0,0 @@ -#! /bin/sh -# $Id: headers-sh.in,v 1.11 2011/10/18 23:49:13 tom Exp $ -############################################################################## -# Copyright (c) 2004-2007,2011 Thomas E. Dickey # -# # -# Permission is hereby granted, free of charge, to any person obtaining a # -# copy of this software and associated documentation files (the "Software"), # -# to deal in the Software without restriction, including without limitation # -# the rights to use, copy, modify, merge, publish, distribute, distribute # -# with modifications, sublicense, and/or sell copies of the Software, and to # -# permit persons to whom the Software is furnished to do so, subject to the # -# following conditions: # -# # -# The above copyright notice and this permission notice shall be included in # -# all copies or substantial portions of the Software. # -# # -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # -# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # -# DEALINGS IN THE SOFTWARE. # -# # -# Except as contained in this notice, the name(s) of the above copyright # -# holders shall not be used in advertising or otherwise to promote the sale, # -# use or other dealings in this Software without prior written # -# authorization. # -############################################################################## -# -# Adjust includes for header files that reside in a subdirectory of -# /usr/include, etc. -# -# Parameters (the first case creates the sed script): -# $1 is the target directory -# $2 is the source directory -# or (the second case does the install, using the sed script): -# $1 is the script to use for installing -# $2 is the target directory -# $3 is the source directory -# $4 is the file to install, editing source/target/etc. - -PACKAGE=@PACKAGE@ -PKGNAME=@PACKAGE_PREFIX@ -CONFIGH=@PACKAGE_CONFIG@ -SUB_INC=@SUB_INC@ - -: ${TMPDIR:=/tmp} - -TMPSED=headers.sed - -DIGIT=0123456789 -alpha=abcdefghijklmnopqrstuvwxyz -ALPHA=ABCDEFGHIJKLMNOPQRSTUVWXYZ - -alnum=_${DIGIT}${alpha} -ALNUM=_${DIGIT}${ALPHA} -MIXED=_${DIGIT}${ALPHA}${alpha} - -pkgname=`echo "$PKGNAME" | tr "$ALPHA" "$alpha"` - -if test $# = 2 ; then - rm -f $TMPSED - DST=$1 - REF=$2 - LEAF=`basename $DST` - - # map the include-directory, if needed, to the subdirectory - case $DST in - /*/include/$LEAF) - END=`basename $DST` - for i in $REF/*.h - do - NAME=`basename $i` - echo "s/<$NAME>/<$END\/$NAME>/g" >> $TMPSED - done - ;; - *) - touch $TMPSED - ;; - esac - - # cannot do _this_ in -e options: - cat >headers.tmp <<EOF -s/^#[^ ][^ ]*// -s/[^'$MIXED']/ /g -s/[ ][ ]*/ /g -s/^ // -s/ $// -:split - h - s/ .*// - p - t next - b done -:next - x - s/^[^ ][^ ]* // - t split -:done -EOF - # pick up autoconf-style symbols used in the application's headers - for name in $REF/*.h - do - sed -e 's/^[ ][ ]*#[ ][ ]*/#/' $name \ - | egrep '^#(if|ifdef|ifndef|elif)' \ - | sed -f headers.tmp \ - | sort -u \ - | egrep '^(HAVE_|NEED_|NO_|ENABLE_|DISABLE_)' \ - | sed -e 's%^\(.*\)%s/\\<\1\\>/'${PKGNAME}'_\1/g%' >>$TMPSED - done - rm -f headers.tmp - - # pick up autoconf-defined symbols in the config.h file - for name in ` - egrep '^#define[ ][ ]*['$ALNUM']' $REF/$CONFIGH \ - | sed \ - -e 's/^#define[ ][ ]*//' \ - -e 's/[ ].*//' \ - | egrep -v "^${PACKAGE}_" \ - | sort -u` - do - echo "s/\\<$name\\>/${PKGNAME}_$name/g" >>$TMPSED - done - - if test "$SUB_INC" = yes - then - echo "s,#include <${pkgname}_,#include <${PACKAGE}/${pkgname}_," >>$TMPSED - fi - - echo '/_FILE_OFFSET_BITS/d' >>$TMPSED - - # reduce the count if possible, since some old sed's limit is 100 lines - sort -u $TMPSED >headers.tmp - mv headers.tmp $TMPSED -else - PRG="" - while test $# != 3 - do - PRG="$PRG $1"; shift - done - - DST=$1 - REF=$2 - SRC=$3 - - SHOW=`basename $SRC` - TMPSRC=$TMPDIR/${SHOW}-text$$ - TMPEDT=$TMPDIR/${SHOW}-edit$$ - TMPTMP=$TMPDIR/${SHOW}-temp$$ - - echo " ... $SHOW" - test -f $REF/$SRC && SRC="$REF/$SRC" - - rm -f $TMPSRC - cat $SRC >$TMPSRC - - tmp1=1 - while true - do - tmp2=`expr $tmp1 + 49` - if test $tmp1 = 1 - then - sed "${tmp2}q" $TMPSED >$TMPEDT - else - sed "1,${tmp1}d; ${tmp2}q" $TMPSED >$TMPEDT - fi - test -s $TMPEDT || break - sed -f $TMPEDT $TMPSRC > $TMPTMP - mv $TMPTMP $TMPSRC - tmp1=$tmp2 - done - - NAME=`basename $SRC` - - # Just in case someone gzip'd manpages, remove the conflicting copy. - test -f $DST/$NAME.gz && rm -f $DST/$NAME.gz - - if test "$SUB_INC" = yes - then - case $NAME in #(vi - ${pkgname}_*) #(vi - case "$PRG" in #(vi - *install*) - test -d $DST/$PACKAGE || mkdir -p $DST/$PACKAGE - ;; - esac - NAME=$PACKAGE/$NAME - ;; - *) - NAME=$PACKAGE.h - ;; - esac - fi - - eval $PRG $TMPSRC $DST/$NAME - rm -f $TMPEDT $TMPTMP $TMPSRC -fi -# vile:ts=4 sw=4 diff --git a/contrib/dialog/help.c b/contrib/dialog/help.c deleted file mode 100644 index ea0fade3cd92..000000000000 --- a/contrib/dialog/help.c +++ /dev/null @@ -1,54 +0,0 @@ -/* - * $Id: help.c,v 1.3 2012/12/04 02:01:10 tom Exp $ - * - * help.c -- implements the help dialog - * - * Copyright 2011,2012 Thomas E. Dickey - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License, version 2.1 - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this program; if not, write to - * Free Software Foundation, Inc. - * 51 Franklin St., Fifth Floor - * Boston, MA 02110, USA. - */ - -#include <dialog.h> - -/* - * Display a help-file as a textbox widget. - */ -int -dialog_helpfile(const char *title, - const char *file, - int height, - int width) -{ - int result = DLG_EXIT_ERROR; - DIALOG_VARS save; - - if (!dialog_vars.in_helpfile && file != 0 && *file != '\0') { - dlg_save_vars(&save); - - dialog_vars.no_label = NULL; - dialog_vars.ok_label = NULL; - dialog_vars.help_button = FALSE; - dialog_vars.extra_button = FALSE; - dialog_vars.nook = FALSE; - - dialog_vars.in_helpfile = TRUE; - - result = dialog_textbox(title, file, height, width); - - dlg_restore_vars(&save); - } - return (result); -} diff --git a/contrib/dialog/inputbox.c b/contrib/dialog/inputbox.c deleted file mode 100644 index 1199a5c8be7f..000000000000 --- a/contrib/dialog/inputbox.c +++ /dev/null @@ -1,274 +0,0 @@ -/* - * $Id: inputbox.c,v 1.93 2021/01/17 16:36:37 tom Exp $ - * - * inputbox.c -- implements the input box - * - * Copyright 2000-2020,2021 Thomas E. Dickey - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License, version 2.1 - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this program; if not, write to - * Free Software Foundation, Inc. - * 51 Franklin St., Fifth Floor - * Boston, MA 02110, USA. - * - * An earlier version of this program lists as authors: - * Savio Lam (lam836@cs.cuhk.hk) - */ - -#include <dlg_internals.h> -#include <dlg_keys.h> - -#define sTEXT -1 - -#define NAVIGATE_BINDINGS \ - DLG_KEYS_DATA( DLGK_FIELD_NEXT, KEY_DOWN ), \ - DLG_KEYS_DATA( DLGK_FIELD_NEXT, KEY_RIGHT ), \ - DLG_KEYS_DATA( DLGK_FIELD_NEXT, TAB ), \ - DLG_KEYS_DATA( DLGK_FIELD_PREV, KEY_BTAB ), \ - DLG_KEYS_DATA( DLGK_FIELD_PREV, KEY_LEFT ), \ - DLG_KEYS_DATA( DLGK_FIELD_PREV, KEY_UP ) - -#define BTN_HIGH 1 -#define HDR_HIGH 1 -#define MIN_HIGH (HDR_HIGH + (MARGIN * 2 + 1) + (BTN_HIGH + MARGIN * 2)) -#define MIN_WIDE 26 - -/* - * Display a dialog box for entering a string - */ -int -dialog_inputbox(const char *title, const char *cprompt, int height, int width, - const char *init, const int password) -{ - /* *INDENT-OFF* */ - static DLG_KEYS_BINDING binding[] = { - HELPKEY_BINDINGS, - ENTERKEY_BINDINGS, - NAVIGATE_BINDINGS, - TOGGLEKEY_BINDINGS, - END_KEYS_BINDING - }; - static DLG_KEYS_BINDING binding2[] = { - INPUTSTR_BINDINGS, - HELPKEY_BINDINGS, - ENTERKEY_BINDINGS, - NAVIGATE_BINDINGS, - /* no TOGGLEKEY_BINDINGS, since that includes space... */ - END_KEYS_BINDING - }; - /* *INDENT-ON* */ - -#ifdef KEY_RESIZE - int old_height = height; - int old_width = width; -#endif - int xorg, yorg; - int x, y, box_y, box_x, box_width; - int show_buttons; - int col_offset = 0; - int chr_offset = 0; - int key, fkey, code; - int result = DLG_EXIT_UNKNOWN; - int state; - bool first; - bool edited; - char *input; - WINDOW *dialog; - WINDOW *editor; - char *prompt = dlg_strclone(cprompt); - const char **buttons = dlg_ok_labels(); - - dlg_does_output(); - - DLG_TRACE(("# inputbox args:\n")); - DLG_TRACE2S("title", title); - DLG_TRACE2S("message", cprompt); - DLG_TRACE2N("height", height); - DLG_TRACE2N("width", width); - DLG_TRACE2S("init", init); - DLG_TRACE2N("password", password); - - dlg_tab_correct_str(prompt); - - /* Set up the initial value */ - input = dlg_set_result(init); - edited = FALSE; - -#ifdef KEY_RESIZE - retry: -#endif - show_buttons = TRUE; - state = dialog_vars.default_button >= 0 ? dlg_default_button() : sTEXT; - first = (state == sTEXT); - key = fkey = 0; - - if (init != NULL) { - dlg_auto_size(title, prompt, &height, &width, MIN_HIGH, - MIN(MAX(dlg_count_columns(init) + 7, MIN_WIDE), - SCOLS - (dialog_vars.begin_set ? - dialog_vars.begin_x : 0))); - chr_offset = (int) strlen(init); - } else { - dlg_auto_size(title, prompt, &height, &width, MIN_HIGH, MIN_WIDE); - } - dlg_button_layout(buttons, &width); - dlg_print_size(height, width); - dlg_ctl_size(height, width); - - xorg = dlg_box_x_ordinate(width); - yorg = dlg_box_y_ordinate(height); - - dialog = dlg_new_window(height, width, yorg, xorg); - dlg_register_window(dialog, "inputbox", binding); - dlg_register_buttons(dialog, "inputbox", buttons); - - dlg_mouse_setbase(xorg, yorg); - - dlg_draw_box2(dialog, 0, 0, height, width, dialog_attr, border_attr, border2_attr); - dlg_draw_bottom_box2(dialog, border_attr, border2_attr, dialog_attr); - dlg_draw_title(dialog, title); - - dlg_attrset(dialog, dialog_attr); - dlg_draw_helpline(dialog, FALSE); - dlg_print_autowrap(dialog, prompt, height, width); - - /* Draw the input field box */ - box_width = width - 6; - getyx(dialog, y, x); - (void) x; - box_y = y + 2; - box_x = (width - box_width) / 2; - dlg_mouse_mkregion(y + 1, box_x - 1, 3, box_width + 2, 'i'); - dlg_draw_box(dialog, y + 1, box_x - 1, 3, box_width + 2, - border_attr, border2_attr); - - /* Make a window for the input-field, to associate bindings */ - editor = dlg_sub_window(dialog, 1, box_width, yorg + box_y, xorg + box_x); - dlg_register_window(editor, "inputbox2", binding2); - - if (*input != '\0') { - dlg_show_string(editor, input, chr_offset, inputbox_attr, - 0, 0, box_width, (bool) (password != 0), first); - wsyncup(editor); - wcursyncup(editor); - } - - while (result == DLG_EXIT_UNKNOWN) { - /* - * The last field drawn determines where the cursor is shown: - */ - if (show_buttons) { - show_buttons = FALSE; - col_offset = dlg_edit_offset(input, chr_offset, box_width); - (void) wmove(dialog, box_y, box_x + col_offset); - dlg_draw_buttons(dialog, height - 2, 0, buttons, state, FALSE, width); - } - - if (!first) { - if (*input != '\0' && !edited) { - dlg_show_string(editor, input, chr_offset, inputbox_attr, - 0, 0, box_width, (bool) (password != 0), first); - wmove(editor, 0, chr_offset); - wsyncup(editor); - wcursyncup(editor); - } - key = dlg_mouse_wgetch((state == sTEXT) ? editor : dialog, &fkey); - if (dlg_result_key(key, fkey, &result)) { - if (!dlg_button_key(result, &code, &key, &fkey)) - break; - } - } - - /* - * Handle mouse clicks first, since we want to know if this is a button, - * or something that dlg_edit_string() should handle. - */ - if (fkey - && is_DLGK_MOUSE(key) - && (code = dlg_ok_buttoncode(key - M_EVENT)) >= 0) { - result = code; - continue; - } - - if (state == sTEXT) { /* Input box selected */ - int edit = dlg_edit_string(input, &chr_offset, key, fkey, first); - - if (edit) { - dlg_show_string(editor, input, chr_offset, inputbox_attr, - 0, 0, box_width, (bool) (password != 0), first); - wsyncup(editor); - wcursyncup(editor); - first = FALSE; - edited = TRUE; - continue; - } else if (first) { - first = FALSE; - continue; - } - } - - /* handle non-functionkeys */ - if (!fkey && (code = dlg_char_to_button(key, buttons)) >= 0) { - dlg_del_window(dialog); - result = dlg_ok_buttoncode(code); - continue; - } - - /* handle functionkeys */ - if (fkey) { - switch (key) { - case DLGK_MOUSE('i'): /* mouse enter events */ - state = 0; - /* FALLTHRU */ - case DLGK_FIELD_PREV: - show_buttons = TRUE; - state = dlg_prev_ok_buttonindex(state, sTEXT); - break; - case DLGK_FIELD_NEXT: - show_buttons = TRUE; - state = dlg_next_ok_buttonindex(state, sTEXT); - break; - case DLGK_TOGGLE: - case DLGK_ENTER: - dlg_del_window(dialog); - result = (state >= 0) ? dlg_enter_buttoncode(state) : DLG_EXIT_OK; - break; - case DLGK_LEAVE: - if (state >= 0) - result = dlg_ok_buttoncode(state); - break; -#ifdef KEY_RESIZE - case KEY_RESIZE: - dlg_will_resize(dialog); - /* reset data */ - height = old_height; - width = old_width; - /* repaint */ - _dlg_resize_cleanup(dialog); - goto retry; -#endif - default: - beep(); - break; - } - } else if (key > 0) { - beep(); - } - } - AddLastKey(); - - dlg_unregister_window(editor); - dlg_del_window(dialog); - dlg_mouse_free_regions(); - free(prompt); - return result; -} diff --git a/contrib/dialog/inputstr.c b/contrib/dialog/inputstr.c deleted file mode 100644 index 2c7bb7d0f4db..000000000000 --- a/contrib/dialog/inputstr.c +++ /dev/null @@ -1,808 +0,0 @@ -/* - * $Id: inputstr.c,v 1.91 2021/01/17 22:19:05 tom Exp $ - * - * inputstr.c -- functions for input/display of a string - * - * Copyright 2000-2019,2021 Thomas E. Dickey - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License, version 2.1 - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this program; if not, write to - * Free Software Foundation, Inc. - * 51 Franklin St., Fifth Floor - * Boston, MA 02110, USA. - */ - -#include <dialog.h> -#include <dlg_keys.h> - -#include <errno.h> - -#ifdef HAVE_SETLOCALE -#include <locale.h> -#endif - -#if defined(HAVE_SEARCH_H) && defined(HAVE_TSEARCH) -#include <search.h> -#else -#undef HAVE_TSEARCH -#endif - -#ifdef NEED_WCHAR_H -#include <wchar.h> -#endif - -#if defined(USE_WIDE_CURSES) -#define USE_CACHING 1 -#elif defined(HAVE_XDIALOG) -#define USE_CACHING 1 /* editbox really needs caching! */ -#else -#define USE_CACHING 0 -#endif - -typedef struct _cache { - struct _cache *next; -#if USE_CACHING - int cache_num; /* tells what type of data is in list[] */ - const char *string_at; /* unique: associate caches by char* */ -#endif - size_t s_len; /* strlen(string) - we add 1 for EOS */ - size_t i_len; /* length(list) - we add 1 for EOS */ - char *string; /* a copy of the last-processed string */ - int *list; /* indices into the string */ -} CACHE; - -#if USE_CACHING -#define SAME_CACHE(c,s,l) (c->string != 0 && memcmp(c->string,s,l) == 0) - -static CACHE *cache_list; - -typedef enum { - cInxCols - ,cCntWideBytes - ,cCntWideChars - ,cInxWideChars - ,cMAX -} CACHE_USED; - -#ifdef HAVE_TSEARCH -static void *sorted_cache; -#endif - -#ifdef USE_WIDE_CURSES -static int -have_locale(void) -{ - static int result = -1; - if (result < 0) { - char *test = setlocale(LC_ALL, 0); - if (test == 0 || *test == 0) { - result = FALSE; - } else if (strcmp(test, "C") && strcmp(test, "POSIX")) { - result = TRUE; - } else { - result = FALSE; - } - } - return result; -} -#endif - -#ifdef HAVE_TSEARCH - -#if 0 -static void -show_tsearch(const void *nodep, const VISIT which, const int depth) -{ - const CACHE *p = *(CACHE * const *) nodep; - (void) depth; - if (which == postorder || which == leaf) { - DLG_TRACE(("# cache %p %p:%s\n", p, p->string, p->string)); - } -} - -static void -trace_cache(const char *fn, int ln) -{ - DLG_TRACE(("# trace_cache %s@%d\n", fn, ln)); - twalk(sorted_cache, show_tsearch); -} - -#else -#define trace_cache(fn, ln) /* nothing */ -#endif - -#define CMP(a,b) (((a) > (b)) ? 1 : (((a) < (b)) ? -1 : 0)) - -static int -compare_cache(const void *a, const void *b) -{ - const CACHE *p = (const CACHE *) a; - const CACHE *q = (const CACHE *) b; - int result = CMP(p->cache_num, q->cache_num); - if (result == 0) - result = CMP(p->string_at, q->string_at); - return result; -} -#endif - -static CACHE * -find_cache(int cache_num, const char *string) -{ - CACHE *p; - -#ifdef HAVE_TSEARCH - void *pp; - CACHE find; - - memset(&find, 0, sizeof(find)); - find.cache_num = cache_num; - find.string_at = string; - - if ((pp = tfind(&find, &sorted_cache, compare_cache)) != 0) { - p = *(CACHE **) pp; - } else { - p = 0; - } -#else - for (p = cache_list; p != 0; p = p->next) { - if (p->string_at == string) { - break; - } - } -#endif - return p; -} - -static CACHE * -make_cache(int cache_num, const char *string) -{ - CACHE *p; - - p = dlg_calloc(CACHE, 1); - assert_ptr(p, "load_cache"); - p->next = cache_list; - cache_list = p; - - p->cache_num = cache_num; - p->string_at = string; - -#ifdef HAVE_TSEARCH - (void) tsearch(p, &sorted_cache, compare_cache); -#endif - return p; -} - -static CACHE * -load_cache(int cache_num, const char *string) -{ - CACHE *p; - - if ((p = find_cache(cache_num, string)) == 0) { - p = make_cache(cache_num, string); - } - return p; -} -#else -static CACHE my_cache; -#define SAME_CACHE(c,s,l) (c->string != 0) -#define load_cache(cache, string) &my_cache -#endif /* USE_CACHING */ - -/* - * If the given string has not changed, we do not need to update the index. - * If we need to update the index, allocate enough memory for it. - */ -static bool -same_cache2(CACHE * cache, const char *string, unsigned i_len) -{ - size_t s_len = strlen(string); - bool result = TRUE; - - if (cache->s_len == 0 - || cache->s_len < s_len - || cache->list == 0 - || !SAME_CACHE(cache, string, (size_t) s_len)) { - unsigned need = (i_len + 1); - - if (cache->list == 0) { - cache->list = dlg_malloc(int, need); - } else if (cache->i_len < i_len) { - cache->list = dlg_realloc(int, need, cache->list); - } - assert_ptr(cache->list, "load_cache"); - cache->i_len = i_len; - - if (cache->s_len >= s_len && cache->string != 0) { - strcpy(cache->string, string); - } else { - if (cache->string != 0) - free(cache->string); - cache->string = dlg_strclone(string); - } - cache->s_len = s_len; - - result = FALSE; - } - return result; -} - -#ifdef USE_WIDE_CURSES -/* - * Like same_cache2(), but we are only concerned about caching a copy of the - * string and its associated length. - */ -static bool -same_cache1(CACHE * cache, const char *string, size_t i_len) -{ - size_t s_len = strlen(string); - bool result = TRUE; - - if (cache->s_len != s_len - || !SAME_CACHE(cache, string, (size_t) s_len)) { - - if (cache->s_len >= s_len && cache->string != 0) { - strcpy(cache->string, string); - } else { - if (cache->string != 0) - free(cache->string); - cache->string = dlg_strclone(string); - } - cache->s_len = s_len; - cache->i_len = i_len; - - result = FALSE; - } - return result; -} -#endif /* USE_CACHING */ - -/* - * Counts the number of bytes that make up complete wide-characters, up to byte - * 'len'. If there is no locale set, simply return the original length. - */ -#ifdef USE_WIDE_CURSES -static int -dlg_count_wcbytes(const char *string, size_t len) -{ - int result; - - if (have_locale()) { - CACHE *cache = load_cache(cCntWideBytes, string); - if (!same_cache1(cache, string, len)) { - while (len != 0) { - size_t code = 0; - const char *src = cache->string; - mbstate_t state; - char save = cache->string[len]; - - cache->string[len] = '\0'; - memset(&state, 0, sizeof(state)); - code = mbsrtowcs((wchar_t *) 0, &src, len, &state); - cache->string[len] = save; - if ((int) code >= 0) { - break; - } - --len; - } - cache->i_len = len; - } - result = (int) cache->i_len; - } else { - result = (int) len; - } - return result; -} -#endif /* USE_WIDE_CURSES */ - -/* - * Counts the number of wide-characters in the string. - */ -int -dlg_count_wchars(const char *string) -{ - int result; -#ifdef USE_WIDE_CURSES - - if (have_locale()) { - size_t len = strlen(string); - CACHE *cache = load_cache(cCntWideChars, string); - - if (!same_cache1(cache, string, len)) { - const char *src = cache->string; - mbstate_t state; - int part = dlg_count_wcbytes(cache->string, len); - char save = cache->string[part]; - wchar_t *temp = dlg_calloc(wchar_t, len + 1); - - if (temp != 0) { - size_t code; - - cache->string[part] = '\0'; - memset(&state, 0, sizeof(state)); - code = mbsrtowcs(temp, &src, (size_t) part, &state); - cache->i_len = ((int) code >= 0) ? wcslen(temp) : 0; - cache->string[part] = save; - free(temp); - } else { - cache->i_len = 0; - } - } - result = (int) cache->i_len; - } else -#endif /* USE_WIDE_CURSES */ - { - result = (int) strlen(string); - } - return result; -} - -/* - * Build an index of the wide-characters in the string, so we can easily tell - * which byte-offset begins a given wide-character. - */ -const int * -dlg_index_wchars(const char *string) -{ - unsigned len = (unsigned) dlg_count_wchars(string); - CACHE *cache = load_cache(cInxWideChars, string); - - if (!same_cache2(cache, string, len)) { - const char *current = string; - unsigned inx; - - cache->list[0] = 0; - for (inx = 1; inx <= len; ++inx) { -#ifdef USE_WIDE_CURSES - if (have_locale()) { - mbstate_t state; - int width; - memset(&state, 0, sizeof(state)); - width = (int) mbrlen(current, strlen(current), &state); - if (width <= 0) - width = 1; /* FIXME: what if we have a control-char? */ - current += width; - cache->list[inx] = cache->list[inx - 1] + width; - } else -#endif /* USE_WIDE_CURSES */ - { - (void) current; - cache->list[inx] = (int) inx; - } - } - } - return cache->list; -} - -/* - * Given the character-offset to find in the list, return the corresponding - * array index. - */ -int -dlg_find_index(const int *list, int limit, int to_find) -{ - int result; - for (result = 0; result <= limit; ++result) { - if (to_find == list[result] - || result == limit - || ((result < limit) && (to_find < list[result + 1]))) { - break; - } - } - return result; -} - -/* - * Build a list of the display-columns for the given string's characters. - */ -const int * -dlg_index_columns(const char *string) -{ - unsigned len = (unsigned) dlg_count_wchars(string); - CACHE *cache = load_cache(cInxCols, string); - - if (!same_cache2(cache, string, len)) { - - cache->list[0] = 0; -#ifdef USE_WIDE_CURSES - if (have_locale()) { - unsigned inx; - size_t num_bytes = strlen(string); - const int *inx_wchars = dlg_index_wchars(string); - mbstate_t state; - - for (inx = 0; inx < len; ++inx) { - int result; - - if (string[inx_wchars[inx]] == TAB) { - result = ((cache->list[inx] | 7) + 1) - cache->list[inx]; - } else { - wchar_t temp[2]; - size_t check; - - memset(&state, 0, sizeof(state)); - memset(temp, 0, sizeof(temp)); - check = mbrtowc(temp, - string + inx_wchars[inx], - num_bytes - (size_t) inx_wchars[inx], - &state); - if ((int) check <= 0) { - result = 1; - } else { - result = wcwidth(temp[0]); - } - if (result < 0) { - const wchar_t *printable; - cchar_t temp2, *temp2p = &temp2; - setcchar(temp2p, temp, 0, 0, 0); - printable = wunctrl(temp2p); - result = printable ? (int) wcslen(printable) : 1; - } - } - cache->list[inx + 1] = result; - if (inx != 0) - cache->list[inx + 1] += cache->list[inx]; - } - } else -#endif /* USE_WIDE_CURSES */ - { - unsigned inx; - - for (inx = 0; inx < len; ++inx) { - chtype ch = UCH(string[inx]); - - if (ch == TAB) - cache->list[inx + 1] = - ((cache->list[inx] | 7) + 1) - cache->list[inx]; - else if (isprint(UCH(ch))) - cache->list[inx + 1] = 1; - else { - const char *printable; - printable = unctrl(ch); - cache->list[inx + 1] = (printable - ? (int) strlen(printable) - : 1); - } - if (inx != 0) - cache->list[inx + 1] += cache->list[inx]; - } - } - } - return cache->list; -} - -/* - * Returns the number of columns used for a string. That happens to be the - * end-value of the cols[] array. - */ -int -dlg_count_columns(const char *string) -{ - int result = 0; - int limit = dlg_count_wchars(string); - if (limit > 0) { - const int *cols = dlg_index_columns(string); - result = cols[limit]; - } else { - result = (int) strlen(string); - } - dlg_finish_string(string); - return result; -} - -/* - * Given a column limit, count the number of wide characters that can fit - * into that limit. The offset is used to skip over a leading character - * that was already written. - */ -int -dlg_limit_columns(const char *string, int limit, int offset) -{ - const int *cols = dlg_index_columns(string); - int result = dlg_count_wchars(string); - - while (result > 0 && (cols[result] - cols[offset]) > limit) - --result; - return result; -} - -/* - * Updates the string and character-offset, given various editing characters - * or literal characters which are inserted at the character-offset. - */ -bool -dlg_edit_string(char *string, int *chr_offset, int key, int fkey, bool force) -{ - int i; - int len = (int) strlen(string); - int limit = dlg_count_wchars(string); - const int *indx = dlg_index_wchars(string); - int offset = dlg_find_index(indx, limit, *chr_offset); - int max_len = dlg_max_input(MAX_LEN); - bool edit = TRUE; - - /* transform editing characters into equivalent function-keys */ - if (!fkey) { - fkey = TRUE; /* assume we transform */ - switch (key) { - case 0: - break; - case ESC: - case TAB: - fkey = FALSE; /* this is used for navigation */ - break; - default: - fkey = FALSE; /* ...no, we did not transform */ - break; - } - } - - if (fkey) { - switch (key) { - case 0: /* special case for loop entry */ - edit = force; - break; - case DLGK_GRID_LEFT: - if (*chr_offset && offset > 0) - *chr_offset = indx[offset - 1]; - break; - case DLGK_GRID_RIGHT: - if (offset < limit) - *chr_offset = indx[offset + 1]; - break; - case DLGK_BEGIN: - if (*chr_offset) - *chr_offset = 0; - break; - case DLGK_FINAL: - if (offset < limit) - *chr_offset = indx[limit]; - break; - case DLGK_DELETE_LEFT: - if (offset) { - int gap = indx[offset] - indx[offset - 1]; - *chr_offset = indx[offset - 1]; - if (gap > 0) { - for (i = *chr_offset; - (string[i] = string[i + gap]) != '\0'; - i++) { - ; - } - } - } - break; - case DLGK_DELETE_RIGHT: - if (limit) { - if (--limit == 0) { - string[*chr_offset = 0] = '\0'; - } else { - int gap = ((offset <= limit) - ? (indx[offset + 1] - indx[offset]) - : 0); - if (gap > 0) { - for (i = indx[offset]; - (string[i] = string[i + gap]) != '\0'; - i++) { - ; - } - } else if (offset > 0) { - string[indx[offset - 1]] = '\0'; - } - if (*chr_offset > indx[limit]) - *chr_offset = indx[limit]; - } - } - break; - case DLGK_DELETE_ALL: - string[*chr_offset = 0] = '\0'; - break; - case DLGK_ENTER: - edit = 0; - break; -#ifdef KEY_RESIZE - case KEY_RESIZE: - edit = 0; - break; -#endif - case DLGK_GRID_UP: - case DLGK_GRID_DOWN: - case DLGK_FIELD_NEXT: - case DLGK_FIELD_PREV: - edit = 0; - break; - case ERR: - edit = 0; - break; - default: - beep(); - break; - } - } else { - if (key == ESC || key == ERR) { - edit = 0; - } else { - if (len < max_len) { - for (i = ++len; i > *chr_offset; i--) - string[i] = string[i - 1]; - string[*chr_offset] = (char) key; - *chr_offset += 1; - } else { - (void) beep(); - } - } - } - return edit; -} - -static void -compute_edit_offset(const char *string, - int chr_offset, - int x_last, - int *p_dpy_column, - int *p_scroll_amt) -{ - const int *cols = dlg_index_columns(string); - const int *indx = dlg_index_wchars(string); - int limit = dlg_count_wchars(string); - int offset = dlg_find_index(indx, limit, chr_offset); - int offset2; - int dpy_column; - int n; - - for (n = offset2 = 0; n <= offset; ++n) { - if ((cols[offset] - cols[n]) < x_last - && (offset == limit || (cols[offset + 1] - cols[n]) < x_last)) { - offset2 = n; - break; - } - } - - dpy_column = cols[offset] - cols[offset2]; - - if (p_dpy_column != 0) - *p_dpy_column = dpy_column; - if (p_scroll_amt != 0) - *p_scroll_amt = offset2; -} - -/* - * Given the character-offset in the string, returns the display-offset where - * we will position the cursor. - */ -int -dlg_edit_offset(char *string, int chr_offset, int x_last) -{ - int result; - - compute_edit_offset(string, chr_offset, x_last, &result, 0); - - return result; -} - -/* - * Displays the string, shifted as necessary, to fit within the box and show - * the current character-offset. - */ -void -dlg_show_string(WINDOW *win, - const char *string, /* string to display (may be multibyte) */ - int chr_offset, /* character (not bytes) offset */ - chtype attr, /* window-attributes */ - int y_base, /* beginning row on screen */ - int x_base, /* beginning column on screen */ - int x_last, /* number of columns on screen */ - bool hidden, /* if true, do not echo */ - bool force) /* if true, force repaint */ -{ - x_last = MIN(x_last + x_base, getmaxx(win)) - x_base; - - if (hidden && !dialog_vars.insecure) { - if (force) { - (void) wmove(win, y_base, x_base); - wrefresh(win); - } - } else { - const int *cols = dlg_index_columns(string); - const int *indx = dlg_index_wchars(string); - int limit = dlg_count_wchars(string); - - int i, j, k; - int input_x; - int scrollamt; - - compute_edit_offset(string, chr_offset, x_last, &input_x, &scrollamt); - - dlg_attrset(win, attr); - (void) wmove(win, y_base, x_base); - for (i = scrollamt, k = 0; i < limit && k < x_last; ++i) { - int check = cols[i + 1] - cols[scrollamt]; - if (check <= x_last) { - for (j = indx[i]; j < indx[i + 1]; ++j) { - chtype ch = UCH(string[j]); - if (hidden && dialog_vars.insecure) { - waddch(win, '*'); - } else if (ch == TAB) { - int count = cols[i + 1] - cols[i]; - while (--count >= 0) - waddch(win, ' '); - } else { - waddch(win, ch); - } - } - k = check; - } else { - break; - } - } - while (k++ < x_last) - waddch(win, ' '); - (void) wmove(win, y_base, x_base + input_x); - wrefresh(win); - } -} - -/* - * Discard cached data for the given string. - */ -void -dlg_finish_string(const char *string) -{ -#if USE_CACHING - if ((string != 0) && dialog_state.finish_string) { - CACHE *p = cache_list; - CACHE *q = 0; - CACHE *r; - - while (p != 0) { - if (p->string_at == string) { -#ifdef HAVE_TSEARCH - if (tdelete(p, &sorted_cache, compare_cache) == 0) { - continue; - } - trace_cache(__FILE__, __LINE__); -#endif - if (p->string != 0) - free(p->string); - if (p->list != 0) - free(p->list); - if (p == cache_list) { - cache_list = p->next; - r = cache_list; - } else { - q->next = p->next; - r = q; - } - free(p); - p = r; - } else { - q = p; - p = p->next; - } - } - } -#else - (void) string; -#endif -} - -#ifdef NO_LEAKS -void -_dlg_inputstr_leaks(void) -{ -#if USE_CACHING - dialog_state.finish_string = TRUE; - trace_cache(__FILE__, __LINE__); - while (cache_list != 0) { - dlg_finish_string(cache_list->string_at); - } -#endif /* USE_CACHING */ -} -#endif /* NO_LEAKS */ diff --git a/contrib/dialog/install-sh b/contrib/dialog/install-sh deleted file mode 100755 index 462fa9c3d57b..000000000000 --- a/contrib/dialog/install-sh +++ /dev/null @@ -1,294 +0,0 @@ -#! /bin/sh -# -# install - install a program, script, or datafile -# -# This originates from X11R5 (mit/util/scripts/install.sh), which was -# later released in X11R6 (xc/config/util/install.sh) with the -# following copyright and license. -# -# Copyright (C) 1994 X Consortium -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to -# deal in the Software without restriction, including without limitation the -# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -# sell copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN -# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- -# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -# -# Except as contained in this notice, the name of the X Consortium shall not -# be used in advertising or otherwise to promote the sale, use or other deal- -# ings in this Software without prior written authorization from the X Consor- -# tium. -# -# -# FSF changes to this file are in the public domain. -# -# 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/contrib/dialog/makefile.in b/contrib/dialog/makefile.in deleted file mode 100644 index f87ff176dfa9..000000000000 --- a/contrib/dialog/makefile.in +++ /dev/null @@ -1,363 +0,0 @@ -# $Id: makefile.in,v 1.103 2021/01/11 09:03:36 tom Exp $ -# template makefile for DIALOG -############################################################################## -# Copyright (c) 1999-2020,2021 Thomas E. Dickey # -# # -# Permission is hereby granted, free of charge, to any person obtaining a # -# copy of this software and associated documentation files (the "Software"), # -# to deal in the Software without restriction, including without limitation # -# the rights to use, copy, modify, merge, publish, distribute, distribute # -# with modifications, sublicense, and/or sell copies of the Software, and to # -# permit persons to whom the Software is furnished to do so, subject to the # -# following conditions: # -# # -# The above copyright notice and this permission notice shall be included in # -# all copies or substantial portions of the Software. # -# # -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # -# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # -# DEALINGS IN THE SOFTWARE. # -# # -# Except as contained in this notice, the name(s) of the above copyright # -# holders shall not be used in advertising or otherwise to promote the sale, # -# use or other dealings in this Software without prior written # -# authorization. # -############################################################################## -# -SHELL = /bin/sh - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ - -prefix = @prefix@ -exec_prefix = @exec_prefix@ -datarootdir = @datarootdir@ - -top_builddir = . - -x = @EXEEXT@ -o = .@OBJEXT@ - -DESTDIR = @DESTDIR@ - -THIS = dialog - -CFG_ROOTNAME = @CFG_ROOTNAME@ -HDR_ROOTNAME = @HDR_ROOTNAME@ -LIB_ROOTNAME = @LIB_ROOTNAME@ -LIB_PREFIX = @LIB_PREFIX@ -LIB_SUFFIX = @LIB_SUFFIX@ - -VERSION_MAJOR = @VERSION_MAJOR@ -VERSION_MINOR = @VERSION_MINOR@ -VERSION = $(VERSION_MAJOR).$(VERSION_MINOR) -REL_VERSION = @REL_VERSION@ -ABI_VERSION = @ABI_VERSION@ -LIB_ROOTNAME = @LIB_ROOTNAME@ - -RESULTING_SYMS = @RESULTING_SYMS@ -VERSIONED_SYMS = @VERSIONED_SYMS@ - -@SET_SHLIB_VARS@ - -bindir = @bindir@ -includedir = @includedir@ -libdir = @libdir@ -mandir = @mandir@ -manext = 1 -libext = 3 - -BINDIR = $(DESTDIR)$(bindir) -INCLUDEDIR = $(DESTDIR)$(includedir) -LIBDIR = $(DESTDIR)$(libdir) -MANDIR = $(DESTDIR)$(mandir) - -MAN1DIR = $(MANDIR)/man1 -MAN3DIR = $(MANDIR)/man3 - -# see po/makefile -localedir = $(prefix)/@DATADIRNAME@/locale - -CFLAGS = @CFLAGS@ -CPPFLAGS = -I. -I$(srcdir) @CPPFLAGS@ @DEFS@ -DLOCALEDIR=\"$(localedir)\" -EXTRA_CFLAGS = @EXTRA_CFLAGS@ -CC = @CC@ -CPP = @CPP@ -AR = @AR@ -ARFLAGS = @ARFLAGS@ -LDFLAGS = @EXTRA_LDFLAGS@ @LDFLAGS@ -LIBS = @LIBS@ @INTLLIBS@ -RANLIB = @LIB_PREP@ - -RM = rm -f -LN_S = @LN_S@ -LINT = @LINT@ -LINT_OPTS = @LINT_OPTS@ - -CTAGS = @CTAGS@ -ETAGS = @ETAGS@ - -RPATH_LIST = @RPATH_LIST@ -LIBTOOL = @LIBTOOL@ @ECHO_LT@ -LIBTOOL_OPTS = @LIBTOOL_OPTS@ -LIBTOOL_CLEAN = @LIB_CLEAN@ -LIBTOOL_COMPILE = @LIB_COMPILE@ -LIBTOOL_CREATE = @LIB_CREATE@ -LIBTOOL_LINK = @LIB_LINK@ -LIBTOOL_INSTALL = @LIB_INSTALL@ -LIBTOOL_UNINSTALL = @LIB_UNINSTALL@ -LIBTOOL_VERSION = @LIBTOOL_VERSION@ - -INSTALL = @INSTALL@ -INSTALL_PROGRAM = $(LIBTOOL_INSTALL) @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_DATA = @INSTALL_DATA@ - -LINK = $(LIBTOOL_LINK) - -# The library is always named for the package, but the program can be further -# renamed at install time, starting with the package name. -PACKAGE = @PACKAGE@ -ACTUAL_PROG = `echo $(PACKAGE) |sed @program_transform_name@` -LIB_CONFIG = $(CFG_ROOTNAME)-config - -# The library name $(LIB) is set at configure/make time, since it is used as a -# makefile target. Ditto for $(PROG). -LIB = @LIB_TARGET@ -PROG = @PACKAGE@$x -# -# Standard .c to .o compile line. -# -.SUFFIXES: .c .i $o .1 .man .txt @MAN2HTML_NOTE@ .html @GROFF_NOTE@ .ps .pdf -.c.i : - @RULE_CC@ - @ECHO_CC@$(CPP) $(CPPFLAGS) -c $< >$@ -.c$o : - @RULE_CC@ - @ECHO_CC@$(LIBTOOL_COMPILE) $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(CPPFLAGS) -c $< - -@NROFF_NOTE@.1.txt : -@NROFF_NOTE@ GROFF_NO_SGR=stupid $(SHELL) -c "tbl $< | nroff -rHY=0 -Tascii -man | col -bx" >$@ - -@MAN2HTML_NOTE@.1.html : -@MAN2HTML_NOTE@ ./@MAN2HTML_TEMP@ $* 1 man >$@ -@MAN2HTML_NOTE@ -@GROFF_NOTE@.1.ps : -@GROFF_NOTE@ $(SHELL) -c "tbl $< | groff -man" >$@ -@GROFF_NOTE@ -@GROFF_NOTE@.ps.pdf : -@GROFF_NOTE@ ps2pdf $*.ps - -EXTRAOBJS = @EXTRAOBJS@ -OBJECTS = $(EXTRAOBJS) \ - argv$o \ - arrows$o \ - buttons$o \ - checklist$o \ - columns$o \ - dlg_keys$o \ - editbox$o \ - help$o \ - inputbox$o \ - inputstr$o \ - menubox$o \ - mouse$o \ - mousewget$o \ - msgbox$o \ - textbox$o \ - ttysize$o \ - ui_getc$o \ - util$o \ - version$o \ - yesno$o - -LIB_OBJECT = @LIB_OBJECT@ - -SRCS = $(OBJECTS:$o=.c) -HDRS = \ - dialog.h \ - dlg_colors.h \ - dlg_config.h \ - dlg_keys.h - -ALL = $(LIB) $(PROG) - -BIN_DIRS = $(BINDIR) $(MAN1DIR) -LIB_DIRS = $(LIBDIR) $(INCLUDEDIR) - -PO_DIR = $(srcdir)/po - -all :: $(ALL) - -@LIBTOOL_MAKE@install :: install-lib -@LIBTOOL_MAKE@uninstall :: uninstall-lib - -@INTLDIR_MAKE@@INTLLIBS@ : -@INTLDIR_MAKE@ @echo "Building GNU gettext library..." -@INTLDIR_MAKE@ @cd intl && $(MAKE) @cf_cv_makeflags@ - -dialog$o \ -$(OBJECTS) : $(srcdir)/dialog.h $(srcdir)/dlg_keys.h dlg_config.h VERSION - -$(PROG) : $(LIB) dialog$o @INTLDIR_MAKE@ @INTLLIBS@ - $(LINK) -o $@ dialog$o -L. -l@PACKAGE@ $(CFLAGS) $(LDFLAGS) $(LIBS) - -clean \ -distclean \ -install \ -install-full \ -install-strip \ -uninstall :: - @echo making $@ -@INTLDIR_MAKE@ @-test -f intl/makefile && cd intl && $(MAKE) @cf_cv_makeflags@ $@ -@MSG_DIR_MAKE@ @-test -f po/makefile && cd po && $(MAKE) @cf_cv_makeflags@ $@ - -clean :: - @- $(RM) -r autom4te.cache - - $(RM) *.*cov *.da *.bb *.bbg - - $(LIBTOOL_CLEAN) $(RM) *.i *$o $(ALL) - - $(RM) headers.sed - - $(RM) *.html *.pdf *.png *.ps *.txt dialog_lib.1 - - $(RM) core *~ tags TAGS - -distclean :: clean - $(RM) intl/libintl.h intl/po2tbl.sed - $(RM) makefile dlg_config.h config.cache config.log config.status - $(RM) samples/install/makefile - $(RM) headers-sh - $(RM) man2html.* - $(RM) dialog-config - -check : - @echo "Verify that create-rc works" - $(SHELL) -c "DIALOG=./$(PROG) ./run_test.sh $(srcdir)/samples" - -install :: install-bin install-man - @echo "made $@" - -install-full :: install-lib install-bin install-man - @echo "made $@" - -install-strip :: $(PROG) $(BINDIR) - $(INSTALL_PROGRAM) -s $(PROG) $(BINDIR) - -uninstall :: uninstall-bin uninstall-man - @echo "made $@" - -uninstall-full :: uninstall-bin uninstall-man uninstall-lib - @echo "made $@" - -install-bin : $(PROG) $(BINDIR) - $(INSTALL_PROGRAM) $(PROG) $(BINDIR)/$(ACTUAL_PROG)$x - -uninstall-bin : - $(RM) $(BINDIR)/$(ACTUAL_PROG)$x - -install-man :: $(MAN1DIR) - @ echo "** installing $(ACTUAL_PROG).$(manext)" - @ $(SHELL) $(srcdir)/rename.sh \ - $(srcdir)/dialog.1 \ - $(MAN1DIR)/$(ACTUAL_PROG).$(manext) \ - $(ACTUAL_PROG) \ - @PACKAGE@ \ - $(INSTALL_DATA) - -uninstall-man :: - $(RM) $(MAN1DIR)/$(ACTUAL_PROG).$(manext) - -# most users do not want/need the library, so the install rules are distinct. -install-lib :: $(BINDIR) dialog-config - @ echo "** installing config script in $(BINDIR)" - @ $(INSTALL_SCRIPT) dialog-config $(BINDIR)/$(LIB_CONFIG) - -install-lib :: $(LIB_DIRS) $(LIB) headers.sed - @ echo "** installing library in $(LIBDIR)" - @ $(LIBTOOL_INSTALL) $(INSTALL_DATA) $(LIB) $(LIBDIR) - @ echo "** installing headers in $(INCLUDEDIR)" - @ $(SHELL) headers-sh $(INSTALL_DATA) $(INCLUDEDIR) $(srcdir) dialog.h - @ $(SHELL) headers-sh $(INSTALL_DATA) $(INCLUDEDIR) $(srcdir) dlg_colors.h - @ $(SHELL) headers-sh $(INSTALL_DATA) $(INCLUDEDIR) $(srcdir) dlg_keys.h - @ $(SHELL) headers-sh $(INSTALL_DATA) $(INCLUDEDIR) . dlg_config.h - -uninstall-lib :: $(BINDIR) - $(RM) $(BINDIR)/$(LIB_CONFIG) - -uninstall-lib :: $(LIB_DIRS) - - $(LIBTOOL_UNINSTALL) $(RM) $(LIBDIR)/$(LIB) - @ $(SHELL) headers-sh $(RM) $(INCLUDEDIR) $(srcdir) dialog.h - @ $(SHELL) headers-sh $(RM) $(INCLUDEDIR) $(srcdir) dlg_colors.h - @ $(SHELL) headers-sh $(RM) $(INCLUDEDIR) $(srcdir) dlg_keys.h - @ $(SHELL) headers-sh $(RM) $(INCLUDEDIR) . dlg_config.h - -install-lib :: $(MAN3DIR) - @ echo "** installing @PACKAGE@.$(libext)" - @ $(SHELL) $(srcdir)/rename.sh \ - $(srcdir)/dialog.3 \ - $(MAN3DIR)/@PACKAGE@.$(libext) \ - $(ACTUAL_PROG) \ - @PACKAGE@ \ - $(INSTALL_DATA) - -uninstall-lib :: - $(RM) $(MAN3DIR)/@PACKAGE@.$(libext) - -headers.sed : headers-sh - $(SHELL) headers-sh $(INCLUDEDIR) $(srcdir) - -################################################################################ -TOP_DOCS = \ -@NROFF_NOTE@ dialog.txt \ -@MAN2HTML_NOTE@ dialog.html \ -@GROFF_NOTE@ dialog.pdf \ -@GROFF_NOTE@ dialog.ps - -dialog.html : dialog.1 -dialog.pdf : dialog.ps -dialog.ps : dialog.1 -dialog.txt : dialog.1 -################################################################################ -# rename, to use suffix-rules -dialog_lib.1 : dialog.3 - -$(RM) $@ - cp dialog.3 $@ - -LIB_DOCS = \ - dialog_lib.1 \ -@NROFF_NOTE@ dialog_lib.txt \ -@MAN2HTML_NOTE@ dialog_lib.html \ -@GROFF_NOTE@ dialog_lib.pdf \ -@GROFF_NOTE@ dialog_lib.ps - -dialog_lib.html : dialog_lib.1 -dialog_lib.pdf : dialog_lib.ps -dialog_lib.ps : dialog_lib.1 -dialog_lib.txt : dialog_lib.1 -################################################################################ -docs: $(TOP_DOCS) $(LIB_DOCS) -clean-docs: - -$(RM) $(TOP_DOCS) $(LIB_DOCS) -################################################################################ - -$(MAN1DIR) \ -$(MAN3DIR) \ -$(BINDIR) \ -$(INCLUDEDIR) \ -$(LIBDIR) : ; mkdir -p $@ - -@MAKE_LOWER_TAGS@tags : -@MAKE_LOWER_TAGS@ $(CTAGS) $(SRCS) $(HDRS) - -@MAKE_LOWER_TAGS@TAGS : -@MAKE_LOWER_TAGS@ $(ETAGS) $(SRCS) $(HDRS) - -update-po: - rsync -Lrtvz translationproject.org::tp/latest/dialog/ $(PO_DIR) - test -f $(PO_DIR)/makefile && cd $(PO_DIR) && $(MAKE) $@ - -lint: - $(LINT) $(LINT_OPTS) $(CPPFLAGS) *.c diff --git a/contrib/dialog/menubox.c b/contrib/dialog/menubox.c deleted file mode 100644 index c2fda7694cc3..000000000000 --- a/contrib/dialog/menubox.c +++ /dev/null @@ -1,814 +0,0 @@ -/* - * $Id: menubox.c,v 1.171 2020/11/23 21:03:11 tom Exp $ - * - * menubox.c -- implements the menu box - * - * Copyright 2000-2019,2020 Thomas E. Dickey - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public Licens, version 2.1e - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this program; if not, write to - * Free Software Foundation, Inc. - * 51 Franklin St., Fifth Floor - * Boston, MA 02110, USA. - * - * An earlier version of this program lists as authors - * Savio Lam (lam836@cs.cuhk.hk) - */ - -#include <dlg_internals.h> -#include <dlg_keys.h> - -typedef enum { - Unselected = 0, - Selected, - Editing -} Mode; - -typedef struct { - /* the outer-window */ - WINDOW *dialog; - int box_y; - int box_x; - int tag_x; - int item_x; - int menu_height; - int menu_width; - /* the inner-window */ - WINDOW *menu; - DIALOG_LISTITEM *items; - int item_no; -} ALL_DATA; - -#define MIN_HIGH (1 + (5 * MARGIN)) - -#define INPUT_ROWS 3 /* rows per inputmenu entry */ - -#define RowHeight(i) (is_inputmenu ? ((i) * INPUT_ROWS) : ((i) * 1)) -#define ItemToRow(i) (is_inputmenu ? ((i) * INPUT_ROWS + 1) : (i)) -#define RowToItem(i) (is_inputmenu ? ((i) / INPUT_ROWS + 0) : (i)) - -/* - * Print menu item - */ -static void -print_item(ALL_DATA * data, - WINDOW *win, - DIALOG_LISTITEM * item, - int choice, - Mode selected, - bool is_inputmenu) -{ - chtype save = dlg_get_attrs(win); - int climit = (data->item_x - data->tag_x - GUTTER); - int my_width = data->menu_width; - int my_x = data->item_x; - int my_y = ItemToRow(choice); - bool both = (!dialog_vars.no_tags && !dialog_vars.no_items); - bool first = TRUE; - chtype bordchar; - const char *show = (dialog_vars.no_items - ? item->name - : item->text); - - switch (selected) { - default: - case Unselected: - bordchar = item_attr; - break; - case Selected: - bordchar = item_selected_attr; - break; - case Editing: - bordchar = dialog_attr; - break; - } - - /* Clear 'residue' of last item and mark current current item */ - if (is_inputmenu) { - int n; - - dlg_attrset(win, (selected != Unselected) ? item_selected_attr : item_attr); - for (n = my_y - 1; n < my_y + INPUT_ROWS - 1; n++) { - wmove(win, n, 0); - wprintw(win, "%*s", my_width, " "); - } - } else { - dlg_attrset(win, menubox_attr); - wmove(win, my_y, 0); - wprintw(win, "%*s", my_width, " "); - } - - /* highlight first char of the tag to be special */ - if (both) { - (void) wmove(win, my_y, data->tag_x); - dlg_print_listitem(win, item->name, climit, first, selected); - first = FALSE; - } - - /* Draw the input field box (only for inputmenu) */ - (void) wmove(win, my_y, my_x); - if (is_inputmenu) { - my_width -= 1; - dlg_draw_box(win, my_y - 1, my_x, INPUT_ROWS, my_width - my_x - data->tag_x, - bordchar, - bordchar); - my_width -= 1; - ++my_x; - } - - /* print actual item */ - wmove(win, my_y, my_x); - dlg_print_listitem(win, show, my_width - my_x, first, selected); - - if (selected) { - dlg_item_help(item->help); - } - dlg_attrset(win, save); -} - -/* - * Allow the user to edit the text of a menu entry. - */ -static int -input_menu_edit(ALL_DATA * data, - DIALOG_LISTITEM * items, - int choice, - char **resultp) -{ - chtype save = dlg_get_attrs(data->menu); - char *result; - int offset = 0; - int key = 0, fkey = 0; - bool first = TRUE; - /* see above */ - bool is_inputmenu = TRUE; - int y = ItemToRow(choice); - int code = TRUE; - int max_len = dlg_max_input(MAX((int) strlen(items->text) + 1, MAX_LEN)); - - result = dlg_malloc(char, (size_t) max_len); - assert_ptr(result, "input_menu_edit"); - - /* original item is used to initialize the input string. */ - result[0] = '\0'; - strcpy(result, items->text); - - print_item(data, data->menu, items, choice, Editing, TRUE); - - /* taken out of inputbox.c - but somewhat modified */ - for (;;) { - if (!first) { - int check = DLG_EXIT_UNKNOWN; - key = dlg_mouse_wgetch(data->menu, &fkey); - if (dlg_result_key(key, fkey, &check)) { - if (check == DLG_EXIT_CANCEL) { - code = FALSE; - break; - } else { - flash(); - } - } - } - if (dlg_edit_string(result, &offset, key, fkey, first)) { - dlg_show_string(data->menu, result, offset, inputbox_attr, - y, - data->item_x + 1, - data->menu_width - data->item_x - 3, - FALSE, first); - first = FALSE; - } else if (key == ESC || key == TAB) { - code = FALSE; - break; - } else { - break; - } - } - print_item(data, data->menu, items, choice, Selected, TRUE); - dlg_attrset(data->menu, save); - - *resultp = result; - return code; -} - -static int -handle_button(int code, DIALOG_LISTITEM * items, int choice) -{ - char *help_result; - - switch (code) { - case DLG_EXIT_OK: /* FALLTHRU */ - case DLG_EXIT_EXTRA: - dlg_add_string(items[choice].name); - break; - case DLG_EXIT_HELP: - dlg_add_help_listitem(&code, &help_result, &items[choice]); - dlg_add_string(help_result); - break; - } - AddLastKey(); - return code; -} - -int -dlg_renamed_menutext(DIALOG_LISTITEM * items, int current, char *newtext) -{ - if (dialog_vars.input_result) - dialog_vars.input_result[0] = '\0'; - dlg_add_result("RENAMED "); - dlg_add_string(items[current].name); - dlg_add_result(" "); - dlg_add_string(newtext); - AddLastKey(); - return DLG_EXIT_EXTRA; -} - -int -dlg_dummy_menutext(DIALOG_LISTITEM * items, int current, char *newtext) -{ - (void) items; - (void) current; - (void) newtext; - return DLG_EXIT_ERROR; -} - -static void -print_menu(ALL_DATA * data, int choice, int scrollamt, int max_choice, bool is_inputmenu) -{ - int i; - - for (i = 0; i < max_choice; i++) { - print_item(data, - data->menu, - &data->items[i + scrollamt], - i, - (i == choice) ? Selected : Unselected, - is_inputmenu); - } - - /* Clean bottom lines */ - if (is_inputmenu) { - int spare_lines, x_count; - spare_lines = data->menu_height % INPUT_ROWS; - dlg_attrset(data->menu, menubox_attr); - for (; spare_lines; spare_lines--) { - wmove(data->menu, data->menu_height - spare_lines, 0); - for (x_count = 0; x_count < data->menu_width; - x_count++) { - waddch(data->menu, ' '); - } - } - } - - (void) wnoutrefresh(data->menu); - - dlg_draw_scrollbar(data->dialog, - scrollamt, - scrollamt, - scrollamt + max_choice, - data->item_no, - data->box_x, - data->box_x + data->menu_width, - data->box_y, - data->box_y + data->menu_height + 1, - menubox_border2_attr, - menubox_border_attr); -} - -static bool -check_hotkey(DIALOG_LISTITEM * items, int choice) -{ - bool result = FALSE; - - if (dlg_match_char(dlg_last_getc(), - (dialog_vars.no_tags - ? items[choice].text - : items[choice].name))) { - result = TRUE; - } - return result; -} - -/* - * This is an alternate interface to 'menu' which allows the application - * to read the list item states back directly without putting them in the - * output buffer. - */ -int -dlg_menu(const char *title, - const char *cprompt, - int height, - int width, - int menu_height, - int item_no, - DIALOG_LISTITEM * items, - int *current_item, - DIALOG_INPUTMENU rename_menutext) -{ - /* *INDENT-OFF* */ - static DLG_KEYS_BINDING binding[] = { - HELPKEY_BINDINGS, - ENTERKEY_BINDINGS, - TOGGLEKEY_BINDINGS, - DLG_KEYS_DATA( DLGK_FIELD_NEXT, KEY_RIGHT ), - DLG_KEYS_DATA( DLGK_FIELD_NEXT, TAB ), - DLG_KEYS_DATA( DLGK_FIELD_PREV, KEY_BTAB ), - DLG_KEYS_DATA( DLGK_FIELD_PREV, KEY_LEFT ), - DLG_KEYS_DATA( DLGK_ITEM_NEXT, '+' ), - DLG_KEYS_DATA( DLGK_ITEM_NEXT, KEY_DOWN ), - DLG_KEYS_DATA( DLGK_ITEM_NEXT, CHR_NEXT ), - DLG_KEYS_DATA( DLGK_ITEM_PREV, '-' ), - DLG_KEYS_DATA( DLGK_ITEM_PREV, KEY_UP ), - DLG_KEYS_DATA( DLGK_ITEM_PREV, CHR_PREVIOUS ), - DLG_KEYS_DATA( DLGK_PAGE_FIRST, KEY_HOME ), - DLG_KEYS_DATA( DLGK_PAGE_LAST, KEY_END ), - DLG_KEYS_DATA( DLGK_PAGE_LAST, KEY_LL ), - DLG_KEYS_DATA( DLGK_PAGE_NEXT, KEY_NPAGE ), - DLG_KEYS_DATA( DLGK_PAGE_PREV, KEY_PPAGE ), - END_KEYS_BINDING - }; - static DLG_KEYS_BINDING binding2[] = { - INPUTSTR_BINDINGS, - HELPKEY_BINDINGS, - ENTERKEY_BINDINGS, - END_KEYS_BINDING - }; - /* *INDENT-ON* */ - -#ifdef KEY_RESIZE - int old_LINES = LINES; - int old_COLS = COLS; - int old_height = height; - int old_width = width; -#endif - ALL_DATA all; - int i, j, x, y, cur_x, cur_y; - int fkey; - int button = dialog_state.visit_items ? -1 : dlg_default_button(); - int choice = dlg_default_listitem(items); - int result = DLG_EXIT_UNKNOWN; - int scrollamt = 0; - int max_choice; - int use_width, name_width, text_width, list_width; - WINDOW *dialog, *menu; - char *prompt = 0; - const char **buttons = dlg_ok_labels(); - bool is_inputmenu = ((rename_menutext != 0) - && (rename_menutext != dlg_dummy_menutext)); - - DLG_TRACE(("# menubox args:\n")); - DLG_TRACE2S("title", title); - DLG_TRACE2S("message", cprompt); - DLG_TRACE2N("height", height); - DLG_TRACE2N("width", width); - DLG_TRACE2N("lheight", menu_height); - DLG_TRACE2N("llength", item_no); - /* FIXME dump the items[][] too */ - DLG_TRACE2N("rename", rename_menutext != 0); - - dialog_state.plain_buttons = TRUE; - - all.items = items; - all.item_no = item_no; - - dlg_does_output(); - -#ifdef KEY_RESIZE - retry: -#endif - - prompt = dlg_strclone(cprompt); - dlg_tab_correct_str(prompt); - - all.menu_height = menu_height; - use_width = dlg_calc_list_width(item_no, items) + 10; - use_width = MAX(26, use_width); - if (all.menu_height == 0) { - /* calculate height without items (4) */ - dlg_auto_size(title, prompt, &height, &width, MIN_HIGH, use_width); - dlg_calc_listh(&height, &all.menu_height, item_no); - } else { - dlg_auto_size(title, prompt, - &height, &width, - MIN_HIGH + all.menu_height, use_width); - } - dlg_button_layout(buttons, &width); - dlg_print_size(height, width); - dlg_ctl_size(height, width); - - x = dlg_box_x_ordinate(width); - y = dlg_box_y_ordinate(height); - - dialog = dlg_new_window(height, width, y, x); - all.dialog = dialog; - - dlg_register_window(dialog, "menubox", binding); - dlg_register_buttons(dialog, "menubox", buttons); - - dlg_mouse_setbase(x, y); - - dlg_draw_box2(dialog, 0, 0, height, width, dialog_attr, border_attr, border2_attr); - dlg_draw_bottom_box2(dialog, border_attr, border2_attr, dialog_attr); - dlg_draw_title(dialog, title); - - dlg_attrset(dialog, dialog_attr); - dlg_print_autowrap(dialog, prompt, height, width); - - all.menu_width = width - 6; - getyx(dialog, cur_y, cur_x); - all.box_y = cur_y + 1; - all.box_x = (width - all.menu_width) / 2 - 1; - - /* - * After displaying the prompt, we know how much space we really have. - * Limit the list to avoid overwriting the ok-button. - */ - all.menu_height = height - MIN_HIGH - cur_y; - if (all.menu_height <= 0) - all.menu_height = 1; - - /* Find out maximal number of displayable items at once. */ - max_choice = MIN(all.menu_height, - RowHeight(item_no)); - if (is_inputmenu) - max_choice /= INPUT_ROWS; - - /* create new window for the menu */ - menu = dlg_sub_window(dialog, all.menu_height, all.menu_width, - y + all.box_y + 1, - x + all.box_x + 1); - all.menu = menu; - - dlg_register_window(menu, "menu", binding2); - dlg_register_buttons(menu, "menu", buttons); - - /* draw a box around the menu items */ - dlg_draw_box(dialog, - all.box_y, all.box_x, - all.menu_height + 2, all.menu_width + 2, - menubox_border_attr, menubox_border2_attr); - - name_width = 0; - text_width = 0; - - /* Find length of longest item to center menu * - * only if --menu was given, using --inputmenu * - * won't be centered. */ - for (i = 0; i < item_no; i++) { - name_width = MAX(name_width, dlg_count_columns(items[i].name)); - text_width = MAX(text_width, dlg_count_columns(items[i].text)); - } - - /* If the name+text is wider than the list is allowed, then truncate - * one or both of them. If the name is no wider than 30% of the list, - * leave it intact. - * - * FIXME: the gutter width and name/list ratio should be configurable. - */ - use_width = (all.menu_width - GUTTER); - if (dialog_vars.no_tags) { - list_width = MIN(use_width, text_width); - } else if (dialog_vars.no_items) { - list_width = MIN(use_width, name_width); - } else { - if (text_width >= 0 - && name_width >= 0 - && use_width > 0 - && text_width + name_width > use_width) { - int need = (int) (0.30 * use_width); - if (name_width > need) { - int want = (int) (use_width - * ((double) name_width) - / (text_width + name_width)); - name_width = (want > need) ? want : need; - } - text_width = use_width - name_width; - } - list_width = (text_width + name_width); - } - - all.tag_x = (is_inputmenu - ? 0 - : (use_width - list_width) / 2); - all.item_x = ((dialog_vars.no_tags - ? 0 - : (dialog_vars.no_items - ? 0 - : (GUTTER + name_width))) - + all.tag_x); - - if (choice - scrollamt >= max_choice) { - scrollamt = choice - (max_choice - 1); - choice = max_choice - 1; - } - - print_menu(&all, choice, scrollamt, max_choice, is_inputmenu); - - /* register the new window, along with its borders */ - dlg_mouse_mkbigregion(all.box_y + 1, all.box_x, - all.menu_height + 2, all.menu_width + 2, - KEY_MAX, 1, 1, 1 /* by lines */ ); - - dlg_draw_buttons(dialog, height - 2, 0, buttons, button, FALSE, width); - - dlg_trace_win(dialog); - - while (result == DLG_EXIT_UNKNOWN) { - int key, found; - - if (button < 0) /* --visit-items */ - wmove(dialog, - all.box_y + ItemToRow(choice) + 1, - all.box_x + all.tag_x + 1); - - key = dlg_mouse_wgetch(dialog, &fkey); - if (dlg_result_key(key, fkey, &result)) { - if (!dlg_button_key(result, &button, &key, &fkey)) - break; - } - - found = FALSE; - if (fkey) { - /* - * Allow a mouse-click on a box to switch selection to that box. - * Handling a button click is a little more complicated, since we - * push a KEY_ENTER back onto the input stream so we'll put the - * cursor at the right place before handling the "keypress". - */ - if (key >= DLGK_MOUSE(KEY_MAX)) { - key -= DLGK_MOUSE(KEY_MAX); - i = RowToItem(key); - if (i < max_choice) { - found = TRUE; - } else { - beep(); - continue; - } - } else if (is_DLGK_MOUSE(key) - && dlg_ok_buttoncode(key - M_EVENT) >= 0) { - button = (key - M_EVENT); - ungetch('\n'); - continue; - } - } else { - /* - * Check if key pressed matches first character of any item tag in - * list. If there is more than one match, we will cycle through - * each one as the same key is pressed repeatedly. - */ - if (button < 0 || !dialog_state.visit_items) { - for (j = scrollamt + choice + 1; j < item_no; j++) { - if (check_hotkey(items, j)) { - found = TRUE; - i = j - scrollamt; - break; - } - } - if (!found) { - for (j = 0; j <= scrollamt + choice; j++) { - if (check_hotkey(items, j)) { - found = TRUE; - i = j - scrollamt; - break; - } - } - } - if (found) - dlg_flush_getc(); - } else if ((j = dlg_char_to_button(key, buttons)) >= 0) { - button = j; - ungetch('\n'); - continue; - } - - /* - * A single digit (1-9) positions the selection to that line in the - * current screen. - */ - if (!found - && (key <= '9') - && (key > '0') - && (key - '1' < max_choice)) { - found = TRUE; - i = key - '1'; - } - } - - if (!found && fkey) { - found = TRUE; - switch (key) { - case DLGK_PAGE_FIRST: - i = -scrollamt; - break; - case DLGK_PAGE_LAST: - i = item_no - 1 - scrollamt; - break; - case DLGK_MOUSE(KEY_PPAGE): - case DLGK_PAGE_PREV: - if (choice) - i = 0; - else if (scrollamt != 0) - i = -MIN(scrollamt, max_choice); - else - continue; - break; - case DLGK_MOUSE(KEY_NPAGE): - case DLGK_PAGE_NEXT: - i = MIN(choice + max_choice, item_no - scrollamt - 1); - break; - case DLGK_ITEM_PREV: - i = choice - 1; - if (choice == 0 && scrollamt == 0) - continue; - break; - case DLGK_ITEM_NEXT: - i = choice + 1; - if (scrollamt + choice >= item_no - 1) - continue; - break; - default: - found = FALSE; - break; - } - } - - if (found) { - if (i != choice) { - getyx(dialog, cur_y, cur_x); - if (i < 0 || i >= max_choice) { - if (i < 0) { - scrollamt += i; - choice = 0; - } else { - choice = max_choice - 1; - scrollamt += (i - max_choice + 1); - } - print_menu(&all, choice, scrollamt, max_choice, is_inputmenu); - } else { - choice = i; - print_menu(&all, choice, scrollamt, max_choice, is_inputmenu); - (void) wmove(dialog, cur_y, cur_x); - wrefresh(dialog); - } - } - continue; /* wait for another key press */ - } - - if (fkey) { - switch (key) { - case DLGK_FIELD_PREV: - button = dlg_prev_button(buttons, button); - dlg_draw_buttons(dialog, height - 2, 0, buttons, button, - FALSE, width); - break; - - case DLGK_FIELD_NEXT: - button = dlg_next_button(buttons, button); - dlg_draw_buttons(dialog, height - 2, 0, buttons, button, - FALSE, width); - break; - - case DLGK_TOGGLE: - case DLGK_ENTER: - case DLGK_LEAVE: - result = ((key == DLGK_LEAVE) - ? dlg_ok_buttoncode(button) - : dlg_enter_buttoncode(button)); - - /* - * If dlg_menu() is called from dialog_menu(), we want to - * capture the results into dialog_vars.input_result. - */ - if (result == DLG_EXIT_ERROR) { - result = DLG_EXIT_UNKNOWN; - } else if (is_inputmenu - || rename_menutext == dlg_dummy_menutext) { - result = handle_button(result, - items, - scrollamt + choice); - } - - /* - * If we have a rename_menutext function, interpret the Extra - * button as a request to rename the menu's text. If that - * function doesn't return "Unknown", we will exit from this - * function. Usually that is done for dialog_menu(), so the - * shell script can use the updated value. If it does return - * "Unknown", update the list item only. A direct caller of - * dlg_menu() can free the renamed value - we cannot. - */ - if (is_inputmenu && result == DLG_EXIT_EXTRA) { - char *tmp; - - if (input_menu_edit(&all, - &items[scrollamt + choice], - choice, - &tmp)) { - result = rename_menutext(items, scrollamt + choice, tmp); - if (result == DLG_EXIT_UNKNOWN) { - items[scrollamt + choice].text = tmp; - } else { - free(tmp); - } - } else { - result = DLG_EXIT_UNKNOWN; - print_item(&all, - menu, - &items[scrollamt + choice], - choice, - Selected, - is_inputmenu); - (void) wnoutrefresh(menu); - free(tmp); - } - - if (result == DLG_EXIT_UNKNOWN) { - dlg_draw_buttons(dialog, height - 2, 0, - buttons, button, FALSE, width); - } - } - break; -#ifdef KEY_RESIZE - case KEY_RESIZE: - dlg_will_resize(dialog); - /* reset data */ - resizeit(height, LINES); - resizeit(width, COLS); - free(prompt); - _dlg_resize_cleanup(dialog); - /* repaint */ - goto retry; -#endif - default: - flash(); - break; - } - } - } - - dlg_mouse_free_regions(); - dlg_unregister_window(menu); - dlg_del_window(dialog); - free(prompt); - - *current_item = scrollamt + choice; - - DLG_TRACE2N("current", *current_item); - return result; -} - -/* - * Display a menu for choosing among a number of options - */ -int -dialog_menu(const char *title, - const char *cprompt, - int height, - int width, - int menu_height, - int item_no, - char **items) -{ - int result; - int choice; - int i, j; - DIALOG_LISTITEM *listitems; - - listitems = dlg_calloc(DIALOG_LISTITEM, (size_t) item_no + 1); - assert_ptr(listitems, "dialog_menu"); - - for (i = j = 0; i < item_no; ++i) { - listitems[i].name = items[j++]; - listitems[i].text = (dialog_vars.no_items - ? dlg_strempty() - : items[j++]); - listitems[i].help = ((dialog_vars.item_help) - ? items[j++] - : dlg_strempty()); - } - dlg_align_columns(&listitems[0].text, sizeof(DIALOG_LISTITEM), item_no); - - result = dlg_menu(title, - cprompt, - height, - width, - menu_height, - item_no, - listitems, - &choice, - (dialog_vars.input_menu - ? dlg_renamed_menutext - : dlg_dummy_menutext)); - - dlg_free_columns(&listitems[0].text, sizeof(DIALOG_LISTITEM), item_no); - free(listitems); - return result; -} diff --git a/contrib/dialog/mixedform.c b/contrib/dialog/mixedform.c deleted file mode 100644 index 963d25f71343..000000000000 --- a/contrib/dialog/mixedform.c +++ /dev/null @@ -1,118 +0,0 @@ -/* - * $Id: mixedform.c,v 1.13 2018/06/15 01:23:33 tom Exp $ - * - * mixedform.c -- implements the mixed form (i.e, typed pairs label/editbox) - * - * Copyright 2007-2013,2018 Thomas E. Dickey - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License, version 2.1 - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this program; if not, write to - * Free Software Foundation, Inc. - * 51 Franklin St., Fifth Floor - * Boston, MA 02110, USA. - * - * This is inspired by a patch from Kiran Cherupally - * (but different interface design). - */ - -#include <dialog.h> - -#define LLEN(n) ((n) * MIXEDFORM_TAGS) - -#define ItemName(i) items[LLEN(i) + 0] -#define ItemNameY(i) items[LLEN(i) + 1] -#define ItemNameX(i) items[LLEN(i) + 2] -#define ItemText(i) items[LLEN(i) + 3] -#define ItemTextY(i) items[LLEN(i) + 4] -#define ItemTextX(i) items[LLEN(i) + 5] -#define ItemTextFLen(i) items[LLEN(i) + 6] -#define ItemTextILen(i) items[LLEN(i) + 7] -#define ItemTypep(i) items[LLEN(i) + 8] -#define ItemHelp(i) (dialog_vars.item_help ? items[LLEN(i) + 9] : dlg_strempty()) - -int -dialog_mixedform(const char *title, - const char *cprompt, - int height, - int width, - int form_height, - int item_no, - char **items) -{ - int result; - int choice = 0; - int i; - DIALOG_FORMITEM *listitems; - DIALOG_VARS save_vars; - bool show_status = FALSE; - char *help_result; - - dlg_save_vars(&save_vars); - dialog_vars.separate_output = TRUE; - - listitems = dlg_calloc(DIALOG_FORMITEM, (size_t) item_no + 1); - assert_ptr(listitems, "dialog_mixedform"); - - for (i = 0; i < item_no; ++i) { - listitems[i].type = dialog_vars.formitem_type; - listitems[i].name = ItemName(i); - listitems[i].name_len = (int) strlen(ItemName(i)); - listitems[i].name_y = dlg_ordinate(ItemNameY(i)); - listitems[i].name_x = dlg_ordinate(ItemNameX(i)); - listitems[i].text = ItemText(i); - listitems[i].text_len = (int) strlen(ItemText(i)); - listitems[i].text_y = dlg_ordinate(ItemTextY(i)); - listitems[i].text_x = dlg_ordinate(ItemTextX(i)); - listitems[i].text_flen = atoi(ItemTextFLen(i)); - listitems[i].text_ilen = atoi(ItemTextILen(i)); - listitems[i].help = (dialog_vars.item_help ? ItemHelp(i) : - dlg_strempty()); - listitems[i].type = (unsigned) atoi(ItemTypep(i)); - } - - result = dlg_form(title, - cprompt, - height, - width, - form_height, - item_no, - listitems, - &choice); - - switch (result) { - case DLG_EXIT_OK: /* FALLTHRU */ - case DLG_EXIT_EXTRA: - show_status = TRUE; - break; - case DLG_EXIT_HELP: - dlg_add_help_formitem(&result, &help_result, &listitems[choice]); - show_status = dialog_vars.help_status; - dlg_add_string(help_result); - if (show_status) - dlg_add_separator(); - break; - } - if (show_status) { - for (i = 0; i < item_no; i++) { - if (listitems[i].text_flen > 0) { - dlg_add_string(listitems[i].text); - dlg_add_separator(); - } - } - dlg_add_last_key(-1); - } - - dlg_free_formitems(listitems); - dlg_restore_vars(&save_vars); - - return result; -} diff --git a/contrib/dialog/mixedgauge.c b/contrib/dialog/mixedgauge.c deleted file mode 100644 index a08659fe2989..000000000000 --- a/contrib/dialog/mixedgauge.c +++ /dev/null @@ -1,408 +0,0 @@ -/* - * $Id: mixedgauge.c,v 1.37 2021/01/16 17:19:15 tom Exp $ - * - * mixedgauge.c -- implements the mixedgauge dialog - * - * Copyright 2007-2020,2021 Thomas E. Dickey - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License, version 2.1 - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this program; if not, write to - * Free Software Foundation, Inc. - * 51 Franklin St., Fifth Floor - * Boston, MA 02110, USA. - * - * This is inspired by a patch from Kiran Cherupally - * (but different interface design). - */ - -#include <dialog.h> - -#define LLEN(n) ((n) * MIXEDGAUGE_TAGS) -#define ItemData(i) &items[LLEN(i)] -#define ItemName(i) items[LLEN(i)] -#define ItemText(i) items[LLEN(i) + 1] - -#define MIN_HIGH (4) -#define MIN_WIDE (10 + 2 * (2 + MARGIN)) - -typedef struct { - WINDOW *dialog; - WINDOW *caption; - const char *title; - char *prompt; - int height, old_height, min_height; - int width, old_width, min_width; - int len_name, len_text; - int item_no; - DIALOG_LISTITEM *list; -} DIALOG_MIXEDGAUGE; - -static const char * -status_string(char *given, char **freeMe) -{ - const char *result; - - *freeMe = 0; - if (isdigit(UCH(*given))) { - switch (*given) { - case '0': - result = _("Succeeded"); - break; - case '1': - result = _("Failed"); - break; - case '2': - result = _("Passed"); - break; - case '3': - result = _("Completed"); - break; - case '4': - result = _("Checked"); - break; - case '5': - result = _("Done"); - break; - case '6': - result = _("Skipped"); - break; - case '7': - result = _("In Progress"); - break; - case '8': - result = ""; - break; - case '9': - result = _("N/A"); - break; - default: - result = "?"; - break; - } - } else if (*given == '-') { - size_t need = strlen(++given) + 4; - char *temp = dlg_malloc(char, need); - *freeMe = temp; - sprintf(temp, "%3s%%", given); - result = temp; - } else if (!isspace(UCH(*given))) { - result = given; - } else { - result = 0; - } - return result; -} - -/* This function displays status messages */ -static void -myprint_status(DIALOG_MIXEDGAUGE * dlg) -{ - WINDOW *win = dlg->dialog; - int limit_y = dlg->height; - int limit_x = dlg->width; - - int item; - int cells = dlg->len_text - 2; - int lm = limit_x - dlg->len_text - 1; - int bm = limit_y; /* bottom margin */ - int last_y = 0, last_x = 0; - int j, xxx; - float percent; - char *freeMe = 0; - - bm -= (2 * MARGIN); - getyx(win, last_y, last_x); - for (item = 0; item < dlg->item_no; ++item) { - const char *status = ""; - chtype attr = A_NORMAL; - int y = item + MARGIN + 1; - - if (y > bm) - break; - - status = status_string(dlg->list[item].text, &freeMe); - if (status == 0 || *status == 0) { - free(freeMe); - continue; - } - - (void) wmove(win, y, 2 * MARGIN); - dlg_attrset(win, dialog_attr); - dlg_print_text(win, dlg->list[item].name, lm, &attr); - - (void) wmove(win, y, lm); - (void) waddch(win, '['); - (void) wmove(win, y, lm + (cells - (int) strlen(status)) / 2); - if (freeMe) { - (void) wmove(win, y, lm + 1); - dlg_attrset(win, title_attr); - for (j = 0; j < cells; j++) - (void) waddch(win, ' '); - - (void) wmove(win, y, lm + (cells - (int) strlen(status)) / 2); - (void) waddstr(win, status); - - if ((title_attr & A_REVERSE) != 0) { - dlg_attroff(win, A_REVERSE); - } else { - dlg_attrset(win, A_REVERSE); - } - (void) wmove(win, y, lm + 1); - - if (sscanf(status, "%f%%", &percent) != 1) - percent = 0.0; - xxx = (int) ((cells * (percent + 0.5)) / 100.0); - for (j = 0; j < xxx; j++) { - chtype ch1 = winch(win); - if (title_attr & A_REVERSE) { - ch1 &= ~A_REVERSE; - } - (void) waddch(win, ch1); - } - free(freeMe); - - } else { - (void) wmove(win, y, lm + (cells - (int) strlen(status)) / 2); - (void) waddstr(win, status); - } - (void) wmove(win, y, limit_x - 3); - dlg_attrset(win, dialog_attr); - (void) waddch(win, ']'); - (void) wnoutrefresh(win); - } - if (win != 0) - wmove(win, last_y, last_x); -} - -static void -mydraw_mixed_box(WINDOW *win, int y, int x, int height, int width, - chtype boxchar, chtype borderchar) -{ - dlg_draw_box(win, y, x, height, width, boxchar, borderchar); - { - chtype attr = A_NORMAL; - const char *message = _("Overall Progress"); - chtype save2 = dlg_get_attrs(win); - dlg_attrset(win, title_attr); - (void) wmove(win, y, x + 2); - dlg_print_text(win, message, width, &attr); - dlg_attrset(win, save2); - } -} - -static char * -clean_copy(const char *string) -{ - char *result = dlg_strclone(string); - - dlg_trim_string(result); - dlg_tab_correct_str(result); - return result; -} - -/* - * Update mixed-gauge dialog (may be from pipe, may be via direct calls). - */ -static void -dlg_update_mixedgauge(DIALOG_MIXEDGAUGE * dlg, int percent) -{ - int i, x; - - /* - * Clear the area for the progress bar by filling it with spaces - * in the title-attribute, and write the percentage with that - * attribute. - */ - (void) wmove(dlg->dialog, dlg->height - 3, 4); - dlg_attrset(dlg->dialog, gauge_attr); - - for (i = 0; i < (dlg->width - 2 * (3 + MARGIN)); i++) - (void) waddch(dlg->dialog, ' '); - - (void) wmove(dlg->dialog, dlg->height - 3, (dlg->width / 2) - 2); - (void) wprintw(dlg->dialog, "%3d%%", percent); - - /* - * Now draw a bar in reverse, relative to the background. - * The window attribute was useful for painting the background, - * but requires some tweaks to reverse it. - */ - x = (percent * (dlg->width - 2 * (3 + MARGIN))) / 100; - if ((title_attr & A_REVERSE) != 0) { - dlg_attroff(dlg->dialog, A_REVERSE); - } else { - dlg_attrset(dlg->dialog, A_REVERSE); - } - (void) wmove(dlg->dialog, dlg->height - 3, 4); - for (i = 0; i < x; i++) { - chtype ch = winch(dlg->dialog); - if (title_attr & A_REVERSE) { - ch &= ~A_REVERSE; - } - (void) waddch(dlg->dialog, ch); - } - myprint_status(dlg); - dlg_trace_win(dlg->dialog); -} - -/* - * Setup dialog. - */ -static void -dlg_begin_mixedgauge(DIALOG_MIXEDGAUGE * dlg, - int *began, - const char *aTitle, - const char *aPrompt, - int aHeight, - int aWidth, - int aItemNo, - char **items) -{ - int y, x; - - if (!*began) { - int n; - - curs_set(0); - - memset(dlg, 0, sizeof(*dlg)); - dlg->title = aTitle; - dlg->prompt = clean_copy(aPrompt); - dlg->height = dlg->old_height = aHeight; - dlg->width = dlg->old_width = aWidth; - dlg->item_no = aItemNo; - - dlg->list = dlg_calloc(DIALOG_LISTITEM, (size_t) aItemNo); - assert_ptr(dlg->list, "dialog_mixedgauge"); - - dlg->len_name = 0; - dlg->len_text = 15; - - for (n = 0; n < aItemNo; ++n) { - int thisWidth = (int) strlen(ItemName(n)); - if (dlg->len_name < thisWidth) - dlg->len_name = thisWidth; - dlg->list[n].name = ItemName(n); - dlg->list[n].text = ItemText(n); - } - - dlg->min_height = MIN_HIGH + aItemNo; - dlg->min_width = MIN_WIDE + dlg->len_name + GUTTER + dlg->len_text; - - if (dlg->prompt != 0 && *(dlg->prompt) != 0) - dlg->min_height += (2 * MARGIN); -#ifdef KEY_RESIZE - nodelay(stdscr, TRUE); -#endif - } -#ifdef KEY_RESIZE - else { - dlg_del_window(dlg->dialog); - dlg->height = dlg->old_height; - dlg->width = dlg->old_width; - } -#endif - - dlg_auto_size(dlg->title, dlg->prompt, - &(dlg->height), - &(dlg->width), - dlg->min_height, - dlg->min_width); - dlg_print_size(dlg->height, dlg->width); - dlg_ctl_size(dlg->height, dlg->width); - - /* center dialog box on screen */ - x = dlg_box_x_ordinate(dlg->width); - y = dlg_box_y_ordinate(dlg->height); - - dlg->dialog = dlg_new_window(dlg->height, dlg->width, y, x); - - (void) werase(dlg->dialog); - dlg_draw_box2(dlg->dialog, - 0, 0, - dlg->height, - dlg->width, - dialog_attr, border_attr, border2_attr); - - dlg_draw_title(dlg->dialog, dlg->title); - dlg_draw_helpline(dlg->dialog, FALSE); - - if ((dlg->prompt != 0 && *(dlg->prompt) != 0) - && wmove(dlg->dialog, dlg->item_no, 0) != ERR) { - dlg->caption = dlg_sub_window(dlg->dialog, - dlg->height - dlg->item_no - (2 * MARGIN), - dlg->width, - y + dlg->item_no + (2 * MARGIN), - x); - dlg_attrset(dlg->caption, dialog_attr); - dlg_print_autowrap(dlg->caption, dlg->prompt, dlg->height, dlg->width); - } - - mydraw_mixed_box(dlg->dialog, - dlg->height - 4, - 2 + MARGIN, - 2 + MARGIN, - dlg->width - 2 * (2 + MARGIN), - dialog_attr, - border_attr); - - *began += 1; -} - -/* - * Discard the mixed-gauge dialog. - */ -static int -dlg_finish_mixedgauge(DIALOG_MIXEDGAUGE * dlg, int status) -{ - (void) wrefresh(dlg->dialog); -#ifdef KEY_RESIZE - nodelay(stdscr, FALSE); -#endif - curs_set(1); - dlg_del_window(dlg->dialog); - free(dlg->prompt); - free(dlg->list); - return status; -} - -/* - * Setup dialog, read mixed-gauge data from pipe. - */ -int -dialog_mixedgauge(const char *title, - const char *cprompt, - int height, - int width, - int percent, - int item_no, - char **items) -{ - DIALOG_MIXEDGAUGE dlg; - int began = 0; - - DLG_TRACE(("# mixedgauge args:\n")); - DLG_TRACE2S("title", title); - DLG_TRACE2S("message", cprompt); - DLG_TRACE2N("height", height); - DLG_TRACE2N("width", width); - DLG_TRACE2N("percent", percent); - DLG_TRACE2N("llength", item_no); - /* FIXME dump the items[][] too */ - - dlg_begin_mixedgauge(&dlg, &began, title, cprompt, height, - width, item_no, items); - - dlg_update_mixedgauge(&dlg, percent); - - return dlg_finish_mixedgauge(&dlg, DLG_EXIT_OK); -} diff --git a/contrib/dialog/mouse.c b/contrib/dialog/mouse.c deleted file mode 100644 index eab4bc91a557..000000000000 --- a/contrib/dialog/mouse.c +++ /dev/null @@ -1,162 +0,0 @@ -/* - * $Id: mouse.c,v 1.24 2017/01/31 00:27:21 tom Exp $ - * - * mouse.c -- mouse support for dialog - * - * Copyright 2002-2016,2017 Thomas E. Dickey - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License, version 2.1 - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this program; if not, write to - * Free Software Foundation, Inc. - * 51 Franklin St., Fifth Floor - * Boston, MA 02110, USA. - */ - -#include <dialog.h> -#include <dlg_keys.h> - -#if USE_MOUSE - -static int basex, basey, basecode; - -static mseRegion *regionList = NULL; - -/*=========== region related functions =============*/ - -static mseRegion * -find_region_by_code(int code) -{ - mseRegion *butPtr; - - for (butPtr = regionList; butPtr; butPtr = butPtr->next) { - if (code == butPtr->code) - break; - } - return butPtr; -} - -void -dlg_mouse_setbase(int x, int y) -{ - basex = x; - basey = y; -} - -void -dlg_mouse_setcode(int code) -{ - basecode = code; - DLG_TRACE(("# mouse_setcode %d\n", code)); -} - -void -dlg_mouse_mkbigregion(int y, int x, - int height, int width, - int code, - int step_y, int step_x, - int mode) -{ - mseRegion *butPtr = dlg_mouse_mkregion(y, x, height, width, -DLGK_MOUSE(code)); - butPtr->mode = mode; - butPtr->step_x = MAX(1, step_x); - butPtr->step_y = MAX(1, step_y); -} - -void -dlg_mouse_free_regions(void) -{ - while (regionList != 0) { - mseRegion *butPtr = regionList->next; - free(regionList); - regionList = butPtr; - } -} - -mseRegion * -dlg_mouse_mkregion(int y, int x, int height, int width, int code) -{ - mseRegion *butPtr; - - if ((butPtr = find_region_by_code(basecode + code)) == 0) { - butPtr = dlg_calloc(mseRegion, 1); - assert_ptr(butPtr, "dlg_mouse_mkregion"); - butPtr->next = regionList; - regionList = butPtr; - } - - if ((butPtr->mode != -1) || - (butPtr->step_x != 0) || - (butPtr->step_y != 0) || - (butPtr->y != (basey + y)) || - (butPtr->Y != (basey + y + height)) || - (butPtr->x != (basex + x)) || - (butPtr->X != (basex + x + width)) || - (butPtr->code != basecode + code)) { - DLG_TRACE(("# mouse_mkregion %d,%d %dx%d %d (%d)\n", - y, x, height, width, - butPtr->code, code)); - } - - butPtr->mode = -1; - butPtr->step_x = 0; - butPtr->step_y = 0; - butPtr->y = basey + y; - butPtr->Y = basey + y + height; - butPtr->x = basex + x; - butPtr->X = basex + x + width; - butPtr->code = basecode + code; - - return butPtr; -} - -/* retrieve the frame under the pointer */ -static mseRegion * -any_mouse_region(int y, int x, int small) -{ - mseRegion *butPtr; - - for (butPtr = regionList; butPtr; butPtr = butPtr->next) { - if (small ^ (butPtr->code >= 0)) { - continue; - } - if (y < butPtr->y || y >= butPtr->Y) { - continue; - } - if (x < butPtr->x || x >= butPtr->X) { - continue; - } - break; /* found */ - } - return butPtr; -} - -/* retrieve the frame under the pointer */ -mseRegion * -dlg_mouse_region(int y, int x) -{ - return any_mouse_region(y, x, TRUE); -} - -/* retrieve the bigframe under the pointer */ -mseRegion * -dlg_mouse_bigregion(int y, int x) -{ - return any_mouse_region(y, x, FALSE); -} - -#else -void mouse_dummy(void); -void -mouse_dummy(void) -{ -} -#endif /* USE_MOUSE */ diff --git a/contrib/dialog/mousewget.c b/contrib/dialog/mousewget.c deleted file mode 100644 index fc85a7106237..000000000000 --- a/contrib/dialog/mousewget.c +++ /dev/null @@ -1,96 +0,0 @@ -/* - * $Id: mousewget.c,v 1.25 2019/07/25 00:06:38 tom Exp $ - * - * mousewget.c -- mouse/wgetch support for dialog - * - * Copyright 2000-2017,2019 Thomas E. Dickey - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License, version 2.1 - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this program; if not, write to - * Free Software Foundation, Inc. - * 51 Franklin St., Fifth Floor - * Boston, MA 02110, USA. - */ - -#include <dialog.h> -#include <dlg_keys.h> - -static int -mouse_wgetch(WINDOW *win, int *fkey, bool ignore_errs) -{ - int mouse_err = FALSE; - int key; - - do { - - key = dlg_getc(win, fkey); - -#if USE_MOUSE - - mouse_err = FALSE; - if (key == KEY_MOUSE) { - MEVENT event; - - if (getmouse(&event) != ERR) { - mseRegion *p; - - DLG_TRACE(("# mouse-click abs %d,%d (rel %d,%d)\n", - event.y, event.x, - event.y - getbegy(win), - event.x - getbegx(win))); - if ((p = dlg_mouse_region(event.y, event.x)) != 0) { - key = DLGK_MOUSE(p->code); - } else if ((p = dlg_mouse_bigregion(event.y, event.x)) != 0) { - int x = event.x - p->x; - int y = event.y - p->y; - int row = (p->X - p->x) / p->step_x; - - key = -(p->code); - switch (p->mode) { - case 1: /* index by lines */ - key += y; - break; - case 2: /* index by columns */ - key += (x / p->step_x); - break; - default: - case 3: /* index by cells */ - key += (x / p->step_x) + (y * row); - break; - } - } else { - (void) beep(); - mouse_err = TRUE; - } - } else { - (void) beep(); - mouse_err = TRUE; - } - } -#endif - - } while (ignore_errs && mouse_err); - - return key; -} - -int -dlg_mouse_wgetch(WINDOW *win, int *fkey) -{ - return mouse_wgetch(win, fkey, TRUE); -} - -int -dlg_mouse_wgetch_nowait(WINDOW *win, int *fkey) -{ - return mouse_wgetch(win, fkey, FALSE); -} diff --git a/contrib/dialog/msgbox.c b/contrib/dialog/msgbox.c deleted file mode 100644 index 5264368b67dc..000000000000 --- a/contrib/dialog/msgbox.c +++ /dev/null @@ -1,204 +0,0 @@ -/* - * $Id: msgbox.c,v 1.89 2020/11/23 00:32:02 tom Exp $ - * - * msgbox.c -- implements the message box and info box - * - * Copyright 2000-2019,2020 Thomas E. Dickey - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License, version 2.1 - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this program; if not, write to - * Free Software Foundation, Inc. - * 51 Franklin St., Fifth Floor - * Boston, MA 02110, USA. - * - * An earlier version of this program lists as authors: - * Savio Lam (lam836@cs.cuhk.hk) - */ - -#include <dialog.h> -#include <dlg_keys.h> - -/* - * Display a message box. Program will pause and display an "OK" button - * if the parameter 'pauseopt' is non-zero. - */ -int -dialog_msgbox(const char *title, const char *cprompt, int height, int width, - int pauseopt) -{ - /* *INDENT-OFF* */ - static DLG_KEYS_BINDING binding[] = { - HELPKEY_BINDINGS, - ENTERKEY_BINDINGS, - SCROLLKEY_BINDINGS, - TRAVERSE_BINDINGS, - END_KEYS_BINDING - }; - /* *INDENT-ON* */ - - int x, y, page; - int button; - int key, fkey; - int result = DLG_EXIT_UNKNOWN; - WINDOW *dialog = 0; - char *prompt; - const char **buttons = dlg_ok_label(); - int offset = 0; - bool show = TRUE; - int min_width = (pauseopt == 1 ? 12 : 0); - bool save_nocancel = dialog_vars.nocancel; -#ifdef KEY_RESIZE - int req_high; - int req_wide; -#endif - - DLG_TRACE(("# msgbox args:\n")); - DLG_TRACE2S("title", title); - DLG_TRACE2S("message", cprompt); - DLG_TRACE2N("height", height); - DLG_TRACE2N("width", width); - DLG_TRACE2N("pauseopt", pauseopt); - - dialog_vars.nocancel = TRUE; - button = dlg_default_button(); - -#ifdef KEY_RESIZE - req_high = height; - req_wide = width; - restart: -#endif - - dlg_button_layout(buttons, &min_width); - - prompt = dlg_strclone(cprompt); - dlg_tab_correct_str(prompt); - dlg_auto_size(title, prompt, &height, &width, - (pauseopt == 1 ? 2 : 0), - min_width); - dlg_print_size(height, width); - dlg_ctl_size(height, width); - - x = dlg_box_x_ordinate(width); - y = dlg_box_y_ordinate(height); - - dialog = dlg_new_window(height, width, y, x); - dlg_register_window(dialog, "msgbox", binding); - dlg_register_buttons(dialog, "msgbox", buttons); - - page = height - (1 + 3 * MARGIN); - - dlg_mouse_setbase(x, y); - - dlg_draw_box2(dialog, 0, 0, height, width, dialog_attr, border_attr, border2_attr); - dlg_draw_title(dialog, title); - - dlg_attrset(dialog, dialog_attr); - - if (pauseopt) { - int last = 0; - - dlg_draw_bottom_box2(dialog, border_attr, border2_attr, dialog_attr); - mouse_mkbutton(height - 2, width / 2 - 4, 6, '\n'); - dlg_draw_buttons(dialog, height - 2, 0, buttons, button, FALSE, width); - dlg_draw_helpline(dialog, FALSE); - - while (result == DLG_EXIT_UNKNOWN) { - int check; - - if (show) { - last = dlg_print_scrolled(dialog, prompt, offset, - page, width, pauseopt); - dlg_trace_win(dialog); - show = FALSE; - } - key = dlg_mouse_wgetch(dialog, &fkey); - if (dlg_result_key(key, fkey, &result)) { - if (!dlg_button_key(result, &button, &key, &fkey)) - break; - } - if (!fkey && (check = dlg_char_to_button(key, buttons)) >= 0) { - result = dlg_ok_buttoncode(check); - break; - } - - if (fkey) { - switch (key) { -#ifdef KEY_RESIZE - case KEY_RESIZE: - dlg_will_resize(dialog); - free(prompt); - height = req_high; - width = req_wide; - show = TRUE; - _dlg_resize_cleanup(dialog); - goto restart; -#endif - case DLGK_FIELD_NEXT: - button = dlg_next_button(buttons, button); - if (button < 0) - button = 0; - dlg_draw_buttons(dialog, - height - 2, 0, - buttons, button, - FALSE, width); - break; - case DLGK_FIELD_PREV: - button = dlg_prev_button(buttons, button); - if (button < 0) - button = 0; - dlg_draw_buttons(dialog, - height - 2, 0, - buttons, button, - FALSE, width); - break; - case DLGK_ENTER: - result = dlg_enter_buttoncode(button); - break; - case DLGK_LEAVE: - result = dlg_ok_buttoncode(button); - break; - default: - if (is_DLGK_MOUSE(key)) { - result = dlg_ok_buttoncode(key - M_EVENT); - if (result < 0) - result = DLG_EXIT_OK; - } else if (dlg_check_scrolled(key, - last, - page, - &show, - &offset) == 0) { - } else { - beep(); - } - break; - } - } else if (key > 0) { - beep(); - } - } - } else { - dlg_print_scrolled(dialog, prompt, offset, page, width, pauseopt); - dlg_draw_helpline(dialog, FALSE); - wrefresh(dialog); - dlg_trace_win(dialog); - result = DLG_EXIT_OK; - } - dlg_add_last_key(-1); - - dlg_del_window(dialog); - dlg_mouse_free_regions(); - free(prompt); - - dialog_vars.nocancel = save_nocancel; - - return result; -} diff --git a/contrib/dialog/package/debian/changelog b/contrib/dialog/package/debian/changelog deleted file mode 100644 index 2bef7f287f2c..000000000000 --- a/contrib/dialog/package/debian/changelog +++ /dev/null @@ -1,337 +0,0 @@ -cdialog (20210117) unstable; urgency=low - - * maintenance updates - - -- Thomas E. Dickey <dickey@invisible-island.net> Wed, 13 Jan 2021 19:58:21 -0500 - -cdialog (20210112) unstable; urgency=low - - * maintenance updates - - -- Thomas E. Dickey <dickey@invisible-island.net> Mon, 11 Jan 2021 03:53:05 -0500 - -cdialog (20201126) unstable; urgency=low - - * maintenance updates - - -- Thomas E. Dickey <dickey@invisible-island.net> Sun, 26 Jul 2020 11:17:16 -0400 - -cdialog (20200327) unstable; urgency=low - - * maintenance updates - - -- Thomas E. Dickey <dickey@invisible-island.net> Thu, 19 Mar 2020 05:02:12 -0400 - -cdialog (20200228) unstable; urgency=low - - * maintenance updates - - -- Thomas E. Dickey <dickey@invisible-island.net> Fri, 28 Feb 2020 20:31:15 -0500 - -cdialog (20191231) unstable; urgency=low - - * maintenance updates - - -- Thomas E. Dickey <dickey@invisible-island.net> Tue, 31 Dec 2019 15:37:41 -0500 - -cdialog (20191210) unstable; urgency=low - - * maintenance updates - - -- Thomas E. Dickey <dickey@invisible-island.net> Tue, 10 Dec 2019 17:19:19 -0500 - -cdialog (20191209) unstable; urgency=low - - * maintenance updates - - -- Thomas E. Dickey <dickey@invisible-island.net> Mon, 09 Dec 2019 04:14:47 -0500 - -cdialog (20191110) unstable; urgency=low - - * maintenance updates - - -- Thomas E. Dickey <dickey@invisible-island.net> Sun, 10 Nov 2019 17:48:23 -0500 - -cdialog (20190926) unstable; urgency=low - - * maintenance updates - - -- Thomas E. Dickey <dickey@invisible-island.net> Wed, 25 Sep 2019 04:37:53 -0400 - -cdialog (20190924) unstable; urgency=low - - * maintenance updates - - -- Thomas E. Dickey <dickey@invisible-island.net> Mon, 23 Sep 2019 05:13:54 -0400 - -cdialog (20190808) unstable; urgency=low - - * maintenance updates - - -- Thomas E. Dickey <dickey@invisible-island.net> Thu, 08 Aug 2019 16:54:08 -0400 - -cdialog (20190806) unstable; urgency=low - - * maintenance updates - - -- Thomas E. Dickey <dickey@invisible-island.net> Thu, 01 Aug 2019 20:16:04 -0400 - -cdialog (20190728) unstable; urgency=low - - * maintenance updates - - -- Thomas E. Dickey <dickey@invisible-island.net> Sun, 28 Jul 2019 18:04:47 -0400 - -cdialog (20190724) unstable; urgency=low - - * maintenance updates - - -- Thomas E. Dickey <dickey@invisible-island.net> Mon, 22 Jul 2019 19:20:18 -0400 - -cdialog (20190211) unstable; urgency=low - - * maintenance updates - - -- Thomas E. Dickey <dickey@invisible-island.net> Mon, 11 Feb 2019 15:47:42 -0500 - -cdialog (20181107) unstable; urgency=low - - * maintenance updates - - -- Thomas E. Dickey <dickey@invisible-island.net> Wed, 07 Nov 2018 20:38:14 -0500 - -cdialog (20181022) unstable; urgency=low - - * maintenance updates - - -- Thomas E. Dickey <dickey@invisible-island.net> Sun, 28 Oct 2018 10:53:29 -0400 - -cdialog (20180621) unstable; urgency=low - - * maintenance updates - - -- Thomas E. Dickey <dickey@invisible-island.net> Thu, 15 Feb 2018 05:02:43 -0500 - -cdialog (20171209) unstable; urgency=low - - * maintenance updates - - -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 09 Dec 2017 10:52:09 -0500 - -cdialog (20170509) unstable; urgency=low - - * maintenance updates - - -- Thomas E. Dickey <dickey@invisible-island.net> Tue, 09 May 2017 19:08:48 -0400 - -cdialog (20170131) unstable; urgency=low - - * maintenance updates - - -- Thomas E. Dickey <dickey@invisible-island.net> Mon, 23 Jan 2017 17:41:21 -0500 - -cdialog (20161120) unstable; urgency=low - - * maintenance updates - - -- Thomas E. Dickey <dickey@invisible-island.net> Sun, 20 Nov 2016 06:47:59 -0500 - -cdialog (20160828) unstable; urgency=low - - * maintenance updates - - -- Thomas E. Dickey <dickey@invisible-island.net> Fri, 26 Aug 2016 17:41:17 -0400 - -cdialog (20160424) unstable; urgency=low - - * maintenance updates - - -- Thomas E. Dickey <dickey@invisible-island.net> Tue, 19 Apr 2016 06:33:50 -0400 - -cdialog (20160209) unstable; urgency=low - - * maintenance updates - - -- Thomas E. Dickey <dickey@invisible-island.net> Mon, 01 Feb 2016 05:18:04 -0500 - -cdialog (20160126) unstable; urgency=low - - * maintenance updates, add --week-start option - - -- Thomas E. Dickey <dickey@invisible-island.net> Mon, 25 Jan 2016 13:13:51 -0500 - -cdialog (20150920) unstable; urgency=low - - * maintenance updates - - -- Thomas E. Dickey <dickey@invisible-island.net> Sun, 20 Sep 2015 18:08:36 -0400 - -cdialog (20150528) unstable; urgency=low - - * maintenance updates - - -- Thomas E. Dickey <dickey@invisible-island.net> Thu, 28 May 2015 19:42:32 -0400 - -cdialog (20150513) unstable; urgency=low - - * maintenance updates - - -- Thomas E. Dickey <dickey@invisible-island.net> Wed, 13 May 2015 10:46:07 -0400 - -cdialog (20150512) unstable; urgency=low - - * maintenance updates - - -- Thomas E. Dickey <dickey@invisible-island.net> Sun, 10 May 2015 19:31:46 -0400 - -cdialog (20150225) unstable; urgency=low - - * maintenance updates - - -- Thomas E. Dickey <dickey@invisible-island.net> Wed, 25 Feb 2015 05:10:57 -0500 - -cdialog (20150224) unstable; urgency=low - - * maintenance updates - - -- Thomas E. Dickey <dickey@invisible-island.net> Tue, 24 Feb 2015 07:10:45 -0500 - -cdialog (20150125) unstable; urgency=low - - * maintenance updates - - -- Thomas E. Dickey <dickey@invisible-island.net> Sun, 25 Jan 2015 16:30:54 -0500 - -cdialog (20140911) unstable; urgency=low - - * maintenance updates - - -- Thomas E. Dickey <dickey@invisible-island.net> Thu, 11 Sep 2014 03:56:17 -0400 - -cdialog (20140910) unstable; urgency=low - - * maintenance updates - - -- Thomas E. Dickey <dickey@invisible-island.net> Wed, 10 Sep 2014 04:23:13 -0400 - -cdialog (20140908) unstable; urgency=low - - * maintenance updates - - -- Thomas E. Dickey <dickey@invisible-island.net> Mon, 08 Sep 2014 05:10:11 -0400 - -cdialog (20140901) unstable; urgency=low - - * maintenance updates - - -- Thomas E. Dickey <dickey@invisible-island.net> Mon, 01 Sep 2014 12:15:40 -0400 - -cdialog (20140219) unstable; urgency=low - - * maintenance updates - - -- Thomas E. Dickey <dickey@invisible-island.net> Wed, 19 Feb 2014 04:13:36 -0500 - -cdialog (20140112) unstable; urgency=low - - * maintenance updates - - -- Thomas E. Dickey <dickey@invisible-island.net> Sun, 12 Jan 2014 13:22:17 -0500 - -cdialog (20130928) unstable; urgency=low - - * maintenance updates - - -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 28 Sep 2013 21:27:37 -0400 - -cdialog (20130923) unstable; urgency=low - - * improved memory-caching for gauge widget - - -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 21 Sep 2013 09:18:26 -0400 - -cdialog (20130902) unstable; urgency=low - - * maintenance updates - - -- Thomas E. Dickey <dickey@invisible-island.net> Sun, 01 Sep 2013 19:08:31 -0400 - -cdialog (20130523) unstable; urgency=low - - * minor fixes - - -- Thomas E. Dickey <dickey@invisible-island.net> Thu, 23 May 2013 19:25:01 -0400 - -cdialog (20130315) unstable; urgency=low - - * minor fixes - - -- Thomas E. Dickey <dickey@invisible-island.net> Fri, 15 Mar 2013 04:41:20 -0400 - -cdialog (20121230) unstable; urgency=low - - * new widgets - * coverity fixes - * configure-script updates - - -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 06 Oct 2012 09:19:29 -0400 - -cdialog (20120706) unstable; urgency=high - - * fix regression in msgbox (ArchLinux #30574) - - -- Thomas E. Dickey <dickey@invisible-island.net> Fri, 06 Jul 2012 12:52:46 -0400 - -cdialog (20120703) unstable; urgency=low - - * minor fixes - * add --default-button - - -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 30 Jun 2012 10:41:05 -0400 - -cdialog (20120215) unstable; urgency=low - - * minor fixes - - -- Thomas E. Dickey <dickey@invisible-island.net> Wed, 15 Feb 2012 19:40:32 -0500 - -cdialog (20111020) unstable; urgency=high - - * fix regression in menubox.c logic for inputmenu vs menu. - - -- Thomas E. Dickey <dickey@invisible-island.net> Wed, 19 Oct 2011 19:17:40 -0400 - -cdialog (20111018) unstable; urgency=high - - * improve color configurability - * misc bug-fixes. - * various improvements to tracing. - * remove an incorrect free() call in dlg_free_gauge() - * fix missing trailing null from dlg_align_columns - - -- Thomas E. Dickey <dickey@invisible-island.net> Wed, 07 Sep 2011 20:04:04 -0400 - -cdialog (20110707) unstable; urgency=high - - * fix a regression in dlg_getc() from 20110630 changes. - - -- Thomas E. Dickey <dickey@invisible-island.net> Thu, 07 Jul 2011 18:10:47 -0400 - -cdialog (20110630) unstable; urgency=high - - * various bug-fixes reported in FreeBSD. - - -- Thomas E. Dickey <dickey@invisible-island.net> Mon, 13 Jun 2011 05:44:17 -0400 - -cdialog (20110302) unstable; urgency=high - - * Add --prgbox and --progressbox - * Bug-fix for --timeout. - - -- Thomas E. Dickey <dickey@invisible-island.net> Mon, 28 Feb 2011 18:42:17 -0500 - -cdialog (20110118) unstable; urgency=high - - * Initial package release - - -- Thomas E. Dickey <dickey@invisible-island.net> Thu, 30 Dec 2010 09:23:24 -0500 diff --git a/contrib/dialog/package/debian/compat b/contrib/dialog/package/debian/compat deleted file mode 100644 index f599e28b8ab0..000000000000 --- a/contrib/dialog/package/debian/compat +++ /dev/null @@ -1 +0,0 @@ -10 diff --git a/contrib/dialog/package/debian/control b/contrib/dialog/package/debian/control deleted file mode 100644 index 8df5923fe94c..000000000000 --- a/contrib/dialog/package/debian/control +++ /dev/null @@ -1,33 +0,0 @@ -Source: cdialog -Maintainer: Thomas E. Dickey <dickey@invisible-island.net> -Section: misc -Priority: optional -Standards-Version: 3.8.4 -Build-Depends: debhelper (>= 5), libc6 (>= 2.11), libncursesw5-dev (>= 5.3), groff-base -Homepage: http://invisible-island.net/dialog/ - -Package: cdialog -Architecture: any -Depends: libc6 (>= 2.11), libncursesw5 (>= 5.3) -Description: dialog - display dialog boxes from shell scripts - Dialog is a program that will let you present a variety of questions or - display messages using dialog boxes from a shell script. These types - of dialog boxes are implemented (though not all are necessarily - compiled into dialog): - . - buildlist, calendar, checklist, dselect, editbox, form, fselect, - gauge, infobox, inputbox, inputmenu, menu, mixedform, - mixedgauge, msgbox (message), passwordbox, passwordform, pause, - prgbox, programbox, progressbox, radiolist, rangebox, tailbox, - tailboxbg, textbox, timebox, treeview, and yesno (yes/no). - . - This package installs as "cdialog" to avoid conflict with other packages. - -Package: cdialog-dev -Architecture: any -Depends: libc6 (>= 2.11), libncursesw5 (>= 5.3) -Description: dialog - display dialog boxes from shell scripts - Dialog is a program that will let you present a variety of questions or - display messages using dialog boxes from a shell script. These types - This package provides headers and documentation for the library used - by "cdialog". diff --git a/contrib/dialog/package/debian/copyright b/contrib/dialog/package/debian/copyright deleted file mode 100644 index e9614740c905..000000000000 --- a/contrib/dialog/package/debian/copyright +++ /dev/null @@ -1,111 +0,0 @@ -Upstream source http://invisible-island.net/dialog/dialog.html - -Current dialog upstream maintainer: Thomas Dickey <dickey@invisible-island.net> - -------------------------------------------------------------------------------- -Files: *.c *.h - Copyright 2000-2020,2021 Thomas E. Dickey - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License, version 2.1 - as published by the Free Software Foundation. - - This program is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this program; if not, write to - Free Software Foundation, Inc. - 51 Franklin St., Fifth Floor - Boston, MA 02110, USA. - - An earlier version of this program lists as authors - Savio Lam (lam836@cs.cuhk.hk) -------------------------------------------------------------------------------- - -Files: aclocal.m4 -Licence: other-BSD -Copyright: 1999-2020,2021 by Thomas E. Dickey - Permission is hereby granted, free of charge, to any person obtaining a - copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, distribute with modifications, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, - DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR - OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR - THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - Except as contained in this notice, the name(s) of the above copyright - holders shall not be used in advertising or otherwise to promote the - sale, use or other dealings in this Software without prior written - authorization. - -Files: install-sh -Copyright: 1994 X Consortium -Licence: other-BSD - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to - deal in the Software without restriction, including without limitation the - rights to use, copy, modify, merge, publish, distribute, sublicense, and/or - sell copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN - AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- - TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - Except as contained in this notice, the name of the X Consortium shall not - be used in advertising or otherwise to promote the sale, use or other deal- - ings in this Software without prior written authorization from the X Consor- - tium. - - FSF changes to this file are in the public domain. - - 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. - -Files: debian/* -Copyright: 2010-2020,2021 Thomas E. Dickey -Licence: other-BSD - Permission to use, copy, modify, and distribute this software and its - documentation for any purpose and without fee is hereby granted, - 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 the above listed - copyright holder(s) not be used in advertising or publicity pertaining - to distribution of the software without specific, written prior - permission. - - THE ABOVE LISTED COPYRIGHT HOLDER(S) DISCLAIM ALL WARRANTIES WITH REGARD - TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY - AND FITNESS, IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE - LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - -On Debian systems, the complete text of the GNU General -Public License can be found in '/usr/share/common-licenses/GPL-2' diff --git a/contrib/dialog/package/debian/docs b/contrib/dialog/package/debian/docs deleted file mode 100644 index e845566c06f9..000000000000 --- a/contrib/dialog/package/debian/docs +++ /dev/null @@ -1 +0,0 @@ -README diff --git a/contrib/dialog/package/debian/postinst b/contrib/dialog/package/debian/postinst deleted file mode 100755 index 9977c68681c4..000000000000 --- a/contrib/dialog/package/debian/postinst +++ /dev/null @@ -1,7 +0,0 @@ -#! /bin/sh - -set -e - -if [ "$1" = "configure" ]; then - ldconfig -fi diff --git a/contrib/dialog/package/debian/rules b/contrib/dialog/package/debian/rules deleted file mode 100755 index 4f03a22819bf..000000000000 --- a/contrib/dialog/package/debian/rules +++ /dev/null @@ -1,140 +0,0 @@ -#!/usr/bin/make -f -# $Id: rules,v 1.11 2019/07/24 00:53:35 tom Exp $ -# Made with the aid of dh_make, by Craig Small -# Sample debian/rules that uses debhelper. GNU copyright 1997 by Joey Hess. -# Some lines taken from debmake, by Cristoph Lameter. - -# Uncomment this to turn on verbose mode. -#export DH_VERBOSE=1 - -# These are used for cross-compiling and for saving the configure script -# from having to guess our platform (since we know it already) -DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) -DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) - -CPPFLAGS := $(shell dpkg-buildflags --get CPPFLAGS) -CFLAGS := $(shell dpkg-buildflags --get CFLAGS) -LDFLAGS := $(shell dpkg-buildflags --get LDFLAGS) - -TMP = $(CURDIR)/debian/tmp - -ACTUAL_PROG = cdialog -DEV_PACKAGE = $(ACTUAL_PROG)-dev - -BINDIR = /usr/bin -LIBDIR = /usr/lib -LOCALE = /usr/share/locale -MANDIR = /usr/share/man -HEADER = /usr/include - -ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) - CFLAGS += -O0 -else - CFLAGS += -O2 -endif -ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS))) - INSTALL_PROGRAM += -s -endif - - -configure: configure-stamp -configure-stamp: - dh_testdir - - cp -v package/dialog.map package/${ACTUAL_PROG}.map - - CPPFLAGS="$(CPPFLAGS)" \ - CFLAGS="$(CFLAGS)" \ - LDFLAGS="$(LDFLAGS)" \ - ./configure \ - --host=$(DEB_HOST_GNU_TYPE) \ - --build=$(DEB_BUILD_GNU_TYPE) \ - --prefix=/usr \ - --mandir=\$${prefix}/share/man \ - --enable-nls \ - --enable-header-subdir \ - --enable-widec \ - --with-shared \ - --with-screen=ncursesw6 \ - --with-package=${ACTUAL_PROG} \ - --with-versioned-syms \ - --disable-rpath-hack - - touch configure-stamp - -build: build-stamp -build-stamp: configure-stamp - dh_testdir - - $(MAKE) - - touch build-stamp - -clean: - dh_testdir - dh_testroot - - [ ! -f makefile ] || $(MAKE) distclean - - rm -f configure-stamp build-stamp install-stamp - - dh_clean - -install: install-stamp -install-stamp: build-stamp - dh_testdir - dh_testroot - dh_clean -k - dh_installdirs - - $(MAKE) install-full DESTDIR=$(TMP) - - dh_install -p${ACTUAL_PROG} $(BINDIR)/$(ACTUAL_PROG) - dh_install -p${ACTUAL_PROG} $(LIBDIR) - dh_install -p${ACTUAL_PROG} $(LOCALE) - dh_install -p${ACTUAL_PROG} $(MANDIR)/man1 - dh_install -p${DEV_PACKAGE} $(BINDIR)/$(ACTUAL_PROG)-config - dh_install -p${DEV_PACKAGE} $(MANDIR)/man3 - dh_install -p${DEV_PACKAGE} $(HEADER) - - echo FIXME - for P in lib${ACTUAL_PROG}.so*; \ - do \ - [ -L "$$P" ] || continue; \ - case "$$P" in \ - *.so) \ - echo "DEV: $$P"; \ - dh_link -p${DEV_PACKAGE} $(LIBDIR)/`readlink $$P` $(LIBDIR)/$$P ; \ - ;; \ - *) \ - echo "BIN: $$P"; \ - dh_link -p${ACTUAL_PROG} $(LIBDIR)/`readlink $$P` $(LIBDIR)/$$P ; \ - ;; \ - esac; \ - done - - touch install-stamp - -# Build architecture-independent files here. -binary-indep: build install -# No binary-indep target. - -# Build architecture-dependent files here. -binary-arch: build install - dh_testdir - dh_testroot - dh_installdocs - dh_installexamples - dh_installchangelogs CHANGES - dh_strip - dh_compress - dh_fixperms - dh_installdeb - dh_makeshlibs - dh_shlibdeps - dh_gencontrol - dh_md5sums - dh_builddeb - -binary: binary-indep binary-arch -.PHONY: build clean binary-indep binary-arch binary install install-stamp diff --git a/contrib/dialog/package/debian/source/format b/contrib/dialog/package/debian/source/format deleted file mode 100644 index 89ae9db8f88b..000000000000 --- a/contrib/dialog/package/debian/source/format +++ /dev/null @@ -1 +0,0 @@ -3.0 (native) diff --git a/contrib/dialog/package/debian/watch b/contrib/dialog/package/debian/watch deleted file mode 100644 index a72bfbb4e50e..000000000000 --- a/contrib/dialog/package/debian/watch +++ /dev/null @@ -1,4 +0,0 @@ -version=3 - -opts=passive ftp://ftp.invisible-island.net/dialog/dialog-([\d.]+)\.tgz \ - debian uupdate diff --git a/contrib/dialog/package/dialog.map b/contrib/dialog/package/dialog.map deleted file mode 100644 index cb3aff61c217..000000000000 --- a/contrib/dialog/package/dialog.map +++ /dev/null @@ -1,263 +0,0 @@ -# $Id: dialog.map,v 1.13 2020/11/26 18:09:52 tom Exp $ -# script for shared library symbol-versioning using ld -# -# This file was generated by ncu-mapsyms -# Configure options (1.0.20040721) -# --disable-leaks --enable-trace -# --disable-leaks --enable-trace --enable-widec -# Configure options (1.1.20070227) -# --disable-leaks --enable-trace -# --disable-leaks --enable-trace --enable-widec -# Configure options (1.2.20121230) -# --disable-leaks --enable-trace -# --disable-leaks --enable-trace --enable-widec -# Configure options (1.3.20160126) -# --disable-leaks --enable-trace -# --disable-leaks --enable-trace --enable-widec -# Configure options (1.3.20180620) -# --disable-leaks --enable-trace -# --disable-leaks --enable-trace --enable-widec -# Configure options (1.3.20190806) -# --disable-leaks --enable-trace -# --disable-leaks --enable-trace --enable-widec -# Configure options (1.3.20191209) -# --disable-leaks --enable-trace -# --disable-leaks --enable-trace --enable-widec -# Configure options (1.3.20200326) -# --disable-leaks --enable-trace -# --disable-leaks --enable-trace --enable-widec -# Configure options (1.3.20201126) -# --disable-leaks --enable-trace -# --disable-leaks --enable-trace --enable-widec - -DIALOG_1.0.20040721 { - global: - dialog_calendar; - dialog_checklist; - dialog_form; - dialog_fselect; - dialog_gauge; - dialog_inputbox; - dialog_menu; - dialog_msgbox; - dialog_state; - dialog_tailbox; - dialog_textbox; - dialog_timebox; - dialog_vars; - dialog_version; - dialog_yesno; - dlg_add_callback; - dlg_add_quoted; - dlg_add_result; - dlg_attr_clear; - dlg_auto_size; - dlg_auto_sizefile; - dlg_beeping; - dlg_box_x_ordinate; - dlg_box_y_ordinate; - dlg_button_count; - dlg_button_layout; - dlg_button_sizes; - dlg_button_x_step; - dlg_calc_listh; - dlg_calc_listw; - dlg_char_to_button; - dlg_clear; - dlg_color_count; - dlg_color_setup; - dlg_color_table; - dlg_count_columns; - dlg_count_wchars; - dlg_create_rc; - dlg_ctl_size; - dlg_default_item; - dlg_defaultno_button; - dlg_del_window; - dlg_does_output; - dlg_draw_arrows; - dlg_draw_bottom_box; - dlg_draw_box; - dlg_draw_buttons; - dlg_draw_shadow; - dlg_draw_title; - dlg_edit_offset; - dlg_edit_string; - dlg_exit; - dlg_exit_label; - dlg_exiterr; - dlg_flush_getc; - dlg_getc; - dlg_getc_callbacks; - dlg_index_columns; - dlg_index_wchars; - dlg_item_help; - dlg_killall_bg; - dlg_last_getc; - dlg_limit_columns; - dlg_match_char; - dlg_mouse_bigregion; - dlg_mouse_free_regions; - dlg_mouse_mkbigregion; - dlg_mouse_mkregion; - dlg_mouse_region; - dlg_mouse_setbase; - dlg_mouse_wgetch; - dlg_new_window; - dlg_next_button; - dlg_next_ok_buttonindex; - dlg_ok_buttoncode; - dlg_ok_label; - dlg_ok_labels; - dlg_parse_rc; - dlg_prev_button; - dlg_prev_ok_buttonindex; - dlg_print_autowrap; - dlg_print_size; - dlg_print_text; - dlg_put_backtitle; - dlg_remove_callback; - dlg_set_focus; - dlg_show_string; - dlg_strclone; - dlg_sub_window; - dlg_tab_correct_str; - dlg_trim_string; - dlg_yes_labels; - end_dialog; - init_dialog; -}; - -DIALOG_1.1.20070227 { - global: - dialog_dselect; - dialog_editbox; - dialog_mixedform; - dialog_mixedgauge; - dialog_pause; - dialog_progressbox; - dlg_asciibox; - dlg_boxchar; - dlg_button_to_char; - dlg_calc_list_width; - dlg_checklist; - dlg_clr_result; - dlg_color_pair; - dlg_default_formitem; - dlg_default_listitem; - dlg_draw_arrows2; - dlg_dump_keys; - dlg_editbox; - dlg_exit_buttoncode; - dlg_find_index; - dlg_form; - dlg_free_formitems; - dlg_lookup_key; - dlg_max_input; - dlg_menu; - dlg_mouse_wgetch_nowait; - dlg_move_window; - dlg_ordinate; - dlg_parse_bindkey; - dlg_print_line; - dlg_register_buttons; - dlg_register_window; - dlg_result_key; - dlg_set_result; - dlg_strempty; - dlg_trace; - dlg_trace_chr; - dlg_trace_win; - dlg_unregister_window; - dlg_yes_buttoncode; -} DIALOG_1.0.20040721; - -DIALOG_1.2.20121230 { - global: - dialog_buildlist; - dialog_helpfile; - dialog_prgbox; - dialog_rangebox; - dialog_treeview; - dlg_add_callback_ref; - dlg_add_separator; - dlg_add_string; - dlg_align_columns; - dlg_allocate_gauge; - dlg_buildlist; - dlg_check_scrolled; - dlg_count_argv; - dlg_count_real_columns; - dlg_default_button; - dlg_draw_bottom_box2; - dlg_draw_box2; - dlg_draw_helpline; - dlg_draw_scrollbar; - dlg_dummy_menutext; - dlg_dump_window_keys; - dlg_eat_argv; - dlg_free_columns; - dlg_free_gauge; - dlg_get_attrs; - dlg_mouse_setcode; - dlg_need_separator; - dlg_new_modal_window; - dlg_print_listitem; - dlg_print_scrolled; - dlg_progressbox; - dlg_renamed_menutext; - dlg_restore_vars; - dlg_save_vars; - dlg_string_to_argv; - dlg_trace_msg; - dlg_treeview; - dlg_update_gauge; - dlg_wgetparent; -} DIALOG_1.1.20070227; - -DIALOG_1.3.20160126 { - global: - dlg_add_help_formitem; - dlg_add_help_listitem; - dlg_add_last_key; - dlg_finish_string; - dlg_popen; - dlg_reallocate_gauge; -} DIALOG_1.2.20121230; - -DIALOG_1.3.20180620 { - global: - dlg_trace_2n; - dlg_trace_2s; - dlg_ttysize; - dlg_will_resize; -} DIALOG_1.3.20160126; - -DIALOG_1.3.20190806 { - global: - dlg_button_key; - dlg_exitcode2s; - dlg_exitname2n; - dlg_ok_button_key; -} DIALOG_1.3.20180620; - -DIALOG_1.3.20191209 { - global: - dlg_trace_va_msg; -} DIALOG_1.3.20190806; - -DIALOG_1.3.20200326 { - global: - dlg_reset_timeout; - dlg_set_timeout; -} DIALOG_1.3.20191209; - -DIALOG_1.3.20201126 { - global: - dlg_der_window; - dlg_getenv_num; - dlg_getenv_str; - dlg_keep_tite; - local: - _*; -} DIALOG_1.3.20200326; diff --git a/contrib/dialog/package/dialog.spec b/contrib/dialog/package/dialog.spec deleted file mode 100644 index 2a000011a880..000000000000 --- a/contrib/dialog/package/dialog.spec +++ /dev/null @@ -1,110 +0,0 @@ -Summary: dialog - display dialog boxes from shell scripts -%define AppProgram dialog -%define AppVersion 1.3 -%define AppRelease 20210117 -%define ActualProg c%{AppProgram} -# $XTermId: dialog.spec,v 1.146 2021/01/16 16:21:23 tom Exp $ -Name: %{ActualProg} -Version: %{AppVersion} -Release: %{AppRelease} -License: LGPL -Group: Applications/System -URL: ftp://ftp.invisible-island.net/%{AppProgram} -Source0: %{AppProgram}-%{AppVersion}-%{AppRelease}.tgz -Packager: Thomas Dickey <dickey@invisible-island.net> - -%package devel -Summary: Development headers/library for the dialog package. -Requires: %{ActualProg}, ncurses-devel - -%description -Dialog is a program that will let you present a variety of questions or -display messages using dialog boxes from a shell script. These types -of dialog boxes are implemented (though not all are necessarily compiled -into dialog): - - buildlist, calendar, checklist, dselect, editbox, form, fselect, - gauge, infobox, inputbox, inputmenu, menu, mixedform, - mixedgauge, msgbox (message), passwordbox, passwordform, pause, - prgbox, programbox, progressbox, radiolist, rangebox, tailbox, - tailboxbg, textbox, timebox, treeview, and yesno (yes/no). - -This package installs as "cdialog" to avoid conflict with other packages. - -%description devel -This is the development package "cdialog", which includes the header files, -the linkage information and library documentation. -%prep - -%define debug_package %{nil} - -%setup -q -n %{AppProgram}-%{AppVersion}-%{AppRelease} - -%build - -cp -v package/dialog.map package/%{ActualProg}.map - -INSTALL_PROGRAM='${INSTALL}' \ -%configure \ - --target %{_target_platform} \ - --prefix=%{_prefix} \ - --bindir=%{_bindir} \ - --libdir=%{_libdir} \ - --mandir=%{_mandir} \ - --with-package=%{ActualProg} \ - --enable-header-subdir \ - --enable-nls \ - --enable-widec \ - --with-shared \ - --with-ncursesw \ - --with-versioned-syms \ - --disable-rpath-hack - -make - -%install -[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT - -make install DESTDIR=$RPM_BUILD_ROOT -make install-full DESTDIR=$RPM_BUILD_ROOT - -strip $RPM_BUILD_ROOT%{_bindir}/%{ActualProg} -chmod 755 $RPM_BUILD_ROOT%{_libdir}/lib%{ActualProg}.so.* - -%clean -[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT - -%files -%defattr(-,root,root) -%{_bindir}/%{ActualProg} -%{_mandir}/man1/%{ActualProg}.* -%{_libdir}/lib%{ActualProg}.so.* -%{_datadir}/locale/*/LC_MESSAGES/%{ActualProg}.mo - -%files devel -%defattr(-,root,root) -%{_bindir}/%{ActualProg}-config -%{_includedir}/%{ActualProg}.h -%{_includedir}/%{ActualProg}/dlg_colors.h -%{_includedir}/%{ActualProg}/dlg_config.h -%{_includedir}/%{ActualProg}/dlg_keys.h -%{_libdir}/lib%{ActualProg}.so -%{_mandir}/man3/%{ActualProg}.* - -%changelog -# each patch should add its ChangeLog entries here - -* Wed Jul 24 2019 Thomas Dickey -- split-out "-devel" package - -* Sat Dec 09 2017 Thomas Dickey -- update ftp url - -* Thu Apr 21 2016 Thomas Dickey -- remove stray call to libtool - -* Tue Oct 18 2011 Thomas Dickey -- add executable permissions for shared libraries, discard ".la" file. - -* Thu Dec 30 2010 Thomas Dickey -- initial version diff --git a/contrib/dialog/package/dialog.sym b/contrib/dialog/package/dialog.sym deleted file mode 100644 index 99bc2e1ecacb..000000000000 --- a/contrib/dialog/package/dialog.sym +++ /dev/null @@ -1,225 +0,0 @@ -# $Id: dialog.sym,v 1.12 2020/11/26 18:08:18 tom Exp $ -# script for shared library symbol-visibility using libtool -# -# This file was generated by ncu-mapsyms -# Configure options (1.0.20040721) -# --disable-leaks --enable-trace -# --disable-leaks --enable-trace --enable-widec -# Configure options (1.1.20070227) -# --disable-leaks --enable-trace -# --disable-leaks --enable-trace --enable-widec -# Configure options (1.2.20121230) -# --disable-leaks --enable-trace -# --disable-leaks --enable-trace --enable-widec -# Configure options (1.3.20160126) -# --disable-leaks --enable-trace -# --disable-leaks --enable-trace --enable-widec -# Configure options (1.3.20180620) -# --disable-leaks --enable-trace -# --disable-leaks --enable-trace --enable-widec -# Configure options (1.3.20190806) -# --disable-leaks --enable-trace -# --disable-leaks --enable-trace --enable-widec -# Configure options (1.3.20191209) -# --disable-leaks --enable-trace -# --disable-leaks --enable-trace --enable-widec -# Configure options (1.3.20200326) -# --disable-leaks --enable-trace -# --disable-leaks --enable-trace --enable-widec -# Configure options (1.3.20201126) -# --disable-leaks --enable-trace -# --disable-leaks --enable-trace --enable-widec -dialog_buildlist -dialog_calendar -dialog_checklist -dialog_dselect -dialog_editbox -dialog_form -dialog_fselect -dialog_gauge -dialog_helpfile -dialog_inputbox -dialog_menu -dialog_mixedform -dialog_mixedgauge -dialog_msgbox -dialog_pause -dialog_prgbox -dialog_progressbox -dialog_rangebox -dialog_state -dialog_tailbox -dialog_textbox -dialog_timebox -dialog_treeview -dialog_vars -dialog_version -dialog_yesno -dlg_add_callback -dlg_add_callback_ref -dlg_add_help_formitem -dlg_add_help_listitem -dlg_add_last_key -dlg_add_quoted -dlg_add_result -dlg_add_separator -dlg_add_string -dlg_align_columns -dlg_allocate_gauge -dlg_asciibox -dlg_attr_clear -dlg_auto_size -dlg_auto_sizefile -dlg_beeping -dlg_box_x_ordinate -dlg_box_y_ordinate -dlg_boxchar -dlg_buildlist -dlg_button_count -dlg_button_key -dlg_button_layout -dlg_button_sizes -dlg_button_to_char -dlg_button_x_step -dlg_calc_list_width -dlg_calc_listh -dlg_calc_listw -dlg_char_to_button -dlg_check_scrolled -dlg_checklist -dlg_clear -dlg_clr_result -dlg_color_count -dlg_color_pair -dlg_color_setup -dlg_color_table -dlg_count_argv -dlg_count_columns -dlg_count_real_columns -dlg_count_wchars -dlg_create_rc -dlg_ctl_size -dlg_default_button -dlg_default_formitem -dlg_default_item -dlg_default_listitem -dlg_defaultno_button -dlg_del_window -dlg_der_window -dlg_does_output -dlg_draw_arrows -dlg_draw_arrows2 -dlg_draw_bottom_box -dlg_draw_bottom_box2 -dlg_draw_box -dlg_draw_box2 -dlg_draw_buttons -dlg_draw_helpline -dlg_draw_scrollbar -dlg_draw_shadow -dlg_draw_title -dlg_dummy_menutext -dlg_dump_keys -dlg_dump_window_keys -dlg_eat_argv -dlg_edit_offset -dlg_edit_string -dlg_editbox -dlg_exit -dlg_exit_buttoncode -dlg_exit_label -dlg_exitcode2s -dlg_exiterr -dlg_exitname2n -dlg_find_index -dlg_finish_string -dlg_flush_getc -dlg_form -dlg_free_columns -dlg_free_formitems -dlg_free_gauge -dlg_get_attrs -dlg_getc -dlg_getc_callbacks -dlg_getenv_num -dlg_getenv_str -dlg_index_columns -dlg_index_wchars -dlg_item_help -dlg_keep_tite -dlg_killall_bg -dlg_last_getc -dlg_limit_columns -dlg_lookup_key -dlg_match_char -dlg_max_input -dlg_menu -dlg_mouse_bigregion -dlg_mouse_free_regions -dlg_mouse_mkbigregion -dlg_mouse_mkregion -dlg_mouse_region -dlg_mouse_setbase -dlg_mouse_setcode -dlg_mouse_wgetch -dlg_mouse_wgetch_nowait -dlg_move_window -dlg_need_separator -dlg_new_modal_window -dlg_new_window -dlg_next_button -dlg_next_ok_buttonindex -dlg_ok_button_key -dlg_ok_buttoncode -dlg_ok_label -dlg_ok_labels -dlg_ordinate -dlg_parse_bindkey -dlg_parse_rc -dlg_popen -dlg_prev_button -dlg_prev_ok_buttonindex -dlg_print_autowrap -dlg_print_line -dlg_print_listitem -dlg_print_scrolled -dlg_print_size -dlg_print_text -dlg_progressbox -dlg_put_backtitle -dlg_reallocate_gauge -dlg_register_buttons -dlg_register_window -dlg_remove_callback -dlg_renamed_menutext -dlg_reset_timeout -dlg_restore_vars -dlg_result_key -dlg_save_vars -dlg_set_focus -dlg_set_result -dlg_set_timeout -dlg_show_string -dlg_strclone -dlg_strempty -dlg_string_to_argv -dlg_sub_window -dlg_tab_correct_str -dlg_trace -dlg_trace_2n -dlg_trace_2s -dlg_trace_chr -dlg_trace_msg -dlg_trace_va_msg -dlg_trace_win -dlg_treeview -dlg_trim_string -dlg_ttysize -dlg_unregister_window -dlg_update_gauge -dlg_wgetparent -dlg_will_resize -dlg_yes_buttoncode -dlg_yes_labels -end_dialog -init_dialog diff --git a/contrib/dialog/package/freebsd/Makefile b/contrib/dialog/package/freebsd/Makefile deleted file mode 100644 index 88a6a5d48194..000000000000 --- a/contrib/dialog/package/freebsd/Makefile +++ /dev/null @@ -1,48 +0,0 @@ -# New ports collection makefile for: ncdialog -# Date created: 2003-01-11 -# Whom: AlanE <alane@freebsd.org> -# -# $Carpetsmoker: ports/cdialog/Makefile,v 1.4 2007/04/22 11:30:53 carpetsmoker Exp $ -# $FreeBSD$ -# - -PORTNAME= cdialog -PORTVERSION= 1.3.20210117 -PORTEPOCH= 1 -CATEGORIES= devel -MASTER_SITES= ftp://ftp.invisible-island.net/${PORTNAME:S|^c||}/ -DISTNAME= ${PORTNAME:S|^c||}-${PORTVERSION:R}-${PORTVERSION:E} -EXTRACT_SUFX= .tgz - -MAINTAINER= sylvio@FreeBSD.org -COMMENT= An enhanced version of 'dialog' to work with ncurses - -LICENSE= LGPL21 - -USE_AUTOTOOLS= libtool -GNU_CONFIGURE= yes -USE_LDCONFIG= yes -CONFIGURE_ARGS= --enable-widec \ - --includedir=${PREFIX}/include/${PORTNAME} \ - --with-libtool \ - --with-ncursesw \ - --with-package=${PORTNAME} -MAKEFILE= makefile - -MAN1= cdialog.1 -MAN3= cdialog.3 -MANCOMPRESSED= no - -INSTALL_TARGET= install-strip install-man install-lib - -.if !defined(NOPORTEXAMPLES) -post-patch: - @${FIND} ${WRKSRC}/samples/ -type f -exec ${REINPLACE_CMD} -i "" "s|dialog|cdialog|g" {} \; - -post-install: - @${MKDIR} ${EXAMPLESDIR} - cd ${WRKSRC}/samples && ${FIND} . | \ - ${CPIO} -pdm -L -R ${SHAREOWN}:${SHAREGRP} ${EXAMPLESDIR} -.endif - -.include <bsd.port.mk> diff --git a/contrib/dialog/package/freebsd/distinfo b/contrib/dialog/package/freebsd/distinfo deleted file mode 100644 index b9531eac64b3..000000000000 --- a/contrib/dialog/package/freebsd/distinfo +++ /dev/null @@ -1,2 +0,0 @@ -SHA256 (dialog-1.1-20120215.tgz) = 883c58498663d939b18f3aea56976b64268b736d1579ac850512e5d5a4a2eafc -SIZE (dialog-1.1-20120215.tgz) = 441234 diff --git a/contrib/dialog/package/freebsd/pkg-descr b/contrib/dialog/package/freebsd/pkg-descr deleted file mode 100644 index a23bfbafa772..000000000000 --- a/contrib/dialog/package/freebsd/pkg-descr +++ /dev/null @@ -1,9 +0,0 @@ -This is an enhanced version of the 'dialog' command. Quoting Thomas Dickey, -the ncurses developer, "DIALOG was written by Savio Lam <lam836@cs.cuhk.hk> -and modified by several people. - -"Initially, I made fixes and reviewed the code to ensure that problems -reported were not related to ncurses. After that, I resumed development, -adding new widget types. See the changelog for details." - -WWW: http://invisible-island.net/dialog/ diff --git a/contrib/dialog/package/freebsd/pkg-plist b/contrib/dialog/package/freebsd/pkg-plist deleted file mode 100644 index 097d58b19f91..000000000000 --- a/contrib/dialog/package/freebsd/pkg-plist +++ /dev/null @@ -1,203 +0,0 @@ -bin/cdialog -bin/cdialog-config -include/cdialog/dialog.h -include/cdialog/dlg_colors.h -include/cdialog/dlg_config.h -include/cdialog/dlg_keys.h -lib/libcdialog.a -lib/libcdialog.la -lib/libcdialog.so -lib/libcdialog.so.10 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/README -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/calendar -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/calendar-stdout -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/calendar2 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/calendar2-stdout -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/calendar3 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/calendar3-stdout -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/checklist -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/checklist-8bit -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/checklist-utf8 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/checklist1 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/checklist10 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/checklist11 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/checklist2 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/checklist3 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/checklist4 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/checklist5 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/checklist6 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/checklist7 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/checklist8 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/checklist9 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/checklist9.txt -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/copifuncs/admin.funcs -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/copifuncs/common.funcs -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/copifuncs/copi.funcs -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/copifuncs/copi.ifman1 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/copifuncs/copi.ifman2 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/copifuncs/copi.ifmcfg2 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/copifuncs/copi.ifmcfg4 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/copifuncs/copi.ifmcfg5 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/copifuncs/copi.ifpoll1 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/copifuncs/copi.ifpoll2 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/copifuncs/copi.ifreq1 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/copifuncs/copi.ifreq2 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/copifuncs/copi.rcnews -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/copifuncs/copi.sendifm1 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/copifuncs/copi.sendifm2 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/copifuncs/copi.trnrc -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/copifuncs/copi.wheel -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/copifuncs/ifpatch -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/copismall -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/debian.rc -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/dialog.py -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/editbox -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/editbox-utf8 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/editbox2 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/editbox3 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/editbox4 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/form1 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/form1-both -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/form1-extra -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/form1-help -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/form1-utf8 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/form2 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/form3 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/form4 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/form5 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/form6 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/fselect -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/fselect-stdout -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/fselect0 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/fselect1 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/fselect1-stdout -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/fselect2 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/fselect2-stdout -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/gauge -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/gauge0 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/gauge0-input-fd -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/gauge2 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/infobox -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/infobox1 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/infobox2 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/infobox3 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/infobox4 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/infobox5 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/infobox6 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/inputbox -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/inputbox-both -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/inputbox-extra -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/inputbox-help -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/inputbox1 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/inputbox2 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/inputbox3 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/inputbox4 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/inputbox5 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/inputbox6-8bit -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/inputbox6-utf8 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/inputbox7 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/inputmenu -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/inputmenu-stdout -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/inputmenu1 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/inputmenu2 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/inputmenu3 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/inputmenu4 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/install/FDISK.TEST -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/install/makefile -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/install/makefile.in -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/install/setup.c -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/install/setup.help -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/killall -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/listing -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/menubox -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/menubox-8bit -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/menubox-utf8 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/menubox1 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/menubox10 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/menubox2 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/menubox3 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/menubox4 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/menubox5 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/menubox6 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/menubox7 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/menubox8 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/menubox9 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/mixedform -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/mixedform2 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/mixedgauge -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/msgbox -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/msgbox-help -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/msgbox-utf8 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/msgbox1 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/msgbox2 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/msgbox3 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/msgbox4-8bit -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/msgbox4-eucjp -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/msgbox4-utf8 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/msgbox5 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/msgbox6 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/msgbox6a -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/password -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/password1 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/password2 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/passwordform1 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/passwordform1-utf8 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/pause -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/pause-both -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/pause-extra -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/pause-help -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/prgbox -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/prgbox2 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/programbox -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/programbox2 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/progress -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/progress2 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/radiolist -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/radiolist1 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/radiolist10 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/radiolist2 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/radiolist3 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/radiolist4 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/report-button -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/report-edit -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/report-string -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/report-tempfile -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/report-yesno -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/rotated-data -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/setup-edit -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/setup-tempfile -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/setup-utf8 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/setup-vars -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/shortlist -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/slackware.rc -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/sourcemage.rc -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/suse.rc -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/tailbox -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/tailboxbg -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/tailboxbg1 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/tailboxbg2 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/testdata-8bit -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/textbox -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/textbox-both -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/textbox-help -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/textbox.txt -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/textbox2 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/textbox3 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/timebox -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/timebox-stdout -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/timebox2 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/timebox2-stdout -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/wheel -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/whiptail.rc -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/yesno -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/yesno-both -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/yesno-extra -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/yesno-help -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/yesno-utf8 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/yesno2 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/yesno3 -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/yesno4 -%%PORTEXAMPLES%%@dirrm %%EXAMPLESDIR%%/install -%%PORTEXAMPLES%%@dirrm %%EXAMPLESDIR%%/copifuncs -%%PORTEXAMPLES%%@dirrm %%EXAMPLESDIR%% -@dirrm include/cdialog diff --git a/contrib/dialog/pause.c b/contrib/dialog/pause.c deleted file mode 100644 index eafb28f1e140..000000000000 --- a/contrib/dialog/pause.c +++ /dev/null @@ -1,259 +0,0 @@ -/* - * $Id: pause.c,v 1.48 2020/11/23 00:38:19 tom Exp $ - * - * pause.c -- implements the pause dialog - * - * Copyright 2004-2019,2020 Thomas E. Dickey - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License, version 2.1 - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this program; if not, write to - * Free Software Foundation, Inc. - * 51 Franklin St., Fifth Floor - * Boston, MA 02110, USA. - * - * This is adapted from source contributed by - * Yura Kalinichenko - */ - -#include <dialog.h> -#include <dlg_keys.h> - -#define MY_TIMEOUT 50 - -#define MIN_HIGH (4) -#define MIN_WIDE (10 + 2 * (2 + MARGIN)) -#define BTN_HIGH (1 + 2 * MARGIN) - -/* - * This is like gauge, but can be interrupted. - * - * A pause box displays a meter along the bottom of the box. The meter - * indicates how many seconds remain until the end of the pause. The pause - * exits when timeout is reached (status OK) or the user presses: - * OK button (status OK) - * CANCEL button (status CANCEL) - * Esc key (status ESC) - * - */ -int -dialog_pause(const char *title, - const char *cprompt, - int height, - int width, - int seconds) -{ - /* *INDENT-OFF* */ - static DLG_KEYS_BINDING binding[] = { - HELPKEY_BINDINGS, - ENTERKEY_BINDINGS, - TRAVERSE_BINDINGS, - END_KEYS_BINDING - }; - /* *INDENT-ON* */ - -#ifdef KEY_RESIZE - int old_height = height; - int old_width = width; -#endif - - int i, x, y, step; - int button = dlg_default_button(); - int seconds_orig; - WINDOW *dialog; - const char **buttons = dlg_ok_labels(); - bool have_buttons = (dlg_button_count(buttons) != 0); - bool first; - int key, fkey; - int result = DLG_EXIT_UNKNOWN; - int button_high = (have_buttons ? BTN_HIGH : MARGIN); - int gauge_y; - char *prompt; - int save_timeout = dialog_vars.timeout_secs; - - DLG_TRACE(("# pause args:\n")); - DLG_TRACE2S("title", title); - DLG_TRACE2S("message", cprompt); - DLG_TRACE2N("height", height); - DLG_TRACE2N("width", width); - DLG_TRACE2N("seconds", seconds); - - curs_set(0); - - seconds_orig = (seconds > 0) ? seconds : 1; - dialog_vars.pause_secs = seconds_orig; - dialog_vars.timeout_secs = 0; - -#ifdef KEY_RESIZE - retry: -#endif - - prompt = dlg_strclone(cprompt); - dlg_tab_correct_str(prompt); - - if (have_buttons) { - dlg_auto_size(title, prompt, &height, &width, - MIN_HIGH, - MIN_WIDE); - dlg_button_layout(buttons, &width); - } else { - dlg_auto_size(title, prompt, &height, &width, - MIN_HIGH + MARGIN - BTN_HIGH, - MIN_WIDE); - } - gauge_y = height - button_high - (1 + 2 * MARGIN); - dlg_print_size(height, width); - dlg_ctl_size(height, width); - - /* center dialog box on screen */ - x = dlg_box_x_ordinate(width); - y = dlg_box_y_ordinate(height); - - dialog = dlg_new_window(height, width, y, x); - dlg_register_window(dialog, "pause", binding); - dlg_register_buttons(dialog, "pause", buttons); - - dlg_mouse_setbase(x, y); - nodelay(dialog, TRUE); - - first = TRUE; - do { - (void) werase(dialog); - dlg_draw_box2(dialog, 0, 0, height, width, dialog_attr, border_attr, border2_attr); - - dlg_draw_title(dialog, title); - dlg_draw_helpline(dialog, FALSE); - - dlg_attrset(dialog, dialog_attr); - dlg_print_autowrap(dialog, prompt, height, width); - - dlg_draw_box2(dialog, - gauge_y, 2 + MARGIN, - 2 + MARGIN, width - 2 * (2 + MARGIN), - dialog_attr, - border_attr, - border2_attr); - - /* - * Clear the area for the progress bar by filling it with spaces - * in the title-attribute, and write the percentage with that - * attribute. - */ - (void) wmove(dialog, gauge_y + MARGIN, 4); - dlg_attrset(dialog, title_attr); - - for (i = 0; i < (width - 2 * (3 + MARGIN)); i++) - (void) waddch(dialog, ' '); - - (void) wmove(dialog, gauge_y + MARGIN, (width / 2) - 2); - (void) wprintw(dialog, "%3d", seconds); - - /* - * Now draw a bar in reverse, relative to the background. - * The window attribute was useful for painting the background, - * but requires some tweaks to reverse it. - */ - x = (seconds * (width - 2 * (3 + MARGIN))) / seconds_orig; - if ((title_attr & A_REVERSE) != 0) { - dlg_attroff(dialog, A_REVERSE); - } else { - dlg_attrset(dialog, A_REVERSE); - } - (void) wmove(dialog, gauge_y + MARGIN, 4); - for (i = 0; i < x; i++) { - chtype ch = winch(dialog); - if (title_attr & A_REVERSE) { - ch &= ~A_REVERSE; - } - (void) waddch(dialog, ch); - } - - mouse_mkbutton(height - 2, width / 2 - 4, 6, '\n'); - if (have_buttons) { - dlg_draw_bottom_box2(dialog, border_attr, border2_attr, dialog_attr); - dlg_draw_buttons(dialog, height - 2, 0, buttons, button, FALSE, width); - } - if (first) { - (void) wrefresh(dialog); - dlg_trace_win(dialog); - first = FALSE; - } - - for (step = 0; - (result == DLG_EXIT_UNKNOWN) && (step < 1000); - step += MY_TIMEOUT) { - - napms(MY_TIMEOUT); - key = dlg_mouse_wgetch_nowait(dialog, &fkey); - if (key == ERR) { - ; /* ignore errors in nodelay mode */ - } else if (dlg_result_key(key, fkey, &result)) { - if (!dlg_button_key(result, &button, &key, &fkey)) - break; - } - - switch (key) { -#ifdef KEY_RESIZE - case KEY_RESIZE: - dlg_will_resize(dialog); - height = old_height; - width = old_width; - free(prompt); - _dlg_resize_cleanup(dialog); - goto retry; -#endif - case DLGK_FIELD_NEXT: - button = dlg_next_button(buttons, button); - if (button < 0) - button = 0; - dlg_draw_buttons(dialog, - height - 2, 0, - buttons, button, - FALSE, width); - break; - case DLGK_FIELD_PREV: - button = dlg_prev_button(buttons, button); - if (button < 0) - button = 0; - dlg_draw_buttons(dialog, - height - 2, 0, - buttons, button, - FALSE, width); - break; - case DLGK_ENTER: - result = dlg_enter_buttoncode(button); - break; - case DLGK_LEAVE: - result = dlg_ok_buttoncode(button); - break; - case ERR: - break; - default: - if (is_DLGK_MOUSE(key)) { - result = dlg_ok_buttoncode(key - M_EVENT); - if (result < 0) - result = DLG_EXIT_OK; - } - break; - } - } - } while ((result == DLG_EXIT_UNKNOWN) && (seconds-- > 0)); - dlg_add_last_key(-1); - - curs_set(1); - dlg_mouse_free_regions(); - dlg_del_window(dialog); - free(prompt); - - dialog_vars.timeout_secs = save_timeout; - - return ((result == DLG_EXIT_UNKNOWN) ? DLG_EXIT_OK : result); -} diff --git a/contrib/dialog/po/POTFILES.in b/contrib/dialog/po/POTFILES.in deleted file mode 100644 index 48ea956a00b0..000000000000 --- a/contrib/dialog/po/POTFILES.in +++ /dev/null @@ -1,32 +0,0 @@ -arrows.c -buttons.c -calendar.c -checklist.c -dialog.c -dialog.h -dlg_colors.h -dlg_keys.c -dlg_keys.h -editbox.c -formbox.c -fselect.c -guage.c -inputbox.c -inputstr.c -menubox.c -mixedform.c -mixedgauge.c -mouse.c -mousewget.c -msgbox.c -pause.c -progressbox.c -rc.c -tailbox.c -textbox.c -timebox.c -trace.c -ui_getc.c -util.c -version.c -yesno.c diff --git a/contrib/dialog/po/an.po b/contrib/dialog/po/an.po deleted file mode 100644 index 494dabe62ebc..000000000000 --- a/contrib/dialog/po/an.po +++ /dev/null @@ -1,111 +0,0 @@ -# Dialog -# Copyright 2003-2007,2008 # Thomas Dickey -# This file is distributed under the same license as the dialog package. -# Daniel Martinez <entaltoaragon@gmail.com>, 2013. -msgid "" -msgstr "" -"Project-Id-Version: dialog 1.1.20080819\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-06-18 18:26-0400\n" -"PO-Revision-Date: 2013-02-19 17:50+0100\n" -"Last-Translator: Daniel Martinez <entaltoaragon@gmail.com>\n" -"Language-Team: Aragonese <softaragones@googlegroups.com>\n" -"Language: an\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: buttons.c:385 -msgid "Yes" -msgstr "Sí" - -#: buttons.c:393 -msgid "No" -msgstr "No" - -#: buttons.c:401 -msgid "OK" -msgstr "Acceptar" - -#: buttons.c:409 -msgid "Cancel" -msgstr "Cancelar" - -#: buttons.c:417 -msgid "EXIT" -msgstr "Salir" - -#: buttons.c:425 -msgid "Extra" -msgstr "Extra" - -#: buttons.c:433 -msgid "Help" -msgstr "Aduya" - -#. Headline "Month" -#: calendar.c:273 -msgid "Month" -msgstr "Mes" - -#. Headline "Year" -#: calendar.c:293 -msgid "Year" -msgstr "Anyo" - -#: dialog.c:741 -msgid "Rename" -msgstr "Renombrar" - -#: fselect.c:550 -msgid "Directories" -msgstr "Directorios" - -#: fselect.c:551 -msgid "Files" -msgstr "Fichers" - -#: mixedgauge.c:58 -msgid "Succeeded" -msgstr "Finalizau con exito" - -#: mixedgauge.c:61 -msgid "Failed" -msgstr "Falló" - -#: mixedgauge.c:64 -msgid "Passed" -msgstr "Pasau" - -#: mixedgauge.c:67 -msgid "Completed" -msgstr "Completau" - -#: mixedgauge.c:70 -msgid "Checked" -msgstr "Comprebau" - -#: mixedgauge.c:73 -msgid "Done" -msgstr "Feito" - -#: mixedgauge.c:76 -msgid "Skipped" -msgstr "Blincau" - -#: mixedgauge.c:79 -msgid "In Progress" -msgstr "En progreso" - -#: mixedgauge.c:85 -msgid "N/A" -msgstr "N/A" - -#: mixedgauge.c:193 -msgid "Overall Progress" -msgstr "Progreso total" - -#: textbox.c:489 -msgid "Search" -msgstr "Buscar" diff --git a/contrib/dialog/po/ar.po b/contrib/dialog/po/ar.po deleted file mode 100644 index 4f18ccb55391..000000000000 --- a/contrib/dialog/po/ar.po +++ /dev/null @@ -1,112 +0,0 @@ -# Arabic translation of Dialog. -# This file is distributed under the same license as the dialog package. -# Copyright (C) 2005 Thomas Dickey. -# Abdulaziz Al-Arfaj <alarfaj0@yahoo.com>, 2004. -# -msgid "" -msgstr "" -"Project-Id-Version: Dialog 1.0-20050116\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-01-16 17:57-0500\n" -"PO-Revision-Date: 2004-07-21 00:22+0300\n" -"Last-Translator: Abdulaziz Al-Arfaj <alarfaj0@yahoo.com>\n" -"Language-Team: Arabic <support@arabeyes.org>\n" -"Language: ar\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: KBabel 1.3\n" - -#: buttons.c:387 -msgid "Yes" -msgstr "نعم" - -#: buttons.c:395 -msgid "No" -msgstr "لا" - -#: buttons.c:403 -msgid "OK" -msgstr "مواÙÙ‚" - -#: buttons.c:411 -msgid "Cancel" -msgstr "إلغاء" - -#: buttons.c:419 -msgid "EXIT" -msgstr "" - -#: buttons.c:427 -msgid "Extra" -msgstr "" - -#: buttons.c:435 -msgid "Help" -msgstr "" - -#. Headline "Month" -#: calendar.c:298 -msgid "Month" -msgstr "" - -#. Headline "Year" -#: calendar.c:318 -msgid "Year" -msgstr "" - -#: dialog.c:756 -msgid "Rename" -msgstr "" - -#: fselect.c:571 -msgid "Directories" -msgstr "" - -#: fselect.c:572 -msgid "Files" -msgstr "" - -#: mixedgauge.c:58 -msgid "Succeeded" -msgstr "" - -#: mixedgauge.c:61 -msgid "Failed" -msgstr "" - -#: mixedgauge.c:64 -msgid "Passed" -msgstr "" - -#: mixedgauge.c:67 -msgid "Completed" -msgstr "" - -#: mixedgauge.c:70 -msgid "Checked" -msgstr "" - -#: mixedgauge.c:73 -msgid "Done" -msgstr "" - -#: mixedgauge.c:76 -msgid "Skipped" -msgstr "" - -#: mixedgauge.c:79 -msgid "In Progress" -msgstr "" - -#: mixedgauge.c:85 -msgid "N/A" -msgstr "" - -#: mixedgauge.c:193 -msgid "Overall Progress" -msgstr "" - -#: textbox.c:468 -msgid "Search" -msgstr "" diff --git a/contrib/dialog/po/ast.po b/contrib/dialog/po/ast.po deleted file mode 100644 index 29f8d3440297..000000000000 --- a/contrib/dialog/po/ast.po +++ /dev/null @@ -1,115 +0,0 @@ -# Asturian translation for dialog -# Dialog -# This file is distributed under the same license as the dialog package. -# Copyright 2003-2007,2008 # Thomas Dickey -# -# enolp <enolp@softastur.org>, 2018. -msgid "" -msgstr "" -"Project-Id-Version: dialog 1.1.20080819\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-06-18 18:26-0400\n" -"PO-Revision-Date: 2018-07-16 01:09+0100\n" -"Last-Translator: enolp <enolp@softastur.org>\n" -"Language-Team: Asturian <ubuntu-l10n-ast@lists.ubuntu.com>\n" -"Language: ast\n" -"X-Bugs: Report translation errors to the Language-Team address.\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Lokalize 2.0\n" - -#: buttons.c:385 -msgid "Yes" -msgstr "Sí" - -#: buttons.c:393 -msgid "No" -msgstr "Non" - -#: buttons.c:401 -msgid "OK" -msgstr "Aceutar" - -#: buttons.c:409 -msgid "Cancel" -msgstr "Encaboxar" - -#: buttons.c:417 -msgid "EXIT" -msgstr "COLAR" - -#: buttons.c:425 -msgid "Extra" -msgstr "Adicional" - -#: buttons.c:433 -msgid "Help" -msgstr "Ayuda" - -#. Headline "Month" -#: calendar.c:273 -msgid "Month" -msgstr "Mes" - -#. Headline "Year" -#: calendar.c:293 -msgid "Year" -msgstr "Añu" - -#: dialog.c:741 -msgid "Rename" -msgstr "Renomar" - -#: fselect.c:550 -msgid "Directories" -msgstr "Direutorios" - -#: fselect.c:551 -msgid "Files" -msgstr "Ficheros" - -#: mixedgauge.c:58 -msgid "Succeeded" -msgstr "Tuvo ésitu" - -#: mixedgauge.c:61 -msgid "Failed" -msgstr "Falló" - -#: mixedgauge.c:64 -msgid "Passed" -msgstr "Posóse" - -#: mixedgauge.c:67 -msgid "Completed" -msgstr "Completóse" - -#: mixedgauge.c:70 -msgid "Checked" -msgstr "Conseñóse" - -#: mixedgauge.c:73 -msgid "Done" -msgstr "Fecho" - -#: mixedgauge.c:76 -msgid "Skipped" -msgstr "Saltóse" - -#: mixedgauge.c:79 -msgid "In Progress" -msgstr "En cursu" - -#: mixedgauge.c:85 -msgid "N/A" -msgstr "N/D" - -#: mixedgauge.c:193 -msgid "Overall Progress" -msgstr "Progresu xeneral" - -#: textbox.c:489 -msgid "Search" -msgstr "Guetar" diff --git a/contrib/dialog/po/be@latin.po b/contrib/dialog/po/be@latin.po deleted file mode 100644 index 6a45d8d85338..000000000000 --- a/contrib/dialog/po/be@latin.po +++ /dev/null @@ -1,109 +0,0 @@ -# Dialog -# Copyright 2003-2006,2007 # Thomas Dickey -# Ihar Hrachyshka <ihar.hrachyshka@gmail.com>, 2007. -# -msgid "" -msgstr "" -"Project-Id-Version: dialog 1.1.20070704\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-06-18 18:26-0400\n" -"PO-Revision-Date: 2007-12-03 01:13+0200\n" -"Last-Translator: Ihar Hrachyshka <ihar.hrachyshka@gmail.com>\n" -"Language-Team: Belarusian (Latin script) <translation-team-be-latin@lists.sourceforge.net>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#: buttons.c:385 -msgid "Yes" -msgstr "Tak" - -#: buttons.c:393 -msgid "No" -msgstr "Nie" - -#: buttons.c:401 -msgid "OK" -msgstr "OK" - -#: buttons.c:409 -msgid "Cancel" -msgstr "Anuluj" - -#: buttons.c:417 -msgid "EXIT" -msgstr "VYCHAD" - -#: buttons.c:425 -msgid "Extra" -msgstr "Dadatkova" - -#: buttons.c:433 -msgid "Help" -msgstr "Dapamoha" - -#. Headline "Month" -#: calendar.c:273 -msgid "Month" -msgstr "Miesiac" - -#. Headline "Year" -#: calendar.c:293 -msgid "Year" -msgstr "Hod" - -#: dialog.c:741 -msgid "Rename" -msgstr "Źmiani nazvu" - -#: fselect.c:550 -msgid "Directories" -msgstr "Katalohi" - -#: fselect.c:551 -msgid "Files" -msgstr "FajÅ‚y" - -#: mixedgauge.c:58 -msgid "Succeeded" -msgstr "PaÅ›piachova" - -#: mixedgauge.c:61 -msgid "Failed" -msgstr "NiaÅ­daÅ‚a" - -#: mixedgauge.c:64 -msgid "Passed" -msgstr "Projdziena" - -#: mixedgauge.c:67 -msgid "Completed" -msgstr "SkonÄana" - -#: mixedgauge.c:70 -msgid "Checked" -msgstr "Pravierana" - -#: mixedgauge.c:73 -msgid "Done" -msgstr "Zroblena" - -#: mixedgauge.c:76 -msgid "Skipped" -msgstr "Abminuta" - -#: mixedgauge.c:79 -msgid "In Progress" -msgstr "DziejniÄaje" - -#: mixedgauge.c:85 -msgid "N/A" -msgstr "Niama" - -#: mixedgauge.c:193 -msgid "Overall Progress" -msgstr "Ahulny prahres" - -#: textbox.c:489 -msgid "Search" -msgstr "Å ukaj" diff --git a/contrib/dialog/po/bg.po b/contrib/dialog/po/bg.po deleted file mode 100644 index f11617f378e7..000000000000 --- a/contrib/dialog/po/bg.po +++ /dev/null @@ -1,112 +0,0 @@ -# Bulgarian translation of Dialog. -# This file is distributed under the same license as the dialog package. -# Copyright (C) 2005 Thomas Dickey. -# Ognyan Kulev <ogi@fmi.uni-sofia.bg>, 2004. -# -# -msgid "" -msgstr "" -"Project-Id-Version: Dialog 1.0-20050116\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-01-16 17:57-0500\n" -"PO-Revision-Date: 2004-09-13 09:02+0300\n" -"Last-Translator: Ognyan Kulev <ogi@fmi.uni-sofia.bg>\n" -"Language-Team: Bulgarian <dict@linux.zonebg.com>\n" -"Language: bg\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#: buttons.c:387 -msgid "Yes" -msgstr "Да" - -#: buttons.c:395 -msgid "No" -msgstr "Ðе" - -#: buttons.c:403 -msgid "OK" -msgstr "" - -#: buttons.c:411 -msgid "Cancel" -msgstr "Отказ" - -#: buttons.c:419 -msgid "EXIT" -msgstr "" - -#: buttons.c:427 -msgid "Extra" -msgstr "" - -#: buttons.c:435 -msgid "Help" -msgstr "" - -#. Headline "Month" -#: calendar.c:298 -msgid "Month" -msgstr "" - -#. Headline "Year" -#: calendar.c:318 -msgid "Year" -msgstr "" - -#: dialog.c:756 -msgid "Rename" -msgstr "" - -#: fselect.c:571 -msgid "Directories" -msgstr "" - -#: fselect.c:572 -msgid "Files" -msgstr "" - -#: mixedgauge.c:58 -msgid "Succeeded" -msgstr "" - -#: mixedgauge.c:61 -msgid "Failed" -msgstr "" - -#: mixedgauge.c:64 -msgid "Passed" -msgstr "" - -#: mixedgauge.c:67 -msgid "Completed" -msgstr "" - -#: mixedgauge.c:70 -msgid "Checked" -msgstr "" - -#: mixedgauge.c:73 -msgid "Done" -msgstr "" - -#: mixedgauge.c:76 -msgid "Skipped" -msgstr "" - -#: mixedgauge.c:79 -msgid "In Progress" -msgstr "" - -#: mixedgauge.c:85 -msgid "N/A" -msgstr "" - -#: mixedgauge.c:193 -msgid "Overall Progress" -msgstr "" - -#: textbox.c:468 -msgid "Search" -msgstr "" diff --git a/contrib/dialog/po/ca.po b/contrib/dialog/po/ca.po deleted file mode 100644 index 65f79a7e5795..000000000000 --- a/contrib/dialog/po/ca.po +++ /dev/null @@ -1,111 +0,0 @@ -# Catalan translation of Dialog. -# Copyright © 2004, 2005, 2008 Free Software Foundation, Inc. -# This file is distributed under the same licence as the dialog package. -# Jordi Mallach <jordi@debian.org>, 2004, 2005, 2008. -# -msgid "" -msgstr "" -"Project-Id-Version: dialog 1.1.20070704\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-01-16 17:57-0500\n" -"PO-Revision-Date: 2008-06-10 00:50+0200\n" -"Last-Translator: Jordi Mallach <jordi@gnu.org>\n" -"Language-Team: Catalan <ca@dodds.net>\n" -"Language: ca\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#: buttons.c:387 -msgid "Yes" -msgstr "Sí" - -#: buttons.c:395 -msgid "No" -msgstr "No" - -#: buttons.c:403 -msgid "OK" -msgstr "D'acord" - -#: buttons.c:411 -msgid "Cancel" -msgstr "Cancel·la" - -#: buttons.c:419 -msgid "EXIT" -msgstr "SURT" - -#: buttons.c:427 -msgid "Extra" -msgstr "Extra" - -#: buttons.c:435 -msgid "Help" -msgstr "Ajuda" - -#. Headline "Month" -#: calendar.c:298 -msgid "Month" -msgstr "Mes" - -#. Headline "Year" -#: calendar.c:318 -msgid "Year" -msgstr "Any" - -#: dialog.c:756 -msgid "Rename" -msgstr "Canvia el nom" - -#: fselect.c:571 -msgid "Directories" -msgstr "Directoris" - -#: fselect.c:572 -msgid "Files" -msgstr "Fitxers" - -#: mixedgauge.c:58 -msgid "Succeeded" -msgstr "Ha tingut èxit" - -#: mixedgauge.c:61 -msgid "Failed" -msgstr "Ha fallat" - -#: mixedgauge.c:64 -msgid "Passed" -msgstr "Ha passat" - -#: mixedgauge.c:67 -msgid "Completed" -msgstr "S'ha completat" - -#: mixedgauge.c:70 -msgid "Checked" -msgstr "Activat" - -#: mixedgauge.c:73 -msgid "Done" -msgstr "Fet" - -#: mixedgauge.c:76 -msgid "Skipped" -msgstr "Omès" - -#: mixedgauge.c:79 -msgid "In Progress" -msgstr "En progrés" - -#: mixedgauge.c:85 -msgid "N/A" -msgstr "N/D" - -#: mixedgauge.c:193 -msgid "Overall Progress" -msgstr "Progrés general" - -#: textbox.c:468 -msgid "Search" -msgstr "Cerca" diff --git a/contrib/dialog/po/cs.po b/contrib/dialog/po/cs.po deleted file mode 100644 index 79868916ccc0..000000000000 --- a/contrib/dialog/po/cs.po +++ /dev/null @@ -1,114 +0,0 @@ -# Czech translations for dialog package. -# Copyright (C) 2011 THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the dialog package. -# -# Martin Povolny <martin@solnet.cz> -# Marek ÄŒernocký <marek@manet.cz>, 2011. -# -msgid "" -msgstr "" -"Project-Id-Version: dialog 1.1.20080819\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-06-18 18:26-0400\n" -"PO-Revision-Date: 2011-11-25 13:18+0100\n" -"Last-Translator: Marek ÄŒernocký <marek@manet.cz>\n" -"Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n" -"Language: cs\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" - -#: buttons.c:385 -msgid "Yes" -msgstr "Ano" - -#: buttons.c:393 -msgid "No" -msgstr "Ne" - -#: buttons.c:401 -msgid "OK" -msgstr "Budiž" - -#: buttons.c:409 -msgid "Cancel" -msgstr "Storno" - -#: buttons.c:417 -msgid "EXIT" -msgstr "Konec" - -#: buttons.c:425 -msgid "Extra" -msgstr "Další" - -#: buttons.c:433 -msgid "Help" -msgstr "NápovÄ›da" - -#. Headline "Month" -#: calendar.c:273 -msgid "Month" -msgstr "MÄ›síc" - -#. Headline "Year" -#: calendar.c:293 -msgid "Year" -msgstr "Rok" - -#: dialog.c:741 -msgid "Rename" -msgstr "PÅ™ejmenovat" - -#: fselect.c:550 -msgid "Directories" -msgstr "Složky" - -#: fselect.c:551 -msgid "Files" -msgstr "Soubory" - -#: mixedgauge.c:58 -msgid "Succeeded" -msgstr "Úspěšné" - -#: mixedgauge.c:61 -msgid "Failed" -msgstr "Selhalo" - -#: mixedgauge.c:64 -msgid "Passed" -msgstr "Pozastaveno" - -#: mixedgauge.c:67 -msgid "Completed" -msgstr "DokonÄeno" - -#: mixedgauge.c:70 -msgid "Checked" -msgstr "Zkontrolováno" - -#: mixedgauge.c:73 -msgid "Done" -msgstr "Hotovo" - -#: mixedgauge.c:76 -msgid "Skipped" -msgstr "PÅ™eskoÄeno" - -#: mixedgauge.c:79 -msgid "In Progress" -msgstr "Probíhá" - -#: mixedgauge.c:85 -msgid "N/A" -msgstr "Není známo" - -#: mixedgauge.c:193 -msgid "Overall Progress" -msgstr "Celkový průbÄ›h" - -#: textbox.c:489 -msgid "Search" -msgstr "Hledat" diff --git a/contrib/dialog/po/cy.po b/contrib/dialog/po/cy.po deleted file mode 100644 index e3f28272c65b..000000000000 --- a/contrib/dialog/po/cy.po +++ /dev/null @@ -1,111 +0,0 @@ -# Dialog -# Copyright 2003,2004 # Thomas Dickey -# -msgid "" -msgstr "" -"Project-Id-Version: Dialog\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-01-16 17:57-0500\n" -"PO-Revision-Date: 2004-03-30 23:00+0100\n" -"Last-Translator: Dafydd Harries <daf@muse.19inch.net>\n" -"Language-Team: Welsh <cy@pengwyn.linux.org.uk>\n" -"Language: cy\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#: buttons.c:387 -msgid "Yes" -msgstr "Ie" - -#: buttons.c:395 -msgid "No" -msgstr "Na" - -#: buttons.c:403 -msgid "OK" -msgstr "Iawn" - -#: buttons.c:411 -msgid "Cancel" -msgstr "Diddymu" - -#: buttons.c:419 -msgid "EXIT" -msgstr "GADAEL" - -#: buttons.c:427 -msgid "Extra" -msgstr "Ychwanegol" - -#: buttons.c:435 -msgid "Help" -msgstr "Cymorth" - -#. Headline "Month" -#: calendar.c:298 -msgid "Month" -msgstr "Mis" - -#. Headline "Year" -#: calendar.c:318 -msgid "Year" -msgstr "Blwyddyn" - -#: dialog.c:756 -msgid "Rename" -msgstr "Ailenwy" - -#: fselect.c:571 -msgid "Directories" -msgstr "Cyfeiriaduron" - -#: fselect.c:572 -msgid "Files" -msgstr "Ffeiliau" - -#: mixedgauge.c:58 -msgid "Succeeded" -msgstr "" - -#: mixedgauge.c:61 -#, fuzzy -msgid "Failed" -msgstr "Ffeiliau" - -#: mixedgauge.c:64 -msgid "Passed" -msgstr "" - -#: mixedgauge.c:67 -msgid "Completed" -msgstr "" - -#: mixedgauge.c:70 -msgid "Checked" -msgstr "" - -#: mixedgauge.c:73 -msgid "Done" -msgstr "" - -#: mixedgauge.c:76 -msgid "Skipped" -msgstr "" - -#: mixedgauge.c:79 -msgid "In Progress" -msgstr "" - -#: mixedgauge.c:85 -msgid "N/A" -msgstr "" - -#: mixedgauge.c:193 -msgid "Overall Progress" -msgstr "" - -#: textbox.c:468 -#, fuzzy -msgid "Search" -msgstr "Search" diff --git a/contrib/dialog/po/da.po b/contrib/dialog/po/da.po deleted file mode 100644 index 531ba297858a..000000000000 --- a/contrib/dialog/po/da.po +++ /dev/null @@ -1,112 +0,0 @@ -# Danish translation of Dialog. -# Copyright (C) 2001-2007 Thomas Dickey. -# This file is distributed under the same license as the Dialog package. -# Morten Brix Pedersen <morten@wtf.dk>, 2001-2004. -# Joe Hansen <joedalton2@yahoo.dk>, 2008. -# -msgid "" -msgstr "" -"Project-Id-Version: dialog-1.1.20070704\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-01-16 17:57-0500\n" -"PO-Revision-Date: 2008-08-20 22:53+0200\n" -"Last-Translator: Keld Jørn Simonsen <keld@dkuug.dk>\n" -"Language-Team: Danish <dansk@dansk-gruppen.dk>\n" -"Language: da\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8-bit\n" - -#: buttons.c:387 -msgid "Yes" -msgstr "Ja" - -#: buttons.c:395 -msgid "No" -msgstr "Nej" - -#: buttons.c:403 -msgid "OK" -msgstr "O.K." - -#: buttons.c:411 -msgid "Cancel" -msgstr "Anullér" - -#: buttons.c:419 -msgid "EXIT" -msgstr "AFSLUT" - -#: buttons.c:427 -msgid "Extra" -msgstr "Ekstra" - -#: buttons.c:435 -msgid "Help" -msgstr "Hjælp" - -#. Headline "Month" -#: calendar.c:298 -msgid "Month" -msgstr "MÃ¥ned" - -#. Headline "Year" -#: calendar.c:318 -msgid "Year" -msgstr "Ã…r" - -#: dialog.c:756 -msgid "Rename" -msgstr "Omdøb" - -#: fselect.c:571 -msgid "Directories" -msgstr "Kataloger" - -#: fselect.c:572 -msgid "Files" -msgstr "Filer" - -#: mixedgauge.c:58 -msgid "Succeeded" -msgstr "Lykkedes" - -#: mixedgauge.c:61 -msgid "Failed" -msgstr "Mislykkedes" - -#: mixedgauge.c:64 -msgid "Passed" -msgstr "Bestod" - -#: mixedgauge.c:67 -msgid "Completed" -msgstr "Færdig" - -#: mixedgauge.c:70 -msgid "Checked" -msgstr "Kontrolleret" - -#: mixedgauge.c:73 -msgid "Done" -msgstr "Færdig" - -#: mixedgauge.c:76 -msgid "Skipped" -msgstr "Sprunget over" - -#: mixedgauge.c:79 -msgid "In Progress" -msgstr "I gang" - -#: mixedgauge.c:85 -msgid "N/A" -msgstr "N/A" - -#: mixedgauge.c:193 -msgid "Overall Progress" -msgstr "Samlet status" - -#: textbox.c:468 -msgid "Search" -msgstr "Søg" diff --git a/contrib/dialog/po/de.po b/contrib/dialog/po/de.po deleted file mode 100644 index 92605bc167fd..000000000000 --- a/contrib/dialog/po/de.po +++ /dev/null @@ -1,115 +0,0 @@ -# Dialog -# Copyright 2001, # Thomas Dickey -# This file is distributed under the same license as the dialog package. -# -# Michael Piefel <piefel@informatik.hu-berlin.de>, 2002. -# Roland Illig <roland.illig@gmx.de>, 2009-2014. -# -msgid "" -msgstr "" -"Project-Id-Version: dialog 1.1.20080819\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-06-18 18:26-0400\n" -"PO-Revision-Date: 2014-09-01 12:39+0100\n" -"Last-Translator: Roland Illig <roland.illig@gmx.de>\n" -"Language-Team: German <translation-team-de@lists.sourceforge.net>\n" -"Language: de\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Poedit 1.6.9\n" - -#: buttons.c:385 -msgid "Yes" -msgstr "Ja" - -#: buttons.c:393 -msgid "No" -msgstr "Nein" - -#: buttons.c:401 -msgid "OK" -msgstr "OK" - -#: buttons.c:409 -msgid "Cancel" -msgstr "Abbrechen" - -#: buttons.c:417 -msgid "EXIT" -msgstr "VERLASSEN" - -#: buttons.c:425 -msgid "Extra" -msgstr "Extra" - -#: buttons.c:433 -msgid "Help" -msgstr "Hilfe" - -#. Headline "Month" -#: calendar.c:273 -msgid "Month" -msgstr "Monat" - -#. Headline "Year" -#: calendar.c:293 -msgid "Year" -msgstr "Jahr" - -#: dialog.c:741 -msgid "Rename" -msgstr "Umbenennen" - -#: fselect.c:550 -msgid "Directories" -msgstr "Verzeichnisse" - -#: fselect.c:551 -msgid "Files" -msgstr "Dateien" - -#: mixedgauge.c:58 -msgid "Succeeded" -msgstr "Erfolgreich" - -#: mixedgauge.c:61 -msgid "Failed" -msgstr "Fehlgeschlagen" - -#: mixedgauge.c:64 -msgid "Passed" -msgstr "Bestanden" - -#: mixedgauge.c:67 -msgid "Completed" -msgstr "Abgeschlossen" - -#: mixedgauge.c:70 -msgid "Checked" -msgstr "Geprüft" - -#: mixedgauge.c:73 -msgid "Done" -msgstr "Erledigt" - -#: mixedgauge.c:76 -msgid "Skipped" -msgstr "Übersprungen" - -#: mixedgauge.c:79 -msgid "In Progress" -msgstr "In Bearbeitung" - -#: mixedgauge.c:85 -msgid "N/A" -msgstr "N/A" - -#: mixedgauge.c:193 -msgid "Overall Progress" -msgstr "Gesamtfortschritt" - -#: textbox.c:489 -msgid "Search" -msgstr "Suche" diff --git a/contrib/dialog/po/dialog.pot b/contrib/dialog/po/dialog.pot deleted file mode 100644 index 5d981f870062..000000000000 --- a/contrib/dialog/po/dialog.pot +++ /dev/null @@ -1,120 +0,0 @@ -# Dialog -# Copyright 2003-2020,2021 # Thomas Dickey -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: dialog 1.3.20210117\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-01-17 15:18-0500\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" -"Language: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=CHARSET\n" -"Content-Transfer-Encoding: 8bit\n" - -#: buttons.c:500 -msgid "Yes" -msgstr "" - -#: buttons.c:508 -msgid "No" -msgstr "" - -#: buttons.c:516 -msgid "OK" -msgstr "" - -#: buttons.c:524 -msgid "Cancel" -msgstr "" - -#: buttons.c:532 -msgid "EXIT" -msgstr "" - -#: buttons.c:540 -msgid "Extra" -msgstr "" - -#: buttons.c:548 -msgid "Help" -msgstr "" - -#. Headline "Month" -#: calendar.c:463 -msgid "Month" -msgstr "" - -#. Headline "Year" -#: calendar.c:485 -msgid "Year" -msgstr "" - -#: dialog.c:744 -#, c-format -msgid "Expected %d arguments, found only %d" -msgstr "" - -#: dialog.c:748 -#, c-format -msgid "Expected %d arguments, found extra %d" -msgstr "" - -#: dialog.c:907 -msgid "Rename" -msgstr "" - -#: fselect.c:623 -msgid "Directories" -msgstr "" - -#: fselect.c:624 -msgid "Files" -msgstr "" - -#: mixedgauge.c:58 -msgid "Succeeded" -msgstr "" - -#: mixedgauge.c:61 -msgid "Failed" -msgstr "" - -#: mixedgauge.c:64 -msgid "Passed" -msgstr "" - -#: mixedgauge.c:67 -msgid "Completed" -msgstr "" - -#: mixedgauge.c:70 -msgid "Checked" -msgstr "" - -#: mixedgauge.c:73 -msgid "Done" -msgstr "" - -#: mixedgauge.c:76 -msgid "Skipped" -msgstr "" - -#: mixedgauge.c:79 -msgid "In Progress" -msgstr "" - -#: mixedgauge.c:85 -msgid "N/A" -msgstr "" - -#: mixedgauge.c:193 -msgid "Overall Progress" -msgstr "" - -#: textbox.c:515 -msgid "Search" -msgstr "" diff --git a/contrib/dialog/po/el.po b/contrib/dialog/po/el.po deleted file mode 100644 index 2fadd9bcd880..000000000000 --- a/contrib/dialog/po/el.po +++ /dev/null @@ -1,111 +0,0 @@ -# Greek translation for dialog. -# This file is distributed under the same license as the dialog package. -# Copyright (C) 2008 Free Software Foundation, Inc. -# Savvas Radevic <vicedar@gmail.com>, 2012. -# -msgid "" -msgstr "" -"Project-Id-Version: dialog 1.1.20080819\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-06-18 18:26-0400\n" -"PO-Revision-Date: 2012-03-18 00:54+0100\n" -"Last-Translator: Savvas Radevic <vicedar@gmail.com>\n" -"Language-Team: Greek <team@lists.gnome.gr>\n" -"Language: el\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#: buttons.c:385 -msgid "Yes" -msgstr "Îαι" - -#: buttons.c:393 -msgid "No" -msgstr "Όχι" - -#: buttons.c:401 -msgid "OK" -msgstr "Εντάξει" - -#: buttons.c:409 -msgid "Cancel" -msgstr "ΆκυÏο" - -#: buttons.c:417 -msgid "EXIT" -msgstr "Έξοδος" - -#: buttons.c:425 -msgid "Extra" -msgstr "ΠÏόσθετα" - -#: buttons.c:433 -msgid "Help" -msgstr "Βοήθεια" - -#. Headline "Month" -#: calendar.c:273 -msgid "Month" -msgstr "Μήνας" - -#. Headline "Year" -#: calendar.c:293 -msgid "Year" -msgstr "Έτος" - -#: dialog.c:741 -msgid "Rename" -msgstr "Μετονομασία" - -#: fselect.c:550 -msgid "Directories" -msgstr "Φάκελοι" - -#: fselect.c:551 -msgid "Files" -msgstr "ΑÏχεία" - -#: mixedgauge.c:58 -msgid "Succeeded" -msgstr "Επιτυχία" - -#: mixedgauge.c:61 -msgid "Failed" -msgstr "Αποτυχία" - -#: mixedgauge.c:64 -msgid "Passed" -msgstr "ΠέÏασε" - -#: mixedgauge.c:67 -msgid "Completed" -msgstr "ΟλοκλήÏωση" - -#: mixedgauge.c:70 -msgid "Checked" -msgstr "Έλεγχος" - -#: mixedgauge.c:73 -msgid "Done" -msgstr "Τέλος" - -#: mixedgauge.c:76 -msgid "Skipped" -msgstr "ΠαÏάλειψη" - -#: mixedgauge.c:79 -msgid "In Progress" -msgstr "Σε εξέλιξη" - -#: mixedgauge.c:85 -msgid "N/A" -msgstr "Μη Διαθέσιμο" - -#: mixedgauge.c:193 -msgid "Overall Progress" -msgstr "Συνολική Ï€Ïόοδος" - -#: textbox.c:489 -msgid "Search" -msgstr "Αναζήτηση" diff --git a/contrib/dialog/po/eo.po b/contrib/dialog/po/eo.po deleted file mode 100644 index 99e482d025d5..000000000000 --- a/contrib/dialog/po/eo.po +++ /dev/null @@ -1,110 +0,0 @@ -# Esperanto translation of Dialog -# Copyright (C) 2008 Felipe Castro -# This file is distributed under the same license as the dialog package. -# Felipe Castro <fefcas@gmail.com>, 2008 -msgid "" -msgstr "" -"Project-Id-Version: dialog 1.1.20070704\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-01-16 17:57-0500\n" -"PO-Revision-Date: 2008-08-03 15:50-0300\n" -"Last-Translator: Felipe Castro <fefcas@gmail.com>\n" -"Language-Team: Esperanto <translation-team-eo@lists.sourceforge.net>\n" -"Language: eo\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#: buttons.c:387 -msgid "Yes" -msgstr "Jes" - -#: buttons.c:395 -msgid "No" -msgstr "Ne" - -#: buttons.c:403 -msgid "OK" -msgstr "Certe" - -#: buttons.c:411 -msgid "Cancel" -msgstr "Rezigni" - -#: buttons.c:419 -msgid "EXIT" -msgstr "ELIRI" - -#: buttons.c:427 -msgid "Extra" -msgstr "Krome" - -#: buttons.c:435 -msgid "Help" -msgstr "Helpo" - -#. Headline "Month" -#: calendar.c:298 -msgid "Month" -msgstr "Monato" - -#. Headline "Year" -#: calendar.c:318 -msgid "Year" -msgstr "Jaro" - -#: dialog.c:756 -msgid "Rename" -msgstr "Renomigi" - -#: fselect.c:571 -msgid "Directories" -msgstr "Dosierujoj" - -#: fselect.c:572 -msgid "Files" -msgstr "Dosieroj" - -#: mixedgauge.c:58 -msgid "Succeeded" -msgstr "Sukcesis" - -#: mixedgauge.c:61 -msgid "Failed" -msgstr "Malsukcesis" - -#: mixedgauge.c:64 -msgid "Passed" -msgstr "Pasite" - -#: mixedgauge.c:67 -msgid "Completed" -msgstr "Kompletite" - -#: mixedgauge.c:70 -msgid "Checked" -msgstr "Kontrolite" - -#: mixedgauge.c:73 -msgid "Done" -msgstr "Farite" - -#: mixedgauge.c:76 -msgid "Skipped" -msgstr "Preterpasite" - -#: mixedgauge.c:79 -msgid "In Progress" -msgstr "Evoluado" - -#: mixedgauge.c:85 -msgid "N/A" -msgstr "N/A" - -#: mixedgauge.c:193 -msgid "Overall Progress" -msgstr "Tuta Evoluo" - -#: textbox.c:468 -msgid "Search" -msgstr "Serĉi" diff --git a/contrib/dialog/po/es.po b/contrib/dialog/po/es.po deleted file mode 100644 index ccb4b019a579..000000000000 --- a/contrib/dialog/po/es.po +++ /dev/null @@ -1,112 +0,0 @@ -# Mensajes en español para dialog. -# Copyright (C) 2001, 2003, 2004 Thomas Dickey. -# This file is distributed under the same license as the dialog package. -# Santiago Vila Doncel <sanvila@unex.es>, 2001, 2003, 2004, 2010. -# -msgid "" -msgstr "" -"Project-Id-Version: dialog 1.1.20080819\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-06-18 18:26-0400\n" -"PO-Revision-Date: 2010-02-14 14:26+0100\n" -"Last-Translator: Santiago Vila Doncel <sanvila@unex.es>\n" -"Language-Team: Spanish <es@tp.org.es>\n" -"Language: es\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8-bit\n" - -#: buttons.c:385 -msgid "Yes" -msgstr "Sí" - -#: buttons.c:393 -msgid "No" -msgstr "No" - -#: buttons.c:401 -msgid "OK" -msgstr "Aceptar" - -#: buttons.c:409 -msgid "Cancel" -msgstr "Cancelar" - -#: buttons.c:417 -msgid "EXIT" -msgstr "Salir" - -#: buttons.c:425 -msgid "Extra" -msgstr "Extra" - -#: buttons.c:433 -msgid "Help" -msgstr "Ayuda" - -#. Headline "Month" -#: calendar.c:273 -msgid "Month" -msgstr "Mes" - -#. Headline "Year" -#: calendar.c:293 -msgid "Year" -msgstr "Año" - -#: dialog.c:741 -msgid "Rename" -msgstr "Renombrar" - -#: fselect.c:550 -msgid "Directories" -msgstr "Directorios" - -#: fselect.c:551 -msgid "Files" -msgstr "Ficheros" - -#: mixedgauge.c:58 -msgid "Succeeded" -msgstr "Finalizado con éxito" - -#: mixedgauge.c:61 -msgid "Failed" -msgstr "Falló" - -# Esta no me convence mucho. Se admiten sugerencias -#: mixedgauge.c:64 -msgid "Passed" -msgstr "Pasado" - -#: mixedgauge.c:67 -msgid "Completed" -msgstr "Completado" - -#: mixedgauge.c:70 -msgid "Checked" -msgstr "Comprobado" - -#: mixedgauge.c:73 -msgid "Done" -msgstr "Hecho" - -#: mixedgauge.c:76 -msgid "Skipped" -msgstr "Saltado" - -#: mixedgauge.c:79 -msgid "In Progress" -msgstr "En progreso" - -#: mixedgauge.c:85 -msgid "N/A" -msgstr "N/A" - -#: mixedgauge.c:193 -msgid "Overall Progress" -msgstr "Progreso total" - -#: textbox.c:489 -msgid "Search" -msgstr "Buscar" diff --git a/contrib/dialog/po/et.po b/contrib/dialog/po/et.po deleted file mode 100644 index d8757d9f3d18..000000000000 --- a/contrib/dialog/po/et.po +++ /dev/null @@ -1,110 +0,0 @@ -# Dialog -# Copyright 2001, Thomas Dickey -# Copyright 2001, Ivar Smolin -msgid "" -msgstr "" -"Project-Id-Version: Dialog\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-06-18 18:26-0400\n" -"PO-Revision-Date: 2001-09-08 00:05+0200\n" -"Last-Translator: Ivar Smolin <okul@linux.ee>\n" -"Language-Team: Estonian <et@li.org>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8-bit\n" - -#: buttons.c:385 -msgid "Yes" -msgstr "Jah" - -#: buttons.c:393 -msgid "No" -msgstr "Ei" - -#: buttons.c:401 -msgid "OK" -msgstr "OK" - -#: buttons.c:409 -msgid "Cancel" -msgstr "Tühista" - -#: buttons.c:417 -msgid "EXIT" -msgstr "Lõpeta" - -#: buttons.c:425 -msgid "Extra" -msgstr "" - -#: buttons.c:433 -msgid "Help" -msgstr "" - -#. Headline "Month" -#: calendar.c:273 -msgid "Month" -msgstr "Kuu" - -#. Headline "Year" -#: calendar.c:293 -msgid "Year" -msgstr "Aasta" - -#: dialog.c:741 -msgid "Rename" -msgstr "" - -#: fselect.c:550 -msgid "Directories" -msgstr "Kataloogid" - -#: fselect.c:551 -msgid "Files" -msgstr "Failid" - -#: mixedgauge.c:58 -msgid "Succeeded" -msgstr "" - -#: mixedgauge.c:61 -#, fuzzy -msgid "Failed" -msgstr "Failid" - -#: mixedgauge.c:64 -msgid "Passed" -msgstr "" - -#: mixedgauge.c:67 -msgid "Completed" -msgstr "" - -#: mixedgauge.c:70 -msgid "Checked" -msgstr "" - -#: mixedgauge.c:73 -msgid "Done" -msgstr "" - -#: mixedgauge.c:76 -msgid "Skipped" -msgstr "" - -#: mixedgauge.c:79 -msgid "In Progress" -msgstr "" - -#: mixedgauge.c:85 -msgid "N/A" -msgstr "" - -#: mixedgauge.c:193 -msgid "Overall Progress" -msgstr "" - -#: textbox.c:489 -#, fuzzy -msgid "Search" -msgstr "Otsingu" diff --git a/contrib/dialog/po/eu.po b/contrib/dialog/po/eu.po deleted file mode 100644 index 76bfd3084d27..000000000000 --- a/contrib/dialog/po/eu.po +++ /dev/null @@ -1,112 +0,0 @@ -# translation of dialog-1.1.20070704.po to Euskara -# Dialog -# Copyright 2003,2004 # Thomas Dickey -# -# Piarres Beobide Egaña <pi@beobide.net>, 2004, 2007. -msgid "" -msgstr "" -"Project-Id-Version: dialog-1.1.20070704\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-01-16 17:57-0500\n" -"PO-Revision-Date: 2007-09-20 00:01+0200\n" -"Last-Translator: Piarres Beobide <pi@beobide.net>\n" -"Language-Team: Basque <translation-team-eu@lists.sourceforge.net>\n" -"Language: eu\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: KBabel 1.11.4\n" - -#: buttons.c:387 -msgid "Yes" -msgstr "Bai" - -#: buttons.c:395 -msgid "No" -msgstr "Ez" - -#: buttons.c:403 -msgid "OK" -msgstr "Ados" - -#: buttons.c:411 -msgid "Cancel" -msgstr "Utzi" - -#: buttons.c:419 -msgid "EXIT" -msgstr "IRTEN" - -#: buttons.c:427 -msgid "Extra" -msgstr "Gehigarria" - -#: buttons.c:435 -msgid "Help" -msgstr "Laguntza" - -#. Headline "Month" -#: calendar.c:298 -msgid "Month" -msgstr "Hilabetea" - -#. Headline "Year" -#: calendar.c:318 -msgid "Year" -msgstr "Urtea" - -#: dialog.c:756 -msgid "Rename" -msgstr "Berizendatu" - -#: fselect.c:571 -msgid "Directories" -msgstr "Direktorioak" - -#: fselect.c:572 -msgid "Files" -msgstr "Fitxategiak" - -#: mixedgauge.c:58 -msgid "Succeeded" -msgstr "Lortua" - -#: mixedgauge.c:61 -msgid "Failed" -msgstr "Huts eginda" - -#: mixedgauge.c:64 -msgid "Passed" -msgstr "Pasata" - -#: mixedgauge.c:67 -msgid "Completed" -msgstr "Osatua" - -#: mixedgauge.c:70 -msgid "Checked" -msgstr "Egiaztatua" - -#: mixedgauge.c:73 -msgid "Done" -msgstr "Eginda" - -#: mixedgauge.c:76 -msgid "Skipped" -msgstr "Salto eginda" - -#: mixedgauge.c:79 -msgid "In Progress" -msgstr "Aurrerakuntza" - -#: mixedgauge.c:85 -msgid "N/A" -msgstr "E/G" - -#: mixedgauge.c:193 -msgid "Overall Progress" -msgstr "Aurrerapen nagusia" - -#: textbox.c:468 -msgid "Search" -msgstr "Bilaketa" diff --git a/contrib/dialog/po/fa.po b/contrib/dialog/po/fa.po deleted file mode 100644 index 9be8d8b91ab9..000000000000 --- a/contrib/dialog/po/fa.po +++ /dev/null @@ -1,113 +0,0 @@ -# Dialog -# Copyright 2003-2007,2008 # Thomas Dickey -# This file is distributed under the same license as the dialog package. -# -# Seyed Ali Akbar Najafian <s.ali.najafian@chmail.ir>, 2012. -msgid "" -msgstr "" -"Project-Id-Version: dialog 1.1.20080819\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-06-18 18:26-0400\n" -"PO-Revision-Date: 2013-08-03 17:04+0330\n" -"Last-Translator: سید‌علی‌اکبر نجÙیان <s.ali.najafian@chmail.ir>\n" -"Language-Team: Persian <translation-team-fa@lists.sourceforge.net>\n" -"Language: persian\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 1.5.4\n" - -#: buttons.c:385 -#, fuzzy -msgid "Yes" -msgstr "بله" - -#: buttons.c:393 -msgid "No" -msgstr "خیر" - -#: buttons.c:401 -msgid "OK" -msgstr "باشه" - -#: buttons.c:409 -msgid "Cancel" -msgstr "لغو" - -#: buttons.c:417 -msgid "EXIT" -msgstr "خروج" - -#: buttons.c:425 -msgid "Extra" -msgstr "Ø§Ø¶Ø§ÙØ³" - -#: buttons.c:433 -msgid "Help" -msgstr "راهنما" - -#. Headline "Month" -#: calendar.c:273 -msgid "Month" -msgstr "ماه" - -#. Headline "Year" -#: calendar.c:293 -msgid "Year" -msgstr "سال" - -#: dialog.c:741 -msgid "Rename" -msgstr "تغییر نام" - -#: fselect.c:550 -msgid "Directories" -msgstr "مسیرها" - -#: fselect.c:551 -msgid "Files" -msgstr "پرونده‌ها" - -#: mixedgauge.c:58 -msgid "Succeeded" -msgstr "موÙقیت آمیز" - -#: mixedgauge.c:61 -msgid "Failed" -msgstr "شکست خورد" - -#: mixedgauge.c:64 -msgid "Passed" -msgstr "متوق٠شد" - -#: mixedgauge.c:67 -msgid "Completed" -msgstr "کامل شد" - -#: mixedgauge.c:70 -msgid "Checked" -msgstr "بررسی شد" - -#: mixedgauge.c:73 -msgid "Done" -msgstr "انجام شد" - -#: mixedgauge.c:76 -msgid "Skipped" -msgstr "رها شد" - -#: mixedgauge.c:79 -msgid "In Progress" -msgstr "در حال Ù¾ÛŒØ´Ø±ÙØª" - -#: mixedgauge.c:85 -msgid "N/A" -msgstr "N/A" - -#: mixedgauge.c:193 -msgid "Overall Progress" -msgstr "Ù¾ÛŒØ´Ø±ÙØª جاری" - -#: textbox.c:489 -msgid "Search" -msgstr "جستجو" diff --git a/contrib/dialog/po/fi.po b/contrib/dialog/po/fi.po deleted file mode 100644 index e39897ce0404..000000000000 --- a/contrib/dialog/po/fi.po +++ /dev/null @@ -1,114 +0,0 @@ -# Finnish translation for dialog. -# Copyright © 2010 Free Software Foundation, Inc. -# Copyright © 2005 Lauri Nurmi <lanurmi@iki.fi> -# This file is distributed under the same license as the dialog package. -# Lauri Nurmi <lanurmi@iki.fi>, 2005. -# Jorma Karvonen <karvonen.jorma@gmail.com>, 2010. -# -msgid "" -msgstr "" -"Project-Id-Version: dialog 1.1.20080819\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-01-16 17:57-0500\n" -"PO-Revision-Date: 2010-09-06 21:24+0200\n" -"Last-Translator: Jorma Karvonen <karvonen.jorma@gmail.com>\n" -"Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n" -"Language: fi\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: buttons.c:387 -msgid "Yes" -msgstr "Kyllä" - -#: buttons.c:395 -msgid "No" -msgstr "Ei" - -#: buttons.c:403 -msgid "OK" -msgstr "Valmis" - -#: buttons.c:411 -msgid "Cancel" -msgstr "Peru" - -#: buttons.c:419 -msgid "EXIT" -msgstr "Poistu" - -#: buttons.c:427 -msgid "Extra" -msgstr "Painike" - -#: buttons.c:435 -msgid "Help" -msgstr "Opaste" - -#. Headline "Month" -#: calendar.c:298 -msgid "Month" -msgstr "Kuukausi" - -#. Headline "Year" -#: calendar.c:318 -msgid "Year" -msgstr "Vuosi" - -#: dialog.c:756 -msgid "Rename" -msgstr "Nimeä" - -#: fselect.c:571 -msgid "Directories" -msgstr "Kansiot" - -#: fselect.c:572 -msgid "Files" -msgstr "Tiedostot" - -#: mixedgauge.c:58 -msgid "Succeeded" -msgstr "Onnistui" - -#: mixedgauge.c:61 -msgid "Failed" -msgstr "Epäonnistui" - -#: mixedgauge.c:64 -msgid "Passed" -msgstr "Hyväksytty" - -#: mixedgauge.c:67 -msgid "Completed" -msgstr "Valmis" - -#: mixedgauge.c:70 -msgid "Checked" -msgstr "Valittu" - -#: mixedgauge.c:73 -msgid "Done" -msgstr "Valmis" - -#: mixedgauge.c:76 -msgid "Skipped" -msgstr "Ohitettiin" - -#: mixedgauge.c:79 -msgid "In Progress" -msgstr "Edistyminen" - -#: mixedgauge.c:85 -msgid "N/A" -msgstr "N/A" - -#: mixedgauge.c:193 -msgid "Overall Progress" -msgstr "Kokonaisedistyminen" - -#: textbox.c:468 -msgid "Search" -msgstr "Etsi" diff --git a/contrib/dialog/po/fr.po b/contrib/dialog/po/fr.po deleted file mode 100644 index 1edb08bd9568..000000000000 --- a/contrib/dialog/po/fr.po +++ /dev/null @@ -1,111 +0,0 @@ -# French translation of Dialog. -# Copyright (C) 2001 Thomas Dickey. -# Frédéric L. W. Meunier <0 @ pervalidus.net>, 2001. -# François-Xavier Coudert <fxcoudert@gmail.com>, 2008. -# -msgid "" -msgstr "" -"Project-Id-Version: dialog 1.1.20070704\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-01-16 17:57-0500\n" -"PO-Revision-Date: 2008-03-28 23:14+0000\n" -"Last-Translator: François-Xavier Coudert <fxcoudert@gmail.com>\n" -"Language-Team: French <traduc@traduc.org>\n" -"Language: fr\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8-bit\n" - -#: buttons.c:387 -msgid "Yes" -msgstr "Oui" - -#: buttons.c:395 -msgid "No" -msgstr "Non" - -#: buttons.c:403 -msgid "OK" -msgstr "Accepter" - -#: buttons.c:411 -msgid "Cancel" -msgstr "Annuler" - -#: buttons.c:419 -msgid "EXIT" -msgstr "SORTIR" - -#: buttons.c:427 -msgid "Extra" -msgstr "Extra" - -#: buttons.c:435 -msgid "Help" -msgstr "Aide" - -#. Headline "Month" -#: calendar.c:298 -msgid "Month" -msgstr "Mois" - -#. Headline "Year" -#: calendar.c:318 -msgid "Year" -msgstr "Année" - -#: dialog.c:756 -msgid "Rename" -msgstr "Renommer" - -#: fselect.c:571 -msgid "Directories" -msgstr "Répertoires" - -#: fselect.c:572 -msgid "Files" -msgstr "Fichiers" - -#: mixedgauge.c:58 -msgid "Succeeded" -msgstr "Succès" - -#: mixedgauge.c:61 -msgid "Failed" -msgstr "Échec" - -#: mixedgauge.c:64 -msgid "Passed" -msgstr "Passé" - -#: mixedgauge.c:67 -msgid "Completed" -msgstr "Terminé" - -#: mixedgauge.c:70 -msgid "Checked" -msgstr "Vérifié" - -#: mixedgauge.c:73 -msgid "Done" -msgstr "Fini" - -#: mixedgauge.c:76 -msgid "Skipped" -msgstr "Ignoré" - -#: mixedgauge.c:79 -msgid "In Progress" -msgstr "En cours" - -#: mixedgauge.c:85 -msgid "N/A" -msgstr "N/A" - -#: mixedgauge.c:193 -msgid "Overall Progress" -msgstr "Avancement général" - -#: textbox.c:468 -msgid "Search" -msgstr "Rechercher" diff --git a/contrib/dialog/po/fur.po b/contrib/dialog/po/fur.po deleted file mode 100644 index c863351ef7eb..000000000000 --- a/contrib/dialog/po/fur.po +++ /dev/null @@ -1,113 +0,0 @@ -# Dialog -# Copyright 2003-2007,2008 # Thomas Dickey -# This file is distributed under the same license as the dialog package. -# Fabio Tomat <f.t.public@gmail.com>, 2016. -msgid "" -msgstr "" -"Project-Id-Version: dialog 1.1.20080819\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-06-18 18:26-0400\n" -"PO-Revision-Date: 2016-11-20 07:14+0100\n" -"Last-Translator: Fabio Tomat <f.t.public@gmail.com>\n" -"Language-Team: Friulian <f.t.public@gmail.com>\n" -"Language: fur\n" -"X-Bugs: Report translation errors to the Language-Team address.\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 1.8.8\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: buttons.c:385 -msgid "Yes" -msgstr "Sì" - -#: buttons.c:393 -msgid "No" -msgstr "No" - -#: buttons.c:401 -msgid "OK" -msgstr "OK" - -#: buttons.c:409 -msgid "Cancel" -msgstr "Anule" - -#: buttons.c:417 -msgid "EXIT" -msgstr "JES" - -#: buttons.c:425 -msgid "Extra" -msgstr "Adizionâl" - -#: buttons.c:433 -msgid "Help" -msgstr "Jutori" - -#. Headline "Month" -#: calendar.c:273 -msgid "Month" -msgstr "Mês" - -#. Headline "Year" -#: calendar.c:293 -msgid "Year" -msgstr "An" - -#: dialog.c:741 -msgid "Rename" -msgstr "Cambie non" - -#: fselect.c:550 -msgid "Directories" -msgstr "Cartelis" - -#: fselect.c:551 -msgid "Files" -msgstr "File" - -#: mixedgauge.c:58 -msgid "Succeeded" -msgstr "Riessût" - -#: mixedgauge.c:61 -msgid "Failed" -msgstr "Falît" - -#: mixedgauge.c:64 -msgid "Passed" -msgstr "Superât" - -#: mixedgauge.c:67 -msgid "Completed" -msgstr "Completât" - -#: mixedgauge.c:70 -msgid "Checked" -msgstr "Controlât" - -#: mixedgauge.c:73 -msgid "Done" -msgstr "Fat" - -#: mixedgauge.c:76 -msgid "Skipped" -msgstr "Saltât" - -#: mixedgauge.c:79 -msgid "In Progress" -msgstr "In cors" - -#: mixedgauge.c:85 -msgid "N/A" -msgstr "N/D" - -#: mixedgauge.c:193 -msgid "Overall Progress" -msgstr "Progrès gjenerâl" - -#: textbox.c:489 -msgid "Search" -msgstr "Cîr" diff --git a/contrib/dialog/po/ga.po b/contrib/dialog/po/ga.po deleted file mode 100644 index c2d7bfc93f97..000000000000 --- a/contrib/dialog/po/ga.po +++ /dev/null @@ -1,109 +0,0 @@ -# Dialog -# Copyright 2003,2004 # Thomas Dickey -# Kevin Patrick Scannell <scannell@SLU.EDU>, 2005, 2007. -msgid "" -msgstr "" -"Project-Id-Version: dialog 1.1.20070704\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-01-16 17:57-0500\n" -"PO-Revision-Date: 2007-07-20 11:57-0500\n" -"Last-Translator: Kevin Scannell <kscanne@gmail.com>\n" -"Language-Team: Irish <gaeilge-gnulinux@lists.sourceforge.net>\n" -"Language: ga\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#: buttons.c:387 -msgid "Yes" -msgstr "Tá" - -#: buttons.c:395 -msgid "No" -msgstr "Níl" - -#: buttons.c:403 -msgid "OK" -msgstr "OK" - -#: buttons.c:411 -msgid "Cancel" -msgstr "Cealaigh" - -#: buttons.c:419 -msgid "EXIT" -msgstr "SCOIR" - -#: buttons.c:427 -msgid "Extra" -msgstr "Breise" - -#: buttons.c:435 -msgid "Help" -msgstr "Cabhair" - -#. Headline "Month" -#: calendar.c:298 -msgid "Month" -msgstr "Mí" - -#. Headline "Year" -#: calendar.c:318 -msgid "Year" -msgstr "Bliain" - -#: dialog.c:756 -msgid "Rename" -msgstr "Athainmnigh" - -#: fselect.c:571 -msgid "Directories" -msgstr "Comhadlanna" - -#: fselect.c:572 -msgid "Files" -msgstr "Comhaid" - -#: mixedgauge.c:58 -msgid "Succeeded" -msgstr "D'éirigh leis" - -#: mixedgauge.c:61 -msgid "Failed" -msgstr "Teipthe" - -#: mixedgauge.c:64 -msgid "Passed" -msgstr "Ceadaithe" - -#: mixedgauge.c:67 -msgid "Completed" -msgstr "Críochnaithe" - -#: mixedgauge.c:70 -msgid "Checked" -msgstr "Deimhnithe" - -#: mixedgauge.c:73 -msgid "Done" -msgstr "Déanta" - -#: mixedgauge.c:76 -msgid "Skipped" -msgstr "Scipeáilte" - -#: mixedgauge.c:79 -msgid "In Progress" -msgstr "Faoi Shiúl" - -#: mixedgauge.c:85 -msgid "N/A" -msgstr "N/A/F" - -#: mixedgauge.c:193 -msgid "Overall Progress" -msgstr "Dul Chun Cinn Iomlán" - -#: textbox.c:468 -msgid "Search" -msgstr "Cuardaigh" diff --git a/contrib/dialog/po/gd.po b/contrib/dialog/po/gd.po deleted file mode 100644 index 9bcaa605066a..000000000000 --- a/contrib/dialog/po/gd.po +++ /dev/null @@ -1,111 +0,0 @@ -# Scottish Gaelic translation of Dialog. -# Copyright 2003-2007,2008 # Thomas Dickey -# This file is distributed under the same license as the dialog package. -# GunChleoc <fios@foramnagaidhlig.net>, 2014. -msgid "" -msgstr "" -"Project-Id-Version: dialog 1.1.20080819\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-06-18 18:26-0400\n" -"PO-Revision-Date: 2014-02-11 11:19-0000\n" -"Last-Translator: GunChleoc <fios@foramnagaidhlig.net>\n" -"Language-Team: Scottish Gaelic <fios@foramnagaidhlig.net>\n" -"Language: gd\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=4; plural=(n==1 || n==11) ? 0 : (n==2 || n==12) ? 1 : (n > 2 && n < 20) ? 2 : 3;\n" - -#: buttons.c:385 -msgid "Yes" -msgstr "Tha" - -#: buttons.c:393 -msgid "No" -msgstr "Chan eil" - -#: buttons.c:401 -msgid "OK" -msgstr "Ceart ma-thà" - -#: buttons.c:409 -msgid "Cancel" -msgstr "Sguir dheth" - -#: buttons.c:417 -msgid "EXIT" -msgstr "FÀG AN-SEO" - -#: buttons.c:425 -msgid "Extra" -msgstr "Barrachd" - -#: buttons.c:433 -msgid "Help" -msgstr "Cobhair" - -#. Headline "Month" -#: calendar.c:273 -msgid "Month" -msgstr "Mìos" - -#. Headline "Year" -#: calendar.c:293 -msgid "Year" -msgstr "Bliadhna" - -#: dialog.c:741 -msgid "Rename" -msgstr "Cuir ainm ùr air" - -#: fselect.c:550 -msgid "Directories" -msgstr "Pasganan" - -#: fselect.c:551 -msgid "Files" -msgstr "Faidhlichean" - -#: mixedgauge.c:58 -msgid "Succeeded" -msgstr "Soirbheachail" - -#: mixedgauge.c:61 -msgid "Failed" -msgstr "Dh'fhàillig leis" - -#: mixedgauge.c:64 -msgid "Passed" -msgstr "Soirbheachail" - -#: mixedgauge.c:67 -msgid "Completed" -msgstr "Coileanta" - -#: mixedgauge.c:70 -msgid "Checked" -msgstr "Air a dhearbhadh" - -#: mixedgauge.c:73 -msgid "Done" -msgstr "Dèanta" - -#: mixedgauge.c:76 -msgid "Skipped" -msgstr "Air a leigeil seachad" - -#: mixedgauge.c:79 -msgid "In Progress" -msgstr "A' dol air adhart" - -#: mixedgauge.c:85 -msgid "N/A" -msgstr "Chan eil seo iomchaidh" - -#: mixedgauge.c:193 -msgid "Overall Progress" -msgstr "Adhartas san fharsaingeachd" - -#: textbox.c:489 -msgid "Search" -msgstr "Lorg" diff --git a/contrib/dialog/po/gl.po b/contrib/dialog/po/gl.po deleted file mode 100644 index 6068e868bf59..000000000000 --- a/contrib/dialog/po/gl.po +++ /dev/null @@ -1,119 +0,0 @@ -# Galician translation of dialog -# This file is distributed under the same license as the dialog package. -# Copyright 2003-2006, 2007 Thomas Dickey -# Copyright 2012 Leandro Regueiro -# -# Diego Pérez Montes <kabute@gulo.org>, 2008 -# Leandro Regueiro <leandro.regueiro@gmail.com>, 2012. -# -# Proxecto Trasno - Adaptación do software libre á lingua galega: Se desexas -# colaborar connosco, podes atopar máis información en <http://www.trasno.net> -# -msgid "" -msgstr "" -"Project-Id-Version: dialog 1.1.20080819\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-06-18 18:26-0400\n" -"PO-Revision-Date: 2012-11-10 13:53+0200\n" -"Last-Translator: Leandro Regueiro <leandro.regueiro@gmail.com>\n" -"Language-Team: Galician <proxecto@trasno.net>\n" -"Language: gl\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Virtaal 0.7.0\n" - -#: buttons.c:385 -msgid "Yes" -msgstr "Si" - -#: buttons.c:393 -msgid "No" -msgstr "Non" - -#: buttons.c:401 -msgid "OK" -msgstr "Aceptar" - -#: buttons.c:409 -msgid "Cancel" -msgstr "Cancelar" - -#: buttons.c:417 -msgid "EXIT" -msgstr "SAÃR" - -#: buttons.c:425 -msgid "Extra" -msgstr "Extra" - -#: buttons.c:433 -msgid "Help" -msgstr "Axuda" - -#. Headline "Month" -#: calendar.c:273 -msgid "Month" -msgstr "Mes" - -#. Headline "Year" -#: calendar.c:293 -msgid "Year" -msgstr "Ano" - -#: dialog.c:741 -msgid "Rename" -msgstr "Renomear" - -#: fselect.c:550 -msgid "Directories" -msgstr "Directorios" - -#: fselect.c:551 -msgid "Files" -msgstr "Ficheiros" - -#: mixedgauge.c:58 -msgid "Succeeded" -msgstr "Conseguido" - -#: mixedgauge.c:61 -msgid "Failed" -msgstr "Fallou" - -#: mixedgauge.c:64 -msgid "Passed" -msgstr "Correcto" - -#: mixedgauge.c:67 -msgid "Completed" -msgstr "Completado" - -#: mixedgauge.c:70 -msgid "Checked" -msgstr "Seleccionado" - -#: mixedgauge.c:73 -msgid "Done" -msgstr "Feito" - -#: mixedgauge.c:76 -msgid "Skipped" -msgstr "Omitido" - -#: mixedgauge.c:79 -msgid "In Progress" -msgstr "En progreso" - -#: mixedgauge.c:85 -msgid "N/A" -msgstr "Non dispoñíbel" - -#: mixedgauge.c:193 -msgid "Overall Progress" -msgstr "Progreso total" - -#: textbox.c:489 -msgid "Search" -msgstr "Buscar" diff --git a/contrib/dialog/po/hi.po b/contrib/dialog/po/hi.po deleted file mode 100644 index 482feb2fc26f..000000000000 --- a/contrib/dialog/po/hi.po +++ /dev/null @@ -1,113 +0,0 @@ -# Hindi translation of Dialog. -# This file is distributed under the same license as the dialog package. -# -msgid "" -msgstr "" -"Project-Id-Version: dialog\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-06-18 18:26-0400\n" -"PO-Revision-Date: 2007-07-18 11:06+0200\n" -"Last-Translator: Deepika Mangla <deepika.mangla@gmail.com>\n" -"Language-Team: <elinks@knopper.net>\n" -"Language: hi\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: 2\n" -"X-Poedit-Language: Hindi\n" -"X-Poedit-Country: INDIA\n" -"X-Generator: KBabel 1.11.4\n" - -#: buttons.c:385 -msgid "Yes" -msgstr "हाà¤" - -#: buttons.c:393 -msgid "No" -msgstr "नहीं" - -#: buttons.c:401 -msgid "OK" -msgstr "ठीक" - -#: buttons.c:409 -msgid "Cancel" -msgstr "रदà¥à¤¦ करें" - -#: buttons.c:417 -msgid "EXIT" -msgstr "निरà¥à¤—म" - -#: buttons.c:425 -msgid "Extra" -msgstr "अतिरिकà¥à¤¤" - -#: buttons.c:433 -msgid "Help" -msgstr "मदद" - -#. Headline "Month" -#: calendar.c:273 -msgid "Month" -msgstr "महीना" - -#. Headline "Year" -#: calendar.c:293 -msgid "Year" -msgstr "वरà¥à¤·" - -#: dialog.c:741 -msgid "Rename" -msgstr "पà¥à¤¨à¤ƒà¤¨à¤¾à¤®à¤•रण" - -#: fselect.c:550 -msgid "Directories" -msgstr "निरà¥à¤¦à¥‡à¤¶à¤¿à¤•ा" - -#: fselect.c:551 -msgid "Files" -msgstr "संचिका" - -#: mixedgauge.c:58 -msgid "Succeeded" -msgstr "सफल" - -#: mixedgauge.c:61 -msgid "Failed" -msgstr "सफल" - -#: mixedgauge.c:64 -msgid "Passed" -msgstr "पास" - -#: mixedgauge.c:67 -msgid "Completed" -msgstr "समà¥à¤ªà¥‚रित" - -#: mixedgauge.c:70 -msgid "Checked" -msgstr "अवरà¥à¤¦à¥à¤§" - -#: mixedgauge.c:73 -msgid "Done" -msgstr "सफल " - -#: mixedgauge.c:76 -msgid "Skipped" -msgstr "छोड़ दिया" - -#: mixedgauge.c:79 -msgid "In Progress" -msgstr "पà¥à¤°à¤—ति में है" - -#: mixedgauge.c:85 -msgid "N/A" -msgstr "लागू नहीं" - -#: mixedgauge.c:193 -msgid "Overall Progress" -msgstr "समगà¥à¤° पà¥à¤°à¤—ति" - -#: textbox.c:489 -msgid "Search" -msgstr "अनà¥à¤¸à¤¨à¥à¤§à¤¾à¤¨" diff --git a/contrib/dialog/po/hr.po b/contrib/dialog/po/hr.po deleted file mode 100644 index 6b36cd623873..000000000000 --- a/contrib/dialog/po/hr.po +++ /dev/null @@ -1,114 +0,0 @@ -# Dialog -# Copyright 2003-2007,2008 # Thomas Dickey -# This file is distributed under the same license as the dialog package. -# Tomislav Krznar <tomislav.krznar@gmail.com>, 2012. -# -msgid "" -msgstr "" -"Project-Id-Version: dialog 1.1.20080819\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-06-18 18:26-0400\n" -"PO-Revision-Date: 2017-03-26 15:31+0200\n" -"Last-Translator: gogo <trebelnik2@gmail.com>\n" -"Language-Team: Croatian <lokalizacija@linux.hr>\n" -"Language: hr\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Bugs: Report translation errors to the Language-Team address.\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -"X-Generator: Poedit 1.8.7.1\n" - -#: buttons.c:385 -msgid "Yes" -msgstr "Da" - -#: buttons.c:393 -msgid "No" -msgstr "Ne" - -#: buttons.c:401 -msgid "OK" -msgstr "U redu" - -#: buttons.c:409 -msgid "Cancel" -msgstr "Odustani" - -#: buttons.c:417 -msgid "EXIT" -msgstr "IZLAZ" - -#: buttons.c:425 -msgid "Extra" -msgstr "Dodatno" - -#: buttons.c:433 -msgid "Help" -msgstr "Pomoć" - -#. Headline "Month" -#: calendar.c:273 -msgid "Month" -msgstr "Mjesec" - -#. Headline "Year" -#: calendar.c:293 -msgid "Year" -msgstr "Godina" - -#: dialog.c:741 -msgid "Rename" -msgstr "Preimenuj" - -#: fselect.c:550 -msgid "Directories" -msgstr "Direktoriji" - -#: fselect.c:551 -msgid "Files" -msgstr "Datoteke" - -#: mixedgauge.c:58 -msgid "Succeeded" -msgstr "Uspjeh" - -#: mixedgauge.c:61 -msgid "Failed" -msgstr "Neuspjeh" - -#: mixedgauge.c:64 -msgid "Passed" -msgstr "ProÅ¡lo" - -#: mixedgauge.c:67 -msgid "Completed" -msgstr "ZavrÅ¡eno" - -#: mixedgauge.c:70 -msgid "Checked" -msgstr "Provjereno" - -#: mixedgauge.c:73 -msgid "Done" -msgstr "Gotovo" - -#: mixedgauge.c:76 -msgid "Skipped" -msgstr "PreskoÄeno" - -#: mixedgauge.c:79 -msgid "In Progress" -msgstr "U tijeku" - -#: mixedgauge.c:85 -msgid "N/A" -msgstr "Nedostupno" - -#: mixedgauge.c:193 -msgid "Overall Progress" -msgstr "Ukupni napredak" - -#: textbox.c:489 -msgid "Search" -msgstr "Pretraga" diff --git a/contrib/dialog/po/hu.po b/contrib/dialog/po/hu.po deleted file mode 100644 index 0236dd85eaca..000000000000 --- a/contrib/dialog/po/hu.po +++ /dev/null @@ -1,114 +0,0 @@ -# Hungarian translation of dialog -# Copyright (C) 2003, 2014 Free Software Foundation, Inc. -# This file is distributed under the same license as the dialog package. -# -# Ãrpad Biró <biro_arpad@yahoo.com>, 2003. -# Balázs Úr <urbalazs@gmail.com>, 2014. -msgid "" -msgstr "" -"Project-Id-Version: dialog 1.1.20080819\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-06-18 18:26-0400\n" -"PO-Revision-Date: 2014-03-20 23:07+0100\n" -"Last-Translator: Balázs Úr <urbalazs@gmail.com>\n" -"Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n" -"Language: hu\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: Lokalize 1.2\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: buttons.c:385 -msgid "Yes" -msgstr "Igen" - -#: buttons.c:393 -msgid "No" -msgstr "Nem" - -#: buttons.c:401 -msgid "OK" -msgstr "OK" - -#: buttons.c:409 -msgid "Cancel" -msgstr "Mégse" - -#: buttons.c:417 -msgid "EXIT" -msgstr "KILÉPÉS" - -#: buttons.c:425 -msgid "Extra" -msgstr "Extra" - -#: buttons.c:433 -msgid "Help" -msgstr "Súgó" - -#. Headline "Month" -#: calendar.c:273 -msgid "Month" -msgstr "Hónap" - -#. Headline "Year" -#: calendar.c:293 -msgid "Year" -msgstr "Év" - -#: dialog.c:741 -msgid "Rename" -msgstr "Ãtnevezés" - -#: fselect.c:550 -msgid "Directories" -msgstr "Könyvtárak" - -#: fselect.c:551 -msgid "Files" -msgstr "Fájlok" - -#: mixedgauge.c:58 -msgid "Succeeded" -msgstr "Sikerült" - -#: mixedgauge.c:61 -msgid "Failed" -msgstr "Meghiúsult" - -#: mixedgauge.c:64 -msgid "Passed" -msgstr "Teljesült" - -#: mixedgauge.c:67 -msgid "Completed" -msgstr "Befejezve" - -#: mixedgauge.c:70 -msgid "Checked" -msgstr "Bejelölve" - -#: mixedgauge.c:73 -msgid "Done" -msgstr "Kész" - -#: mixedgauge.c:76 -msgid "Skipped" -msgstr "Kihagyva" - -#: mixedgauge.c:79 -msgid "In Progress" -msgstr "Folyamatban" - -#: mixedgauge.c:85 -msgid "N/A" -msgstr "N/A" - -#: mixedgauge.c:193 -msgid "Overall Progress" -msgstr "Teljes folyamat" - -#: textbox.c:489 -msgid "Search" -msgstr "Keresés" diff --git a/contrib/dialog/po/ia.po b/contrib/dialog/po/ia.po deleted file mode 100644 index dfee2ff17b70..000000000000 --- a/contrib/dialog/po/ia.po +++ /dev/null @@ -1,111 +0,0 @@ -# Interlingua translation of Dialog -# Copyright (C) 2012 Free Software Foundation, Inc. -# This file is distributed under the same license as the dialog package. -# Nik Kalach <nik.kalach@inbox.ru>, 2012. -# -msgid "" -msgstr "" -"Project-Id-Version: dialog 1.1.20080819\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-06-18 18:26-0400\n" -"PO-Revision-Date: 2012-12-04 00:56+0400\n" -"Last-Translator: Nik Kalach <nik.kalach@inbox.ru>\n" -"Language-Team: Interlingua <translation-team-ia@lists.sourceforge.net>\n" -"Language: ia\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#: buttons.c:385 -msgid "Yes" -msgstr "Si" - -#: buttons.c:393 -msgid "No" -msgstr "No" - -#: buttons.c:401 -msgid "OK" -msgstr "OK" - -#: buttons.c:409 -msgid "Cancel" -msgstr "Annullar" - -#: buttons.c:417 -msgid "EXIT" -msgstr "SORTIR" - -#: buttons.c:425 -msgid "Extra" -msgstr "Extra" - -#: buttons.c:433 -msgid "Help" -msgstr "Adjuta" - -#. Headline "Month" -#: calendar.c:273 -msgid "Month" -msgstr "Mense" - -#. Headline "Year" -#: calendar.c:293 -msgid "Year" -msgstr "Anno" - -#: dialog.c:741 -msgid "Rename" -msgstr "Renominar" - -#: fselect.c:550 -msgid "Directories" -msgstr "Directorios" - -#: fselect.c:551 -msgid "Files" -msgstr "Files" - -#: mixedgauge.c:58 -msgid "Succeeded" -msgstr "Succedite" - -#: mixedgauge.c:61 -msgid "Failed" -msgstr "Fallite" - -#: mixedgauge.c:64 -msgid "Passed" -msgstr "Passate" - -#: mixedgauge.c:67 -msgid "Completed" -msgstr "Completate" - -#: mixedgauge.c:70 -msgid "Checked" -msgstr "Controlate" - -#: mixedgauge.c:73 -msgid "Done" -msgstr "Facite" - -#: mixedgauge.c:76 -msgid "Skipped" -msgstr "Saltate" - -#: mixedgauge.c:79 -msgid "In Progress" -msgstr "In curso" - -#: mixedgauge.c:85 -msgid "N/A" -msgstr "N/A" - -#: mixedgauge.c:193 -msgid "Overall Progress" -msgstr "Progresso general" - -#: textbox.c:489 -msgid "Search" -msgstr "Cerca" diff --git a/contrib/dialog/po/id.po b/contrib/dialog/po/id.po deleted file mode 100644 index 8db832947a9b..000000000000 --- a/contrib/dialog/po/id.po +++ /dev/null @@ -1,111 +0,0 @@ -# Indonesian translations for dialog package. -# Copyright 2003-2006,2007 # Thomas Dickey. -# This file is distributed under the same license as the dialog package. -# Andhika Padmawan <andhika.padmawan@gmail.com>, 2008. -# -msgid "" -msgstr "" -"Project-Id-Version: dialog 1.1.20080819\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-01-16 17:57-0500\n" -"PO-Revision-Date: 2008-07-21 13:40+0700\n" -"Last-Translator: Andhika Padmawan <andhika.padmawan@gmail.com>\n" -"Language-Team: Indonesian <translation-team-id@lists.sourceforge.net>\n" -"Language: id\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#: buttons.c:387 -msgid "Yes" -msgstr "Ya" - -#: buttons.c:395 -msgid "No" -msgstr "Tidak" - -#: buttons.c:403 -msgid "OK" -msgstr "OK" - -#: buttons.c:411 -msgid "Cancel" -msgstr "Batal" - -#: buttons.c:419 -msgid "EXIT" -msgstr "KELUAR" - -#: buttons.c:427 -msgid "Extra" -msgstr "Ekstra" - -#: buttons.c:435 -msgid "Help" -msgstr "Bantuan" - -#. Headline "Month" -#: calendar.c:298 -msgid "Month" -msgstr "Bulan" - -#. Headline "Year" -#: calendar.c:318 -msgid "Year" -msgstr "Tahun" - -#: dialog.c:756 -msgid "Rename" -msgstr "Ganti Nama" - -#: fselect.c:571 -msgid "Directories" -msgstr "Kamus" - -#: fselect.c:572 -msgid "Files" -msgstr "Berkas" - -#: mixedgauge.c:58 -msgid "Succeeded" -msgstr "Sukses" - -#: mixedgauge.c:61 -msgid "Failed" -msgstr "Gagal" - -#: mixedgauge.c:64 -msgid "Passed" -msgstr "Lulus" - -#: mixedgauge.c:67 -msgid "Completed" -msgstr "Selesai" - -#: mixedgauge.c:70 -msgid "Checked" -msgstr "Diperiksa" - -#: mixedgauge.c:73 -msgid "Done" -msgstr "Selesai" - -#: mixedgauge.c:76 -msgid "Skipped" -msgstr "Dilewati" - -#: mixedgauge.c:79 -msgid "In Progress" -msgstr "Dalam Proses" - -#: mixedgauge.c:85 -msgid "N/A" -msgstr "Tak Tersedia" - -#: mixedgauge.c:193 -msgid "Overall Progress" -msgstr "Keseluruhan Proses" - -#: textbox.c:468 -msgid "Search" -msgstr "Telusur" diff --git a/contrib/dialog/po/is.po b/contrib/dialog/po/is.po deleted file mode 100644 index aaeb8508be0c..000000000000 --- a/contrib/dialog/po/is.po +++ /dev/null @@ -1,112 +0,0 @@ -# translation of dialog-1.1.20080819.po to Icelandic -# This file is distributed under the same license as the dialog package. -# Copyright 2003-2007,2008 Thomas Dickey -# -# Sveinn í Felli <sveinki@nett.is>, 2009. -msgid "" -msgstr "" -"Project-Id-Version: dialog-1.1.20080819\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-01-16 17:57-0500\n" -"PO-Revision-Date: 2009-09-03 17:02+0000\n" -"Last-Translator: Sveinn í Felli <sveinki@nett.is>\n" -"Language-Team: Icelandic <(nothing)>\n" -"Language: is\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: KBabel 1.11.4\n" - -#: buttons.c:387 -msgid "Yes" -msgstr "Já" - -#: buttons.c:395 -msgid "No" -msgstr "Nei" - -#: buttons.c:403 -msgid "OK" -msgstr "à lagi" - -#: buttons.c:411 -msgid "Cancel" -msgstr "Hætta við" - -#: buttons.c:419 -msgid "EXIT" -msgstr "LOKA" - -#: buttons.c:427 -msgid "Extra" -msgstr "Auka" - -#: buttons.c:435 -msgid "Help" -msgstr "Hjálp" - -#. Headline "Month" -#: calendar.c:298 -msgid "Month" -msgstr "Mánuður" - -#. Headline "Year" -#: calendar.c:318 -msgid "Year" -msgstr "Ãr" - -#: dialog.c:756 -msgid "Rename" -msgstr "Endurnefna" - -#: fselect.c:571 -msgid "Directories" -msgstr "Möppur" - -#: fselect.c:572 -msgid "Files" -msgstr "Skrár" - -#: mixedgauge.c:58 -msgid "Succeeded" -msgstr "Tókst" - -#: mixedgauge.c:61 -msgid "Failed" -msgstr "Mistókst" - -#: mixedgauge.c:64 -msgid "Passed" -msgstr "Stóðst prófun" - -#: mixedgauge.c:67 -msgid "Completed" -msgstr "Fullgert" - -#: mixedgauge.c:70 -msgid "Checked" -msgstr "Athugað" - -#: mixedgauge.c:73 -msgid "Done" -msgstr "Lokið" - -#: mixedgauge.c:76 -msgid "Skipped" -msgstr "Sleppt" - -#: mixedgauge.c:79 -msgid "In Progress" -msgstr "à vinnslu" - -#: mixedgauge.c:85 -msgid "N/A" -msgstr "Ekki tiltækt" - -#: mixedgauge.c:193 -msgid "Overall Progress" -msgstr "Heildarframvinda" - -#: textbox.c:468 -msgid "Search" -msgstr "Leita" diff --git a/contrib/dialog/po/it.po b/contrib/dialog/po/it.po deleted file mode 100644 index c9ad1944fb0d..000000000000 --- a/contrib/dialog/po/it.po +++ /dev/null @@ -1,112 +0,0 @@ -# Italian messages for dialog. -# Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc. -# This file is distributed under the same license as the dialog package. -# Marco Colombo <m.colombo@ed.ac.uk>, 2005, 2007. -# Marco Mariani <marcom@sferacarta.com>, 2004. -# -msgid "" -msgstr "" -"Project-Id-Version: dialog 1.1.20070704\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-01-16 17:57-0500\n" -"PO-Revision-Date: 2007-08-06 15:47+0100\n" -"Last-Translator: Marco Colombo <m.colombo@ed.ac.uk>\n" -"Language-Team: Italian <tp@lists.linux.it>\n" -"Language: it\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8-bit\n" - -#: buttons.c:387 -msgid "Yes" -msgstr "Sì" - -#: buttons.c:395 -msgid "No" -msgstr "No" - -#: buttons.c:403 -msgid "OK" -msgstr "OK" - -#: buttons.c:411 -msgid "Cancel" -msgstr "Annulla" - -#: buttons.c:419 -msgid "EXIT" -msgstr "Esci" - -#: buttons.c:427 -msgid "Extra" -msgstr "Extra" - -#: buttons.c:435 -msgid "Help" -msgstr "Aiuto" - -#. Headline "Month" -#: calendar.c:298 -msgid "Month" -msgstr "Mese" - -#. Headline "Year" -#: calendar.c:318 -msgid "Year" -msgstr "Anno" - -#: dialog.c:756 -msgid "Rename" -msgstr "Rinomina" - -#: fselect.c:571 -msgid "Directories" -msgstr "Cartelle" - -#: fselect.c:572 -msgid "Files" -msgstr "File" - -#: mixedgauge.c:58 -msgid "Succeeded" -msgstr "Riuscito" - -#: mixedgauge.c:61 -msgid "Failed" -msgstr "Fallito" - -#: mixedgauge.c:64 -msgid "Passed" -msgstr "Superato" - -#: mixedgauge.c:67 -msgid "Completed" -msgstr "Completato" - -#: mixedgauge.c:70 -msgid "Checked" -msgstr "Controllato" - -#: mixedgauge.c:73 -msgid "Done" -msgstr "Fatto" - -#: mixedgauge.c:76 -msgid "Skipped" -msgstr "Saltato" - -#: mixedgauge.c:79 -msgid "In Progress" -msgstr "In corso" - -#: mixedgauge.c:85 -msgid "N/A" -msgstr "N/A" - -#: mixedgauge.c:193 -msgid "Overall Progress" -msgstr "Progresso complessivo" - -#: textbox.c:468 -msgid "Search" -msgstr "Ricerca" diff --git a/contrib/dialog/po/ja.po b/contrib/dialog/po/ja.po deleted file mode 100644 index a69174addaec..000000000000 --- a/contrib/dialog/po/ja.po +++ /dev/null @@ -1,112 +0,0 @@ -# dialog Japanese po file. -# Copyright 2000, Thomas Dickey -# This file is distributed under the same license as the dialog package. -# Hirofumi Takeda <takepin@turbolinux.co.jp>, 2000. -# Takeshi Hamasaki <hmatrjp@users.sourceforge.jp>, 2008. -# -msgid "" -msgstr "" -"Project-Id-Version: dialog 1.1.20070704\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-01-16 17:57-0500\n" -"PO-Revision-Date: 2008-07-24 00:12+0900\n" -"Last-Translator: Takeshi Hamasaki <hmatrjp@users.sourceforge.jp>\n" -"Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n" -"Language: ja\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#: buttons.c:387 -msgid "Yes" -msgstr "ã¯ã„" - -#: buttons.c:395 -msgid "No" -msgstr "ã„ã„ãˆ" - -#: buttons.c:403 -msgid "OK" -msgstr "了解" - -#: buttons.c:411 -msgid "Cancel" -msgstr "å–æ¶ˆ" - -#: buttons.c:419 -msgid "EXIT" -msgstr "終了" - -#: buttons.c:427 -msgid "Extra" -msgstr "æ‹¡å¼µ" - -#: buttons.c:435 -msgid "Help" -msgstr "ヘルプ" - -#. Headline "Month" -#: calendar.c:298 -msgid "Month" -msgstr "月" - -#. Headline "Year" -#: calendar.c:318 -msgid "Year" -msgstr "å¹´" - -#: dialog.c:756 -msgid "Rename" -msgstr "åå‰å¤‰æ›´" - -#: fselect.c:571 -msgid "Directories" -msgstr "ディレクトリ" - -#: fselect.c:572 -msgid "Files" -msgstr "ファイル" - -#: mixedgauge.c:58 -msgid "Succeeded" -msgstr "æˆåŠŸ" - -#: mixedgauge.c:61 -msgid "Failed" -msgstr "失敗" - -#: mixedgauge.c:64 -msgid "Passed" -msgstr "パス" - -#: mixedgauge.c:67 -msgid "Completed" -msgstr "完了" - -#: mixedgauge.c:70 -msgid "Checked" -msgstr "確èªçµ‚了" - -#: mixedgauge.c:73 -msgid "Done" -msgstr "終了" - -#: mixedgauge.c:76 -msgid "Skipped" -msgstr "スキップ" - -#: mixedgauge.c:79 -msgid "In Progress" -msgstr "処ç†ä¸­" - -#: mixedgauge.c:85 -msgid "N/A" -msgstr "無効" - -#: mixedgauge.c:193 -msgid "Overall Progress" -msgstr "全体ã®é€²è¡Œçжæ³" - -#: textbox.c:468 -msgid "Search" -msgstr "調査" diff --git a/contrib/dialog/po/ku.po b/contrib/dialog/po/ku.po deleted file mode 100644 index e8352e1da3b1..000000000000 --- a/contrib/dialog/po/ku.po +++ /dev/null @@ -1,113 +0,0 @@ -# Dialog -# Copyright 2003-2006,2007 # Thomas Dickey -# This file is distributed under the same license as the dialog package. -# -# Erdal Ronahi <erdal.ronahi@gmail.com>, 2008. -msgid "" -msgstr "" -"Project-Id-Version: dialog 1.1.20070704\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-01-16 17:57-0500\n" -"PO-Revision-Date: 2008-04-25 16:51+0200\n" -"Last-Translator: Erdal Ronahi <erdal.ronahi@gmail.com>\n" -"Language-Team: Kurdish <translation-team-ku@ferheng.org>\n" -"Language: ku\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: KAider 0.1\n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" - -#: buttons.c:387 -msgid "Yes" -msgstr "Erê" - -#: buttons.c:395 -msgid "No" -msgstr "Na" - -#: buttons.c:403 -msgid "OK" -msgstr "TEMAM" - -#: buttons.c:411 -msgid "Cancel" -msgstr "Betal" - -#: buttons.c:419 -msgid "EXIT" -msgstr "DERKETIN" - -#: buttons.c:427 -msgid "Extra" -msgstr "Ekstra" - -#: buttons.c:435 -msgid "Help" -msgstr "Alîkarî" - -#. Headline "Month" -#: calendar.c:298 -msgid "Month" -msgstr "Meh" - -#. Headline "Year" -#: calendar.c:318 -msgid "Year" -msgstr "Sal" - -#: dialog.c:756 -msgid "Rename" -msgstr "Nav guherandin" - -#: fselect.c:571 -msgid "Directories" -msgstr "Peldank" - -#: fselect.c:572 -msgid "Files" -msgstr "Pel" - -#: mixedgauge.c:58 -msgid "Succeeded" -msgstr "Biserket" - -#: mixedgauge.c:61 -msgid "Failed" -msgstr "Biserneket" - -#: mixedgauge.c:64 -msgid "Passed" -msgstr "Derbas bû" - -#: mixedgauge.c:67 -msgid "Completed" -msgstr "Temamkirî" - -#: mixedgauge.c:70 -msgid "Checked" -msgstr "Kontrolkirî" - -#: mixedgauge.c:73 -msgid "Done" -msgstr "Xelas" - -#: mixedgauge.c:76 -msgid "Skipped" -msgstr "Derbaskirî" - -#: mixedgauge.c:79 -msgid "In Progress" -msgstr "Didome" - -#: mixedgauge.c:85 -msgid "N/A" -msgstr "Tune" - -#: mixedgauge.c:193 -msgid "Overall Progress" -msgstr "Pêşketina GiÅŸtî" - -#: textbox.c:468 -msgid "Search" -msgstr "Lêgerîn" diff --git a/contrib/dialog/po/lt.po b/contrib/dialog/po/lt.po deleted file mode 100644 index c98299a6ca74..000000000000 --- a/contrib/dialog/po/lt.po +++ /dev/null @@ -1,112 +0,0 @@ -# translation of dialog to Lithuanian -# This file is distributed under the same license as the dialog package. -# Gintautas Miliauskas <gintas@akl.lt>, 2008. -# Rimas Kudelis <rq@akl.lt>, 2013. -msgid "" -msgstr "" -"Project-Id-Version: dialog-1.1.20080819\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-06-18 18:26-0400\n" -"PO-Revision-Date: 2013-06-28 18:38+0300\n" -"Last-Translator: Rimas Kudelis <rq@akl.lt>\n" -"Language-Team: Lithuanian <komp_lt@konferencijos.lt>\n" -"Language: lt\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -"X-Generator: Virtaal 0.7.1\n" - -#: buttons.c:385 -msgid "Yes" -msgstr "Taip" - -#: buttons.c:393 -msgid "No" -msgstr "Ne" - -#: buttons.c:401 -msgid "OK" -msgstr "Gerai" - -#: buttons.c:409 -msgid "Cancel" -msgstr "Atsisakyti" - -#: buttons.c:417 -msgid "EXIT" -msgstr "IÅ EITI" - -#: buttons.c:425 -msgid "Extra" -msgstr "Kita" - -#: buttons.c:433 -msgid "Help" -msgstr "Žinynas" - -#. Headline "Month" -#: calendar.c:273 -msgid "Month" -msgstr "MÄ—nuo" - -#. Headline "Year" -#: calendar.c:293 -msgid "Year" -msgstr "Metai" - -#: dialog.c:741 -msgid "Rename" -msgstr "Pervadinti" - -#: fselect.c:550 -msgid "Directories" -msgstr "Aplankai" - -#: fselect.c:551 -msgid "Files" -msgstr "Failai" - -#: mixedgauge.c:58 -msgid "Succeeded" -msgstr "Pavyko" - -#: mixedgauge.c:61 -msgid "Failed" -msgstr "Nepavyko" - -#: mixedgauge.c:64 -msgid "Passed" -msgstr "PraÄ—jo" - -#: mixedgauge.c:67 -msgid "Completed" -msgstr "Užbaigta" - -#: mixedgauge.c:70 -msgid "Checked" -msgstr "Patikrinta" - -#: mixedgauge.c:73 -msgid "Done" -msgstr "Atlikta" - -#: mixedgauge.c:76 -msgid "Skipped" -msgstr "Praleista" - -#: mixedgauge.c:79 -msgid "In Progress" -msgstr "Vykdoma" - -#: mixedgauge.c:85 -msgid "N/A" -msgstr "Nepasiekiama" - -#: mixedgauge.c:193 -msgid "Overall Progress" -msgstr "Bendras progresas" - -#: textbox.c:489 -msgid "Search" -msgstr "IeÅ¡koti" diff --git a/contrib/dialog/po/lv.po b/contrib/dialog/po/lv.po deleted file mode 100644 index 83be9decdc4d..000000000000 --- a/contrib/dialog/po/lv.po +++ /dev/null @@ -1,115 +0,0 @@ -# Dialog -# Copyright 2003-2007,2008 # Thomas Dickey -# -# This file is distributed under the same license as the dialog package. -# -# Rihards Prieditis <RPrieditis@inbox.lv>, 2009. -# RÅ«dolfs Mazurs <rudolfs.mazurs@gmail.com>, 2014. -msgid "" -msgstr "" -"Project-Id-Version: dialog 1.1.20080819\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-06-18 18:26-0400\n" -"PO-Revision-Date: 2014-04-20 14:12+0300\n" -"Last-Translator: Rihards Prieditis <rprieditis@gmail.com>\n" -"Language-Team: Latvian <translation-team-lv@lists.sourceforge.net>\n" -"Language: lv\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: Lokalize 1.5\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);\n" - -#: buttons.c:385 -msgid "Yes" -msgstr "JÄ" - -#: buttons.c:393 -msgid "No" -msgstr "NÄ“" - -#: buttons.c:401 -msgid "OK" -msgstr "Labi" - -#: buttons.c:409 -msgid "Cancel" -msgstr "Atcelt" - -#: buttons.c:417 -msgid "EXIT" -msgstr "IZIET" - -#: buttons.c:425 -msgid "Extra" -msgstr "Papildus" - -#: buttons.c:433 -msgid "Help" -msgstr "PalÄ«dzÄ«ba" - -#. Headline "Month" -#: calendar.c:273 -msgid "Month" -msgstr "MÄ“nesis" - -#. Headline "Year" -#: calendar.c:293 -msgid "Year" -msgstr "Gads" - -#: dialog.c:741 -msgid "Rename" -msgstr "PÄrdÄ“vÄ“t" - -#: fselect.c:550 -msgid "Directories" -msgstr "Direktorijas" - -#: fselect.c:551 -msgid "Files" -msgstr "Datnes" - -#: mixedgauge.c:58 -msgid "Succeeded" -msgstr "Izdevies" - -#: mixedgauge.c:61 -msgid "Failed" -msgstr "Neizdevies" - -#: mixedgauge.c:64 -msgid "Passed" -msgstr "Iziets" - -#: mixedgauge.c:67 -msgid "Completed" -msgstr "Pabeigts" - -#: mixedgauge.c:70 -msgid "Checked" -msgstr "PÄrbaudÄ«ts" - -#: mixedgauge.c:73 -msgid "Done" -msgstr "Pabeigts" - -#: mixedgauge.c:76 -msgid "Skipped" -msgstr "Izlaists" - -#: mixedgauge.c:79 -msgid "In Progress" -msgstr "Tiek apstrÄdÄts" - -#: mixedgauge.c:85 -msgid "N/A" -msgstr "n/z" - -#: mixedgauge.c:193 -msgid "Overall Progress" -msgstr "VispÄrÄ“jais progress" - -#: textbox.c:489 -msgid "Search" -msgstr "MeklÄ“t" diff --git a/contrib/dialog/po/makefile.inn b/contrib/dialog/po/makefile.inn deleted file mode 100644 index c246198c7297..000000000000 --- a/contrib/dialog/po/makefile.inn +++ /dev/null @@ -1,249 +0,0 @@ -# Makefile for program source directory in GNU NLS utilities package. -# Copyright (C) 1995, 1996, 1997 by Ulrich Drepper <drepper@gnu.ai.mit.edu> -# -# This file may be copied and used freely without restrictions. It can -# be used in projects which are not available under the GNU Public License -# but which still want to provide support for the GNU gettext functionality. -# Please note that the actual code is *not* freely available. - -PACKAGE = @PACKAGE@ -VERSION = @VERSION@ -NLS_TEXTDOMAIN = @NLS_TEXTDOMAIN@ - -SHELL = /bin/sh -@SET_MAKE@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ - -prefix = @prefix@ -exec_prefix = @exec_prefix@ -datadir = $(prefix)/@DATADIRNAME@ -localedir = $(datadir)/locale -gnulocaledir = $(prefix)/share/locale -gettextsrcdir = $(prefix)/share/gettext/po -subdir = po - -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -DESTDIR = @DESTDIR@ - -CC = @CC@ -GENCAT = @GENCAT@ -GMSGFMT = PATH=../src:$$PATH @GMSGFMT@ -MSGFMT = @MSGFMT@ -XGETTEXT = PATH=../src:$$PATH @XGETTEXT@ -MSGMERGE = PATH=../src:$$PATH msgmerge - -DEFS = @DEFS@ -CFLAGS = @CFLAGS@ -CPPFLAGS = @CPPFLAGS@ - -INCLUDES = -I.. -I$(top_srcdir)/intl - -COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS) - -SOURCES = @INTLDIR_MAKE@ cat-id-tbl.c -POFILES = @POFILES@ -GMOFILES = @GMOFILES@ -DISTFILES = ChangeLog makefile.inn POTFILES.in $(PACKAGE).pot \ -stamp-cat-id $(POFILES) $(GMOFILES) $(SOURCES) - -POTFILES = \ - -CATALOGS = @CATALOGS@ -CATOBJEXT = @CATOBJEXT@ -INSTOBJEXT = @INSTOBJEXT@ - -.SUFFIXES: -.SUFFIXES: .c .o .po .pox .gmo .mo .msg .cat - -.c.o: - $(COMPILE) $< - -.po.pox: - $(MAKE) $(PACKAGE).pot - $(MSGMERGE) $< $(srcdir)/$(PACKAGE).pot -o $*.pox - -.po.mo: - $(MSGFMT) -o $@ $< - -.po.gmo: - file=$(srcdir)/`echo $* | sed 's,.*/,,'`.gmo \ - && rm -f $$file && $(GMSGFMT) -o $$file $< - -.po.cat: - sed -f ../intl/po2msg.sed < $< > $*.msg \ - && rm -f $@ && $(GENCAT) $@ $*.msg - - -all: all-@USE_NLS@ - -all-yes: $(SOURCES) $(CATALOGS) -all-no: - -$(srcdir)/$(PACKAGE).pot: $(POTFILES) - $(XGETTEXT) --default-domain=$(NLS_TEXTDOMAIN) --directory=$(top_srcdir) \ - --add-comments --keyword=_ --keyword=N_ \ - --files-from=$(srcdir)/POTFILES.in \ - && test ! -f $(PACKAGE).po \ - || ( rm -f $(srcdir)/$(PACKAGE).pot \ - && mv $(PACKAGE).po $(srcdir)/$(PACKAGE).pot ) - -$(srcdir)/cat-id-tbl.c: stamp-cat-id; @: -$(srcdir)/stamp-cat-id: $(PACKAGE).pot - rm -f cat-id-tbl.tmp - sed -f ../intl/po2tbl.sed $(srcdir)/$(PACKAGE).pot \ - | sed -e "s/@PACKAGE NAME@/$(PACKAGE)/" > cat-id-tbl.tmp - if cmp -s cat-id-tbl.tmp $(srcdir)/cat-id-tbl.c; then \ - rm cat-id-tbl.tmp; \ - else \ - echo cat-id-tbl.c changed; \ - rm -f $(srcdir)/cat-id-tbl.c; \ - mv cat-id-tbl.tmp $(srcdir)/cat-id-tbl.c; \ - fi - cd $(srcdir) && rm -f stamp-cat-id && echo timestamp > stamp-cat-id - - -install install-full: install-exec install-data -install-exec: -install-data: install-data-@USE_NLS@ -install-data-no: all -install-data-yes: all - @mkdir -p $(DESTDIR)$(datadir); \ - catalogs='$(CATALOGS)'; \ - for cat in $$catalogs; do \ - cat=`basename $$cat`; \ - case "$$cat" in \ - *.gmo) destdir=$(gnulocaledir);; \ - *) destdir=$(localedir);; \ - esac; \ - lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \ - dir=$(DESTDIR)$$destdir/$$lang/LC_MESSAGES; \ - mkdir -p $$dir; \ - if test -r $$cat; then \ - $(INSTALL_DATA) $$cat $$dir/$(NLS_TEXTDOMAIN)$(INSTOBJEXT); \ - echo "installing $$cat as $$dir/$(NLS_TEXTDOMAIN)$(INSTOBJEXT)"; \ - else \ - $(INSTALL_DATA) $(srcdir)/$$cat $$dir/$(NLS_TEXTDOMAIN)$(INSTOBJEXT); \ - echo "installing $(srcdir)/$$cat as" \ - "$$dir/$(NLS_TEXTDOMAIN)$(INSTOBJEXT)"; \ - fi; \ - if test -r $$cat.m; then \ - $(INSTALL_DATA) $$cat.m $$dir/$(NLS_TEXTDOMAIN)$(INSTOBJEXT).m; \ - echo "installing $$cat.m as $$dir/$(NLS_TEXTDOMAIN)$(INSTOBJEXT).m"; \ - else \ - if test -r $(srcdir)/$$cat.m ; then \ - $(INSTALL_DATA) $(srcdir)/$$cat.m \ - $$dir/$(NLS_TEXTDOMAIN)$(INSTOBJEXT).m; \ - echo "installing $(srcdir)/$$cat as" \ - "$$dir/$(NLS_TEXTDOMAIN)$(INSTOBJEXT).m"; \ - else \ - true; \ - fi; \ - fi; \ - done - if test "$(NLS_TEXTDOMAIN)" = "gettext"; then \ - mkdir -p $(DESTDIR)$(gettextsrcdir); \ - $(INSTALL_DATA) $(srcdir)/makefile.inn \ - $(DESTDIR)$(gettextsrcdir)/makefile.inn; \ - else \ - : ; \ - fi - -# Define this as empty until I find a useful application. -installcheck: - -uninstall: - catalogs='$(CATALOGS)'; \ - for cat in $$catalogs; do \ - cat=`basename $$cat`; \ - lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \ - rm -f $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(NLS_TEXTDOMAIN)$(INSTOBJEXT); \ - rm -f $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(NLS_TEXTDOMAIN)$(INSTOBJEXT).m; \ - rm -f $(DESTDIR)$(gnulocaledir)/$$lang/LC_MESSAGES/$(NLS_TEXTDOMAIN)$(INSTOBJEXT); \ - rm -f $(DESTDIR)$(gnulocaledir)/$$lang/LC_MESSAGES/$(NLS_TEXTDOMAIN)$(INSTOBJEXT).m; \ - done - rm -f $(gettextsrcdir)/po-makefile.inn - -check: all - -cat-id-tbl.o: ../intl/libgettext.h - -dvi info tags TAGS ID: - -mostlyclean: - rm -f core core.* *.pox $(PACKAGE).po *.old.po cat-id-tbl.tmp - rm -fr *.o - -clean: mostlyclean - -distclean: clean - rm -f cat-id-tbl.c stamp-cat-id *.gmo - rm -f makefile makefile.in POTFILES *.mo *.msg *.cat *.cat.m - -maintainer-clean: distclean - @echo "This command is intended for maintainers to use;" - @echo "it deletes files that may require special tools to rebuild." - rm -f $(GMOFILES) - -distdir = ../$(PACKAGE)-$(VERSION)/$(subdir) -dist distdir: update-po $(DISTFILES) - dists="$(DISTFILES)"; \ - for file in $$dists; do \ - ln $(srcdir)/$$file $(distdir) 2> /dev/null \ - || cp -p $(srcdir)/$$file $(distdir); \ - done - -# GNU msgfmt -C option can also check for X/Open compat. -check-po: - cd $(srcdir); \ - catalogs='$(CATALOGS)'; \ - for cat in $$catalogs; do \ - cat=`basename $$cat`; \ - lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \ - echo "$$lang:"; \ - $(MSGFMT) -f -c -v $$lang.po; \ - done - -update-po: makefile - $(MAKE) $(PACKAGE).pot - PATH=`pwd`/../src:$$PATH; \ - cd $(srcdir); \ - catalogs='$(CATALOGS)'; \ - for cat in $$catalogs; do \ - cat=`basename $$cat`; \ - lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \ - mv $$lang.po $$lang.old.po; \ - echo "$$lang:"; \ - if $(MSGMERGE) -w 132 $$lang.old.po $(PACKAGE).pot -o $$lang.po; then \ - rm -f $$lang.old.po; \ - else \ - echo "msgmerge for $$cat failed!"; \ - rm -f $$lang.po; \ - mv $$lang.old.po $$lang.po; \ - fi; \ - done - -POTFILES: POTFILES.in - ( if test 'x$(srcdir)' != 'x.'; then \ - posrcprefix='$(top_srcdir)/'; \ - else \ - posrcprefix="../"; \ - fi; \ - rm -f $@-t $@ \ - && (sed -e '/^#/d' -e '/^[ ]*$$/d' \ - -e "s@.*@ $$posrcprefix& \\\\@" < $(srcdir)/$@.in \ - | sed -e '$$s/\\$$//') > $@-t \ - && chmod a-w $@-t \ - && mv $@-t $@ ) - -makefile: makefile.inn ../config.status POTFILES - cd .. \ - && CONFIG_FILES=$(subdir)/$@.in:$(subdir)/$@.inn CONFIG_HEADERS= \ - $(SHELL) ./config.status - -# Tell versions [3.59,3.63) of GNU make not to export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/contrib/dialog/po/mg.po b/contrib/dialog/po/mg.po deleted file mode 100644 index 558754a4421a..000000000000 --- a/contrib/dialog/po/mg.po +++ /dev/null @@ -1,110 +0,0 @@ -# Malagasy translation of Dialog. -# This file is distributed under the same license as the dialog package. -# Copyright (C) 2005 Thomas Dickey. -# -msgid "" -msgstr "" -"Project-Id-Version: Dialog 1.0-20050116\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-06-18 18:26-0400\n" -"PO-Revision-Date: 2004-11-21 17:33+0100\n" -"Last-Translator: Jaonary Rabarisoa <jaonary@ifrance.fr>\n" -"Language-Team: <en@li.org>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: KBabel 1.9.1\n" - -#: buttons.c:385 -msgid "Yes" -msgstr "Eny" - -#: buttons.c:393 -msgid "No" -msgstr "Tsia" - -#: buttons.c:401 -msgid "OK" -msgstr "Ekena" - -#: buttons.c:409 -msgid "Cancel" -msgstr "Ajanony" - -#: buttons.c:417 -msgid "EXIT" -msgstr "" - -#: buttons.c:425 -msgid "Extra" -msgstr "" - -#: buttons.c:433 -msgid "Help" -msgstr "" - -#. Headline "Month" -#: calendar.c:273 -msgid "Month" -msgstr "" - -#. Headline "Year" -#: calendar.c:293 -msgid "Year" -msgstr "" - -#: dialog.c:741 -msgid "Rename" -msgstr "" - -#: fselect.c:550 -msgid "Directories" -msgstr "" - -#: fselect.c:551 -msgid "Files" -msgstr "" - -#: mixedgauge.c:58 -msgid "Succeeded" -msgstr "" - -#: mixedgauge.c:61 -msgid "Failed" -msgstr "" - -#: mixedgauge.c:64 -msgid "Passed" -msgstr "" - -#: mixedgauge.c:67 -msgid "Completed" -msgstr "" - -#: mixedgauge.c:70 -msgid "Checked" -msgstr "" - -#: mixedgauge.c:73 -msgid "Done" -msgstr "" - -#: mixedgauge.c:76 -msgid "Skipped" -msgstr "" - -#: mixedgauge.c:79 -msgid "In Progress" -msgstr "" - -#: mixedgauge.c:85 -msgid "N/A" -msgstr "" - -#: mixedgauge.c:193 -msgid "Overall Progress" -msgstr "" - -#: textbox.c:489 -msgid "Search" -msgstr "" diff --git a/contrib/dialog/po/mk.po b/contrib/dialog/po/mk.po deleted file mode 100644 index 898e76e282d0..000000000000 --- a/contrib/dialog/po/mk.po +++ /dev/null @@ -1,111 +0,0 @@ -# Macedonian translation of Dialog. -# This file is distributed under the same license as the dialog package. -# Copyright (C) 2005 Thomas Dickey. -# Georgi Stanojevski <glisha@gmail.com>, 2004. -# -msgid "" -msgstr "" -"Project-Id-Version: Dialog 1.0-20050116\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-06-18 18:26-0400\n" -"PO-Revision-Date: 2004-10-10 00:18+0200\n" -"Last-Translator: Georgi Stanojevski <glisha@gmail.com>\n" -"Language-Team: <ossm-members@hedona.on.net.mk>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: KBabel 1.3.1\n" - -#: buttons.c:385 -msgid "Yes" -msgstr "Да" - -#: buttons.c:393 -msgid "No" -msgstr "Ðе" - -#: buttons.c:401 -msgid "OK" -msgstr "Во ред" - -#: buttons.c:409 -msgid "Cancel" -msgstr "Откажи" - -#: buttons.c:417 -msgid "EXIT" -msgstr "" - -#: buttons.c:425 -msgid "Extra" -msgstr "" - -#: buttons.c:433 -msgid "Help" -msgstr "" - -#. Headline "Month" -#: calendar.c:273 -msgid "Month" -msgstr "" - -#. Headline "Year" -#: calendar.c:293 -msgid "Year" -msgstr "" - -#: dialog.c:741 -msgid "Rename" -msgstr "" - -#: fselect.c:550 -msgid "Directories" -msgstr "" - -#: fselect.c:551 -msgid "Files" -msgstr "" - -#: mixedgauge.c:58 -msgid "Succeeded" -msgstr "" - -#: mixedgauge.c:61 -msgid "Failed" -msgstr "" - -#: mixedgauge.c:64 -msgid "Passed" -msgstr "" - -#: mixedgauge.c:67 -msgid "Completed" -msgstr "" - -#: mixedgauge.c:70 -msgid "Checked" -msgstr "" - -#: mixedgauge.c:73 -msgid "Done" -msgstr "" - -#: mixedgauge.c:76 -msgid "Skipped" -msgstr "" - -#: mixedgauge.c:79 -msgid "In Progress" -msgstr "" - -#: mixedgauge.c:85 -msgid "N/A" -msgstr "" - -#: mixedgauge.c:193 -msgid "Overall Progress" -msgstr "" - -#: textbox.c:489 -msgid "Search" -msgstr "" diff --git a/contrib/dialog/po/ms.po b/contrib/dialog/po/ms.po deleted file mode 100644 index 6f3ee01530b9..000000000000 --- a/contrib/dialog/po/ms.po +++ /dev/null @@ -1,110 +0,0 @@ -# Dialog Bahasa Melayu (Malay) (ms) -# Copyright 2003,2004 # Thomas Dickey -# Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>, 2005, 2006, 2007 -# -msgid "" -msgstr "" -"Project-Id-Version: dialog 1.1.20070704\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-01-16 17:57-0500\n" -"PO-Revision-Date: 2007-08-14 01:22+0800\n" -"Last-Translator: Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>\n" -"Language-Team: Malay <translation-team-ms@lists.sourceforge.net>\n" -"Language: ms\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#: buttons.c:387 -msgid "Yes" -msgstr "Ya" - -#: buttons.c:395 -msgid "No" -msgstr "Tidak" - -#: buttons.c:403 -msgid "OK" -msgstr "OK" - -#: buttons.c:411 -msgid "Cancel" -msgstr "Batal" - -#: buttons.c:419 -msgid "EXIT" -msgstr "KELUAR" - -#: buttons.c:427 -msgid "Extra" -msgstr "Ekstra" - -#: buttons.c:435 -msgid "Help" -msgstr "Bantuan" - -#. Headline "Month" -#: calendar.c:298 -msgid "Month" -msgstr "Bulan" - -#. Headline "Year" -#: calendar.c:318 -msgid "Year" -msgstr "Tahun" - -#: dialog.c:756 -msgid "Rename" -msgstr "Tukar nama" - -#: fselect.c:571 -msgid "Directories" -msgstr "Direktori" - -#: fselect.c:572 -msgid "Files" -msgstr "Fail" - -#: mixedgauge.c:58 -msgid "Succeeded" -msgstr "Berjaya" - -#: mixedgauge.c:61 -msgid "Failed" -msgstr "Gagal" - -#: mixedgauge.c:64 -msgid "Passed" -msgstr "Lulus" - -#: mixedgauge.c:67 -msgid "Completed" -msgstr "Selesai" - -#: mixedgauge.c:70 -msgid "Checked" -msgstr "Diperiksa" - -#: mixedgauge.c:73 -msgid "Done" -msgstr "Selesai" - -#: mixedgauge.c:76 -msgid "Skipped" -msgstr "Dilangkau" - -#: mixedgauge.c:79 -msgid "In Progress" -msgstr "Sedang Dilaksanakan" - -#: mixedgauge.c:85 -msgid "N/A" -msgstr "Tiada" - -#: mixedgauge.c:193 -msgid "Overall Progress" -msgstr "Kemajuan Keseluruhan" - -#: textbox.c:468 -msgid "Search" -msgstr "Cari" diff --git a/contrib/dialog/po/nb.po b/contrib/dialog/po/nb.po deleted file mode 100644 index 2781d9992f0f..000000000000 --- a/contrib/dialog/po/nb.po +++ /dev/null @@ -1,108 +0,0 @@ -# Dialog -# Copyright 2003-2006,2007 # Thomas Dickey -# Roy Hvaara <roy.hvaara@gmail.com>, 2008. -msgid "" -msgstr "" -"Project-Id-Version: dialog 1.1.20070704\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-06-18 18:26-0400\n" -"PO-Revision-Date: 2008-03-24 14:00+0100\n" -"Last-Translator: Roy Hvaara <roy.hvaara@gmail.com>\n" -"Language-Team: Norwegian Bokmaal <i18n-nb@lister.ping.uio.no>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#: buttons.c:385 -msgid "Yes" -msgstr "Ja" - -#: buttons.c:393 -msgid "No" -msgstr "Nei" - -#: buttons.c:401 -msgid "OK" -msgstr "OK" - -#: buttons.c:409 -msgid "Cancel" -msgstr "Avbryt" - -#: buttons.c:417 -msgid "EXIT" -msgstr "AVSLUTT" - -#: buttons.c:425 -msgid "Extra" -msgstr "Ekstra" - -#: buttons.c:433 -msgid "Help" -msgstr "Hjelp" - -#. Headline "Month" -#: calendar.c:273 -msgid "Month" -msgstr "MÃ¥ned" - -#. Headline "Year" -#: calendar.c:293 -msgid "Year" -msgstr "Ã…r" - -#: dialog.c:741 -msgid "Rename" -msgstr "Endre navn" - -#: fselect.c:550 -msgid "Directories" -msgstr "Mapper" - -#: fselect.c:551 -msgid "Files" -msgstr "Filer" - -#: mixedgauge.c:58 -msgid "Succeeded" -msgstr "Vellykktes" - -#: mixedgauge.c:61 -msgid "Failed" -msgstr "Feilet" - -#: mixedgauge.c:64 -msgid "Passed" -msgstr "BestÃ¥tt" - -#: mixedgauge.c:67 -msgid "Completed" -msgstr "Fullført" - -#: mixedgauge.c:70 -msgid "Checked" -msgstr "Kontrollert" - -#: mixedgauge.c:73 -msgid "Done" -msgstr "Ferdig" - -#: mixedgauge.c:76 -msgid "Skipped" -msgstr "Ignorert" - -#: mixedgauge.c:79 -msgid "In Progress" -msgstr "I gang" - -#: mixedgauge.c:85 -msgid "N/A" -msgstr "-" - -#: mixedgauge.c:193 -msgid "Overall Progress" -msgstr "Total fremdrift" - -#: textbox.c:489 -msgid "Search" -msgstr "Søk" diff --git a/contrib/dialog/po/nl.po b/contrib/dialog/po/nl.po deleted file mode 100644 index b686d5c55fd3..000000000000 --- a/contrib/dialog/po/nl.po +++ /dev/null @@ -1,113 +0,0 @@ -# Translation of dialog-1.1.20070704 to Dutch. -# Copyright 2003-2006,2007 # Thomas Dickey -# -# Jacques Weewer <j.weewer_at_chello.nl>, 2004. -# Luk Claes <luk.claes@ugent.be>, 2005. -# Benno Schulenberg <benno@vertaalt.nl>, 2007. -msgid "" -msgstr "" -"Project-Id-Version: dialog-1.1.20070704\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-01-16 17:57-0500\n" -"PO-Revision-Date: 2007-10-08 12:42+0200\n" -"Last-Translator: Benno Schulenberg <benno@vertaalt.nl>\n" -"Language-Team: Dutch <vertaling@vrijschrift.org>\n" -"Language: nl\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: KBabel 1.11.4\n" - -#: buttons.c:387 -msgid "Yes" -msgstr "Ja" - -#: buttons.c:395 -msgid "No" -msgstr "Nee" - -#: buttons.c:403 -msgid "OK" -msgstr "OK" - -#: buttons.c:411 -msgid "Cancel" -msgstr "Annuleren" - -#: buttons.c:419 -msgid "EXIT" -msgstr "Afsluiten" - -#: buttons.c:427 -msgid "Extra" -msgstr "Extra" - -#: buttons.c:435 -msgid "Help" -msgstr "Help" - -#. Headline "Month" -#: calendar.c:298 -msgid "Month" -msgstr "Maand" - -#. Headline "Year" -#: calendar.c:318 -msgid "Year" -msgstr "Jaar" - -#: dialog.c:756 -msgid "Rename" -msgstr "Hernoemen" - -#: fselect.c:571 -msgid "Directories" -msgstr "Mappen" - -#: fselect.c:572 -msgid "Files" -msgstr "Bestanden" - -#: mixedgauge.c:58 -msgid "Succeeded" -msgstr "Gelukt" - -#: mixedgauge.c:61 -msgid "Failed" -msgstr "Mislukt" - -#: mixedgauge.c:64 -msgid "Passed" -msgstr "Geslaagd" - -#: mixedgauge.c:67 -msgid "Completed" -msgstr "Voltooid" - -#: mixedgauge.c:70 -msgid "Checked" -msgstr "Gecontroleerd" - -#: mixedgauge.c:73 -msgid "Done" -msgstr "Klaar" - -#: mixedgauge.c:76 -msgid "Skipped" -msgstr "Overgeslagen" - -#: mixedgauge.c:79 -msgid "In Progress" -msgstr "Bezig" - -#: mixedgauge.c:85 -msgid "N/A" -msgstr "Onbeschikbaar" - -#: mixedgauge.c:193 -msgid "Overall Progress" -msgstr "Voortgang" - -#: textbox.c:468 -msgid "Search" -msgstr "Zoeken" diff --git a/contrib/dialog/po/pl.po b/contrib/dialog/po/pl.po deleted file mode 100644 index c4fdfc50fb3e..000000000000 --- a/contrib/dialog/po/pl.po +++ /dev/null @@ -1,113 +0,0 @@ -# translation of dialog.po to Polish -# This file is distributed under the same license as the dialog package. -# Jaroslaw Swierczynski <swiergot@intersec.pl>, 2003 -# MichaÅ‚ Trzebiatowski <hippie_1968@hotmail.com>, 2009 -# -msgid "" -msgstr "" -"Project-Id-Version: dialog 1.1.20080819\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-01-16 17:57-0500\n" -"PO-Revision-Date: 2009-03-11 10:32+0100\n" -"Last-Translator: MichaÅ‚ Trzebiatowski <hippie_1968@hotmail.com>\n" -"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n" -"Language: pl\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Poedit-Language: Polish\n" -"X-Poedit-Country: POLAND\n" - -#: buttons.c:387 -msgid "Yes" -msgstr "Tak" - -#: buttons.c:395 -msgid "No" -msgstr "Nie" - -#: buttons.c:403 -msgid "OK" -msgstr "OK" - -#: buttons.c:411 -msgid "Cancel" -msgstr "Anuluj" - -#: buttons.c:419 -msgid "EXIT" -msgstr "WYJDŹ" - -#: buttons.c:427 -msgid "Extra" -msgstr "Ekstra" - -#: buttons.c:435 -msgid "Help" -msgstr "Pomoc" - -#. Headline "Month" -#: calendar.c:298 -msgid "Month" -msgstr "MiesiÄ…c" - -#. Headline "Year" -#: calendar.c:318 -msgid "Year" -msgstr "Rok" - -#: dialog.c:756 -msgid "Rename" -msgstr "ZmieÅ„ nazwÄ™" - -#: fselect.c:571 -msgid "Directories" -msgstr "Katalogi" - -#: fselect.c:572 -msgid "Files" -msgstr "Pliki" - -#: mixedgauge.c:58 -msgid "Succeeded" -msgstr "Udane" - -#: mixedgauge.c:61 -msgid "Failed" -msgstr "Niepowodzone" - -#: mixedgauge.c:64 -msgid "Passed" -msgstr "PrzeszÅ‚e" - -#: mixedgauge.c:67 -msgid "Completed" -msgstr "ZakoÅ„czone" - -#: mixedgauge.c:70 -msgid "Checked" -msgstr "Sprawdzone" - -#: mixedgauge.c:73 -msgid "Done" -msgstr "Gotowe" - -#: mixedgauge.c:76 -msgid "Skipped" -msgstr "PominiÄ™te" - -#: mixedgauge.c:79 -msgid "In Progress" -msgstr "W toku" - -#: mixedgauge.c:85 -msgid "N/A" -msgstr "Brak" - -#: mixedgauge.c:193 -msgid "Overall Progress" -msgstr "Ogólny postÄ™p" - -#: textbox.c:468 -msgid "Search" -msgstr "Szukaj" diff --git a/contrib/dialog/po/pt.po b/contrib/dialog/po/pt.po deleted file mode 100644 index 8e599c0ff0cc..000000000000 --- a/contrib/dialog/po/pt.po +++ /dev/null @@ -1,114 +0,0 @@ -# Portuguese (Portugal) Translation for the dialog Package -# This file is distributed under the same license as the dialog package. -# Copyright 2003-2007,2008 Thomas Dickey -# This file is distributed under the same license as the dialog package. -# Pedro Albuquerque <palbuquerque73@gmail.com>, 2019. -# -msgid "" -msgstr "" -"Project-Id-Version: dialog 1.1.20080819\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-06-18 18:26-0400\n" -"PO-Revision-Date: 2019-09-25 07:33+0100\n" -"Last-Translator: Pedro Albuquerque <palbuquerque73@gmail.com>\n" -"Language-Team: Portuguese <translation-team-pt@lists.sourceforge.net>\n" -"Language: pt\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Bugs: Report translation errors to the Language-Team address.\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: buttons.c:385 -msgid "Yes" -msgstr "Sim" - -#: buttons.c:393 -msgid "No" -msgstr "Não" - -#: buttons.c:401 -msgid "OK" -msgstr "Aceitar" - -#: buttons.c:409 -msgid "Cancel" -msgstr "Cancelar" - -#: buttons.c:417 -msgid "EXIT" -msgstr "SAIR" - -#: buttons.c:425 -msgid "Extra" -msgstr "Extra" - -#: buttons.c:433 -msgid "Help" -msgstr "Ajuda" - -#. Headline "Month" -#: calendar.c:273 -msgid "Month" -msgstr "Mês" - -#. Headline "Year" -#: calendar.c:293 -msgid "Year" -msgstr "Ano" - -#: dialog.c:741 -msgid "Rename" -msgstr "Renomear" - -#: fselect.c:550 -msgid "Directories" -msgstr "Pastas" - -#: fselect.c:551 -msgid "Files" -msgstr "Ficheiros" - -#: mixedgauge.c:58 -msgid "Succeeded" -msgstr "Sucesso" - -#: mixedgauge.c:61 -msgid "Failed" -msgstr "Falha" - -#: mixedgauge.c:64 -msgid "Passed" -msgstr "Passou" - -#: mixedgauge.c:67 -msgid "Completed" -msgstr "Concluído" - -#: mixedgauge.c:70 -msgid "Checked" -msgstr "Verificado" - -#: mixedgauge.c:73 -msgid "Done" -msgstr "Feito" - -#: mixedgauge.c:76 -msgid "Skipped" -msgstr "Ignorado" - -#: mixedgauge.c:79 -msgid "In Progress" -msgstr "Em Curso" - -#: mixedgauge.c:85 -msgid "N/A" -msgstr "N/D" - -#: mixedgauge.c:193 -msgid "Overall Progress" -msgstr "Progresso geral" - -#: textbox.c:489 -msgid "Search" -msgstr "Procurar" diff --git a/contrib/dialog/po/pt_BR.po b/contrib/dialog/po/pt_BR.po deleted file mode 100644 index bff648d21610..000000000000 --- a/contrib/dialog/po/pt_BR.po +++ /dev/null @@ -1,113 +0,0 @@ -# Brazilian Portuguese translation of Dialog. -# Copyright (C) 2001 Thomas Dickey. -# This file is distributed under the same license as the dialog package. -# Frédéric L. W. Meunier <0@pervalidus.net>, 2001. -# Flamarion Jorge <flamarilinux@yahoo.com.br>, 2009. -# -# -msgid "" -msgstr "" -"Project-Id-Version: dialog 1.1.20080819\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-01-16 17:57-0500\n" -"PO-Revision-Date: 2009-01-06 23:48-0200\n" -"Last-Translator: Flamarion Jorge <flamarilinux@yahoo.com.br>\n" -"Language-Team: Brazilian Portuguese <ldp-br@bazar.conectiva.com.br>\n" -"Language: pt_BR\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#: buttons.c:387 -msgid "Yes" -msgstr "Sim" - -#: buttons.c:395 -msgid "No" -msgstr "Não" - -#: buttons.c:403 -msgid "OK" -msgstr "Aceitar" - -#: buttons.c:411 -msgid "Cancel" -msgstr "Cancelar" - -#: buttons.c:419 -msgid "EXIT" -msgstr "Sair" - -#: buttons.c:427 -msgid "Extra" -msgstr "Extra" - -#: buttons.c:435 -msgid "Help" -msgstr "Ajuda" - -#. Headline "Month" -#: calendar.c:298 -msgid "Month" -msgstr "Mês" - -#. Headline "Year" -#: calendar.c:318 -msgid "Year" -msgstr "Ano" - -#: dialog.c:756 -msgid "Rename" -msgstr "Renomear" - -#: fselect.c:571 -msgid "Directories" -msgstr "Diretórios" - -#: fselect.c:572 -msgid "Files" -msgstr "Arquivos" - -#: mixedgauge.c:58 -msgid "Succeeded" -msgstr "Sucesso" - -#: mixedgauge.c:61 -msgid "Failed" -msgstr "Falhou" - -#: mixedgauge.c:64 -msgid "Passed" -msgstr "Passou" - -#: mixedgauge.c:67 -msgid "Completed" -msgstr "Completo" - -#: mixedgauge.c:70 -msgid "Checked" -msgstr "Checado" - -#: mixedgauge.c:73 -msgid "Done" -msgstr "Feito" - -#: mixedgauge.c:76 -msgid "Skipped" -msgstr "Pulado" - -#: mixedgauge.c:79 -msgid "In Progress" -msgstr "Em Progresso" - -#: mixedgauge.c:85 -msgid "N/A" -msgstr "N/A" - -#: mixedgauge.c:193 -msgid "Overall Progress" -msgstr "Progresso Global" - -#: textbox.c:468 -msgid "Search" -msgstr "Pesquisa" diff --git a/contrib/dialog/po/rm.po b/contrib/dialog/po/rm.po deleted file mode 100644 index d4d81977e47b..000000000000 --- a/contrib/dialog/po/rm.po +++ /dev/null @@ -1,113 +0,0 @@ -# Rumantsch (Rhaeto-Romance) [rm] translation of Dialog. -# This file is distributed under the same license as the dialog package. -# Copyright (C) 2003-2004,2005 Thomas Dickey. -# Florian Verdet _goto <fvgoto@linuxbourg.ch>, 2005. -# -msgid "" -msgstr "" -"Project-Id-Version: dialog 1.0-rel20041222\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-06-18 18:26-0400\n" -"PO-Revision-Date: 2005-02-06 13:22+0100\n" -"Last-Translator: Florian Verdet _goto <fvgoto@linuxbourg.ch>\n" -"Language-Team: Rhaeto-Romance <gnu-rumantsch@guglielmtux.ch>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: KBabel 1.2\n" - -#: buttons.c:385 -msgid "Yes" -msgstr "Schi" - -#: buttons.c:393 -msgid "No" -msgstr "Na" - -#: buttons.c:401 -msgid "OK" -msgstr "OK" - -#: buttons.c:409 -msgid "Cancel" -msgstr "Laschar star" - -#: buttons.c:417 -msgid "EXIT" -msgstr "SORTIR" - -#: buttons.c:425 -msgid "Extra" -msgstr "Extra" - -#: buttons.c:433 -msgid "Help" -msgstr "Agüd" - -#. Headline "Month" -#: calendar.c:273 -msgid "Month" -msgstr "Mais" - -#. Headline "Year" -#: calendar.c:293 -msgid "Year" -msgstr "On" - -#: dialog.c:741 -msgid "Rename" -msgstr "Müdar nom" - -#: fselect.c:550 -#, fuzzy -msgid "Directories" -msgstr "Registers" - -#: fselect.c:551 -msgid "Files" -msgstr "Datotecas" - -#: mixedgauge.c:58 -msgid "Succeeded" -msgstr "" - -#: mixedgauge.c:61 -#, fuzzy -msgid "Failed" -msgstr "Datotecas" - -#: mixedgauge.c:64 -msgid "Passed" -msgstr "" - -#: mixedgauge.c:67 -msgid "Completed" -msgstr "" - -#: mixedgauge.c:70 -msgid "Checked" -msgstr "" - -#: mixedgauge.c:73 -msgid "Done" -msgstr "" - -#: mixedgauge.c:76 -msgid "Skipped" -msgstr "" - -#: mixedgauge.c:79 -msgid "In Progress" -msgstr "" - -#: mixedgauge.c:85 -msgid "N/A" -msgstr "" - -#: mixedgauge.c:193 -msgid "Overall Progress" -msgstr "" - -#: textbox.c:489 -msgid "Search" -msgstr "Tscherchar" diff --git a/contrib/dialog/po/ro.po b/contrib/dialog/po/ro.po deleted file mode 100644 index ba2250dc53df..000000000000 --- a/contrib/dialog/po/ro.po +++ /dev/null @@ -1,115 +0,0 @@ -# Translation of dialog messages in Romanian. -# Copyright (C) 2015 Free Software Foundation, Inc. -# This file is distributed under the same license as the dialog package. -# Laurentiu Buzdugan <lbuz@rolix.org>, 2005. -# Mihai Cristescu <mihai.cristescu@archlinux.info>, 2015. -# -# -msgid "" -msgstr "" -"Project-Id-Version: dialog 1.1.20080819\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-06-18 18:26-0400\n" -"PO-Revision-Date: 2015-03-13 19:50+0200\n" -"Last-Translator: Mihai Cristescu <mihai.cristescu@archlinux.info>\n" -"Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n" -"Language: ro\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" -"X-Generator: Poedit 1.7.4\n" - -#: buttons.c:385 -msgid "Yes" -msgstr "Da" - -#: buttons.c:393 -msgid "No" -msgstr "Nu" - -#: buttons.c:401 -msgid "OK" -msgstr "OK" - -#: buttons.c:409 -msgid "Cancel" -msgstr "Renunță" - -#: buttons.c:417 -msgid "EXIT" -msgstr "TERMINÄ‚" - -#: buttons.c:425 -msgid "Extra" -msgstr "Extra" - -#: buttons.c:433 -msgid "Help" -msgstr "Ajutor" - -#. Headline "Month" -#: calendar.c:273 -msgid "Month" -msgstr "Lună" - -#. Headline "Year" -#: calendar.c:293 -msgid "Year" -msgstr "An" - -#: dialog.c:741 -msgid "Rename" -msgstr "RedenumeÈ™te" - -#: fselect.c:550 -msgid "Directories" -msgstr "Directoare" - -#: fselect.c:551 -msgid "Files" -msgstr "FiÈ™iere" - -#: mixedgauge.c:58 -msgid "Succeeded" -msgstr "A reuÈ™it" - -#: mixedgauge.c:61 -msgid "Failed" -msgstr "A eÈ™uat" - -#: mixedgauge.c:64 -msgid "Passed" -msgstr "A trecut" - -#: mixedgauge.c:67 -msgid "Completed" -msgstr "Complet" - -#: mixedgauge.c:70 -msgid "Checked" -msgstr "Verificat" - -#: mixedgauge.c:73 -msgid "Done" -msgstr "Gata" - -#: mixedgauge.c:76 -msgid "Skipped" -msgstr "Omis" - -#: mixedgauge.c:79 -msgid "In Progress" -msgstr "ÃŽn curs" - -#: mixedgauge.c:85 -msgid "N/A" -msgstr "N/A" - -#: mixedgauge.c:193 -msgid "Overall Progress" -msgstr "Progres pe ansamblu" - -#: textbox.c:489 -msgid "Search" -msgstr "Căutare" diff --git a/contrib/dialog/po/ru.po b/contrib/dialog/po/ru.po deleted file mode 100644 index d78c6807dc27..000000000000 --- a/contrib/dialog/po/ru.po +++ /dev/null @@ -1,115 +0,0 @@ -# translation of dialog-1.1.20070704.ru.po to Russian -# Dialog -# Copyright 2003, # Thomas Dickey -# This file is distributed under the same license as the dialog package. -# -# Leonid Kanter <leon@asplinux.ru>, 2004. -# Yuri Kozlov <yuray@komyakino.ru>, 2009. -msgid "" -msgstr "" -"Project-Id-Version: dialog 1.1.20070704\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-01-16 17:57-0500\n" -"PO-Revision-Date: 2009-01-24 23:09+0300\n" -"Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n" -"Language-Team: Russian <gnu@mx.ru>\n" -"Language: ru\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: KBabel 1.11.4\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" - -#: buttons.c:387 -msgid "Yes" -msgstr "Да" - -#: buttons.c:395 -msgid "No" -msgstr "Ðет" - -#: buttons.c:403 -msgid "OK" -msgstr "OK" - -#: buttons.c:411 -msgid "Cancel" -msgstr "Отмена" - -#: buttons.c:419 -msgid "EXIT" -msgstr "Выход" - -#: buttons.c:427 -msgid "Extra" -msgstr "Дополнительно" - -#: buttons.c:435 -msgid "Help" -msgstr "Справка" - -#. Headline "Month" -#: calendar.c:298 -msgid "Month" -msgstr "МеÑÑц" - -#. Headline "Year" -#: calendar.c:318 -msgid "Year" -msgstr "Год" - -#: dialog.c:756 -msgid "Rename" -msgstr "Переименовать" - -#: fselect.c:571 -msgid "Directories" -msgstr "Каталоги" - -#: fselect.c:572 -msgid "Files" -msgstr "Файлы" - -#: mixedgauge.c:58 -msgid "Succeeded" -msgstr "УÑпешно" - -#: mixedgauge.c:61 -msgid "Failed" -msgstr "Ðеудачно" - -#: mixedgauge.c:64 -msgid "Passed" -msgstr "Пройдено" - -#: mixedgauge.c:67 -msgid "Completed" -msgstr "Завершено" - -#: mixedgauge.c:70 -msgid "Checked" -msgstr "Проверено" - -#: mixedgauge.c:73 -msgid "Done" -msgstr "Выполнено" - -#: mixedgauge.c:76 -msgid "Skipped" -msgstr "Пропущено" - -#: mixedgauge.c:79 -msgid "In Progress" -msgstr "ВыполнÑетÑÑ" - -#: mixedgauge.c:85 -msgid "N/A" -msgstr "Ð/Д" - -#: mixedgauge.c:193 -msgid "Overall Progress" -msgstr "Ð’Ñего выполнено" - -#: textbox.c:468 -msgid "Search" -msgstr "ПоиÑк" diff --git a/contrib/dialog/po/rw.po b/contrib/dialog/po/rw.po deleted file mode 100644 index 0aad78f1bea9..000000000000 --- a/contrib/dialog/po/rw.po +++ /dev/null @@ -1,126 +0,0 @@ -# translation of dialog to Kinyarwanda. -# Copyright (C) 2005 Free Software Foundation, Inc. -# This file is distributed under the same license as the dialog package. -# Steve Murphy <murf@e-tools.com>, 2005. -# Steve performed initial rough translation from compendium built from translations provided by the following translators: -# Philibert Ndandali <ndandali@yahoo.fr>, 2005. -# Viateur MUGENZI <muvia1@yahoo.fr>, 2005. -# Noëlla Mupole <s24211045@tuks.co.za>, 2005. -# Carole Karema <karemacarole@hotmail.com>, 2005. -# JEAN BAPTISTE NGENDAHAYO <ngenda_denis@yahoo.co.uk>, 2005. -# Augustin KIBERWA <akiberwa@yahoo.co.uk>, 2005. -# Donatien NSENGIYUMVA <ndonatienuk@yahoo.co.uk>, 2005. -# Antoine Bigirimana <antoine@e-tools.com>, 2005. -# -msgid "" -msgstr "" -"Project-Id-Version: dialog 1.0-rel20041222\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-06-18 18:26-0400\n" -"PO-Revision-Date: 2005-04-04 10:55-0700\n" -"Last-Translator: Steven Michael Murphy <murf@e-tools.com>\n" -"Language-Team: Kinyarwanda <translation-team-rw@lists.sourceforge.net>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#: buttons.c:385 -msgid "Yes" -msgstr "Yego" - -#: buttons.c:393 -msgid "No" -msgstr "Oya" - -#: buttons.c:401 -msgid "OK" -msgstr "OKE" - -#: buttons.c:409 -msgid "Cancel" -msgstr "Kureka" - -# #-#-#-#-# setup2.pot (PACKAGE VERSION) #-#-#-#-# -# setup2/source\ui\app.src:STR_RESTART_BTN_NO.text -# #-#-#-#-# setup2.pot (PACKAGE VERSION) #-#-#-#-# -# setup2/source\ui\pages\phavefun.src:RESID_PAGE_PAGEHAVEFUN.STR_LOGOUT_BTN_NO.text -#: buttons.c:417 -#, fuzzy -msgid "EXIT" -msgstr "Gusohoka" - -#: buttons.c:425 -#, fuzzy -msgid "Extra" -msgstr "Birenga" - -#: buttons.c:433 -msgid "Help" -msgstr "Gufasha" - -#. Headline "Month" -#: calendar.c:273 -msgid "Month" -msgstr "Ukwezi" - -#. Headline "Year" -#: calendar.c:293 -msgid "Year" -msgstr "Umwaka" - -#: dialog.c:741 -msgid "Rename" -msgstr "Guhindura izina" - -#: fselect.c:550 -msgid "Directories" -msgstr "ububiko bw'amaderese" - -#: fselect.c:551 -msgid "Files" -msgstr "amadosiye" - -#: mixedgauge.c:58 -msgid "Succeeded" -msgstr "" - -#: mixedgauge.c:61 -#, fuzzy -msgid "Failed" -msgstr "amadosiye" - -#: mixedgauge.c:64 -msgid "Passed" -msgstr "" - -#: mixedgauge.c:67 -msgid "Completed" -msgstr "" - -#: mixedgauge.c:70 -msgid "Checked" -msgstr "" - -#: mixedgauge.c:73 -msgid "Done" -msgstr "" - -#: mixedgauge.c:76 -msgid "Skipped" -msgstr "" - -#: mixedgauge.c:79 -msgid "In Progress" -msgstr "" - -#: mixedgauge.c:85 -msgid "N/A" -msgstr "" - -#: mixedgauge.c:193 -msgid "Overall Progress" -msgstr "" - -#: textbox.c:489 -msgid "Search" -msgstr "Gushaka" diff --git a/contrib/dialog/po/sk.po b/contrib/dialog/po/sk.po deleted file mode 100644 index e87991ca7232..000000000000 --- a/contrib/dialog/po/sk.po +++ /dev/null @@ -1,111 +0,0 @@ -# Dialog -# Copyright 2003-2007,2008 # Thomas Dickey -# This file is distributed under the same license as the dialog package. -# Marián ÄŒavojský <preklad@cavo.sk>, 2011 -# -msgid "" -msgstr "" -"Project-Id-Version: dialog 1.1.20080819\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-06-18 18:26-0400\n" -"PO-Revision-Date: 2011-03-09 09:50+0100\n" -"Last-Translator: Marián ÄŒavojský <preklad@cavo.sk>\n" -"Language-Team: Slovak <sk-i18n@lists.linux.sk>\n" -"Language: sk\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#: buttons.c:385 -msgid "Yes" -msgstr "Ãno" - -#: buttons.c:393 -msgid "No" -msgstr "Nie" - -#: buttons.c:401 -msgid "OK" -msgstr "OK" - -#: buttons.c:409 -msgid "Cancel" -msgstr "ZruÅ¡iÅ¥" - -#: buttons.c:417 -msgid "EXIT" -msgstr "VÃCHOD" - -#: buttons.c:425 -msgid "Extra" -msgstr "Extra" - -#: buttons.c:433 -msgid "Help" -msgstr "Pomoc" - -#. Headline "Month" -#: calendar.c:273 -msgid "Month" -msgstr "Mesiac" - -#. Headline "Year" -#: calendar.c:293 -msgid "Year" -msgstr "Rok" - -#: dialog.c:741 -msgid "Rename" -msgstr "PremenovaÅ¥" - -#: fselect.c:550 -msgid "Directories" -msgstr "Adresáre" - -#: fselect.c:551 -msgid "Files" -msgstr "Súbory" - -#: mixedgauge.c:58 -msgid "Succeeded" -msgstr "Vporiadku" - -#: mixedgauge.c:61 -msgid "Failed" -msgstr "S chybou" - -#: mixedgauge.c:64 -msgid "Passed" -msgstr "PreÅ¡lo" - -#: mixedgauge.c:67 -msgid "Completed" -msgstr "Skompletované" - -#: mixedgauge.c:70 -msgid "Checked" -msgstr "Skontrolované" - -#: mixedgauge.c:73 -msgid "Done" -msgstr "DokonÄené" - -#: mixedgauge.c:76 -msgid "Skipped" -msgstr "PreskoÄené" - -#: mixedgauge.c:79 -msgid "In Progress" -msgstr "Spracováva" - -#: mixedgauge.c:85 -msgid "N/A" -msgstr "N/A" - -#: mixedgauge.c:193 -msgid "Overall Progress" -msgstr "Celkový pokrok" - -#: textbox.c:489 -msgid "Search" -msgstr "VyhľadaÅ¥" diff --git a/contrib/dialog/po/sl.po b/contrib/dialog/po/sl.po deleted file mode 100644 index c20e42f75c12..000000000000 --- a/contrib/dialog/po/sl.po +++ /dev/null @@ -1,112 +0,0 @@ -# Slovenian translation for dialog. -# Copyright (C) 2003-2007, 2008 Thomas Dickey -# This file is distributed under the same license as the dialog package. -# Klemen KoÅ¡ir <klemen.kosir@gmx.com>, 2011. -msgid "" -msgstr "" -"Project-Id-Version: dialog 1.1.20080819\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-06-18 18:26-0400\n" -"PO-Revision-Date: 2011-02-12 20:17+0100\n" -"Last-Translator: Klemen KoÅ¡ir <klemen.kosir@gmx.com>\n" -"Language-Team: Slovenian <translation-team-sl@lists.sourceforge.net>\n" -"Language: sl\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Poedit-Language: Slovenian\n" -"X-Poedit-Country: SLOVENIA\n" - -#: buttons.c:385 -msgid "Yes" -msgstr "Da" - -#: buttons.c:393 -msgid "No" -msgstr "Ne" - -#: buttons.c:401 -msgid "OK" -msgstr "V redu" - -#: buttons.c:409 -msgid "Cancel" -msgstr "PrekliÄi" - -#: buttons.c:417 -msgid "EXIT" -msgstr "IZHOD" - -#: buttons.c:425 -msgid "Extra" -msgstr "Dodatno" - -#: buttons.c:433 -msgid "Help" -msgstr "PomoÄ" - -#. Headline "Month" -#: calendar.c:273 -msgid "Month" -msgstr "Mesec" - -#. Headline "Year" -#: calendar.c:293 -msgid "Year" -msgstr "Leto" - -#: dialog.c:741 -msgid "Rename" -msgstr "Preimenuj" - -#: fselect.c:550 -msgid "Directories" -msgstr "Imeniki" - -#: fselect.c:551 -msgid "Files" -msgstr "Datoteke" - -#: mixedgauge.c:58 -msgid "Succeeded" -msgstr "Uspelo" - -#: mixedgauge.c:61 -msgid "Failed" -msgstr "Spodletelo" - -#: mixedgauge.c:64 -msgid "Passed" -msgstr "Prestalo" - -#: mixedgauge.c:67 -msgid "Completed" -msgstr "KonÄano" - -#: mixedgauge.c:70 -msgid "Checked" -msgstr "Preverjeno" - -#: mixedgauge.c:73 -msgid "Done" -msgstr "Opravljeno" - -#: mixedgauge.c:76 -msgid "Skipped" -msgstr "PreskoÄeno" - -#: mixedgauge.c:79 -msgid "In Progress" -msgstr "V teku" - -#: mixedgauge.c:85 -msgid "N/A" -msgstr "N/A" - -#: mixedgauge.c:193 -msgid "Overall Progress" -msgstr "Skupni napredek" - -#: textbox.c:489 -msgid "Search" -msgstr "Iskanje" diff --git a/contrib/dialog/po/sq.po b/contrib/dialog/po/sq.po deleted file mode 100644 index 1d5022131ec9..000000000000 --- a/contrib/dialog/po/sq.po +++ /dev/null @@ -1,113 +0,0 @@ -# Translation of dialog to Albanian -# This file is distributed under the same license as the dialog package. -# Copyright 2003-2007,2008 # Thomas Dickey -# Besnik Bleta <besnik@programeshqip.org>, 2004,2008,2015, 2019, 2020. -msgid "" -msgstr "" -"Project-Id-Version: dialog-1.1.20080819\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-06-18 18:26-0400\n" -"PO-Revision-Date: 2020-04-01 15:04+0300\n" -"Last-Translator: Besnik Bleta <besnik@programeshqip.org>\n" -"Language-Team: Albanian <translation-team-sq@lists.sourceforge.net>\n" -"Language: sq\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Bugs: Report translation errors to the Language-Team address.\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Poedit 2.2\n" - -#: buttons.c:385 -msgid "Yes" -msgstr "Po" - -#: buttons.c:393 -msgid "No" -msgstr "Jo" - -#: buttons.c:401 -msgid "OK" -msgstr "OK" - -#: buttons.c:409 -msgid "Cancel" -msgstr "Anuloje" - -#: buttons.c:417 -msgid "EXIT" -msgstr "DALJE" - -#: buttons.c:425 -msgid "Extra" -msgstr "Ekstra" - -#: buttons.c:433 -msgid "Help" -msgstr "Ndihmë" - -#. Headline "Month" -#: calendar.c:273 -msgid "Month" -msgstr "Muaj" - -#. Headline "Year" -#: calendar.c:293 -msgid "Year" -msgstr "Vit" - -#: dialog.c:741 -msgid "Rename" -msgstr "Riemërtoje" - -#: fselect.c:550 -msgid "Directories" -msgstr "Drejtori" - -#: fselect.c:551 -msgid "Files" -msgstr "Kartela" - -#: mixedgauge.c:58 -msgid "Succeeded" -msgstr "Doli me sukses" - -#: mixedgauge.c:61 -msgid "Failed" -msgstr "Dështoi" - -#: mixedgauge.c:64 -msgid "Passed" -msgstr "Kaloi" - -#: mixedgauge.c:67 -msgid "Completed" -msgstr "U plotësua" - -#: mixedgauge.c:70 -msgid "Checked" -msgstr "U kontrollua" - -#: mixedgauge.c:73 -msgid "Done" -msgstr "U bë" - -#: mixedgauge.c:76 -msgid "Skipped" -msgstr "U anashkalua" - -#: mixedgauge.c:79 -msgid "In Progress" -msgstr "Në ecuri e sipër" - -#: mixedgauge.c:85 -msgid "N/A" -msgstr "N/A" - -#: mixedgauge.c:193 -msgid "Overall Progress" -msgstr "Ecuri Gjithsej" - -#: textbox.c:489 -msgid "Search" -msgstr "KÄ“rko" diff --git a/contrib/dialog/po/sr.po b/contrib/dialog/po/sr.po deleted file mode 100644 index 46b049dd31a1..000000000000 --- a/contrib/dialog/po/sr.po +++ /dev/null @@ -1,112 +0,0 @@ -# Serbian translation of dialog. -# Copyright (C) 2005 Free Software Foundation, Inc. -# This file is distributed under the same license as the dialog package. -# Aleksandar Jelenak <jelenak@verizon.net>, 2005. -# МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>, 2011. -msgid "" -msgstr "" -"Project-Id-Version: dialog-1.1.20080819\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-06-18 18:26-0400\n" -"PO-Revision-Date: 2011-12-24 21:29+0200\n" -"Last-Translator: МироÑлав Ðиколић <miroslavnikolic@rocketmail.com>\n" -"Language-Team: Serbian <gnu@prevod.org>\n" -"Language: sr\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" - -#: buttons.c:385 -msgid "Yes" -msgstr "Да" - -#: buttons.c:393 -msgid "No" -msgstr "Ðе" - -#: buttons.c:401 -msgid "OK" -msgstr "У реду" - -#: buttons.c:409 -msgid "Cancel" -msgstr "Поништи" - -#: buttons.c:417 -msgid "EXIT" -msgstr "ИЗЛÐЗ" - -#: buttons.c:425 -msgid "Extra" -msgstr "Додатно" - -#: buttons.c:433 -msgid "Help" -msgstr "Помоћ" - -#. Headline "Month" -#: calendar.c:273 -msgid "Month" -msgstr "МеÑец" - -#. Headline "Year" -#: calendar.c:293 -msgid "Year" -msgstr "Година" - -#: dialog.c:741 -msgid "Rename" -msgstr "Преименуј" - -#: fselect.c:550 -msgid "Directories" -msgstr "Директоријуми" - -#: fselect.c:551 -msgid "Files" -msgstr "Датотеке" - -#: mixedgauge.c:58 -msgid "Succeeded" -msgstr "УÑпешно" - -#: mixedgauge.c:61 -msgid "Failed" -msgstr "ÐеуÑпешно" - -#: mixedgauge.c:64 -msgid "Passed" -msgstr "Прошло" - -#: mixedgauge.c:67 -msgid "Completed" -msgstr "Завршено" - -#: mixedgauge.c:70 -msgid "Checked" -msgstr "Проверено" - -#: mixedgauge.c:73 -msgid "Done" -msgstr "Урађено" - -#: mixedgauge.c:76 -msgid "Skipped" -msgstr "ПреÑкочено" - -#: mixedgauge.c:79 -msgid "In Progress" -msgstr "У току" - -#: mixedgauge.c:85 -msgid "N/A" -msgstr "Ð/Д" - -#: mixedgauge.c:193 -msgid "Overall Progress" -msgstr "Укупно напредовање" - -#: textbox.c:489 -msgid "Search" -msgstr "Претрага" diff --git a/contrib/dialog/po/sv.po b/contrib/dialog/po/sv.po deleted file mode 100644 index 5c392b8a8a2f..000000000000 --- a/contrib/dialog/po/sv.po +++ /dev/null @@ -1,110 +0,0 @@ -# Swedish translation of dialog. -# Copyright 2003,2004,2005, 2007 # Thomas Dickey -# Daniel Nylander <po@danielnylander.se>, 2005, 2007. -# -msgid "" -msgstr "" -"Project-Id-Version: dialog 1.1.20070704\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-01-16 17:57-0500\n" -"PO-Revision-Date: 2007-07-23 00:02+0100\n" -"Last-Translator: Daniel Nylander <po@danielnylander.se>\n" -"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n" -"Language: sv\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#: buttons.c:387 -msgid "Yes" -msgstr "Ja" - -#: buttons.c:395 -msgid "No" -msgstr "Nej" - -#: buttons.c:403 -msgid "OK" -msgstr "OK" - -#: buttons.c:411 -msgid "Cancel" -msgstr "Avbryt" - -#: buttons.c:419 -msgid "EXIT" -msgstr "AVSLUTA" - -#: buttons.c:427 -msgid "Extra" -msgstr "Extra" - -#: buttons.c:435 -msgid "Help" -msgstr "Hjälp" - -#. Headline "Month" -#: calendar.c:298 -msgid "Month" -msgstr "MÃ¥nad" - -#. Headline "Year" -#: calendar.c:318 -msgid "Year" -msgstr "Ã…r" - -#: dialog.c:756 -msgid "Rename" -msgstr "Byt namn" - -#: fselect.c:571 -msgid "Directories" -msgstr "Kataloger" - -#: fselect.c:572 -msgid "Files" -msgstr "Filer" - -#: mixedgauge.c:58 -msgid "Succeeded" -msgstr "Lyckades" - -#: mixedgauge.c:61 -msgid "Failed" -msgstr "Misslyckades" - -#: mixedgauge.c:64 -msgid "Passed" -msgstr "Klarades" - -#: mixedgauge.c:67 -msgid "Completed" -msgstr "Färdig" - -#: mixedgauge.c:70 -msgid "Checked" -msgstr "Kontrollerad" - -#: mixedgauge.c:73 -msgid "Done" -msgstr "Klar" - -#: mixedgauge.c:76 -msgid "Skipped" -msgstr "Hoppades över" - -#: mixedgauge.c:79 -msgid "In Progress" -msgstr "PÃ¥gÃ¥r" - -#: mixedgauge.c:85 -msgid "N/A" -msgstr "Inte tillgänglig" - -#: mixedgauge.c:193 -msgid "Overall Progress" -msgstr "Totalt förlopp" - -#: textbox.c:468 -msgid "Search" -msgstr "Sök" diff --git a/contrib/dialog/po/sw.po b/contrib/dialog/po/sw.po deleted file mode 100644 index a8419fecd511..000000000000 --- a/contrib/dialog/po/sw.po +++ /dev/null @@ -1,111 +0,0 @@ -# Dialog -# Copyright 2003-2007,2008 # Thomas Dickey -# This file is distributed under the same license as the dialog package. -# Emanuel Feruzi <emanuel.feruzi@trilabs.co.tz>, 2009 -# -msgid "" -msgstr "" -"Project-Id-Version: dialog 1.1.20080819\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-01-16 17:57-0500\n" -"PO-Revision-Date: 2009-05-01 03:07+0300\n" -"Last-Translator: Emanuel Feruzi <emanuel.feruzi@trilabs.co.tz>\n" -"Language-Team: Swahili <translation-team-sw@lists.sourceforge.net>\n" -"Language: sw\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#: buttons.c:387 -msgid "Yes" -msgstr "Ndio" - -#: buttons.c:395 -msgid "No" -msgstr "Hapana" - -#: buttons.c:403 -msgid "OK" -msgstr "Sawa" - -#: buttons.c:411 -msgid "Cancel" -msgstr "Ghahiri" - -#: buttons.c:419 -msgid "EXIT" -msgstr "Funga" - -#: buttons.c:427 -msgid "Extra" -msgstr "Nyongeza" - -#: buttons.c:435 -msgid "Help" -msgstr "Msaada" - -#. Headline "Month" -#: calendar.c:298 -msgid "Month" -msgstr "Mwezi" - -#. Headline "Year" -#: calendar.c:318 -msgid "Year" -msgstr "Mwaka" - -#: dialog.c:756 -msgid "Rename" -msgstr "Badili jina" - -#: fselect.c:571 -msgid "Directories" -msgstr "Masaraka" - -#: fselect.c:572 -msgid "Files" -msgstr "Mafaili" - -#: mixedgauge.c:58 -msgid "Succeeded" -msgstr "Inefanikiwa" - -#: mixedgauge.c:61 -msgid "Failed" -msgstr "Imeshindwa" - -#: mixedgauge.c:64 -msgid "Passed" -msgstr "Imepita" - -#: mixedgauge.c:67 -msgid "Completed" -msgstr "Imekamilika" - -#: mixedgauge.c:70 -msgid "Checked" -msgstr "Imetikiwa" - -#: mixedgauge.c:73 -msgid "Done" -msgstr "Imemaliza" - -#: mixedgauge.c:76 -msgid "Skipped" -msgstr "Imerukwa" - -#: mixedgauge.c:79 -msgid "In Progress" -msgstr "Inaendelea" - -#: mixedgauge.c:85 -msgid "N/A" -msgstr "Haitumiki" - -#: mixedgauge.c:193 -msgid "Overall Progress" -msgstr "Maendeleo kwa ujumla" - -#: textbox.c:468 -msgid "Search" -msgstr "Tafuta" diff --git a/contrib/dialog/po/th.po b/contrib/dialog/po/th.po deleted file mode 100644 index bdc54dc1e032..000000000000 --- a/contrib/dialog/po/th.po +++ /dev/null @@ -1,112 +0,0 @@ -# Dialog -# Copyright 2003-2006,2007 # Thomas Dickey -# Seksan Poltree <seksan.poltree@gmail.com>, 2007. -# -msgid "" -msgstr "" -"Project-Id-Version: dialog 1.1.20070704\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-01-16 17:57-0500\n" -"PO-Revision-Date: 2007-11-22 19:23+0700\n" -"Last-Translator: Seksan Poltree <seksan.poltree@gmail.com>\n" -"Language-Team: Thai <seksan.poltree@gmail.com>\n" -"Language: th\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Poedit-Language: Thai\n" -"X-Poedit-Country: THAILAND\n" - -#: buttons.c:387 -msgid "Yes" -msgstr "ใช่" - -#: buttons.c:395 -msgid "No" -msgstr "ไม่" - -#: buttons.c:403 -msgid "OK" -msgstr "ตà¸à¸¥à¸‡" - -#: buttons.c:411 -msgid "Cancel" -msgstr "ยà¸à¹€à¸¥à¸´à¸" - -#: buttons.c:419 -msgid "EXIT" -msgstr "ออà¸" - -#: buttons.c:427 -msgid "Extra" -msgstr "เพิ่มเติม" - -#: buttons.c:435 -msgid "Help" -msgstr "ช่วยเหลือ" - -#. Headline "Month" -#: calendar.c:298 -msgid "Month" -msgstr "เดือน" - -#. Headline "Year" -#: calendar.c:318 -msgid "Year" -msgstr "ปี" - -#: dialog.c:756 -msgid "Rename" -msgstr "เปลี่ยนชื่อ" - -#: fselect.c:571 -msgid "Directories" -msgstr "ไดเร็à¸à¸—อรี่" - -#: fselect.c:572 -msgid "Files" -msgstr "ไฟล์" - -#: mixedgauge.c:58 -msgid "Succeeded" -msgstr "สำเร็จ" - -#: mixedgauge.c:61 -msgid "Failed" -msgstr "ล้มเหลว" - -#: mixedgauge.c:64 -msgid "Passed" -msgstr "ผ่าน" - -#: mixedgauge.c:67 -msgid "Completed" -msgstr "เสร็จสิ้น" - -#: mixedgauge.c:70 -msgid "Checked" -msgstr "à¸à¸²à¹€à¸„รื่องหมาย" - -#: mixedgauge.c:73 -msgid "Done" -msgstr "เรียบร้อย" - -#: mixedgauge.c:76 -msgid "Skipped" -msgstr "ข้าม" - -#: mixedgauge.c:79 -msgid "In Progress" -msgstr "à¸à¸³à¸¥à¸±à¸‡à¸”ำเนินà¸à¸²à¸£" - -#: mixedgauge.c:85 -msgid "N/A" -msgstr "ไม่มีอยู่" - -#: mixedgauge.c:193 -msgid "Overall Progress" -msgstr "ความà¸à¹‰à¸²à¸§à¸«à¸™à¹‰à¸²à¸—ั้งสิ้น" - -#: textbox.c:468 -msgid "Search" -msgstr "ค้นหา" diff --git a/contrib/dialog/po/tr.po b/contrib/dialog/po/tr.po deleted file mode 100644 index 112b042425c5..000000000000 --- a/contrib/dialog/po/tr.po +++ /dev/null @@ -1,115 +0,0 @@ -# Turkish translation of dialog. -# Copyright (C) 2005 dialog GNU GPL: -# This file is distributed under the same license as the dialog package. -# -# Abdullah Ulas <potkal@bioinformatics.org>, 2005. -# Volkan Gezer <volkangezer@gmail.com>, 2017. -msgid "" -msgstr "" -"Project-Id-Version: dialog 1.1.20080819\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-06-18 18:26-0400\n" -"PO-Revision-Date: 2017-05-05 12:35+0100\n" -"Last-Translator: Volkan Gezer <volkangezer@gmail.com>\n" -"Language-Team: Turkish <gnu-tr-u12a@lists.sourceforge.net>\n" -"Language: tr\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Bugs: Report translation errors to the Language-Team address.\n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: Lokalize 2.0\n" - -#: buttons.c:385 -msgid "Yes" -msgstr "Evet" - -#: buttons.c:393 -msgid "No" -msgstr "Hayır" - -#: buttons.c:401 -msgid "OK" -msgstr "Tamam" - -#: buttons.c:409 -msgid "Cancel" -msgstr "İptal" - -#: buttons.c:417 -msgid "EXIT" -msgstr "ÇIKIÅž" - -#: buttons.c:425 -msgid "Extra" -msgstr "Ekstra" - -#: buttons.c:433 -msgid "Help" -msgstr "Yardım" - -#. Headline "Month" -#: calendar.c:273 -msgid "Month" -msgstr "Ay" - -#. Headline "Year" -#: calendar.c:293 -msgid "Year" -msgstr "Yıl" - -#: dialog.c:741 -msgid "Rename" -msgstr "Yeniden adlandır" - -#: fselect.c:550 -msgid "Directories" -msgstr "Dizinler" - -#: fselect.c:551 -msgid "Files" -msgstr "Dosyalar" - -#: mixedgauge.c:58 -msgid "Succeeded" -msgstr "BaÅŸarılı" - -#: mixedgauge.c:61 -msgid "Failed" -msgstr "BaÅŸarısız" - -#: mixedgauge.c:64 -msgid "Passed" -msgstr "Geçti" - -#: mixedgauge.c:67 -msgid "Completed" -msgstr "Tamamlandı" - -#: mixedgauge.c:70 -msgid "Checked" -msgstr "Denetlendi" - -#: mixedgauge.c:73 -msgid "Done" -msgstr "Bitti" - -#: mixedgauge.c:76 -msgid "Skipped" -msgstr "Atlandı" - -#: mixedgauge.c:79 -msgid "In Progress" -msgstr "Devam Etmekte" - -#: mixedgauge.c:85 -msgid "N/A" -msgstr "N/A" - -#: mixedgauge.c:193 -msgid "Overall Progress" -msgstr "Genel İlerleme" - -#: textbox.c:489 -msgid "Search" -msgstr "Arama" diff --git a/contrib/dialog/po/uk.po b/contrib/dialog/po/uk.po deleted file mode 100644 index 47269fe8030e..000000000000 --- a/contrib/dialog/po/uk.po +++ /dev/null @@ -1,113 +0,0 @@ -# translation of uk.po to Ukrainian -# Dialog -# Copyright 2003, # Thomas Dickey -# Eugeniy Meshcheryakov <eugen@univ.kiev.ua>, 2004. -# -msgid "" -msgstr "" -"Project-Id-Version: uk\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-06-18 18:26-0400\n" -"PO-Revision-Date: 2004-02-12 20:17+0200\n" -"Last-Translator: Eugeniy Meshcheryakov <eugen@univ.kiev.ua>\n" -"Language-Team: Ukrainian\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: KBabel 1.0.2\n" - -#: buttons.c:385 -msgid "Yes" -msgstr "Так" - -#: buttons.c:393 -msgid "No" -msgstr "ÐÑ–" - -#: buttons.c:401 -msgid "OK" -msgstr "Гаразд" - -#: buttons.c:409 -msgid "Cancel" -msgstr "СкаÑувати" - -#: buttons.c:417 -msgid "EXIT" -msgstr "ВИЙТИ" - -#: buttons.c:425 -msgid "Extra" -msgstr "Додатково" - -#: buttons.c:433 -msgid "Help" -msgstr "Допомога" - -#. Headline "Month" -#: calendar.c:273 -msgid "Month" -msgstr "МіÑÑць" - -#. Headline "Year" -#: calendar.c:293 -msgid "Year" -msgstr "Рік" - -#: dialog.c:741 -msgid "Rename" -msgstr "Перейменувати" - -#: fselect.c:550 -msgid "Directories" -msgstr "Каталоги" - -#: fselect.c:551 -msgid "Files" -msgstr "Файли" - -#: mixedgauge.c:58 -msgid "Succeeded" -msgstr "" - -#: mixedgauge.c:61 -#, fuzzy -msgid "Failed" -msgstr "Файли" - -#: mixedgauge.c:64 -msgid "Passed" -msgstr "" - -#: mixedgauge.c:67 -msgid "Completed" -msgstr "" - -#: mixedgauge.c:70 -msgid "Checked" -msgstr "" - -#: mixedgauge.c:73 -msgid "Done" -msgstr "" - -#: mixedgauge.c:76 -msgid "Skipped" -msgstr "" - -#: mixedgauge.c:79 -msgid "In Progress" -msgstr "" - -#: mixedgauge.c:85 -msgid "N/A" -msgstr "" - -#: mixedgauge.c:193 -msgid "Overall Progress" -msgstr "" - -#: textbox.c:489 -#, fuzzy -msgid "Search" -msgstr "Search" diff --git a/contrib/dialog/po/vi.po b/contrib/dialog/po/vi.po deleted file mode 100644 index 5af66005efbc..000000000000 --- a/contrib/dialog/po/vi.po +++ /dev/null @@ -1,113 +0,0 @@ -# Vietnamese Translation for Dialog. -# Copyright 2003,2004,2005 Thomas Dickey (msgid) -# Copyright © 2009 Free Software Foundation, Inc. -# This file is distributed under the same license as the dialog package. -# Clytie Siddall <clytie@riverland.net.au>, 2005-2009. -# -msgid "" -msgstr "" -"Project-Id-Version: dialog 1.1.20080819\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-06-18 18:26-0400\n" -"PO-Revision-Date: 2009-09-24 22:36+0930\n" -"Last-Translator: Clytie Siddall <clytie@riverland.net.au>\n" -"Language-Team: Vietnamese <vi-VN@googlegroups.com>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: LocFactoryEditor 1.8\n" - -#: buttons.c:385 -msgid "Yes" -msgstr "Có" - -#: buttons.c:393 -msgid "No" -msgstr "Không" - -#: buttons.c:401 -msgid "OK" -msgstr "OK" - -#: buttons.c:409 -msgid "Cancel" -msgstr "Thôi" - -#: buttons.c:417 -msgid "EXIT" -msgstr "THOÃT" - -#: buttons.c:425 -msgid "Extra" -msgstr "Thêm" - -#: buttons.c:433 -msgid "Help" -msgstr "Trợ giúp" - -#. Headline "Month" -#: calendar.c:273 -msgid "Month" -msgstr "Tháng" - -#. Headline "Year" -#: calendar.c:293 -msgid "Year" -msgstr "Năm" - -#: dialog.c:741 -msgid "Rename" -msgstr "Thay tên" - -#: fselect.c:550 -msgid "Directories" -msgstr "Thư mục" - -#: fselect.c:551 -msgid "Files" -msgstr "Tập tin" - -#: mixedgauge.c:58 -msgid "Succeeded" -msgstr "Thành công" - -#: mixedgauge.c:61 -msgid "Failed" -msgstr "Trượt" - -#: mixedgauge.c:64 -msgid "Passed" -msgstr "Äá»—" - -#: mixedgauge.c:67 -msgid "Completed" -msgstr "Hoàn toàn" - -#: mixedgauge.c:70 -msgid "Checked" -msgstr "Äã kiểm tra" - -#: mixedgauge.c:73 -msgid "Done" -msgstr "Hoàn tất" - -#: mixedgauge.c:76 -msgid "Skipped" -msgstr "Bị bá» qua" - -#: mixedgauge.c:79 -msgid "In Progress" -msgstr "Äang chạy" - -#: mixedgauge.c:85 -msgid "N/A" -msgstr "Không có" - -#: mixedgauge.c:193 -msgid "Overall Progress" -msgstr "Toàn tiến hành" - -#: textbox.c:489 -msgid "Search" -msgstr "Tìm kiếm" diff --git a/contrib/dialog/po/wa.po b/contrib/dialog/po/wa.po deleted file mode 100644 index ac2a6f525646..000000000000 --- a/contrib/dialog/po/wa.po +++ /dev/null @@ -1,110 +0,0 @@ -# Translation of Dialog into the walloon language. -# Copyright 2003-2006,2007 # Thomas Dickey -# -# Pablo Saratxaga <pablo@walon.org>, 2007. -msgid "" -msgstr "" -"Project-Id-Version: dialog 1.1.20070704\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-06-18 18:26-0400\n" -"PO-Revision-Date: 2007-08-29 18:24+0200\n" -"Last-Translator: Pablo Saratxaga <pablo@walon.org>\n" -"Language-Team: Walloon <linux-wa@walon.org>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: KBabel 1.0.2\n" - -#: buttons.c:385 -msgid "Yes" -msgstr "Oyi" - -#: buttons.c:393 -msgid "No" -msgstr "Neni" - -#: buttons.c:401 -msgid "OK" -msgstr "'l est bon" - -#: buttons.c:409 -msgid "Cancel" -msgstr "Rinoncî" - -#: buttons.c:417 -msgid "EXIT" -msgstr "Moussî foû" - -#: buttons.c:425 -msgid "Extra" -msgstr "Rawete" - -#: buttons.c:433 -msgid "Help" -msgstr "Aidance" - -#. Headline "Month" -#: calendar.c:273 -msgid "Month" -msgstr "Moes" - -#. Headline "Year" -#: calendar.c:293 -msgid "Year" -msgstr "Anêye" - -#: dialog.c:741 -msgid "Rename" -msgstr "Rilomer" - -#: fselect.c:550 -msgid "Directories" -msgstr "Ridants" - -#: fselect.c:551 -msgid "Files" -msgstr "Fitchîs" - -#: mixedgauge.c:58 -msgid "Succeeded" -msgstr "Succès" - -#: mixedgauge.c:61 -msgid "Failed" -msgstr "Berwete" - -#: mixedgauge.c:64 -msgid "Passed" -msgstr "Passé" - -#: mixedgauge.c:67 -msgid "Completed" -msgstr "Tot fwait" - -#: mixedgauge.c:70 -msgid "Checked" -msgstr "Verifyî" - -#: mixedgauge.c:73 -msgid "Done" -msgstr "Fwait" - -#: mixedgauge.c:76 -msgid "Skipped" -msgstr "Passé houte" - -#: mixedgauge.c:79 -msgid "In Progress" -msgstr "En alaedje" - -#: mixedgauge.c:85 -msgid "N/A" -msgstr "N/D" - -#: mixedgauge.c:193 -msgid "Overall Progress" -msgstr "Avançmint" - -#: textbox.c:489 -msgid "Search" -msgstr "Cweri" diff --git a/contrib/dialog/po/zh_CN.po b/contrib/dialog/po/zh_CN.po deleted file mode 100644 index 4b597804bb4f..000000000000 --- a/contrib/dialog/po/zh_CN.po +++ /dev/null @@ -1,112 +0,0 @@ -# Simplified Chinese translation for dialog. -# Copyright 2003,2004 # Thomas Dickey -# This file is distributed under the same license as the dialog package. -# Meng Jie <zuxyhere@eastday.com>, 2005. -# LI Daobing <lidaobing@gmail.com>, 2007. -# -msgid "" -msgstr "" -"Project-Id-Version: dialog 1.1.20070704\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-01-16 17:57-0500\n" -"PO-Revision-Date: 2007-08-20 07:25+0800\n" -"Last-Translator: Meng Jie <zuxy.meng@gmail.com>\n" -"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n" -"Language: zh_CN\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#: buttons.c:387 -msgid "Yes" -msgstr "是" - -#: buttons.c:395 -msgid "No" -msgstr "å¦" - -#: buttons.c:403 -msgid "OK" -msgstr "确认" - -#: buttons.c:411 -msgid "Cancel" -msgstr "å–æ¶ˆ" - -#: buttons.c:419 -msgid "EXIT" -msgstr "退出" - -#: buttons.c:427 -msgid "Extra" -msgstr "附加" - -#: buttons.c:435 -msgid "Help" -msgstr "帮助" - -#. Headline "Month" -#: calendar.c:298 -msgid "Month" -msgstr "月" - -#. Headline "Year" -#: calendar.c:318 -msgid "Year" -msgstr "å¹´" - -#: dialog.c:756 -msgid "Rename" -msgstr "é‡å‘½å" - -#: fselect.c:571 -msgid "Directories" -msgstr "目录" - -#: fselect.c:572 -msgid "Files" -msgstr "文件" - -#: mixedgauge.c:58 -msgid "Succeeded" -msgstr "æˆåŠŸ" - -#: mixedgauge.c:61 -msgid "Failed" -msgstr "失败" - -#: mixedgauge.c:64 -msgid "Passed" -msgstr "已跳过" - -#: mixedgauge.c:67 -msgid "Completed" -msgstr "已完æˆ" - -#: mixedgauge.c:70 -msgid "Checked" -msgstr "已检查" - -#: mixedgauge.c:73 -msgid "Done" -msgstr "完æˆ" - -#: mixedgauge.c:76 -msgid "Skipped" -msgstr "跳过" - -#: mixedgauge.c:79 -msgid "In Progress" -msgstr "进行中" - -#: mixedgauge.c:85 -msgid "N/A" -msgstr "N/A" - -#: mixedgauge.c:193 -msgid "Overall Progress" -msgstr "整体进度" - -#: textbox.c:468 -msgid "Search" -msgstr "æœç´¢" diff --git a/contrib/dialog/po/zh_TW.po b/contrib/dialog/po/zh_TW.po deleted file mode 100644 index f96b50a06b7b..000000000000 --- a/contrib/dialog/po/zh_TW.po +++ /dev/null @@ -1,112 +0,0 @@ -# Traditional Chinese Messages for dialog. -# Copyright (C) 2005 Free Software Foundation, Inc. -# This file is distributed under the same license as the dialog package. -# Wei-Lun Chao <bluebat@member.fsf.org>, 2005, 2007, 2013. -# -msgid "" -msgstr "" -"Project-Id-Version: dialog 1.1.20080819\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-06-18 18:26-0400\n" -"PO-Revision-Date: 2013-02-12 23:39+0800\n" -"Last-Translator: Wei-Lun Chao <bluebat@member.fsf.org>\n" -"Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n" -"Language: zh_TW\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: buttons.c:385 -msgid "Yes" -msgstr "是" - -#: buttons.c:393 -msgid "No" -msgstr "å¦" - -#: buttons.c:401 -msgid "OK" -msgstr "確定" - -#: buttons.c:409 -msgid "Cancel" -msgstr "å–æ¶ˆ" - -#: buttons.c:417 -msgid "EXIT" -msgstr "離開" - -#: buttons.c:425 -msgid "Extra" -msgstr "å…¶ä»–" - -#: buttons.c:433 -msgid "Help" -msgstr "求助" - -#. Headline "Month" -#: calendar.c:273 -msgid "Month" -msgstr "月" - -#. Headline "Year" -#: calendar.c:293 -msgid "Year" -msgstr "å¹´" - -#: dialog.c:741 -msgid "Rename" -msgstr "æ›´å" - -#: fselect.c:550 -msgid "Directories" -msgstr "目錄" - -#: fselect.c:551 -msgid "Files" -msgstr "檔案" - -#: mixedgauge.c:58 -msgid "Succeeded" -msgstr "å·²æˆåŠŸ" - -#: mixedgauge.c:61 -msgid "Failed" -msgstr "已失敗" - -#: mixedgauge.c:64 -msgid "Passed" -msgstr "已傳éž" - -#: mixedgauge.c:67 -msgid "Completed" -msgstr "已完æˆ" - -#: mixedgauge.c:70 -msgid "Checked" -msgstr "已勾é¸" - -#: mixedgauge.c:73 -msgid "Done" -msgstr "已完æˆ" - -#: mixedgauge.c:76 -msgid "Skipped" -msgstr "已略éŽ" - -#: mixedgauge.c:79 -msgid "In Progress" -msgstr "正在進行" - -#: mixedgauge.c:85 -msgid "N/A" -msgstr "䏿˜Ž" - -#: mixedgauge.c:193 -msgid "Overall Progress" -msgstr "整體進度" - -#: textbox.c:489 -msgid "Search" -msgstr "æœå°‹" diff --git a/contrib/dialog/prgbox.c b/contrib/dialog/prgbox.c deleted file mode 100644 index 089cb552628d..000000000000 --- a/contrib/dialog/prgbox.c +++ /dev/null @@ -1,118 +0,0 @@ -/* - * $Id: prgbox.c,v 1.14 2019/07/25 00:07:15 tom Exp $ - * - * prgbox.c -- implements the prg box - * - * Copyright 2011-2016,2019 Thomas E. Dickey - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License, version 2.1 - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this program; if not, write to - * Free Software Foundation, Inc. - * 51 Franklin St., Fifth Floor - * Boston, MA 02110, USA. - */ - -#include <dialog.h> - -static void -reapchild(int sig) -{ - (void) sig; -} - -/* - * Open a pipe which ties stderr and stdout together. - */ -FILE * -dlg_popen(const char *command, const char *type) -{ - FILE *result = 0; - int fd[2]; - - if ((*type == 'r' || *type == 'w') && pipe(fd) == 0) { - char *blob; - - switch (fork()) { - case -1: /* Error. */ - (void) close(fd[0]); - (void) close(fd[1]); - break; - case 0: /* child. */ - if (*type == 'r') { - if (fd[1] != STDOUT_FILENO) { - (void) dup2(fd[1], STDOUT_FILENO); - (void) close(fd[1]); - } - (void) dup2(STDOUT_FILENO, STDERR_FILENO); - (void) close(fd[0]); - } else { - if (fd[0] != STDIN_FILENO) { - (void) dup2(fd[0], STDIN_FILENO); - (void) close(fd[0]); - } - (void) close(fd[1]); - (void) close(STDERR_FILENO); - } - /* - * Bourne shell needs "-c" option to force it to use only the - * given command. Also, it needs the command to be parsed into - * tokens. - */ - if ((blob = malloc(10 + strlen(command))) != 0) { - char **argv; - sprintf(blob, "sh -c \"%s\"", command); - argv = dlg_string_to_argv(blob); - execvp("sh", argv); - } - _exit(127); - /* NOTREACHED */ - default: /* parent */ - if (*type == 'r') { - result = fdopen(fd[0], type); - (void) close(fd[1]); - } else { - result = fdopen(fd[1], type); - (void) close(fd[0]); - } - break; - } - } - - return result; -} - -/* - * Display text from a pipe in a scrolling window. - */ -int -dialog_prgbox(const char *title, - const char *cprompt, - const char *command, - int height, - int width, - int pauseopt) -{ - int code; - FILE *fp; - void (*oldreaper) (int) = signal(SIGCHLD, reapchild); - - fp = dlg_popen(command, "r"); - if (fp == NULL) - dlg_exiterr("pipe open failed: %s", command); - - code = dlg_progressbox(title, cprompt, height, width, pauseopt, fp); - - pclose(fp); - signal(SIGCHLD, oldreaper); - - return code; -} diff --git a/contrib/dialog/progressbox.c b/contrib/dialog/progressbox.c deleted file mode 100644 index 9ad731b09100..000000000000 --- a/contrib/dialog/progressbox.c +++ /dev/null @@ -1,488 +0,0 @@ -/* - * $Id: progressbox.c,v 1.54 2020/11/22 15:48:27 tom Exp $ - * - * progressbox.c -- implements the progress box - * - * Copyright 2006-2019,2020 Thomas E. Dickey - * Copyright 2005 Valery Reznic - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License, version 2.1 - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this program; if not, write to - * Free Software Foundation, Inc. - * 51 Franklin St., Fifth Floor - * Boston, MA 02110, USA. - */ - -#include <dialog.h> -#include <dlg_keys.h> - -#ifdef KEY_RESIZE -#include <errno.h> -#endif - -#define MIN_HIGH (4) -#define MIN_WIDE (10 + 2 * (2 + MARGIN)) - -#ifdef KEY_RESIZE -typedef struct _wrote { - struct _wrote *link; - char *text; -} WROTE; -#endif - -typedef struct { - DIALOG_CALLBACK obj; - WINDOW *text; - char *prompt; - int high, wide; - int old_high, old_wide; - char line[MAX_LEN + 1]; - int is_eof; -#ifdef KEY_RESIZE - WROTE *wrote; -#endif -} MY_OBJ; - -static void -free_obj(MY_OBJ * obj) -{ - dlg_del_window(obj->obj.win); - free(obj->prompt); -#ifdef KEY_RESIZE - while (obj->wrote) { - WROTE *wrote = obj->wrote; - obj->wrote = wrote->link; - free(wrote->text); - free(wrote); - } -#endif - free(obj); -} - -#ifdef KEY_RESIZE -static void -restart_obj(MY_OBJ * obj) -{ - free(obj->prompt); - obj->high = obj->old_high; - obj->wide = obj->old_wide; - dlg_clear(); - dlg_del_window(obj->obj.win); -} -#endif - -static void -start_obj(MY_OBJ * obj, const char *title, const char *cprompt) -{ - int y, x, thigh; - - obj->prompt = dlg_strclone(cprompt); - dlg_tab_correct_str(obj->prompt); - dlg_auto_size(title, obj->prompt, &obj->high, &obj->wide, MIN_HIGH, MIN_WIDE); - - dlg_print_size(obj->high, obj->wide); - dlg_ctl_size(obj->high, obj->wide); - - x = dlg_box_x_ordinate(obj->wide); - y = dlg_box_y_ordinate(obj->high); - thigh = obj->high - (2 * MARGIN); - - obj->obj.win = dlg_new_window(obj->high, obj->wide, y, x); - - dlg_draw_box2(obj->obj.win, - 0, 0, - obj->high, obj->wide, - dialog_attr, - border_attr, - border2_attr); - dlg_draw_title(obj->obj.win, title); - dlg_draw_helpline(obj->obj.win, FALSE); - - if (obj->prompt[0] != '\0') { - int i; - int y2, x2; - - dlg_attrset(obj->obj.win, dialog_attr); - dlg_print_autowrap(obj->obj.win, obj->prompt, obj->high, obj->wide); - getyx(obj->obj.win, y2, x2); - (void) x2; - ++y2; - wmove(obj->obj.win, y2, MARGIN); - for (i = 0; i < getmaxx(obj->obj.win) - 2 * MARGIN; i++) - (void) waddch(obj->obj.win, dlg_boxchar(ACS_HLINE)); - y += y2; - thigh -= y2; - } - - /* Create window for text region, used for scrolling text */ - obj->text = dlg_sub_window(obj->obj.win, - thigh, - obj->wide - (2 * MARGIN), - y + MARGIN, - x + MARGIN); - - (void) wrefresh(obj->obj.win); - - (void) wmove(obj->obj.win, getmaxy(obj->text), (MARGIN + 1)); - (void) wnoutrefresh(obj->obj.win); - - dlg_attr_clear(obj->text, getmaxy(obj->text), getmaxx(obj->text), dialog_attr); -} - -/* - * Return current line of text. - */ -static char * -get_line(MY_OBJ * obj, int *restart) -{ - FILE *fp = obj->obj.input; - int col = 0; - int j, tmpint; - char *result = obj->line; - - *restart = 0; - for (;;) { - int ch = getc(fp); -#ifdef KEY_RESIZE - /* SIGWINCH may have interrupted this - try to ignore if resizable */ - if (ferror(fp)) { - switch (errno) { - case EINTR: - clearerr(fp); - continue; - default: - break; - } - } -#endif - if (feof(fp) || ferror(fp)) { - obj->is_eof = 1; - if (!col) { - result = NULL; - } - break; - } - if (ch == '\n') - break; - if (ch == '\r') - break; - if (col >= MAX_LEN) - continue; - if ((ch == TAB) && (dialog_vars.tab_correct)) { - tmpint = dialog_state.tab_len - - (col % dialog_state.tab_len); - for (j = 0; j < tmpint; j++) { - if (col < MAX_LEN) { - obj->line[col] = ' '; - ++col; - } else { - break; - } - } - } else { - obj->line[col] = (char) ch; - ++col; - } - } - - obj->line[col] = '\0'; - -#ifdef KEY_RESIZE - if (result != NULL) { - WINDOW *win = obj->text; - WROTE *wrote = dlg_calloc(WROTE, 1); - - if (wrote != 0) { - wrote->text = dlg_strclone(obj->line); - wrote->link = obj->wrote; - obj->wrote = wrote; - } - - nodelay(win, TRUE); - if (wgetch(win) == KEY_RESIZE) { - *restart = 1; - } - nodelay(win, FALSE); - } -#endif - return result; -} - -/* - * Print a new line of text. - */ -static void -print_line(MY_OBJ * obj, const char *line, int row) -{ - int width = obj->wide - (2 * MARGIN); - int limit = MIN((int) strlen(line), width - 2); - - (void) wmove(obj->text, row, 0); /* move cursor to correct line */ - wprintw(obj->text, " %.*s", limit, line); - while (++limit < width) { - waddch(obj->text, ' '); - } -} - -#ifdef KEY_RESIZE -static int -wrote_size(MY_OBJ * obj, int want) -{ - int result = 0; - WROTE *wrote = obj->wrote; - while (wrote != NULL && want > 0) { - wrote = wrote->link; - want--; - result++; - } - return result; -} - -static const char * -wrote_data(MY_OBJ * obj, int want) -{ - const char *result = NULL; - WROTE *wrote = obj->wrote; - while (wrote != NULL && want > 0) { - result = wrote->text; - wrote = wrote->link; - want--; - } - return result; -} - -static int -reprint_lines(MY_OBJ * obj, int buttons) -{ - int want = getmaxy(obj->text) - (buttons ? 2 : 0); - int have = wrote_size(obj, want); - int n; - for (n = 0; n < have; ++n) { - print_line(obj, wrote_data(obj, have - n), n); - } - (void) wrefresh(obj->text); - return have; -} -#endif - -static int -pause_for_ok(MY_OBJ * obj, const char *title, const char *cprompt) -{ - /* *INDENT-OFF* */ - static DLG_KEYS_BINDING binding[] = { - HELPKEY_BINDINGS, - ENTERKEY_BINDINGS, - TRAVERSE_BINDINGS, - END_KEYS_BINDING - }; - /* *INDENT-ON* */ - - int button; - int key, fkey; - int result = DLG_EXIT_UNKNOWN; - const char **buttons = dlg_ok_label(); - bool save_nocancel = dialog_vars.nocancel; - bool redraw = TRUE; - - (void) title; - (void) cprompt; - - dialog_vars.nocancel = TRUE; - button = dlg_default_button(); - -#ifdef KEY_RESIZE - restart: -#endif - - dlg_register_window(obj->obj.win, "progressbox", binding); - dlg_register_buttons(obj->obj.win, "progressbox", buttons); - - dlg_draw_bottom_box2(obj->obj.win, border_attr, border2_attr, dialog_attr); - - while (result == DLG_EXIT_UNKNOWN) { - int check; - - if (redraw) { - redraw = FALSE; - if (button < 0) - button = 0; - dlg_draw_buttons(obj->obj.win, - obj->high - 2, 0, - buttons, button, - FALSE, obj->wide); - } - - key = dlg_mouse_wgetch(obj->obj.win, &fkey); - if (dlg_result_key(key, fkey, &result)) { - if (!dlg_button_key(result, &button, &key, &fkey)) - break; - } - - if (!fkey && (check = dlg_char_to_button(key, buttons)) >= 0) { - result = dlg_ok_buttoncode(check); - break; - } - - if (fkey) { - switch (key) { - case DLGK_FIELD_NEXT: - button = dlg_next_button(buttons, button); - redraw = TRUE; - break; - case DLGK_FIELD_PREV: - button = dlg_prev_button(buttons, button); - redraw = TRUE; - break; - case DLGK_ENTER: - result = dlg_ok_buttoncode(button); - break; -#ifdef KEY_RESIZE - case KEY_RESIZE: - dlg_will_resize(obj->obj.win); - restart_obj(obj); - start_obj(obj, title, cprompt); - reprint_lines(obj, TRUE); - redraw = TRUE; - goto restart; -#endif - default: - if (is_DLGK_MOUSE(key)) { - result = dlg_ok_buttoncode(key - M_EVENT); - if (result < 0) - result = DLG_EXIT_OK; - } else { - beep(); - } - break; - } - - } else if (key > 0) { - beep(); - } - } - dlg_add_last_key(-1); - - dlg_mouse_free_regions(); - dlg_unregister_window(obj->obj.win); - - dialog_vars.nocancel = save_nocancel; - return result; -} - -int -dlg_progressbox(const char *title, - const char *cprompt, - int height, - int width, - int pauseopt, - FILE *fp) -{ - int i; - MY_OBJ *obj; - int again = 0; - int toprow = 0; - int result; - - DLG_TRACE(("# progressbox args:\n")); - DLG_TRACE2S("title", title); - DLG_TRACE2S("message", cprompt); - DLG_TRACE2N("height", height); - DLG_TRACE2N("width", width); - DLG_TRACE2N("pause", pauseopt); - DLG_TRACE2N("fp", fp ? fileno(fp) : -1); - - obj = dlg_calloc(MY_OBJ, 1); - assert_ptr(obj, "dlg_progressbox"); - obj->obj.input = fp; - - obj->high = height; - obj->wide = width; - -#ifdef KEY_RESIZE - obj->old_high = height; - obj->old_wide = width; - - curs_set(0); - restart: -#endif - - start_obj(obj, title, cprompt); -#ifdef KEY_RESIZE - if (again) { - toprow = reprint_lines(obj, FALSE); - } -#endif - - for (i = toprow; get_line(obj, &again); i++) { -#ifdef KEY_RESIZE - if (again) { - dlg_will_resize(obj->obj.win); - restart_obj(obj); - goto restart; - } -#endif - if (i < getmaxy(obj->text)) { - print_line(obj, obj->line, i); - } else { - scrollok(obj->text, TRUE); - scroll(obj->text); - scrollok(obj->text, FALSE); - print_line(obj, obj->line, getmaxy(obj->text) - 1); - } - (void) wrefresh(obj->text); - if (obj->is_eof) - break; - } - - dlg_trace_win(obj->obj.win); - curs_set(1); - - if (pauseopt) { - int need = 1 + MARGIN; - int base = getmaxy(obj->text) - need; - if (i >= base) { - i -= base; - if (i > need) - i = need; - if (i > 0) { - scrollok(obj->text, TRUE); - } - wscrl(obj->text, i); - } - (void) wrefresh(obj->text); - result = pause_for_ok(obj, title, cprompt); - } else { - wrefresh(obj->obj.win); - result = DLG_EXIT_OK; - } - - free_obj(obj); - - return result; -} - -/* - * Display text from a stdin in a scrolling window. - */ -int -dialog_progressbox(const char *title, const char *cprompt, int height, int width) -{ - int result; - result = dlg_progressbox(title, - cprompt, - height, - width, - FALSE, - dialog_state.pipe_input); - dialog_state.pipe_input = 0; - return result; -} diff --git a/contrib/dialog/rangebox.c b/contrib/dialog/rangebox.c deleted file mode 100644 index bc99d4a72cd8..000000000000 --- a/contrib/dialog/rangebox.c +++ /dev/null @@ -1,421 +0,0 @@ -/* - * $Id: rangebox.c,v 1.32 2020/11/22 23:25:09 tom Exp $ - * - * rangebox.c -- implements the rangebox dialog - * - * Copyright 2012-2019,2020 Thomas E. Dickey - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License, version 2.1 - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this program; if not, write to - * Free Software Foundation, Inc. - * 51 Franklin St., Fifth Floor - * Boston, MA 02110, USA. - */ - -#include <dlg_internals.h> -#include <dlg_keys.h> - -#define ONE_HIGH 1 - -#define MIN_HIGH (ONE_HIGH + 1 + (4 * MARGIN)) -#define MIN_WIDE (10 + 2 + (2 * MARGIN)) - -typedef struct { - /* window in which the value and slider are drawn */ - WINDOW *window; - int min_value; - int max_value; - /* position and width of the numeric field */ - int value_x; - int value_len; - int value_col; - /* position and width of the slider field */ - int slide_x; - int slide_y; - int slide_len; - /* current value drawn */ - int current; - /* value to add to make slider move by one cell */ - int slide_inc; -} VALUE; - -static int -digits_of(int value) -{ - char temp[80]; - sprintf(temp, "%d", value); - return (int) strlen(temp); -} - -static int -digit_of(VALUE * data) -{ - int col = data->value_col; - int result = 1; - - while (++col < data->value_len) { - result *= 10; - } - return result; -} - -static bool -set_digit(VALUE * data, int chr) -{ - bool result = FALSE; - char buffer[80]; - long check; - char *next = 0; - - sprintf(buffer, "%*d", data->value_len, data->current); - buffer[data->value_col] = (char) chr; - check = strtol(buffer, &next, 10); - if (next == 0 || *next == '\0') { - if ((check <= (long) data->max_value) && - (check >= (long) data->min_value)) { - result = TRUE; - data->current = (int) check; - } - } - - return result; -} - -/* - * This is similar to the gauge code, but differs in the way the number - * is displayed, etc. - */ -static void -draw_value(VALUE * data, int value) -{ - if (value != data->current) { - WINDOW *win = data->window; - int y, x; - int n; - int ranges = (data->max_value + 1 - data->min_value); - int offset = (value - data->min_value); - int scaled; - - getyx(win, y, x); - - if (ranges > data->slide_len) { - scaled = (offset + data->slide_inc) / data->slide_inc; - } else if (ranges < data->slide_len) { - scaled = (offset + 1) * data->slide_inc; - } else { - scaled = offset; - } - - dlg_attrset(win, gauge_attr); - wmove(win, data->slide_y, data->slide_x); - for (n = 0; n < data->slide_len; ++n) { - (void) waddch(win, ' '); - } - wmove(win, data->slide_y, data->value_x); - wprintw(win, "%*d", data->value_len, value); - if ((gauge_attr & A_REVERSE) != 0) { - dlg_attroff(win, A_REVERSE); - } else { - dlg_attrset(win, A_REVERSE); - } - wmove(win, data->slide_y, data->slide_x); - for (n = 0; n < scaled; ++n) { - chtype ch2 = winch(win); - if (gauge_attr & A_REVERSE) { - ch2 &= ~A_REVERSE; - } - (void) waddch(win, ch2); - } - dlg_attrset(win, dialog_attr); - - wmove(win, y, x); - data->current = value; - - DLG_TRACE(("# drew %d offset %d scaled %d limit %d inc %d\n", - value, - offset, - scaled, - data->slide_len, - data->slide_inc)); - - dlg_trace_win(win); - } -} - -/* - * Allow the user to select from a range of values, e.g., using a slider. - */ -int -dialog_rangebox(const char *title, - const char *cprompt, - int height, - int width, - int min_value, - int max_value, - int default_value) -{ - /* *INDENT-OFF* */ - static DLG_KEYS_BINDING binding[] = { - DLG_KEYS_DATA( DLGK_DELETE_RIGHT,KEY_DC ), - HELPKEY_BINDINGS, - ENTERKEY_BINDINGS, - TOGGLEKEY_BINDINGS, - DLG_KEYS_DATA( DLGK_FIELD_NEXT, CHR_NEXT ), - DLG_KEYS_DATA( DLGK_FIELD_NEXT, KEY_RIGHT ), - DLG_KEYS_DATA( DLGK_FIELD_NEXT, TAB ), - DLG_KEYS_DATA( DLGK_FIELD_PREV, CHR_BACKSPACE ), - DLG_KEYS_DATA( DLGK_FIELD_PREV, CHR_PREVIOUS ), - DLG_KEYS_DATA( DLGK_FIELD_PREV, KEY_BTAB ), - DLG_KEYS_DATA( DLGK_FIELD_PREV, KEY_LEFT ), - DLG_KEYS_DATA( DLGK_ITEM_FIRST, KEY_HOME), - DLG_KEYS_DATA( DLGK_ITEM_LAST, KEY_END), - DLG_KEYS_DATA( DLGK_ITEM_LAST, KEY_LL ), - DLG_KEYS_DATA( DLGK_ITEM_NEXT, '+'), - DLG_KEYS_DATA( DLGK_ITEM_NEXT, KEY_DOWN), - DLG_KEYS_DATA( DLGK_ITEM_PREV, '-' ), - DLG_KEYS_DATA( DLGK_ITEM_PREV, KEY_UP ), - DLG_KEYS_DATA( DLGK_PAGE_NEXT, KEY_NEXT), - DLG_KEYS_DATA( DLGK_PAGE_NEXT, KEY_NPAGE), - DLG_KEYS_DATA( DLGK_PAGE_PREV, KEY_PPAGE ), - DLG_KEYS_DATA( DLGK_PAGE_PREV, KEY_PREVIOUS ), - END_KEYS_BINDING - }; - /* *INDENT-ON* */ - -#ifdef KEY_RESIZE - int old_height = height; - int old_width = width; -#endif - VALUE data; - int key, fkey; - int button; - int result = DLG_EXIT_UNKNOWN; - WINDOW *dialog; - int state = dlg_default_button(); - const char **buttons = dlg_ok_labels(); - char *prompt; - char buffer[MAX_LEN]; - int cur_value = default_value; - int usable; - int ranges; - int yorg, xorg; - - DLG_TRACE(("# tailbox args:\n")); - DLG_TRACE2S("title", title); - DLG_TRACE2S("message", cprompt); - DLG_TRACE2N("height", height); - DLG_TRACE2N("width", width); - DLG_TRACE2N("minval", min_value); - DLG_TRACE2N("maxval", max_value); - DLG_TRACE2N("default", default_value); - - if (max_value < min_value) - max_value = min_value; - if (cur_value > max_value) - cur_value = max_value; - if (cur_value < min_value) - cur_value = min_value; - - dlg_does_output(); - -#ifdef KEY_RESIZE - retry: -#endif - - prompt = dlg_strclone(cprompt); - dlg_auto_size(title, prompt, &height, &width, MIN_HIGH, MIN_WIDE); - - dlg_button_layout(buttons, &width); - dlg_print_size(height, width); - dlg_ctl_size(height, width); - - dialog = dlg_new_window(height, width, - yorg = dlg_box_y_ordinate(height), - xorg = dlg_box_x_ordinate(width)); - - data.window = dialog; - - data.min_value = min_value; - data.max_value = max_value; - - usable = (width - 2 - 4 * MARGIN); - ranges = max_value - min_value + 1; - - /* - * Center the number after allowing for its maximum number of digits. - */ - data.value_len = digits_of(max_value); - if (digits_of(min_value) > data.value_len) - data.value_len = digits_of(min_value); - data.value_x = (usable - data.value_len) / 2 + MARGIN; - data.value_col = data.value_len - 1; - - /* - * The slider is scaled, to try to use the width of the dialog. - */ - if (ranges > usable) { - data.slide_inc = (ranges + usable - 1) / usable; - data.slide_len = 1 + ranges / data.slide_inc; - } else if (ranges < usable) { - data.slide_inc = usable / ranges; - data.slide_len = ranges * data.slide_inc; - } else { - data.slide_inc = 1; - data.slide_len = usable; - } - data.slide_x = (usable - data.slide_len) / 2 + MARGIN + 2; - data.slide_y = height - 5; - - data.current = cur_value - 1; - - dlg_register_window(dialog, "rangebox", binding); - dlg_register_buttons(dialog, "rangebox", buttons); - - dlg_draw_box2(dialog, 0, 0, height, width, dialog_attr, border_attr, border2_attr); - dlg_mouse_setbase(xorg, yorg); - dlg_mouse_mkregion(data.slide_y - 1, data.slide_x - 1, 3, usable + 2, 'i'); - dlg_draw_box2(dialog, - height - 6, data.slide_x - MARGIN, - 2 + MARGIN, data.slide_len + 2 * MARGIN, - dialog_attr, - border_attr, - border2_attr); - dlg_draw_bottom_box2(dialog, border_attr, border2_attr, dialog_attr); - dlg_draw_title(dialog, title); - dlg_draw_helpline(dialog, FALSE); - - dlg_attrset(dialog, dialog_attr); - dlg_print_autowrap(dialog, prompt, height, width); - - dlg_trace_win(dialog); - - while (result == DLG_EXIT_UNKNOWN) { - int key2; - - draw_value(&data, cur_value); - button = (state < 0) ? 0 : state; - dlg_draw_buttons(dialog, height - 2, 0, buttons, button, FALSE, width); - if (state < 0) { - data.value_col = data.value_len + state; - wmove(dialog, data.slide_y, data.value_x + data.value_col); - } - - key = dlg_mouse_wgetch(dialog, &fkey); - if (dlg_result_key(key, fkey, &result)) { - if (!dlg_button_key(result, &button, &key, &fkey)) - break; - } - - if ((key2 = dlg_char_to_button(key, buttons)) >= 0) { - result = key2; - } else { - /* handle function-keys */ - if (fkey) { - switch (key) { - case DLGK_TOGGLE: - case DLGK_ENTER: - result = dlg_enter_buttoncode(button); - break; - case DLGK_LEAVE: - result = dlg_ok_buttoncode(button); - break; - case DLGK_FIELD_PREV: - if (state < 0 && state > -data.value_len) { - --state; - } else { - state = dlg_prev_ok_buttonindex(state, -data.value_len); - } - break; - case DLGK_FIELD_NEXT: - if (state < 0) { - ++state; - } else { - state = dlg_next_ok_buttonindex(state, -data.value_len); - } - break; - case DLGK_ITEM_FIRST: - cur_value = min_value; - break; - case DLGK_ITEM_LAST: - cur_value = max_value; - break; - case DLGK_ITEM_PREV: - if (state < 0) { - cur_value -= digit_of(&data); - } else { - cur_value -= 1; - } - if (cur_value < min_value) - cur_value = min_value; - break; - case DLGK_ITEM_NEXT: - if (state < 0) { - cur_value += digit_of(&data); - } else { - cur_value += 1; - } - if (cur_value > max_value) - cur_value = max_value; - break; - case DLGK_PAGE_PREV: - cur_value -= data.slide_inc; - if (cur_value < min_value) - cur_value = min_value; - break; - case DLGK_PAGE_NEXT: - cur_value += data.slide_inc; - if (cur_value > max_value) - cur_value = max_value; - break; -#ifdef KEY_RESIZE - case KEY_RESIZE: - dlg_will_resize(dialog); - /* reset data */ - height = old_height; - width = old_width; - /* repaint */ - free(prompt); - _dlg_resize_cleanup(dialog); - goto retry; -#endif - case DLGK_MOUSE('i'): - state = -data.value_len; - break; - default: - if (is_DLGK_MOUSE(key)) { - result = dlg_ok_buttoncode(key - M_EVENT); - if (result < 0) - result = DLG_EXIT_OK; - } - break; - } - } else if (isdigit(key) && state < 0) { - if (set_digit(&data, key)) { - cur_value = data.current; - data.current--; - } - } else { - beep(); - } - } - } - - sprintf(buffer, "%d", cur_value); - dlg_add_result(buffer); - AddLastKey(); - - dlg_del_window(dialog); - dlg_mouse_free_regions(); - free(prompt); - - return result; -} diff --git a/contrib/dialog/rc.c b/contrib/dialog/rc.c deleted file mode 100644 index 84d7f63495e9..000000000000 --- a/contrib/dialog/rc.c +++ /dev/null @@ -1,665 +0,0 @@ -/* - * $Id: rc.c,v 1.60 2020/11/25 00:06:40 tom Exp $ - * - * rc.c -- routines for processing the configuration file - * - * Copyright 2000-2019,2020 Thomas E. Dickey - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License, version 2.1 - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this program; if not, write to - * Free Software Foundation, Inc. - * 51 Franklin St., Fifth Floor - * Boston, MA 02110, USA. - * - * An earlier version of this program lists as authors - * Savio Lam (lam836@cs.cuhk.hk) - */ - -#include <dialog.h> - -#include <dlg_keys.h> - -#ifdef HAVE_COLOR -#include <dlg_colors.h> -#include <dlg_internals.h> - -#define L_PAREN '(' -#define R_PAREN ')' - -#define MIN_TOKEN 3 -#ifdef HAVE_RC_FILE2 -#define MAX_TOKEN 5 -#else -#define MAX_TOKEN MIN_TOKEN -#endif - -#define UNKNOWN_COLOR -2 - -/* - * For matching color names with color values - */ -static const color_names_st color_names[] = -{ -#ifdef HAVE_USE_DEFAULT_COLORS - {"DEFAULT", -1}, -#endif - {"BLACK", COLOR_BLACK}, - {"RED", COLOR_RED}, - {"GREEN", COLOR_GREEN}, - {"YELLOW", COLOR_YELLOW}, - {"BLUE", COLOR_BLUE}, - {"MAGENTA", COLOR_MAGENTA}, - {"CYAN", COLOR_CYAN}, - {"WHITE", COLOR_WHITE}, -}; /* color names */ -#define COLOR_COUNT TableSize(color_names) -#endif /* HAVE_COLOR */ - -#define GLOBALRC "/etc/dialogrc" -#define DIALOGRC ".dialogrc" - -/* Types of values */ -#define VAL_INT 0 -#define VAL_STR 1 -#define VAL_BOOL 2 - -/* Type of line in configuration file */ -typedef enum { - LINE_ERROR = -1, - LINE_EQUALS, - LINE_EMPTY -} PARSE_LINE; - -/* number of configuration variables */ -#define VAR_COUNT TableSize(vars) - -/* check if character is string quoting characters */ -#define isquote(c) ((c) == '"' || (c) == '\'') - -/* get last character of string */ -#define lastch(str) str[strlen(str)-1] - -/* - * Configuration variables - */ -typedef struct { - const char *name; /* name of configuration variable as in DIALOGRC */ - void *var; /* address of actual variable to change */ - int type; /* type of value */ - const char *comment; /* comment to put in "rc" file */ -} vars_st; - -/* - * This table should contain only references to dialog_state, since dialog_vars - * is reset specially in dialog.c before each widget. - */ -static const vars_st vars[] = -{ - {"aspect", - &dialog_state.aspect_ratio, - VAL_INT, - "Set aspect-ration."}, - - {"separate_widget", - &dialog_state.separate_str, - VAL_STR, - "Set separator (for multiple widgets output)."}, - - {"tab_len", - &dialog_state.tab_len, - VAL_INT, - "Set tab-length (for textbox tab-conversion)."}, - - {"visit_items", - &dialog_state.visit_items, - VAL_BOOL, - "Make tab-traversal for checklist, etc., include the list."}, - -#ifdef HAVE_COLOR - {"use_shadow", - &dialog_state.use_shadow, - VAL_BOOL, - "Shadow dialog boxes? This also turns on color."}, - - {"use_colors", - &dialog_state.use_colors, - VAL_BOOL, - "Turn color support ON or OFF"}, -#endif /* HAVE_COLOR */ -}; /* vars */ - -static int -skip_whitespace(char *str, int n) -{ - while (isblank(UCH(str[n])) && str[n] != '\0') - n++; - return n; -} - -static int -skip_keyword(char *str, int n) -{ - while (isalnum(UCH(str[n])) && str[n] != '\0') - n++; - return n; -} - -static void -trim_token(char **tok) -{ - char *tmp = *tok + skip_whitespace(*tok, 0); - - *tok = tmp; - - while (*tmp != '\0' && !isblank(UCH(*tmp))) - tmp++; - - *tmp = '\0'; -} - -static int -from_boolean(const char *str) -{ - int code = -1; - - if (str != NULL && *str != '\0') { - if (!dlg_strcmp(str, "ON")) { - code = 1; - } else if (!dlg_strcmp(str, "OFF")) { - code = 0; - } - } - return code; -} - -static int -from_color_name(const char *str) -{ - int code = UNKNOWN_COLOR; - - if (str != NULL && *str != '\0') { - size_t i; - - for (i = 0; i < COLOR_COUNT; ++i) { - if (!dlg_strcmp(str, color_names[i].name)) { - code = color_names[i].value; - break; - } - } - } - return code; -} - -static int -find_vars(char *name) -{ - int result = -1; - unsigned i; - - for (i = 0; i < VAR_COUNT; i++) { - if (dlg_strcmp(vars[i].name, name) == 0) { - result = (int) i; - break; - } - } - return result; -} - -#ifdef HAVE_COLOR -static int -find_color(char *name) -{ - int result = -1; - int i; - int limit = dlg_color_count(); - - for (i = 0; i < limit; i++) { - if (dlg_strcmp(dlg_color_table[i].name, name) == 0) { - result = i; - break; - } - } - return result; -} - -static const char * -to_color_name(int code) -{ - const char *result = "?"; - size_t n; - for (n = 0; n < TableSize(color_names); ++n) { - if (code == color_names[n].value) { - result = color_names[n].name; - break; - } - } - return result; -} - -static const char * -to_boolean(int code) -{ - return code ? "ON" : "OFF"; -} - -/* - * Extract the foreground, background and highlight values from an attribute - * represented as a string in one of these forms: - * - * "(foreground,background,highlight,underline,reverse)" - * "(foreground,background,highlight,underline)" - * "(foreground,background,highlight)" - * "xxxx_color" - */ -static int -str_to_attr(char *str, DIALOG_COLORS * result) -{ - char *tokens[MAX_TOKEN + 1]; - char tempstr[MAX_LEN + 1]; - size_t have; - size_t i = 0; - size_t tok_count = 0; - - memset(result, 0, sizeof(*result)); - result->fg = -1; - result->bg = -1; - result->hilite = -1; - - if (str[0] != L_PAREN || lastch(str) != R_PAREN) { - int ret; - - if ((ret = find_color(str)) >= 0) { - *result = dlg_color_table[ret]; - return 0; - } - /* invalid representation */ - return -1; - } - - /* remove the parenthesis */ - have = strlen(str); - if (have > MAX_LEN) { - have = MAX_LEN - 1; - } else { - have -= 2; - } - memcpy(tempstr, str + 1, have); - tempstr[have] = '\0'; - - /* parse comma-separated tokens, allow up to - * one more than max tokens to detect extras */ - while (tok_count < TableSize(tokens)) { - - tokens[tok_count++] = &tempstr[i]; - - while (tempstr[i] != '\0' && tempstr[i] != ',') - i++; - - if (tempstr[i] == '\0') - break; - - tempstr[i++] = '\0'; - } - - if (tok_count < MIN_TOKEN || tok_count > MAX_TOKEN) { - /* invalid representation */ - return -1; - } - - for (i = 0; i < tok_count; ++i) - trim_token(&tokens[i]); - - /* validate */ - if (UNKNOWN_COLOR == (result->fg = from_color_name(tokens[0])) - || UNKNOWN_COLOR == (result->bg = from_color_name(tokens[1])) - || UNKNOWN_COLOR == (result->hilite = from_boolean(tokens[2])) -#ifdef HAVE_RC_FILE2 - || (tok_count >= 4 && (result->ul = from_boolean(tokens[3])) == -1) - || (tok_count >= 5 && (result->rv = from_boolean(tokens[4])) == -1) -#endif /* HAVE_RC_FILE2 */ - ) { - /* invalid representation */ - return -1; - } - - return 0; -} -#endif /* HAVE_COLOR */ - -/* - * Check if the line begins with a special keyword; if so, return true while - * pointing params to its parameters. - */ -static int -begins_with(char *line, const char *keyword, char **params) -{ - int i = skip_whitespace(line, 0); - int j = skip_keyword(line, i); - - if ((j - i) == (int) strlen(keyword)) { - char save = line[j]; - line[j] = 0; - if (!dlg_strcmp(keyword, line + i)) { - *params = line + skip_whitespace(line, j + 1); - return 1; - } - line[j] = save; - } - - return 0; -} - -/* - * Parse a line in the configuration file - * - * Each line is of the form: "variable = value". On exit, 'var' will contain - * the variable name, and 'value' will contain the value string. - * - * Return values: - * - * LINE_EMPTY - line is blank or comment - * LINE_EQUALS - line contains "variable = value" - * LINE_ERROR - syntax error in line - */ -static PARSE_LINE -parse_line(char *line, char **var, char **value) -{ - int i = 0; - - /* ignore white space at beginning of line */ - i = skip_whitespace(line, i); - - if (line[i] == '\0') /* line is blank */ - return LINE_EMPTY; - else if (line[i] == '#') /* line is comment */ - return LINE_EMPTY; - else if (line[i] == '=') /* variable names cannot start with a '=' */ - return LINE_ERROR; - - /* set 'var' to variable name */ - *var = line + i++; /* skip to next character */ - - /* find end of variable name */ - while (!isblank(UCH(line[i])) && line[i] != '=' && line[i] != '\0') - i++; - - if (line[i] == '\0') /* syntax error */ - return LINE_ERROR; - else if (line[i] == '=') - line[i++] = '\0'; - else { - line[i++] = '\0'; - - /* skip white space before '=' */ - i = skip_whitespace(line, i); - - if (line[i] != '=') /* syntax error */ - return LINE_ERROR; - else - i++; /* skip the '=' */ - } - - /* skip white space after '=' */ - i = skip_whitespace(line, i); - - if (line[i] == '\0') - return LINE_ERROR; - else - *value = line + i; /* set 'value' to value string */ - - /* trim trailing white space from 'value' */ - i = (int) strlen(*value) - 1; - while (isblank(UCH((*value)[i])) && i > 0) - i--; - (*value)[i + 1] = '\0'; - - return LINE_EQUALS; /* no syntax error in line */ -} - -/* - * Create the configuration file - */ -void -dlg_create_rc(const char *filename) -{ - unsigned i; - FILE *rc_file; - - if ((rc_file = fopen(filename, "wt")) == NULL) - dlg_exiterr("Error opening file for writing in dlg_create_rc()."); - - fprintf(rc_file, "#\n\ -# Run-time configuration file for dialog\n\ -#\n\ -# Automatically generated by \"dialog --create-rc <file>\"\n\ -#\n\ -#\n\ -# Types of values:\n\ -#\n\ -# Number - <number>\n\ -# String - \"string\"\n\ -# Boolean - <ON|OFF>\n" -#ifdef HAVE_COLOR -#ifdef HAVE_RC_FILE2 - "\ -# Attribute - (foreground,background,highlight?,underline?,reverse?)\n" -#else /* HAVE_RC_FILE2 */ - "\ -# Attribute - (foreground,background,highlight?)\n" -#endif /* HAVE_RC_FILE2 */ -#endif /* HAVE_COLOR */ - ); - - /* Print an entry for each configuration variable */ - for (i = 0; i < VAR_COUNT; i++) { - fprintf(rc_file, "\n# %s\n", vars[i].comment); - switch (vars[i].type) { - case VAL_INT: - fprintf(rc_file, "%s = %d\n", vars[i].name, - *((int *) vars[i].var)); - break; - case VAL_STR: - fprintf(rc_file, "%s = \"%s\"\n", vars[i].name, - (char *) vars[i].var); - break; - case VAL_BOOL: - fprintf(rc_file, "%s = %s\n", vars[i].name, - *((bool *) vars[i].var) ? "ON" : "OFF"); - break; - } - } -#ifdef HAVE_COLOR - for (i = 0; i < (unsigned) dlg_color_count(); ++i) { - unsigned j; - bool repeat = FALSE; - - fprintf(rc_file, "\n# %s\n", dlg_color_table[i].comment); - for (j = 0; j != i; ++j) { - if (dlg_color_table[i].fg == dlg_color_table[j].fg - && dlg_color_table[i].bg == dlg_color_table[j].bg - && dlg_color_table[i].hilite == dlg_color_table[j].hilite) { - fprintf(rc_file, "%s = %s\n", - dlg_color_table[i].name, - dlg_color_table[j].name); - repeat = TRUE; - break; - } - } - - if (!repeat) { - fprintf(rc_file, "%s = %c", dlg_color_table[i].name, L_PAREN); - fprintf(rc_file, "%s", to_color_name(dlg_color_table[i].fg)); - fprintf(rc_file, ",%s", to_color_name(dlg_color_table[i].bg)); - fprintf(rc_file, ",%s", to_boolean(dlg_color_table[i].hilite)); -#ifdef HAVE_RC_FILE2 - if (dlg_color_table[i].ul || dlg_color_table[i].rv) - fprintf(rc_file, ",%s", to_boolean(dlg_color_table[i].ul)); - if (dlg_color_table[i].rv) - fprintf(rc_file, ",%s", to_boolean(dlg_color_table[i].rv)); -#endif /* HAVE_RC_FILE2 */ - fprintf(rc_file, "%c\n", R_PAREN); - } - } -#endif /* HAVE_COLOR */ - dlg_dump_keys(rc_file); - - (void) fclose(rc_file); -} - -static void -report_error(const char *filename, int line_no, const char *msg) -{ - fprintf(stderr, "%s:%d: %s\n", filename, line_no, msg); - dlg_trace_msg("%s:%d: %s\n", filename, line_no, msg); -} - -/* - * Parse the configuration file and set up variables - */ -int -dlg_parse_rc(void) -{ - int i; - int l = 1; - PARSE_LINE parse; - char str[MAX_LEN + 1]; - char *var; - char *value; - char *filename; - int result = 0; - FILE *rc_file = 0; - char *params; - - /* - * At startup, dialog determines the settings to use as follows: - * - * a) if the environment variable $DIALOGRC is set, its value determines - * the name of the configuration file. - * - * b) if the file in (a) can't be found, use the file $HOME/.dialogrc - * as the configuration file. - * - * c) if the file in (b) can't be found, try using the GLOBALRC file. - * Usually this will be /etc/dialogrc. - * - * d) if the file in (c) cannot be found, use the compiled-in defaults. - */ - - /* try step (a) */ - if ((filename = dlg_getenv_str("DIALOGRC")) != NULL) - rc_file = fopen(filename, "rt"); - - if (rc_file == NULL) { /* step (a) failed? */ - /* try step (b) */ - if ((filename = dlg_getenv_str("HOME")) != NULL - && strlen(filename) < MAX_LEN - (sizeof(DIALOGRC) + 3)) { - if (filename[0] == '\0' || lastch(filename) == '/') - sprintf(str, "%s%s", filename, DIALOGRC); - else - sprintf(str, "%s/%s", filename, DIALOGRC); - rc_file = fopen(filename = str, "rt"); - } - } - - if (rc_file == NULL) { /* step (b) failed? */ - /* try step (c) */ - strcpy(str, GLOBALRC); - if ((rc_file = fopen(filename = str, "rt")) == NULL) - return 0; /* step (c) failed, use default values */ - } - - DLG_TRACE(("# opened rc file \"%s\"\n", filename)); - /* Scan each line and set variables */ - while ((result == 0) && (fgets(str, MAX_LEN, rc_file) != NULL)) { - DLG_TRACE(("#\t%s", str)); - if (*str == '\0' || lastch(str) != '\n') { - /* ignore rest of file if line too long */ - report_error(filename, l, "line too long"); - result = -1; /* parse aborted */ - break; - } - - lastch(str) = '\0'; - if (begins_with(str, "bindkey", ¶ms)) { - if (!dlg_parse_bindkey(params)) { - report_error(filename, l, "invalid bindkey"); - result = -1; - } - continue; - } - parse = parse_line(str, &var, &value); /* parse current line */ - - switch (parse) { - case LINE_EMPTY: /* ignore blank lines and comments */ - break; - case LINE_EQUALS: - /* search table for matching config variable name */ - if ((i = find_vars(var)) >= 0) { - switch (vars[i].type) { - case VAL_INT: - *((int *) vars[i].var) = atoi(value); - break; - case VAL_STR: - if (!isquote(value[0]) || !isquote(lastch(value)) - || strlen(value) < 2) { - report_error(filename, l, "expected string value"); - result = -1; /* parse aborted */ - } else { - /* remove the (") quotes */ - value++; - lastch(value) = '\0'; - strcpy((char *) vars[i].var, value); - } - break; - case VAL_BOOL: - if (!dlg_strcmp(value, "ON")) - *((bool *) vars[i].var) = TRUE; - else if (!dlg_strcmp(value, "OFF")) - *((bool *) vars[i].var) = FALSE; - else { - report_error(filename, l, "expected boolean value"); - result = -1; /* parse aborted */ - } - break; - } -#ifdef HAVE_COLOR - } else if ((i = find_color(var)) >= 0) { - DIALOG_COLORS temp; - if (str_to_attr(value, &temp) == -1) { - report_error(filename, l, "expected attribute value"); - result = -1; /* parse aborted */ - } else { - dlg_color_table[i].fg = temp.fg; - dlg_color_table[i].bg = temp.bg; - dlg_color_table[i].hilite = temp.hilite; -#ifdef HAVE_RC_FILE2 - dlg_color_table[i].ul = temp.ul; - dlg_color_table[i].rv = temp.rv; -#endif /* HAVE_RC_FILE2 */ - } - } else { -#endif /* HAVE_COLOR */ - report_error(filename, l, "unknown variable"); - result = -1; /* parse aborted */ - } - break; - case LINE_ERROR: - report_error(filename, l, "syntax error"); - result = -1; /* parse aborted */ - break; - } - l++; /* next line */ - } - - (void) fclose(rc_file); - return result; -} diff --git a/contrib/dialog/rename.sh b/contrib/dialog/rename.sh deleted file mode 100755 index 0151541c9b5a..000000000000 --- a/contrib/dialog/rename.sh +++ /dev/null @@ -1,60 +0,0 @@ -#! /bin/sh -# $Id: rename.sh,v 1.4 2012/12/19 10:17:36 tom Exp $ -############################################################################## -# Copyright (c) 2011,2012 Thomas E. Dickey # -# # -# Permission is hereby granted, free of charge, to any person obtaining a # -# copy of this software and associated documentation files (the "Software"), # -# to deal in the Software without restriction, including without limitation # -# the rights to use, copy, modify, merge, publish, distribute, distribute # -# with modifications, sublicense, and/or sell copies of the Software, and to # -# permit persons to whom the Software is furnished to do so, subject to the # -# following conditions: # -# # -# The above copyright notice and this permission notice shall be included in # -# all copies or substantial portions of the Software. # -# # -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # -# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # -# DEALINGS IN THE SOFTWARE. # -# # -# Except as contained in this notice, the name(s) of the above copyright # -# holders shall not be used in advertising or otherwise to promote the sale, # -# use or other dealings in this Software without prior written # -# authorization. # -############################################################################## -# install-helper for dialog's manpages, e.g., as "cdialog". -# -# $1 = input file -# $2 = output file -# $3 = actual program name that dialog is installed as -# $4 = actual name that header/library are installed as -# $5+ = install program and possible options - -LANG=C; export LANG -LC_ALL=C; export LC_ALL -LC_CTYPE=C; export LC_CTYPE -LANGUAGE=C; export LANGUAGE - -SOURCE=$1; shift -TARGET=$1; shift -BINARY=$1; shift -PACKAGE=$1; shift - -CHR_LEAD=`echo "$BINARY" | sed -e 's/^\(.\).*/\1/'` -CHR_TAIL=`echo "$BINARY" | sed -e 's/^.//'` -ONE_CAPS=`echo $CHR_LEAD | tr '[a-z]' '[A-Z]'`$CHR_TAIL -ALL_CAPS=`echo "$BINARY" | tr '[a-z]' '[A-Z]'` - -sed -e "s,^\.ds p dialog\>,.ds p $BINARY," \ - -e "s,^\.ds l dialog\>,.ds l $PACKAGE," \ - -e "s,^\.ds L Dialog\>,.ds L $ONE_CAPS," \ - -e "s,^\.ds D DIALOG\>,.ds D $ALL_CAPS," \ - -e 's,^dialog \\- ,'"$PACKAGE"' \\- ,' \ - <$SOURCE >source.tmp -"$@" source.tmp $TARGET -rm -f source.tmp diff --git a/contrib/dialog/run_test.sh b/contrib/dialog/run_test.sh deleted file mode 100755 index 036b44dddfe4..000000000000 --- a/contrib/dialog/run_test.sh +++ /dev/null @@ -1,58 +0,0 @@ -#!/bin/sh -# $Id: run_test.sh,v 1.1 2020/03/20 12:08:00 tom Exp $ -############################################################################## -# Copyright (c) 2020 Thomas E. Dickey # -# # -# Permission is hereby granted, free of charge, to any person obtaining a # -# copy of this software and associated documentation files (the "Software"), # -# to deal in the Software without restriction, including without limitation # -# the rights to use, copy, modify, merge, publish, distribute, distribute # -# with modifications, sublicense, and/or sell copies of the Software, and to # -# permit persons to whom the Software is furnished to do so, subject to the # -# following conditions: # -# # -# The above copyright notice and this permission notice shall be included in # -# all copies or substantial portions of the Software. # -# # -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # -# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # -# DEALINGS IN THE SOFTWARE. # -# # -# Except as contained in this notice, the name(s) of the above copyright # -# holders shall not be used in advertising or otherwise to promote the sale, # -# use or other dealings in this Software without prior written # -# authorization. # -############################################################################## - -failed() { - echo "? $*" >&2 - exit 1 -} - -: ${DIALOG=./dialog} -CONFIG=samples -INPUTS=inputs.rc -OUTPUT=output.rc - -[ $# != 0 ] && CONFIG="$1" - -[ -f "$DIALOG" ] || failed "no such file: $DIALOG" -[ -d "$CONFIG" ] || failed "no such directory: $CONFIG" - -for rcfile in $CONFIG/*.rc -do - echo "** $rcfile" - DIALOGRC="$rcfile" $DIALOG --create-rc $OUTPUT - sed -e '/^#/d' "$OUTPUT" >"$INPUTS" - mv -f $INPUTS $OUTPUT - sed -e '/^#/d' "$rcfile" >"$INPUTS" - diff -u $INPUTS $OUTPUT | \ - sed -e "s,$INPUTS,$rcfile," \ - -e "s,$OUTPUT,$rcfile-test," -done - -rm -f $INPUTS $OUTPUT diff --git a/contrib/dialog/samples/README b/contrib/dialog/samples/README deleted file mode 100644 index 604197c3dd8b..000000000000 --- a/contrib/dialog/samples/README +++ /dev/null @@ -1,7 +0,0 @@ --- $Id: README,v 1.4 2012/12/02 18:52:52 tom Exp $ - -You can set the environment-variable DIALOG to whatever program you -want to check. Default is "dialog". - -Use "export DIALOG=/usr/bin/dialog" for sh or "setenv DIALOG ../dialog" for csh -to test the /usr/bin/dialog program. diff --git a/contrib/dialog/samples/buildlist b/contrib/dialog/samples/buildlist deleted file mode 100755 index 8e4a70b0c846..000000000000 --- a/contrib/dialog/samples/buildlist +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# $Id: buildlist,v 1.3 2020/11/26 00:03:58 tom Exp $ - -. ./setup-vars - -. ./setup-tempfile - -$DIALOG --title "BUILDLIST DEMO" --backtitle "A user-built list" \ - --separator "|" \ - --buildlist "hello, this is a --buildlist..." 0 0 0 \ - "1" "Item number 1" "on" \ - "2" "Item number 2" "off" \ - "3" "Item number 3" "on" \ - "4" "Item number 4" "on" \ - "5" "Item number 5" "off" \ - "6" "Item number 6" "on" 2> $tempfile - -returncode=$? - -. ./report-tempfile diff --git a/contrib/dialog/samples/buildlist2 b/contrib/dialog/samples/buildlist2 deleted file mode 100755 index 1b4dd335060a..000000000000 --- a/contrib/dialog/samples/buildlist2 +++ /dev/null @@ -1,42 +0,0 @@ -#!/bin/sh -# $Id: buildlist2,v 1.8 2020/11/26 00:03:58 tom Exp $ - -. ./setup-vars - -. ./setup-edit - -count=0 -ls -1 | while true -do - read filename - test -z "$filename" && break - case $filename in - *.*) - state=off - ;; - *-*) - state=on - ;; - *) - continue - ;; - esac - case "x$DIALOGOPTS" in - *--no-items*|*--noitem*) - echo "$filename $state" >>$input - ;; - *) - echo "$count $filename $state" >>$input - ;; - esac - count=`expr $count + 1` -done - -$DIALOG --title "BUILDLIST DEMO" --backtitle "A user-built list" \ - --visit-items --scrollbar --separator "|" \ - --buildlist "hello, this is a --buildlist..." 0 0 10 `cat "$input"` 2> $output - -returncode=$? - -tempfile=$output -. ./report-tempfile diff --git a/contrib/dialog/samples/buildlist4 b/contrib/dialog/samples/buildlist4 deleted file mode 100755 index 6bfa98708017..000000000000 --- a/contrib/dialog/samples/buildlist4 +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/sh -# $Id: buildlist4,v 1.2 2020/11/26 00:03:58 tom Exp $ - -. ./setup-vars - -. ./setup-tempfile - -$DIALOG --title "BUILDLIST DEMO" --backtitle "A user-built list" \ - --separator "|" \ - --help-button \ - --item-help \ - --buildlist "hello, this is a --buildlist..." 0 0 0 \ - "1" "Item number 1" "on" first \ - "2" "Item number 2" "off" second \ - "3" "Item number 3" "on" third \ - "4" "Item number 4" "on" fourth \ - "5" "Item number 5" "off" fifth \ - "6" "Item number 6" "on" sixth 2> $tempfile - -returncode=$? - -. ./report-tempfile diff --git a/contrib/dialog/samples/calendar b/contrib/dialog/samples/calendar deleted file mode 100755 index f9eb602fe0d9..000000000000 --- a/contrib/dialog/samples/calendar +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh -# $Id: calendar,v 1.11 2020/11/26 00:09:12 tom Exp $ - -. ./setup-vars - -exec 3>&1 -returntext=`$DIALOG --title "CALENDAR" "$@" --calendar "Please choose a date..." 0 0 7 7 1981 2>&1 1>&3` -returncode=$? -exec 3>&- - -. ./report-string diff --git a/contrib/dialog/samples/calendar-stdout b/contrib/dialog/samples/calendar-stdout deleted file mode 100755 index 107a8e365161..000000000000 --- a/contrib/dialog/samples/calendar-stdout +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/sh -# $Id: calendar-stdout,v 1.8 2020/11/26 00:09:12 tom Exp $ - -. ./setup-vars - -returntext=`$DIALOG --stdout --title "CALENDAR" "$@" --calendar "Please choose a date..." 0 0 7 7 1981` -returncode=$? - -. ./report-string diff --git a/contrib/dialog/samples/calendar2 b/contrib/dialog/samples/calendar2 deleted file mode 100755 index 70aba16349df..000000000000 --- a/contrib/dialog/samples/calendar2 +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh -# $Id: calendar2,v 1.10 2020/11/26 00:09:12 tom Exp $ - -. ./setup-vars - -exec 3>&1 -returntext=`$DIALOG --title "CALENDAR" "$@" --calendar "Please choose a date..." 0 0 2>&1 1>&3` -returncode=$? -exec 3>&- - -. ./report-string diff --git a/contrib/dialog/samples/calendar2-stdout b/contrib/dialog/samples/calendar2-stdout deleted file mode 100755 index 34b370f7ee0e..000000000000 --- a/contrib/dialog/samples/calendar2-stdout +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/sh -# $Id: calendar2-stdout,v 1.8 2020/11/26 00:09:12 tom Exp $ - -. ./setup-vars - -returntext=`$DIALOG --stdout --title "CALENDAR" "$@" --calendar "Please choose a date..." 0 0` -returncode=$? - -. ./report-string diff --git a/contrib/dialog/samples/calendar3 b/contrib/dialog/samples/calendar3 deleted file mode 100755 index a6efd575eb53..000000000000 --- a/contrib/dialog/samples/calendar3 +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh -# $Id: calendar3,v 1.11 2020/11/26 00:09:12 tom Exp $ - -. ./setup-vars - -exec 3>&1 -returntext=`$DIALOG --extra-button --extra-label "Hold" --help-button --title "CALENDAR" "$@" --calendar "Please choose a date..." 0 0 7 7 1981 2>&1 1>&3` -returncode=$? -exec 3>&- - -. ./report-string diff --git a/contrib/dialog/samples/calendar3-stdout b/contrib/dialog/samples/calendar3-stdout deleted file mode 100755 index 7e15920400e4..000000000000 --- a/contrib/dialog/samples/calendar3-stdout +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/sh -# $Id: calendar3-stdout,v 1.8 2020/11/26 00:09:12 tom Exp $ - -. ./setup-vars - -returntext=`$DIALOG --extra-button --extra-label "Hold" --help-button --stdout --title "CALENDAR" "$@" --calendar "Please choose a date..." 0 0 7 7 1981` -returncode=$? - -. ./report-string diff --git a/contrib/dialog/samples/checklist b/contrib/dialog/samples/checklist deleted file mode 100755 index 2e687d613e16..000000000000 --- a/contrib/dialog/samples/checklist +++ /dev/null @@ -1,28 +0,0 @@ -#! /bin/sh -# $Id: checklist,v 1.15 2020/11/26 00:03:58 tom Exp $ - -. ./setup-vars - -. ./setup-tempfile - -$DIALOG --backtitle "No Such Organization" \ - --title "CHECKLIST BOX" "$@" \ - --checklist "Hi, this is a checklist box. You can use this to \n\ -present a list of choices which can be turned on or \n\ -off. If there are more items than can fit on the \n\ -screen, the list will be scrolled. You can use the \n\ -UP/DOWN arrow keys, the first letter of the choice as a \n\ -hot key, or the number keys 1-9 to choose an option. \n\ -Press SPACE to toggle an option on/off. \n\n\ - Which of the following are fruits?" 20 61 5 \ - "Apple" "It's an apple." off \ - "Dog" "No, that's not my dog." ON \ - "Orange" "Yeah, that's juicy." off \ - "Chicken" "Normally not a pet." off \ - "Cat" "No, never put a dog and a cat together!" oN \ - "Fish" "Cats like fish." On \ - "Lemon" "You know how it tastes." on 2> $tempfile - -returncode=$? - -. ./report-tempfile diff --git a/contrib/dialog/samples/checklist-8bit b/contrib/dialog/samples/checklist-8bit deleted file mode 100755 index 756bf5b6b9c3..000000000000 --- a/contrib/dialog/samples/checklist-8bit +++ /dev/null @@ -1,30 +0,0 @@ -#! /bin/sh -# $Id: checklist-8bit,v 1.10 2020/11/26 00:03:58 tom Exp $ - -. ./setup-vars - -. ./setup-tempfile - -. ./testdata-8bit - -$DIALOG --backtitle "No Such Organization" \ - --title "CHECKLIST BOX" "$@" \ - --checklist "Hi, this is a checklist box. You can use this to \n\ -present a list of choices which can be turned on or \n\ -off. If there are more items than can fit on the \n\ -screen, the list will be scrolled. You can use the \n\ -UP/DOWN arrow keys, the first letter of the choice as a \n\ -hot key, or the number keys 1-9 to choose an option. \n\ -Press SPACE to toggle an option on/off. \n\n\ - Which of the following are fruits?" 20 61 5 \ - "`./rotated-data 0 "$SAMPLE"`" "It's an `./rotated-data 0 "$SAMPLE"`." off \ - "`./rotated-data 1 "$SAMPLE"`" "No, that's not my `./rotated-data 1 "$SAMPLE"`." ON \ - "`./rotated-data 2 "$SAMPLE"`" "Yeah, that's `./rotated-data 2 "$SAMPLE"`." off \ - "`./rotated-data 3 "$SAMPLE"`" "Normally not a `./rotated-data 3 "$SAMPLE"`." off \ - "`./rotated-data 4 "$SAMPLE"`" "No, never put a `./rotated-data 4 "$SAMPLE"` there!" oN \ - "`./rotated-data 5 "$SAMPLE"`" "Cats like `./rotated-data 5 "$SAMPLE"`." On \ - "`./rotated-data 6 "$SAMPLE"`" "You `./rotated-data 6 "$SAMPLE"` how it is." on 2> $tempfile - -returncode=$? - -. ./report-tempfile diff --git a/contrib/dialog/samples/checklist-utf8 b/contrib/dialog/samples/checklist-utf8 deleted file mode 100755 index b3f24ad2db7a..000000000000 --- a/contrib/dialog/samples/checklist-utf8 +++ /dev/null @@ -1,30 +0,0 @@ -#! /bin/sh -# $Id: checklist-utf8,v 1.13 2020/11/26 00:03:58 tom Exp $ - -. ./setup-vars - -. ./setup-tempfile - -. ./setup-utf8 - -$DIALOG --backtitle "No Such Organization" \ - --title "CHECKLIST BOX" "$@" \ - --checklist "Hi, this is a checklist box. You can use this to \n\ -present a list of choices which can be turned on or \n\ -off. If there are more items than can fit on the \n\ -screen, the list will be scrolled. You can use the \n\ -UP/DOWN arrow keys, the first letter of the choice as a \n\ -hot key, or the number keys 1-9 to choose an option. \n\ -Press SPACE to toggle an option on/off. \n\n\ - Which of the following are fruits?" 20 61 5 \ - "APPLE" "It's an APPLE." off \ - "DOG" "No, that's not my DOG." ON \ - "ORANGE" "Yeah, that's JUICY." off \ - "CHICKEN" "Normally not a PET." off \ - "CAT" "No, never put a DOG and a CAT together!" oN \ - "FISH" "Cats like FISH." On \ - "LEMON" "You KNOW how it TASTES." on 2> $tempfile - -returncode=$? - -. ./report-tempfile diff --git a/contrib/dialog/samples/checklist1 b/contrib/dialog/samples/checklist1 deleted file mode 100755 index 3c08feae8dc2..000000000000 --- a/contrib/dialog/samples/checklist1 +++ /dev/null @@ -1,28 +0,0 @@ -#! /bin/sh -# $Id: checklist1,v 1.11 2020/11/26 00:03:58 tom Exp $ - -. ./setup-vars - -. ./setup-tempfile - -$DIALOG --backtitle "No Such Organization" \ - --title "CHECKLIST BOX" "$@" \ - --checklist "Hi, this is a checklist box. You can use this to \n\ -present a list of choices which can be turned on or \n\ -off. If there are more items than can fit on the \n\ -screen, the list will be scrolled. You can use the \n\ -UP/DOWN arrow keys, the first letter of the choice as a \n\ -hot key, or the number keys 1-9 to choose an option. \n\ -Press SPACE to toggle an option on/off. \n\n\ - Which of the following are fruits?" 20 61 5 \ - "" "It's an apple." off \ - "Dog" "No, that's not my dog." ON \ - "Orange" "Yeah, that's juicy." off \ - "Chicken" "" off \ - "Cat" "No, never put a dog and a cat together!" oN \ - "Fish" "Cats like fish." On \ - "Lemon" "You know how it tastes." on 2> $tempfile - -returncode=$? - -. ./report-tempfile diff --git a/contrib/dialog/samples/checklist10 b/contrib/dialog/samples/checklist10 deleted file mode 100755 index 82fdf77b3efe..000000000000 --- a/contrib/dialog/samples/checklist10 +++ /dev/null @@ -1,30 +0,0 @@ -#! /bin/sh -# $Id: checklist10,v 1.10 2020/11/26 00:03:58 tom Exp $ -# zero-width column - -. ./setup-vars - -. ./setup-tempfile - -$DIALOG \ - --backtitle "No such organization" \ - --title "CHECKLIST BOX" "$@" \ - --checklist "Hi, this is a checklist box. You can use this to \n\ -present a list of choices which can be turned on or \n\ -off. If there are more items than can fit on the \n\ -screen, the list will be scrolled. You can use the \n\ -UP/DOWN arrow keys, the first letter of the choice as a \n\ -hot key, or the number keys 1-9 to choose an option. \n\ -Press SPACE to toggle an option on/off. \n\n\ - Which of the following are fruits?" 20 61 5 \ - Dialog "" on \ - Readline "" off \ - Gnome "" off \ - Kde "" off \ - Editor "" off \ - Noninteractive "" on \ - 2> $tempfile - -returncode=$? - -. ./report-tempfile diff --git a/contrib/dialog/samples/checklist11 b/contrib/dialog/samples/checklist11 deleted file mode 100755 index 3e8620e5b418..000000000000 --- a/contrib/dialog/samples/checklist11 +++ /dev/null @@ -1,33 +0,0 @@ -#! /bin/sh -# $Id: checklist11,v 1.2 2020/11/26 00:03:58 tom Exp $ - -. ./setup-vars - -. ./setup-tempfile - -$DIALOG --backtitle "No Such Organization" \ - --title "CHECKLIST BOX" "$@" \ - --checklist "Hi, this is a checklist box. You can use this to \n\ -present a list of choices which can be turned on or \n\ -off. If there are more items than can fit on the \n\ -screen, the list will be scrolled. You can use the \n\ -UP/DOWN arrow keys, the first letter of the choice as a \n\ -hot key, or the number keys 1-9 to choose an option. \n\ -Press SPACE to toggle an option on/off. \n\n\ - Which of the following are fruits?" 20 61 5 \ - "" "It's an apple." off \ - "Dog" "No1, that's not my dog." ON \ - "Dog2" "No2, that's not my dog." OFF \ - "Dog3" "No3, that's not my dog." OFF \ - "Dog4" "No4, that's not my dog." OFF \ - "Dog5" "No5, that's not my dog." OFF \ - "Dog6" "No6, that's not my dog." OFF \ - "Orange" "Yeah, that's juicy." off \ - "Chicken" "" off \ - "Cat" "No, never put a dog and a cat together!" oN \ - "Fish" "Cats like fish." On \ - "Lemon" "You know how it tastes." on 2> $tempfile - -returncode=$? - -. ./report-tempfile diff --git a/contrib/dialog/samples/checklist12 b/contrib/dialog/samples/checklist12 deleted file mode 100755 index 68c70ae1b9b3..000000000000 --- a/contrib/dialog/samples/checklist12 +++ /dev/null @@ -1,44 +0,0 @@ -#! /bin/sh -# $Id: checklist12,v 1.5 2020/11/26 00:03:58 tom Exp $ - -. ./setup-vars - -. ./setup-edit - -case "x$DIALOGOPTS" in -*--no-items*|*--noitem*) - CUT="cut -d: -f1,3" - ;; -*) - CUT="cat" - ;; -esac - -$CUT >$input <<-EOF - Apple:It's an apple.:off - Dog:No, that's not my dog.:ON - Orange:Yeah, that's juicy.:off - Chicken:Normally not a pet.:off - Cat:No, never put a dog and a cat together!:oN - Fish:Cats like fish.:On - Lemon:You know how it tastes.:on -EOF -sed -e 's/^/"/' -e 's/:/" "/g' -e 's/$/"/' <$input >$output -cat $output >$input - -$DIALOG --backtitle "No Such Organization" \ - --title "CHECKLIST BOX" "$@" \ - --checklist "Hi, this is a checklist box. You can use this to \n\ -present a list of choices which can be turned on or \n\ -off. If there are more items than can fit on the \n\ -screen, the list will be scrolled. You can use the \n\ -UP/DOWN arrow keys, the first letter of the choice as a \n\ -hot key, or the number keys 1-9 to choose an option. \n\ -Press SPACE to toggle an option on/off. \n\n\ - Which of the following are fruits?" 20 61 5 \ - --file $input 2> $output - -returncode=$? - -tempfile=$output -. ./report-tempfile diff --git a/contrib/dialog/samples/checklist2 b/contrib/dialog/samples/checklist2 deleted file mode 100755 index e0d41d86a1e1..000000000000 --- a/contrib/dialog/samples/checklist2 +++ /dev/null @@ -1,28 +0,0 @@ -#! /bin/sh -# $Id: checklist2,v 1.12 2020/11/26 00:03:58 tom Exp $ - -. ./setup-vars - -. ./setup-tempfile - -$DIALOG --item-help --backtitle "No Such Organization" \ - --title "CHECKLIST BOX" "$@" \ - --checklist "Hi, this is a checklist box. You can use this to \n\ -present a list of choices which can be turned on or \n\ -off. If there are more items than can fit on the \n\ -screen, the list will be scrolled. You can use the \n\ -UP/DOWN arrow keys, the first letter of the choice as a \n\ -hot key, or the number keys 1-9 to choose an option. \n\ -Press SPACE to toggle an option on/off. \n\n\ - Which of the following are fruits?" 20 61 5 \ - "Apple" "It's an apple." off "fruit" \ - "Dog" "No, that's not my dog." ON "not a fruit" \ - "Orange" "Yeah, that's juicy." off "fruit" \ - "Chicken" "Normally not a pet." off "not a fruit" \ - "Cat" "No, never put a dog and a cat together!" oN "not a fruit" \ - "Fish" "Cats like fish." On "not a fruit" \ - "Lemon" "You know how it tastes." on "the only one you wouldn't eat" 2> $tempfile - -returncode=$? - -. ./report-tempfile diff --git a/contrib/dialog/samples/checklist3 b/contrib/dialog/samples/checklist3 deleted file mode 100755 index 34471e628cd6..000000000000 --- a/contrib/dialog/samples/checklist3 +++ /dev/null @@ -1,28 +0,0 @@ -#! /bin/sh -# $Id: checklist3,v 1.12 2020/11/26 00:03:58 tom Exp $ - -. ./setup-vars - -. ./setup-tempfile - -$DIALOG --item-help --backtitle "No Such Organization" \ - --title "CHECKLIST BOX" "$@" \ - --checklist "Hi, this is a checklist box. You can use this to \n\ -present a list of choices which can be turned on or \n\ -off. If there are more items than can fit on the \n\ -screen, the list will be scrolled. You can use the \n\ -UP/DOWN arrow keys, the first letter of the choice as a \n\ -hot key, or the number keys 1-9 to choose an option. \n\ -Press SPACE to toggle an option on/off. \n\n\ - Which of the following are fruits?" 20 61 5 \ - "Apple" "It's an apple. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" off "fruit" \ - "Dog" "No, that's not my dog. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" ON "not a fruit" \ - "Orange" "Yeah, that's juicy. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" off "fruit" \ - "Chicken" "Normally not a pet. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" off "not a fruit" \ - "Cat" "No, never put a dog and a cat together! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" oN "not a fruit" \ - "Fish" "Cats like fish. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" On "not a fruit" \ - "Lemon" "You know how it tastes. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" on "the only one you wouldn't eat" 2> $tempfile - -returncode=$? - -. ./report-tempfile diff --git a/contrib/dialog/samples/checklist4 b/contrib/dialog/samples/checklist4 deleted file mode 100755 index eb6eac6d02e6..000000000000 --- a/contrib/dialog/samples/checklist4 +++ /dev/null @@ -1,28 +0,0 @@ -#! /bin/sh -# $Id: checklist4,v 1.13 2020/11/26 00:03:58 tom Exp $ - -. ./setup-vars - -. ./setup-tempfile - -$DIALOG --help-button --item-help --backtitle "No Such Organization" \ - --title "CHECKLIST BOX" "$@" \ - --checklist "Hi, this is a checklist box. You can use this to \n\ -present a list of choices which can be turned on or \n\ -off. If there are more items than can fit on the \n\ -screen, the list will be scrolled. You can use the \n\ -UP/DOWN arrow keys, the first letter of the choice as a \n\ -hot key, or the number keys 1-9 to choose an option. \n\ -Press SPACE to toggle an option on/off. \n\n\ - Which of the following are fruits?" 20 61 5 \ - "Apple" "It's an apple. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" off "fruit" \ - "Dog" "No, that's not my dog. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" ON "not a fruit" \ - "Orange" "Yeah, that's juicy. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" off "fruit" \ - "Chicken" "Normally not a pet. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" off "not a fruit" \ - "Cat" "No, never put a dog and a cat together! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" oN "not a fruit" \ - "Fish" "Cats like fish. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" On "not a fruit" \ - "Lemon" "You know how it tastes. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" on "the only one you wouldn't eat" 2> $tempfile - -returncode=$? - -. ./report-tempfile diff --git a/contrib/dialog/samples/checklist5 b/contrib/dialog/samples/checklist5 deleted file mode 100755 index a4ccbbc810f7..000000000000 --- a/contrib/dialog/samples/checklist5 +++ /dev/null @@ -1,29 +0,0 @@ -#! /bin/sh -# $Id: checklist5,v 1.12 2020/11/26 00:03:58 tom Exp $ - -. ./setup-vars - -. ./setup-tempfile - -$DIALOG --help-button --item-help --backtitle "No Such Organization" \ - --title "CHECKLIST BOX" "$@" \ - --checklist "Hi, this is a checklist box. You can use this to \n\ -present a list of choices which can be turned on or \n\ -off. If there are more items than can fit on the \n\ -screen, the list will be scrolled. You can use the \n\ -UP/DOWN arrow keys, the first letter of the choice as a \n\ -hot key, or the number keys 1-9 to choose an option. \n\ -Press SPACE to toggle an option on/off. \n\n\ - Which of the following are fruits?" 20 61 5 \ - "Apple" "It's an apple. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" off "fruit" \ - "Dog" "No, that's not my dog. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" ON "not a fruit" \ - "Orange" "Yeah, that's juicy. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" off "fruit" \ - "Chicken" "Normally not a pet. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" off "not a fruit" \ - "" "No such pet. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" off "not anything" \ - "Cat" "No, never put a dog and a cat together! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" oN "not a fruit" \ - "Fish" "Cats like fish. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" On "not a fruit" \ - "Lemon" "You know how it tastes. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" on "the only one you wouldn't eat" 2> $tempfile - -returncode=$? - -. ./report-tempfile diff --git a/contrib/dialog/samples/checklist6 b/contrib/dialog/samples/checklist6 deleted file mode 100755 index 6e75856eb6c2..000000000000 --- a/contrib/dialog/samples/checklist6 +++ /dev/null @@ -1,30 +0,0 @@ -#! /bin/sh -# $Id: checklist6,v 1.12 2020/11/26 00:03:58 tom Exp $ -# example showing the --colors option - -. ./setup-vars - -. ./setup-tempfile - -$DIALOG --help-button --item-help --colors --backtitle "\Z1No Such\Zn Organization" \ - --title "CHECKLIST BOX" "$@" \ - --checklist "Hi, this is a checklist box. You can use this to \n\ -present a list of choices which can be turned on or \n\ -off. If there are more items than can fit on the \n\ -screen, the list will be scrolled. You can use the \n\ -\Z4UP/DOWN\Zn arrow keys, the first letter of the choice as a \n\ -hot key, or the number keys 1-9 to choose an option. \n\ -Press \Zb\ZrSPACE\Zn to toggle an option on/off. \n\n\ - Which of the following are fruits?" 20 61 5 \ - "Apple" "It's an \Z1apple\Zn. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" off "fruit" \ - "Dog" "No, that's not my dog. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" ON "not a fruit" \ - "Orange" "Yeah, that's juicy. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" off "fruit" \ - "Chicken" "Normally not a pet. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" off "not a fruit" \ - "" "No such pet. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" off "not anything" \ - "Cat" "No, never put a dog and a cat together! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" oN "not a fruit" \ - "Fish" "Cats like \Z4fish\Zn. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" On "not a fruit" \ - "Lemon" "You know how it \Zr\Zb\Z3tastes\Zn. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" on "the only one you wouldn't eat" 2> $tempfile - -returncode=$? - -. ./report-tempfile diff --git a/contrib/dialog/samples/checklist7 b/contrib/dialog/samples/checklist7 deleted file mode 100755 index 6ff9f7be4c7c..000000000000 --- a/contrib/dialog/samples/checklist7 +++ /dev/null @@ -1,34 +0,0 @@ -#! /bin/sh -# $Id: checklist7,v 1.12 2020/11/26 00:03:58 tom Exp $ -# "checklist6" with --separate-output - -. ./setup-vars - -. ./setup-tempfile - -$DIALOG --help-button \ - --item-help \ - --colors \ - --backtitle "\Z1No Such\Zn Organization" \ - --separate-output \ - --title "CHECKLIST BOX" "$@" \ - --checklist "Hi, this is a checklist box. You can use this to \n\ -present a list of choices which can be turned on or \n\ -off. If there are more items than can fit on the \n\ -screen, the list will be scrolled. You can use the \n\ -\Z4UP/DOWN\Zn arrow keys, the first letter of the choice as a \n\ -hot key, or the number keys 1-9 to choose an option. \n\ -Press \Zb\ZrSPACE\Zn to toggle an option on/off. \n\n\ - Which of the following are fruits?" 20 61 5 \ - "Apple" "It's an \Z1apple\Zn. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" off "fruit" \ - "Dog" "No, that's not my dog. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" ON "not a fruit" \ - "Orange" "Yeah, that's juicy. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" off "fruit" \ - "Chicken" "Normally not a pet. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" off "not a fruit" \ - "" "No such pet. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" off "not anything" \ - "Cat" "No, never put a dog and a cat together! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" oN "not a fruit" \ - "Fish" "Cats like \Z4fish\Zn. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" On "not a fruit" \ - "Lemon" "You know how it \Zr\Zb\Z3tastes\Zn. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" on "the only one you wouldn't eat" 2> $tempfile - -returncode=$? - -. ./report-tempfile diff --git a/contrib/dialog/samples/checklist8 b/contrib/dialog/samples/checklist8 deleted file mode 100755 index d87b35fe42ea..000000000000 --- a/contrib/dialog/samples/checklist8 +++ /dev/null @@ -1,33 +0,0 @@ -#! /bin/sh -# $Id: checklist8,v 1.11 2020/11/26 00:03:58 tom Exp $ -# "checklist7" without --item-help - -. ./setup-vars - -. ./setup-tempfile - -$DIALOG --help-button \ - --colors \ - --backtitle "\Z1No Such\Zn Organization" \ - --separate-output \ - --title "CHECKLIST BOX" "$@" \ - --checklist "Hi, this is a checklist box. You can use this to \n\ -present a list of choices which can be turned on or \n\ -off. If there are more items than can fit on the \n\ -screen, the list will be scrolled. You can use the \n\ -\Z4UP/DOWN\Zn arrow keys, the first letter of the choice as a \n\ -hot key, or the number keys 1-9 to choose an option. \n\ -Press \Zb\ZrSPACE\Zn to toggle an option on/off. \n\n\ - Which of the following are fruits?" 20 61 5 \ - "Apple" "It's an \Z1apple\Zn. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" off \ - "Dog" "No, that's not my dog. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" ON \ - "Orange" "Yeah, that's juicy. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" off \ - "Chicken" "Normally not a pet. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" off \ - "" "No such pet. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" off \ - "Cat" "No, never put a dog and a cat together! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" oN \ - "Fish" "Cats like \Z4fish\Zn. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" On \ - "Lemon" "You know how it \Zr\Zb\Z3tastes\Zn. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" on 2> $tempfile - -returncode=$? - -. ./report-tempfile diff --git a/contrib/dialog/samples/checklist9 b/contrib/dialog/samples/checklist9 deleted file mode 100755 index 9e980706d855..000000000000 --- a/contrib/dialog/samples/checklist9 +++ /dev/null @@ -1,13 +0,0 @@ -#! /bin/sh -# $Id: checklist9,v 1.9 2020/11/26 00:03:58 tom Exp $ -# "checklist8" using --file - -. ./setup-vars - -. ./setup-tempfile - -$DIALOG "$@" --file checklist9.txt 2>$tempfile - -returncode=$? - -. ./report-tempfile diff --git a/contrib/dialog/samples/checklist9.txt b/contrib/dialog/samples/checklist9.txt deleted file mode 100644 index cdb26522170e..000000000000 --- a/contrib/dialog/samples/checklist9.txt +++ /dev/null @@ -1,21 +0,0 @@ ---help-button \ - --colors \ - --backtitle "\Z1No Such\Zn Organization" \ - --separate-output \ - --title "CHECKLIST BOX" \ - --checklist "Hi, this is a checklist box. You can use this to \n\ -present a list of choices which can be turned on or \n\ -off. If there are more items than can fit on the \n\ -screen, the list will be scrolled. You can use the \n\ -\Z4UP/DOWN\Zn arrow keys, the first letter of the choice as a \n\ -hot key, or the number keys 1-9 to choose an option. \n\ -Press \Zb\ZrSPACE\Zn to toggle an option on/off. \n\n\ - Which of the following are fruits?" 20 61 5 \ - "Apple" "It's an \Z1apple\Zn. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" off \ - "Dog" "No, that's not my dog. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" ON \ - "Orange" "Yeah, that's juicy. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" off \ - "Chicken" "Normally not a pet. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" off \ - "" "No such pet. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" off \ - "Cat" "No, never put a dog and a cat together! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" oN \ - "Fish" "Cats like \Z4fish\Zn. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" On \ - "Lemon" "You know how it \Zr\Zb\Z3tastes\Zn. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" on diff --git a/contrib/dialog/samples/copifuncs/copi.ifman1 b/contrib/dialog/samples/copifuncs/copi.ifman1 deleted file mode 100755 index 3e271a532e29..000000000000 --- a/contrib/dialog/samples/copifuncs/copi.ifman1 +++ /dev/null @@ -1,29 +0,0 @@ -#! /usr/bin/perl -# -# This is a utility script to manipulate Fidonet-related issues -# using Eugene Crosser's ifmail package -# -# Version 0.1 -# -# (C) Michael Bravo and The Communication Tube, 1994 -# -# You can do whatever you want with this script. I take no responsibility -# whatsoever in anything related to this script. If you make some useful -# additions to this, please think of sending them to me so I could partake -# of your wisdom. -# -# This script was written to help attaching and requesting files from the -# commandline, much like you do with Squish under DOS or OS/2. It is certainly -# not perfect - I used it as an exercise in Perl. It also probably lacks -# some other useful features, like ability to specify trunc/sent or kill/sent -# attributes etc etc. If you really want this or some other features -# implemented, write me at mbravo@tctube.spb.su or mbravo@octopus.spb.su -# and I will try to do what I can. -# -# Note - files don't get copied to any spool dir, so if you move attached -# files somewhere, they won't get sent. -# -# This script is supposed to read ifmail's config to determine where outbound -# directory and logfile are. The only two parameters to modify in most cases -# are below. - diff --git a/contrib/dialog/samples/copifuncs/copi.ifmcfg2 b/contrib/dialog/samples/copifuncs/copi.ifmcfg2 deleted file mode 100755 index 4d726f387116..000000000000 --- a/contrib/dialog/samples/copifuncs/copi.ifmcfg2 +++ /dev/null @@ -1,68 +0,0 @@ -# Transport programs for mail and news, used by iftoss -sendmail /usr/lib/sendmail -f $F $T -rnews /usr/lib/news/rnews - -# Unpackers, used by ifunpack. -# $F expands to archieve file name -unzip /usr/bin/unzip -oq $F -unarj /usr/bin/unarj e $F -#unarc /usr/bin/unpack $F -unzoo /usr/bin/zoo -extract $F -unlzh /usr/bin/lharc -x $F - -# Packer program, used by ifpack -# $F expands to archieve file name, $P - to list of packet names -packer /usr/bin/zip $F $P - -# Maximum arcmail file size, will start new arcmail file if exceeds -maxfsize 65000 - -# Maximum packet size, ifmail/ifnews will start new packet if exceeds. -# .out files are NOT created if nonzero specified, you must run ifpack -# to make packets out. (unimplemented) -maxpsize 65000 - -# cnews log file and (temporary) database for seen-bys -newslog /usr/lib/news/log -msgidbm /tmp/ifmsgids - -# From this line on, values may be prefixed by a logical expression in -# round brackets. Operators are: '!', '&', '|', 'Xor'. -# Possible elements are: -# - Nodelist flags (like "CM", "MNP", "V32" etc.) -# - speed <operator> <numeric> -# where <operator> is '=', '!=', '<', '>', '<=', '>=' -# - address <wildcard> -# where <wildcard> is an (possibly incomplete) fidonet address, -# e.g. "5020/*" -# - time <interval>[,<interval>,...] -# where <interval> is a day spec. with optional time spec., e.g. -# Wk2000-0900,Sat1800-0000,Sun -# - phone <prefix> -# e.g. "phone 7-095-" - -# Dialing parameters -# of multiple "ModemPort", "ModemReset", "ModemDial", "ModemHangup" lines, -# first matching is used. -# of multiple "PhoneTrans", "ModemConnect", "ModemError" lines, all matching -# are used. -# In send and expect strings, following substitutions are made: -# \\ '\' character -# \r carriage return (0x0d) -# \n new line (0x0a) -# \t tab (0x09) -# \b backspace (0x08) -# \s space (0x20) -# \NNN (where N is an octal digit) - character with octal code NNN -# \d 1 second delay (send strings only) -# \p 1/4 second pause (send strings only) -# \T translated telephone no. (send strings only) -# \D untranslated telephone no. (send strings only) - -# ModemPort present a blank-separated list of ports with possible speed -# extension (separated by colon); if speed is prefixed with 'L', it is -# a "locked" port speed, otherwise it is a maximum speed to be set, while -# actual speed is taken from the nodelist. If speed is omitted (or set -# to zero), previous port speed is not changed. -#ModemPort (time Any0000-0900,Sat,Sun) ttyS0 -#ModemPort cua0:L38400 diff --git a/contrib/dialog/samples/copifuncs/copi.ifmcfg4 b/contrib/dialog/samples/copifuncs/copi.ifmcfg4 deleted file mode 100755 index 57ff9fc6ad11..000000000000 --- a/contrib/dialog/samples/copifuncs/copi.ifmcfg4 +++ /dev/null @@ -1,30 +0,0 @@ -ModemHangup +++ATH\r -ModemOK OK -ModemConnect CONNECT -ModemError BUSY -ModemError NO\sCARRIER -ModemError NO\sDIAL -ModemError RING\r -ModemError ERROR - -# Call options (time, address and nodelist flag dependent) -# All matching are applied in the order they are specified. -# Possible options are "[No]Call", "[No]Hold", "[No]PUA", "[No]EMSI", -# "[No]WaZOO", "[No]Freqs", "[No]Zmodem", "[No]ZedZap", "[No]Janus", -# "[No]Hydra". Here, WaZOO stands for YooHoo/2U2 handshake, not for -# the transfer scheme. FTS-0001 handshake and DietIFNA scheme cannot -# be disallowed (because they are mandatory by standard). "Hold" -# means really hold "hold" type packets and files: do not send them -# if our system initiated the session, "NoHold" means send "hold" -# packets when our system initiated the session. "NoPUA" stands for -# "No PickUp All", i.e. PUP ("Pick Up Primary"). NoCall means do not -# perform outbound call. This flag has no effect on the nodes -# explicitly specified in the command line. -# Default options are "everything allowed". -# options ((!CM) & time Any0700-0200) Nocall -#options (time Any0900-2100 & ! address 2:5020/*) Nocall - -# EMSI data for this node -# From this line on values CANNOT be prefixed with logical expression -# For now, escaping of '}' and ']' unimplemented, try to avoid these -# characters please! diff --git a/contrib/dialog/samples/copifuncs/copi.ifmcfg5 b/contrib/dialog/samples/copifuncs/copi.ifmcfg5 deleted file mode 100755 index 8221c1cf160d..000000000000 --- a/contrib/dialog/samples/copifuncs/copi.ifmcfg5 +++ /dev/null @@ -1,14 +0,0 @@ - -# PhoneTrans lines provide rules to change phone prefixes to make local -# or long-distance calls. In the example below, my country code is 7, -# and local dialing area is 095. From the numbers starting with "7-095-" -# the prefix is stripped and the 7-digit remainder is dialed. For -# the numbers starting with "7-" but not with "7-095-", the country prefix -# "7-" is stripped and the long-distance dialing prefix "8W" substituted. -# For the numbers not matching any of the above, international -# call is performed: international dialing prefix "8W10" is prepended -# to the unmodified 11-digit number. Generally, the syntax is: -# "PhoneTrans <what-to-strip> / <what-to-substitute-instead>" -#PhoneTrans 7-095- / -#PhoneTrans 7- / 8W -#PhoneTrans / 8W10 diff --git a/contrib/dialog/samples/copifuncs/copi.ifpoll1 b/contrib/dialog/samples/copifuncs/copi.ifpoll1 deleted file mode 100755 index 812c8e9cd0da..000000000000 --- a/contrib/dialog/samples/copifuncs/copi.ifpoll1 +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/sh -# ver 0.7 -# ifpoll, poll my boss node or the node given as argument 1 -# -# i start this shell script every day by crond, but you can -# start it also by hand :) start it as the owner of ifcico. -# rasca, berlin 1993 (Rasca Gmelch, 2:2410/305.4) -# -# where "ifcico" and "ifpack" reside diff --git a/contrib/dialog/samples/copifuncs/copi.ifreq1 b/contrib/dialog/samples/copifuncs/copi.ifreq1 deleted file mode 100755 index 637293954bd5..000000000000 --- a/contrib/dialog/samples/copifuncs/copi.ifreq1 +++ /dev/null @@ -1,20 +0,0 @@ -#!/usr/bin/perl -$ver = "0.4"; -# -# this perl script is designed for the ifmail package by eugene grosser. -# -# request a file (first argument) from a fido-node (second argument), -# don't forget to quote if you use wildcards, e.g.: - -# ifreq 'files*' 2:2410/305 -# or -# ifreq 'files newfile' 2:2410/305 -# -# this perl script does only add an entry to the corresponding flo-file, -# the mailer ifcico is not started! -# -# rasca, berlin 1994 (rasca@marie.physik.tu-berlin.de, 2:2410/305.4) -# -# multi-zone support added by -# Roland Rosenfeld 15.05.1994 (roland@p13.flokiste.fido.de, 2:2450/300.13) - diff --git a/contrib/dialog/samples/copifuncs/copi.rcnews b/contrib/dialog/samples/copifuncs/copi.rcnews deleted file mode 100755 index 957a272ee496..000000000000 --- a/contrib/dialog/samples/copifuncs/copi.rcnews +++ /dev/null @@ -1,79 +0,0 @@ -#! /bin/sh -## $Revision: 1.1 $ -## News boot script. - -## =()<. @<_PATH_SHELLVARS>@>()= -. /usr/lib/news/innshellvars - -## Pick ${INND} or ${INNDSTART} -WHAT=${INNDSTART} -## Set to true or false -DOINNWATCH=false -MAIL="${MAILCMD} -s 'Boot-time Usenet warning on `hostname`' ${NEWSMASTER}" - -## RFLAG is set below; set FLAGS as appropriate. -RFLAG="" -FLAGS="-i0 -c0" - -## Clean shutdown? -if [ -f ${SERVERPID} ] ; then - ( echo 'INND: PID file exists -- unclean shutdown!' >/dev/console ) - RFLAG="-r" -fi - -if [ ! -f ${NEWSLIB}/.news.daily ] ; then - echo 'No .news.daily file; need to run news.daily?' | eval ${MAIL} -else - case `find ${NEWSLIB} -name .news.daily -mtime +1 -print 2>/dev/null` in - "") - ;; - *) - echo 'Old .news.daily file; need to run news.daily?' | eval ${MAIL} - ;; - esac -fi - -## Active file recovery. -if [ ! -s ${ACTIVE} ] ; then - if [ -s ${NEWACTIVE} ] ; then - mv ${NEWACTIVE} ${ACTIVE} - else - if [ -s ${OLDACTIVE} ] ; then - cp ${OLDACTIVE} ${ACTIVE} - else - ( echo 'INND: No active file!' >/dev/console ) - exit 1 - fi - fi - RFLAG="-r" - # You might want to rebuild the DBZ database, too: - #echo "cd ${NEWSLIB} \ - # && makehistory -r \ - # && mv history.n.dir history.dir \ - # && mv history.n.pag history.pag" | su ${NEWSUSER} -fi - -## Remove temporary batchfiles and lock files. -( cd ${BATCH} && rm -f bch* ) -( cd ${LOCKS} && rm -f LOCK* ) -( cd ${TEMPSOCKDIR} && rm -f ${TEMPSOCK} ) -rm -f ${NEWSCONTROL} ${NNTPCONNECT} ${SERVERPID} - -## Start the show. -( echo 'Starting innd.' >/dev/console ) -eval ${WHAT} ${RFLAG} ${FLAGS} - -# Gee, looks like lisp, doesn't it? -${DOINNWATCH} && { - echo "( ( sleep 60 ; ${INNWATCH} ) & )" | su ${NEWSUSER} -} - -RMFILE=${MOST_LOGS}/expire.rm -if [ -s ${MOST_LOGS}/expire.rm ] ; then - ( echo "Removing articles from pre-downtime expire run." >/dev/console ) - ( - echo 'System shut down during expire. Unlinking articles listed in' - echo ${RMFILE} - ) | eval ${MAIL} - echo "${NEWSBIN}/expirerm ${RMFILE}" | su ${NEWSUSER} & -fi diff --git a/contrib/dialog/samples/copifuncs/copi.sendifm2 b/contrib/dialog/samples/copifuncs/copi.sendifm2 deleted file mode 100755 index 1a34a1fabbc0..000000000000 --- a/contrib/dialog/samples/copifuncs/copi.sendifm2 +++ /dev/null @@ -1,15 +0,0 @@ - ${SITE} ${BATCHFILE} - - echo "${PROGNAME}: [$$] end ${SITE}" -done - -case ${HAVE_UUSTAT} in -DONT) - rm -f ${TEMP} - ;; -esac - -## Remove the lock file. -rm -f ${LOCK} - -echo "${PROGNAME}: [$$] end `date`" diff --git a/contrib/dialog/samples/copifuncs/copi.trnrc b/contrib/dialog/samples/copifuncs/copi.trnrc deleted file mode 100644 index 7be596f74db6..000000000000 --- a/contrib/dialog/samples/copifuncs/copi.trnrc +++ /dev/null @@ -1,13 +0,0 @@ -TRNINIT="-x -e -X -F\" :> \"" -HIDELINE="^X-FTN" -NEWSHEADER="Newsgroups: %(%F=^\$?%C:%F) -Subject: %(%S=^\$?%\"\n\nSubject: \":%S) -%(%R=^\$?:References: %R -)Sender: -Distribution: %(%i=^\$?%\"\nDistribution: \":%D) -Organization: %o -X-Comment-To: %f\n\n" -ATTRIBUTION="%f writes:\n" -YOUSAID="In article %i \n of newsgroup %C you write about \"%s\":\n" -MAILCALL="(New Mail)" -export NEWSHEADER HIDELINE TRNINIT ATTRIBUTION MAILCALL YOUSAID EDITOR diff --git a/contrib/dialog/samples/copifuncs/ifpatch b/contrib/dialog/samples/copifuncs/ifpatch deleted file mode 100644 index 1e7c7ee510e8..000000000000 --- a/contrib/dialog/samples/copifuncs/ifpatch +++ /dev/null @@ -1,101 +0,0 @@ ---- ifgate/message.c.orig Mon Jul 24 15:17:47 1995 -+++ ifgate/message.c Mon Jul 24 15:18:00 1995 -@@ -48,12 +48,26 @@ - if (!strcasecmp(msg->key,"X-UUCP-From")) return 0; - if (!strcasecmp(msg->key,"X-Body-Start")) return 0; - if (!strncasecmp(msg->key,"X-FTN-",6)) return 0; -- if (!strcasecmp(msg->key,"Path")) return isftnpath(msg->val)?0:1; -+ if (!strcasecmp(msg->key,"Path")) -+ -+#ifdef LESS_RFC_KLUDGES -+ return 0; -+#else -+ return isftnpath(msg->val)?0:1; -+#endif -+ - if (!strcasecmp(msg->key,"Newsgroups")) return newsmode?0:2; - if (!strcasecmp(msg->key,"Xref")) return 0; - if (!strcasecmp(msg->key,"Return-Receipt-To")) return 1; - if (!strcasecmp(msg->key,"Received")) return newsmode?0:2; -- if (!strcasecmp(msg->key,"From")) return ftnorigin?0:2; -+ if (!strcasecmp(msg->key,"From")) -+ -+#ifdef LESS_RFC_KLUDGES -+ return 0; -+#else -+ return ftnorigin?0:2; -+#endif -+ - if (!strcasecmp(msg->key,"To")) - { - if (newsmode) return 0; -@@ -66,7 +80,14 @@ - } - if (!strcasecmp(msg->key,"Cc")) return 2; - if (!strcasecmp(msg->key,"Bcc")) return 2; -- if (!strcasecmp(msg->key,"Reply-To")) return 2; -+ if (!strcasecmp(msg->key,"Reply-To")) -+ -+#ifdef LESS_RFC_KLUDGES -+ return 0; -+#else -+ return 2; -+#endif -+ - if (!strcasecmp(msg->key,"Lines")) return 0; - if (!strcasecmp(msg->key,"Date")) return 0; - if (!strcasecmp(msg->key,"Subject")) -@@ -77,8 +98,22 @@ - if (!strcasecmp(msg->key,"Organization")) return removeorg?0:1; - if (!strcasecmp(msg->key,"Comment-To")) return 0; - if (!strcasecmp(msg->key,"X-Comment-To")) return 0; -- if (!strcasecmp(msg->key,"Keywords")) return 2; -- if (!strcasecmp(msg->key,"Summary")) return 2; -+ if (!strcasecmp(msg->key,"Keywords")) -+ -+#ifdef LESS_RFC_KLUDGES -+ return 0; -+#else -+ return 2; -+#endif -+ -+ if (!strcasecmp(msg->key,"Summary")) -+ -+#ifdef LESS_RFC_KLUDGES -+ return 0; -+#else -+ return 2; -+#endif -+ - if (!strcasecmp(msg->key,"MIME-Version")) return removemime?0:1; - if (!strcasecmp(msg->key,"Content-Type")) return removemime?0:1; - if (!strcasecmp(msg->key,"Content-Length")) return removemime?0:1; -@@ -86,8 +121,26 @@ - if (!strcasecmp(msg->key,"Content-Name")) return 2; - if (!strcasecmp(msg->key,"Content-Description")) return 2; - if (!strcasecmp(msg->key,"Message-ID")) return ftnorigin?0:1; -- if (!strcasecmp(msg->key,"References")) return removeref?0:1; -- if (!strcasecmp(msg->key,"Distribution")) return ftnorigin?0:1; -+ if (!strcasecmp(msg->key,"References")) -+ -+#ifdef LESS_RFC_KLUDGES -+ return 0; -+#else -+ return removeref?0:1; -+#endif -+ -+ if (!strcasecmp(msg->key,"Distribution")) -+ -+#ifdef LESS_RFC_KLUDGES -+ return 0; -+#else -+ return ftnorigin?0:1; -+#endif -+ -+#ifdef LESS_RFC_KLUDGES -+ if (!strcasecmp(msg->key,"NNTP-Posting-Host")) return 0; -+#endif -+ - /*if (!strcasecmp(msg->key,"")) return ;*/ - return 1; - } diff --git a/contrib/dialog/samples/debian.rc b/contrib/dialog/samples/debian.rc deleted file mode 100644 index 195d79877ac1..000000000000 --- a/contrib/dialog/samples/debian.rc +++ /dev/null @@ -1,143 +0,0 @@ -# $Id: debian.rc,v 1.7 2011/10/15 01:00:09 tom Exp $ -# vile:confmode -# Run-time configuration file for dialog, matches Debian color scheme. -# (these are the default values for dialog) -# -# Types of values: -# -# Number - <number> -# String - "string" -# Boolean - <ON|OFF> -# Attribute - (foreground,background,highlight?) - -# Set aspect-ration. -aspect = 0 - -# Set separator (for multiple widgets output). -separate_widget = "" - -# Set tab-length (for textbox tab-conversion). -tab_len = 0 - -# Make tab-traversal for checklist, etc., include the list. -visit_items = OFF - -# Shadow dialog boxes? This also turns on color. -use_shadow = ON - -# Turn color support ON or OFF -use_colors = ON - -# Screen color -screen_color = (CYAN,BLUE,ON) - -# Shadow color -shadow_color = (BLACK,BLACK,ON) - -# Dialog box color -dialog_color = (BLACK,WHITE,OFF) - -# Dialog box title color -title_color = (BLUE,WHITE,ON) - -# Dialog box border color -border_color = (WHITE,WHITE,ON) - -# Active button color -button_active_color = (WHITE,BLUE,ON) - -# Inactive button color -button_inactive_color = dialog_color - -# Active button key color -button_key_active_color = button_active_color - -# Inactive button key color -button_key_inactive_color = (RED,WHITE,OFF) - -# Active button label color -button_label_active_color = (YELLOW,BLUE,ON) - -# Inactive button label color -button_label_inactive_color = (BLACK,WHITE,ON) - -# Input box color -inputbox_color = dialog_color - -# Input box border color -inputbox_border_color = dialog_color - -# Search box color -searchbox_color = dialog_color - -# Search box title color -searchbox_title_color = title_color - -# Search box border color -searchbox_border_color = border_color - -# File position indicator color -position_indicator_color = title_color - -# Menu box color -menubox_color = dialog_color - -# Menu box border color -menubox_border_color = border_color - -# Item color -item_color = dialog_color - -# Selected item color -item_selected_color = button_active_color - -# Tag color -tag_color = title_color - -# Selected tag color -tag_selected_color = button_label_active_color - -# Tag key color -tag_key_color = button_key_inactive_color - -# Selected tag key color -tag_key_selected_color = (RED,BLUE,ON) - -# Check box color -check_color = dialog_color - -# Selected check box color -check_selected_color = button_active_color - -# Up arrow color -uarrow_color = (GREEN,WHITE,ON) - -# Down arrow color -darrow_color = uarrow_color - -# Item help-text color -itemhelp_color = (WHITE,BLACK,OFF) - -# Active form text color -form_active_text_color = button_active_color - -# Form text color -form_text_color = (WHITE,CYAN,ON) - -# Readonly form item color -form_item_readonly_color = (CYAN,WHITE,ON) - -# Dialog box gauge color -gauge_color = title_color - -# Dialog box border2 color -border2_color = dialog_color - -# Input box border2 color -inputbox_border2_color = dialog_color - -# Search box border2 color -searchbox_border2_color = dialog_color - -# Menu box border2 color -menubox_border2_color = dialog_color diff --git a/contrib/dialog/samples/dft-cancel b/contrib/dialog/samples/dft-cancel deleted file mode 100755 index 2b317fc5b39c..000000000000 --- a/contrib/dialog/samples/dft-cancel +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh -# $Id: dft-cancel,v 1.2 2012/07/03 09:44:02 tom Exp $ -DIALOGOPTS="$DIALOGOPTS --extra-button --help-button --default-button cancel" "$@" diff --git a/contrib/dialog/samples/dft-extra b/contrib/dialog/samples/dft-extra deleted file mode 100755 index de08cd7aabaa..000000000000 --- a/contrib/dialog/samples/dft-extra +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh -# $Id: dft-extra,v 1.2 2012/07/03 09:44:02 tom Exp $ -DIALOGOPTS="$DIALOGOPTS --extra-button --help-button --default-button extra" "$@" diff --git a/contrib/dialog/samples/dft-help b/contrib/dialog/samples/dft-help deleted file mode 100755 index cade8a75efaa..000000000000 --- a/contrib/dialog/samples/dft-help +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh -# $Id: dft-help,v 1.2 2012/07/03 09:44:02 tom Exp $ -DIALOGOPTS="$DIALOGOPTS --extra-button --help-button --default-button help" "$@" diff --git a/contrib/dialog/samples/dft-no b/contrib/dialog/samples/dft-no deleted file mode 100755 index 172bcb2ca4b6..000000000000 --- a/contrib/dialog/samples/dft-no +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh -# $Id: dft-no,v 1.2 2012/07/03 09:44:02 tom Exp $ -DIALOGOPTS="$DIALOGOPTS --extra-button --help-button --defaultno" "$@" diff --git a/contrib/dialog/samples/dialog.py b/contrib/dialog/samples/dialog.py deleted file mode 100644 index ef6e8626b3c0..000000000000 --- a/contrib/dialog/samples/dialog.py +++ /dev/null @@ -1,354 +0,0 @@ -#!/usr/bin/python -# $Id: dialog.py,v 1.5 2019/12/10 22:52:52 tom Exp $ -# Module: dialog.py -# Copyright (c) 2000 Robb Shecter <robb@acm.org> -# All rights reserved. -# This source is covered by the GNU GPL. -# -# This module is a Python wrapper around the Linux "dialog" utility -# by Savio Lam and Stuart Herbert. My goals were to make dialog as -# easy to use from Python as possible. The demo code at the end of -# the module is a good example of how to use it. To run the demo, -# execute: -# -# python dialog.py -# -# This module has one class in it, "Dialog". An application typically -# creates an instance of it, and possibly sets the background title option. -# Then, methods can be called on it for interacting with the user. -# -# I wrote this because I want to use my 486-33 laptop as my main -# development computer (!), and I wanted a way to nicely interact with the -# user in console mode. There are apparently other modules out there -# with similar functionality, but they require the Python curses library. -# Writing this module from scratch was easier than figuring out how to -# recompile Python with curses enabled. :) -# -# One interesting feature is that the menu and selection windows allow -# *any* objects to be displayed and selected, not just strings. -# -# TO DO: -# Add code so that the input buffer is flushed before a dialog box is -# shown. This would make the UI more predictable for users. This -# feature could be turned on and off through an instance method. -# Drop using temporary files when interacting with 'dialog' -# (it's possible -- I've already tried :-). -# Try detecting the terminal window size in order to make reasonable -# height and width defaults. Hmmm - should also then check for -# terminal resizing... -# Put into a package name to make more reusable - reduce the possibility -# of name collisions. -# -# NOTES: -# there is a bug in (at least) Linux-Mandrake 7.0 Russian Edition -# running on AMD K6-2 3D that causes core dump when 'dialog' -# is running with --gauge option; -# in this case you'll have to recompile 'dialog' program. -# -# Modifications: -# Jul 2000, Sultanbek Tezadov (http://sultan.da.ru) -# Added: -# - 'gauge' widget *) -# - 'title' option to some widgets -# - 'checked' option to checklist dialog; clicking "Cancel" is now -# recognizable -# - 'selected' option to radiolist dialog; clicking "Cancel" is now -# recognizable -# - some other cosmetic changes and improvements -# - -import os -from tempfile import mktemp -from string import split -from time import sleep - -# -# Path of the dialog executable -# -DIALOG = os.getenv("DIALOG"); -if DIALOG is None: - DIALOG="../dialog"; - -class Dialog: - def __init__(self): - self.__bgTitle = '' # Default is no background title - - - def setBackgroundTitle(self, text): - self.__bgTitle = '--backtitle "%s"' % text - - - def __perform(self, cmd): - """Do the actual work of invoking dialog and getting the output.""" - fName = mktemp() - rv = os.system('%s %s %s 2> %s' % (DIALOG, self.__bgTitle, cmd, fName)) - f = open(fName) - output = f.readlines() - f.close() - os.unlink(fName) - return (rv, output) - - - def __perform_no_options(self, cmd): - """Call dialog w/out passing any more options. Needed by --clear.""" - return os.system(DIALOG + ' ' + cmd) - - - def __handleTitle(self, title): - if len(title) == 0: - return '' - else: - return '--title "%s" ' % title - - - def yesno(self, text, height=10, width=30, title=''): - """ - Put a Yes/No question to the user. - Uses the dialog --yesno option. - Returns a 1 or a 0. - """ - (code, output) = self.__perform(self.__handleTitle(title) +\ - '--yesno "%s" %d %d' % (text, height, width)) - return code == 0 - - - def msgbox(self, text, height=10, width=30, title=''): - """ - Pop up a message to the user which has to be clicked - away with "ok". - """ - self.__perform(self.__handleTitle(title) +\ - '--msgbox "%s" %d %d' % (text, height, width)) - - - def infobox(self, text, height=10, width=30): - """Make a message to the user, and return immediately.""" - self.__perform('--infobox "%s" %d %d' % (text, height, width)) - - - def inputbox(self, text, height=10, width=30, init='', title=''): - """ - Request a line of input from the user. - Returns the user's input or None if cancel was chosen. - """ - (c, o) = self.__perform(self.__handleTitle(title) +\ - '--inputbox "%s" %d %d "%s"' % (text, height, width, init)) - try: - return o[0] - except IndexError: - if c == 0: # empty string entered - return '' - else: # canceled - return None - - - def textbox(self, filename, height=20, width=60, title=None): - """Display a file in a scrolling text box.""" - if title is None: - title = filename - self.__perform(self.__handleTitle(title) +\ - ' --textbox "%s" %d %d' % (filename, height, width)) - - - def menu(self, text, height=15, width=54, list=[]): - """ - Display a menu of options to the user. This method simplifies the - --menu option of dialog, which allows for complex arguments. This - method receives a simple list of objects, and each one is assigned - a choice number. - The selected object is returned, or None if the dialog was canceled. - """ - menuheight = height - 8 - pairs = map(lambda i, item: (i + 1, item), range(len(list)), list) - choices = reduce(lambda res, pair: res + '%d "%s" ' % pair, pairs, '') - (code, output) = self.__perform('--menu "%s" %d %d %d %s' %\ - (text, height, width, menuheight, choices)) - try: - return list[int(output[0]) - 1] - except IndexError: - return None - - - def checklist(self, text, height=15, width=54, list=[], checked=None): - """ - Returns a list of the selected objects. - Returns an empty list if nothing was selected. - Returns None if the window was canceled. - checked -- a list of boolean (0/1) values; len(checked) must equal - len(list). - """ - if checked is None: - checked = [0]*len(list) - menuheight = height - 8 - triples = map( - lambda i, item, onoff, fs=('off', 'on'): (i + 1, item, fs[onoff]), - range(len(list)), list, checked) - choices = reduce(lambda res, triple: res + '%d "%s" %s ' % triple, - triples, '') - (c, o) = self.__perform('--checklist "%s" %d %d %d %s' %\ - (text, height, width, menuheight, choices)) - try: - output = o[0] - indexList = map(lambda x: int(x[1:-1]), split(output)) - objectList = filter(lambda item, list=list, indexList=indexList: - list.index(item) + 1 in indexList, - list) - return objectList - except IndexError: - if c == 0: # Nothing was selected - return [] - return None # Was canceled - - - def radiolist(self, text, height=15, width=54, list=[], selected=0): - """ - Return the selected object. - Returns empty string if no choice was selected. - Returns None if window was canceled. - selected -- the selected item (must be between 1 and len(list) - or 0, meaning no selection). - """ - menuheight = height - 8 - triples = map(lambda i, item: (i + 1, item, 'off'), - range(len(list)), list) - if selected: - i, item, tmp = triples[selected - 1] - triples[selected - 1] = (i, item, 'on') - choices = reduce(lambda res, triple: res + '%d "%s" %s ' % triple, - triples, '') - (c, o) = self.__perform('--radiolist "%s" %d %d %d %s' %\ - (text, height, width, menuheight, choices)) - try: - return list[int(o[0]) - 1] - except IndexError: - if c == 0: - return '' - return None - - - def clear(self): - """ - Clear the screen. Equivalent to the dialog --clear option. - """ - self.__perform_no_options('--clear') - - - def scrollbox(self, text, height=20, width=60, title=''): - """ - This is a bonus method. The dialog package only has a function to - display a file in a scrolling text field. This method allows any - string to be displayed by first saving it in a temp file, and calling - --textbox. - """ - fName = mktemp() - f = open(fName, 'w') - f.write(text) - f.close() - self.__perform(self.__handleTitle(title) +\ - '--textbox "%s" %d %d' % (fName, height, width)) - os.unlink(fName) - - - def gauge_start(self, perc=0, text='', height=8, width=54, title=''): - """ - Display gauge output window. - Gauge normal usage (assuming that there is an instance of 'Dialog' - class named 'd'): - d.gauge_start() - # do something - d.gauge_iterate(10) # passed through 10% - # ... - d.gauge_iterate(100, 'any text here') # work is done - d.stop_gauge() # clean-up actions - """ - cmd = self.__handleTitle(title) +\ - '--gauge "%s" %d %d %d' % (text, height, width, perc) - cmd = '%s %s %s 2> /dev/null' % (DIALOG, self.__bgTitle, cmd) - self.pipe = os.popen(cmd, 'w') - #/gauge_start() - - - def gauge_iterate(self, perc, text=''): - """ - Update percentage point value. - - See gauge_start() function above for the usage. - """ - if text: - text = 'XXX\n%d\n%s\nXXX\n' % (perc, text) - else: - text = '%d\n' % perc - self.pipe.write(text) - self.pipe.flush() - #/gauge_iterate() - - - def gauge_stop(self): - """ - Finish previously started gauge. - - See gauge_start() function above for the usage. - """ - self.pipe.close() - #/gauge_stop() - - - -# -# DEMO APPLICATION -# -if __name__ == '__main__': - """ - This demo tests all the features of the class. - """ - d = Dialog() - d.setBackgroundTitle('dialog.py demo') - - d.infobox( - "One moment... Just wasting some time here to test the infobox...") - sleep(3) - - if d.yesno("Do you like this demo?"): - d.msgbox("Excellent! Here's the source code:") - else: - d.msgbox("Send your complaints to /dev/null") - - d.textbox("dialog.py") - - name = d.inputbox("What's your name?", init="Snow White") - fday = d.menu("What's your favorite day of the week?", - list=["Monday", "Tuesday", "Wednesday", "Thursday", - "Friday (The best day of all)", "Saturday", "Sunday"]) - food = d.checklist("What sandwich toppings do you like?", - list=["Catsup", "Mustard", "Pesto", "Mayonaise", "Horse radish", - "Sun-dried tomatoes"], checked=[0,0,0,1,1,1]) - sand = d.radiolist("What's your favorite kind of sandwich?", - list=["Hamburger", "Hotdog", "Burrito", "Doener", "Falafel", - "Bagel", "Big Mac", "Whopper", "Quarter Pounder", - "Peanut Butter and Jelly", "Grilled cheese"], selected=4) - - # Prepare the message for the final window - bigMessage = "Here are some vital statistics about you:\n\nName: " + name +\ - "\nFavorite day of the week: " + fday +\ - "\nFavorite sandwich toppings:\n" - for topping in food: - bigMessage = bigMessage + " " + topping + "\n" - bigMessage = bigMessage + "Favorite sandwich: " + str(sand) - - d.scrollbox(bigMessage) - - #<># Gauge Demo - d.gauge_start(0, 'percentage: 0', title='Gauge Demo') - for i in range(1, 101): - if i < 50: - msg = 'percentage: %d' % i - elif i == 50: - msg = 'Over 50%' - else: - msg = '' - d.gauge_iterate(i, msg) - sleep(0.1) - d.gauge_stop() - #<># - - d.clear() diff --git a/contrib/dialog/samples/dselect b/contrib/dialog/samples/dselect deleted file mode 100755 index 24ea94022715..000000000000 --- a/contrib/dialog/samples/dselect +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh -# $Id: dselect,v 1.10 2020/11/26 00:09:12 tom Exp $ - -. ./setup-vars - -exec 3>&1 -returntext=`$DIALOG --title "Please choose a file" "$@" --dselect "$HOME/" 14 48 2>&1 1>&3` -returncode=$? -exec 3>&- - -. ./report-string diff --git a/contrib/dialog/samples/editbox b/contrib/dialog/samples/editbox deleted file mode 100755 index f59d344c4b3a..000000000000 --- a/contrib/dialog/samples/editbox +++ /dev/null @@ -1,45 +0,0 @@ -#!/bin/sh -# $Id: editbox,v 1.14 2020/11/26 00:03:58 tom Exp $ - -. ./setup-vars - -DIALOG_ERROR=254 -export DIALOG_ERROR - -. ./setup-edit - -cat << EOF > $input -Hi, this is an edit box. It can be used to edit text from a file. - -It's like a simple text editor, with these keys implemented: - -PGDN - Move down one page -PGUP - Move up one page -DOWN - Move down one line -UP - Move up one line -DELETE - Delete the current character -BACKSPC - Delete the previous character - -Unlike Xdialog, it does not do these: - -CTRL C - Copy text -CTRL V - Paste text - -Because dialog normally uses TAB for moving between fields, -this editbox uses CTRL/V as a literal-next character. You -can enter TAB characters by first pressing CTRL/V. This -example contains a few tab characters. - -It supports the mouse - but only for positioning in the editbox, -or for clicking on buttons. Your terminal (emulator) may support -cut/paste. - -Try to input some text below: - -EOF - -$DIALOG --title "EDIT BOX" \ - --fixed-font "$@" --editbox $input 0 0 2>$output -returncode=$? - -. ./report-edit diff --git a/contrib/dialog/samples/editbox-utf8 b/contrib/dialog/samples/editbox-utf8 deleted file mode 100755 index aac84714566c..000000000000 --- a/contrib/dialog/samples/editbox-utf8 +++ /dev/null @@ -1,35 +0,0 @@ -#!/bin/sh -# $Id: editbox-utf8,v 1.10 2020/11/26 00:03:58 tom Exp $ - -. ./setup-vars - -. ./setup-tempfile - -. ./setup-utf8 - -. ./setup-edit - -cat << EOF > $input -Hi, this is a edit box. You can use this to -allow the user to enter or modify free-form text. - -Try it now! - - ----------- -------------------------------- - Choose Description of the OS you like - ----------- -------------------------------- - Linux The Great Unix Clone for 386/486 - NetBSD Another free Unix Clone for 386/486 - OS/ï¼’ IBM OS/2 - WIN NT Microsoft Windows NT - PCDOS IBM PC DOS - MSDOS Microsoft DOS - ----------- -------------------------------- - ----------- -------------------------------- -EOF - -$DIALOG --title "EDIT BOX" \ - --fixed-font "$@" --editbox $input 0 0 2>$output -returncode=$? - -. ./report-edit diff --git a/contrib/dialog/samples/editbox2 b/contrib/dialog/samples/editbox2 deleted file mode 100755 index e483c2d36e85..000000000000 --- a/contrib/dialog/samples/editbox2 +++ /dev/null @@ -1,45 +0,0 @@ -#!/bin/sh -# $Id: editbox2,v 1.8 2020/11/26 00:03:58 tom Exp $ -# example with extra- and help-buttons - -. ./setup-vars - -. ./setup-edit - -cat << EOF > $input -Hi, this is an edit box. It can be used to edit text from a file. - -It's like a simple text editor, with these keys implemented: - -PGDN - Move down one page -PGUP - Move up one page -DOWN - Move down one line -UP - Move up one line -DELETE - Delete the current character -BACKSPC - Delete the previous character - -Unlike Xdialog, it does not do these: - -CTRL C - Copy text -CTRL V - Paste text - -Because dialog normally uses TAB for moving between fields, -this editbox uses CTRL/V as a literal-next character. You -can enter TAB characters by first pressing CTRL/V. This -example contains a few tab characters. - -It supports the mouse - but only for positioning in the editbox, -or for clicking on buttons. Your terminal (emulator) may support -cut/paste. - -Try to input some text below: - -EOF - -$DIALOG --title "EDIT BOX" \ - --extra-button \ - --help-button \ - --fixed-font "$@" --editbox $input 0 0 2>$output -returncode=$? - -. ./report-edit diff --git a/contrib/dialog/samples/editbox3 b/contrib/dialog/samples/editbox3 deleted file mode 100755 index 6e96ff5d1885..000000000000 --- a/contrib/dialog/samples/editbox3 +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# $Id: editbox3,v 1.8 2020/11/26 00:03:58 tom Exp $ -# example with extra- and help-buttons - -. ./setup-vars - -. ./setup-edit - -cat << EOF > $input -EOF - -$DIALOG --title "EDIT BOX" \ - --extra-button \ - --help-button \ - --fixed-font "$@" --editbox $input 0 0 2>$output -returncode=$? - -. ./report-edit diff --git a/contrib/dialog/samples/editbox4 b/contrib/dialog/samples/editbox4 deleted file mode 100755 index 68daf836c64e..000000000000 --- a/contrib/dialog/samples/editbox4 +++ /dev/null @@ -1,45 +0,0 @@ -#!/bin/sh -# $Id: editbox4,v 1.2 2020/11/26 00:03:58 tom Exp $ - -. ./setup-vars - -DIALOG_ERROR=254 -export DIALOG_ERROR - -. ./setup-edit - -cat << EOF > $input -Hi, this is an edit box. It can be used to edit text from a file. - -It's like a simple text editor, with these keys implemented: - -PGDN - Move down one page -PGUP - Move up one page -DOWN - Move down one line -UP - Move up one line -DELETE - Delete the current character -BACKSPC - Delete the previous character - -Unlike Xdialog, it does not do these: - -CTRL C - Copy text -CTRL V - Paste text - -Because dialog normally uses TAB for moving between fields, -this editbox uses CTRL/V as a literal-next character. You -can enter TAB characters by first pressing CTRL/V. This -example contains a few tab characters. - -It supports the mouse - but only for positioning in the editbox, -or for clicking on buttons. Your terminal (emulator) may support -cut/paste. - -Try to input some text below: - -EOF - -$DIALOG --title "EDIT BOX" \ - --fixed-font "$@" --editbox $input 20 40 2>$output -returncode=$? - -. ./report-edit diff --git a/contrib/dialog/samples/form1 b/contrib/dialog/samples/form1 deleted file mode 100755 index b739196187bc..000000000000 --- a/contrib/dialog/samples/form1 +++ /dev/null @@ -1,71 +0,0 @@ -#! /bin/sh -# $Id: form1,v 1.18 2020/11/26 00:34:39 tom Exp $ - -. ./setup-vars - -DIALOG_ERROR=254 -export DIALOG_ERROR - -backtitle="An Example for the use of --form:" - -ids=`id|sed -e 's/([^)]*)//g'` -uid=`echo "$ids" | sed -e 's/^uid=//' -e 's/ .*//'` -gid=`echo "$ids" | sed -e 's/^.* gid=//' -e 's/ .*//'` - -user="$USER" -home="$HOME" - -returncode=0 -while test $returncode != 1 && test $returncode != 250 -do -exec 3>&1 -returntext=`$DIALOG --ok-label "Submit" \ - --backtitle "$backtitle" "$@" \ - --form "Here is a possible piece of a configuration program." \ -20 50 0 \ - "Username:" 1 1 "$user" 1 10 10 0 \ - "UID:" 2 1 "$uid" 2 10 8 0 \ - "GID:" 3 1 "$gid" 3 10 8 0 \ - "HOME:" 4 1 "$home" 4 10 40 0 \ -2>&1 1>&3` -returncode=$? -exec 3>&- - -show=`echo "$returntext" |sed -e 's/^/ /'` - - case $returncode in - $DIALOG_CANCEL) - "$DIALOG" \ - --clear \ - --backtitle "$backtitle" \ - --yesno "Really quit?" 10 30 - case $? in - $DIALOG_OK) - break - ;; - $DIALOG_CANCEL) - returncode=99 - ;; - esac - ;; - $DIALOG_OK) - "$DIALOG" \ - --clear \ - --backtitle "$backtitle" --no-collapse --cr-wrap \ - --msgbox "Resulting data:\n\ -$show" 10 40 - ;; - $DIALOG_HELP) - echo "Button 2 (Help) pressed." - exit - ;; - $DIALOG_EXTRA) - echo "Button 3 (Extra) pressed." - exit - ;; - *) - . ./report-button - exit - ;; - esac -done diff --git a/contrib/dialog/samples/form1-both b/contrib/dialog/samples/form1-both deleted file mode 100755 index 36aa560e36bb..000000000000 --- a/contrib/dialog/samples/form1-both +++ /dev/null @@ -1,61 +0,0 @@ -#! /bin/sh -# $Id: form1-both,v 1.8 2020/11/26 00:34:22 tom Exp $ - -. ./setup-vars - -backtitle="An Example for the use of --form:" - -ids=`id|sed -e 's/([^)]*)//g'` -uid=`echo "$ids" | sed -e 's/^uid=//' -e 's/ .*//'` -gid=`echo "$ids" | sed -e 's/^.* gid=//' -e 's/ .*//'` - -user="$USER" -home="$HOME" - -returncode=0 -while test $returncode != 1 && test $returncode != 250 -do -exec 3>&1 -returntext=`$DIALOG --ok-label "Submit" \ - --extra-button --help-button \ - --backtitle "$backtitle" "$@" \ - --form "Here is a possible piece of a configuration program." \ -20 50 0 \ - "Username:" 1 1 "$user" 1 10 10 0 \ - "UID:" 2 1 "$uid" 2 10 8 0 \ - "GID:" 3 1 "$gid" 3 10 8 0 \ - "HOME:" 4 1 "$home" 4 10 40 0 \ -2>&1 1>&3` -returncode=$? -exec 3>&- - -show=`echo "$returntext" |sed -e 's/^/ /'` - - case $returncode in - $DIALOG_CANCEL) - "$DIALOG" \ - --clear \ - --backtitle "$backtitle" \ - --yesno "Really quit?" 10 30 - case $? in - $DIALOG_OK) - break - ;; - $DIALOG_CANCEL) - returncode=99 - ;; - esac - ;; - $DIALOG_OK) - "$DIALOG" \ - --clear \ - --backtitle "$backtitle" --no-collapse --cr-wrap \ - --msgbox "Resulting data:\n\ -$show" 10 40 - ;; - *) - . ./report-button - exit - ;; - esac -done diff --git a/contrib/dialog/samples/form1-extra b/contrib/dialog/samples/form1-extra deleted file mode 100755 index 46018f808996..000000000000 --- a/contrib/dialog/samples/form1-extra +++ /dev/null @@ -1,61 +0,0 @@ -#! /bin/sh -# $Id: form1-extra,v 1.8 2020/11/26 00:34:05 tom Exp $ - -. ./setup-vars - -backtitle="An Example for the use of --form:" - -ids=`id|sed -e 's/([^)]*)//g'` -uid=`echo "$ids" | sed -e 's/^uid=//' -e 's/ .*//'` -gid=`echo "$ids" | sed -e 's/^.* gid=//' -e 's/ .*//'` - -user="$USER" -home="$HOME" - -returncode=0 -while test $returncode != 1 && test $returncode != 250 -do -exec 3>&1 -returntext=`$DIALOG --ok-label "Submit" \ - --extra-button \ - --backtitle "$backtitle" "$@" \ - --form "Here is a possible piece of a configuration program." \ -20 50 0 \ - "Username:" 1 1 "$user" 1 10 10 0 \ - "UID:" 2 1 "$uid" 2 10 8 0 \ - "GID:" 3 1 "$gid" 3 10 8 0 \ - "HOME:" 4 1 "$home" 4 10 40 0 \ -2>&1 1>&3` -returncode=$? -exec 3>&- - -show=`echo "$returntext" |sed -e 's/^/ /'` - - case $returncode in - $DIALOG_CANCEL) - "$DIALOG" \ - --clear \ - --backtitle "$backtitle" \ - --yesno "Really quit?" 10 30 - case $? in - $DIALOG_OK) - break - ;; - $DIALOG_CANCEL) - returncode=99 - ;; - esac - ;; - $DIALOG_OK) - "$DIALOG" \ - --clear \ - --backtitle "$backtitle" --no-collapse --cr-wrap \ - --msgbox "Resulting data:\n\ -$show" 10 40 - ;; - *) - . ./report-button - exit - ;; - esac -done diff --git a/contrib/dialog/samples/form1-help b/contrib/dialog/samples/form1-help deleted file mode 100755 index 9dcd3ca66de6..000000000000 --- a/contrib/dialog/samples/form1-help +++ /dev/null @@ -1,61 +0,0 @@ -#! /bin/sh -# $Id: form1-help,v 1.8 2020/11/26 00:33:42 tom Exp $ - -. ./setup-vars - -backtitle="An Example for the use of --form:" - -ids=`id|sed -e 's/([^)]*)//g'` -uid=`echo "$ids" | sed -e 's/^uid=//' -e 's/ .*//'` -gid=`echo "$ids" | sed -e 's/^.* gid=//' -e 's/ .*//'` - -user="$USER" -home="$HOME" - -returncode=0 -while test $returncode != 1 && test $returncode != 250 -do -exec 3>&1 -returntext=`$DIALOG --ok-label "Submit" \ - --help-button \ - --backtitle "$backtitle" "$@" \ - --form "Here is a possible piece of a configuration program." \ -20 50 0 \ - "Username:" 1 1 "$user" 1 10 10 0 \ - "UID:" 2 1 "$uid" 2 10 8 0 \ - "GID:" 3 1 "$gid" 3 10 8 0 \ - "HOME:" 4 1 "$home" 4 10 40 0 \ -2>&1 1>&3` -returncode=$? -exec 3>&- - -show=`echo "$returntext" |sed -e 's/^/ /'` - - case $returncode in - $DIALOG_CANCEL) - "$DIALOG" \ - --clear \ - --backtitle "$backtitle" \ - --yesno "Really quit?" 10 30 - case $? in - $DIALOG_OK) - break - ;; - $DIALOG_CANCEL) - returncode=99 - ;; - esac - ;; - $DIALOG_OK) - "$DIALOG" \ - --clear \ - --backtitle "$backtitle" --no-collapse --cr-wrap \ - --msgbox "Resulting data:\n\ -$show" 10 40 - ;; - *) - . ./report-button - exit - ;; - esac -done diff --git a/contrib/dialog/samples/form1-utf8 b/contrib/dialog/samples/form1-utf8 deleted file mode 100755 index 21d655d61ae4..000000000000 --- a/contrib/dialog/samples/form1-utf8 +++ /dev/null @@ -1,63 +0,0 @@ -#! /bin/sh -# $Id: form1-utf8,v 1.10 2020/11/26 00:33:23 tom Exp $ - -. ./setup-vars - -. ./setup-utf8 - -backtitle="An Example for the use of --form:" - -ids=`id|sed -e 's/([^)]*)//g'` -uid=`echo "$ids" | sed -e 's/^uid=//' -e 's/ .*//'` -gid=`echo "$ids" | sed -e 's/^.* gid=//' -e 's/ .*//'` - -user="DOG" -home=/usr/home/$user - -returncode=0 -while test $returncode != 1 && test $returncode != 250 -do -exec 3>&1 -returntext=`$DIALOG --ok-label "Submit" \ - --backtitle "$backtitle" \ - --insecure "$@" \ - --form "Here is a possible piece of a configuration program." \ -20 50 0 \ - "Username:" 1 1 "$user" 1 10 10 0 \ - "UID:" 2 1 "$uid" 2 10 8 0 \ - "GID:" 3 1 "$gid" 3 10 8 0 \ - "HOME:" 4 1 "$home" 4 10 40 0 \ -2>&1 1>&3` -returncode=$? -exec 3>&- - -show=`echo "$returntext" |sed -e 's/^/ /'` - - case $returncode in - $DIALOG_CANCEL) - "$DIALOG" \ - --clear \ - --backtitle "$backtitle" \ - --yesno "Really quit?" 10 30 - case $? in - $DIALOG_OK) - break - ;; - $DIALOG_CANCEL) - returncode=99 - ;; - esac - ;; - $DIALOG_OK) - "$DIALOG" \ - --clear \ - --backtitle "$backtitle" --no-collapse --cr-wrap \ - --msgbox "Resulting data:\n\ -$show" 10 40 - ;; - *) - . ./report-button - exit - ;; - esac -done diff --git a/contrib/dialog/samples/form2 b/contrib/dialog/samples/form2 deleted file mode 100755 index ab2fe430501a..000000000000 --- a/contrib/dialog/samples/form2 +++ /dev/null @@ -1,84 +0,0 @@ -#! /bin/sh -# $Id: form2,v 1.12 2020/11/26 00:33:02 tom Exp $ - -. ./setup-vars - -backtitle="An Example for the use of --form:" - -ids=`id|sed -e 's/([^)]*)//g'` -uid=`echo "$ids" | sed -e 's/^uid=//' -e 's/ .*//'` -gid=`echo "$ids" | sed -e 's/^.* gid=//' -e 's/ .*//'` - -user="$USER" -home="$HOME" - -returncode=0 -while test $returncode != 1 && test $returncode != 250 -do -exec 3>&1 -returntext=`$DIALOG --ok-label "Submit" \ - --backtitle "$backtitle" "$@" \ - --form "Here is a possible piece of a configuration program." \ -0 0 10 \ - "1 Username:" 1 1 "$user" 1 12 10 10 \ - "1 UID:" 2 1 "$uid" 2 12 10 10 \ - "1 GID:" 3 1 "$gid" 3 12 10 10 \ - "1 HOME:" 4 1 "$home" 4 12 10 10 \ - "2 Username:" 5 1 "$user" 5 12 10 10 \ - "2 UID:" 6 1 "$uid" 6 12 10 10 \ - "2 GID:" 7 1 "$gid" 7 12 10 10 \ - "2 HOME:" 8 1 "$home" 8 12 10 10 \ - "3 Username:" 9 1 "$user" 9 12 10 10 \ - "3 UID:" 10 1 "$uid" 10 12 10 10 \ - "3 GID:" 11 1 "$gid" 11 12 10 10 \ - "3 HOME:" 12 1 "$home" 12 12 10 10 \ - "4 Username:" 13 1 "$user" 13 12 10 10 \ - "4 UID:" 14 1 "$uid" 14 12 10 10 \ - "4 GID:" 15 1 "$gid" 15 12 10 10 \ - "4 HOME:" 16 1 "$home" 16 12 10 10 \ - "5 Username:" 17 1 "$user" 17 12 10 10 \ - "5 UID:" 18 1 "$uid" 18 12 10 10 \ - "5 GID:" 19 1 "$gid" 19 12 10 10 \ - "5 HOME:" 20 1 "$home" 20 12 10 10 \ - "6 Username:" 21 1 "$user" 21 12 10 10 \ - "6 UID:" 22 1 "$uid" 22 12 10 10 \ - "6 GID:" 23 1 "$gid" 23 12 10 10 \ - "6 HOME:" 24 1 "$home" 24 12 10 10 \ - "7 Username:" 25 1 "$user" 25 12 10 10 \ - "7 UID:" 26 1 "$uid" 26 12 10 10 \ - "7 GID:" 27 1 "$gid" 27 12 10 10 \ - "7 HOME:" 28 1 "$home" 28 12 10 10 \ -2>&1 1>&3` -returncode=$? -exec 3>&- - -show=`echo "$returntext" |sed -e 's/^/ /'` - - case $returncode in - $DIALOG_CANCEL) - "$DIALOG" \ - --clear \ - --backtitle "$backtitle" \ - --yesno "Really quit?" 10 30 - case $? in - $DIALOG_OK) - break - ;; - $DIALOG_CANCEL) - returncode=99 - ;; - esac - ;; - $DIALOG_OK) - "$DIALOG" \ - --clear \ - --backtitle "$backtitle" --no-collapse --cr-wrap \ - --msgbox "Resulting data:\n\ -$show" 0 0 - ;; - *) - . ./report-button - exit - ;; - esac -done diff --git a/contrib/dialog/samples/form3 b/contrib/dialog/samples/form3 deleted file mode 100755 index 9a6b256b363f..000000000000 --- a/contrib/dialog/samples/form3 +++ /dev/null @@ -1,69 +0,0 @@ -#! /bin/sh -# $Id: form3,v 1.9 2020/11/26 00:32:45 tom Exp $ -# form1 with --help-button - -. ./setup-vars - -backtitle="An Example for the use of --form:" - -ids=`id|sed -e 's/([^)]*)//g'` -uid=`echo "$ids" | sed -e 's/^uid=//' -e 's/ .*//'` -gid=`echo "$ids" | sed -e 's/^.* gid=//' -e 's/ .*//'` - -user="$USER" -home="$HOME" - -returncode=0 -while test $returncode != 1 && test $returncode != 250 -do -exec 3>&1 -returntext=`$DIALOG --ok-label "Submit" \ - --help-button \ - --backtitle "$backtitle" "$@" \ - --form "Here is a possible piece of a configuration program." \ -20 50 0 \ - "Username:" 1 1 "$user" 1 10 10 0 \ - "UID:" 2 1 "$uid" 2 10 8 0 \ - "GID:" 3 1 "$gid" 3 10 8 0 \ - "HOME:" 4 1 "$home" 4 10 40 0 \ -2>&1 1>&3` -returncode=$? -exec 3>&- - -show=`echo "$returntext" |sed -e 's/^/ /'` - - case $returncode in - $DIALOG_CANCEL) - "$DIALOG" \ - --clear \ - --backtitle "$backtitle" \ - --yesno "Really quit?" 10 30 - case $? in - $DIALOG_OK) - break - ;; - $DIALOG_CANCEL) - returncode=99 - ;; - esac - ;; - $DIALOG_OK) - "$DIALOG" \ - --clear \ - --backtitle "$backtitle" --no-collapse --cr-wrap \ - --msgbox "Resulting data:\n\ -$show" 10 40 - ;; - $DIALOG_HELP) - "$DIALOG" \ - --clear \ - --backtitle "$backtitle" --no-collapse --cr-wrap \ - --msgbox "Help data:\n\ -$show" 10 40 - ;; - *) - . ./report-button - exit - ;; - esac -done diff --git a/contrib/dialog/samples/form4 b/contrib/dialog/samples/form4 deleted file mode 100755 index 1e5d5b0e7f3c..000000000000 --- a/contrib/dialog/samples/form4 +++ /dev/null @@ -1,70 +0,0 @@ -#! /bin/sh -# $Id: form4,v 1.9 2020/11/26 00:32:31 tom Exp $ -# form3 with --item-help - -. ./setup-vars - -backtitle="An Example for the use of --form:" - -ids=`id|sed -e 's/([^)]*)//g'` -uid=`echo "$ids" | sed -e 's/^uid=//' -e 's/ .*//'` -gid=`echo "$ids" | sed -e 's/^.* gid=//' -e 's/ .*//'` - -user="$USER" -home="$HOME" - -returncode=0 -while test $returncode != 1 && test $returncode != 250 -do -exec 3>&1 -returntext=`$DIALOG --ok-label "Submit" \ - --help-button \ - --item-help \ - --backtitle "$backtitle" "$@" \ - --form "Here is a possible piece of a configuration program." \ -20 50 0 \ - "Username:" 1 1 "$user" 1 10 10 0 "Login name" \ - "UID:" 2 1 "$uid" 2 10 8 0 "User ID" \ - "GID:" 3 1 "$gid" 3 10 8 0 "Group ID" \ - "HOME:" 4 1 "$home" 4 10 40 0 "User's home-directory" \ -2>&1 1>&3` -returncode=$? -exec 3>&- - -show=`echo "$returntext" |sed -e 's/^/ /'` - - case $returncode in - $DIALOG_CANCEL) - "$DIALOG" \ - --clear \ - --backtitle "$backtitle" \ - --yesno "Really quit?" 10 30 - case $? in - $DIALOG_OK) - break - ;; - $DIALOG_CANCEL) - returncode=99 - ;; - esac - ;; - $DIALOG_OK) - "$DIALOG" \ - --clear \ - --backtitle "$backtitle" --no-collapse --cr-wrap \ - --msgbox "Resulting data:\n\ -$show" 10 40 - ;; - $DIALOG_HELP) - "$DIALOG" \ - --clear \ - --backtitle "$backtitle" --no-collapse --cr-wrap \ - --msgbox "Help data:\n\ -$show" 10 40 - ;; - *) - . ./report-button - exit - ;; - esac -done diff --git a/contrib/dialog/samples/form5 b/contrib/dialog/samples/form5 deleted file mode 100755 index 253434110b5e..000000000000 --- a/contrib/dialog/samples/form5 +++ /dev/null @@ -1,71 +0,0 @@ -#! /bin/sh -# $Id: form5,v 1.9 2020/11/26 00:32:17 tom Exp $ -# form4 with --help-status - -. ./setup-vars - -backtitle="An Example for the use of --form:" - -ids=`id|sed -e 's/([^)]*)//g'` -uid=`echo "$ids" | sed -e 's/^uid=//' -e 's/ .*//'` -gid=`echo "$ids" | sed -e 's/^.* gid=//' -e 's/ .*//'` - -user="$USER" -home="$HOME" - -returncode=0 -while test $returncode != 1 && test $returncode != 250 -do -exec 3>&1 -returntext=`$DIALOG --ok-label "Submit" \ - --help-status \ - --help-button \ - --item-help \ - --backtitle "$backtitle" "$@" \ - --form "Here is a possible piece of a configuration program." \ -20 50 0 \ - "Username:" 1 1 "$user" 1 10 10 0 "Login name" \ - "UID:" 2 1 "$uid" 2 10 8 0 "User ID" \ - "GID:" 3 1 "$gid" 3 10 8 0 "Group ID" \ - "HOME:" 4 1 "$home" 4 10 40 0 "User's home-directory" \ -2>&1 1>&3` -returncode=$? -exec 3>&- - -show=`echo "$returntext" |sed -e 's/^/ /'` - - case $returncode in - $DIALOG_CANCEL) - "$DIALOG" \ - --clear \ - --backtitle "$backtitle" \ - --yesno "Really quit?" 10 30 - case $? in - $DIALOG_OK) - break - ;; - $DIALOG_CANCEL) - returncode=99 - ;; - esac - ;; - $DIALOG_OK) - "$DIALOG" \ - --clear \ - --backtitle "$backtitle" --no-collapse --cr-wrap \ - --msgbox "Resulting data:\n\ -$show" 10 40 - ;; - $DIALOG_HELP) - "$DIALOG" \ - --clear \ - --backtitle "$backtitle" --no-collapse --cr-wrap \ - --msgbox "Help data:\n\ -$show" 10 40 - ;; - *) - . ./report-button - exit - ;; - esac -done diff --git a/contrib/dialog/samples/form6 b/contrib/dialog/samples/form6 deleted file mode 100755 index 29195b9f8322..000000000000 --- a/contrib/dialog/samples/form6 +++ /dev/null @@ -1,71 +0,0 @@ -#! /bin/sh -# $Id: form6,v 1.8 2020/11/26 00:31:55 tom Exp $ -# form4 with --help-status - -. ./setup-vars - -backtitle="An Example for the use of --form:" - -ids=`id|sed -e 's/([^)]*)//g'` -uid=`echo "$ids" | sed -e 's/^uid=//' -e 's/ .*//'` -gid=`echo "$ids" | sed -e 's/^.* gid=//' -e 's/ .*//'` - -user="$USER" -home="$HOME" - -returncode=0 -while test $returncode != 1 && test $returncode != 250 -do -exec 3>&1 -returntext=`$DIALOG --ok-label "Submit" \ - --help-status \ - --help-button \ - --item-help \ - --backtitle "$backtitle" "$@" \ - --form "Here is a possible piece of a configuration program." \ -20 50 0 \ - "Username:" 1 1 "$user" 1 10 -9 9 "Login name" \ - "UID:" 2 1 "$uid" 2 10 8 0 "User ID" \ - "GID:" 3 1 "$gid" 3 10 8 0 "Group ID" \ - "HOME:" 4 1 "$home" 4 10 40 0 "User's home-directory" \ -2>&1 1>&3` -returncode=$? -exec 3>&- - -show=`echo "$returntext" |sed -e 's/^/ /'` - - case $returncode in - $DIALOG_CANCEL) - "$DIALOG" \ - --clear \ - --backtitle "$backtitle" \ - --yesno "Really quit?" 10 30 - case $? in - $DIALOG_OK) - break - ;; - $DIALOG_CANCEL) - returncode=99 - ;; - esac - ;; - $DIALOG_OK) - "$DIALOG" \ - --clear \ - --backtitle "$backtitle" --no-collapse --cr-wrap \ - --msgbox "Resulting data:\n\ -$show" 10 40 - ;; - $DIALOG_HELP) - "$DIALOG" \ - --clear \ - --backtitle "$backtitle" --no-collapse --cr-wrap \ - --msgbox "Help data:\n\ -$show" 10 40 - ;; - *) - . ./report-button - exit - ;; - esac -done diff --git a/contrib/dialog/samples/fselect b/contrib/dialog/samples/fselect deleted file mode 100755 index 45bb68da4874..000000000000 --- a/contrib/dialog/samples/fselect +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh -# $Id: fselect,v 1.14 2020/11/26 00:09:12 tom Exp $ - -. ./setup-vars - -exec 3>&1 -returntext=`$DIALOG --title "Please choose a file" "$@" --fselect "$HOME/" 14 48 2>&1 1>&3` -returncode=$? -exec 3>&- - -. ./report-string diff --git a/contrib/dialog/samples/fselect-stdout b/contrib/dialog/samples/fselect-stdout deleted file mode 100755 index 0f2f5cbf21cf..000000000000 --- a/contrib/dialog/samples/fselect-stdout +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/sh -# $Id: fselect-stdout,v 1.9 2020/11/26 00:09:12 tom Exp $ - -. ./setup-vars - -returntext=`$DIALOG --stdout --title "Please choose a file" "$@" --fselect "$HOME/" 14 48` -returncode=$? - -. ./report-string diff --git a/contrib/dialog/samples/fselect0 b/contrib/dialog/samples/fselect0 deleted file mode 100755 index 49249b43a071..000000000000 --- a/contrib/dialog/samples/fselect0 +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh -# $Id: fselect0,v 1.3 2020/11/26 00:09:12 tom Exp $ - -. ./setup-vars - -exec 3>&1 -returntext=`$DIALOG --title "Please choose a file" "$@" --fselect '' 14 48 2>&1 1>&3` -returncode=$? -exec 3>&- - -. ./report-string diff --git a/contrib/dialog/samples/fselect1 b/contrib/dialog/samples/fselect1 deleted file mode 100755 index 4b312673c497..000000000000 --- a/contrib/dialog/samples/fselect1 +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# $Id: fselect1,v 1.12 2020/11/26 00:09:12 tom Exp $ - -. ./setup-vars - -FILE=$HOME -for n in .cshrc .profile .bashrc -do - if test -f "$HOME/$n" ; then - FILE=$HOME/$n - break - fi -done - -exec 3>&1 -returntext=`$DIALOG --title "Please choose a file" "$@" --fselect "$FILE" 14 48 2>&1 1>&3` -returncode=$? -exec 3>&- - -. ./report-string diff --git a/contrib/dialog/samples/fselect1-stdout b/contrib/dialog/samples/fselect1-stdout deleted file mode 100755 index b1406837ffee..000000000000 --- a/contrib/dialog/samples/fselect1-stdout +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# $Id: fselect1-stdout,v 1.9 2020/11/26 00:09:12 tom Exp $ - -. ./setup-vars - -FILE=$HOME -for n in .cshrc .profile .bashrc -do - if test -f "$HOME/$n" ; then - FILE=$HOME/$n - break - fi -done - -returntext=`$DIALOG --stdout --title "Please choose a file" "$@" --fselect "$FILE" 14 48` -returncode=$? - -. ./report-string diff --git a/contrib/dialog/samples/fselect2 b/contrib/dialog/samples/fselect2 deleted file mode 100755 index 63526dce5a26..000000000000 --- a/contrib/dialog/samples/fselect2 +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh -# $Id: fselect2,v 1.11 2020/11/26 00:09:12 tom Exp $ - -. ./setup-vars - -exec 3>&1 -returntext=`$DIALOG --title "Please choose a file" "$@" --fselect "$HOME/" 0 0 2>&1 1>&3` -returncode=$? -exec 3>&- - -. ./report-string diff --git a/contrib/dialog/samples/fselect2-stdout b/contrib/dialog/samples/fselect2-stdout deleted file mode 100755 index c2c188ac6584..000000000000 --- a/contrib/dialog/samples/fselect2-stdout +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/sh -# $Id: fselect2-stdout,v 1.9 2020/11/26 00:09:12 tom Exp $ - -. ./setup-vars - -returntext=`$DIALOG --stdout --title "Please choose a file" "$@" --fselect "$HOME/" 0 0` -returncode=$? - -. ./report-string diff --git a/contrib/dialog/samples/gauge b/contrib/dialog/samples/gauge deleted file mode 100755 index 80dc188dc1c1..000000000000 --- a/contrib/dialog/samples/gauge +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/sh -# $Id: gauge,v 1.7 2010/01/13 10:20:03 tom Exp $ - -. ./setup-vars - -PCT=10 -( -while test $PCT != 100 -do -cat <<EOF -XXX -$PCT -The new\n\ -message ($PCT percent) -XXX -EOF -PCT=`expr $PCT + 10` -sleep 1 -done -) | - -$DIALOG --title "GAUGE" "$@" --gauge "Hi, this is a gauge widget" 20 70 0 diff --git a/contrib/dialog/samples/gauge0 b/contrib/dialog/samples/gauge0 deleted file mode 100755 index 97e654cef718..000000000000 --- a/contrib/dialog/samples/gauge0 +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/sh -# $Id: gauge0,v 1.7 2010/01/13 10:20:03 tom Exp $ - -. ./setup-vars - -PCT=10 -( -sleep 1 -while test $PCT != 110 -do -cat <<EOF -XXX -$PCT -The new\n\ -message ($PCT percent) -XXX -EOF -PCT=`expr $PCT + 10` -sleep 1 -done -) | - -$DIALOG --title "GAUGE" "$@" --gauge "Hi, this is a gauge widget" 0 0 0 diff --git a/contrib/dialog/samples/gauge0-input-fd b/contrib/dialog/samples/gauge0-input-fd deleted file mode 100755 index 0b96fe4a7565..000000000000 --- a/contrib/dialog/samples/gauge0-input-fd +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/sh -# $Id: gauge0-input-fd,v 1.5 2010/01/13 10:20:03 tom Exp $ -# modified "gauge0" script to use "--input-fd" option. - -. ./setup-vars - -exec 3<&0 -PCT=10 -( -sleep 1 -while test $PCT != 110 -do -cat <<EOF -XXX -$PCT -The new\n\ -message ($PCT percent) -XXX -EOF -PCT=`expr $PCT + 10` -sleep 1 -done -) | - -$DIALOG --title "GAUGE" --input-fd 3 "$@" --gauge "Hi, this is a gauge widget" 0 0 0 - -exec 3<&- diff --git a/contrib/dialog/samples/gauge2 b/contrib/dialog/samples/gauge2 deleted file mode 100755 index f791410673af..000000000000 --- a/contrib/dialog/samples/gauge2 +++ /dev/null @@ -1,28 +0,0 @@ -#!/bin/sh -# $Id: gauge2,v 1.9 2019/12/10 23:37:10 tom Exp $ -# The original dialog program assumed the first line after the first "XXX" -# was a percentage value (compare with "gauge" script). - -. ./setup-vars - -(echo "10" ; sleep 2 ; - -cat <<"EOF" -XXX -The new -\n -message -XXX -20 -EOF -sleep 2; - -echo "75" ; sleep 1 -echo "100") | \ - -$DIALOG --title "GAUGE" "$@" --gauge "Hi, this is a gauge widget" 10 40 0 - -if [ "$?" = "$DIALOG_ESC" ] ; then - echo "" - echo "Box closed !" -fi diff --git a/contrib/dialog/samples/infobox b/contrib/dialog/samples/infobox deleted file mode 100755 index 9f2da62c4a55..000000000000 --- a/contrib/dialog/samples/infobox +++ /dev/null @@ -1,21 +0,0 @@ -#! /bin/sh -# $Id: infobox,v 1.9 2019/12/10 23:37:10 tom Exp $ - -. ./setup-vars - -left=10 -unit="seconds" -while test $left != 0 -do - -$DIALOG --sleep 1 \ - --title "INFO BOX" "$@" \ - --infobox "Hi, this is an information box. It is -different from a message box: it will -not pause waiting for input after displaying -the message. The pause here is only introduced -by the sleep command within dialog. -You have $left $unit to read this..." 10 52 -left=`expr $left - 1` -test "$left" = 1 && unit="second" -done diff --git a/contrib/dialog/samples/infobox1 b/contrib/dialog/samples/infobox1 deleted file mode 100755 index 3cc7f27ce350..000000000000 --- a/contrib/dialog/samples/infobox1 +++ /dev/null @@ -1,21 +0,0 @@ -#! /bin/sh -# $Id: infobox1,v 1.5 2019/12/10 23:37:10 tom Exp $ - -. ./setup-vars - -left=10 -unit="seconds" -while test $left != 0 -do - -sleep 1 -$DIALOG --title "INFO BOX" "$@" \ - --infobox "Hi, this is an information box. It is -different from a message box: it will -not pause waiting for input after displaying -the message. The pause here is only introduced -by a sleep command in the shell script. -You have $left $unit to read this..." 10 52 -left=`expr $left - 1` -test "$left" = 1 && unit="second" -done diff --git a/contrib/dialog/samples/infobox2 b/contrib/dialog/samples/infobox2 deleted file mode 100755 index 08deb71901ba..000000000000 --- a/contrib/dialog/samples/infobox2 +++ /dev/null @@ -1,21 +0,0 @@ -#! /bin/sh -# $Id: infobox2,v 1.6 2019/12/10 23:37:10 tom Exp $ - -. ./setup-vars - -left=10 -unit="seconds" -while test $left != 0 -do - -$DIALOG --sleep 1 \ - --title "INFO BOX" "$@" \ - --infobox "Hi, this is an information box. It is -different from a message box: it will -not pause waiting for input after displaying -the message. The pause here is only introduced -by the sleep command within dialog. -You have $left $unit to read this..." 0 0 -left=`expr $left - 1` -test "$left" = 1 && unit="second" -done diff --git a/contrib/dialog/samples/infobox3 b/contrib/dialog/samples/infobox3 deleted file mode 100755 index 3c773b8f69af..000000000000 --- a/contrib/dialog/samples/infobox3 +++ /dev/null @@ -1,22 +0,0 @@ -#! /bin/sh -# $Id: infobox3,v 1.6 2019/12/10 23:37:10 tom Exp $ - -. ./setup-vars - -left=10 -unit="seconds" -while test $left != 0 -do - -$DIALOG --sleep 1 \ - --begin 5 0 \ - --title "INFO BOX" "$@" \ - --infobox "Hi, this is an information box. It is -different from a message box: it will -not pause waiting for input after displaying -the message. The pause here is only introduced -by the sleep command within dialog. -You have $left $unit to read this..." 0 0 -left=`expr $left - 1` -test "$left" = 1 && unit="second" -done diff --git a/contrib/dialog/samples/infobox4 b/contrib/dialog/samples/infobox4 deleted file mode 100755 index 816b8417a0d6..000000000000 --- a/contrib/dialog/samples/infobox4 +++ /dev/null @@ -1,22 +0,0 @@ -#! /bin/sh -# $Id: infobox4,v 1.6 2019/12/10 23:37:10 tom Exp $ - -. ./setup-vars - -left=10 -unit="seconds" -while test $left != 0 -do - -$DIALOG --sleep 1 \ - --begin 0 5 \ - --title "INFO BOX" "$@" \ - --infobox "Hi, this is an information box. It is -different from a message box: it will -not pause waiting for input after displaying -the message. The pause here is only introduced -by the sleep command within dialog. -You have $left $unit to read this..." 0 0 -left=`expr $left - 1` -test "$left" = 1 && unit="second" -done diff --git a/contrib/dialog/samples/infobox5 b/contrib/dialog/samples/infobox5 deleted file mode 100755 index b93e1de8b13b..000000000000 --- a/contrib/dialog/samples/infobox5 +++ /dev/null @@ -1,39 +0,0 @@ -#! /bin/sh -# $Id: infobox5,v 1.8 2019/12/10 23:38:49 tom Exp $ -# get rid of all flickering by constructing a script unroll the loop, leaving -# us in curses-mode until we're done counting. - -. ./setup-vars - -. ./setup-tempfile - -left=10 -unit="seconds" -last='\' - -cat >>$tempfile <<EOF -$DIALOG $last -EOF - -while test $left != 0 -do - -cat >>$tempfile <<EOF - --sleep 1 \ - --begin 0 5 \ - --title "INFO BOX" $* \ - --infobox "Hi, this is an information box. It is -different from a message box: it will -not pause waiting for input after displaying -the message. The pause here is only introduced -by the sleep command within dialog. -You have $left $unit to read this..." 0 0 $last -EOF - -left=`expr $left - 1` -test "$left" = 1 && unit="second" -done - -echo >>$tempfile - -. $tempfile diff --git a/contrib/dialog/samples/infobox6 b/contrib/dialog/samples/infobox6 deleted file mode 100755 index c81232d6e216..000000000000 --- a/contrib/dialog/samples/infobox6 +++ /dev/null @@ -1,41 +0,0 @@ -#! /bin/sh -# $Id: infobox6,v 1.8 2019/12/10 23:38:49 tom Exp $ -# get rid of all flickering by constructing a script unroll the loop, leaving -# us in curses-mode until we're done counting. -# -# a little fancier than infobox5, this moves the widget at each step. - -. ./setup-vars - -. ./setup-tempfile - -left=10 -unit="seconds" -last='\' - -cat >>$tempfile <<EOF -$DIALOG $last -EOF - -while test $left != 0 -do - -cat >>$tempfile <<EOF - --sleep 1 \ - --begin $left `expr $left + 5` \ - --title "INFO BOX" $* $last - --infobox "Hi, this is an information box. It is -different from a message box: it will -not pause waiting for input after displaying -the message. The pause here is only introduced -by the sleep command within dialog. -You have $left $unit to read this..." 0 0 $last -EOF - -left=`expr $left - 1` -test "$left" = 1 && unit="second" -done - -echo >>$tempfile - -. $tempfile diff --git a/contrib/dialog/samples/inputbox b/contrib/dialog/samples/inputbox deleted file mode 100755 index d249e83687f2..000000000000 --- a/contrib/dialog/samples/inputbox +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# $Id: inputbox,v 1.12 2020/11/26 00:03:58 tom Exp $ - -. ./setup-vars - -. ./setup-tempfile - -$DIALOG --title "INPUT BOX" --clear "$@" \ - --inputbox "Hi, this is an input dialog box. You can use \n -this to ask questions that require the user \n -to input a string as the answer. You can \n -input strings of length longer than the \n -width of the input box, in that case, the \n -input field will be automatically scrolled. \n -You can use BACKSPACE to correct errors. \n\n -Try entering your name below:" 16 51 2> $tempfile - -returncode=$? - -. ./report-tempfile diff --git a/contrib/dialog/samples/inputbox-both b/contrib/dialog/samples/inputbox-both deleted file mode 100755 index 2f8681be6398..000000000000 --- a/contrib/dialog/samples/inputbox-both +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/sh -# $Id: inputbox-both,v 1.7 2020/11/26 00:03:58 tom Exp $ - -. ./setup-vars - -. ./setup-tempfile - -$DIALOG --title "INPUT BOX" --clear \ - --extra-button \ - --help-button "$@" \ - --inputbox "Hi, this is an input dialog box. You can use \n -this to ask questions that require the user \n -to input a string as the answer. You can \n -input strings of length longer than the \n -width of the input box, in that case, the \n -input field will be automatically scrolled. \n -You can use BACKSPACE to correct errors. \n\n -Try entering your name below:" 16 51 2> $tempfile - -returncode=$? - -. ./report-tempfile diff --git a/contrib/dialog/samples/inputbox-extra b/contrib/dialog/samples/inputbox-extra deleted file mode 100755 index a297392bb505..000000000000 --- a/contrib/dialog/samples/inputbox-extra +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/sh -# $Id: inputbox-extra,v 1.7 2020/11/26 00:03:58 tom Exp $ - -. ./setup-vars - -. ./setup-tempfile - -$DIALOG --title "INPUT BOX" --clear \ - --extra-button "$@" \ - --inputbox "Hi, this is an input dialog box. You can use \n -this to ask questions that require the user \n -to input a string as the answer. You can \n -input strings of length longer than the \n -width of the input box, in that case, the \n -input field will be automatically scrolled. \n -You can use BACKSPACE to correct errors. \n\n -Try entering your name below:" 16 51 2> $tempfile - -returncode=$? - -. ./report-tempfile diff --git a/contrib/dialog/samples/inputbox-help b/contrib/dialog/samples/inputbox-help deleted file mode 100755 index 9aa0517a969c..000000000000 --- a/contrib/dialog/samples/inputbox-help +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/sh -# $Id: inputbox-help,v 1.7 2020/11/26 00:03:58 tom Exp $ - -. ./setup-vars - -. ./setup-tempfile - -$DIALOG --title "INPUT BOX" --clear \ - --help-button "$@" \ - --inputbox "Hi, this is an input dialog box. You can use \n -this to ask questions that require the user \n -to input a string as the answer. You can \n -input strings of length longer than the \n -width of the input box, in that case, the \n -input field will be automatically scrolled. \n -You can use BACKSPACE to correct errors. \n\n -Try entering your name below:" 16 51 2> $tempfile - -returncode=$? - -. ./report-tempfile diff --git a/contrib/dialog/samples/inputbox1 b/contrib/dialog/samples/inputbox1 deleted file mode 100755 index 44f408028b30..000000000000 --- a/contrib/dialog/samples/inputbox1 +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/sh -# $Id: inputbox1,v 1.14 2020/11/26 00:03:58 tom Exp $ - -. ./setup-vars - -. ./setup-tempfile - -$DIALOG --cr-wrap \ - --title "INPUT BOX" --clear \ - --inputbox "$@" \ -"Hi, this is an input dialog box. You can use -this to ask questions that require the user -to input a string as the answer. You can -input strings of length longer than the -width of the input box, in that case, the -input field will be automatically scrolled. -You can use BACKSPACE to correct errors. - -Try entering your name below:" 0 0 2> $tempfile - -returncode=$? - -. ./report-tempfile diff --git a/contrib/dialog/samples/inputbox2 b/contrib/dialog/samples/inputbox2 deleted file mode 100755 index baa6605e33dd..000000000000 --- a/contrib/dialog/samples/inputbox2 +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# $Id: inputbox2,v 1.10 2020/11/26 00:03:58 tom Exp $ - -. ./setup-vars - -. ./setup-tempfile - -$DIALOG --title "INPUT BOX" --clear "$@" \ - --inputbox "Hi, this is an input dialog box. You can use \n -this to ask questions that require the user \n -to input a string as the answer. You can \n -input strings of length longer than the \n -width of the input box, in that case, the \n -input field will be automatically scrolled. \n -You can use BACKSPACE to correct errors. \n\n -Try entering your name below:" 16 51 2> $tempfile - -returncode=$? - -. ./report-tempfile diff --git a/contrib/dialog/samples/inputbox3 b/contrib/dialog/samples/inputbox3 deleted file mode 100755 index 2f6623b61c03..000000000000 --- a/contrib/dialog/samples/inputbox3 +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/sh -# $Id: inputbox3,v 1.8 2020/11/26 00:03:58 tom Exp $ - -. ./setup-vars - -. ./setup-tempfile - -$DIALOG --nocancel \ - --title "INPUT BOX" --clear "$@" \ - --inputbox "Hi, this is an input dialog box. You can use \n\ -this to ask questions that require the user \n\ -to input a string as the answer. You can \n\ -input strings of length longer than the \n\ -width of the input box, in that case, the \n\ -input field will be automatically scrolled. \n\ -You can use BACKSPACE to correct errors. \n\n\ -Try entering your name below:" 16 51 2> $tempfile - -returncode=$? - -. ./report-tempfile diff --git a/contrib/dialog/samples/inputbox4 b/contrib/dialog/samples/inputbox4 deleted file mode 100755 index 76bd8ae77f8f..000000000000 --- a/contrib/dialog/samples/inputbox4 +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# $Id: inputbox4,v 1.9 2020/11/26 00:09:12 tom Exp $ -# An example which does not use temporary files, as suggested by Cary Evans: - -. ./setup-vars - -exec 3>&1 -returntext=`$DIALOG --title "INPUT BOX" --clear "$@" \ - --inputbox "Hi, this is an input dialog box. You can use \n -this to ask questions that require the user \n -to input a string as the answer. You can \n -input strings of length longer than the \n -width of the input box, in that case, the \n -input field will be automatically scrolled. \n -You can use BACKSPACE to correct errors. \n\n -Try entering your name below:" 16 51 2>&1 1>&3` -returncode=$? -exec 3>&- - -. ./report-string diff --git a/contrib/dialog/samples/inputbox5 b/contrib/dialog/samples/inputbox5 deleted file mode 100755 index 2c87f6944165..000000000000 --- a/contrib/dialog/samples/inputbox5 +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/sh -# $Id: inputbox5,v 1.8 2020/11/26 00:03:58 tom Exp $ -# use --output-fd to write to a different output than stderr - -. ./setup-vars - -. ./setup-tempfile - -$DIALOG --title "INPUT BOX" --clear --output-fd 4 "$@" \ - --inputbox "Hi, this is an input dialog box. You can use \n -this to ask questions that require the user \n -to input a string as the answer. You can \n -input strings of length longer than the \n -width of the input box, in that case, the \n -input field will be automatically scrolled. \n -You can use BACKSPACE to correct errors. \n\n -Try entering your name below:" 16 51 4> $tempfile - -returncode=$? - -. ./report-tempfile diff --git a/contrib/dialog/samples/inputbox6-8bit b/contrib/dialog/samples/inputbox6-8bit deleted file mode 100755 index 15e084ae3f9c..000000000000 --- a/contrib/dialog/samples/inputbox6-8bit +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh -# $Id: inputbox6-8bit,v 1.8 2020/11/26 00:03:58 tom Exp $ - -. ./setup-vars - -. ./setup-tempfile - -. ./testdata-8bit - -$DIALOG \ ---title "`printf '%s' "$SAMPLE"`" "$@" \ ---inputbox "`printf '%s' "$SAMPLE"`" \ -10 40 "`printf '%s' "$SAMPLE"`" 2>$tempfile - -returncode=$? - -. ./report-tempfile diff --git a/contrib/dialog/samples/inputbox6-utf8 b/contrib/dialog/samples/inputbox6-utf8 deleted file mode 100755 index b2ccd34766f2..000000000000 --- a/contrib/dialog/samples/inputbox6-utf8 +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# $Id: inputbox6-utf8,v 1.10 2020/11/26 00:03:58 tom Exp $ - -. ./setup-vars - -. ./setup-tempfile - -. ./setup-utf8 - -TITLE="ã‚ã„ã†ãˆãŠ" - -$DIALOG \ ---title "$TITLE" "$@" \ ---inputbox "$TITLE" 10 20 "D.O.ï¼§" 2>$tempfile - -returncode=$? - -. ./report-tempfile diff --git a/contrib/dialog/samples/inputbox7 b/contrib/dialog/samples/inputbox7 deleted file mode 100755 index ed608cb927f1..000000000000 --- a/contrib/dialog/samples/inputbox7 +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/sh -# $Id: inputbox7,v 1.9 2020/11/26 00:09:12 tom Exp $ -# An example which produces two widget outputs. - -. ./setup-vars - -MSG='Hi, this is an input dialog box. You can use \n -this to ask questions that require the user \n -to input a string as the answer. You can \n -input strings of length longer than the \n -width of the input box, in that case, the \n -input field will be automatically scrolled. \n -You can use BACKSPACE to correct errors. \n\n -Try entering your name below:' - -# separate with a line-break (newline) -SEP=' -' - -exec 3>&1 -returntext=`$DIALOG --title "INPUT BOX" --clear --separate-widget "$SEP" "$@" \ - --inputbox "$MSG" 16 51 \ - --title "ANOTHER INPUT BOX" \ - --inputbox "$MSG" 16 51 \ -2>&1 1>&3` -returncode=$? -exec 3>&- - -. ./report-string diff --git a/contrib/dialog/samples/inputmenu b/contrib/dialog/samples/inputmenu deleted file mode 100755 index 9f6d818ac2e1..000000000000 --- a/contrib/dialog/samples/inputmenu +++ /dev/null @@ -1,65 +0,0 @@ -#! /bin/sh -# $Id: inputmenu,v 1.19 2020/11/26 00:30:23 tom Exp $ -# 2002 - written by Tobias Rittweiler <tobrit@freebits.de> - -. ./setup-vars - -user="$USER" -uid=`id|sed -e 's/^uid=//' -e 's/(.*//'` -gid=`id|sed -e 's/^.*gid=//' -e 's/(.*//'` -home="$HOME" - -while [ "${returncode:-99}" -ne 1 ] && [ "${returncode:-99}" -ne 250 ]; do - exec 3>&1 - returntext=`$DIALOG \ - --clear --ok-label "Create" \ - --backtitle "An Example for the use of --inputmenu:" "$@" \ - --inputmenu "Originally I designed --inputmenu for a \ -configuration purpose. Here is a possible piece of a configuration program. \ -" 20 50 10 \ -"Username:" "$user" \ -"UID:" "$uid" \ -"GID:" "$gid" \ -"HOME:" "$home" \ -2>&1 1>&3 ` - returncode=$? - exec 3>&- - case $returncode in - $DIALOG_CANCEL) - "$DIALOG" \ - --clear --backtitle "An Example for the use of --inputmenu:" \ - --yesno "Really quit?" 10 30 - case $? in - $DIALOG_OK) break;; - $DIALOG_CANCEL) returncode=99;; - esac - ;; - $DIALOG_OK) - "$DIALOG" \ - --clear --backtitle "An Example for the use of --inputmenu:" \ - --msgbox "useradd \n\ - -d $home \n\ - -u $uid \n\ - -g $gid \n\ - $user" 10 40 - ;; - $DIALOG_EXTRA) - value=`echo "$returntext" | sed -e 's/^RENAMED //'` - tag=`echo "$value" | sed -e 's/:.*//'` - item=`echo "$value" | sed -e 's/^[^:]*:[ ][ ]*//'` - - case "$tag" in - Username) user="$item" ;; - UID) uid="$item" ;; - GID) gid="$item" ;; - HOME) home="$item" ;; - esac - ;; - - *) - . ./report-button - break - ;; - - esac -done diff --git a/contrib/dialog/samples/inputmenu-stdout b/contrib/dialog/samples/inputmenu-stdout deleted file mode 100755 index 35384d34f167..000000000000 --- a/contrib/dialog/samples/inputmenu-stdout +++ /dev/null @@ -1,63 +0,0 @@ -#! /bin/sh -# $Id: inputmenu-stdout,v 1.17 2020/11/26 00:30:01 tom Exp $ -# 2002 - written by Tobias Rittweiler <tobrit@freebits.de> - -. ./setup-vars - -user="$USER" -uid=`id|sed -e 's/^uid=//' -e 's/(.*//'` -gid=`id|sed -e 's/^.*gid=//' -e 's/(.*//'` -home="$HOME" - -while [ "${returncode:-99}" -ne 1 ] && [ "${returncode:-99}" -ne 250 ]; do - returntext=`$DIALOG \ - --stdout --clear --ok-label "Create" \ - --backtitle "An Example for the use of --inputmenu:" "$@" \ - --inputmenu "Originally I designed --inputmenu for a \ -configuration purpose. Here is a possible piece of a configuration program. \ -" 20 50 10 \ -"Username:" "$user" \ -"UID:" "$uid" \ -"GID:" "$gid" \ -"HOME:" "$home" \ -` - returncode=$? - case $returncode in - $DIALOG_CANCEL) - "$DIALOG" \ - --clear --backtitle "An Example for the use of --inputmenu:" \ - --yesno "Really quit?" 10 30 - case $? in - $DIALOG_OK) break;; - $DIALOG_CANCEL) returncode=99;; - esac - ;; - $DIALOG_OK) - "$DIALOG" \ - --clear --backtitle "An Example for the use of --inputmenu:" \ - --msgbox "useradd \n\ - -d $home \n\ - -u $uid \n\ - -g $gid \n\ - $user" 10 40 - ;; - $DIALOG_EXTRA) - value=`echo "$returntext" | sed -e 's/^RENAMED //'` - tag=`echo "$value" | sed -e 's/:.*//'` - item=`echo "$value" | sed -e 's/^[^:]*:[ ][ ]*//'` - - case "$tag" in - Username) user="$item" ;; - UID) uid="$item" ;; - GID) gid="$item" ;; - HOME) home="$item" ;; - esac - ;; - - *) - . ./report-button - break - ;; - - esac -done diff --git a/contrib/dialog/samples/inputmenu1 b/contrib/dialog/samples/inputmenu1 deleted file mode 100755 index 1d044c80bed6..000000000000 --- a/contrib/dialog/samples/inputmenu1 +++ /dev/null @@ -1,85 +0,0 @@ -#! /bin/sh -# $Id: inputmenu1,v 1.12 2020/11/26 00:29:41 tom Exp $ -# -# "inputmenu" rewritten into Bourne shell. - -. ./setup-vars - -backtitle="An Example for the use of --inputmenu:" - -ids=`id|sed -e 's/([^)]*)//g'` -uid=`echo "$ids" | sed -e 's/^uid=//' -e 's/ .*//'` -gid=`echo "$ids" | sed -e 's/^.* gid=//' -e 's/ .*//'` - -user="$USER" -home="$HOME" - -returncode=0 -while test $returncode != 1 && test $returncode != 250 -do -exec 3>&1 -returntext=`$DIALOG --clear --ok-label "Create" \ - --backtitle "$backtitle" "$@" \ - --inputmenu "Originally I designed --inputmenu for a \ -configuration purpose. Here is a possible piece of a configuration program." \ -20 50 10 \ - "Username:" "$user" \ - "UID:" "$uid" \ - "GID:" "$gid" \ - "HOME:" "$home" \ -2>&1 1>&3` -returncode=$? -exec 3>&- - - case $returncode in - $DIALOG_CANCEL) - "$DIALOG" \ - --clear \ - --backtitle "$backtitle" \ - --yesno "Really quit?" 10 30 - case $? in - $DIALOG_OK) - break - ;; - $DIALOG_CANCEL) - returncode=99 - ;; - esac - ;; - $DIALOG_OK) - "$DIALOG" \ - --clear \ - --backtitle "$backtitle" \ - --msgbox "useradd \n\ - -d $home \n\ - -u $uid \n\ - -g $gid \n\ - $user" 10 40 - ;; - $DIALOG_EXTRA) - tag=`echo "$returntext" |sed -e 's/^RENAMED //' -e 's/:.*//'` - item=`echo "$returntext" |sed -e 's/^[^:]*:[ ]*//' -e 's/[ ]*$//'` - - case "$tag" in - Username) - user="$item" - ;; - UID) - uid="$item" - ;; - GID) - gid="$item" - ;; - HOME) - home="$item" - ;; - esac - ;; - - *) - . ./report-button - break - ;; - - esac -done diff --git a/contrib/dialog/samples/inputmenu2 b/contrib/dialog/samples/inputmenu2 deleted file mode 100755 index 1cb519d1c6c3..000000000000 --- a/contrib/dialog/samples/inputmenu2 +++ /dev/null @@ -1,97 +0,0 @@ -#! /bin/sh -# $Id: inputmenu2,v 1.12 2020/11/26 00:29:26 tom Exp $ -# -# "inputmenu1" with defaultitem, help-button. - -. ./setup-vars - -backtitle="An Example for the use of --inputmenu:" - -ids=`id|sed -e 's/([^)]*)//g'` -uid=`echo "$ids" | sed -e 's/^uid=//' -e 's/ .*//'` -gid=`echo "$ids" | sed -e 's/^.* gid=//' -e 's/ .*//'` - -user="$USER" -home="$HOME" - -returncode=0 -defaultitem="Username:" -while test $returncode != 1 && test $returncode != 250 -do -exec 3>&1 -returntext=`$DIALOG --clear --ok-label "Create" \ - --backtitle "$backtitle" \ - --help-button \ - --help-label "Script" \ - --default-item "$defaultitem" "$@" \ - --inputmenu "Originally I designed --inputmenu for a \ -configuration purpose. Here is a possible piece of a configuration program." \ -20 60 10 \ - "Username:" "$user" \ - "UID:" "$uid" \ - "GID:" "$gid" \ - "HOME:" "$home" \ -2>&1 1>&3` -returncode=$? -exec 3>&- - - case $returncode in - $DIALOG_HELP) - "$DIALOG" \ - --textbox "$0" 0 0 - ;; - $DIALOG_CANCEL) - "$DIALOG" \ - --clear \ - --backtitle "$backtitle" \ - --yesno "Really quit?" 10 30 - case $? in - $DIALOG_OK) - break - ;; - $DIALOG_CANCEL) - returncode=99 - ;; - esac - ;; - $DIALOG_OK) - "$DIALOG" \ - --clear \ - --backtitle "$backtitle" \ - --msgbox "useradd \n\ - -d $home \n\ - -u $uid \n\ - -g $gid \n\ - $user" 10 40 - ;; - $DIALOG_EXTRA) - tag=`echo "$returntext" |sed -e 's/^RENAMED //' -e 's/:.*/:/'` - item=`echo "$returntext" |sed -e 's/^[^:]*:[ ]*//' -e 's/[ ]*$//'` - - case "$tag" in - Username:) - user="$item" - ;; - UID:) - uid="$item" - ;; - GID:) - gid="$item" - ;; - HOME:) - home="$item" - ;; - *) - tag= - ;; - esac - test -n "$tag" && defaultitem="$tag" - ;; - - *) - . ./report-button - break - ;; - - esac -done diff --git a/contrib/dialog/samples/inputmenu3 b/contrib/dialog/samples/inputmenu3 deleted file mode 100755 index 58a3079a162c..000000000000 --- a/contrib/dialog/samples/inputmenu3 +++ /dev/null @@ -1,106 +0,0 @@ -#! /bin/sh -# $Id: inputmenu3,v 1.14 2020/11/26 00:28:52 tom Exp $ -# -# "inputmenu1" with defaultitem, help-button and item-help. - -. ./setup-vars - -backtitle="An Example for the use of --inputmenu:" - -ids=`id|sed -e 's/([^)]*)//g'` -uid=`echo "$ids" | sed -e 's/^uid=//' -e 's/ .*//'` -gid=`echo "$ids" | sed -e 's/^.* gid=//' -e 's/ .*//'` - -user="$USER" -home="$HOME" - -returncode=0 -defaultitem="Username:" -while test $returncode != 1 && test $returncode != 250 -do -exec 3>&1 -returntext=`$DIALOG --clear --ok-label "Create" \ - --backtitle "$backtitle" \ - --help-button \ - --help-label "Script" \ - --default-item "$defaultitem" \ - --item-help "$@" \ - --inputmenu "Originally I designed --inputmenu for a \ -configuration purpose. Here is a possible piece of a configuration program." \ -20 60 10 \ - "Username:" "$user" "User login-name" \ - "UID:" "$uid" "User-ID (number)" \ - "GID:" "$gid" "Group-ID (number)" \ - "HOME:" "$home" "User's home-directory" \ -2>&1 1>&3` -returncode=$? -exec 3>&- - - case $returncode in - $DIALOG_CANCEL) - "$DIALOG" \ - --clear \ - --backtitle "$backtitle" \ - --yesno "Really quit?" 10 30 - case $? in - $DIALOG_OK) - break - ;; - $DIALOG_CANCEL) - returncode=99 - ;; - esac - ;; - $DIALOG_OK) - case $returntext in - HELP*) - "$DIALOG" \ - --textbox "$0" 0 0 - ;; - *) - "$DIALOG" \ - --clear \ - --backtitle "$backtitle" \ - --msgbox "useradd \n\ - -d $home \n\ - -u $uid \n\ - -g $gid \n\ - $user" 10 40 - ;; - esac - ;; - $DIALOG_HELP) - "$DIALOG" \ - --textbox "$0" 0 0 - ;; - $DIALOG_EXTRA) - tag=`echo "$returntext" |sed -e 's/^RENAMED //' -e 's/:.*/:/'` - item=`echo "$returntext" |sed -e 's/^[^:]*:[ ]*//' -e 's/[ ]*$//'` - - case "$tag" in - Username:) - user="$item" - ;; - UID:) - uid="$item" - ;; - GID:) - gid="$item" - ;; - HOME:) - home="$item" - ;; - *) - tag= - ;; - esac - test -n "$tag" && defaultitem="$tag" - ;; - - *) - . ./report-button - break - ;; - - esac -done diff --git a/contrib/dialog/samples/inputmenu4 b/contrib/dialog/samples/inputmenu4 deleted file mode 100755 index 876e7f647fdf..000000000000 --- a/contrib/dialog/samples/inputmenu4 +++ /dev/null @@ -1,86 +0,0 @@ -#! /bin/sh -# $Id: inputmenu4,v 1.12 2020/11/26 00:28:24 tom Exp $ -# -# "inputmenu1" with a different label for the extra-button - -. ./setup-vars - -backtitle="An Example for the use of --inputmenu:" - -ids=`id|sed -e 's/([^)]*)//g'` -uid=`echo "$ids" | sed -e 's/^uid=//' -e 's/ .*//'` -gid=`echo "$ids" | sed -e 's/^.* gid=//' -e 's/ .*//'` - -user="$USER" -home="$HOME" - -returncode=0 -while test $returncode != 1 && test $returncode != 250 -do -exec 3>&1 -returntext=`$DIALOG --clear --ok-label "Create" \ - --extra-label "Edit" \ - --backtitle "$backtitle" "$@" \ - --inputmenu "Originally I designed --inputmenu for a \ -configuration purpose. Here is a possible piece of a configuration program." \ -20 50 10 \ - "Username:" "$user" \ - "UID:" "$uid" \ - "GID:" "$gid" \ - "HOME:" "$home" \ -2>&1 1>&3` -returncode=$? -exec 3>&- - - case $returncode in - $DIALOG_CANCEL) - "$DIALOG" \ - --clear \ - --backtitle "$backtitle" \ - --yesno "Really quit?" 10 30 - case $? in - $DIALOG_OK) - break - ;; - $DIALOG_CANCEL) - returncode=99 - ;; - esac - ;; - $DIALOG_OK) - "$DIALOG" \ - --clear \ - --backtitle "$backtitle" \ - --msgbox "useradd \n\ - -d $home \n\ - -u $uid \n\ - -g $gid \n\ - $user" 10 40 - ;; - $DIALOG_EXTRA) - tag=`echo "$returntext" |sed -e 's/^RENAMED //' -e 's/:.*//'` - item=`echo "$returntext" |sed -e 's/^[^:]*:[ ]*//' -e 's/[ ]*$//'` - - case "$tag" in - Username) - user="$item" - ;; - UID) - uid="$item" - ;; - GID) - gid="$item" - ;; - HOME) - home="$item" - ;; - esac - ;; - - *) - . ./report-button - break - ;; - - esac -done diff --git a/contrib/dialog/samples/install/FDISK.TEST b/contrib/dialog/samples/install/FDISK.TEST deleted file mode 100644 index 2ad568a62d7b..000000000000 --- a/contrib/dialog/samples/install/FDISK.TEST +++ /dev/null @@ -1,28 +0,0 @@ - -Disk /dev/hda: 14 heads, 62 sectors, 1018 cylinders -Units = cylinders of 868 * 512 bytes - - Device Boot Begin Start End Blocks Id System -/dev/hda1 1 1 3 1271 a OS/2 Boot Manager -/dev/hda2 4 4 287 123256 6 DOS 16-bit >=32M -/dev/hda3 * 288 288 649 157108 83 Linux native -/dev/hda4 650 650 1018 160146 83 Linux native - -Disk /dev/sda: 64 heads, 32 sectors, 511 cylinders -Units = cylinders of 2048 * 512 bytes - - Device Boot Begin Start End Blocks Id System -/dev/sda1 1 1 21 21488 82 Linux swap -/dev/sda2 22 22 511 501760 83 Linux native - -Disk /dev/sdb: 64 heads, 32 sectors, 4106 cylinders -Units = cylinders of 2048 * 512 bytes - - Device Boot Begin Start End Blocks Id System -/dev/sdb1 1 1 201 205808 83 Linux native -/dev/sdb2 202 202 402 205824 83 Linux native -/dev/sdb3 403 403 603 205824 83 Linux native -/dev/sdb4 604 604 4106 3587072 5 Extended -/dev/sdb5 604 604 1803 1228784 83 Linux native -/dev/sdb6 1024 1804 3003 1228784 83 Linux native -/dev/sdb7 2048 3004 4106 1129456 83 Linux native diff --git a/contrib/dialog/samples/install/makefile.in b/contrib/dialog/samples/install/makefile.in deleted file mode 100644 index 3dcdc09ba2c5..000000000000 --- a/contrib/dialog/samples/install/makefile.in +++ /dev/null @@ -1,35 +0,0 @@ -# $Id: makefile.in,v 1.1 2000/10/08 17:22:53 tom Exp $ -# template makefile for DIALOG sample 'install' -# -SHELL = /bin/sh - -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -srcdir = @srcdir@ -top_builddir = ../.. - -DESTDIR = -bindir = $(DESTDIR)@bindir@ - -CFLAGS = @CFLAGS@ -CPPFLAGS = @CPPFLAGS@ @DEFS@ -I$(top_builddir) -I$(srcdir)/../.. -I. -I$(srcdir) -EXTRA_CFLAGS = @EXTRA_CFLAGS@ -CC = @CC@ -LDFLAGS = @LDFLAGS@ -LIBS = -L../.. -ldialog @LIBS@ -RANLIB = @RANLIB@ - -RM = rm -f - -all: setup - -setup: setup.o - $(CC) -o $@ setup.o $(LIBS) - -clean: - rm -f *.o setup - -test: setup - ./setup - diff --git a/contrib/dialog/samples/install/setup.c b/contrib/dialog/samples/install/setup.c deleted file mode 100644 index 517255ab8e2a..000000000000 --- a/contrib/dialog/samples/install/setup.c +++ /dev/null @@ -1,371 +0,0 @@ -/* Copyright (C) 1995 Florian La Roche */ -/* Who wants to help coding? I don't like doing this... */ - -/* You can just start setup as normal user and see how far it is coded - right now. This will do a fake installation and won't actually change - any data on your computer. */ - -/* TODO: write a good package selection code - change functions to return better error code - */ - -/* Show an extra text-box with the contents of all external commands, - before they are executed. So you can abort the installation, if any - wrong commands are to be executed. (So don't format wrong partition.) */ -#define VERBOSE 1 - -/* If defined, don't actually execute any comands and don't actually modify - any files. So you can test any possible installation without doing any - damage to your computer. - The file FDISK.TEST is used instead of real "fdisk -l" output, so that - it can be started as normal user. */ -#define DEBUG_THIS 1 - -#include <dialog.h> - -/* max length of a partition name like e.g. '/dev/hda1' */ -#define MAX_DEV_NAME 25 - -/* max number of possible Linux/Swap/MsDos partitions */ -#define MAX_PARTS 20 - -char *progname = NULL; - -static void -error(const char *s) -{ - fprintf(stderr, "%s: %s\n", progname, s); - exit(1); -} - -static int -my_system(const char *s,...) -{ - int ret, i; - va_list ap; - char sh[200]; - - va_start(ap, s); - vsprintf(sh, s, ap); - va_end(ap); - -#ifdef VERBOSE - i = dialog_msgbox("I will run the following command:", sh, 10, 65, 1); - dialog_clear(); -#ifdef DEBUG_THIS - return 0; -#endif -#endif - ret = system(sh); - if (!(ret >> 8)) - return 0; - i = dialog_msgbox("Error-Exit on the following command:", - sh, 12, 73, 1); - dialog_clear(); - return 1; -} - -/* We support to install from DOS/Linux-partitions. */ -enum partition_type { - MsDos, - Linux, - Swap -}; - -struct partition { - enum partition_type type; - char name[MAX_DEV_NAME]; - int blocks; - int flag; -} partitions[MAX_PARTS]; -int num_partition = 0; -int num_linux = 0; -int num_swap = 0; -int num_msdos = 0; - -static int -get_line(char *line, int size, FILE * f) -{ - char *ptr = line; - int c; - - if (feof(f)) - return -1; - while (size-- && ((c = getc(f)) != EOF) && (c != '\n')) - *ptr++ = c; - *ptr++ = '\0'; - return (int) (ptr - line); -} - -static void -read_partitions(void) -{ - FILE *f; - char line[200]; - int length; -#ifndef DEBUG_THIS - int ret = system("fdisk -l 2>/dev/null 1>/tmp/fdisk.output"); - if ((ret >> 8) != 0) { - error("fdisk didn't run"); - } - if ((f = fopen("/tmp/fdisk.output", "r")) == NULL) -#else - if ((f = fopen("FDISK.TEST", "r")) == NULL) -#endif - error("cannot read fdisk output"); - - while (num_partition <= MAX_PARTS - && (length = get_line(line, 200, f)) >= 0) { - if (strncmp(line, "/dev/", 5) == 0) { - int n = 0; - char *s = line + 5; - char *t = partitions[num_partition].name; - strcpy(t, "/dev/"); - t += 5; - while (n < MAX_DEV_NAME && *s != '\0' - && !isspace((unsigned char) *s)) { - *t++ = *s++; - n++; - } - *t = '\0'; - /* Read the size of the partition. */ - t = line + 37; - while (isspace((unsigned char) *t)) - t++; - partitions[num_partition].blocks = atoi(t); - if (strstr(line, "Linux native")) { - partitions[num_partition].type = Linux; - num_partition++; - num_linux++; - } else if (strstr(line, "Linux swap")) { - partitions[num_partition].type = Swap; - num_partition++; - num_swap++; - } else if (strstr(line, "DOS")) { - partitions[num_partition].type = MsDos; - num_partition++; - num_msdos++; - } - } - } - fclose(f); -#ifndef DEBUG_THIS - unlink("/tmp/fdisk.output"); -#endif -} - -static int -select_partition(const char *title, const char *prompt, int y, int x) -{ - int i, num, ret; - char info[MAX_PARTS][40]; - char *items[MAX_PARTS * 2]; - int num_pa[MAX_PARTS]; - - num = 0; - for (i = 0; i < num_partition; i++) { - if (partitions[i].type == Linux) { - items[num * 2] = partitions[i].name; - sprintf(info[num], "Linux partition with %d blocks", - partitions[i].blocks); - items[num * 2 + 1] = info[num]; - num_pa[num] = i; - num++; - } - } - ret = dialog_menu(title, prompt, y + num, x, num, num, items); - dialog_clear(); - if (ret >= 0) /* item selected */ - ret = num_pa[ret]; - return ret; -} - -static int -select_install_partition(void) -{ - return select_partition("Select Install Partition", - "\\nWhere do you want to install Linux?\\n", 9, 60); -} - -static int -select_source_partition(void) -{ - return select_partition("Select Source Partition", - "\\nOn which partition is the source?\\n", 9, 60); -} - -const char *null = ">/dev/null 2>/dev/null"; -const char *install_partition = NULL; - -static void -extract_packages(const char *source_path) -{ -#ifndef DEBUG_THIS - FILE *f; -#endif - - if (my_system("mkdir -p /install/var/installed/packages %s", null)) - return; - if (my_system("cd /install; for i in /source%s/*.tgz; do " - "tar xzplvvkf $i >> var/installed/packages/base " - "2>>var/installed/packages/ERROR; done", source_path)) - return; -#ifndef DEBUG_THIS - if ((f = fopen("/install/etc/fstab", "w")) == NULL) { - /* i = */ dialog_msgbox("Error", "Cannot write /etc/fstab", - 12, 40, 1); - return; - } - fprintf(f, "%s / ext2 defaults 1 1\n", install_partition); - fprintf(f, "none /proc proc defaults 0 2\n"); - /* XXX write swap-partitions */ - fclose(f); -#endif -} - -static void -install_premounted(void) -{ - extract_packages(""); -} - -static void -install_harddisk(void) -{ - const char *name; - int part, ret; - - if ((part = select_source_partition()) <= -1) - return; - name = partitions[part].name; - - if (my_system("mount -t ext2 %s /source %s", name, null)) - return; - ret = dialog_inputbox("Path in partition", - "Please enter the directory in which the " - "source files are.", 13, 50, "", FALSE); - dialog_clear(); - if (ret != 0) - return; - /* XXX strdup */ - extract_packages(strdup(dialog_input_result)); - if (my_system("umount /source %s", null)) - return; -} - -static void -install_nfs(void) -{ - if (my_system("ifconfig eth0 134.96.81.36 netmask 255.255.255.224 " - "broadcast 134.96.81.63 %s", null)) - return; - if (my_system("route add -net 134.96.81.32 %s", null)) - return; - if (my_system("mount -t nfs 134.96.81.38:" - "/local/ftp/pub/linux/ELF.binary/tar /source %s", null)) - return; - extract_packages("/base"); - if (my_system("umount /source %s", null)) - return; - if (my_system("ifconfig eth0 down %s", null)) - return; -} - -static void -main_install(void) -{ - int part, ret; - const char *name; - char *items1[] = - { - "1", "Harddisk Install", - "2", "Network Install(NFS)", - "3", "Premounted on /source" - }; - - if (num_linux == 0) { - /* XXX */ - return; - } - if ((part = select_install_partition()) <= -1) - return; - install_partition = name = partitions[part].name; - if (my_system("mke2fs %s %s", name, null)) - return; - if (my_system("mount -t ext2 %s /install %s", name, null)) - return; - ret = dialog_menu("Choose install medium", - "\\nPlease say from where you want to install.\\n", - 12, 62, 3, 3, items1); - dialog_clear(); - switch (ret) { - case 0: - install_harddisk(); - break; - case 1: - install_nfs(); - break; - case 2: - install_premounted(); - break; - case -2: /* cancel */ - case -1: - break; /* esc */ - } - if (my_system("umount /install %s", null)) - return; -} - -int -main(int argc, char **argv) -{ - int stop = 0; - int ret; - char *items1[] = - { - "1", "Display a help text", - "2", "Start an installation", - "3", "Exit to the shell" - }; - - progname = argv[0]; - - read_partitions(); - if (num_linux == 0) { - printf("\n\nPlease start \"fdisk\" or \"cfdisk\" and create a" - "\nnative Linux-partition to install Linux on.\n\n"); - exit(1); - } - - init_dialog(); - - while (!stop) { - ret = dialog_menu("Linux Install Utility", - "\\nCopyright (C) 1995 Florian La Roche\\n" - "\\nPre-Alpha version, be careful, read the doc!!!" - "\\nemail: florian@jurix.jura.uni-sb.de, " - "flla@stud.uni-sb.de\\n", - 15, 64, 3, 3, items1); - dialog_clear(); - switch (ret) { - case 0: - ret = dialog_textbox("Help Text", - "setup.help", 20, 70); - dialog_clear(); - break; - case 1: - main_install(); - break; - case 2: - stop = 1; - break; - case -2: /* cancel */ - case -1: - stop = 1; /* esc */ - } - } - end_dialog(); - printf("\nExecute \"reboot\" to restart your computer...\n"); - - exit(0); -} diff --git a/contrib/dialog/samples/install/setup.help b/contrib/dialog/samples/install/setup.help deleted file mode 100644 index 614fef41ed82..000000000000 --- a/contrib/dialog/samples/install/setup.help +++ /dev/null @@ -1,49 +0,0 @@ -At the moment, only installation from a harddisk -is supported. All commands are shown to you on -the screen before executing. This is just to make -sure that nothing bad is done to your harddisk :-) - -You can also select to install from a premounted dir. -Then the "tar/base" directory must be mounted on -"/install", so that all tar-packages from the basic -stuff are in "/install/*.tgz". (So you could be able -to install via NFS...) - -Good luck..., -anyone wants to help programming this tool?, - -Florian La Roche - -Contents: -========= -- overview about what "setup" does. -- creating a Linux-partition before starting "setup" -- about lilo -- how to use "setup", what keys are supported - -What does "setup" do on my computer? -==================================== -Setup will ask you for a partition on your harddisk, -where you would like to have Linux installed. -You can then choose to install this distribution from -your local harddisk or via network (NFS). -setup will install a very basic system. -At the end, you can install lilo, the Linux Loader. -Rebooting your computer with this little linux system -and then running the setup-program on it, will give -the possibility to install more packages. - -Creating a Linux-partition: -=========================== -To install this Linux distribution, you need to -create an extra partition on your harddisk for -Linux. - -What is lilo and how should I install it? -========================================= -Read the lilo-documentation for this... - - - -Florian La Roche - diff --git a/contrib/dialog/samples/killall b/contrib/dialog/samples/killall deleted file mode 100755 index f8d573babdb6..000000000000 --- a/contrib/dialog/samples/killall +++ /dev/null @@ -1,16 +0,0 @@ -#! /bin/sh -# $Id: killall,v 1.4 2019/12/10 23:48:58 tom Exp $ -# Linux has a program that does this correctly. - -. ./setup-vars - -for prog in "$@" -do - pid=`ps -a |fgrep "$prog" |fgrep -v fgrep|sed -e 's/^[ ]*//' -e 's/ .*//' ` - if test -n "$pid" ; then - echo "killing pid=$pid, $prog" - kill "-$SIG_HUP" "$pid" || \ - kill "-$SIG_TERM" "$pid" || \ - kill "-$SIG_KILL" "$pid" - fi -done diff --git a/contrib/dialog/samples/listing b/contrib/dialog/samples/listing deleted file mode 100755 index 71d85aa6df9a..000000000000 --- a/contrib/dialog/samples/listing +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh -# $Id: listing,v 1.2 2007/05/28 12:40:36 tom Exp $ -while true -do -ls -lrt -date -sleep 1 -done diff --git a/contrib/dialog/samples/menubox b/contrib/dialog/samples/menubox deleted file mode 100755 index 4a0118dc13f6..000000000000 --- a/contrib/dialog/samples/menubox +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/sh -# $Id: menubox,v 1.13 2020/11/26 00:03:58 tom Exp $ - -. ./setup-vars - -. ./setup-tempfile - -$DIALOG --clear --title "MENU BOX" "$@" \ - --menu "Hi, this is a menu box. You can use this to \n\ -present a list of choices for the user to \n\ -choose. If there are more items than can fit \n\ -on the screen, the menu will be scrolled. \n\ -You can use the UP/DOWN arrow keys, the first \n\ -letter of the choice as a hot key, or the \n\ -number keys 1-9 to choose an option.\n\ -Try it now!\n\n\ - Choose the OS you like:" 20 51 4 \ - "Linux" "The Great Unix Clone for 386/486" \ - "NetBSD" "Another free Unix Clone for 386/486" \ - "OS/2" "IBM OS/2" \ - "WIN NT" "Microsoft Windows NT" \ - "PC-DOS" "IBM PC DOS" \ - "MS-DOS" "Microsoft DOS" 2> $tempfile - -returncode=$? - -. ./report-tempfile diff --git a/contrib/dialog/samples/menubox-8bit b/contrib/dialog/samples/menubox-8bit deleted file mode 100755 index 69b6bc712a52..000000000000 --- a/contrib/dialog/samples/menubox-8bit +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/sh -# $Id: menubox-8bit,v 1.8 2020/11/26 00:03:58 tom Exp $ - -. ./setup-vars - -. ./setup-tempfile - -. ./testdata-8bit - -$DIALOG --clear --title "MENU BOX" "$@" \ - --menu "Hi, this is a menu box. You can use this to \n\ -present a list of choices for the user to \n\ -choose. If there are more items than can fit \n\ -on the screen, the menu will be scrolled. \n\ -You can use the UP/DOWN arrow keys, the first \n\ -letter of the choice as a hot key, or the \n\ -number keys 1-9 to choose an option.\n\ -Try it now!\n\n\ - Choose the OS you like:" 20 51 4 \ - "`./rotated-data 0 "$SAMPLE"`" "The Great Unix Clone for 386/486" \ - "`./rotated-data 1 "$SAMPLE"`" "Another free Unix Clone for 386/486" \ - "`./rotated-data 2 "$SAMPLE"`" "IBM OS/2" \ - "`./rotated-data 3 "$SAMPLE"`" "Microsoft Windows NT" \ - "`./rotated-data 4 "$SAMPLE"`" "IBM PC DOS" \ - "`./rotated-data 5 "$SAMPLE"`" "Microsoft DOS" 2> $tempfile - -returncode=$? - -. ./report-tempfile diff --git a/contrib/dialog/samples/menubox-utf8 b/contrib/dialog/samples/menubox-utf8 deleted file mode 100755 index 4c7f45a34b9e..000000000000 --- a/contrib/dialog/samples/menubox-utf8 +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/sh -# $Id: menubox-utf8,v 1.11 2020/11/26 00:03:58 tom Exp $ - -. ./setup-vars - -. ./setup-tempfile - -. ./setup-utf8 - -$DIALOG --clear --title "MENU BOX" "$@" \ - --menu "Hi, this is a menu box. You can use this to \n\ -present a list of choices for the user to \n\ -choose. If there are more items than can fit \n\ -on the screen, the menu will be scrolled. \n\ -You can use the UP/DOWN arrow keys, the first \n\ -letter of the choice as a hot key, or the \n\ -number keys 1-9 to choose an option.\n\ -Try it now!\n\n\ - Choose the OS you like:" 20 51 4 \ - "Linux" "The Great Unix Clone for 386/486" \ - "NetBSD" "Another free Unix Clone for 386/486" \ - "OS/ï¼’" "IBM OS/2" \ - "WIN NT" "Microsoft Windows NT" \ - "PCDOS" "IBM PC DOS" \ - "MSDOS" "Microsoft DOS" 2> $tempfile - -returncode=$? - -. ./report-tempfile diff --git a/contrib/dialog/samples/menubox1 b/contrib/dialog/samples/menubox1 deleted file mode 100755 index 9df5ca3c0ec5..000000000000 --- a/contrib/dialog/samples/menubox1 +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/sh -# $Id: menubox1,v 1.9 2020/11/26 00:03:58 tom Exp $ - -. ./setup-vars - -. ./setup-tempfile - -$DIALOG --default-item "OS/2" --clear --title "MENU BOX" "$@" \ - --menu "Hi, this is a menu box. You can use this to \n\ -present a list of choices for the user to \n\ -choose. If there are more items than can fit \n\ -on the screen, the menu will be scrolled. \n\ -You can use the UP/DOWN arrow keys, the first \n\ -letter of the choice as a hot key, or the \n\ -number keys 1-9 to choose an option.\n\ -Try it now!\n\n\ - Choose the OS you like:" 20 51 4 \ - "Linux" "The Great Unix Clone for 386/486" \ - "NetBSD" "Another free Unix Clone for 386/486" \ - "OS/2" "IBM OS/2" \ - "WIN NT" "Microsoft Windows NT" \ - "PC-DOS" "IBM PC DOS" \ - "MS-DOS" "Microsoft DOS" 2> $tempfile - -returncode=$? - -. ./report-tempfile diff --git a/contrib/dialog/samples/menubox10 b/contrib/dialog/samples/menubox10 deleted file mode 100755 index 1152223c4ccf..000000000000 --- a/contrib/dialog/samples/menubox10 +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/sh -# $Id: menubox10,v 1.7 2020/11/26 00:09:12 tom Exp $ -# zero-width column - -. ./setup-vars - -exec 3>&1 -returntext=`$DIALOG --backtitle "Debian Configuration" \ - --title "Configuring debconf" \ - --default-item Dialog "$@" \ - --menu "Packages that use debconf for co" 19 50 6 \ - Dialog "" \ - Readline "" \ - Gnome "" \ - Kde "" \ - Editor "" \ - Noninteractive "" \ -2>&1 1>&3` -returncode=$? -exec 3>&- - -. ./report-string diff --git a/contrib/dialog/samples/menubox11 b/contrib/dialog/samples/menubox11 deleted file mode 100755 index 9bd7960582c1..000000000000 --- a/contrib/dialog/samples/menubox11 +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/sh -# $Id: menubox11,v 1.4 2020/11/26 00:09:12 tom Exp $ -# zero-width column - -. ./setup-vars - -exec 3>&1 -returntext=`$DIALOG --backtitle "Debian Configuration" \ - --title "Configuring debconf" \ - --default-item Dialog "$@" \ - --menu "Packages that use debconf for configuration share a common look and feel. You can -select the type of user interface they use. -\n\n\ -The dialog frontend is a full-screen, character based interface, while the readline -frontend uses a more traditional plain text interface, and both the gnome and kde -frontends are modern X interfaces, fitting the respective desktops (but may be used -in any X environment). The editor frontend lets you configure things using your -favorite text editor. The noninteractive frontend never asks you any questions. -\n\n\ -Interface to use:" 0 0 6 \ - Dialog "" \ - Readline "" \ - Gnome "" \ - Kde "" \ - Editor "" \ - Noninteractive "" \ -2>&1 1>&3` -returncode=$? -exec 3>&- - -. ./report-string diff --git a/contrib/dialog/samples/menubox12 b/contrib/dialog/samples/menubox12 deleted file mode 100755 index 6723c0574425..000000000000 --- a/contrib/dialog/samples/menubox12 +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/sh -# $Id: menubox12,v 1.6 2020/11/26 00:03:58 tom Exp $ - -. ./setup-vars - -. ./setup-edit - -case "x$DIALOGOPTS" in -*--no-items*|*--noitem*) - CUT="cut -d: -f1,3" - ;; -*) - CUT="cat" - ;; -esac - -$CUT >$input <<-EOF - Linux:The Great Unix Clone for 386/486 - NetBSD:Another free Unix Clone for 386/486 - OS/2:IBM OS/2 - WIN NT:Microsoft Windows NT - PC-DOS:IBM PC DOS - MS-DOS:Microsoft DOS -EOF -sed -e 's/^/"/' -e 's/:/" "/g' -e 's/$/"/' <$input >$output -cat $output >$input - -$DIALOG --clear --title "MENU BOX" "$@" \ - --menu "Hi, this is a menu box. You can use this to \n\ -present a list of choices for the user to \n\ -choose. If there are more items than can fit \n\ -on the screen, the menu will be scrolled. \n\ -You can use the UP/DOWN arrow keys, the first \n\ -letter of the choice as a hot key, or the \n\ -number keys 1-9 to choose an option.\n\ -Try it now!\n\n\ - Choose the OS you like:" 20 51 4 \ - --file $input 2> $output - -returncode=$? - -tempfile=$output -. ./report-tempfile diff --git a/contrib/dialog/samples/menubox2 b/contrib/dialog/samples/menubox2 deleted file mode 100755 index 5ab68cca3d3a..000000000000 --- a/contrib/dialog/samples/menubox2 +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/sh -# $Id: menubox2,v 1.9 2020/11/26 00:03:58 tom Exp $ - -. ./setup-vars - -. ./setup-tempfile - -$DIALOG --default-item "MS-DOS" --clear --title "MENU BOX" "$@" \ - --menu "Hi, this is a menu box. You can use this to \n\ -present a list of choices for the user to \n\ -choose. If there are more items than can fit \n\ -on the screen, the menu will be scrolled. \n\ -You can use the UP/DOWN arrow keys, the first \n\ -letter of the choice as a hot key, or the \n\ -number keys 1-9 to choose an option.\n\ -Try it now!\n\n\ - Choose the OS you like:" 20 51 4 \ - "Linux" "The Great Unix Clone for 386/486" \ - "NetBSD" "Another free Unix Clone for 386/486" \ - "OS/2" "IBM OS/2" \ - "WIN NT" "Microsoft Windows NT" \ - "PC-DOS" "IBM PC DOS" \ - "MS-DOS" "Microsoft DOS" 2> $tempfile - -returncode=$? - -. ./report-tempfile diff --git a/contrib/dialog/samples/menubox3 b/contrib/dialog/samples/menubox3 deleted file mode 100755 index 2f03505b5c2e..000000000000 --- a/contrib/dialog/samples/menubox3 +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/sh -# $Id: menubox3,v 1.10 2020/11/26 00:03:58 tom Exp $ - -. ./setup-vars - -. ./setup-tempfile - -$DIALOG --clear --item-help --title "MENU BOX" "$@" \ - --menu "Hi, this is a menu box. You can use this to \n\ -present a list of choices for the user to \n\ -choose. If there are more items than can fit \n\ -on the screen, the menu will be scrolled. \n\ -You can use the UP/DOWN arrow keys, the first \n\ -letter of the choice as a hot key, or the \n\ -number keys 1-9 to choose an option.\n\ -Try it now!\n\n\ - Choose the OS you like:" 20 51 4 \ - "Linux" "The Great Unix Clone for 386/486" "Why use Linux?" \ - "NetBSD" "Another free Unix Clone for 386/486" "Or NetBSD?" \ - "OS/2" "IBM OS/2" "aka \"Warp\"" \ - "WIN NT" "Microsoft Windows NT" "hmm" \ - "PC-DOS" "IBM PC DOS" "clone of a clone" \ - "MS-DOS" "Microsoft DOS" "DOS: Disk Operating System, originally for an IBM contract, hence using the same jargon" 2> $tempfile - -returncode=$? - -. ./report-tempfile diff --git a/contrib/dialog/samples/menubox4 b/contrib/dialog/samples/menubox4 deleted file mode 100755 index a0b2f6bab682..000000000000 --- a/contrib/dialog/samples/menubox4 +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/sh -# $Id: menubox4,v 1.10 2020/11/26 00:03:58 tom Exp $ - -. ./setup-vars - -. ./setup-tempfile - -$DIALOG --clear --item-help --title "MENU BOX" "$@" \ - --menu "Hi, this is a menu box. You can use this to \n\ -present a list of choices for the user to \n\ -choose. If there are more items than can fit \n\ -on the screen, the menu will be scrolled. \n\ -You can use the UP/DOWN arrow keys, the first \n\ -letter of the choice as a hot key, or the \n\ -number keys 1-9 to choose an option.\n\ -Try it now!\n\n\ - Choose the OS you like:" 20 51 4 \ - "Linux" "The Great Unix Clone for 386/486 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" "Why use Linux?" \ - "NetBSD" "Another free Unix Clone for 386/486 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" "Or NetBSD?" \ - "OS/2" "IBM OS/2 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" "aka \"Warp\"" \ - "WIN NT" "Microsoft Windows NT xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" "hmm" \ - "PC-DOS" "IBM PC DOS xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" "clone of a clone" \ - "MS-DOS" "Microsoft DOS xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" "DOS: Disk Operating System, originally for an IBM contract, hence using the same jargon" 2> $tempfile - -returncode=$? - -. ./report-tempfile diff --git a/contrib/dialog/samples/menubox5 b/contrib/dialog/samples/menubox5 deleted file mode 100755 index 0ee6bd414d9a..000000000000 --- a/contrib/dialog/samples/menubox5 +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/sh -# $Id: menubox5,v 1.11 2020/11/26 00:03:58 tom Exp $ - -. ./setup-vars - -. ./setup-tempfile - -$DIALOG --clear --help-button --item-help --title "MENU BOX" "$@" \ - --menu "Hi, this is a menu box. You can use this to \n\ -present a list of choices for the user to \n\ -choose. If there are more items than can fit \n\ -on the screen, the menu will be scrolled. \n\ -You can use the UP/DOWN arrow keys, the first \n\ -letter of the choice as a hot key, or the \n\ -number keys 1-9 to choose an option.\n\ -Try it now!\n\n\ - Choose the OS you like:" 20 51 4 \ - "Linux" "The Great Unix Clone for 386/486 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" "Why use Linux?" \ - "NetBSD" "Another free Unix Clone for 386/486 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" "Or NetBSD?" \ - "OS/2" "IBM OS/2 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" "aka \"Warp\"" \ - "WIN NT" "Microsoft Windows NT xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" "hmm" \ - "WIN 2K" "Microsoft Windows 2000 xxxxxxxxxxxxxxxxxxxxxxxxxxxx" "hmm" \ - "WIN XP" "Microsoft Windows XP (son of Windows 95) xxxxxxxxxx" "hmm" \ - "WIN 95" "Microsoft Windows 95 (son of MS-DOS) xxxxxxxxxxxxxx" "hmm" \ - "PC-DOS" "IBM PC DOS xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" "clone of a clone" \ - "MS-DOS" "Microsoft DOS xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" "DOS: Disk Operating System, originally for an IBM contract, hence using the same jargon" 2> $tempfile - -returncode=$? - -. ./report-tempfile diff --git a/contrib/dialog/samples/menubox6 b/contrib/dialog/samples/menubox6 deleted file mode 100755 index a1b43d61bcb8..000000000000 --- a/contrib/dialog/samples/menubox6 +++ /dev/null @@ -1,28 +0,0 @@ -#!/bin/sh -# $Id: menubox6,v 1.10 2020/11/26 00:03:58 tom Exp $ -# example showing the --colors option - -. ./setup-vars - -. ./setup-tempfile - -$DIALOG --clear --item-help --title "MENU BOX" --colors "$@" \ - --menu "Hi, this is a \Zumenu\Zn box. You can use this to \n\ -present a list of choices for the user to \n\ -choose. If there are more items than can fit \n\ -on the screen, the menu will be scrolled. \n\ -You can use the \Z4UP/DOWN\Zn arrow keys, the first \n\ -letter of the choice as a hot key, or the \n\ -\Z2number\Zn keys 1-9 to choose an option.\n\ -Try it now!\n\n\ - Choose the OS you like:" 20 51 4 \ - "Linux" "The Great Unix Clone for \Zu386/486" "Why use \ZbLinux?" \ - "NetBSD" "Another free Unix Clone for \Zu386/486" "Or \ZbNetBSD?" \ - "OS/2" "IBM OS/2" "aka \"Warp\"" \ - "WIN NT" "Microsoft Windows NT" "hmm" \ - "PC-DOS" "IBM PC \ZrDOS" "clone of a clone" \ - "MS-DOS" "Microsoft \ZrDOS" "\ZbDOS\Zn: \Zb\Z3D\Znisk \Zb\Z3O\Znperating \Zb\Z3S\Znystem, originally for an IBM contract, hence using the same jargon" 2> $tempfile - -returncode=$? - -. ./report-tempfile diff --git a/contrib/dialog/samples/menubox7 b/contrib/dialog/samples/menubox7 deleted file mode 100755 index 421943bfcf80..000000000000 --- a/contrib/dialog/samples/menubox7 +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/sh -# $Id: menubox7,v 1.11 2020/11/26 00:03:58 tom Exp $ -# example with --extra-button - -. ./setup-vars - -. ./setup-tempfile - -$DIALOG --clear --item-help --extra-button --extra-label "Choice" \ - --title "MENU BOX" "$@" \ - --menu "Hi, this is a menu box. You can use this to \n\ -present a list of choices for the user to \n\ -choose. If there are more items than can fit \n\ -on the screen, the menu will be scrolled. \n\ -You can use the UP/DOWN arrow keys, the first \n\ -letter of the choice as a hot key, or the \n\ -number keys 1-9 to choose an option.\n\ -Try it now!\n\n\ - Choose the OS you like:" 20 51 4 \ - "Linux" "The Great Unix Clone for 386/486" "Why use Linux?" \ - "NetBSD" "Another free Unix Clone for 386/486" "Or NetBSD?" \ - "OS/2" "IBM OS/2" "aka \"Warp\"" \ - "WIN NT" "Microsoft Windows NT" "hmm" \ - "PC-DOS" "IBM PC DOS" "clone of a clone" \ - "MS-DOS" "Microsoft DOS" "DOS: Disk Operating System, originally for an IBM contract, hence using the same jargon" 2> $tempfile - -returncode=$? - -. ./report-tempfile diff --git a/contrib/dialog/samples/menubox8 b/contrib/dialog/samples/menubox8 deleted file mode 100755 index eb90de0c8f9c..000000000000 --- a/contrib/dialog/samples/menubox8 +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/sh -# $Id: menubox8,v 1.10 2020/11/26 00:09:12 tom Exp $ - -. ./setup-vars - -exec 3>&1 -returntext=`$DIALOG --help-button \ - --default-item "MS-DOS" \ - --clear \ - --title "MENU BOX" "$@" \ - --menu "Hi, this is a menu box. You can use this to \n\ -present a list of choices for the user to \n\ -choose. If there are more items than can fit \n\ -on the screen, the menu will be scrolled. \n\ -You can use the UP/DOWN arrow keys, the first \n\ -letter of the choice as a hot key, or the \n\ -number keys 1-9 to choose an option.\n\ -Try it now!\n\n\ - Choose the OS you like:" 20 51 4 \ - "Linux" "The Great Unix Clone for 386/486" \ - "NetBSD" "Another free Unix Clone for 386/486" \ - "OS/2" "IBM OS/2" \ - "WIN NT" "Microsoft Windows NT" \ - "PC-DOS" "IBM PC DOS" \ - "MS-DOS" "Microsoft DOS" \ -2>&1 1>&3` -returncode=$? -exec 3>&- - -. ./report-string diff --git a/contrib/dialog/samples/menubox9 b/contrib/dialog/samples/menubox9 deleted file mode 100755 index 5f0c8e9104ec..000000000000 --- a/contrib/dialog/samples/menubox9 +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/sh -# $Id: menubox9,v 1.8 2020/11/26 00:09:12 tom Exp $ - -. ./setup-vars - -exec 3>&1 -returntext=`$DIALOG --help-button \ - --clear \ - --title "Select Linux installation partition:" "$@" \ - --menu \ -"Please select a partition from the following list to use for your \ -root (/) Linux partition." 13 70 5 \ -"/dev/hda2" "Linux native 30724312K" \ -"/dev/hda4" "Linux native 506047K" \ -"/dev/hdb1" "Linux native 4096543K" \ -"/dev/hdb2" "Linux native 2586465K" \ -"---" "(add none, continue with setup)" \ -"---" "(add none, continue with setup)" \ -"---" "(add none, continue with setup)" \ -"---" "(add none, continue with setup)" \ -"---" "(add none, continue with setup)" \ -2>&1 1>&3` -returncode=$? -exec 3>&- - -. ./report-string diff --git a/contrib/dialog/samples/mixedform b/contrib/dialog/samples/mixedform deleted file mode 100755 index ac4d625e5992..000000000000 --- a/contrib/dialog/samples/mixedform +++ /dev/null @@ -1,53 +0,0 @@ -#! /bin/sh -# $Id: mixedform,v 1.9 2020/11/26 00:27:07 tom Exp $ - -. ./setup-vars - -backtitle="An Example for the use of --mixedform:" -returncode=0 -while test $returncode != 1 && test $returncode != 250 -do -returncode=$? -exec 3>&1 -returntext=`$DIALOG --title "Mixed form demonstration" --ok-label "Submit" \ - --backtitle "$backtitle" \ - --insecure "$@" \ - --mixedform "Here is a possible piece of a configuration program." \ -20 50 0 \ - "Username :" 1 1 "Kiran" 1 20 10 0 2 \ - "Password :" 2 1 "" 2 20 8 0 1 \ - "Retype Password :" 3 1 "" 3 20 8 0 1 \ - "HOME :" 4 1 "Cisco" 4 20 40 0 0 \ -2>&1 1>&3` -returncode=$? -exec 3>&- -show=`echo "$returntext" |sed -e 's/^/ /'` - - case $returncode in - $DIALOG_CANCEL) - "$DIALOG" \ - --clear \ - --backtitle "$backtitle" \ - --yesno "Really quit?" 10 30 - case $? in - $DIALOG_OK) - break - ;; - $DIALOG_CANCEL) - returncode=99 - ;; - esac - ;; - $DIALOG_OK) - "$DIALOG" \ - --clear \ - --backtitle "$backtitle" --no-collapse --cr-wrap \ - --msgbox "Resulting data:\n\ -$show" 10 40 - ;; - *) - . ./report-button - exit - ;; - esac -done diff --git a/contrib/dialog/samples/mixedform2 b/contrib/dialog/samples/mixedform2 deleted file mode 100755 index 6a8f554c5dda..000000000000 --- a/contrib/dialog/samples/mixedform2 +++ /dev/null @@ -1,53 +0,0 @@ -#! /bin/sh -# $Id: mixedform2,v 1.8 2020/11/26 00:26:50 tom Exp $ - -. ./setup-vars - -backtitle="An Example for the use of --mixedform:" -returncode=0 -while test $returncode != 1 && test $returncode != 250 -do -returncode=$? -exec 3>&1 -returntext=`$DIALOG --title "Mixed form demonstration" --ok-label "Submit" \ - --backtitle "$backtitle" \ - --insecure "$@" \ - --mixedform "Here is a possible piece of a configuration program." \ -20 50 0 \ - "Username :" 1 1 "Kiran" 1 20 10 0 2 \ - "Password :" 2 1 "pass" 2 20 8 0 3 \ - "Retype Password :" 3 1 "pass" 3 20 8 0 3 \ - "HOME :" 4 1 "Cisco" 4 20 40 0 2 \ -2>&1 1>&3` -returncode=$? -exec 3>&- -show=`echo "$returntext" |sed -e 's/^/ /'` - - case $returncode in - $DIALOG_CANCEL) - "$DIALOG" \ - --clear \ - --backtitle "$backtitle" \ - --yesno "Really quit?" 10 30 - case $? in - $DIALOG_OK) - break - ;; - $DIALOG_CANCEL) - returncode=99 - ;; - esac - ;; - $DIALOG_OK) - "$DIALOG" \ - --clear \ - --backtitle "$backtitle" --no-collapse --cr-wrap \ - --msgbox "Resulting data:\n\ -$show" 10 40 - ;; - *) - . ./report-button - exit - ;; - esac -done diff --git a/contrib/dialog/samples/mixedgauge b/contrib/dialog/samples/mixedgauge deleted file mode 100755 index 517ba1134ce6..000000000000 --- a/contrib/dialog/samples/mixedgauge +++ /dev/null @@ -1,26 +0,0 @@ -#! /bin/sh -# $Id: mixedgauge,v 1.7 2010/01/13 10:20:03 tom Exp $ - -. ./setup-vars - -background="An Example of --mixedgauge usage" - -for i in 5 10 20 30 40 50 60 70 80 90 100 -do -$DIALOG --backtitle "$background" \ - --title "Mixed gauge demonstration" "$@" \ - --mixedgauge "This is a prompt message,\nand this is the second line." \ - 0 0 33 \ - "Process one" "0" \ - "Process two" "1" \ - "Process three" "2" \ - "Process four" "3" \ - "" "8" \ - "Process five" "5" \ - "Process six" "6" \ - "Process seven" "7" \ - "Process eight" "4" \ - "Process nine" "-$i" -# break -sleep 1 -done diff --git a/contrib/dialog/samples/msgbox b/contrib/dialog/samples/msgbox deleted file mode 100755 index 7196e334166d..000000000000 --- a/contrib/dialog/samples/msgbox +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh -# $Id: msgbox,v 1.8 2020/11/26 00:03:58 tom Exp $ - -. ./setup-vars - -$DIALOG --title "MESSAGE BOX" --clear "$@" \ - --msgbox "Hi, this is a simple message box. You can use this to \ - display any message you like. The box will remain until \ - you press the ENTER key." 10 41 - -returncode=$? - -. ./report-button diff --git a/contrib/dialog/samples/msgbox-help b/contrib/dialog/samples/msgbox-help deleted file mode 100755 index 8f46b7ca7a4a..000000000000 --- a/contrib/dialog/samples/msgbox-help +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh -# $Id: msgbox-help,v 1.7 2020/11/26 00:03:58 tom Exp $ - -. ./setup-vars - -$DIALOG --title "MESSAGE BOX" --clear \ - --help-button "$@" \ - --msgbox "Hi, this is a simple message box. You can use this to \ - display any message you like. The box will remain until \ - you press the ENTER key." 10 41 - -returncode=$? - -. ./report-button diff --git a/contrib/dialog/samples/msgbox-utf8 b/contrib/dialog/samples/msgbox-utf8 deleted file mode 100755 index df3af7f7b1bd..000000000000 --- a/contrib/dialog/samples/msgbox-utf8 +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh -# $Id: msgbox-utf8,v 1.2 2020/11/26 00:03:58 tom Exp $ -# from Debian #570634 - -. ./setup-vars - -. ./setup-utf8 - -${DIALOG-dialog} "$@" \ - --title "ทดสอบวรรณยุà¸à¸•์" \ - --msgbox "วรรณยุà¸à¸•์อยู่ท้ายบรรทัดได้หรือไม่" 8 23 -returncode=$? - -. ./report-button diff --git a/contrib/dialog/samples/msgbox1 b/contrib/dialog/samples/msgbox1 deleted file mode 100755 index adc811f7b10e..000000000000 --- a/contrib/dialog/samples/msgbox1 +++ /dev/null @@ -1,34 +0,0 @@ -#!/bin/sh -# $Id: msgbox1,v 1.11 2019/12/11 01:56:43 tom Exp $ - -. ./setup-vars - -$DIALOG --title "MESSAGE BOX" --clear "$@" \ - --msgbox "Hi, this is a simple message box. You can use this to - display any message you like. The box will remain until - you press the ENTER key. This box is being displayed - with dialogs default aspect ratio of 9." 0 0 -test $? = "$DIALOG_ESC" && exit - -$DIALOG --aspect 12 --title "MESSAGE BOX aspect=12" --clear "$@" \ - --msgbox "Hi, this is a simple message box. You can use this to - display any message you like. The box will remain until - you press the ENTER key. This box is being displayed - with an aspect ratio of 12." 0 0 -test $? = "$DIALOG_ESC" && exit - -$DIALOG --aspect 6 --title "MESSAGE BOX aspect=6" --clear "$@" \ - --msgbox "Hi, this is a simple message box. You can use this to - display any message you like. The box will remain until - you press the ENTER key. This box is being displayed - with an aspect ratio of 6." 0 0 -test $? = "$DIALOG_ESC" && exit - -$DIALOG --aspect 6 --cr-wrap --title "MESSAGE BOX aspect=6 with --cr-wrap" \ - --clear "$@" --msgbox " \ - Hi, this is a simple - message box. You can - use this to display any - message you like. -The box will remain until you press the ENTER key. This box is being displayed with an aspect ratio of 6, and using --cr-wrap.\n" 0 0 -test $? = "$DIALOG_ESC" && exit diff --git a/contrib/dialog/samples/msgbox2 b/contrib/dialog/samples/msgbox2 deleted file mode 100755 index f3bbb0410aa1..000000000000 --- a/contrib/dialog/samples/msgbox2 +++ /dev/null @@ -1,34 +0,0 @@ -#!/bin/sh -# $Id: msgbox2,v 1.9 2019/12/11 01:56:17 tom Exp $ - -. ./setup-vars - -$DIALOG --title "MESSAGE BOX" --trim "$@" \ - --msgbox "Hi, this is a simple message box. You can use this to - display any message you like. The box will remain until - you press the ENTER key. This box is being displayed - with dialogs default aspect ratio of 9." 0 0 -test $? = "$DIALOG_ESC" && exit - -$DIALOG --aspect 12 --title "MESSAGE BOX aspect=12" --trim "$@" \ - --msgbox "Hi, this is a simple message box. You can use this to - display any message you like. The box will remain until - you press the ENTER key. This box is being displayed - with an aspect ratio of 12." 0 0 -test $? = "$DIALOG_ESC" && exit - -$DIALOG --aspect 6 --title "MESSAGE BOX aspect=6" --trim "$@" \ - --msgbox "Hi, this is a simple message box. You can use this to - display any message you like. The box will remain until - you press the ENTER key. This box is being displayed - with an aspect ratio of 6." 0 0 -test $? = "$DIALOG_ESC" && exit - -$DIALOG --aspect 6 --cr-wrap --title "MESSAGE BOX aspect=6 with --cr-wrap" \ - --trim "$@" --msgbox " \ - Hi, this is a simple - message box. You can - use this to display any - message you like. -The box will remain until you press the ENTER key. This box is being displayed with an aspect ratio of 6, and using --cr-wrap.\n" 0 0 -test $? = "$DIALOG_ESC" && exit diff --git a/contrib/dialog/samples/msgbox3 b/contrib/dialog/samples/msgbox3 deleted file mode 100755 index 0157b1e14568..000000000000 --- a/contrib/dialog/samples/msgbox3 +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/sh -# $Id: msgbox3,v 1.8 2019/12/11 00:03:44 tom Exp $ - -. ./setup-vars - -width=35 -while test $width != 61 -do -$DIALOG --title "MESSAGE BOX (width $width)" --clear --no-collapse "$@" \ - --msgbox "\ - H H EEEEE L L OOO - H H E L L O O - HHHHH EEEEE L L O O - H H E L L O O - H H EEEEE LLLLL LLLLL OOO - -Hi, this is a simple message box. You can use this to \ -display any message you like. The box will remain until \ -you press the ENTER key." 15 $width -test $? = "$DIALOG_ESC" && break -width=`expr $width + 1` -done diff --git a/contrib/dialog/samples/msgbox4-8bit b/contrib/dialog/samples/msgbox4-8bit deleted file mode 100755 index ba703c6134b6..000000000000 --- a/contrib/dialog/samples/msgbox4-8bit +++ /dev/null @@ -1,33 +0,0 @@ -#!/bin/sh -# $Id: msgbox4-8bit,v 1.8 2020/11/26 00:26:09 tom Exp $ - -. ./setup-vars - -. ./testdata-8bit - -width=30 -while test $width != 61 -do -$DIALOG --title "MESSAGE BOX (width $width)" --no-collapse --colors "$@" \ - --msgbox "\ -This sample uses characters which are non-printing in POSIX locale. - -\Z1`./rotated-data 0 "$SAMPLE"` \Z2`./rotated-data 1 "$SAMPLE"` \Z3`./rotated-data 2 "$SAMPLE"` \Z4`./rotated-data 3 "$SAMPLE"`\Zn - -Hi, this is a simple message box. You can use this to \ -display any message you like. The box will remain until \ -you press the ENTER key." 22 $width -returncode=$? - -case $returncode in - $DIALOG_OK) - ;; - *) - . ./report-button; - exit - ;; -esac - -width=`expr $width + 1` - -done diff --git a/contrib/dialog/samples/msgbox4-eucjp b/contrib/dialog/samples/msgbox4-eucjp deleted file mode 100755 index 9969c0824534..000000000000 --- a/contrib/dialog/samples/msgbox4-eucjp +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/sh -# $Id: msgbox4-eucjp,v 1.5 2010/01/13 10:20:03 tom Exp $ - -. ./setup-vars - -width=35 -while test $width != 61 -do -$DIALOG --title "MESSAGE BOX (width $width)" --clear --no-collapse "$@" \ - --msgbox "\ -This sample is written in EUC-JP. -There are several checking points: -(1) whether the fullwidth characters are displayed well or not, -(2) whether the width of characters are evaluated properly, and -(3) whether the character at line-folding is lost or not. - -¤¢¤¤¤¦¤¨¤ª¤«¤­¤¯¤±¤³¤µ¤·¤¹¤»¤½¤¿¤Á¤Ä¤Æ¤È¤Ê¤Ë¤Ì¤Í¤Î -£±£²£³£´£µ£¶£·£¸£¹£°£±£²£³£´£µ£¶£·£¸£¹£°£±£²£³£´£µ -£Á£Â£Ã£Ä£Å£Æ£Ç£È£É£Ê£Ë£Ì£Í£Î£Ï£Ð£Ñ£Ò£Ó£Ô£Õ£Ö£×£Ø£Ù - -Hi, this is a simple message box. You can use this to \ -display any message you like. The box will remain until \ -you press the ENTER key." 22 $width -width=`expr $width + 1` -done diff --git a/contrib/dialog/samples/msgbox4-utf8 b/contrib/dialog/samples/msgbox4-utf8 deleted file mode 100755 index 00ac0698ff8b..000000000000 --- a/contrib/dialog/samples/msgbox4-utf8 +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/sh -# $Id: msgbox4-utf8,v 1.13 2020/11/26 00:25:37 tom Exp $ - -. ./setup-vars - -. ./setup-utf8 - -width=30 -while test $width != 61 -do -$DIALOG --title "MESSAGE BOX (width $width)" --no-collapse "$@" \ - --msgbox "\ -This sample is written in UTF-8. -There are several checking points: -(1) whether the fullwidth characters are displayed well or not, -(2) whether the width of characters are evaluated properly, and -(3) whether the character at line-folding is lost or not. - -ã‚ã„ã†ãˆãŠã‹ããã‘ã“ã•ã—ã™ã›ããŸã¡ã¤ã¦ã¨ãªã«ã¬ã­ã® -123456789ï¼ï¼‘23456789ï¼ï¼‘2345 -ABCDEFGHIJKLMNOPQRSTUVWXY - -Hi, this is a simple message box. You can use this to \ -display any message you like. The box will remain until \ -you press the ENTER key." 22 $width -returncode=$? - -case $returncode in - $DIALOG_OK) - ;; - *) - . ./report-button; - exit - ;; -esac - -width=`expr $width + 1` - -done diff --git a/contrib/dialog/samples/msgbox5 b/contrib/dialog/samples/msgbox5 deleted file mode 100755 index e91dbe87f9c3..000000000000 --- a/contrib/dialog/samples/msgbox5 +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/sh -# $Id: msgbox5,v 1.6 2019/12/11 00:03:34 tom Exp $ -# this differs from msgbox3 by making a window small enough to force scrolling. - -. ./setup-vars - -width=35 -while test $width != 61 -do -$DIALOG --title "MESSAGE BOX (width $width)" --clear --no-collapse "$@" \ - --msgbox "\ - H H EEEEE L L OOO - H H E L L O O - HHHHH EEEEE L L O O - H H E L L O O - H H EEEEE LLLLL LLLLL OOO - -Hi, this is a simple message box. You can use this to \ -display any message you like. The box will remain until \ -you press the ENTER key." 10 $width -test $? = "$DIALOG_ESC" && break -width=`expr $width + 1` -done diff --git a/contrib/dialog/samples/msgbox6 b/contrib/dialog/samples/msgbox6 deleted file mode 100755 index e2f22cb7d731..000000000000 --- a/contrib/dialog/samples/msgbox6 +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh -# $Id: msgbox6,v 1.6 2019/12/11 00:03:24 tom Exp $ -# this differs from msgbox3 by making a window small enough to force scrolling. - -. ./setup-vars - -width=35 -while test $width != 61 -do -$DIALOG --title "MESSAGE BOX (width $width)" --clear "$@" \ - --msgbox "\ - a b c d e f g h j i j k l m n o p q r s t u v w x y z - A B C D E F G H J I J K L M N O P Q R S T U V W X Y Z -" 10 $width -test $? = "$DIALOG_ESC" && break -width=`expr $width + 1` -done diff --git a/contrib/dialog/samples/msgbox6a b/contrib/dialog/samples/msgbox6a deleted file mode 100755 index cbbfb6034ccf..000000000000 --- a/contrib/dialog/samples/msgbox6a +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh -# $Id: msgbox6a,v 1.6 2019/12/11 00:03:14 tom Exp $ -# this differs from msgbox3 by making a window small enough to force scrolling. - -. ./setup-vars - -width=35 -while test $width != 61 -do -$DIALOG --title "MESSAGE BOX (width $width)" --clear "$@" \ - --msgbox "\ - .a .b .c .d .e .f .g .h .j .i .j .k .l .m .n .o .p .q .r .s .t .u .v .w .x .y .z - .A .B .C .D .E .F .G .H .J .I .J .K .L .M .N .O .P .Q .R .S .T .U .V .W .X .Y .Z -" 10 $width -test $? = "$DIALOG_ESC" && break -width=`expr $width + 1` -done diff --git a/contrib/dialog/samples/password b/contrib/dialog/samples/password deleted file mode 100755 index 57b73bc04683..000000000000 --- a/contrib/dialog/samples/password +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# $Id: password,v 1.8 2020/11/26 00:03:58 tom Exp $ - -. ./setup-vars - -. ./setup-tempfile - -$DIALOG --title "INPUT BOX" --clear "$@" \ - --passwordbox "Hi, this is an password dialog box. You can use \n -this to ask questions that require the user \n -to input a string as the answer. You can \n -input strings of length longer than the \n -width of the input box, in that case, the \n -input field will be automatically scrolled. \n -You can use BACKSPACE to correct errors. \n\n -Try entering your name below:" 16 51 2> $tempfile - -returncode=$? - -. ./report-tempfile diff --git a/contrib/dialog/samples/password1 b/contrib/dialog/samples/password1 deleted file mode 100755 index c173e82384dc..000000000000 --- a/contrib/dialog/samples/password1 +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/sh -# $Id: password1,v 1.7 2020/11/26 00:03:58 tom Exp $ - -. ./setup-vars - -. ./setup-tempfile - -$DIALOG --title "INPUT BOX" --clear \ - --insecure "$@" \ - --passwordbox "Hi, this is an password dialog box. You can use \n -this to ask questions that require the user \n -to input a string as the answer. You can \n -input strings of length longer than the \n -width of the input box, in that case, the \n -input field will be automatically scrolled. \n -You can use BACKSPACE to correct errors. \n\n -Try entering your name below:" 16 51 2> $tempfile - -returncode=$? - -. ./report-tempfile diff --git a/contrib/dialog/samples/password2 b/contrib/dialog/samples/password2 deleted file mode 100755 index 07a8c00afa2a..000000000000 --- a/contrib/dialog/samples/password2 +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/sh -# $Id: password2,v 1.7 2020/11/26 00:05:11 tom Exp $ - -. ./setup-vars - -. ./setup-tempfile - -$DIALOG --title "INPUT BOX" --clear \ - --insecure "$@" \ - --passwordbox "Hi, this is an password dialog box. You can use \n -this to ask questions that require the user \n -to input a string as the answer. You can \n -input strings of length longer than the \n -width of the input box, in that case, the \n -input field will be automatically scrolled. \n -You can use BACKSPACE to correct errors. \n\n -Try entering your name below:" 16 51 stupid 2> $tempfile - -returncode=$? - -. ./report-tempfile diff --git a/contrib/dialog/samples/passwordform1 b/contrib/dialog/samples/passwordform1 deleted file mode 100755 index 07422e139d84..000000000000 --- a/contrib/dialog/samples/passwordform1 +++ /dev/null @@ -1,61 +0,0 @@ -#! /bin/sh -# $Id: passwordform1,v 1.8 2020/11/26 00:23:09 tom Exp $ - -. ./setup-vars - -backtitle="An Example for the use of --form:" - -ids=`id|sed -e 's/([^)]*)//g'` -uid=`echo "$ids" | sed -e 's/^uid=//' -e 's/ .*//'` -gid=`echo "$ids" | sed -e 's/^.* gid=//' -e 's/ .*//'` - -user="$USER" -home="$HOME" - -returncode=0 -while test $returncode != 1 && test $returncode != 250 -do -exec 3>&1 -returntext=`$DIALOG --ok-label "Submit" \ - --backtitle "$backtitle" \ - --insecure "$@" \ - --passwordform "Here is a possible piece of a configuration program." \ -20 50 0 \ - "Username:" 1 1 "$user" 1 10 10 0 \ - "UID:" 2 1 "$uid" 2 10 8 0 \ - "GID:" 3 1 "$gid" 3 10 8 0 \ - "HOME:" 4 1 "$home" 4 10 40 0 \ -2>&1 1>&3` -returncode=$? -exec 3>&- - -show=`echo "$returntext" |sed -e 's/^/ /'` - - case $returncode in - $DIALOG_CANCEL) - "$DIALOG" \ - --clear \ - --backtitle "$backtitle" \ - --yesno "Really quit?" 10 30 - case $? in - $DIALOG_OK) - break - ;; - $DIALOG_CANCEL) - returncode=99 - ;; - esac - ;; - $DIALOG_OK) - "$DIALOG" \ - --clear \ - --backtitle "$backtitle" --no-collapse --cr-wrap \ - --msgbox "Resulting data:\n\ -$show" 10 40 - ;; - *) - . ./report-button - exit - ;; - esac -done diff --git a/contrib/dialog/samples/passwordform1-utf8 b/contrib/dialog/samples/passwordform1-utf8 deleted file mode 100755 index b1cfb59de083..000000000000 --- a/contrib/dialog/samples/passwordform1-utf8 +++ /dev/null @@ -1,63 +0,0 @@ -#! /bin/sh -# $Id: passwordform1-utf8,v 1.10 2020/11/26 00:22:47 tom Exp $ - -. ./setup-vars - -. ./setup-utf8 - -backtitle="An Example for the use of --passwordform:" - -ids=`id|sed -e 's/([^)]*)//g'` -uid=`echo "$ids" | sed -e 's/^uid=//' -e 's/ .*//'` -gid=`echo "$ids" | sed -e 's/^.* gid=//' -e 's/ .*//'` - -user="DOG" -home=/usr/home/$user - -returncode=0 -while test $returncode != 1 && test $returncode != 250 -do -exec 3>&1 -returntext=`$DIALOG --ok-label "Submit" \ - --backtitle "$backtitle" \ - --insecure "$@" \ - --passwordform "Here is a possible piece of a configuration program." \ -20 50 0 \ - "Username:" 1 1 "$user" 1 10 10 0 \ - "UID:" 2 1 "$uid" 2 10 8 0 \ - "GID:" 3 1 "$gid" 3 10 8 0 \ - "HOME:" 4 1 "$home" 4 10 40 0 \ -2>&1 1>&3` -returncode=$? -exec 3>&- - -show=`echo "$returntext" |sed -e 's/^/ /'` - - case $returncode in - $DIALOG_CANCEL) - "$DIALOG" \ - --clear \ - --backtitle "$backtitle" \ - --yesno "Really quit?" 10 30 - case $? in - $DIALOG_OK) - break - ;; - $DIALOG_CANCEL) - returncode=99 - ;; - esac - ;; - $DIALOG_OK) - "$DIALOG" \ - --clear \ - --backtitle "$backtitle" --no-collapse --cr-wrap \ - --msgbox "Resulting data:\n\ -$show" 10 40 - ;; - *) - . ./report-button - exit - ;; - esac -done diff --git a/contrib/dialog/samples/pause b/contrib/dialog/samples/pause deleted file mode 100755 index c524244843c4..000000000000 --- a/contrib/dialog/samples/pause +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh -# $Id: pause,v 1.6 2020/11/26 00:05:11 tom Exp $ - -. ./setup-vars - -$DIALOG --title "PAUSE" "$@" --pause "Hi, this is a pause widget" 20 70 10 - -returncode=$? - -. ./report-button diff --git a/contrib/dialog/samples/pause-both b/contrib/dialog/samples/pause-both deleted file mode 100755 index 5e7564f58578..000000000000 --- a/contrib/dialog/samples/pause-both +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh -# $Id: pause-both,v 1.2 2020/11/26 00:05:11 tom Exp $ - -. ./setup-vars - -$DIALOG --title "PAUSE" \ - --help-button \ - --extra-button "$@" \ - --pause "Hi, this is a pause widget" 20 70 10 - -returncode=$? -echo return $returncode - -. ./report-button diff --git a/contrib/dialog/samples/pause-extra b/contrib/dialog/samples/pause-extra deleted file mode 100755 index a5e366d79d93..000000000000 --- a/contrib/dialog/samples/pause-extra +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh -# $Id: pause-extra,v 1.2 2020/11/26 00:05:11 tom Exp $ - -. ./setup-vars - -$DIALOG --title "PAUSE" \ - --extra-button "$@" \ - --pause "Hi, this is a pause widget" 20 70 10 - -returncode=$? -echo return $returncode - -. ./report-button diff --git a/contrib/dialog/samples/pause-help b/contrib/dialog/samples/pause-help deleted file mode 100755 index 6d45753da520..000000000000 --- a/contrib/dialog/samples/pause-help +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# $Id: pause-help,v 1.6 2020/11/26 00:05:11 tom Exp $ - -. ./setup-vars - -$DIALOG --title "PAUSE" \ - --help-button "$@" \ - --pause "Hi, this is a pause widget" 20 70 10 - -returncode=$? - -. ./report-button diff --git a/contrib/dialog/samples/prgbox b/contrib/dialog/samples/prgbox deleted file mode 100755 index d830e79e878a..000000000000 --- a/contrib/dialog/samples/prgbox +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/sh -# $Id: prgbox,v 1.3 2020/11/26 00:05:11 tom Exp $ - -. ./setup-vars - -$DIALOG --title "PRGBOX" "$@" --prgbox "./shortlist" 20 70 - -returncode=$? -. ./report-button diff --git a/contrib/dialog/samples/prgbox2 b/contrib/dialog/samples/prgbox2 deleted file mode 100755 index 12239ce2ae0d..000000000000 --- a/contrib/dialog/samples/prgbox2 +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/sh -# $Id: prgbox2,v 1.3 2020/11/26 00:05:11 tom Exp $ - -. ./setup-vars - -$DIALOG --title "PRGBOX" "$@" --prgbox "./shortlist 3" 20 70 - -returncode=$? -. ./report-button diff --git a/contrib/dialog/samples/programbox b/contrib/dialog/samples/programbox deleted file mode 100755 index bc6421bf19e2..000000000000 --- a/contrib/dialog/samples/programbox +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/sh -# $Id: programbox,v 1.4 2020/11/26 00:05:11 tom Exp $ - -. ./setup-vars - -. ./setup-tempfile - -ls -1 >$tempfile -( -while true -do -read text -test -z "$text" && break -ls -ld "$text" || break -sleep 0.1 -done <$tempfile -) | - -$DIALOG --title "PROGRAMBOX" "$@" --programbox 20 70 - -returncode=$? -. ./report-button diff --git a/contrib/dialog/samples/programbox2 b/contrib/dialog/samples/programbox2 deleted file mode 100755 index fe1c826e0f05..000000000000 --- a/contrib/dialog/samples/programbox2 +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/sh -# $Id: programbox2,v 1.4 2020/11/26 00:05:11 tom Exp $ - -. ./setup-vars - -. ./setup-tempfile - -ls -1 >$tempfile -( -while true -do -read text -test -z "$text" && break -ls -ld "$text" || break -sleep 0.1 -done <$tempfile -) | - -$DIALOG --title "PROGRAMBOX" "$@" --programbox "ProgramBox" 20 70 - -returncode=$? -. ./report-button diff --git a/contrib/dialog/samples/programbox3 b/contrib/dialog/samples/programbox3 deleted file mode 100755 index 1dc020c3d222..000000000000 --- a/contrib/dialog/samples/programbox3 +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/sh -# $Id: programbox3,v 1.2 2020/11/26 00:05:11 tom Exp $ - -. ./setup-vars - -. ./setup-tempfile - -ls -1 >$tempfile -( -while true -do -read text -test -z "$text" && break -ls -ld "$text" || break -sleep 0.1 -done <$tempfile -) | - -$DIALOG --title "PROGRAMBOX" "$@" --programbox -1 -1 - -returncode=$? -. ./report-button diff --git a/contrib/dialog/samples/progress b/contrib/dialog/samples/progress deleted file mode 100755 index e2bbe1752397..000000000000 --- a/contrib/dialog/samples/progress +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/sh -# $Id: progress,v 1.8 2020/11/26 00:05:11 tom Exp $ - -. ./setup-vars - -. ./setup-tempfile - -ls -1 >$tempfile -( -while true -do -read text -test -z "$text" && break -ls -ld "$text" || break -sleep 1 -done <$tempfile -) | - -$DIALOG --title "PROGRESS" "$@" --progressbox 20 70 - -returncode=$? -. ./report-button diff --git a/contrib/dialog/samples/progress2 b/contrib/dialog/samples/progress2 deleted file mode 100755 index f5d9e782bab0..000000000000 --- a/contrib/dialog/samples/progress2 +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/sh -# $Id: progress2,v 1.8 2020/11/26 00:05:11 tom Exp $ - -. ./setup-vars - -. ./setup-tempfile - -ls -1 >$tempfile -( -while true -do -read text -test -z "$text" && break -ls -ld "$text" || break -sleep 1 -done <$tempfile -) | - -$DIALOG --title "PROGRESS" "$@" --progressbox "This is a detailed description\nof the progress-box." 20 70 - -returncode=$? -. ./report-button diff --git a/contrib/dialog/samples/radiolist b/contrib/dialog/samples/radiolist deleted file mode 100755 index 93068d166700..000000000000 --- a/contrib/dialog/samples/radiolist +++ /dev/null @@ -1,28 +0,0 @@ -#! /bin/sh -# $Id: radiolist,v 1.14 2020/11/26 00:05:11 tom Exp $ - -. ./setup-vars - -. ./setup-tempfile - -$DIALOG --backtitle "No Such Organization" \ - --title "RADIOLIST BOX" --clear "$@" \ - --radiolist "Hi, this is a radiolist box. You can use this to \n\ -present a list of choices which can be turned on or \n\ -off. If there are more items than can fit on the \n\ -screen, the list will be scrolled. You can use the \n\ -UP/DOWN arrow keys, the first letter of the choice as a \n\ -hot key, or the number keys 1-9 to choose an option. \n\ -Press SPACE to toggle an option on/off. \n\n\ - Which of the following are fruits?" 20 61 5 \ - "Apple" "It's an apple." off \ - "Dog" "No, that's not my dog." ON \ - "Orange" "Yeah, that's juicy." off \ - "Chicken" "Normally not a pet." off \ - "Cat" "No, never put a dog and a cat together!" off \ - "Fish" "Cats like fish." off \ - "Lemon" "You know how it tastes." off 2> $tempfile - -returncode=$? - -. ./report-tempfile diff --git a/contrib/dialog/samples/radiolist1 b/contrib/dialog/samples/radiolist1 deleted file mode 100755 index da7ad8b56631..000000000000 --- a/contrib/dialog/samples/radiolist1 +++ /dev/null @@ -1,33 +0,0 @@ -#! /bin/sh -# $Id: radiolist1,v 1.2 2020/11/26 00:05:11 tom Exp $ - -. ./setup-vars - -. ./setup-tempfile - -$DIALOG --backtitle "No Such Organization" \ - --title "RADIOLIST BOX" --clear "$@" \ - --radiolist "Hi, this is a radiolist box. You can use this to \n\ -present a list of choices which can be turned on or \n\ -off. If there are more items than can fit on the \n\ -screen, the list will be scrolled. You can use the \n\ -UP/DOWN arrow keys, the first letter of the choice as a \n\ -hot key, or the number keys 1-9 to choose an option. \n\ -Press SPACE to toggle an option on/off. \n\n\ - Which of the following are fruits?" 20 61 5 \ - "Apple" "It's an apple." off \ - "Dog" "No, that's not my dog." ON \ - "Dog2" "No2, that's not my dog." off \ - "Dog3" "No3, that's not my dog." off \ - "Dog4" "No4, that's not my dog." off \ - "Dog5" "No5, that's not my dog." off \ - "Dog6" "No6, that's not my dog." off \ - "Orange" "Yeah, that's juicy." off \ - "Chicken" "Normally not a pet." off \ - "Cat" "No, never put a dog and a cat together!" off \ - "Fish" "Cats like fish." off \ - "Lemon" "You know how it tastes." off 2> $tempfile - -returncode=$? - -. ./report-tempfile diff --git a/contrib/dialog/samples/radiolist10 b/contrib/dialog/samples/radiolist10 deleted file mode 100755 index 8e8f0d3463d9..000000000000 --- a/contrib/dialog/samples/radiolist10 +++ /dev/null @@ -1,30 +0,0 @@ -#! /bin/sh -# $Id: radiolist10,v 1.7 2020/11/26 00:05:11 tom Exp $ -# zero-width column - -. ./setup-vars - -. ./setup-tempfile - -$DIALOG \ - --backtitle "No such organization" \ - --title "RADIOLIST BOX" "$@" \ - --radiolist "Hi, this is a radiolist box. You can use this to \n\ -present a list of choices which can be turned on or \n\ -off. If there are more items than can fit on the \n\ -screen, the list will be scrolled. You can use the \n\ -UP/DOWN arrow keys, the first letter of the choice as a \n\ -hot key, or the number keys 1-9 to choose an option. \n\ -Press SPACE to toggle an option on/off. \n\n\ - Which of the following are fruits?" 20 61 5 \ - Dialog "" on \ - Readline "" off \ - Gnome "" off \ - Kde "" off \ - Editor "" off \ - Noninteractive "" on \ - 2> $tempfile - -returncode=$? - -. ./report-tempfile diff --git a/contrib/dialog/samples/radiolist2 b/contrib/dialog/samples/radiolist2 deleted file mode 100755 index 7ab31af59c9c..000000000000 --- a/contrib/dialog/samples/radiolist2 +++ /dev/null @@ -1,30 +0,0 @@ -#! /bin/sh -# $Id: radiolist2,v 1.9 2020/11/26 00:05:11 tom Exp $ - -. ./setup-vars - -. ./setup-tempfile - -$DIALOG --ok-label Okay \ - --cancel-label 'Give Up' \ - --backtitle "No Such Organization" \ - --title "RADIOLIST BOX" --clear "$@" \ - --radiolist "Hi, this is a radiolist box. You can use this to \n\ -present a list of choices which can be turned on or \n\ -off. If there are more items than can fit on the \n\ -screen, the list will be scrolled. You can use the \n\ -UP/DOWN arrow keys, the first letter of the choice as a \n\ -hot key, or the number keys 1-9 to choose an option. \n\ -Press SPACE to toggle an option on/off. \n\n\ - Which of the following are fruits?" 20 61 5 \ - "Apple" "It's an apple." off \ - "Dog" "No, that's not my dog." ON \ - "Orange" "Yeah, that's juicy." off \ - "Chicken" "Normally not a pet." off \ - "Cat" "No, never put a dog and a cat together!" off \ - "Fish" "Cats like fish." off \ - "Lemon" "You know how it tastes." off 2> $tempfile - -returncode=$? - -. ./report-tempfile diff --git a/contrib/dialog/samples/radiolist3 b/contrib/dialog/samples/radiolist3 deleted file mode 100755 index a1fd02e45f5b..000000000000 --- a/contrib/dialog/samples/radiolist3 +++ /dev/null @@ -1,30 +0,0 @@ -#! /bin/sh -# $Id: radiolist3,v 1.10 2020/11/26 00:05:11 tom Exp $ - -. ./setup-vars - -. ./setup-tempfile - -$DIALOG --item-help --ok-label Okay \ - --cancel-label 'Give Up' \ - --backtitle "No Such Organization" \ - --title "RADIOLIST BOX" --clear "$@" \ - --radiolist "Hi, this is a radiolist box. You can use this to \n\ -present a list of choices which can be turned on or \n\ -off. If there are more items than can fit on the \n\ -screen, the list will be scrolled. You can use the \n\ -UP/DOWN arrow keys, the first letter of the choice as a \n\ -hot key, or the number keys 1-9 to choose an option. \n\ -Press SPACE to toggle an option on/off. \n\n\ - Which of the following are fruits?" 20 61 5 \ - "Apple" "It's an apple." off "Hint: this grows in a tree" \ - "Dog" "No, that's not my dog." ON "Hint: this likes trees" \ - "Orange" "Yeah, that's juicy." off "Hint: this is green when picked" \ - "Chicken" "Normally not a pet." off "Hint: not often in trees" \ - "Cat" "No, never put a dog and a cat together!" off "Hint: may be found in trees" \ - "Fish" "Cats like fish." off "Hint: usually not close to cats" \ - "Lemon" "You know how it tastes." off "Hint: like an orange" 2> $tempfile - -returncode=$? - -. ./report-tempfile diff --git a/contrib/dialog/samples/radiolist4 b/contrib/dialog/samples/radiolist4 deleted file mode 100755 index c2c47dca251b..000000000000 --- a/contrib/dialog/samples/radiolist4 +++ /dev/null @@ -1,30 +0,0 @@ -#! /bin/sh -# $Id: radiolist4,v 1.10 2020/11/26 00:05:11 tom Exp $ - -. ./setup-vars - -. ./setup-tempfile - -$DIALOG --help-button --help-label "Hints" --item-help --ok-label Okay \ - --cancel-label 'Give Up' \ - --backtitle "No Such Organization" \ - --title "RADIOLIST BOX" --clear "$@" \ - --radiolist "Hi, this is a radiolist box. You can use this to \n\ -present a list of choices which can be turned on or \n\ -off. If there are more items than can fit on the \n\ -screen, the list will be scrolled. You can use the \n\ -UP/DOWN arrow keys, the first letter of the choice as a \n\ -hot key, or the number keys 1-9 to choose an option. \n\ -Press SPACE to toggle an option on/off. \n\n\ - Which of the following are fruits?" 20 61 5 \ - "Apple" "It's an apple." off "Hint: this grows in a tree" \ - "Dog" "No, that's not my dog." ON "Hint: this likes trees" \ - "Orange" "Yeah, that's juicy." off "Hint: this is green when picked" \ - "Chicken" "Normally not a pet." off "Hint: not often in trees" \ - "Cat" "No, never put a dog and a cat together!" off "Hint: may be found in trees" \ - "Fish" "Cats like fish." off "Hint: usually not close to cats" \ - "Lemon" "You know how it tastes." off "Hint: like an orange" 2> $tempfile - -returncode=$? - -. ./report-tempfile diff --git a/contrib/dialog/samples/rangebox b/contrib/dialog/samples/rangebox deleted file mode 100755 index 962607d26c19..000000000000 --- a/contrib/dialog/samples/rangebox +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh -# $Id: rangebox,v 1.5 2020/11/26 00:09:12 tom Exp $ - -. ./setup-vars - -exec 3>&1 -returntext=`$DIALOG --title "RANGE BOX" --rangebox "Please set the volume..." 0 60 0 123 5 2>&1 1>&3` -returncode=$? -exec 3>&- - -. ./report-string diff --git a/contrib/dialog/samples/rangebox2 b/contrib/dialog/samples/rangebox2 deleted file mode 100755 index 8a88dc05135a..000000000000 --- a/contrib/dialog/samples/rangebox2 +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh -# $Id: rangebox2,v 1.3 2020/11/26 00:09:12 tom Exp $ - -. ./setup-vars - -exec 3>&1 -returntext=`$DIALOG --title "RANGE BOX" --rangebox "Please set the volume..." 0 60 0 6 5 2>&1 1>&3` -returncode=$? -exec 3>&- - -. ./report-string diff --git a/contrib/dialog/samples/rangebox3 b/contrib/dialog/samples/rangebox3 deleted file mode 100755 index b854d9fb0993..000000000000 --- a/contrib/dialog/samples/rangebox3 +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh -# $Id: rangebox3,v 1.3 2020/11/26 00:09:12 tom Exp $ - -. ./setup-vars - -exec 3>&1 -returntext=`$DIALOG --title "RANGE BOX" --rangebox "Please set the volume..." 0 60 -48 55 5 2>&1 1>&3` -returncode=$? -exec 3>&- - -. ./report-string diff --git a/contrib/dialog/samples/rangebox4 b/contrib/dialog/samples/rangebox4 deleted file mode 100755 index 0e05e9210f4b..000000000000 --- a/contrib/dialog/samples/rangebox4 +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh -# $Id: rangebox4,v 1.3 2020/11/26 00:09:12 tom Exp $ - -. ./setup-vars - -exec 3>&1 -returntext=`$DIALOG --title "RANGE BOX" --rangebox "Please set the volume..." 0 60 10 100 5 2>&1 1>&3` -returncode=$? -exec 3>&- - -. ./report-string diff --git a/contrib/dialog/samples/report-button b/contrib/dialog/samples/report-button deleted file mode 100644 index 0976c96a9d83..000000000000 --- a/contrib/dialog/samples/report-button +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/sh -# $Id: report-button,v 1.8 2020/11/26 00:17:40 tom Exp $ -# Report button-only, no $returntext -# vile:shmode - -case ${returncode:-0} in - $DIALOG_OK) - echo "OK";; - $DIALOG_CANCEL) - echo "Cancel pressed.";; - $DIALOG_HELP) - echo "Help pressed.";; - $DIALOG_EXTRA) - echo "Extra button pressed.";; - $DIALOG_ITEM_HELP) - echo "Item-help button pressed.";; - $DIALOG_TIMEOUT) - echo "Timeout expired.";; - $DIALOG_ERROR) - echo "ERROR!";; - $DIALOG_ESC) - echo "ESC pressed.";; - *) - echo "Return code was $returncode";; -esac diff --git a/contrib/dialog/samples/report-edit b/contrib/dialog/samples/report-edit deleted file mode 100644 index d2343b9ff52a..000000000000 --- a/contrib/dialog/samples/report-edit +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/sh -# $Id: report-edit,v 1.8 2020/11/26 00:18:32 tom Exp $ -# Report results from editing. -# vile:shmode - -case ${returncode:-0} in - $DIALOG_OK) - diff -c "${input:-input}" "${output:-output}" - echo "OK" - ;; - $DIALOG_CANCEL) - echo "Cancel pressed";; - $DIALOG_HELP) - echo "Help pressed";; - $DIALOG_EXTRA) - echo "Extra pressed";; - $DIALOG_ITEM_HELP) - echo "Item-help button pressed.";; - $DIALOG_TIMEOUT) - echo "Timeout expired.";; - $DIALOG_ERROR) - echo "ERROR!";; - $DIALOG_ESC) - echo "ESC pressed.";; - *) - echo "Return code was $returncode";; -esac diff --git a/contrib/dialog/samples/report-string b/contrib/dialog/samples/report-string deleted file mode 100644 index e6ccb6433d2f..000000000000 --- a/contrib/dialog/samples/report-string +++ /dev/null @@ -1,28 +0,0 @@ -#!/bin/sh -# $Id: report-string,v 1.8 2020/11/26 00:18:32 tom Exp $ -# Report result passed in a string $returntext -# vile:shmode - -case ${returncode:-0} in - $DIALOG_OK) - echo "Result is $returntext";; - $DIALOG_CANCEL) - echo "Cancel pressed.";; - $DIALOG_HELP) - echo "Help pressed ($returntext).";; - $DIALOG_EXTRA) - echo "Extra button pressed.";; - $DIALOG_ITEM_HELP) - echo "Item-help button pressed.";; - $DIALOG_TIMEOUT) - echo "Timeout expired.";; - $DIALOG_ESC) - if test -n "$returntext" ; then - echo "$returntext" - else - echo "ESC pressed." - fi - ;; - *) - echo "Return code was $returncode";; -esac diff --git a/contrib/dialog/samples/report-tempfile b/contrib/dialog/samples/report-tempfile deleted file mode 100644 index c6f08c164523..000000000000 --- a/contrib/dialog/samples/report-tempfile +++ /dev/null @@ -1,28 +0,0 @@ -#!/bin/sh -# $Id: report-tempfile,v 1.9 2020/11/26 00:18:32 tom Exp $ -# Report results in a temporary-file. -# vile:shmode - -case "${returncode:-0}" in - $DIALOG_OK) - echo "Result: `cat "$tempfile"`";; - $DIALOG_CANCEL) - echo "Cancel pressed.";; - $DIALOG_HELP) - echo "Help pressed: `cat "$tempfile"`";; - $DIALOG_EXTRA) - echo "Extra button pressed.";; - $DIALOG_ITEM_HELP) - echo "Item-help button pressed: `cat "$tempfile"`";; - $DIALOG_TIMEOUT) - echo "Timeout expired.";; - $DIALOG_ESC) - if test -s "$tempfile" ; then - cat "$tempfile" - else - echo "ESC pressed." - fi - ;; - *) - echo "Return code was $returncode";; -esac diff --git a/contrib/dialog/samples/report-yesno b/contrib/dialog/samples/report-yesno deleted file mode 100644 index cf15458e5782..000000000000 --- a/contrib/dialog/samples/report-yesno +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/sh -# $Id: report-yesno,v 1.7 2020/11/26 00:18:32 tom Exp $ -# Report button-only, no $returntext -# vile:shmode - -case ${returncode:-0} in - $DIALOG_OK) - echo "YES";; - $DIALOG_CANCEL) - echo "NO";; - $DIALOG_HELP) - echo "Help pressed.";; - $DIALOG_EXTRA) - echo "Extra button pressed.";; - $DIALOG_ITEM_HELP) - echo "Item-help button pressed.";; - $DIALOG_TIMEOUT) - echo "Timeout expired.";; - $DIALOG_ERROR) - echo "ERROR!";; - $DIALOG_ESC) - echo "ESC pressed.";; - *) - echo "Return code was $returncode";; -esac diff --git a/contrib/dialog/samples/rotated-data b/contrib/dialog/samples/rotated-data deleted file mode 100755 index 28e3f650f753..000000000000 --- a/contrib/dialog/samples/rotated-data +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/sh -# $Id: rotated-data,v 1.2 2019/12/10 23:59:24 tom Exp $ -# Rotate the second parameter's data by the given shift count. -if test $# != 0 -then - case $1 in - [1-9]*) - left=$1 - next=`expr "$left" + 1` - shift 1 - ;; - *) - left=1 - next=2 - ;; - esac - char=`echo "$@" | cut -b -${left}` - data=`echo "$@" | cut -b ${next}-` - - printf "%s%s\n" "$data" "$char" -else - echo -fi diff --git a/contrib/dialog/samples/run_test.sh b/contrib/dialog/samples/run_test.sh deleted file mode 100755 index 2576d3e91f29..000000000000 --- a/contrib/dialog/samples/run_test.sh +++ /dev/null @@ -1,56 +0,0 @@ -#!/bin/sh -# $Id: run_test.sh,v 1.5 2019/12/10 23:54:52 tom Exp $ -# vile:ts=4 sw=4 -THIS=`basename "$0"` - -if [ -z "$DIALOG" ] -then - have= - want=dialog - for p in . .. ../bin - do - prog=$p/$want - [ -f $prog ] || continue - if [ -x $prog ] - then - have=$prog - break - fi - done - - if [ -z "$have" ] - then - echo "? did not find $want" >&2 - exit - fi - - DIALOG=$have - export DIALOG -fi - -want=`basename $DIALOG` - -DIALOGOPTS="$DIALOGOPTS --trace $want.log" -export DIALOGOPTS - -mylog=run_test.log -cat >$mylog <<EOF -** `date` -EOF - -for name in "$@" -do - [ -f "$name" ] || continue - [ -x "$name" ] || continue - # skip this script and known utility-scripts - case `basename "$name"` in - $THIS|dft-*|killall|listing|rotated-data|shortlist|with-*) - echo "** skipping $name" >>$mylog - continue - ;; - esac - rm -f trace "$want.log" "$name.log" - echo "** running $name" >>$mylog - $name - [ -f "$want.log" ] && cp "$want.log" "$name.log" -done diff --git a/contrib/dialog/samples/setup-edit b/contrib/dialog/samples/setup-edit deleted file mode 100644 index d244397b1bdd..000000000000 --- a/contrib/dialog/samples/setup-edit +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh -# $Id: setup-edit,v 1.3 2016/01/26 22:42:44 tom Exp $ -# vile:shmode - -input=`tempfile 2>/dev/null` || input=/tmp/input$$ -output=`tempfile 2>/dev/null` || output=/tmp/test$$ -trap "rm -f $input $output" $SIG_NONE $SIG_HUP $SIG_INT $SIG_QUIT $SIG_TERM diff --git a/contrib/dialog/samples/setup-tempfile b/contrib/dialog/samples/setup-tempfile deleted file mode 100644 index b00106c29c7e..000000000000 --- a/contrib/dialog/samples/setup-tempfile +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh -# $Id: setup-tempfile,v 1.4 2016/01/26 22:42:47 tom Exp $ -# vile:shmode - -tempfile=`(tempfile) 2>/dev/null` || tempfile=/tmp/test$$ -trap "rm -f $tempfile" 0 $SIG_NONE $SIG_HUP $SIG_INT $SIG_QUIT $SIG_TERM diff --git a/contrib/dialog/samples/setup-utf8 b/contrib/dialog/samples/setup-utf8 deleted file mode 100644 index 07cff3969db6..000000000000 --- a/contrib/dialog/samples/setup-utf8 +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# $Id: setup-utf8,v 1.2 2012/06/29 09:50:32 tom Exp $ -# vile:shmode - -case none"$LANG$LC_ALL$LC_CTYPE" in -*UTF-8*) - ;; -*) - echo "This script must be run in a UTF-8 locale" - exit 1 - ;; -esac diff --git a/contrib/dialog/samples/setup-vars b/contrib/dialog/samples/setup-vars deleted file mode 100644 index 6a6134b15ec7..000000000000 --- a/contrib/dialog/samples/setup-vars +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# $Id: setup-vars,v 1.5 2020/11/25 23:06:52 tom Exp $ -# vile:shmode - -# These symbols are defined to use in the sample shell scripts to make them -# more readable. But they are (intentionally) not exported. If they were -# exported, they would also be visible in the dialog program (a subprocess). - -: "${DIALOG=dialog}" - -: "${DIALOG_OK=0}" -: "${DIALOG_CANCEL=1}" -: "${DIALOG_HELP=2}" -: "${DIALOG_EXTRA=3}" -: "${DIALOG_ITEM_HELP=4}" -: "${DIALOG_TIMEOUT=5}" -: "${DIALOG_ESC=255}" - -: "${SIG_NONE=0}" -: "${SIG_HUP=1}" -: "${SIG_INT=2}" -: "${SIG_QUIT=3}" -: "${SIG_KILL=9}" -: "${SIG_TERM=15}" diff --git a/contrib/dialog/samples/shortlist b/contrib/dialog/samples/shortlist deleted file mode 100755 index bda8b4e89f21..000000000000 --- a/contrib/dialog/samples/shortlist +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh -# $Id: shortlist,v 1.2 2011/03/02 00:11:50 tom Exp $ -# make a short listing, which writes to both stdout and stderr. - -if test $# != 0 -then - count=$1 -else - count=10 -fi - -while test $count != 0 -do - echo "** $count -- `date`" - w >&2 - sleep 1 - count=`expr $count - 1 2>/dev/null` - test -z "$count" && count=0 -done diff --git a/contrib/dialog/samples/slackware.rc b/contrib/dialog/samples/slackware.rc deleted file mode 100644 index 82f1ee85f62e..000000000000 --- a/contrib/dialog/samples/slackware.rc +++ /dev/null @@ -1,142 +0,0 @@ -# $Id: slackware.rc,v 1.10 2012/12/01 00:36:55 tom Exp $ -# vile:confmode -# Run-time configuration file for dialog, matches Slackware color scheme. -# -# Types of values: -# -# Number - <number> -# String - "string" -# Boolean - <ON|OFF> -# Attribute - (foreground,background,highlight?) - -# Set aspect-ration. -aspect = 0 - -# Set separator (for multiple widgets output). -separate_widget = "" - -# Set tab-length (for textbox tab-conversion). -tab_len = 0 - -# Make tab-traversal for checklist, etc., include the list. -visit_items = OFF - -# Shadow dialog boxes? This also turns on color. -use_shadow = ON - -# Turn color support ON or OFF -use_colors = ON - -# Screen color -screen_color = (WHITE,BLUE,OFF) - -# Shadow color -shadow_color = (WHITE,BLACK,OFF) - -# Dialog box color -dialog_color = (BLACK,CYAN,OFF) - -# Dialog box title color -title_color = (YELLOW,CYAN,ON) - -# Dialog box border color -border_color = (CYAN,CYAN,ON) - -# Active button color -button_active_color = (WHITE,BLUE,ON) - -# Inactive button color -button_inactive_color = dialog_color - -# Active button key color -button_key_active_color = button_active_color - -# Inactive button key color -button_key_inactive_color = (RED,CYAN,OFF) - -# Active button label color -button_label_active_color = button_active_color - -# Inactive button label color -button_label_inactive_color = (BLACK,CYAN,ON) - -# Input box color -inputbox_color = (BLUE,WHITE,OFF) - -# Input box border color -inputbox_border_color = border_color - -# Search box color -searchbox_color = (YELLOW,WHITE,ON) - -# Search box title color -searchbox_title_color = (WHITE,WHITE,ON) - -# Search box border color -searchbox_border_color = (RED,WHITE,OFF) - -# File position indicator color -position_indicator_color = button_key_inactive_color - -# Menu box color -menubox_color = dialog_color - -# Menu box border color -menubox_border_color = border_color - -# Item color -item_color = dialog_color - -# Selected item color -item_selected_color = screen_color - -# Tag color -tag_color = title_color - -# Selected tag color -tag_selected_color = screen_color - -# Tag key color -tag_key_color = button_key_inactive_color - -# Selected tag key color -tag_key_selected_color = (RED,BLUE,ON) - -# Check box color -check_color = dialog_color - -# Selected check box color -check_selected_color = (WHITE,CYAN,ON) - -# Up arrow color -uarrow_color = (GREEN,CYAN,ON) - -# Down arrow color -darrow_color = uarrow_color - -# Item help-text color -itemhelp_color = shadow_color - -# Active form text color -form_active_text_color = inputbox_color - -# Form text color -form_text_color = (CYAN,BLUE,ON) - -# Readonly form item color -form_item_readonly_color = (CYAN,WHITE,ON) - -# Dialog box gauge color -gauge_color = (BLUE,WHITE,ON) - -# Dialog box border2 color -border2_color = dialog_color - -# Input box border2 color -inputbox_border2_color = border2_color - -# Search box border2 color -searchbox_border2_color = border2_color - -# Menu box border2 color -menubox_border2_color = border2_color diff --git a/contrib/dialog/samples/sourcemage.rc b/contrib/dialog/samples/sourcemage.rc deleted file mode 100644 index 9384798fc2de..000000000000 --- a/contrib/dialog/samples/sourcemage.rc +++ /dev/null @@ -1,142 +0,0 @@ -# $Id: sourcemage.rc,v 1.6 2011/10/15 01:00:41 tom Exp $ -# vile:confmode -# Run-time configuration file for dialog, matches SourceMage color scheme. -# -# Types of values: -# -# Number - <number> -# String - "string" -# Boolean - <ON|OFF> -# Attribute - (foreground,background,highlight?) - -# Set aspect-ration. -aspect = 0 - -# Set separator (for multiple widgets output). -separate_widget = "" - -# Set tab-length (for textbox tab-conversion). -tab_len = 0 - -# Make tab-traversal for checklist, etc., include the list. -visit_items = OFF - -# Shadow dialog boxes? This also turns on color. -use_shadow = ON - -# Turn color support ON or OFF -use_colors = ON - -# Screen color -screen_color = (RED,BLACK,ON) - -# Shadow color -shadow_color = (BLACK,BLACK,ON) - -# Dialog box color -dialog_color = (BLACK,WHITE,OFF) - -# Dialog box title color -title_color = (RED,WHITE,ON) - -# Dialog box border color -border_color = (WHITE,WHITE,ON) - -# Active button color -button_active_color = (WHITE,RED,ON) - -# Inactive button color -button_inactive_color = dialog_color - -# Active button key color -button_key_active_color = button_active_color - -# Inactive button key color -button_key_inactive_color = (RED,WHITE,OFF) - -# Active button label color -button_label_active_color = (RED,RED,ON) - -# Inactive button label color -button_label_inactive_color = (BLACK,WHITE,ON) - -# Input box color -inputbox_color = dialog_color - -# Input box border color -inputbox_border_color = dialog_color - -# Search box color -searchbox_color = dialog_color - -# Search box title color -searchbox_title_color = title_color - -# Search box border color -searchbox_border_color = border_color - -# File position indicator color -position_indicator_color = title_color - -# Menu box color -menubox_color = dialog_color - -# Menu box border color -menubox_border_color = border_color - -# Item color -item_color = dialog_color - -# Selected item color -item_selected_color = button_active_color - -# Tag color -tag_color = title_color - -# Selected tag color -tag_selected_color = button_label_active_color - -# Tag key color -tag_key_color = title_color - -# Selected tag key color -tag_key_selected_color = button_active_color - -# Check box color -check_color = dialog_color - -# Selected check box color -check_selected_color = button_active_color - -# Up arrow color -uarrow_color = title_color - -# Down arrow color -darrow_color = title_color - -# Item help-text color -itemhelp_color = (WHITE,BLACK,OFF) - -# Active form text color -form_active_text_color = dialog_color - -# Form text color -form_text_color = screen_color - -# Readonly form item color -form_item_readonly_color = (CYAN,WHITE,ON) - -# Dialog box gauge color -gauge_color = (BLUE,WHITE,ON) - -# Dialog box border2 color -border2_color = dialog_color - -# Input box border2 color -inputbox_border2_color = dialog_color - -# Search box border2 color -searchbox_border2_color = dialog_color - -# Menu box border2 color -menubox_border2_color = dialog_color diff --git a/contrib/dialog/samples/suse.rc b/contrib/dialog/samples/suse.rc deleted file mode 100644 index c8ff09942dd5..000000000000 --- a/contrib/dialog/samples/suse.rc +++ /dev/null @@ -1,142 +0,0 @@ -# $Id: suse.rc,v 1.5 2011/10/15 01:01:00 tom Exp $ -# vile:confmode -# Run-time configuration file for dialog, matches SuSE color scheme. -# -# Types of values: -# -# Number - <number> -# String - "string" -# Boolean - <ON|OFF> -# Attribute - (foreground,background,highlight?) - -# Set aspect-ration. -aspect = 0 - -# Set separator (for multiple widgets output). -separate_widget = "" - -# Set tab-length (for textbox tab-conversion). -tab_len = 0 - -# Make tab-traversal for checklist, etc., include the list. -visit_items = OFF - -# Shadow dialog boxes? This also turns on color. -use_shadow = OFF - -# Turn color support ON or OFF -use_colors = OFF - -# Screen color -screen_color = (CYAN,BLUE,ON) - -# Shadow color -shadow_color = (BLACK,BLACK,OFF) - -# Dialog box color -dialog_color = (BLACK,WHITE,OFF) - -# Dialog box title color -title_color = (YELLOW,WHITE,ON) - -# Dialog box border color -border_color = (WHITE,WHITE,ON) - -# Active button color -button_active_color = (WHITE,BLUE,ON) - -# Inactive button color -button_inactive_color = dialog_color - -# Active button key color -button_key_active_color = button_active_color - -# Inactive button key color -button_key_inactive_color = (RED,WHITE,OFF) - -# Active button label color -button_label_active_color = (YELLOW,BLUE,ON) - -# Inactive button label color -button_label_inactive_color = (BLACK,WHITE,ON) - -# Input box color -inputbox_color = dialog_color - -# Input box border color -inputbox_border_color = dialog_color - -# Search box color -searchbox_color = dialog_color - -# Search box title color -searchbox_title_color = title_color - -# Search box border color -searchbox_border_color = border_color - -# File position indicator color -position_indicator_color = title_color - -# Menu box color -menubox_color = dialog_color - -# Menu box border color -menubox_border_color = border_color - -# Item color -item_color = dialog_color - -# Selected item color -item_selected_color = button_active_color - -# Tag color -tag_color = title_color - -# Selected tag color -tag_selected_color = button_label_active_color - -# Tag key color -tag_key_color = button_key_inactive_color - -# Selected tag key color -tag_key_selected_color = (RED,BLUE,ON) - -# Check box color -check_color = dialog_color - -# Selected check box color -check_selected_color = button_active_color - -# Up arrow color -uarrow_color = (GREEN,WHITE,ON) - -# Down arrow color -darrow_color = uarrow_color - -# Item help-text color -itemhelp_color = (WHITE,BLACK,OFF) - -# Active form text color -form_active_text_color = button_active_color - -# Form text color -form_text_color = (WHITE,CYAN,ON) - -# Readonly form item color -form_item_readonly_color = (CYAN,WHITE,ON) - -# Dialog box gauge color -gauge_color = (BLUE,WHITE,ON) - -# Dialog box border2 color -border2_color = dialog_color - -# Input box border2 color -inputbox_border2_color = dialog_color - -# Search box border2 color -searchbox_border2_color = dialog_color - -# Menu box border2 color -menubox_border2_color = dialog_color diff --git a/contrib/dialog/samples/tailbox b/contrib/dialog/samples/tailbox deleted file mode 100755 index e67c30c08156..000000000000 --- a/contrib/dialog/samples/tailbox +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/sh -# $Id: tailbox,v 1.8 2020/11/26 00:05:11 tom Exp $ - -. ./setup-vars - -./killall listing -./listing >listing.out & - -$DIALOG --title "TAIL BOX" "$@" \ - --tailbox listing.out 24 70 - -returncode=$? - -. ./report-button - -./killall listing diff --git a/contrib/dialog/samples/tailboxbg b/contrib/dialog/samples/tailboxbg deleted file mode 100755 index dff1becf80a9..000000000000 --- a/contrib/dialog/samples/tailboxbg +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/sh -# $Id: tailboxbg,v 1.11 2019/12/11 01:21:36 tom Exp $ - -. ./setup-vars - -. ./setup-tempfile - -./killall listing -./listing >listing.out & - -$DIALOG --title "TAIL BOX" \ - --no-kill "$@" \ - --tailboxbg listing.out 24 70 2>$tempfile - -# wait a while for the background process to run -sleep 10 - -# now kill it -kill "-$SIG_QUIT" "`cat "$tempfile"`" 2>&1 >/dev/null 2>/dev/null - -# ...and the process that is making the listing -./killall listing diff --git a/contrib/dialog/samples/tailboxbg1 b/contrib/dialog/samples/tailboxbg1 deleted file mode 100755 index 456e720969e5..000000000000 --- a/contrib/dialog/samples/tailboxbg1 +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/sh -# $Id: tailboxbg1,v 1.11 2019/12/11 00:12:27 tom Exp $ - -. ./setup-vars - -. ./setup-tempfile - -./killall listing -./listing >listing.out & - -$DIALOG --title "TAIL BOXES" \ - --begin 10 10 "$@" --tailboxbg listing.out 8 58 \ - --and-widget \ - --begin 15 15 "$@" --tailboxbg listing.out 8 58 \ - --and-widget \ - --begin 3 10 "$@" --msgbox "Press OK " 5 30 \ - 2>$tempfile - -# The --and-widget causes a tab to be emitted, but our example will only -# write one number to stderr. -pid=`sed -e 's/ //g' $tempfile` -if test -n "$pid" ; then -# wait a while for the background process to run -sleep 10 - -# now kill it -kill "-$SIG_QUIT" "$pid "2>&1 >/dev/null 2>/dev/null -echo "killed [$pid]" -fi - -# ...and the process that is making the listing -./killall listing diff --git a/contrib/dialog/samples/tailboxbg2 b/contrib/dialog/samples/tailboxbg2 deleted file mode 100755 index b71a6c6c42fe..000000000000 --- a/contrib/dialog/samples/tailboxbg2 +++ /dev/null @@ -1,33 +0,0 @@ -#!/bin/sh -# $Id: tailboxbg2,v 1.11 2019/12/11 00:11:51 tom Exp $ - -. ./setup-vars - -. ./setup-tempfile - -./killall listing -./listing >listing.out & - -$DIALOG --title "TAIL BOXES" \ - --no-kill \ - --begin 10 10 "$@" --tailboxbg listing.out 8 58 \ - --and-widget \ - --begin 15 15 "$@" --tailboxbg listing.out 8 58 \ - --and-widget \ - --begin 3 10 "$@" --msgbox "Press OK " 5 30 \ - 2>$tempfile - -# The --and-widget causes a tab to be emitted, but our example will only -# write one number to stderr. -pid=`sed -e 's/ //g' $tempfile` -if test -n "$pid" ; then -# wait a while for the background process to run -sleep 10 - -# now kill it -kill "-$SIG_QUIT" "$pid" 2>&1 >/dev/null 2>/dev/null -echo "killed [$pid]" -fi - -# ...and the process that is making the listing -./killall listing diff --git a/contrib/dialog/samples/testdata-8bit b/contrib/dialog/samples/testdata-8bit deleted file mode 100644 index f09021dc19db..000000000000 --- a/contrib/dialog/samples/testdata-8bit +++ /dev/null @@ -1,48 +0,0 @@ -#!/bin/sh -# $Id: testdata-8bit,v 1.2 2011/10/16 23:26:32 tom Exp $ - -# Select one of the "SAMPLE=" lines, to test handling of characters which -# are nonprinting in a POSIX locale: - -case .$1 in - # C1 controls -.8) - SAMPLE="€‚ƒ„…†‡ˆ‰Š‹ŒŽ" - ;; -.9) - SAMPLE="‘’“”•–—˜™š›œžŸ" - ;; - -# Latin-1 -.[aA]) - SAMPLE=" ¡¢£¤¥¦§¨©ª«¬­®¯" - ;; -.[bB]) - SAMPLE="°±²³´µ¶·¸¹º»¼½¾¿" - ;; -.[cC]) - SAMPLE="ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏ" - ;; -.[dD]) - SAMPLE="ÐÑÒÓÔÕÖרÙÚÛÜÝÞß" - ;; -.[eE]) - SAMPLE="àáâãäåæçèéêëìíîï" - ;; -.[fF]) - SAMPLE="ðñòóôõö÷øùúûüýþÿ" - ;; -*) - # C0 controls (except a few which are always treated specially by curses): - SAMPLE=" " - ;; -esac - -# This script is source'd from other scripts, and uses the parameter list from -# those explicitly. But they may use the parameter list later, to set options -# specially for dialog. Work around the conflicting uses by removing the -# parameter which we just used to select a set of data. -if test $# != 0 -then - shift 1 -fi diff --git a/contrib/dialog/samples/textbox b/contrib/dialog/samples/textbox deleted file mode 100755 index 136fb7f51ebf..000000000000 --- a/contrib/dialog/samples/textbox +++ /dev/null @@ -1,44 +0,0 @@ -#!/bin/sh -# $Id: textbox,v 1.14 2020/11/26 00:05:11 tom Exp $ - -. ./setup-vars - -. ./setup-tempfile - -cat << EOF > $tempfile -Hi, this is a text dialog box. It can be used to display text from a file. -The file should not contain any 'tab' characters, so you should 'expand' -the file first if it contains 'tab' characters. - -It's like a simple text file viewer, with these keys implemented: - -PGDN/SPACE - Move down one page -PGUP/'b' - Move up one page -ENTER/DOWN/'j' - Move down one line -UP/'k' - Move up one line -LEFT/'h' - Scroll left -RIGHT/'l' - Scroll right -'0' - Move to beginning of line -HOME/'g' - Move to beginning of file -END/'G' - Move to end of file -'/' - Forward search -'?' - Backward search -'n' - Repeat last search (forward) -'N' - Repeat last search (backward) - - -The following is a sample text file: - - -EOF - -TEXT=/usr/share/common-licenses/GPL -test -f $TEXT || TEXT=../COPYING - -expand < $TEXT >> $tempfile - -$DIALOG --clear --title "TEXT BOX" "$@" --textbox "$tempfile" 22 77 - -returncode=$? - -. ./report-button diff --git a/contrib/dialog/samples/textbox-both b/contrib/dialog/samples/textbox-both deleted file mode 100755 index d84faf9e4977..000000000000 --- a/contrib/dialog/samples/textbox-both +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/sh -# $Id: textbox-both,v 1.3 2020/11/26 00:05:11 tom Exp $ - -. ./setup-vars - -. ./setup-tempfile - -TEXT=/usr/share/common-licenses/GPL -test -f $TEXT || TEXT=../COPYING - -expand < textbox.txt > $tempfile -expand < $TEXT >> $tempfile - -$DIALOG --clear --title "TEXT BOX" \ - --help-button \ - --extra-button "$@" \ - --textbox "$tempfile" 22 77 - -returncode=$? - -. ./report-button diff --git a/contrib/dialog/samples/textbox-help b/contrib/dialog/samples/textbox-help deleted file mode 100755 index 450c728c2c51..000000000000 --- a/contrib/dialog/samples/textbox-help +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# $Id: textbox-help,v 1.3 2020/11/26 00:05:11 tom Exp $ - -. ./setup-vars - -. ./setup-tempfile - -TEXT=/usr/share/common-licenses/GPL -test -f $TEXT || TEXT=../COPYING - -expand < textbox.txt > $tempfile -expand < $TEXT >> $tempfile - -$DIALOG --clear --title "TEXT BOX" \ - --help-button "$@" \ - --textbox "$tempfile" 22 77 - -returncode=$? - -. ./report-button diff --git a/contrib/dialog/samples/textbox.txt b/contrib/dialog/samples/textbox.txt deleted file mode 100644 index 3aaec0f8e5cb..000000000000 --- a/contrib/dialog/samples/textbox.txt +++ /dev/null @@ -1,24 +0,0 @@ -Hi, this is a text dialog box. It can be used to display text from a file. -The file should not contain any 'tab' characters, so you should 'expand' -the file first if it contains 'tab' characters. - -It's like a simple text file viewer, with these keys implemented: - -PGDN/SPACE - Move down one page -PGUP/'b' - Move up one page -ENTER/DOWN/'j' - Move down one line -UP/'k' - Move up one line -LEFT/'h' - Scroll left -RIGHT/'l' - Scroll right -'0' - Move to beginning of line -HOME/'g' - Move to beginning of file -END/'G' - Move to end of file -'/' - Forward search -'?' - Backward search -'n' - Repeat last search (forward) -'N' - Repeat last search (backward) - - -The following is a sample text file: - - diff --git a/contrib/dialog/samples/textbox2 b/contrib/dialog/samples/textbox2 deleted file mode 100755 index d4149b3c6095..000000000000 --- a/contrib/dialog/samples/textbox2 +++ /dev/null @@ -1,44 +0,0 @@ -#!/bin/sh -# $Id: textbox2,v 1.10 2020/11/26 00:05:52 tom Exp $ - -. ./setup-vars - -. ./setup-tempfile - -cat << EOF > $tempfile -Hi, this is a text dialog box. It can be used to display text from a file. -The file should not contain any 'tab' characters, so you should 'expand' -the file first if it contains 'tab' characters. - -It's like a simple text file viewer, with these keys implemented: - -PGDN/SPACE - Move down one page -PGUP/'b' - Move up one page -ENTER/DOWN/'j' - Move down one line -UP/'k' - Move up one line -LEFT/'h' - Scroll left -RIGHT/'l' - Scroll right -'0' - Move to beginning of line -HOME/'g' - Move to beginning of file -END/'G' - Move to end of file -'/' - Forward search -'?' - Backward search -'n' - Repeat last search (forward) -'N' - Repeat last search (backward) - - -The following is a sample text file: - - -EOF - -TEXT=/usr/share/common-licenses/GPL -test -f $TEXT || TEXT=../COPYING - -expand < $TEXT >> $tempfile - -$DIALOG --clear --title "TEXT BOX" "$@" --textbox "$tempfile" 0 0 - -returncode=$? - -. ./report-button diff --git a/contrib/dialog/samples/textbox3 b/contrib/dialog/samples/textbox3 deleted file mode 100755 index f3d6f8249849..000000000000 --- a/contrib/dialog/samples/textbox3 +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# $Id: textbox3,v 1.8 2020/11/26 00:05:52 tom Exp $ - -. ./setup-vars - -. ./setup-tempfile - -TEXT=/usr/share/common-licenses/GPL -test -f $TEXT || TEXT=../COPYING - -expand < textbox.txt > $tempfile -expand < $TEXT >> $tempfile - -$DIALOG --clear --title "TEXT BOX" \ - --extra-button "$@" \ - --textbox "$tempfile" 22 77 - -returncode=$? - -. ./report-button diff --git a/contrib/dialog/samples/timebox b/contrib/dialog/samples/timebox deleted file mode 100755 index de5b4377a7dd..000000000000 --- a/contrib/dialog/samples/timebox +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh -# $Id: timebox,v 1.11 2020/11/26 00:09:31 tom Exp $ - -. ./setup-vars - -DIALOG_ERROR=254 -export DIALOG_ERROR - -exec 3>&1 -returntext=`$DIALOG --title "TIMEBOX" "$@" --timebox "Please set the time..." 0 0 12 34 56 2>&1 1>&3` -returncode=$? -exec 3>&- - -. ./report-string diff --git a/contrib/dialog/samples/timebox-stdout b/contrib/dialog/samples/timebox-stdout deleted file mode 100755 index 4ed0d9a23da7..000000000000 --- a/contrib/dialog/samples/timebox-stdout +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh -# $Id: timebox-stdout,v 1.7 2020/11/26 00:09:31 tom Exp $ - -. ./setup-vars - -returntext=`$DIALOG --stdout --title "TIMEBOX" "$@" --timebox "Please set the time..." 0 0 12 34 56` - -returncode=$? - -. ./report-string diff --git a/contrib/dialog/samples/timebox2 b/contrib/dialog/samples/timebox2 deleted file mode 100755 index f734421b1cc4..000000000000 --- a/contrib/dialog/samples/timebox2 +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh -# $Id: timebox2,v 1.9 2020/11/26 00:09:31 tom Exp $ - -. ./setup-vars - -exec 3>&1 -returntext=`$DIALOG --title "TIMEBOX" "$@" --timebox "Please set the time..." 0 0 2>&1 1>&3` -returncode=$? -exec 3>&- - -. ./report-string diff --git a/contrib/dialog/samples/timebox2-stdout b/contrib/dialog/samples/timebox2-stdout deleted file mode 100755 index 71a4fa443814..000000000000 --- a/contrib/dialog/samples/timebox2-stdout +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh -# $Id: timebox2-stdout,v 1.7 2020/11/26 00:09:31 tom Exp $ - -. ./setup-vars - -returntext=`$DIALOG --stdout --title "TIMEBOX" "$@" --timebox "Please set the time..." 0 0` - -returncode=$? - -. ./report-string diff --git a/contrib/dialog/samples/treeview b/contrib/dialog/samples/treeview deleted file mode 100755 index fec3cddf9f69..000000000000 --- a/contrib/dialog/samples/treeview +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/sh -# $Id: treeview,v 1.3 2020/11/26 00:05:52 tom Exp $ - -. ./setup-vars - -. ./setup-tempfile - -$DIALOG --title "TREE VIEW DIALOG" \ - --treeview "TreeView demo" 0 0 0 \ - tag1 one off 0 \ - tag2 two off 1 \ - tag3 three on 2 \ - tag4 four off 1 \ - tag5 five off 2 \ - tag6 six off 3 \ - tag7 seven off 3 \ - tag8 eight off 4 \ - tag9 nine off 1 2> $tempfile - -returncode=$? - -. ./report-tempfile diff --git a/contrib/dialog/samples/treeview2 b/contrib/dialog/samples/treeview2 deleted file mode 100755 index ba5e948f5fa2..000000000000 --- a/contrib/dialog/samples/treeview2 +++ /dev/null @@ -1,52 +0,0 @@ -#!/bin/sh -# $Id: treeview2,v 1.5 2020/11/26 00:05:52 tom Exp $ - -. ./setup-vars - -. ./setup-edit - -case "x$DIALOGOPTS" in -*--no-items*|*--noitem*) - CUT="cut -d: -f1,3,4" - ;; -*) - CUT="cat" - ;; -esac - -$CUT >$input <<-EOF - tag1:one:off:0 - tag2:two:off:1 - tag3:three:on:2 - tag4:four:off:1 - tag5:five:off:2 - tag6:six:off:3 - tag7:seven:off:3 - tag8:eight:off:4 - tag11:1one:off:0 - tag12:1two:off:1 - tag13:1three:on:2 - tag14:1four:off:1 - tag15:1five:off:2 - tag16:1six:off:3 - tag17:1seven:off:3 - tag18:1eight:off:4 - tag21:2one:off:0 - tag22:2two:off:1 - tag23:2three:on:2 - tag24:2four:off:1 - tag25:2five:off:2 - tag26:2six:off:3 - tag27:2seven:off:3 - tag28:2eight:off:4 - tag9:nine:off:1 -EOF - -$DIALOG --title "TREE VIEW DIALOG" \ - --scrollbar \ - --treeview "TreeView demo" 0 0 10 `sed -e 's/:/ /g' "$input"` 2> $output - -returncode=$? - -tempfile=$output -. ./report-tempfile diff --git a/contrib/dialog/samples/treeview4 b/contrib/dialog/samples/treeview4 deleted file mode 100755 index 4b1f65eef457..000000000000 --- a/contrib/dialog/samples/treeview4 +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# $Id: treeview4,v 1.3 2020/11/26 00:05:52 tom Exp $ - -. ./setup-vars - -. ./setup-tempfile - -$DIALOG --title "TREE VIEW DIALOG" \ - --help-button \ - --item-help \ - --treeview "TreeView demo" 0 0 0 \ - tag1 one off 0 first \ - tag2 two off 1 second \ - tag3 three on 2 third \ - tag4 four off 1 fourth \ - tag5 five off 2 fifth \ - tag6 six off 3 sixth \ - tag7 seven off 3 seventh \ - tag8 eight off 4 eighth \ - tag9 nine off 1 ninth 2> $tempfile - -returncode=$? - -. ./report-tempfile diff --git a/contrib/dialog/samples/wheel b/contrib/dialog/samples/wheel deleted file mode 100755 index 13e084a405fc..000000000000 --- a/contrib/dialog/samples/wheel +++ /dev/null @@ -1,65 +0,0 @@ -#!/bin/sh -# $Id: wheel,v 1.10 2019/12/11 01:43:03 tom Exp $ - -. ./setup-vars - -. ./setup-tempfile - -TITLE="This screen was taken from ComeOn Point Installer! v0.9 by ComeOn Linux!" - -$DIALOG --print-maxsize 2>$tempfile -ROWS="`sed -e 's/^[^:]*:[ ]*//' -e 's/,.*//' $tempfile`" -COLS="`sed -e 's/^[^,]*,[ ]*//' $tempfile`" -rm $tempfile - -# account for widest labels -COLS=`expr "$COLS" - 30` - -# Takes an integer, multiplies it for COLS, divides for 132 -scalex() { - expr "$1" \* "$COLS" / 132 -} -scaley() { - expr "$1" \* "$ROWS" / 60 -} - -$DIALOG --backtitle "$TITLE" --no-shadow \ ---begin "`scaley 27`" "`scalex 98`" --infobox "pushd /var/log >/dev/null" 0 0 --and-widget \ ---begin "`scaley 35`" "`scalex 95`" --infobox "mkdir -p news -m 755" 0 0 --and-widget \ ---begin "`scaley 45`" "`scalex 86`" --infobox "chown news.news news" 0 0 --and-widget \ ---begin "`scaley 48`" "`scalex 78`" --infobox "cd /var/log/news" 0 0 --and-widget \ ---begin "`scaley 51`" "`scalex 61`" --infobox "mkdir -p OLD -m 755" 0 0 --and-widget \ ---begin "`scaley 52`" "`scalex 47`" --infobox "chown news.news OLD" 0 0 --and-widget \ ---begin "`scaley 51`" "`scalex 40`" --infobox "cd /var/spool" 0 0 --and-widget \ ---begin "`scaley 48`" "`scalex 25`" --infobox "mkdir -p news -m 775" 0 0 --and-widget \ ---begin "`scaley 42`" "`scalex 13`" --infobox "chown news.news news" 0 0 --and-widget \ ---begin "`scaley 35`" "`scalex 4`" --infobox "cd /var/spool/news" 0 0 --and-widget \ ---begin "`scaley 27`" "`scalex 2`" --infobox "CURMASK=`umask`" 0 0 --and-widget \ ---begin "`scaley 19`" "`scalex 4`" --infobox "umask 02" 0 0 --and-widget \ ---begin "`scaley 11`" "`scalex 13`" --infobox "mkdir -p out.going control junk in.coming" 0 0 --and-widget \ ---begin "`scaley 5`" "`scalex 25`" --infobox "chown news.news out.going control junk in.coming" 0 0 --and-widget \ ---begin "`scaley 2`" "`scalex 37`" --infobox "cd in.coming" 0 0 --and-widget \ ---begin "`scaley 1`" "`scalex 46`" --infobox "mkdir -p bad tmp" 0 0 --and-widget \ ---begin "`scaley 2`" "`scalex 61`" --infobox "chown news.news bad tmp" 0 0 --and-widget \ ---begin "`scaley 5`" "`scalex 76`" --infobox "umask $CURMASK" 0 0 --and-widget \ ---begin "`scaley 11`" "`scalex 87`" --infobox "ln -sf ~news /usr/local/lib/" 0 0 --and-widget \ ---begin "`scaley 18`" "`scalex 95`" --infobox "ln -sf ~news/inews /usr/bin/" 0 0 --and-widget \ ---begin "`scaley 26`" "`scalex 97`" --infobox "chmod 1777 /var/tmp" 0 0 --and-widget \ ---begin "`scaley 34`" "`scalex 95`" --infobox "cd ~news" 0 0 --and-widget \ ---begin "`scaley 42`" "`scalex 87`" --infobox "touch history history.dir history.pag errlog log" 0 0 --and-widget \ ---begin "`scaley 47`" "`scalex 76`" --infobox "chown news.news history* log errlog" 0 0 --and-widget \ ---infobox "Creating spooling and logging directories and files..." 0 0 --and-widget \ ---begin "`scaley 51`" "`scalex 78`" --infobox "chmod 664 history* log errlog" 0 0 --and-widget \ ---begin "`scaley 52`" "`scalex 60`" --infobox "echo \"control 0000000000 0000000001 y\" > active" 0 0 --and-widget \ ---begin "`scaley 51`" "`scalex 42`" --infobox "echo \"junk 0000000000 0000000001 y\" >> active" 0 0 --and-widget \ ---begin "`scaley 48`" "`scalex 26`" --infobox "chown news.news active" 0 0 --and-widget \ ---begin "`scaley 42`" "`scalex 13`" --infobox "echo \"control 814573260 usenet\" > active.times" 0 0 --and-widget \ ---begin "`scaley 35`" "`scalex 4`" --infobox "echo \"junk 814573260 usenet\" >> active.times" 0 0 --and-widget \ ---begin "`scaley 27`" "`scalex 2`" --infobox "chown news.news active.times" 0 0 --and-widget \ ---begin "`scaley 19`" "`scalex 4`" --infobox ":>newsgroups" 0 0 --and-widget \ ---begin "`scaley 11`" "`scalex 12`" --infobox "chown news.news newsgroups" 0 0 --and-widget \ ---sleep 2 \ ---begin "`scaley 6`" "`scalex 25`" --infobox "popd >/dev/null" 0 0 --and-widget \ ---beep --msgbox "ComeOn Linux! :-)" 0 0 --and-widget \ ---begin 2 0 --title "/var/adm/debug. This is running while that down runs also" --tailboxbg /var/adm/debug 6 80 --and-widget \ ---begin 8 0 --title "/var/adm/messages. It tails the file in multitasking with /var/adm/debug" --tailbox /var/adm/messages -1 -1 diff --git a/contrib/dialog/samples/whiptail.rc b/contrib/dialog/samples/whiptail.rc deleted file mode 100644 index 81ad65307a0c..000000000000 --- a/contrib/dialog/samples/whiptail.rc +++ /dev/null @@ -1,142 +0,0 @@ -# $Id: whiptail.rc,v 1.6 2012/12/01 01:15:04 tom Exp $ -# vile:confmode -# Run-time configuration file for dialog, matches whiptail's color scheme. -# -# Types of values: -# -# Number - <number> -# String - "string" -# Boolean - <ON|OFF> -# Attribute - (foreground,background,highlight?) - -# Set aspect-ration. -aspect = 0 - -# Set separator (for multiple widgets output). -separate_widget = "" - -# Set tab-length (for textbox tab-conversion). -tab_len = 0 - -# Make tab-traversal for checklist, etc., include the list. -visit_items = ON - -# Shadow dialog boxes? This also turns on color. -use_shadow = ON - -# Turn color support ON or OFF -use_colors = ON - -# Screen color -screen_color = (YELLOW,BLUE,ON) - -# Shadow color -shadow_color = (BLACK,BLACK,ON) - -# Dialog box color -dialog_color = (BLACK,WHITE,OFF) - -# Dialog box title color -title_color = (RED,WHITE,ON) - -# Dialog box border color -border_color = (WHITE,WHITE,ON) - -# Active button color -button_active_color = (WHITE,RED,ON) - -# Inactive button color -button_inactive_color = dialog_color - -# Active button key color -button_key_active_color = button_active_color - -# Inactive button key color -button_key_inactive_color = dialog_color - -# Active button label color -button_label_active_color = button_active_color - -# Inactive button label color -button_label_inactive_color = (BLACK,WHITE,ON) - -# Input box color -inputbox_color = dialog_color - -# Input box border color -inputbox_border_color = dialog_color - -# Search box color -searchbox_color = dialog_color - -# Search box title color -searchbox_title_color = title_color - -# Search box border color -searchbox_border_color = border_color - -# File position indicator color -position_indicator_color = title_color - -# Menu box color -menubox_color = (YELLOW,BLUE,OFF) - -# Menu box border color -menubox_border_color = screen_color - -# Item color -item_color = menubox_color - -# Selected item color -item_selected_color = screen_color - -# Tag color -tag_color = screen_color - -# Selected tag color -tag_selected_color = screen_color - -# Tag key color -tag_key_color = menubox_color - -# Selected tag key color -tag_key_selected_color = (WHITE,BLUE,ON) - -# Check box color -check_color = menubox_color - -# Selected check box color -check_selected_color = screen_color - -# Up arrow color -uarrow_color = screen_color - -# Down arrow color -darrow_color = screen_color - -# Item help-text color -itemhelp_color = (WHITE,BLACK,OFF) - -# Active form text color -form_active_text_color = tag_key_selected_color - -# Form text color -form_text_color = (WHITE,CYAN,ON) - -# Readonly form item color -form_item_readonly_color = (CYAN,WHITE,ON) - -# Dialog box gauge color -gauge_color = (BLUE,WHITE,ON) - -# Dialog box border2 color -border2_color = dialog_color - -# Input box border2 color -inputbox_border2_color = dialog_color - -# Search box border2 color -searchbox_border2_color = dialog_color - -# Menu box border2 color -menubox_border2_color = screen_color diff --git a/contrib/dialog/samples/with-dquotes b/contrib/dialog/samples/with-dquotes deleted file mode 100755 index 604f51b9fd4d..000000000000 --- a/contrib/dialog/samples/with-dquotes +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh -# $Id: with-dquotes,v 1.1 2012/07/03 09:40:19 tom Exp $ -DIALOGOPTS="$DIALOGOPTS --quoted" "$@" diff --git a/contrib/dialog/samples/with-squotes b/contrib/dialog/samples/with-squotes deleted file mode 100755 index 6a08f9fc9ede..000000000000 --- a/contrib/dialog/samples/with-squotes +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh -# $Id: with-squotes,v 1.1 2012/07/03 09:40:29 tom Exp $ -DIALOGOPTS="$DIALOGOPTS --single-quoted" "$@" diff --git a/contrib/dialog/samples/yesno b/contrib/dialog/samples/yesno deleted file mode 100755 index 917c0ae3d30c..000000000000 --- a/contrib/dialog/samples/yesno +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/sh -# $Id: yesno,v 1.10 2020/11/26 00:05:52 tom Exp $ - -. ./setup-vars - -DIALOG_ERROR=254 -export DIALOG_ERROR - -$DIALOG --title "YES/NO BOX" --clear "$@" \ - --yesno "Hi, this is a yes/no dialog box. You can use this to ask \ - questions that have an answer of either yes or no. \ - BTW, do you notice that long lines will be automatically \ - wrapped around so that they can fit in the box? You can \ - also control line breaking explicitly by inserting \ - 'backslash n' at any place you like, but in this case, \ - auto wrap around will be disabled and you will have to \ - control line breaking yourself." 15 61 - -returncode=$? - -. ./report-yesno diff --git a/contrib/dialog/samples/yesno-both b/contrib/dialog/samples/yesno-both deleted file mode 100755 index b2cb504167ef..000000000000 --- a/contrib/dialog/samples/yesno-both +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# $Id: yesno-both,v 1.6 2020/11/26 00:05:52 tom Exp $ - -. ./setup-vars - -$DIALOG --title "YES/NO/MAYBE BOX" \ - --clear \ - --ok-label "Next" \ - --no-label "Cancel" \ - --extra-label "Previous" --extra-button \ - --help-button "$@" \ - --yesno "Hi, this is a yes/no dialog box with its labels changed. \ - You can use this to ask \ - questions that have an answer of either yes or no (or maybe). \ - BTW, do you notice that long lines will be automatically \ - wrapped around so that they can fit in the box? You can \ - also control line breaking explicitly by inserting \ - 'backslash n' at any place you like, but in this case, \ - auto wrap around will be disabled and you will have to \ - control line breaking yourself." 15 61 - -returncode=$? - -. ./report-yesno diff --git a/contrib/dialog/samples/yesno-extra b/contrib/dialog/samples/yesno-extra deleted file mode 100755 index d01b74a16182..000000000000 --- a/contrib/dialog/samples/yesno-extra +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/sh -# $Id: yesno-extra,v 1.6 2020/11/26 00:05:52 tom Exp $ - -. ./setup-vars - -$DIALOG --title "YES/NO/MAYBE BOX" \ - --clear \ - --ok-label "Next" \ - --no-label "Cancel" \ - --extra-label "Previous" --extra-button "$@" \ - --yesno "Hi, this is a yes/no dialog box with its labels changed. \ - You can use this to ask \ - questions that have an answer of either yes or no (or maybe). \ - BTW, do you notice that long lines will be automatically \ - wrapped around so that they can fit in the box? You can \ - also control line breaking explicitly by inserting \ - 'backslash n' at any place you like, but in this case, \ - auto wrap around will be disabled and you will have to \ - control line breaking yourself." 15 61 - -returncode=$? - -. ./report-yesno diff --git a/contrib/dialog/samples/yesno-help b/contrib/dialog/samples/yesno-help deleted file mode 100755 index 1b0a816df940..000000000000 --- a/contrib/dialog/samples/yesno-help +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# $Id: yesno-help,v 1.6 2020/11/26 00:05:52 tom Exp $ - -. ./setup-vars - -$DIALOG --title "YES/NO BOX" --clear --help-button "$@" \ - --yesno "Hi, this is a yes/no dialog box. You can use this to ask \ - questions that have an answer of either yes or no. \ - BTW, do you notice that long lines will be automatically \ - wrapped around so that they can fit in the box? You can \ - also control line breaking explicitly by inserting \ - 'backslash n' at any place you like, but in this case, \ - auto wrap around will be disabled and you will have to \ - control line breaking yourself." 15 61 - -returncode=$? - -. ./report-yesno diff --git a/contrib/dialog/samples/yesno-utf8 b/contrib/dialog/samples/yesno-utf8 deleted file mode 100755 index a10eba7605bc..000000000000 --- a/contrib/dialog/samples/yesno-utf8 +++ /dev/null @@ -1,14 +0,0 @@ -#! /bin/sh -# $Id: yesno-utf8,v 1.8 2020/11/26 00:05:52 tom Exp $ - -. ./setup-vars - -. ./setup-utf8 - -DIALOG_ERROR=254 -export DIALOG_ERROR - -$DIALOG "$@" --yesno "Are you a DOG?" 0 0 -returncode=$? - -. ./report-yesno diff --git a/contrib/dialog/samples/yesno2 b/contrib/dialog/samples/yesno2 deleted file mode 100755 index ba4e7f4e0fc2..000000000000 --- a/contrib/dialog/samples/yesno2 +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# $Id: yesno2,v 1.8 2020/11/26 00:05:52 tom Exp $ - -. ./setup-vars - -$DIALOG --title "YES/NO BOX" "$@" \ - --yesno "Hi, this is a yes/no dialog box. You can use this to ask \ -questions that have an answer of either yes or no. \ -BTW, do you notice that long lines will be automatically \ -wrapped around so that they can fit in the box? You can \ -also control line breaking explicitly by inserting \ -'backslash n' at any place you like, but in this case, \ -auto wrap around will be disabled and you will have to \ -control line breaking yourself." 0 0 - -returncode=$? - -. ./report-yesno diff --git a/contrib/dialog/samples/yesno3 b/contrib/dialog/samples/yesno3 deleted file mode 100755 index 336c41c90670..000000000000 --- a/contrib/dialog/samples/yesno3 +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# $Id: yesno3,v 1.7 2020/11/26 00:05:52 tom Exp $ - -. ./setup-vars - -$DIALOG --timeout 20 --title "YES/NO BOX" "$@" \ - --yesno "Hi, this is a yes/no dialog box. You can use this to ask \ -questions that have an answer of either yes or no. \ -BTW, do you notice that long lines will be automatically \ -wrapped around so that they can fit in the box? You can \ -also control line breaking explicitly by inserting \ -'backslash n' at any place you like, but in this case, \ -auto wrap around will be disabled and you will have to \ -control line breaking yourself." 0 0 - -returncode=$? - -. ./report-yesno diff --git a/contrib/dialog/samples/yesno4 b/contrib/dialog/samples/yesno4 deleted file mode 100755 index 4c54160d0043..000000000000 --- a/contrib/dialog/samples/yesno4 +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# $Id: yesno4,v 1.2 2020/11/26 00:05:52 tom Exp $ - -. ./setup-vars - -$DIALOG --title "YES/NO BOX" "$@" \ - --yesno "Hi, this is a yes/no dialog box. You can use this to ask \ -questions that have an answer of either yes or no. \ -BTW, do you notice that long lines will be automatically \ -wrapped around so that they can fit in the box? You can \ -also control line breaking explicitly by inserting \ -'backslash n' at any place you like, but in this case, \ -auto wrap around will be disabled and you will have to \ -control line breaking yourself." 6 30 - -returncode=$? - -. ./report-yesno diff --git a/contrib/dialog/tailbox.c b/contrib/dialog/tailbox.c deleted file mode 100644 index a6a505f6a332..000000000000 --- a/contrib/dialog/tailbox.c +++ /dev/null @@ -1,433 +0,0 @@ -/* - * $Id: tailbox.c,v 1.79 2020/11/21 21:31:49 tom Exp $ - * - * tailbox.c -- implements the tail box - * - * Copyright 2000-2019,2020 Thomas E. Dickey - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License, version 2.1 - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this program; if not, write to - * Free Software Foundation, Inc. - * 51 Franklin St., Fifth Floor - * Boston, MA 02110, USA. - * - * An earlier version of this program lists as authors - * Pasquale De Marco (demarco_p@abramo.it) - */ - -#include <dialog.h> -#include <dlg_keys.h> -#include <sys/stat.h> - -typedef struct { - DIALOG_CALLBACK obj; - WINDOW *text; - const char **buttons; - int hscroll; - int old_hscroll; - char line[MAX_LEN + 2]; - off_t last_pos; -} MY_OBJ; - -/* - * Return current line of text. - */ -static char * -get_line(MY_OBJ * obj) -{ - FILE *fp = obj->obj.input; - int col = -(obj->hscroll); - int j, tmpint, ch; - - do { - if (((ch = getc(fp)) == EOF) && !feof(fp)) - dlg_exiterr("Error moving file pointer in get_line()."); - else if (!feof(fp) && (ch != '\n')) { - if ((ch == TAB) && (dialog_vars.tab_correct)) { - tmpint = dialog_state.tab_len - - ((col + obj->hscroll) % dialog_state.tab_len); - for (j = 0; j < tmpint; j++) { - if (col >= 0 && col < MAX_LEN) - obj->line[col] = ' '; - ++col; - } - } else { - if (col >= 0) - obj->line[col] = (char) ch; - ++col; - } - if (col >= MAX_LEN) - break; - } - } while (!feof(fp) && (ch != '\n')); - - if (col < 0) - col = 0; - obj->line[col] = '\0'; - - return obj->line; -} - -/* - * Print a new line of text. - */ -static void -print_line(MY_OBJ * obj, WINDOW *win, int row, int width) -{ - int i, y, x; - char *line = get_line(obj); - - (void) wmove(win, row, 0); /* move cursor to correct line */ - (void) waddch(win, ' '); - (void) waddnstr(win, line, MIN((int) strlen(line), width - 2)); - - getyx(win, y, x); - (void) y; - /* Clear 'residue' of previous line */ - for (i = 0; i < width - x; i++) - (void) waddch(win, ' '); -} - -/* - * Go back 'target' lines in text file. BUFSIZ has to be in 'size_t' range. - */ -static void -last_lines(MY_OBJ * obj, int target) -{ - FILE *fp = obj->obj.input; - long fpos = 0; - - if (fseek(fp, 0L, SEEK_END) == -1 - || (fpos = ftell(fp)) < 0) - dlg_exiterr("Error moving file pointer in last_lines()."); - - if (fpos != 0) { - long offset = 0; - - ++target; - for (;;) { - size_t inx; - size_t size_to_read; - size_t size_as_read; - int count = 0; - char buf[BUFSIZ + 1]; - - if (fpos >= BUFSIZ) { - size_to_read = BUFSIZ; - } else { - size_to_read = (size_t) fpos; - } - fpos = fpos - (long) size_to_read; - if (fseek(fp, fpos, SEEK_SET) == -1) - dlg_exiterr("Error moving file pointer in last_lines()."); - size_as_read = fread(buf, sizeof(char), size_to_read, fp); - if (ferror(fp)) - dlg_exiterr("Error reading file in last_lines()."); - - if (size_as_read == 0) { - fpos = 0; - offset = 0; - break; - } - - offset += (long) size_as_read; - for (inx = size_as_read - 1; inx != 0; --inx) { - if (buf[inx] == '\n') { - if (++count > target) - break; - offset = (long) (inx + 1); - } - } - - if (count > target) { - break; - } else if (fpos == 0) { - offset = 0; - break; - } - } - - if (fseek(fp, fpos + offset, SEEK_SET) == -1) - dlg_exiterr("Error moving file pointer in last_lines()."); - } -} - -/* - * Print a new page of text. - */ -static void -print_page(MY_OBJ * obj, int height, int width) -{ - int i; - - for (i = 0; i < height; i++) { - print_line(obj, obj->text, i, width); - } - (void) wnoutrefresh(obj->text); -} - -static void -print_last_page(MY_OBJ * obj) -{ - int high = getmaxy(obj->obj.win) - (2 * MARGIN + (obj->obj.bg_task ? 1 : 3)); - int wide = getmaxx(obj->text); - - last_lines(obj, high); - print_page(obj, high, wide); -} - -static void -repaint_text(MY_OBJ * obj) -{ - FILE *fp = obj->obj.input; - int cur_y, cur_x; - - getyx(obj->obj.win, cur_y, cur_x); - obj->old_hscroll = obj->hscroll; - - print_last_page(obj); - obj->last_pos = ftell(fp); - - (void) wmove(obj->obj.win, cur_y, cur_x); /* Restore cursor position */ - wrefresh(obj->obj.win); -} - -static bool -handle_input(DIALOG_CALLBACK * cb) -{ - MY_OBJ *obj = (MY_OBJ *) cb; - FILE *fp = obj->obj.input; - struct stat sb; - - if (fstat(fileno(fp), &sb) == 0 - && sb.st_size != obj->last_pos) { - repaint_text(obj); - } - - return TRUE; -} - -static bool -valid_callback(DIALOG_CALLBACK * cb) -{ - bool valid = FALSE; - DIALOG_CALLBACK *p; - for (p = dialog_state.getc_callbacks; p != 0; p = p->next) { - if (p == cb) { - valid = TRUE; - break; - } - } - return valid; -} - -static bool -handle_my_getc(DIALOG_CALLBACK * cb, int ch, int fkey, int *result) -{ - MY_OBJ *obj = (MY_OBJ *) cb; - bool done = FALSE; - - if (!valid_callback(cb)) - return FALSE; - - if (!fkey && dlg_char_to_button(ch, obj->buttons) == 0) { - ch = DLGK_ENTER; - fkey = TRUE; - } - - if (fkey) { - switch (ch) { - case DLGK_ENTER: - *result = DLG_EXIT_OK; - done = TRUE; - break; - case DLGK_BEGIN: /* Beginning of line */ - obj->hscroll = 0; - break; - case DLGK_GRID_LEFT: /* Scroll left */ - if (obj->hscroll > 0) { - obj->hscroll -= 1; - } - break; - case DLGK_GRID_RIGHT: /* Scroll right */ - if (obj->hscroll < MAX_LEN) - obj->hscroll += 1; - break; - default: - if (is_DLGK_MOUSE(ch)) { - *result = dlg_ok_buttoncode(ch - M_EVENT); - if (*result != DLG_EXIT_ERROR) { - done = TRUE; - } else { - beep(); - } - } else { - beep(); - } - break; - } - if ((obj->hscroll != obj->old_hscroll)) - repaint_text(obj); - } else { - switch (ch) { - case ERR: - clearerr(cb->input); - ch = getc(cb->input); - (void) ungetc(ch, cb->input); - if (ch != EOF) { - handle_input(cb); - } - break; - case ESC: - done = TRUE; - *result = DLG_EXIT_ESC; - break; - default: - beep(); - break; - } - } - - return !done; -} - -/* - * Display text from a file in a dialog box, like in a "tail -f". - */ -int -dialog_tailbox(const char *title, - const char *filename, - int height, - int width, - int bg_task) -{ - /* *INDENT-OFF* */ - static DLG_KEYS_BINDING binding[] = { - HELPKEY_BINDINGS, - ENTERKEY_BINDINGS, - DLG_KEYS_DATA( DLGK_BEGIN, '0' ), - DLG_KEYS_DATA( DLGK_BEGIN, KEY_BEG ), - DLG_KEYS_DATA( DLGK_GRID_LEFT, 'H' ), - DLG_KEYS_DATA( DLGK_GRID_LEFT, 'h' ), - DLG_KEYS_DATA( DLGK_GRID_LEFT, KEY_LEFT ), - DLG_KEYS_DATA( DLGK_GRID_RIGHT, 'L' ), - DLG_KEYS_DATA( DLGK_GRID_RIGHT, 'l' ), - DLG_KEYS_DATA( DLGK_GRID_RIGHT, KEY_RIGHT ), - END_KEYS_BINDING - }; - /* *INDENT-ON* */ - -#ifdef KEY_RESIZE - int old_height = height; - int old_width = width; -#endif - int fkey; - int x, y, result = DLG_EXIT_UNKNOWN, thigh; - WINDOW *dialog, *text; - const char **buttons = 0; - MY_OBJ *obj; - FILE *fd; - int min_width = 12; - - DLG_TRACE(("# tailbox args:\n")); - DLG_TRACE2S("title", title); - DLG_TRACE2S("filename", filename); - DLG_TRACE2N("height", height); - DLG_TRACE2N("width", width); - DLG_TRACE2N("bg_task", bg_task); - - /* Open input file for reading */ - if ((fd = fopen(filename, "rb")) == NULL) - dlg_exiterr("Can't open input file in dialog_tailbox()."); - -#ifdef KEY_RESIZE - retry: -#endif - dlg_auto_sizefile(title, filename, &height, &width, 2, min_width); - dlg_print_size(height, width); - dlg_ctl_size(height, width); - - x = dlg_box_x_ordinate(width); - y = dlg_box_y_ordinate(height); - thigh = height - ((2 * MARGIN) + (bg_task ? 0 : 2)); - - dialog = dlg_new_window(height, width, y, x); - - dlg_mouse_setbase(x, y); - - /* Create window for text region, used for scrolling text */ - text = dlg_sub_window(dialog, - thigh, - width - (2 * MARGIN), - y + MARGIN, - x + MARGIN); - - dlg_draw_box2(dialog, 0, 0, height, width, dialog_attr, border_attr, border2_attr); - dlg_draw_bottom_box2(dialog, border_attr, border2_attr, dialog_attr); - dlg_draw_title(dialog, title); - dlg_draw_helpline(dialog, FALSE); - - if (!bg_task) { - buttons = dlg_exit_label(); - dlg_button_layout(buttons, &min_width); - dlg_draw_buttons(dialog, height - (2 * MARGIN), 0, buttons, FALSE, - FALSE, width); - } - - (void) wmove(dialog, thigh, (MARGIN + 1)); - (void) wnoutrefresh(dialog); - - obj = dlg_calloc(MY_OBJ, 1); - assert_ptr(obj, "dialog_tailbox"); - - obj->obj.input = fd; - obj->obj.win = dialog; - obj->obj.handle_getc = handle_my_getc; - obj->obj.handle_input = bg_task ? handle_input : 0; - obj->obj.keep_bg = bg_task && dialog_vars.cant_kill; - obj->obj.bg_task = (bool) bg_task; - obj->text = text; - obj->buttons = buttons; - dlg_add_callback(&(obj->obj)); - - dlg_register_window(dialog, "tailbox", binding); - dlg_register_buttons(dialog, "tailbox", buttons); - - /* Print last page of text */ - dlg_attr_clear(text, thigh, getmaxx(text), dialog_attr); - repaint_text(obj); - - dlg_trace_win(dialog); - if (bg_task) { - result = DLG_EXIT_OK; - } else { - int ch; - do { - ch = dlg_mouse_wgetch(dialog, &fkey); -#ifdef KEY_RESIZE - if (fkey && ch == KEY_RESIZE) { - dlg_will_resize(dialog); - /* reset data */ - height = old_height; - width = old_width; - /* repaint */ - _dlg_resize_cleanup(dialog); - dlg_button_layout(buttons, &min_width); - goto retry; - } -#endif - } - while (handle_my_getc(&(obj->obj), ch, fkey, &result)); - } - dlg_mouse_free_regions(); - return result; -} diff --git a/contrib/dialog/textbox.c b/contrib/dialog/textbox.c deleted file mode 100644 index ed1405097e74..000000000000 --- a/contrib/dialog/textbox.c +++ /dev/null @@ -1,1004 +0,0 @@ -/* - * $Id: textbox.c,v 1.127 2021/01/17 22:19:19 tom Exp $ - * - * textbox.c -- implements the text box - * - * Copyright 2000-2020,2021 Thomas E. Dickey - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License, version 2.1 - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this program; if not, write to - * Free Software Foundation, Inc. - * 51 Franklin St., Fifth Floor - * Boston, MA 02110, USA. - * - * An earlier version of this program lists as authors: - * Savio Lam (lam836@cs.cuhk.hk) - */ - -#include <dialog.h> -#include <dlg_keys.h> - -#define PAGE_LENGTH (height - 4) -#define PAGE_WIDTH (width - 2) - -typedef struct { - DIALOG_CALLBACK obj; - WINDOW *text; - const char **buttons; - int hscroll; - char line[MAX_LEN + 1]; - int fd; - long file_size; - long fd_bytes_read; - long bytes_read; - long buffer_len; - bool begin_reached; - bool buffer_first; - bool end_reached; - long page_length; /* lines on the page which is shown */ - long in_buf; /* ending index into buf[] for page */ - char *buf; -} MY_OBJ; - -static long -lseek_obj(MY_OBJ * obj, long offset, int mode) -{ - long fpos; - if ((fpos = (long) lseek(obj->fd, (off_t) offset, mode)) == -1) { - switch (mode) { - default: - case SEEK_CUR: - dlg_exiterr("Cannot get file position"); - break; - case SEEK_END: - dlg_exiterr("Cannot seek to end of file"); - break; - case SEEK_SET: - dlg_exiterr("Cannot set file position to %ld", offset); - break; - } - } - return fpos; -} - -static long -ftell_obj(MY_OBJ * obj) -{ - return lseek_obj(obj, 0L, SEEK_CUR); -} - -static void -lseek_set(MY_OBJ * obj, long offset) -{ - long actual = lseek_obj(obj, offset, SEEK_SET); - - if (actual != offset) { - dlg_exiterr("Cannot set file position to %ld (actual %ld)\n", - offset, actual); - } -} - -static void -lseek_end(MY_OBJ * obj, long offset) -{ - long actual = lseek_obj(obj, offset, SEEK_END); - - if (offset == 0L && actual > offset) { - obj->file_size = actual; - } -} - -static void -lseek_cur(MY_OBJ * obj, long offset) -{ - long actual = lseek_obj(obj, offset, SEEK_CUR); - - if (actual != offset) { - DLG_TRACE(("# Lseek returned %ld, expected %ld\n", actual, offset)); - } -} - -static char * -xalloc(size_t size) -{ - char *result = dlg_malloc(char, size); - assert_ptr(result, "xalloc"); - return result; -} - -/* - * read_high() substitutes read() for tab->spaces conversion - * - * buffer_len, fd_bytes_read, bytes_read are modified - * buf is allocated - * - * fd_bytes_read is the effective number of bytes read from file - * bytes_read is the length of buf, that can be different if tab_correct - */ -static void -read_high(MY_OBJ * obj, size_t size_read) -{ - char *buftab; - - /* Allocate space for read buffer */ - buftab = xalloc(size_read + 1); - - if ((obj->fd_bytes_read = read(obj->fd, buftab, size_read)) != -1) { - int j; - long begin_line; - - buftab[obj->fd_bytes_read] = '\0'; /* mark end of valid data */ - - if (dialog_vars.tab_correct) { - - /* calculate bytes_read by buftab and fd_bytes_read */ - obj->bytes_read = begin_line = 0; - for (j = 0; j < obj->fd_bytes_read; j++) - if (buftab[j] == TAB) - obj->bytes_read += dialog_state.tab_len - - ((obj->bytes_read - begin_line) - % dialog_state.tab_len); - else if (buftab[j] == '\n') { - obj->bytes_read++; - begin_line = obj->bytes_read; - } else - obj->bytes_read++; - - if (obj->bytes_read > obj->buffer_len) { - if (obj->buffer_first) - obj->buffer_first = FALSE; /* disp = 0 */ - else { - free(obj->buf); - } - - obj->buffer_len = obj->bytes_read; - - /* Allocate space for read buffer */ - obj->buf = xalloc((size_t) obj->buffer_len + 1); - } - - } else { - if (obj->buffer_first) { - obj->buffer_first = FALSE; - - /* Allocate space for read buffer */ - obj->buf = xalloc(size_read + 1); - } - - obj->bytes_read = obj->fd_bytes_read; - } - - j = 0; - begin_line = 0; - if (obj->buf != NULL) { - int i = 0; - - while (j < obj->fd_bytes_read) { - char ch; - - if (((ch = buftab[j++]) == TAB) - && (dialog_vars.tab_correct != 0)) { - int n; - int tmpint = (dialog_state.tab_len - - ((int) ((long) i - begin_line) % dialog_state.tab_len)); - for (n = 0; n < tmpint; n++) - obj->buf[i++] = ' '; - } else { - if (ch == '\n') - begin_line = i + 1; - obj->buf[i++] = ch; - } - } - - obj->buf[i] = '\0'; /* mark end of valid data */ - } - - } - if (obj->bytes_read == -1) - dlg_exiterr("Error reading file"); - free(buftab); -} - -static long -find_first(MY_OBJ * obj, char *buffer, long length) -{ - long result = 0; - - if (buffer != NULL) { - long recount = obj->page_length; - while (length > 0) { - if (buffer[length] == '\n') { - if (--recount < 0) { - result = length; - break; - } - } - --length; - } - } - return result; -} - -static long -tabize(MY_OBJ * obj, long val, long *first_pos) -{ - long fpos; - long i, count, begin_line; - char *buftab; - - if (!dialog_vars.tab_correct) - return val; - - fpos = ftell_obj(obj); - - lseek_set(obj, fpos - obj->fd_bytes_read); - - /* Allocate space for read buffer */ - buftab = xalloc((size_t) val + 1); - - if ((read(obj->fd, buftab, (size_t) val)) == -1) - dlg_exiterr("Error reading file in tabize()."); - - begin_line = count = 0; - if (first_pos != 0) - *first_pos = 0; - - for (i = 0; i < val; i++) { - if ((first_pos != 0) && (count >= val)) { - *first_pos = find_first(obj, buftab, i); - break; - } - if (buftab[i] == TAB) - count += dialog_state.tab_len - - ((count - begin_line) % dialog_state.tab_len); - else if (buftab[i] == '\n') { - count++; - begin_line = count; - } else - count++; - } - - lseek_set(obj, fpos); - free(buftab); - return count; -} -/* - * Return current line of text. - * 'page' should point to start of current line before calling, and will be - * updated to point to start of next line. - */ -static char * -get_line(MY_OBJ * obj) -{ - int i = 0; - - obj->end_reached = FALSE; - if (obj->buf != NULL) { - while (obj->buf[obj->in_buf] != '\n') { - if (obj->buf[obj->in_buf] == '\0') { /* Either end of file or end of buffer reached */ - long fpos = ftell_obj(obj); - - if (fpos < obj->file_size) { /* Not end of file yet */ - /* We've reached end of buffer, but not end of file yet, so - * read next part of file into buffer - */ - read_high(obj, BUF_SIZE); - obj->in_buf = 0; - } else { - if (!obj->end_reached) - obj->end_reached = TRUE; - break; - } - } else if (i < MAX_LEN) - obj->line[i++] = obj->buf[obj->in_buf++]; - else { - if (i == MAX_LEN) /* Truncate lines longer than MAX_LEN characters */ - obj->line[i++] = '\0'; - obj->in_buf++; - } - } - } - if (i <= MAX_LEN) - obj->line[i] = '\0'; - if (!obj->end_reached) - obj->in_buf++; /* move past '\n' */ - - return obj->line; -} - -static bool -match_string(MY_OBJ * obj, char *string) -{ - char *match = get_line(obj); - return strstr(match, string) != 0; -} - -/* - * Go back 'n' lines in text file. Called by dialog_textbox(). - * 'in_buf' will be updated to point to the desired line in 'buf'. - */ -static void -back_lines(MY_OBJ * obj, long n) -{ - int i; - long fpos; - long val_to_tabize; - - obj->begin_reached = FALSE; - /* We have to distinguish between end_reached and !end_reached since at end - * of file, the line is not ended by a '\n'. The code inside 'if' - * basically does a '--in_buf' to move one character backward so as to - * skip '\n' of the previous line */ - if (!obj->end_reached) { - /* Either beginning of buffer or beginning of file reached? */ - - if (obj->in_buf == 0) { - fpos = ftell_obj(obj); - - if (fpos > obj->fd_bytes_read) { /* Not beginning of file yet */ - /* We've reached beginning of buffer, but not beginning of file - * yet, so read previous part of file into buffer. Note that - * we only move backward for BUF_SIZE/2 bytes, but not BUF_SIZE - * bytes to avoid re-reading again in print_page() later - */ - /* Really possible to move backward BUF_SIZE/2 bytes? */ - if (fpos < BUF_SIZE / 2 + obj->fd_bytes_read) { - /* No, move less than */ - lseek_set(obj, 0L); - val_to_tabize = fpos - obj->fd_bytes_read; - } else { /* Move backward BUF_SIZE/2 bytes */ - lseek_cur(obj, -(BUF_SIZE / 2 + obj->fd_bytes_read)); - val_to_tabize = BUF_SIZE / 2; - } - read_high(obj, BUF_SIZE); - - obj->in_buf = tabize(obj, val_to_tabize, (long *) 0); - - } else { /* Beginning of file reached */ - obj->begin_reached = TRUE; - return; - } - } - obj->in_buf--; - if (obj->buf == NULL - || obj->in_buf < 0 - || obj->in_buf >= obj->bytes_read - || obj->buf[obj->in_buf] != '\n') - /* Something's wrong... */ - dlg_exiterr("Internal error in back_lines()."); - } - - /* Go back 'n' lines */ - for (i = 0; i < n; i++) { - do { - if (obj->in_buf == 0) { - fpos = ftell_obj(obj); - - if (fpos > obj->fd_bytes_read) { - /* Really possible to move backward BUF_SIZE/2 bytes? */ - if (fpos < BUF_SIZE / 2 + obj->fd_bytes_read) { - /* No, move less than */ - lseek_set(obj, 0L); - val_to_tabize = fpos - obj->fd_bytes_read; - } else { /* Move backward BUF_SIZE/2 bytes */ - lseek_cur(obj, -(BUF_SIZE / 2 + obj->fd_bytes_read)); - val_to_tabize = BUF_SIZE / 2; - } - read_high(obj, BUF_SIZE); - - obj->in_buf = tabize(obj, val_to_tabize, (long *) 0); - - } else { /* Beginning of file reached */ - obj->begin_reached = TRUE; - return; - } - } - } while (obj->buf[--(obj->in_buf)] != '\n'); - } - obj->in_buf++; -} - -/* - * Print a new line of text. - */ -static void -print_line(MY_OBJ * obj, int row, int width) -{ - if (wmove(obj->text, row, 0) != ERR) { - int i, y, x; - char *line = get_line(obj); - const int *cols = dlg_index_columns(line); - const int *indx = dlg_index_wchars(line); - int limit = dlg_count_wchars(line); - int first = 0; - int last = limit; - - if (width > getmaxx(obj->text)) - width = getmaxx(obj->text); - --width; /* for the leading ' ' */ - - for (i = 0; i <= limit && cols[i] < obj->hscroll; ++i) - first = i; - - for (i = first; (i <= limit) && ((cols[i] - cols[first]) < width); ++i) - last = i; - - (void) waddch(obj->text, ' '); - (void) waddnstr(obj->text, line + indx[first], indx[last] - indx[first]); - - getyx(obj->text, y, x); - if (y == row) { /* Clear 'residue' of previous line */ - for (i = 0; i <= width - x; i++) { - (void) waddch(obj->text, ' '); - } - } - } -} - -/* - * Print a new page of text. - */ -static void -print_page(MY_OBJ * obj, int height, int width) -{ - int i, passed_end = 0; - - obj->page_length = 0; - for (i = 0; i < height; i++) { - print_line(obj, i, width); - if (!passed_end) - obj->page_length++; - if (obj->end_reached && !passed_end) - passed_end = 1; - } - (void) wnoutrefresh(obj->text); - dlg_trace_win(obj->text); -} - -/* - * Print current position - */ -static void -print_position(MY_OBJ * obj, WINDOW *win, int height, int width) -{ - long fpos; - long size; - long first = -1; - - fpos = ftell_obj(obj); - if (dialog_vars.tab_correct) - size = tabize(obj, obj->in_buf, &first); - else - first = find_first(obj, obj->buf, size = obj->in_buf); - - dlg_draw_scrollbar(win, - first, - fpos - obj->fd_bytes_read + size, - fpos - obj->fd_bytes_read + size, - obj->file_size, - 0, PAGE_WIDTH, - 0, PAGE_LENGTH + 1, - border_attr, - border_attr); -} - -/* - * Display a dialog box and get the search term from user. - */ -static int -get_search_term(WINDOW *dialog, char *input, int height, int width) -{ - /* *INDENT-OFF* */ - static DLG_KEYS_BINDING binding[] = { - INPUTSTR_BINDINGS, - HELPKEY_BINDINGS, - ENTERKEY_BINDINGS, - END_KEYS_BINDING - }; - /* *INDENT-ON* */ - - int old_x, old_y; - int box_x, box_y; - int box_height, box_width; - int offset = 0; - int key = 0; - int fkey = 0; - bool first = TRUE; - int result = DLG_EXIT_UNKNOWN; - const char *caption = _("Search"); - int len_caption = dlg_count_columns(caption); - const int *indx; - int limit; - WINDOW *widget; - - getbegyx(dialog, old_y, old_x); - - box_height = 1 + (2 * MARGIN); - box_width = len_caption + (2 * (MARGIN + 2)); - box_width = MAX(box_width, 30); - box_width = MIN(box_width, getmaxx(dialog) - 2 * MARGIN); - len_caption = MIN(len_caption, box_width - (2 * (MARGIN + 1))); - - box_x = (width - box_width) / 2; - box_y = (height - box_height) / 2; - widget = dlg_new_modal_window(dialog, - box_height, box_width, - old_y + box_y, old_x + box_x); - keypad(widget, TRUE); - dlg_register_window(widget, "searchbox", binding); - - dlg_draw_box2(widget, 0, 0, box_height, box_width, - searchbox_attr, - searchbox_border_attr, - searchbox_border2_attr); - dlg_attrset(widget, searchbox_title_attr); - (void) wmove(widget, 0, (box_width - len_caption) / 2); - - indx = dlg_index_wchars(caption); - limit = dlg_limit_columns(caption, len_caption, 0); - (void) waddnstr(widget, caption + indx[0], indx[limit] - indx[0]); - - box_width -= 2; - offset = dlg_count_columns(input); - - while (result == DLG_EXIT_UNKNOWN) { - if (!first) { - key = dlg_getc(widget, &fkey); - if (fkey) { - switch (fkey) { -#ifdef KEY_RESIZE - case KEY_RESIZE: - result = DLG_EXIT_CANCEL; - continue; -#endif - case DLGK_ENTER: - result = DLG_EXIT_OK; - continue; - } - } else if (key == ESC) { - result = DLG_EXIT_ESC; - continue; - } else if (key == ERR) { - napms(50); - continue; - } - } - if (dlg_edit_string(input, &offset, key, fkey, first)) { - dlg_show_string(widget, input, offset, searchbox_attr, - 1, 1, box_width, FALSE, first); - first = FALSE; - } - } - dlg_del_window(widget); - return result; -} - -static bool -perform_search(MY_OBJ * obj, int height, int width, int key, char *search_term) -{ - int dir; - bool moved = FALSE; - - /* set search direction */ - dir = (key == '/' || key == 'n') ? 1 : 0; - if (dir ? !obj->end_reached : !obj->begin_reached) { - long tempinx; - long fpos; - int result; - bool found; - bool temp, temp1; - - if (key == 'n' || key == 'N') { - if (search_term[0] == '\0') { /* No search term yet */ - (void) beep(); - return FALSE; - } - /* Get search term from user */ - } else if ((result = get_search_term(obj->text, search_term, - PAGE_LENGTH, - PAGE_WIDTH)) != DLG_EXIT_OK - || search_term[0] == '\0') { -#ifdef KEY_RESIZE - if (result == DLG_EXIT_CANCEL) { - ungetch(key); - ungetch(KEY_RESIZE); - /* FALLTHRU */ - } -#else - (void) result; -#endif - /* ESC pressed, or no search term, reprint page to clear box */ - dlg_attrset(obj->text, dialog_attr); - back_lines(obj, obj->page_length); - return TRUE; - } - /* Save variables for restoring in case search term can't be found */ - tempinx = obj->in_buf; - temp = obj->begin_reached; - temp1 = obj->end_reached; - fpos = ftell_obj(obj) - obj->fd_bytes_read; - /* update 'in_buf' to point to next (previous) line before - forward (backward) searching */ - back_lines(obj, (dir - ? obj->page_length - 1 - : obj->page_length + 1)); - if (dir) { /* Forward search */ - while ((found = match_string(obj, search_term)) == FALSE) { - if (obj->end_reached) - break; - } - } else { /* Backward search */ - while ((found = match_string(obj, search_term)) == FALSE) { - if (obj->begin_reached) - break; - back_lines(obj, 2L); - } - } - if (found == FALSE) { /* not found */ - (void) beep(); - /* Restore program state to that before searching */ - lseek_set(obj, fpos); - - read_high(obj, BUF_SIZE); - - obj->in_buf = tempinx; - obj->begin_reached = temp; - obj->end_reached = temp1; - /* move 'in_buf' to point to start of current page to - * re-print current page. Note that 'in_buf' always points - * to start of next page, so this is necessary - */ - back_lines(obj, obj->page_length); - } else { /* Search term found */ - back_lines(obj, 1L); - } - /* Reprint page */ - dlg_attrset(obj->text, dialog_attr); - moved = TRUE; - } else { /* no need to find */ - (void) beep(); - } - return moved; -} - -/* - * Display text from a file in a dialog box. - */ -int -dialog_textbox(const char *title, const char *filename, int height, int width) -{ - /* *INDENT-OFF* */ - static DLG_KEYS_BINDING binding[] = { - HELPKEY_BINDINGS, - ENTERKEY_BINDINGS, - DLG_KEYS_DATA( DLGK_GRID_DOWN, 'J' ), - DLG_KEYS_DATA( DLGK_GRID_DOWN, 'j' ), - DLG_KEYS_DATA( DLGK_GRID_DOWN, KEY_DOWN ), - DLG_KEYS_DATA( DLGK_GRID_LEFT, 'H' ), - DLG_KEYS_DATA( DLGK_GRID_LEFT, 'h' ), - DLG_KEYS_DATA( DLGK_GRID_LEFT, KEY_LEFT ), - DLG_KEYS_DATA( DLGK_GRID_RIGHT, 'L' ), - DLG_KEYS_DATA( DLGK_GRID_RIGHT, 'l' ), - DLG_KEYS_DATA( DLGK_GRID_RIGHT, KEY_RIGHT ), - DLG_KEYS_DATA( DLGK_GRID_UP, 'K' ), - DLG_KEYS_DATA( DLGK_GRID_UP, 'k' ), - DLG_KEYS_DATA( DLGK_GRID_UP, KEY_UP ), - DLG_KEYS_DATA( DLGK_PAGE_FIRST, 'g' ), - DLG_KEYS_DATA( DLGK_PAGE_FIRST, KEY_HOME ), - DLG_KEYS_DATA( DLGK_PAGE_LAST, 'G' ), - DLG_KEYS_DATA( DLGK_PAGE_LAST, KEY_END ), - DLG_KEYS_DATA( DLGK_PAGE_LAST, KEY_LL ), - DLG_KEYS_DATA( DLGK_PAGE_NEXT, CHR_SPACE ), - DLG_KEYS_DATA( DLGK_PAGE_NEXT, KEY_NPAGE ), - DLG_KEYS_DATA( DLGK_PAGE_PREV, 'B' ), - DLG_KEYS_DATA( DLGK_PAGE_PREV, 'b' ), - DLG_KEYS_DATA( DLGK_PAGE_PREV, KEY_PPAGE ), - DLG_KEYS_DATA( DLGK_BEGIN, '0' ), - DLG_KEYS_DATA( DLGK_BEGIN, KEY_BEG ), - DLG_KEYS_DATA( DLGK_FIELD_NEXT, TAB ), - DLG_KEYS_DATA( DLGK_FIELD_PREV, KEY_BTAB ), - END_KEYS_BINDING - }; - /* *INDENT-ON* */ - -#ifdef KEY_RESIZE - int old_height = height; - int old_width = width; -#endif - long fpos; - int x, y, cur_x, cur_y; - int key, fkey; - int next = 0; - int i, passed_end; - char search_term[MAX_LEN + 1]; - MY_OBJ obj; - WINDOW *dialog; - bool moved; - int result = DLG_EXIT_UNKNOWN; - int button = dlg_default_button(); - int min_width = 12; - - DLG_TRACE(("# textbox args:\n")); - DLG_TRACE2S("title", title); - DLG_TRACE2S("filename", filename); - DLG_TRACE2N("height", height); - DLG_TRACE2N("width", width); - - search_term[0] = '\0'; /* no search term entered yet */ - - memset(&obj, 0, sizeof(obj)); - - obj.begin_reached = TRUE; - obj.buffer_first = TRUE; - obj.end_reached = FALSE; - obj.buttons = dlg_exit_label(); - - /* Open input file for reading */ - if ((obj.fd = open(filename, O_RDONLY)) == -1) - dlg_exiterr("Can't open input file %s", filename); - - /* Get file size. Actually, 'file_size' is the real file size - 1, - since it's only the last byte offset from the beginning */ - lseek_end(&obj, 0L); - - /* Restore file pointer to beginning of file after getting file size */ - lseek_set(&obj, 0L); - - read_high(&obj, BUF_SIZE); - - dlg_button_layout(obj.buttons, &min_width); - -#ifdef KEY_RESIZE - retry: -#endif - moved = TRUE; - - dlg_auto_sizefile(title, filename, &height, &width, 2, min_width); - dlg_print_size(height, width); - dlg_ctl_size(height, width); - - x = dlg_box_x_ordinate(width); - y = dlg_box_y_ordinate(height); - - dialog = dlg_new_window(height, width, y, x); - dlg_register_window(dialog, "textbox", binding); - dlg_register_buttons(dialog, "textbox", obj.buttons); - - dlg_mouse_setbase(x, y); - - /* Create window for text region, used for scrolling text */ - obj.text = dlg_sub_window(dialog, PAGE_LENGTH, PAGE_WIDTH, y + 1, x + 1); - - /* register the new window, along with its borders */ - dlg_mouse_mkbigregion(0, 0, PAGE_LENGTH + 2, width, KEY_MAX, 1, 1, 1 /* lines */ ); - dlg_draw_box2(dialog, 0, 0, height, width, dialog_attr, border_attr, border2_attr); - dlg_draw_bottom_box2(dialog, border_attr, border2_attr, dialog_attr); - dlg_draw_title(dialog, title); - - dlg_draw_buttons(dialog, PAGE_LENGTH + 2, 0, obj.buttons, button, FALSE, width); - (void) wnoutrefresh(dialog); - getyx(dialog, cur_y, cur_x); /* Save cursor position */ - - dlg_attr_clear(obj.text, PAGE_LENGTH, PAGE_WIDTH, dialog_attr); - - while (result == DLG_EXIT_UNKNOWN) { - int code; - - /* - * Update the screen according to whether we shifted up/down by a line - * or not. - */ - if (moved) { - if (next < 0) { - (void) scrollok(obj.text, TRUE); - (void) scroll(obj.text); /* Scroll text region up one line */ - (void) scrollok(obj.text, FALSE); - print_line(&obj, PAGE_LENGTH - 1, PAGE_WIDTH); - (void) wnoutrefresh(obj.text); - } else if (next > 0) { - /* - * We don't call print_page() here but use scrolling to ensure - * faster screen update. However, 'end_reached' and - * 'page_length' should still be updated, and 'in_buf' should - * point to start of next page. This is done by calling - * get_line() in the following 'for' loop. - */ - (void) scrollok(obj.text, TRUE); - (void) wscrl(obj.text, -1); /* Scroll text region down one line */ - (void) scrollok(obj.text, FALSE); - obj.page_length = 0; - passed_end = 0; - for (i = 0; i < PAGE_LENGTH; i++) { - if (!i) { - print_line(&obj, 0, PAGE_WIDTH); /* print first line of page */ - (void) wnoutrefresh(obj.text); - } else - (void) get_line(&obj); /* Called to update 'end_reached' and 'in_buf' */ - if (!passed_end) - obj.page_length++; - if (obj.end_reached && !passed_end) - passed_end = 1; - } - } else { - print_page(&obj, PAGE_LENGTH, PAGE_WIDTH); - } - print_position(&obj, dialog, height, width); - (void) wmove(dialog, cur_y, cur_x); /* Restore cursor position */ - wrefresh(dialog); - } - moved = FALSE; /* assume we'll not move */ - next = 0; /* ...but not scroll by a line */ - - key = dlg_mouse_wgetch(dialog, &fkey); - if (dlg_result_key(key, fkey, &result)) { - if (!dlg_ok_button_key(result, &button, &key, &fkey)) - break; - } - - if (!fkey && (code = dlg_char_to_button(key, obj.buttons)) >= 0) { - result = dlg_ok_buttoncode(code); - break; - } - - if (fkey) { - switch (key) { - default: - if (is_DLGK_MOUSE(key)) { - result = dlg_exit_buttoncode(key - M_EVENT); - if (result < 0) - result = DLG_EXIT_OK; - } else { - beep(); - } - break; - case DLGK_FIELD_NEXT: - button = dlg_next_button(obj.buttons, button); - if (button < 0) - button = 0; - dlg_draw_buttons(dialog, - height - 2, 0, - obj.buttons, button, - FALSE, width); - break; - case DLGK_FIELD_PREV: - button = dlg_prev_button(obj.buttons, button); - if (button < 0) - button = 0; - dlg_draw_buttons(dialog, - height - 2, 0, - obj.buttons, button, - FALSE, width); - break; - case DLGK_ENTER: - result = dlg_enter_buttoncode(button); - break; - case DLGK_LEAVE: - result = dlg_ok_buttoncode(button); - break; - case DLGK_PAGE_FIRST: - if (!obj.begin_reached) { - obj.begin_reached = 1; - /* First page not in buffer? */ - fpos = ftell_obj(&obj); - - if (fpos > obj.fd_bytes_read) { - /* Yes, we have to read it in */ - lseek_set(&obj, 0L); - - read_high(&obj, BUF_SIZE); - } - obj.in_buf = 0; - moved = TRUE; - } - break; - case DLGK_PAGE_LAST: - obj.end_reached = TRUE; - /* Last page not in buffer? */ - fpos = ftell_obj(&obj); - - if (fpos < obj.file_size) { - /* Yes, we have to read it in */ - lseek_end(&obj, -BUF_SIZE); - - read_high(&obj, BUF_SIZE); - } - obj.in_buf = obj.bytes_read; - back_lines(&obj, (long) PAGE_LENGTH); - moved = TRUE; - break; - case DLGK_GRID_UP: /* Previous line */ - if (!obj.begin_reached) { - back_lines(&obj, obj.page_length + 1); - next = 1; - moved = TRUE; - } - break; - case DLGK_PAGE_PREV: /* Previous page */ - case DLGK_MOUSE(KEY_PPAGE): - if (!obj.begin_reached) { - back_lines(&obj, obj.page_length + PAGE_LENGTH); - moved = TRUE; - } - break; - case DLGK_GRID_DOWN: /* Next line */ - if (!obj.end_reached) { - obj.begin_reached = 0; - next = -1; - moved = TRUE; - } - break; - case DLGK_PAGE_NEXT: /* Next page */ - case DLGK_MOUSE(KEY_NPAGE): - if (!obj.end_reached) { - obj.begin_reached = 0; - moved = TRUE; - } - break; - case DLGK_BEGIN: /* Beginning of line */ - if (obj.hscroll > 0) { - obj.hscroll = 0; - /* Reprint current page to scroll horizontally */ - back_lines(&obj, obj.page_length); - moved = TRUE; - } - break; - case DLGK_GRID_LEFT: /* Scroll left */ - if (obj.hscroll > 0) { - obj.hscroll--; - /* Reprint current page to scroll horizontally */ - back_lines(&obj, obj.page_length); - moved = TRUE; - } - break; - case DLGK_GRID_RIGHT: /* Scroll right */ - if (obj.hscroll < MAX_LEN) { - obj.hscroll++; - /* Reprint current page to scroll horizontally */ - back_lines(&obj, obj.page_length); - moved = TRUE; - } - break; -#ifdef KEY_RESIZE - case KEY_RESIZE: - dlg_will_resize(dialog); - /* reset data */ - height = old_height; - width = old_width; - back_lines(&obj, obj.page_length); - /* repaint */ - _dlg_resize_cleanup(dialog); - goto retry; -#endif - } - } else { - switch (key) { - case '/': /* Forward search */ - case 'n': /* Repeat forward search */ - case '?': /* Backward search */ - case 'N': /* Repeat backward search */ - moved = perform_search(&obj, height, width, key, search_term); - fkey = FALSE; - break; - default: - beep(); - break; - } - } - } - dlg_add_last_key(-1); - - dlg_del_window(dialog); - free(obj.buf); - (void) close(obj.fd); - dlg_mouse_free_regions(); - return result; -} diff --git a/contrib/dialog/timebox.c b/contrib/dialog/timebox.c deleted file mode 100644 index 73b057ada815..000000000000 --- a/contrib/dialog/timebox.c +++ /dev/null @@ -1,430 +0,0 @@ -/* - * $Id: timebox.c,v 1.69 2020/11/23 09:04:00 tom Exp $ - * - * timebox.c -- implements the timebox dialog - * - * Copyright 2001-2019,2020 Thomas E. Dickey - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License, version 2.1 - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this program; if not, write to - * Free Software Foundation, Inc. - * 51 Franklin St., Fifth Floor - * Boston, MA 02110, USA. - */ - -#include <dlg_internals.h> -#include <dlg_keys.h> - -#include <time.h> - -#define ONE_HIGH 1 -#define ONE_WIDE 2 -#define BTN_HIGH 2 - -#define MIN_HIGH (ONE_HIGH + BTN_HIGH + (4 * MARGIN)) -#define MIN_WIDE ((3 * (ONE_WIDE + 2 * MARGIN)) + 2 + (2 * MARGIN)) - -typedef enum { - sHR = -3 - ,sMN = -2 - ,sSC = -1 -} STATES; - -struct _box; - -typedef struct _box { - WINDOW *parent; - WINDOW *window; - int x; - int y; - int width; - int height; - int period; - int value; -} BOX; - -static int -next_or_previous(int key) -{ - int result = 0; - - switch (key) { - case DLGK_ITEM_PREV: - result = -1; - break; - case DLGK_ITEM_NEXT: - result = 1; - break; - default: - beep(); - break; - } - return result; -} -/* - * Draw the hour-of-month selection box - */ -static int -draw_cell(BOX * data) -{ - werase(data->window); - dlg_draw_box(data->parent, - data->y - MARGIN, data->x - MARGIN, - data->height + (2 * MARGIN), data->width + (2 * MARGIN), - menubox_border_attr, menubox_border2_attr); - - dlg_attrset(data->window, item_attr); - wprintw(data->window, "%02d", data->value); - return 0; -} - -static int -init_object(BOX * data, - WINDOW *parent, - int x, int y, - int width, int height, - int period, int value, - int code) -{ - (void) code; - - data->parent = parent; - data->x = x; - data->y = y; - data->width = width; - data->height = height; - data->period = period; - data->value = value % period; - - data->window = dlg_der_window(data->parent, - data->height, data->width, - data->y, data->x); - if (data->window == 0) - return -1; - - dlg_mouse_setbase(getbegx(parent), getbegy(parent)); - dlg_mouse_mkregion(y, x, height, width, code); - - return 0; -} - -static int -CleanupResult(int code, WINDOW *dialog, char *prompt, DIALOG_VARS * save_vars) -{ - dlg_del_window(dialog); - dlg_mouse_free_regions(); - free(prompt); - dlg_restore_vars(save_vars); - - return code; -} - -#define DrawObject(data) draw_cell(data) - -/* - * Display a dialog box for entering a date - */ -int -dialog_timebox(const char *title, - const char *subtitle, - int height, - int width, - int hour, - int minute, - int second) -{ - /* *INDENT-OFF* */ - static DLG_KEYS_BINDING binding[] = { - DLG_KEYS_DATA( DLGK_DELETE_RIGHT,KEY_DC ), - HELPKEY_BINDINGS, - ENTERKEY_BINDINGS, - TOGGLEKEY_BINDINGS, - DLG_KEYS_DATA( DLGK_FIELD_FIRST,KEY_HOME ), - DLG_KEYS_DATA( DLGK_FIELD_LAST, KEY_END ), - DLG_KEYS_DATA( DLGK_FIELD_LAST, KEY_LL ), - DLG_KEYS_DATA( DLGK_FIELD_NEXT, CHR_NEXT ), - DLG_KEYS_DATA( DLGK_FIELD_NEXT, KEY_RIGHT ), - DLG_KEYS_DATA( DLGK_FIELD_NEXT, TAB ), - DLG_KEYS_DATA( DLGK_FIELD_PREV, CHR_BACKSPACE ), - DLG_KEYS_DATA( DLGK_FIELD_PREV, CHR_PREVIOUS ), - DLG_KEYS_DATA( DLGK_FIELD_PREV, KEY_BTAB ), - DLG_KEYS_DATA( DLGK_FIELD_PREV, KEY_LEFT ), - DLG_KEYS_DATA( DLGK_ITEM_NEXT, '+'), - DLG_KEYS_DATA( DLGK_ITEM_NEXT, KEY_DOWN), - DLG_KEYS_DATA( DLGK_ITEM_NEXT, KEY_NEXT), - DLG_KEYS_DATA( DLGK_ITEM_NEXT, KEY_NPAGE), - DLG_KEYS_DATA( DLGK_ITEM_PREV, '-' ), - DLG_KEYS_DATA( DLGK_ITEM_PREV, KEY_PPAGE ), - DLG_KEYS_DATA( DLGK_ITEM_PREV, KEY_PREVIOUS ), - DLG_KEYS_DATA( DLGK_ITEM_PREV, KEY_UP ), - END_KEYS_BINDING - }; - /* *INDENT-ON* */ - -#ifdef KEY_RESIZE - int old_height = height; - int old_width = width; -#endif - BOX hr_box, mn_box, sc_box; - int key, fkey; - int button; - int result = DLG_EXIT_UNKNOWN; - WINDOW *dialog; - time_t now_time; - struct tm current; - int state = dlg_default_button(); - const char **buttons = dlg_ok_labels(); - char *prompt; - char buffer[MAX_LEN]; - DIALOG_VARS save_vars; - - DLG_TRACE(("# timebox args:\n")); - DLG_TRACE2S("title", title); - DLG_TRACE2S("message", subtitle); - DLG_TRACE2N("height", height); - DLG_TRACE2N("width", width); - DLG_TRACE2N("hour", hour); - DLG_TRACE2N("minute", minute); - DLG_TRACE2N("second", second); - - now_time = time((time_t *) 0); - current = *localtime(&now_time); - - dlg_save_vars(&save_vars); - dialog_vars.separate_output = TRUE; - - dlg_does_output(); - -#ifdef KEY_RESIZE - retry: -#endif - - prompt = dlg_strclone(subtitle); - dlg_auto_size(title, prompt, &height, &width, MIN_HIGH, MIN_WIDE); - - dlg_button_layout(buttons, &width); - dlg_print_size(height, width); - dlg_ctl_size(height, width); - - dialog = dlg_new_window(height, width, - dlg_box_y_ordinate(height), - dlg_box_x_ordinate(width)); - - if (hour >= 24 || minute >= 60 || second >= 60) { - return CleanupResult(DLG_EXIT_ERROR, dialog, prompt, &save_vars); - } - - dlg_register_window(dialog, "timebox", binding); - dlg_register_buttons(dialog, "timebox", buttons); - - dlg_draw_box2(dialog, 0, 0, height, width, dialog_attr, border_attr, border2_attr); - dlg_draw_bottom_box2(dialog, border_attr, border2_attr, dialog_attr); - dlg_draw_title(dialog, title); - dlg_draw_helpline(dialog, FALSE); - - dlg_attrset(dialog, dialog_attr); - dlg_print_autowrap(dialog, prompt, height, width); - - /* compute positions of hour, month and year boxes */ - memset(&hr_box, 0, sizeof(hr_box)); - memset(&mn_box, 0, sizeof(mn_box)); - memset(&sc_box, 0, sizeof(sc_box)); - - if (init_object(&hr_box, - dialog, - (width - MIN_WIDE + 1) / 2 + MARGIN, - (height - MIN_HIGH + MARGIN), - ONE_WIDE, - ONE_HIGH, - 24, - hour >= 0 ? hour : current.tm_hour, - 'H') < 0 - || DrawObject(&hr_box) < 0) { - return CleanupResult(DLG_EXIT_ERROR, dialog, prompt, &save_vars); - } - - mvwprintw(dialog, hr_box.y, hr_box.x + ONE_WIDE + MARGIN, ":"); - if (init_object(&mn_box, - dialog, - hr_box.x + (ONE_WIDE + 2 * MARGIN + 1), - hr_box.y, - hr_box.width, - hr_box.height, - 60, - minute >= 0 ? minute : current.tm_min, - 'M') < 0 - || DrawObject(&mn_box) < 0) { - return CleanupResult(DLG_EXIT_ERROR, dialog, prompt, &save_vars); - } - - mvwprintw(dialog, mn_box.y, mn_box.x + ONE_WIDE + MARGIN, ":"); - if (init_object(&sc_box, - dialog, - mn_box.x + (ONE_WIDE + 2 * MARGIN + 1), - mn_box.y, - mn_box.width, - mn_box.height, - 60, - second >= 0 ? second : current.tm_sec, - 'S') < 0 - || DrawObject(&sc_box) < 0) { - return CleanupResult(DLG_EXIT_ERROR, dialog, prompt, &save_vars); - } - - dlg_trace_win(dialog); - while (result == DLG_EXIT_UNKNOWN) { - BOX *obj = (state == sHR ? &hr_box - : (state == sMN ? &mn_box : - (state == sSC ? &sc_box : 0))); - int key2; - - button = (state < 0) ? 0 : state; - dlg_draw_buttons(dialog, height - 2, 0, buttons, button, FALSE, width); - if (obj != 0) - dlg_set_focus(dialog, obj->window); - - key = dlg_mouse_wgetch(dialog, &fkey); - if (dlg_result_key(key, fkey, &result)) { - if (!dlg_button_key(result, &button, &key, &fkey)) - break; - } - - if ((key2 = dlg_char_to_button(key, buttons)) >= 0) { - result = key2; - } else { - /* handle function-keys */ - if (fkey) { - switch (key) { - case DLGK_MOUSE('H'): - state = sHR; - break; - case DLGK_MOUSE('M'): - state = sMN; - break; - case DLGK_MOUSE('S'): - state = sSC; - break; - case DLGK_TOGGLE: - case DLGK_ENTER: - result = dlg_enter_buttoncode(button); - break; - case DLGK_LEAVE: - result = dlg_ok_buttoncode(button); - break; - case DLGK_FIELD_PREV: - state = dlg_prev_ok_buttonindex(state, sHR); - break; - case DLGK_FIELD_NEXT: - state = dlg_next_ok_buttonindex(state, sHR); - break; - case DLGK_FIELD_FIRST: - if (obj != 0) { - obj->value = 0; - (void) DrawObject(obj); - } - break; - case DLGK_FIELD_LAST: - if (obj != 0) { - switch (state) { - case sHR: - obj->value = 23; - break; - case sMN: - case sSC: - obj->value = 59; - break; - } - (void) DrawObject(obj); - } - break; - case DLGK_DELETE_RIGHT: - if (obj != 0) { - obj->value /= 10; - (void) DrawObject(obj); - } - break; -#ifdef KEY_RESIZE - case KEY_RESIZE: - dlg_will_resize(dialog); - /* reset data */ - height = old_height; - width = old_width; - hour = hr_box.value; - minute = mn_box.value; - second = sc_box.value; - /* repaint */ - free(prompt); - _dlg_resize_cleanup(dialog); - goto retry; -#endif - default: - if (is_DLGK_MOUSE(key)) { - result = dlg_ok_buttoncode(key - M_EVENT); - if (result < 0) - result = DLG_EXIT_OK; - } else if (obj != 0) { - int step = next_or_previous(key); - if (step != 0) { - obj->value += step; - while (obj->value < 0) - obj->value += obj->period; - obj->value %= obj->period; - (void) DrawObject(obj); - } - } - break; - } - } else if (isdigit(key)) { - if (obj != 0) { - int digit = (key - '0'); - int value = (obj->value * 10) + digit; - if (value < obj->period) { - obj->value = value; - (void) DrawObject(obj); - } else { - beep(); - } - } - } else if (key > 0) { - beep(); - } - } - } - -#define DefaultFormat(dst, src) \ - sprintf(dst, "%02d:%02d:%02d", \ - hr_box.value, mn_box.value, sc_box.value) - -#if defined(HAVE_STRFTIME) - if (dialog_vars.time_format != 0) { - size_t used; - time_t now = time((time_t *) 0); - struct tm *parts = localtime(&now); - - parts->tm_sec = sc_box.value; - parts->tm_min = mn_box.value; - parts->tm_hour = hr_box.value; - used = strftime(buffer, - sizeof(buffer) - 1, - dialog_vars.time_format, - parts); - if (used == 0 || *buffer == '\0') - DefaultFormat(buffer, hr_box); - } else -#endif - DefaultFormat(buffer, hr_box); - - dlg_add_result(buffer); - AddLastKey(); - - return CleanupResult(result, dialog, prompt, &save_vars); -} diff --git a/contrib/dialog/trace.c b/contrib/dialog/trace.c deleted file mode 100644 index e564d58b327f..000000000000 --- a/contrib/dialog/trace.c +++ /dev/null @@ -1,280 +0,0 @@ -/* - * $Id: trace.c,v 1.33 2020/11/23 23:32:43 tom Exp $ - * - * trace.c -- implements screen-dump and keystroke-logging - * - * Copyright 2007-2019,2020 Thomas E. Dickey - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License, version 2.1 - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this program; if not, write to - * Free Software Foundation, Inc. - * 51 Franklin St., Fifth Floor - * Boston, MA 02110, USA. - */ - -#include <dialog.h> - -#ifdef HAVE_DLG_TRACE - -#ifdef NEED_WCHAR_H -#include <wchar.h> -#endif - -#include <dlg_keys.h> -#include <time.h> - -#define myFP dialog_state.trace_output - -static void -dlg_trace_time(const char *tag) -{ - time_t now = time((time_t *) 0); - fprintf(myFP, "%s %s", tag, ctime(&now)); -} - -void -dlg_trace_msg(const char *fmt, ...) -{ - if (myFP != 0) { - va_list ap; - va_start(ap, fmt); - vfprintf(myFP, fmt, ap); - va_end(ap); - fflush(myFP); - } -} - -void -dlg_trace_va_msg(const char *fmt, va_list ap) -{ - if (myFP != 0) { - vfprintf(myFP, fmt, ap); - fflush(myFP); - } -} - -void -dlg_trace_2s(const char *name, const char *value) -{ - bool first = TRUE; - int left, right = 0; - - if (value == 0) - value = "<NULL>"; - - while (value[right] != '\0') { - const char *next; - - value += right; - if ((next = strchr(value, '\n')) != 0) { - left = (int) (next - value); - right = left + 1; - } else { - left = (int) strlen(value); - right = left; - } - if (first) { - first = FALSE; - dlg_trace_msg("#%14s = %.*s\n", name, left, value); - } else { - dlg_trace_msg("#+%13s%.*s\n", " ", left, value); - } - } -} - -void -dlg_trace_2n(const char *name, int value) -{ - dlg_trace_msg("#%14s = %d\n", name, value); -} - -void -dlg_trace_win(WINDOW *win) -{ - if (myFP != 0) { - WINDOW *top = wgetparent(win); - - while (top != 0 && top != stdscr) { - win = top; - top = wgetparent(win); - } - - if (win != 0) { - int rc = getmaxy(win); - int cc = getmaxx(win); - chtype ch, c2; - int y, x; - int j, k; - - fprintf(myFP, "window %dx%d at %d,%d\n", - rc, cc, getbegy(win), getbegx(win)); - - getyx(win, y, x); - for (j = 0; j < rc; ++j) { - fprintf(myFP, "%3d:", j); - for (k = 0; k < cc; ++k) { -#ifdef USE_WIDE_CURSES - char buffer[80]; - - ch = mvwinch(win, j, k) & (A_CHARTEXT | A_ALTCHARSET); - if (ch & A_ALTCHARSET) { - c2 = dlg_asciibox(ch); - if (c2 != 0) { - ch = c2; - } - buffer[0] = (char) ch; - buffer[1] = '\0'; - } else { - cchar_t cch; - const wchar_t *uc; - - if (win_wch(win, &cch) == ERR - || (uc = wunctrl((&cch))) == 0 - || uc[1] != 0 - || wcwidth(uc[0]) <= 0) { - buffer[0] = '.'; - buffer[1] = '\0'; - } else { - mbstate_t state; - const wchar_t *ucp = uc; - - memset(&state, 0, sizeof(state)); - wcsrtombs(buffer, &ucp, sizeof(buffer), &state); - k += wcwidth(uc[0]) - 1; - } - } - fputs(buffer, myFP); -#else - ch = mvwinch(win, j, k) & (A_CHARTEXT | A_ALTCHARSET); - c2 = dlg_asciibox(ch); - if (c2 != 0) { - ch = c2; - } else if (unctrl(ch) == 0 || strlen(unctrl(ch)) > 1) { - ch = '.'; - } - fputc((int) (ch & 0xff), myFP); -#endif - } - fputc('\n', myFP); - } - wmove(win, y, x); - fflush(myFP); - } - } -} - -void -dlg_trace_chr(int ch, int fkey) -{ - static int last_err = 0; - - /* - * Do not bother to trace ERR's indefinitely, since those are usually due - * to relatively short polling timeouts. - */ - if (last_err && !fkey && ch == ERR) { - ++last_err; - } else if (myFP != 0) { - const char *fkey_name = "?"; - - if (last_err) { - fprintf(myFP, "skipped %d ERR's\n", last_err); - last_err = 0; - } - - if (fkey) { - if (fkey > KEY_MAX || (fkey_name = keyname(fkey)) == 0) { -#define CASE(name) case name: fkey_name = #name; break - switch ((DLG_KEYS_ENUM) fkey) { - CASE(DLGK_MIN); - CASE(DLGK_OK); - CASE(DLGK_CANCEL); - CASE(DLGK_EXTRA); - CASE(DLGK_HELP); - CASE(DLGK_ESC); - CASE(DLGK_PAGE_FIRST); - CASE(DLGK_PAGE_LAST); - CASE(DLGK_PAGE_NEXT); - CASE(DLGK_PAGE_PREV); - CASE(DLGK_ITEM_FIRST); - CASE(DLGK_ITEM_LAST); - CASE(DLGK_ITEM_NEXT); - CASE(DLGK_ITEM_PREV); - CASE(DLGK_FIELD_FIRST); - CASE(DLGK_FIELD_LAST); - CASE(DLGK_FIELD_NEXT); - CASE(DLGK_FIELD_PREV); - CASE(DLGK_FORM_FIRST); - CASE(DLGK_FORM_LAST); - CASE(DLGK_FORM_NEXT); - CASE(DLGK_FORM_PREV); - CASE(DLGK_GRID_UP); - CASE(DLGK_GRID_DOWN); - CASE(DLGK_GRID_LEFT); - CASE(DLGK_GRID_RIGHT); - CASE(DLGK_DELETE_LEFT); - CASE(DLGK_DELETE_RIGHT); - CASE(DLGK_DELETE_ALL); - CASE(DLGK_ENTER); - CASE(DLGK_BEGIN); - CASE(DLGK_FINAL); - CASE(DLGK_SELECT); - CASE(DLGK_HELPFILE); - CASE(DLGK_TRACE); - CASE(DLGK_TOGGLE); - CASE(DLGK_LEAVE); - } - } - } else if (ch == ERR) { - fkey_name = "ERR"; - last_err = 1; - } else { - fkey_name = unctrl((chtype) ch); - if (fkey_name == 0) - fkey_name = "UNKNOWN"; - } - if (ch >= 0) { - fprintf(myFP, "chr %s (ch=%#x, fkey=%d)\n", fkey_name, ch, fkey); - } else { - fprintf(myFP, "chr %s (ch=%d, fkey=%d)\n", fkey_name, ch, fkey); - } - fflush(myFP); - } -} - -void -dlg_trace(const char *fname) -{ - if (fname != 0) { - if (myFP == 0) { - myFP = fopen(fname, "a"); - if (myFP != 0) { - dlg_trace_time("## opened at"); - DLG_TRACE(("## dialog %s\n", dialog_version())); - DLG_TRACE(("## vile: confmode\n")); - } - } - } else if (myFP != 0) { - dlg_trace_time("## closed at"); - fclose(myFP); - myFP = 0; - } -} -#else -#undef dlg_trace -extern void dlg_trace(const char *); -void -dlg_trace(const char *fname) -{ - (void) fname; -} -#endif diff --git a/contrib/dialog/treeview.c b/contrib/dialog/treeview.c deleted file mode 100644 index 9853a16f539a..000000000000 --- a/contrib/dialog/treeview.c +++ /dev/null @@ -1,674 +0,0 @@ -/* - * $Id: treeview.c,v 1.43 2020/11/23 00:38:31 tom Exp $ - * - * treeview.c -- implements the treeview dialog - * - * Copyright 2012-2019,2020 Thomas E. Dickey - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License, version 2.1 - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this program; if not, write to - * Free Software Foundation, Inc. - * 51 Franklin St., Fifth Floor - * Boston, MA 02110, USA. - */ - -#include <dlg_internals.h> -#include <dlg_keys.h> - -#define INDENT 3 -#define MIN_HIGH (1 + (5 * MARGIN)) - -typedef struct { - /* the outer-window */ - WINDOW *dialog; - bool is_check; - int box_y; - int box_x; - int check_x; - int item_x; - int use_height; - int use_width; - /* the inner-window */ - WINDOW *list; - DIALOG_LISTITEM *items; - int item_no; - int *depths; - const char *states; -} ALL_DATA; - -/* - * Print list item. The 'selected' parameter is true if 'choice' is the - * current item. That one is colored differently from the other items. - */ -static void -print_item(ALL_DATA * data, - DIALOG_LISTITEM * item, - const char *states, - int depths, - int choice, - int selected) -{ - WINDOW *win = data->list; - chtype save = dlg_get_attrs(win); - int i; - bool first = TRUE; - int climit = (getmaxx(win) - data->check_x + 1); - const char *show = (dialog_vars.no_items - ? item->name - : item->text); - - /* Clear 'residue' of last item */ - dlg_attrset(win, menubox_attr); - (void) wmove(win, choice, 0); - for (i = 0; i < data->use_width; i++) - (void) waddch(win, ' '); - - (void) wmove(win, choice, data->check_x); - dlg_attrset(win, selected ? check_selected_attr : check_attr); - (void) wprintw(win, - data->is_check ? "[%c]" : "(%c)", - states[item->state]); - dlg_attrset(win, menubox_attr); - - dlg_attrset(win, selected ? item_selected_attr : item_attr); - for (i = 0; i < depths; ++i) { - int j; - (void) wmove(win, choice, data->item_x + INDENT * i); - (void) waddch(win, ACS_VLINE); - for (j = INDENT - 1; j > 0; --j) - (void) waddch(win, ' '); - } - (void) wmove(win, choice, data->item_x + INDENT * depths); - - dlg_print_listitem(win, show, climit, first, selected); - - if (selected) { - dlg_item_help(item->help); - } - dlg_attrset(win, save); -} - -static void -print_list(ALL_DATA * data, - int choice, - int scrollamt, - int max_choice) -{ - int i; - int cur_y, cur_x; - - getyx(data->dialog, cur_y, cur_x); - - for (i = 0; i < max_choice; i++) { - print_item(data, - &data->items[scrollamt + i], - data->states, - data->depths[scrollamt + i], - i, i == choice); - } - (void) wnoutrefresh(data->list); - - dlg_draw_scrollbar(data->dialog, - (long) (scrollamt), - (long) (scrollamt), - (long) (scrollamt + max_choice), - (long) (data->item_no), - data->box_x + data->check_x, - data->box_x + data->use_width, - data->box_y, - data->box_y + data->use_height + 1, - menubox_border2_attr, - menubox_border_attr); - - (void) wmove(data->dialog, cur_y, cur_x); -} - -static bool -check_hotkey(DIALOG_LISTITEM * items, int choice) -{ - bool result = FALSE; - - if (dlg_match_char(dlg_last_getc(), - (dialog_vars.no_tags - ? items[choice].text - : items[choice].name))) { - result = TRUE; - } - return result; -} - -/* - * This is an alternate interface to 'treeview' which allows the application - * to read the list item states back directly without putting them in the - * output buffer. - */ -int -dlg_treeview(const char *title, - const char *cprompt, - int height, - int width, - int list_height, - int item_no, - DIALOG_LISTITEM * items, - const char *states, - int *depths, - int flag, - int *current_item) -{ - /* *INDENT-OFF* */ - static DLG_KEYS_BINDING binding[] = { - HELPKEY_BINDINGS, - ENTERKEY_BINDINGS, - DLG_KEYS_DATA( DLGK_FIELD_NEXT, KEY_RIGHT ), - DLG_KEYS_DATA( DLGK_FIELD_NEXT, TAB ), - DLG_KEYS_DATA( DLGK_FIELD_PREV, KEY_BTAB ), - DLG_KEYS_DATA( DLGK_FIELD_PREV, KEY_LEFT ), - DLG_KEYS_DATA( DLGK_ITEM_FIRST, KEY_HOME ), - DLG_KEYS_DATA( DLGK_ITEM_LAST, KEY_END ), - DLG_KEYS_DATA( DLGK_ITEM_LAST, KEY_LL ), - DLG_KEYS_DATA( DLGK_ITEM_NEXT, '+' ), - DLG_KEYS_DATA( DLGK_ITEM_NEXT, KEY_DOWN ), - DLG_KEYS_DATA( DLGK_ITEM_NEXT, CHR_NEXT ), - DLG_KEYS_DATA( DLGK_ITEM_PREV, '-' ), - DLG_KEYS_DATA( DLGK_ITEM_PREV, KEY_UP ), - DLG_KEYS_DATA( DLGK_ITEM_PREV, CHR_PREVIOUS ), - DLG_KEYS_DATA( DLGK_PAGE_NEXT, KEY_NPAGE ), - DLG_KEYS_DATA( DLGK_PAGE_NEXT, DLGK_MOUSE(KEY_NPAGE) ), - DLG_KEYS_DATA( DLGK_PAGE_PREV, KEY_PPAGE ), - DLG_KEYS_DATA( DLGK_PAGE_PREV, DLGK_MOUSE(KEY_PPAGE) ), - TOGGLEKEY_BINDINGS, - END_KEYS_BINDING - }; - /* *INDENT-ON* */ - -#ifdef KEY_RESIZE - int old_height = height; - int old_width = width; -#endif - ALL_DATA all; - int i, j, key2, found, x, y, cur_y, box_x, box_y; - int key, fkey; - int button = dialog_state.visit_items ? -1 : dlg_default_button(); - int choice = dlg_default_listitem(items); - int scrollamt = 0; - int max_choice; - int use_height; - int use_width, name_width, text_width, tree_width; - int result = DLG_EXIT_UNKNOWN; - int num_states; - WINDOW *dialog, *list; - char *prompt = dlg_strclone(cprompt); - const char **buttons = dlg_ok_labels(); - const char *widget_name; - - /* we need at least two states */ - if (states == 0 || strlen(states) < 2) - states = " *"; - num_states = (int) strlen(states); - - dialog_state.plain_buttons = TRUE; - - memset(&all, 0, sizeof(all)); - all.items = items; - all.item_no = item_no; - all.states = states; - all.depths = depths; - - dlg_does_output(); - dlg_tab_correct_str(prompt); - - /* - * If this is a radiobutton list, ensure that no more than one item is - * selected initially. Allow none to be selected, since some users may - * wish to provide this flavor. - */ - if (flag == FLAG_RADIO) { - bool first = TRUE; - - for (i = 0; i < item_no; i++) { - if (items[i].state) { - if (first) { - first = FALSE; - } else { - items[i].state = 0; - } - } - } - } else { - all.is_check = TRUE; - } - widget_name = "treeview"; -#ifdef KEY_RESIZE - retry: -#endif - - use_height = list_height; - use_width = dlg_calc_list_width(item_no, items) + 10; - use_width = MAX(26, use_width); - if (use_height == 0) { - /* calculate height without items (4) */ - dlg_auto_size(title, prompt, &height, &width, MIN_HIGH, use_width); - dlg_calc_listh(&height, &use_height, item_no); - } else { - dlg_auto_size(title, prompt, &height, &width, MIN_HIGH + use_height, use_width); - } - dlg_button_layout(buttons, &width); - dlg_print_size(height, width); - dlg_ctl_size(height, width); - - x = dlg_box_x_ordinate(width); - y = dlg_box_y_ordinate(height); - - dialog = dlg_new_window(height, width, y, x); - dlg_register_window(dialog, widget_name, binding); - dlg_register_buttons(dialog, widget_name, buttons); - - dlg_mouse_setbase(x, y); - - dlg_draw_box2(dialog, 0, 0, height, width, dialog_attr, border_attr, border2_attr); - dlg_draw_bottom_box2(dialog, border_attr, border2_attr, dialog_attr); - dlg_draw_title(dialog, title); - - dlg_attrset(dialog, dialog_attr); - dlg_print_autowrap(dialog, prompt, height, width); - - all.use_width = width - 4; - cur_y = getcury(dialog); - box_y = cur_y + 1; - box_x = (width - all.use_width) / 2 - 1; - - /* - * After displaying the prompt, we know how much space we really have. - * Limit the list to avoid overwriting the ok-button. - */ - use_height = height - MIN_HIGH - cur_y; - if (use_height <= 0) - use_height = 1; - - max_choice = MIN(use_height, item_no); - - /* create new window for the list */ - list = dlg_sub_window(dialog, use_height, all.use_width, - y + box_y + 1, x + box_x + 1); - - /* draw a box around the list items */ - dlg_draw_box(dialog, box_y, box_x, - use_height + 2 * MARGIN, - all.use_width + 2 * MARGIN, - menubox_border_attr, menubox_border2_attr); - - text_width = 0; - name_width = 0; - tree_width = 0; - /* Find length of longest item to center treeview */ - for (i = 0; i < item_no; i++) { - tree_width = MAX(tree_width, INDENT * depths[i]); - text_width = MAX(text_width, dlg_count_columns(items[i].text)); - name_width = MAX(name_width, dlg_count_columns(items[i].name)); - } - if (dialog_vars.no_tags && !dialog_vars.no_items) { - tree_width += text_width; - } else if (dialog_vars.no_items) { - tree_width += name_width; - } else { - tree_width += (text_width + name_width); - } - - use_width = (all.use_width - 4); - tree_width = MIN(tree_width, all.use_width); - - all.check_x = (use_width - tree_width) / 2; - all.item_x = ((dialog_vars.no_tags - ? 0 - : (dialog_vars.no_items - ? 0 - : (2 + name_width))) - + all.check_x + 4); - - /* ensure we are scrolled to show the current choice */ - if (choice >= (max_choice + scrollamt)) { - scrollamt = choice - max_choice + 1; - choice = max_choice - 1; - } - - /* register the new window, along with its borders */ - dlg_mouse_mkbigregion(box_y + 1, box_x, - use_height, all.use_width + 2, - KEY_MAX, 1, 1, 1 /* by lines */ ); - - all.dialog = dialog; - all.box_x = box_x; - all.box_y = box_y; - all.use_height = use_height; - all.list = list; - print_list(&all, choice, scrollamt, max_choice); - - dlg_draw_buttons(dialog, height - 2, 0, buttons, button, FALSE, width); - - dlg_trace_win(dialog); - - while (result == DLG_EXIT_UNKNOWN) { - int was_mouse; - - if (button < 0) /* --visit-items */ - wmove(dialog, box_y + choice + 1, box_x + all.check_x + 2); - - key = dlg_mouse_wgetch(dialog, &fkey); - if (dlg_result_key(key, fkey, &result)) { - if (!dlg_button_key(result, &button, &key, &fkey)) - break; - } - - was_mouse = (fkey && is_DLGK_MOUSE(key)); - if (was_mouse) - key -= M_EVENT; - - if (was_mouse && (key >= KEY_MAX)) { - i = (key - KEY_MAX); - if (i < max_choice) { - choice = (key - KEY_MAX); - print_list(&all, choice, scrollamt, max_choice); - - key = DLGK_TOGGLE; /* force the selected item to toggle */ - } else { - beep(); - continue; - } - fkey = FALSE; - } else if (was_mouse && key >= KEY_MIN) { - key = dlg_lookup_key(dialog, key, &fkey); - } - - /* - * A space toggles the item status. - */ - if (key == DLGK_TOGGLE) { - int current = scrollamt + choice; - int next = items[current].state + 1; - - if (next >= num_states) - next = 0; - - if (flag == FLAG_CHECK) { /* checklist? */ - items[current].state = next; - } else { - for (i = 0; i < item_no; i++) { - if (i != current) { - items[i].state = 0; - } - } - if (items[current].state) { - items[current].state = next ? next : 1; - } else { - items[current].state = 1; - } - } - print_list(&all, choice, scrollamt, max_choice); - continue; /* wait for another key press */ - } - - /* - * Check if key pressed matches first character of any item tag in - * list. If there is more than one match, we will cycle through - * each one as the same key is pressed repeatedly. - */ - found = FALSE; - if (!fkey) { - if (button < 0 || !dialog_state.visit_items) { - for (j = scrollamt + choice + 1; j < item_no; j++) { - if (check_hotkey(items, j)) { - found = TRUE; - i = j - scrollamt; - break; - } - } - if (!found) { - for (j = 0; j <= scrollamt + choice; j++) { - if (check_hotkey(items, j)) { - found = TRUE; - i = j - scrollamt; - break; - } - } - } - if (found) - dlg_flush_getc(); - } else if ((j = dlg_char_to_button(key, buttons)) >= 0) { - button = j; - ungetch('\n'); - continue; - } - } - - /* - * A single digit (1-9) positions the selection to that line in the - * current screen. - */ - if (!found - && (key <= '9') - && (key > '0') - && (key - '1' < max_choice)) { - found = TRUE; - i = key - '1'; - } - - if (!found) { - if (fkey) { - found = TRUE; - switch (key) { - case DLGK_ITEM_FIRST: - i = -scrollamt; - break; - case DLGK_ITEM_LAST: - i = item_no - 1 - scrollamt; - break; - case DLGK_PAGE_PREV: - if (choice) - i = 0; - else if (scrollamt != 0) - i = -MIN(scrollamt, max_choice); - else - continue; - break; - case DLGK_PAGE_NEXT: - i = MIN(choice + max_choice, item_no - scrollamt - 1); - break; - case DLGK_ITEM_PREV: - i = choice - 1; - if (choice == 0 && scrollamt == 0) - continue; - break; - case DLGK_ITEM_NEXT: - i = choice + 1; - if (scrollamt + choice >= item_no - 1) - continue; - break; - default: - found = FALSE; - break; - } - } - } - - if (found) { - if (i != choice) { - if (i < 0 || i >= max_choice) { - if (i < 0) { - scrollamt += i; - choice = 0; - } else { - choice = max_choice - 1; - scrollamt += (i - max_choice + 1); - } - print_list(&all, choice, scrollamt, max_choice); - } else { - choice = i; - print_list(&all, choice, scrollamt, max_choice); - } - } - continue; /* wait for another key press */ - } - - if (fkey) { - switch (key) { - case DLGK_ENTER: - result = dlg_enter_buttoncode(button); - break; - case DLGK_LEAVE: - result = dlg_ok_buttoncode(button); - break; - case DLGK_FIELD_PREV: - button = dlg_prev_button(buttons, button); - dlg_draw_buttons(dialog, height - 2, 0, buttons, button, - FALSE, width); - break; - case DLGK_FIELD_NEXT: - button = dlg_next_button(buttons, button); - dlg_draw_buttons(dialog, height - 2, 0, buttons, button, - FALSE, width); - break; -#ifdef KEY_RESIZE - case KEY_RESIZE: - dlg_will_resize(dialog); - /* reset data */ - height = old_height; - width = old_width; - /* repaint */ - _dlg_resize_cleanup(dialog); - goto retry; -#endif - default: - if (was_mouse) { - if ((key2 = dlg_ok_buttoncode(key)) >= 0) { - result = key2; - break; - } - beep(); - } - } - } else if (key > 0) { - beep(); - } - } - - dlg_del_window(dialog); - dlg_mouse_free_regions(); - free(prompt); - *current_item = (scrollamt + choice); - return result; -} - -/* - * Display a set of items as a tree. - */ -int -dialog_treeview(const char *title, - const char *cprompt, - int height, - int width, - int list_height, - int item_no, - char **items, - int flag) -{ - int result; - int i, j; - DIALOG_LISTITEM *listitems; - int *depths; - bool show_status = FALSE; - int current = 0; - char *help_result; - - DLG_TRACE(("# treeview args:\n")); - DLG_TRACE2S("title", title); - DLG_TRACE2S("message", cprompt); - DLG_TRACE2N("height", height); - DLG_TRACE2N("width", width); - DLG_TRACE2N("lheight", list_height); - DLG_TRACE2N("llength", item_no); - /* FIXME dump the items[][] too */ - DLG_TRACE2N("flag", flag); - - listitems = dlg_calloc(DIALOG_LISTITEM, (size_t) item_no + 1); - assert_ptr(listitems, "dialog_treeview"); - - depths = dlg_calloc(int, (size_t) item_no + 1); - assert_ptr(depths, "dialog_treeview"); - - for (i = j = 0; i < item_no; ++i) { - listitems[i].name = items[j++]; - listitems[i].text = (dialog_vars.no_items - ? dlg_strempty() - : items[j++]); - listitems[i].state = !dlg_strcmp(items[j++], "on"); - depths[i] = atoi(items[j++]); - listitems[i].help = ((dialog_vars.item_help) - ? items[j++] - : dlg_strempty()); - } - dlg_align_columns(&listitems[0].text, (int) sizeof(DIALOG_LISTITEM), item_no); - - result = dlg_treeview(title, - cprompt, - height, - width, - list_height, - item_no, - listitems, - NULL, - depths, - flag, - ¤t); - - switch (result) { - case DLG_EXIT_OK: /* FALLTHRU */ - case DLG_EXIT_EXTRA: - show_status = TRUE; - break; - case DLG_EXIT_HELP: - dlg_add_help_listitem(&result, &help_result, &listitems[current]); - if ((show_status = dialog_vars.help_status)) { - if (dialog_vars.separate_output) { - dlg_add_string(help_result); - dlg_add_separator(); - } else { - dlg_add_quoted(help_result); - } - } else { - dlg_add_string(help_result); - } - break; - } - - if (show_status) { - for (i = 0; i < item_no; i++) { - if (listitems[i].state) { - if (dlg_need_separator()) - dlg_add_separator(); - if (dialog_vars.separate_output) { - dlg_add_string(listitems[i].name); - } else { - if (flag == FLAG_CHECK) - dlg_add_quoted(listitems[i].name); - else - dlg_add_string(listitems[i].name); - } - } - } - AddLastKey(); - } - - dlg_free_columns(&listitems[0].text, (int) sizeof(DIALOG_LISTITEM), item_no); - free(depths); - free(listitems); - return result; -} diff --git a/contrib/dialog/ttysize.c b/contrib/dialog/ttysize.c deleted file mode 100644 index fd9a97227187..000000000000 --- a/contrib/dialog/ttysize.c +++ /dev/null @@ -1,87 +0,0 @@ -/* - * $Id: ttysize.c,v 1.2 2019/07/25 00:07:15 tom Exp $ - * - * ttysize.c -- obtain terminal-size for dialog - * - * Copyright 2018,2019 Thomas E. Dickey - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License, version 2.1 - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this program; if not, write to - * Free Software Foundation, Inc. - * 51 Franklin St., Fifth Floor - * Boston, MA 02110, USA. - * - * An earlier version of this program lists as authors - * Savio Lam (lam836@cs.cuhk.hk) - */ - -#include <dialog.h> - -/* - * This is based on work I did for ncurses in 1997, and improved/extended for - * other terminal-based programs. The comments are from my original version -TD - */ - -#ifdef HAVE_TERMIOS_H -#include <termios.h> -#endif - -#ifdef HAVE_SYS_IOCTL_H -# include <sys/ioctl.h> -#endif - -#ifdef NEED_PTEM_H - /* On SCO, they neglected to define struct winsize in termios.h -- it's only - * in termio.h and ptem.h (the former conflicts with other definitions). - */ -# include <sys/stream.h> -# include <sys/ptem.h> -#endif - -/* - * SCO defines TIOCGSIZE and the corresponding struct. Other systems (SunOS, - * Solaris, IRIX) define TIOCGWINSZ and struct winsize. - */ -#if defined(TIOCGSIZE) -# define IOCTL_WINSIZE TIOCGSIZE -# define STRUCT_WINSIZE struct ttysize -# define WINSIZE_ROWS(n) (int)n.ts_lines -# define WINSIZE_COLS(n) (int)n.ts_cols -#elif defined(TIOCGWINSZ) -# define IOCTL_WINSIZE TIOCGWINSZ -# define STRUCT_WINSIZE struct winsize -# define WINSIZE_ROWS(n) (int)n.ws_row -# define WINSIZE_COLS(n) (int)n.ws_col -#else -# undef HAVE_SIZECHANGE -#endif - -int -dlg_ttysize(int fd, int *high, int *wide) -{ - int rc = -1; -#ifdef HAVE_SIZECHANGE - if (isatty(fd)) { - STRUCT_WINSIZE size; - - if (ioctl(fd, IOCTL_WINSIZE, &size) >= 0) { - *high = WINSIZE_ROWS(size); - *wide = WINSIZE_COLS(size); - rc = 0; - } - } -#else - *high = 24; - *wide = 80; -#endif /* HAVE_SIZECHANGE */ - return rc; -} diff --git a/contrib/dialog/ui_getc.c b/contrib/dialog/ui_getc.c deleted file mode 100644 index 5be01b88626b..000000000000 --- a/contrib/dialog/ui_getc.c +++ /dev/null @@ -1,681 +0,0 @@ -/* - * $Id: ui_getc.c,v 1.80 2020/11/25 01:08:30 tom Exp $ - * - * ui_getc.c - user interface glue for getc() - * - * Copyright 2001-2019,2020 Thomas E. Dickey - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License, version 2.1 - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this program; if not, write to - * Free Software Foundation, Inc. - * 51 Franklin St., Fifth Floor - * Boston, MA 02110, USA. - */ - -#include <dialog.h> -#include <dlg_keys.h> -#include <dlg_internals.h> - -#ifdef NEED_WCHAR_H -#include <wchar.h> -#endif - -#if TIME_WITH_SYS_TIME -# include <sys/time.h> -# include <time.h> -#else -# if HAVE_SYS_TIME_H -# include <sys/time.h> -# else -# include <time.h> -# endif -#endif - -#ifdef HAVE_SYS_WAIT_H -#include <sys/wait.h> -#endif - -#ifdef __QNX__ -#include <sys/select.h> -#endif - -#ifndef WEXITSTATUS -# ifdef HAVE_TYPE_UNIONWAIT -# define WEXITSTATUS(status) (status.w_retcode) -# else -# define WEXITSTATUS(status) (((status) & 0xff00) >> 8) -# endif -#endif - -#ifndef WTERMSIG -# ifdef HAVE_TYPE_UNIONWAIT -# define WTERMSIG(status) (status.w_termsig) -# else -# define WTERMSIG(status) ((status) & 0x7f) -# endif -#endif - -void -dlg_add_callback(DIALOG_CALLBACK * p) -{ - p->next = dialog_state.getc_callbacks; - dialog_state.getc_callbacks = p; - dlg_set_timeout(p->win, TRUE); -} - -/* - * Like dlg_add_callback(), but providing for cleanup of caller's associated - * state. - */ -void -dlg_add_callback_ref(DIALOG_CALLBACK ** p, DIALOG_FREEBACK freeback) -{ - (*p)->caller = p; - (*p)->freeback = freeback; - dlg_add_callback(*p); -} - -void -dlg_remove_callback(DIALOG_CALLBACK * p) -{ - DIALOG_CALLBACK *q; - - if (p->input != 0) { - FILE *input = p->input; - fclose(input); - if (p->input == dialog_state.pipe_input) - dialog_state.pipe_input = 0; - /* more than one callback can have the same input */ - for (q = dialog_state.getc_callbacks; q != 0; q = q->next) { - if (q->input == input) { - q->input = 0; - } - } - } - - if (!(p->keep_win)) - dlg_del_window(p->win); - if ((q = dialog_state.getc_callbacks) == p) { - dialog_state.getc_callbacks = p->next; - } else { - while (q != 0) { - if (q->next == p) { - q->next = p->next; - break; - } - q = q->next; - } - } - - /* handle dlg_add_callback_ref cleanup */ - if (p->freeback != 0) - p->freeback(p); - if (p->caller != 0) - *(p->caller) = 0; - - free(p); -} - -/* - * A select() might find more than one input ready for service. Handle them - * all. - */ -static bool -handle_inputs(WINDOW *win) -{ - bool result = FALSE; - DIALOG_CALLBACK *p; - DIALOG_CALLBACK *q; - int cur_y, cur_x; - int state = ERR; - - getyx(win, cur_y, cur_x); - for (p = dialog_state.getc_callbacks, q = 0; p != 0; p = q) { - q = p->next; - if ((p->handle_input != 0) && p->input_ready) { - p->input_ready = FALSE; - if (state == ERR) { - state = curs_set(0); - } - if (p->handle_input(p)) { - result = TRUE; - } - } - } - if (result && _dlg_find_window(win)) { - (void) wmove(win, cur_y, cur_x); /* Restore cursor position */ - wrefresh(win); - } else { - result = FALSE; - } - if (state != ERR) - curs_set(state); - return result; -} - -static bool -may_handle_inputs(void) -{ - bool result = FALSE; - - DIALOG_CALLBACK *p; - - for (p = dialog_state.getc_callbacks; p != 0; p = p->next) { - if (p->input != 0) { - result = TRUE; - break; - } - } - - return result; -} - -/* - * Check any any inputs registered via callbacks, to see if there is any input - * available. If there is, return a file-descriptor which should be read. - * Otherwise, return -1. - */ -static int -check_inputs(void) -{ - DIALOG_CALLBACK *p; - fd_set read_fds; - struct timeval test; - int result = -1; - - if ((p = dialog_state.getc_callbacks) != 0) { - int last_fd = -1; - int found; - int fd; - - FD_ZERO(&read_fds); - - while (p != 0) { - - p->input_ready = FALSE; - if (p->input != 0 && (fd = fileno(p->input)) >= 0) { - FD_SET(fd, &read_fds); - if (last_fd < fd) - last_fd = fd; - } - p = p->next; - } - - test.tv_sec = 0; - test.tv_usec = WTIMEOUT_VAL * 1000; - found = select(last_fd + 1, &read_fds, - (fd_set *) 0, - (fd_set *) 0, - &test); - - if (found > 0) { - for (p = dialog_state.getc_callbacks; p != 0; p = p->next) { - if (p->input != 0 - && (fd = fileno(p->input)) >= 0 - && FD_ISSET(fd, &read_fds)) { - p->input_ready = TRUE; - result = fd; - } - } - } - } - - return result; -} - -int -dlg_getc_callbacks(int ch, int fkey, int *result) -{ - int code = FALSE; - DIALOG_CALLBACK *p, *q; - - if ((p = dialog_state.getc_callbacks) != 0) { - if (check_inputs() >= 0) { - do { - q = p->next; - if (p->input_ready) { - if (!(p->handle_getc(p, ch, fkey, result))) { - dlg_remove_callback(p); - } - } - } while ((p = q) != 0); - } - code = (dialog_state.getc_callbacks != 0); - } - return code; -} - -static void -dlg_raise_window(WINDOW *win) -{ - if (_dlg_find_window(win)) { - touchwin(win); - wmove(win, getcury(win), getcurx(win)); - wnoutrefresh(win); - doupdate(); - } -} - -/* - * This is a work-around for the case where we actually need the wide-character - * code versus a byte stream. - */ -static int last_getc = ERR; - -#ifdef USE_WIDE_CURSES -static char last_getc_bytes[80]; -static int have_last_getc; -static int used_last_getc; -#endif - -int -dlg_last_getc(void) -{ -#ifdef USE_WIDE_CURSES - if (used_last_getc != 1) - return ERR; /* not really an error... */ -#endif - return last_getc; -} - -void -dlg_flush_getc(void) -{ - last_getc = ERR; -#ifdef USE_WIDE_CURSES - have_last_getc = 0; - used_last_getc = 0; -#endif -} - -/* - * Report the last key entered by the user. The 'mode' parameter controls - * the way it is separated from other results: - * -2 (no separator) - * -1 (separator after the key name) - * 0 (separator is optionally before the key name) - * 1 (same as -1) - */ -void -dlg_add_last_key(int mode) -{ - if (dialog_vars.last_key) { - if (mode >= 0) { - if (mode > 0) { - dlg_add_last_key(-1); - } else { - if (dlg_need_separator()) - dlg_add_separator(); - dlg_add_last_key(-2); - } - } else { - char temp[80]; - sprintf(temp, "%d", last_getc); - DLG_TRACE(("# dlg_add_last_key(%s)\n", temp)); - dlg_add_string(temp); - if (mode == -1) - dlg_add_separator(); - } - } -} - -/* - * Check if the stream has been unexpectedly closed, returning false in that - * case. - */ -static bool -valid_file(FILE *fp) -{ - bool code = FALSE; - int fd = fileno(fp); - - if (fd >= 0) { - if (fcntl(fd, F_GETFL, 0) >= 0) { - code = TRUE; - } - } - return code; -} - -static int -really_getch(WINDOW *win, int *fkey) -{ - int ch; -#ifdef USE_WIDE_CURSES - mbstate_t state; - wint_t my_wint; - - /* - * We get a wide character, translate it to multibyte form to avoid - * having to change the rest of the code to use wide-characters. - */ - if (used_last_getc >= have_last_getc) { - int code; - wchar_t my_wchar; - - used_last_getc = 0; - have_last_getc = 0; - ch = ERR; - *fkey = 0; - code = wget_wch(win, &my_wint); - my_wchar = (wchar_t) my_wint; - switch (code) { - case KEY_CODE_YES: - ch = *fkey = my_wchar; - last_getc = my_wchar; - break; - case OK: - memset(&state, 0, sizeof(state)); - have_last_getc = (int) wcrtomb(last_getc_bytes, my_wchar, &state); - if (have_last_getc < 0) { - have_last_getc = used_last_getc = 0; - last_getc_bytes[0] = (char) my_wchar; - } - ch = (int) CharOf(last_getc_bytes[used_last_getc++]); - last_getc = my_wchar; - break; - case ERR: - ch = ERR; - last_getc = ERR; - break; - default: - break; - } - } else { - ch = (int) CharOf(last_getc_bytes[used_last_getc++]); - } -#else - ch = wgetch(win); - last_getc = ch; - *fkey = (ch > KEY_MIN && ch < KEY_MAX); -#endif - return ch; -} - -static DIALOG_CALLBACK * -next_callback(DIALOG_CALLBACK * p) -{ - if ((p = dialog_state.getc_redirect) != 0) { - p = p->next; - } else { - p = dialog_state.getc_callbacks; - } - return p; -} - -static DIALOG_CALLBACK * -prev_callback(DIALOG_CALLBACK * p) -{ - DIALOG_CALLBACK *q; - - if ((p = dialog_state.getc_redirect) != 0) { - if (p == dialog_state.getc_callbacks) { - for (p = dialog_state.getc_callbacks; p->next != 0; p = p->next) ; - } else { - for (q = dialog_state.getc_callbacks; q->next != p; q = q->next) ; - p = q; - } - } else { - p = dialog_state.getc_callbacks; - } - return p; -} - -#define isBeforeChr(chr) ((chr) == before_chr && !before_fkey) -#define isBeforeFkey(chr) ((chr) == before_chr && before_fkey) - -/* - * Read a character from the given window. Handle repainting here (to simplify - * things in the calling application). Also, if input-callback(s) are set up, - * poll the corresponding files and handle the updates, e.g., for displaying a - * tailbox. - */ -int -dlg_getc(WINDOW *win, int *fkey) -{ - WINDOW *save_win = win; - int ch = ERR; - int before_chr; - int before_fkey; - int result; - bool done = FALSE; - bool literal = FALSE; - DIALOG_CALLBACK *p = 0; - int interval = dlg_set_timeout(win, may_handle_inputs()); - time_t expired = time((time_t *) 0) + dialog_vars.timeout_secs; - time_t current; - - while (!done) { - bool handle_others = FALSE; - - if (_dlg_find_window(win) == NULL) - break; - - /* - * If there was no pending file-input, check the keyboard. - */ - ch = really_getch(win, fkey); - if (literal) { - done = TRUE; - continue; - } - - before_chr = ch; - before_fkey = *fkey; - - ch = dlg_lookup_key(win, ch, fkey); - dlg_trace_chr(ch, *fkey); - - current = time((time_t *) 0); - - /* - * If we acquired a fkey value, then it is one of dialog's builtin - * codes such as DLGK_HELPFILE. - */ - if (!*fkey || *fkey != before_fkey) { - switch (ch) { - case CHR_LITERAL: - literal = TRUE; - keypad(win, FALSE); - continue; - case CHR_REPAINT: - if (_dlg_find_window(win)) { - (void) touchwin(win); - (void) wrefresh(curscr); - } - break; - case ERR: /* wtimeout() in effect; check for file I/O */ - if (interval > 0 - && current >= expired) { - int status; - DLG_TRACE(("# dlg_getc: timeout expired\n")); - if (dlg_getenv_num("DIALOG_TIMEOUT", &status)) { - dlg_exiterr("timeout"); - } - ch = ESC; - done = TRUE; - } else if (!valid_file(stdin) - || !valid_file(dialog_state.screen_output)) { - DLG_TRACE(("# dlg_getc: input or output is invalid\n")); - ch = ESC; - done = TRUE; - } else if (check_inputs()) { - if (_dlg_find_window(win) && handle_inputs(win)) - dlg_raise_window(win); - else - done = TRUE; - } else { - done = (interval <= 0); - } - break; - case DLGK_HELPFILE: - if (dialog_vars.help_file && _dlg_find_window(win)) { - int yold, xold; - getyx(win, yold, xold); - dialog_helpfile("HELP", dialog_vars.help_file, 0, 0); - dlg_raise_window(win); - wmove(win, yold, xold); - } - continue; - case DLGK_FIELD_PREV: - /* FALLTHRU */ - case KEY_BTAB: - /* FALLTHRU */ - case DLGK_FIELD_NEXT: - /* FALLTHRU */ - case TAB: - /* Handle tab/backtab as a special case for traversing between - * the nominal "current" window, and other windows having - * callbacks. If the nominal (control) window closes, we'll - * close the windows with callbacks. - */ - if (dialog_state.getc_callbacks != 0 && - (isBeforeChr(TAB) || - isBeforeFkey(KEY_BTAB))) { - p = (isBeforeChr(TAB) - ? next_callback(p) - : prev_callback(p)); - if ((dialog_state.getc_redirect = p) != 0) { - win = p->win; - } else { - win = save_win; - } - dlg_raise_window(win); - break; - } - /* FALLTHRU */ - default: -#ifdef NO_LEAKS - if (isBeforeChr(DLG_CTRL('P'))) { - /* for testing, ^P closes the connection */ - close(0); - close(1); - close(2); - break; - } -#endif - handle_others = TRUE; - break; -#ifdef HAVE_DLG_TRACE - case CHR_TRACE: - dlg_trace_win(win); - break; -#endif - } - } else { - handle_others = TRUE; - } - - if (handle_others) { - if ((p = dialog_state.getc_redirect) != 0) { - if (!(p->handle_getc(p, ch, *fkey, &result))) { - done = (p->win == save_win) && (!p->keep_win); - dlg_remove_callback(p); - dialog_state.getc_redirect = 0; - win = save_win; - } - } else { - done = TRUE; - } - } - } - if (literal && _dlg_find_window(win)) - keypad(win, TRUE); - return ch; -} - -static void -finish_bg(int sig GCC_UNUSED) -{ - end_dialog(); - dlg_exit(DLG_EXIT_ERROR); -} - -/* - * If we have callbacks active, purge the list of all that are not marked - * to keep in the background. If any remain, run those in a background - * process. - */ -void -dlg_killall_bg(int *retval) -{ - DIALOG_CALLBACK *cb; -#ifdef HAVE_TYPE_UNIONWAIT - union wait wstatus; -#else - int wstatus; -#endif - - if ((cb = dialog_state.getc_callbacks) != 0) { - while (cb != 0) { - if (cb->keep_bg) { - cb = cb->next; - } else { - dlg_remove_callback(cb); - cb = dialog_state.getc_callbacks; - } - } - if (dialog_state.getc_callbacks != 0) { - int pid; - - refresh(); - fflush(stdout); - fflush(stderr); - reset_shell_mode(); - if ((pid = fork()) != 0) { - _exit(pid > 0 ? DLG_EXIT_OK : DLG_EXIT_ERROR); - } else { /* child, pid==0 */ - if ((pid = fork()) != 0) { - /* - * Echo the process-id of the grandchild so a shell script - * can read that, and kill that process. We'll wait around - * until then. Our parent has already left, leaving us - * temporarily orphaned. - */ - if (pid > 0) { /* parent */ - fprintf(stderr, "%d\n", pid); - fflush(stderr); - } - /* wait for child */ -#ifdef HAVE_WAITPID - while (-1 == waitpid(pid, &wstatus, 0)) { -#ifdef EINTR - if (errno == EINTR) - continue; -#endif /* EINTR */ -#ifdef ERESTARTSYS - if (errno == ERESTARTSYS) - continue; -#endif /* ERESTARTSYS */ - break; - } -#else - while (wait(&wstatus) != pid) /* do nothing */ - ; -#endif - _exit(WEXITSTATUS(wstatus)); - } else { /* child, pid==0 */ - if (!dialog_vars.cant_kill) - (void) signal(SIGHUP, finish_bg); - (void) signal(SIGINT, finish_bg); - (void) signal(SIGQUIT, finish_bg); - (void) signal(SIGSEGV, finish_bg); - while (dialog_state.getc_callbacks != 0) { - int fkey = 0; - dlg_getc_callbacks(ERR, fkey, retval); - napms(1000); - } - } - } - } - } -} diff --git a/contrib/dialog/util.c b/contrib/dialog/util.c deleted file mode 100644 index 726a36a5031d..000000000000 --- a/contrib/dialog/util.c +++ /dev/null @@ -1,3047 +0,0 @@ -/* - * $Id: util.c,v 1.300 2021/01/17 22:10:56 tom Exp $ - * - * util.c -- miscellaneous utilities for dialog - * - * Copyright 2000-2020,2021 Thomas E. Dickey - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License, version 2.1 - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this program; if not, write to - * Free Software Foundation, Inc. - * 51 Franklin St., Fifth Floor - * Boston, MA 02110, USA. - * - * An earlier version of this program lists as authors - * Savio Lam (lam836@cs.cuhk.hk) - */ - -#include <dialog.h> -#include <dlg_keys.h> -#include <dlg_internals.h> - -#include <sys/time.h> - -#ifdef HAVE_SETLOCALE -#include <locale.h> -#endif - -#ifdef NEED_WCHAR_H -#include <wchar.h> -#endif - -#ifdef HAVE_SYS_PARAM_H -#undef MIN -#undef MAX -#include <sys/param.h> -#endif - -#if defined(NCURSES_VERSION) -#define CAN_KEEP_TITE 1 -#elif defined(__NetBSD_Version__) && (__NetBSD_Version__ >= 800000000) -#define CAN_KEEP_TITE 1 -#else -#define CAN_KEEP_TITE 0 -#endif - -#if CAN_KEEP_TITE -#if defined(NCURSES_VERSION) && defined(HAVE_NCURSESW_TERM_H) -#include <ncursesw/term.h> -#elif defined(NCURSES_VERSION) && defined(HAVE_NCURSES_TERM_H) -#include <ncurses/term.h> -#else -#include <term.h> -#endif -#endif - -#if defined(HAVE_WCHGAT) -# if defined(NCURSES_VERSION_PATCH) -# if NCURSES_VERSION_PATCH >= 20060715 -# define USE_WCHGAT 1 -# else -# define USE_WCHGAT 0 -# endif -# else -# define USE_WCHGAT 1 -# endif -#else -# define USE_WCHGAT 0 -#endif - -/* globals */ -DIALOG_STATE dialog_state; -DIALOG_VARS dialog_vars; - -#if !(defined(HAVE_WGETPARENT) && defined(HAVE_WINDOW__PARENT)) -#define NEED_WGETPARENT 1 -#else -#undef NEED_WGETPARENT -#endif - -#define concat(a,b) a##b - -#ifdef HAVE_RC_FILE -#define RC_DATA(name,comment) , #name "_color", comment " color" -#else -#define RC_DATA(name,comment) /*nothing */ -#endif - -#ifdef HAVE_COLOR -#include <dlg_colors.h> -#ifdef HAVE_RC_FILE2 -#define COLOR_DATA(upr) , \ - concat(DLGC_FG_,upr), \ - concat(DLGC_BG_,upr), \ - concat(DLGC_HL_,upr), \ - concat(DLGC_UL_,upr), \ - concat(DLGC_RV_,upr) -#else /* HAVE_RC_FILE2 */ -#define COLOR_DATA(upr) , \ - concat(DLGC_FG_,upr), \ - concat(DLGC_BG_,upr), \ - concat(DLGC_HL_,upr) -#endif /* HAVE_RC_FILE2 */ -#else /* HAVE_COLOR */ -#define COLOR_DATA(upr) /*nothing */ -#endif /* HAVE_COLOR */ - -#define UseShadow(dw) ((dw) != 0 && (dw)->normal != 0 && (dw)->shadow != 0) - -/* - * Table of color and attribute values, default is for mono display. - * The order matches the DIALOG_ATR() values. - */ -#define DATA(atr,upr,lwr,cmt) { atr COLOR_DATA(upr) RC_DATA(lwr,cmt) } -/* *INDENT-OFF* */ -DIALOG_COLORS dlg_color_table[] = -{ - DATA(A_NORMAL, SCREEN, screen, "Screen"), - DATA(A_NORMAL, SHADOW, shadow, "Shadow"), - DATA(A_REVERSE, DIALOG, dialog, "Dialog box"), - DATA(A_REVERSE, TITLE, title, "Dialog box title"), - DATA(A_REVERSE, BORDER, border, "Dialog box border"), - DATA(A_BOLD, BUTTON_ACTIVE, button_active, "Active button"), - DATA(A_DIM, BUTTON_INACTIVE, button_inactive, "Inactive button"), - DATA(A_UNDERLINE, BUTTON_KEY_ACTIVE, button_key_active, "Active button key"), - DATA(A_UNDERLINE, BUTTON_KEY_INACTIVE, button_key_inactive, "Inactive button key"), - DATA(A_NORMAL, BUTTON_LABEL_ACTIVE, button_label_active, "Active button label"), - DATA(A_NORMAL, BUTTON_LABEL_INACTIVE, button_label_inactive, "Inactive button label"), - DATA(A_REVERSE, INPUTBOX, inputbox, "Input box"), - DATA(A_REVERSE, INPUTBOX_BORDER, inputbox_border, "Input box border"), - DATA(A_REVERSE, SEARCHBOX, searchbox, "Search box"), - DATA(A_REVERSE, SEARCHBOX_TITLE, searchbox_title, "Search box title"), - DATA(A_REVERSE, SEARCHBOX_BORDER, searchbox_border, "Search box border"), - DATA(A_REVERSE, POSITION_INDICATOR, position_indicator, "File position indicator"), - DATA(A_REVERSE, MENUBOX, menubox, "Menu box"), - DATA(A_REVERSE, MENUBOX_BORDER, menubox_border, "Menu box border"), - DATA(A_REVERSE, ITEM, item, "Item"), - DATA(A_NORMAL, ITEM_SELECTED, item_selected, "Selected item"), - DATA(A_REVERSE, TAG, tag, "Tag"), - DATA(A_REVERSE, TAG_SELECTED, tag_selected, "Selected tag"), - DATA(A_NORMAL, TAG_KEY, tag_key, "Tag key"), - DATA(A_BOLD, TAG_KEY_SELECTED, tag_key_selected, "Selected tag key"), - DATA(A_REVERSE, CHECK, check, "Check box"), - DATA(A_REVERSE, CHECK_SELECTED, check_selected, "Selected check box"), - DATA(A_REVERSE, UARROW, uarrow, "Up arrow"), - DATA(A_REVERSE, DARROW, darrow, "Down arrow"), - DATA(A_NORMAL, ITEMHELP, itemhelp, "Item help-text"), - DATA(A_BOLD, FORM_ACTIVE_TEXT, form_active_text, "Active form text"), - DATA(A_REVERSE, FORM_TEXT, form_text, "Form text"), - DATA(A_NORMAL, FORM_ITEM_READONLY, form_item_readonly, "Readonly form item"), - DATA(A_REVERSE, GAUGE, gauge, "Dialog box gauge"), - DATA(A_REVERSE, BORDER2, border2, "Dialog box border2"), - DATA(A_REVERSE, INPUTBOX_BORDER2, inputbox_border2, "Input box border2"), - DATA(A_REVERSE, SEARCHBOX_BORDER2, searchbox_border2, "Search box border2"), - DATA(A_REVERSE, MENUBOX_BORDER2, menubox_border2, "Menu box border2") -}; -#undef DATA -/* *INDENT-ON* */ - -/* - * Maintain a list of subwindows so that we can delete them to cleanup. - * More important, this provides a fallback when wgetparent() is not available. - */ -static void -add_subwindow(WINDOW *parent, WINDOW *child) -{ - DIALOG_WINDOWS *p = dlg_calloc(DIALOG_WINDOWS, 1); - - if (p != 0) { - p->normal = parent; - p->shadow = child; - p->getc_timeout = WTIMEOUT_OFF; - p->next = dialog_state.all_subwindows; - dialog_state.all_subwindows = p; - } -} - -static void -del_subwindows(WINDOW *parent) -{ - DIALOG_WINDOWS *p = dialog_state.all_subwindows; - DIALOG_WINDOWS *q = 0; - DIALOG_WINDOWS *r; - - while (p != 0) { - if (p->normal == parent) { - delwin(p->shadow); - r = p->next; - if (q == 0) { - dialog_state.all_subwindows = r; - } else { - q->next = r; - } - free(p); - p = r; - } else { - q = p; - p = p->next; - } - } -} - -/* - * Display background title if it exists ... - */ -void -dlg_put_backtitle(void) -{ - - if (dialog_vars.backtitle != NULL) { - chtype attr = A_NORMAL; - int backwidth = dlg_count_columns(dialog_vars.backtitle); - int i; - - dlg_attrset(stdscr, screen_attr); - (void) wmove(stdscr, 0, 1); - dlg_print_text(stdscr, dialog_vars.backtitle, COLS - 2, &attr); - for (i = 0; i < COLS - backwidth; i++) - (void) waddch(stdscr, ' '); - (void) wmove(stdscr, 1, 1); - for (i = 0; i < COLS - 2; i++) - (void) waddch(stdscr, dlg_boxchar(ACS_HLINE)); - } - - (void) wnoutrefresh(stdscr); -} - -/* - * Set window to attribute 'attr'. There are more efficient ways to do this, - * but will not work on older/buggy ncurses versions. - */ -void -dlg_attr_clear(WINDOW *win, int height, int width, chtype attr) -{ - int i, j; - - dlg_attrset(win, attr); - for (i = 0; i < height; i++) { - (void) wmove(win, i, 0); - for (j = 0; j < width; j++) - (void) waddch(win, ' '); - } - (void) touchwin(win); -} - -void -dlg_clear(void) -{ - dlg_attr_clear(stdscr, LINES, COLS, screen_attr); -} - -#ifdef KEY_RESIZE -void -_dlg_resize_cleanup(WINDOW *w) -{ - dlg_clear(); - dlg_put_backtitle(); - dlg_del_window(w); - dlg_mouse_free_regions(); -} -#endif /* KEY_RESIZE */ - -#define isprivate(s) ((s) != 0 && strstr(s, "\033[?") != 0) - -#define TTY_DEVICE "/dev/tty" - -/* - * If $DIALOG_TTY exists, allow the program to try to open the terminal - * directly when stdout is redirected. By default we require the "--stdout" - * option to be given, but some scripts were written making use of the - * behavior of dialog which tried opening the terminal anyway. - */ -#define dialog_tty() (dlg_getenv_num("DIALOG_TTY", (int *)0) > 0) - -/* - * Open the terminal directly. If one of stdin, stdout or stderr really points - * to a tty, use it. Otherwise give up and open /dev/tty. - */ -static int -open_terminal(char **result, int mode) -{ - const char *device = TTY_DEVICE; - if (!isatty(fileno(stderr)) - || (device = ttyname(fileno(stderr))) == 0) { - if (!isatty(fileno(stdout)) - || (device = ttyname(fileno(stdout))) == 0) { - if (!isatty(fileno(stdin)) - || (device = ttyname(fileno(stdin))) == 0) { - device = TTY_DEVICE; - } - } - } - *result = dlg_strclone(device); - return open(device, mode); -} - -#if CAN_KEEP_TITE -static int -my_putc(int ch) -{ - char buffer[2]; - int fd = fileno(dialog_state.screen_output); - - buffer[0] = (char) ch; - return (int) write(fd, buffer, (size_t) 1); -} -#endif - -/* - * Do some initialization for dialog. - * - * 'input' is the real tty input of dialog. Usually it is stdin, but if - * --input-fd option is used, it may be anything. - * - * 'output' is where dialog will send its result. Usually it is stderr, but - * if --stdout or --output-fd is used, it may be anything. We are concerned - * mainly with the case where it happens to be the same as stdout. - */ -void -init_dialog(FILE *input, FILE *output) -{ - int fd1, fd2; - char *device = 0; - - setlocale(LC_ALL, ""); - - dialog_state.output = output; - if (dialog_state.tab_len == 0) - dialog_state.tab_len = TAB_LEN; - if (dialog_state.aspect_ratio == 0) - dialog_state.aspect_ratio = DEFAULT_ASPECT_RATIO; -#ifdef HAVE_COLOR - dialog_state.use_colors = USE_COLORS; /* use colors by default? */ - dialog_state.use_shadow = USE_SHADOW; /* shadow dialog boxes by default? */ -#endif - -#ifdef HAVE_RC_FILE - if (dlg_parse_rc() == -1) /* Read the configuration file */ - dlg_exiterr("init_dialog: dlg_parse_rc"); -#endif - - /* - * Some widgets (such as gauge) may read from the standard input. Pipes - * only connect stdout/stdin, so there is not much choice. But reading a - * pipe would get in the way of curses' normal reading stdin for getch. - * - * As in the --stdout (see below), reopening the terminal does not always - * work properly. dialog provides a --pipe-fd option for this purpose. We - * test that case first (differing fileno's for input/stdin). If the - * fileno's are equal, but we're not reading from a tty, see if we can open - * /dev/tty. - */ - dialog_state.pipe_input = stdin; - if (fileno(input) != fileno(stdin)) { - if ((fd1 = dup(fileno(input))) >= 0 - && (fd2 = dup(fileno(stdin))) >= 0) { - (void) dup2(fileno(input), fileno(stdin)); - dialog_state.pipe_input = fdopen(fd2, "r"); - if (fileno(stdin) != 0) /* some functions may read fd #0 */ - (void) dup2(fileno(stdin), 0); - } else { - dlg_exiterr("cannot open tty-input"); - } - close(fd1); - } else if (!isatty(fileno(stdin))) { - if ((fd1 = open_terminal(&device, O_RDONLY)) >= 0) { - if ((fd2 = dup(fileno(stdin))) >= 0) { - dialog_state.pipe_input = fdopen(fd2, "r"); - if (freopen(device, "r", stdin) == 0) - dlg_exiterr("cannot open tty-input"); - if (fileno(stdin) != 0) /* some functions may read fd #0 */ - (void) dup2(fileno(stdin), 0); - } - close(fd1); - } - free(device); - } - - /* - * If stdout is not a tty and dialog is called with the --stdout option, we - * have to provide for a way to write to the screen. - * - * The curses library normally writes its output to stdout, leaving stderr - * free for scripting. Scripts are simpler when stdout is redirected. The - * newterm function is useful; it allows us to specify where the output - * goes. Reopening the terminal is not portable since several - * configurations do not allow this to work properly: - * - * a) some getty implementations (and possibly broken tty drivers, e.g., on - * HPUX 10 and 11) cause stdin to act as if it is still in cooked mode - * even though results from ioctl's state that it is successfully - * altered to raw mode. Broken is the proper term. - * - * b) the user may not have permissions on the device, e.g., if one su's - * from the login user to another non-privileged user. - */ - if (!isatty(fileno(stdout)) - && (fileno(stdout) == fileno(output) || dialog_tty())) { - if ((fd1 = open_terminal(&device, O_WRONLY)) >= 0 - && (dialog_state.screen_output = fdopen(fd1, "w")) != 0) { - if (newterm(NULL, dialog_state.screen_output, stdin) == 0) { - dlg_exiterr("cannot initialize curses"); - } - free(device); - } else { - dlg_exiterr("cannot open tty-output"); - } - } else { - dialog_state.screen_output = stdout; - (void) initscr(); - } - dlg_keep_tite(dialog_state.screen_output); -#ifdef HAVE_FLUSHINP - (void) flushinp(); -#endif - (void) keypad(stdscr, TRUE); - (void) cbreak(); - (void) noecho(); - - if (!dialog_state.no_mouse) { - mouse_open(); - } - - dialog_state.screen_initialized = TRUE; - -#ifdef HAVE_COLOR - if (dialog_state.use_colors || dialog_state.use_shadow) - dlg_color_setup(); /* Set up colors */ -#endif - - /* Set screen to screen attribute */ - dlg_clear(); -} - -void -dlg_keep_tite(FILE *output) -{ - if (!dialog_vars.keep_tite) { -#if CAN_KEEP_TITE - /* - * Cancel xterm's alternate-screen mode. - */ - if ((fileno(output) != fileno(stdout) - || isatty(fileno(output))) - && key_mouse != 0 /* xterm and kindred */ - && isprivate(enter_ca_mode) - && isprivate(exit_ca_mode)) { - FILE *save = dialog_state.screen_output; - - /* - * initscr() or newterm() already wrote enter_ca_mode as a side - * effect of initializing the screen. It would be nice to not even - * do that, but we do not really have access to the correct copy of - * the terminfo description until those functions have been - * invoked. - */ - (void) refresh(); - dialog_state.screen_output = output; - (void) tputs(exit_ca_mode, 0, my_putc); - (void) tputs(clear_screen, 0, my_putc); - dialog_state.screen_output = save; - - /* - * Prevent ncurses from switching "back" to the normal screen when - * exiting from dialog. That would move the cursor to the original - * location saved in xterm. Normally curses sets the cursor - * position to the first line after the display, but the alternate - * screen switching is done after that point. - * - * Cancelling the strings altogether also works around the buggy - * implementation of alternate-screen in rxvt, etc., which clear - * more of the display than they should. - */ - enter_ca_mode = 0; - exit_ca_mode = 0; - } -#else - /* - * For other implementations, there are no useful answers: - * + SVr4 curses "could" support a similar approach, but the clue about - * xterm is absent from its terminal database. - * + PDCurses does not provide terminfo. - */ - (void) output; -#endif - } -} - -#ifdef HAVE_COLOR -static int defined_colors = 1; /* pair-0 is reserved */ -/* - * Setup for color display - */ -void -dlg_color_setup(void) -{ - if (has_colors()) { /* Terminal supports color? */ - unsigned i; - - (void) start_color(); - -#if defined(HAVE_USE_DEFAULT_COLORS) - use_default_colors(); -#endif - -#if defined(__NetBSD__) && defined(_CURSES_) -#define C_ATTR(x,y) (((x) != 0 ? A_BOLD : 0) | COLOR_PAIR((y))) - /* work around bug in NetBSD curses */ - for (i = 0; i < sizeof(dlg_color_table) / - sizeof(dlg_color_table[0]); i++) { - - /* Initialize color pairs */ - (void) init_pair(i + 1, - dlg_color_table[i].fg, - dlg_color_table[i].bg); - - /* Setup color attributes */ - dlg_color_table[i].atr = C_ATTR(dlg_color_table[i].hilite, i + 1); - } - defined_colors = i + 1; -#else - for (i = 0; i < sizeof(dlg_color_table) / - sizeof(dlg_color_table[0]); i++) { - - /* Initialize color pairs */ - chtype atr = dlg_color_pair(dlg_color_table[i].fg, - dlg_color_table[i].bg); - - atr |= (dlg_color_table[i].hilite ? A_BOLD : 0); -#ifdef HAVE_RC_FILE2 - atr |= (dlg_color_table[i].ul ? A_UNDERLINE : 0); - atr |= (dlg_color_table[i].rv ? A_REVERSE : 0); -#endif /* HAVE_RC_FILE2 */ - - dlg_color_table[i].atr = atr; - } -#endif - } else { - dialog_state.use_colors = FALSE; - dialog_state.use_shadow = FALSE; - } -} - -int -dlg_color_count(void) -{ - return TableSize(dlg_color_table); -} - -/* - * Wrapper for getattrs(), or the more cumbersome X/Open wattr_get(). - */ -chtype -dlg_get_attrs(WINDOW *win) -{ - chtype result; -#ifdef HAVE_GETATTRS - result = (chtype) getattrs(win); -#else - attr_t my_result; - short my_pair; - wattr_get(win, &my_result, &my_pair, NULL); - result = my_result; -#endif - return result; -} - -/* - * Reuse color pairs (they are limited), returning a COLOR_PAIR() value if we - * have (or can) define a pair with the given color as foreground on the - * window's defined background. - */ -chtype -dlg_color_pair(int foreground, int background) -{ - chtype result = 0; - int pair; - short fg, bg; - bool found = FALSE; - - for (pair = 1; pair < defined_colors; ++pair) { - if (pair_content((short) pair, &fg, &bg) != ERR - && fg == foreground - && bg == background) { - result = (chtype) COLOR_PAIR(pair); - found = TRUE; - break; - } - } - if (!found && (defined_colors + 1) < COLOR_PAIRS) { - pair = defined_colors++; - (void) init_pair((short) pair, (short) foreground, (short) background); - result = (chtype) COLOR_PAIR(pair); - } - return result; -} - -/* - * Reuse color pairs (they are limited), returning a COLOR_PAIR() value if we - * have (or can) define a pair with the given color as foreground on the - * window's defined background. - */ -static chtype -define_color(WINDOW *win, int foreground) -{ - short fg, bg, background; - if (dialog_state.text_only) { - background = COLOR_BLACK; - } else { - chtype attrs = dlg_get_attrs(win); - int pair; - - if ((pair = PAIR_NUMBER(attrs)) != 0 - && pair_content((short) pair, &fg, &bg) != ERR) { - background = bg; - } else { - background = COLOR_BLACK; - } - } - return dlg_color_pair(foreground, background); -} -#endif - -/* - * End using dialog functions. - */ -void -end_dialog(void) -{ - if (dialog_state.screen_initialized) { - dialog_state.screen_initialized = FALSE; - if (dialog_vars.erase_on_exit) { - /* - * Clear the screen to the native background color, and leave the - * terminal cursor at the lower-left corner of the screen. - */ - werase(stdscr); - wrefresh(stdscr); - } - mouse_close(); - (void) endwin(); - (void) fflush(stdout); - } -} - -#define ESCAPE_LEN 3 -#define isOurEscape(p) (((p)[0] == '\\') && ((p)[1] == 'Z') && ((p)[2] != 0)) - -int -dlg_count_real_columns(const char *text) -{ - int result = 0; - if (*text) { - result = dlg_count_columns(text); - if (result && dialog_vars.colors) { - int hidden = 0; - while (*text) { - if (dialog_vars.colors && isOurEscape(text)) { - hidden += ESCAPE_LEN; - text += ESCAPE_LEN; - } else { - ++text; - } - } - result -= hidden; - } - } - return result; -} - -static int -centered(int width, const char *string) -{ - int need = dlg_count_real_columns(string); - int left; - - left = (width - need) / 2 - 1; - if (left < 0) - left = 0; - return left; -} - -#ifdef USE_WIDE_CURSES -static bool -is_combining(const char *txt, int *combined) -{ - bool result = FALSE; - - if (*combined == 0) { - if (UCH(*txt) >= 128) { - wchar_t wch; - mbstate_t state; - size_t given = strlen(txt); - size_t len; - - memset(&state, 0, sizeof(state)); - len = mbrtowc(&wch, txt, given, &state); - if ((int) len > 0 && wcwidth(wch) == 0) { - *combined = (int) len - 1; - result = TRUE; - } - } - } else { - result = TRUE; - *combined -= 1; - } - return result; -} -#endif - -/* - * Print the name (tag) or text from a DIALOG_LISTITEM, highlighting the - * first character if selected. - */ -void -dlg_print_listitem(WINDOW *win, - const char *text, - int climit, - bool first, - int selected) -{ - chtype attr = A_NORMAL; - int limit; - chtype attrs[4]; - - if (text == 0) - text = ""; - - if (first && !dialog_vars.no_hot_list) { - const int *indx = dlg_index_wchars(text); - attrs[3] = tag_key_selected_attr; - attrs[2] = tag_key_attr; - attrs[1] = tag_selected_attr; - attrs[0] = tag_attr; - - dlg_attrset(win, selected ? attrs[3] : attrs[2]); - if (*text != '\0') { - (void) waddnstr(win, text, indx[1]); - - if ((int) strlen(text) > indx[1]) { - limit = dlg_limit_columns(text, climit, 1); - if (limit > 1) { - dlg_attrset(win, selected ? attrs[1] : attrs[0]); - (void) waddnstr(win, - text + indx[1], - indx[limit] - indx[1]); - } - } - } - } else { - const int *cols; - - attrs[1] = item_selected_attr; - attrs[0] = item_attr; - - cols = dlg_index_columns(text); - limit = dlg_limit_columns(text, climit, 0); - - if (limit > 0) { - dlg_attrset(win, selected ? attrs[1] : attrs[0]); - dlg_print_text(win, text, cols[limit], &attr); - } - } -} - -/* - * Print up to 'cols' columns from 'text', optionally rendering our escape - * sequence for attributes and color. - */ -void -dlg_print_text(WINDOW *win, const char *txt, int cols, chtype *attr) -{ - int y_origin, x_origin; - int y_before, x_before = 0; - int y_after, x_after; - int tabbed = 0; - bool ended = FALSE; -#ifdef USE_WIDE_CURSES - int combined = 0; -#endif - - if (dialog_state.text_only) { - y_origin = y_after = 0; - x_origin = x_after = 0; - } else { - y_after = 0; - x_after = 0; - getyx(win, y_origin, x_origin); - } - while (cols > 0 && (*txt != '\0')) { - bool thisTab; - chtype useattr; - - if (dialog_vars.colors) { - while (isOurEscape(txt)) { - int code; - - txt += 2; - switch (code = CharOf(*txt)) { -#ifdef HAVE_COLOR - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - *attr &= ~A_COLOR; - *attr |= define_color(win, code - '0'); - break; -#endif - case 'B': - *attr &= ~A_BOLD; - break; - case 'b': - *attr |= A_BOLD; - break; - case 'R': - *attr &= ~A_REVERSE; - break; - case 'r': - *attr |= A_REVERSE; - break; - case 'U': - *attr &= ~A_UNDERLINE; - break; - case 'u': - *attr |= A_UNDERLINE; - break; - case 'n': - *attr = A_NORMAL; - break; - default: - break; - } - ++txt; - } - } - if (ended || *txt == '\n' || *txt == '\0') - break; - useattr = (*attr) & A_ATTRIBUTES; -#ifdef HAVE_COLOR - /* - * Prevent this from making text invisible when the foreground and - * background colors happen to be the same, and there's no bold - * attribute. - */ - if ((useattr & A_COLOR) != 0 && (useattr & A_BOLD) == 0) { - short pair = (short) PAIR_NUMBER(useattr); - short fg, bg; - if (pair_content(pair, &fg, &bg) != ERR - && fg == bg) { - useattr &= ~A_COLOR; - useattr |= dlg_color_pair(fg, ((bg == COLOR_BLACK) - ? COLOR_WHITE - : COLOR_BLACK)); - } - } -#endif - /* - * Write the character, using curses to tell exactly how wide it - * is. If it is a tab, discount that, since the caller thinks - * tabs are nonprinting, and curses will expand tabs to one or - * more blanks. - */ - thisTab = (CharOf(*txt) == TAB); - if (dialog_state.text_only) { - x_before = x_after; - } else { - if (thisTab) { - getyx(win, y_before, x_before); - (void) y_before; - } - } - if (dialog_state.text_only) { - int ch = CharOf(*txt++); - if (thisTab) { - while ((x_after++) % 8) { - fputc(' ', dialog_state.output); - } - } else { - fputc(ch, dialog_state.output); - x_after++; /* FIXME: handle meta per locale */ - } - } else { - (void) waddch(win, CharOf(*txt++) | useattr); - getyx(win, y_after, x_after); - } - if (thisTab && (y_after == y_origin)) - tabbed += (x_after - x_before); - if ((y_after != y_origin) || - (x_after >= (cols + tabbed + x_origin) -#ifdef USE_WIDE_CURSES - && !is_combining(txt, &combined) -#endif - )) { - ended = TRUE; - } - } - if (dialog_state.text_only) { - fputc('\n', dialog_state.output); - } -} - -/* - * Print one line of the prompt in the window within the limits of the - * specified right margin. The line will end on a word boundary and a pointer - * to the start of the next line is returned, or a NULL pointer if the end of - * *prompt is reached. - */ -const char * -dlg_print_line(WINDOW *win, - chtype *attr, - const char *prompt, - int lm, int rm, int *x) -{ - const char *wrap_ptr; - const char *test_ptr; - const char *hide_ptr = 0; - const int *cols = dlg_index_columns(prompt); - const int *indx = dlg_index_wchars(prompt); - int wrap_inx = 0; - int test_inx = 0; - int cur_x = lm; - int hidden = 0; - int limit = dlg_count_wchars(prompt); - int n; - int tabbed = 0; - - *x = 1; - - /* - * Set *test_ptr to the end of the line or the right margin (rm), whichever - * is less, and set wrap_ptr to the end of the last word in the line. - */ - for (n = 0; n < limit; ++n) { - int ch = *(test_ptr = prompt + indx[test_inx]); - if (ch == '\n' || ch == '\0' || cur_x >= (rm + hidden)) - break; - if (ch == TAB && n == 0) { - tabbed = 8; /* workaround for leading tabs */ - } else if (isblank(UCH(ch)) - && n != 0 - && !isblank(UCH(prompt[indx[n - 1]]))) { - wrap_inx = n; - *x = cur_x; - } else if (dialog_vars.colors && isOurEscape(test_ptr)) { - hide_ptr = test_ptr; - hidden += ESCAPE_LEN; - n += (ESCAPE_LEN - 1); - } - cur_x = lm + tabbed + cols[n + 1]; - if (cur_x > (rm + hidden)) - break; - test_inx = n + 1; - } - - /* - * If the line doesn't reach the right margin in the middle of a word, then - * we don't have to wrap it at the end of the previous word. - */ - test_ptr = prompt + indx[test_inx]; - if (*test_ptr == '\n' || isblank(UCH(*test_ptr)) || *test_ptr == '\0') { - wrap_inx = test_inx; - while (wrap_inx > 0 && isblank(UCH(prompt[indx[wrap_inx - 1]]))) { - wrap_inx--; - } - *x = lm + indx[wrap_inx]; - } else if (*x == 1 && cur_x >= rm) { - /* - * If the line has no spaces, then wrap it anyway at the right margin - */ - *x = rm; - wrap_inx = test_inx; - } - wrap_ptr = prompt + indx[wrap_inx]; -#ifdef USE_WIDE_CURSES - if (UCH(*wrap_ptr) >= 128) { - int combined = 0; - while (is_combining(wrap_ptr, &combined)) { - ++wrap_ptr; - } - } -#endif - - /* - * If we found hidden text past the last point that we will display, - * discount that from the displayed length. - */ - if ((hide_ptr != 0) && (hide_ptr >= wrap_ptr)) { - hidden -= ESCAPE_LEN; - test_ptr = wrap_ptr; - while (test_ptr < wrap_ptr) { - if (dialog_vars.colors && isOurEscape(test_ptr)) { - hidden -= ESCAPE_LEN; - test_ptr += ESCAPE_LEN; - } else { - ++test_ptr; - } - } - } - - /* - * Print the line if we have a window pointer. Otherwise this routine - * is just being called for sizing the window. - */ - if (dialog_state.text_only || win) { - dlg_print_text(win, prompt, (cols[wrap_inx] - hidden), attr); - } - - /* *x tells the calling function how long the line was */ - if (*x == 1) { - *x = rm; - } - - *x -= hidden; - - /* Find the start of the next line and return a pointer to it */ - test_ptr = wrap_ptr; - while (isblank(UCH(*test_ptr))) - test_ptr++; - if (*test_ptr == '\n') - test_ptr++; - dlg_finish_string(prompt); - return (test_ptr); -} - -static void -justify_text(WINDOW *win, - const char *prompt, - int limit_y, - int limit_x, - int *high, int *wide) -{ - chtype attr = A_NORMAL; - int x; - int y = MARGIN; - int max_x = 2; - int lm = (2 * MARGIN); /* left margin (box-border plus a space) */ - int rm = limit_x; /* right margin */ - int bm = limit_y; /* bottom margin */ - int last_y = 0, last_x = 0; - - dialog_state.text_height = 0; - dialog_state.text_width = 0; - if (dialog_state.text_only || win) { - rm -= (2 * MARGIN); - bm -= (2 * MARGIN); - } - if (prompt == 0) - prompt = ""; - - if (win != 0) - getyx(win, last_y, last_x); - while (y <= bm && *prompt) { - x = lm; - - if (*prompt == '\n') { - while (*prompt == '\n' && y < bm) { - if (*(prompt + 1) != '\0') { - ++y; - if (win != 0) - (void) wmove(win, y, lm); - } - prompt++; - } - } else if (win != 0) - (void) wmove(win, y, lm); - - if (*prompt) { - prompt = dlg_print_line(win, &attr, prompt, lm, rm, &x); - if (win != 0) - getyx(win, last_y, last_x); - } - if (*prompt) { - ++y; - if (win != 0) - (void) wmove(win, y, lm); - } - max_x = MAX(max_x, x); - } - /* Move back to the last position after drawing prompt, for msgbox. */ - if (win != 0) - (void) wmove(win, last_y, last_x); - - /* Set the final height and width for the calling function */ - if (high != 0) - *high = y; - if (wide != 0) - *wide = max_x; -} - -/* - * Print a string of text in a window, automatically wrap around to the next - * line if the string is too long to fit on one line. Note that the string may - * contain embedded newlines. - */ -void -dlg_print_autowrap(WINDOW *win, const char *prompt, int height, int width) -{ - justify_text(win, prompt, - height, - width, - (int *) 0, (int *) 0); -} - -/* - * Display the message in a scrollable window. Actually the way it works is - * that we create a "tall" window of the proper width, let the text wrap within - * that, and copy a slice of the result to the dialog. - * - * It works for ncurses. Other curses implementations show only blanks (Tru64) - * or garbage (NetBSD). - */ -int -dlg_print_scrolled(WINDOW *win, - const char *prompt, - int offset, - int height, - int width, - int pauseopt) -{ - int oldy, oldx; - int last = 0; - - (void) pauseopt; /* used only for ncurses */ - - getyx(win, oldy, oldx); -#ifdef NCURSES_VERSION - if (pauseopt) { - int wide = width - (2 * MARGIN); - int high = LINES; - int len; - WINDOW *dummy; - -#if defined(NCURSES_VERSION_PATCH) && NCURSES_VERSION_PATCH >= 20040417 - /* - * If we're not limited by the screensize, allow text to possibly be - * one character per line. - */ - if ((len = dlg_count_columns(prompt)) > high) - high = len; -#endif - dummy = newwin(high, width, 0, 0); - if (dummy == 0) { - dlg_attrset(win, dialog_attr); - dlg_print_autowrap(win, prompt, height + 1 + (3 * MARGIN), width); - last = 0; - } else { - int y, x; - - wbkgdset(dummy, dialog_attr | ' '); - dlg_attrset(dummy, dialog_attr); - werase(dummy); - dlg_print_autowrap(dummy, prompt, high, width); - getyx(dummy, y, x); - (void) x; - - copywin(dummy, /* srcwin */ - win, /* dstwin */ - offset + MARGIN, /* sminrow */ - MARGIN, /* smincol */ - MARGIN, /* dminrow */ - MARGIN, /* dmincol */ - height, /* dmaxrow */ - wide, /* dmaxcol */ - FALSE); - - delwin(dummy); - - /* if the text is incomplete, or we have scrolled, show the percentage */ - if (y > 0 && wide > 4) { - int percent = (int) ((height + offset) * 100.0 / y); - - if (percent < 0) - percent = 0; - if (percent > 100) - percent = 100; - - if (offset != 0 || percent != 100) { - char buffer[5]; - - dlg_attrset(win, position_indicator_attr); - (void) wmove(win, MARGIN + height, wide - 4); - (void) sprintf(buffer, "%d%%", percent); - (void) waddstr(win, buffer); - if ((len = (int) strlen(buffer)) < 4) { - dlg_attrset(win, border_attr); - whline(win, dlg_boxchar(ACS_HLINE), 4 - len); - } - } - } - last = (y - height); - } - } else -#endif - { - (void) offset; - dlg_attrset(win, dialog_attr); - dlg_print_autowrap(win, prompt, height + 1 + (3 * MARGIN), width); - last = 0; - } - wmove(win, oldy, oldx); - return last; -} - -int -dlg_check_scrolled(int key, int last, int page, bool * show, int *offset) -{ - int code = 0; - - *show = FALSE; - - switch (key) { - case DLGK_PAGE_FIRST: - if (*offset > 0) { - *offset = 0; - *show = TRUE; - } - break; - case DLGK_PAGE_LAST: - if (*offset < last) { - *offset = last; - *show = TRUE; - } - break; - case DLGK_GRID_UP: - if (*offset > 0) { - --(*offset); - *show = TRUE; - } - break; - case DLGK_GRID_DOWN: - if (*offset < last) { - ++(*offset); - *show = TRUE; - } - break; - case DLGK_PAGE_PREV: - if (*offset > 0) { - *offset -= page; - if (*offset < 0) - *offset = 0; - *show = TRUE; - } - break; - case DLGK_PAGE_NEXT: - if (*offset < last) { - *offset += page; - if (*offset > last) - *offset = last; - *show = TRUE; - } - break; - default: - code = -1; - break; - } - return code; -} - -/* - * Calculate the window size for preformatted text. This will calculate box - * dimensions that are at or close to the specified aspect ratio for the prompt - * string with all spaces and newlines preserved and additional newlines added - * as necessary. - */ -static void -auto_size_preformatted(const char *prompt, int *height, int *width) -{ - int high = 0, wide = 0; - float car; /* Calculated Aspect Ratio */ - int max_y = SLINES - 1; - int max_x = SCOLS - 2; - int max_width = max_x; - int ar = dialog_state.aspect_ratio; - - /* Get the initial dimensions */ - justify_text((WINDOW *) 0, prompt, max_y, max_x, &high, &wide); - car = (float) (wide / high); - - /* - * If the aspect ratio is greater than it should be, then decrease the - * width proportionately. - */ - if (car > ar) { - float diff = car / (float) ar; - max_x = (int) ((float) wide / diff + 4); - justify_text((WINDOW *) 0, prompt, max_y, max_x, &high, &wide); - car = (float) wide / (float) high; - } - - /* - * If the aspect ratio is too small after decreasing the width, then - * incrementally increase the width until the aspect ratio is equal to or - * greater than the specified aspect ratio. - */ - while (car < ar && max_x < max_width) { - max_x += 4; - justify_text((WINDOW *) 0, prompt, max_y, max_x, &high, &wide); - car = (float) (wide / high); - } - - *height = high; - *width = wide; -} - -/* - * Find the length of the longest "word" in the given string. By setting the - * widget width at least this long, we can avoid splitting a word on the - * margin. - */ -static int -longest_word(const char *string) -{ - int result = 0; - - while (*string != '\0') { - int length = 0; - while (*string != '\0' && !isspace(UCH(*string))) { - length++; - string++; - } - result = MAX(result, length); - if (*string != '\0') - string++; - } - return result; -} - -/* - * if (height or width == -1) Maximize() - * if (height or width == 0), justify and return actual limits. - */ -static void -real_auto_size(const char *title, - const char *prompt, - int *height, int *width, - int boxlines, int mincols) -{ - int x = (dialog_vars.begin_set ? dialog_vars.begin_x : 2); - int y = (dialog_vars.begin_set ? dialog_vars.begin_y : 1); - int title_length = title ? dlg_count_columns(title) : 0; - int high; - int save_high = *height; - int save_wide = *width; - int max_high; - int max_wide; - - if (prompt == 0) { - if (*height == 0) - *height = -1; - if (*width == 0) - *width = -1; - } - - max_high = (*height < 0); - max_wide = (*width < 0); - - if (*height > 0) { - high = *height; - } else { - high = SLINES - y; - } - - if (*width <= 0) { - int wide; - - if (prompt != 0) { - wide = MAX(title_length, mincols); - if (strchr(prompt, '\n') == 0) { - double val = (dialog_state.aspect_ratio * - dlg_count_real_columns(prompt)); - double xxx = sqrt(val); - int tmp = (int) xxx; - wide = MAX(wide, tmp); - wide = MAX(wide, longest_word(prompt)); - justify_text((WINDOW *) 0, prompt, high, wide, height, width); - } else { - auto_size_preformatted(prompt, height, width); - } - } else { - wide = SCOLS - x; - justify_text((WINDOW *) 0, prompt, high, wide, height, width); - } - } - - if (*width < title_length) { - justify_text((WINDOW *) 0, prompt, high, title_length, height, width); - *width = title_length; - } - - dialog_state.text_height = *height; - dialog_state.text_width = *width; - - if (*width < mincols && save_wide == 0) - *width = mincols; - if (prompt != 0) { - *width += ((2 * MARGIN) + SHADOW_COLS); - *height += boxlines + (2 * MARGIN); - } - - if (save_high > 0) - *height = save_high; - if (save_wide > 0) - *width = save_wide; - - if (max_high) - *height = SLINES - (dialog_vars.begin_set ? dialog_vars.begin_y : 0); - if (max_wide) - *width = SCOLS - (dialog_vars.begin_set ? dialog_vars.begin_x : 0); -} - -/* End of real_auto_size() */ - -void -dlg_auto_size(const char *title, - const char *prompt, - int *height, - int *width, - int boxlines, - int mincols) -{ - DLG_TRACE(("# dlg_auto_size(%d,%d) limits %d,%d\n", - *height, *width, - boxlines, mincols)); - - real_auto_size(title, prompt, height, width, boxlines, mincols); - - if (*width > SCOLS) { - (*height)++; - *width = SCOLS; - } - - if (*height > SLINES) { - *height = SLINES; - } - DLG_TRACE(("# ...dlg_auto_size(%d,%d) also %d,%d\n", - *height, *width, - dialog_state.text_height, dialog_state.text_width)); -} - -/* - * if (height or width == -1) Maximize() - * if (height or width == 0) - * height=MIN(SLINES, num.lines in fd+n); - * width=MIN(SCOLS, MAX(longer line+n, mincols)); - */ -void -dlg_auto_sizefile(const char *title, - const char *file, - int *height, - int *width, - int boxlines, - int mincols) -{ - int count = 0; - int len = title ? dlg_count_columns(title) : 0; - int nc = 4; - int numlines = 2; - FILE *fd; - - /* Open input file for reading */ - if ((fd = fopen(file, "rb")) == NULL) - dlg_exiterr("dlg_auto_sizefile: Cannot open input file %s", file); - - if ((*height == -1) || (*width == -1)) { - *height = SLINES - (dialog_vars.begin_set ? dialog_vars.begin_y : 0); - *width = SCOLS - (dialog_vars.begin_set ? dialog_vars.begin_x : 0); - } - if ((*height != 0) && (*width != 0)) { - (void) fclose(fd); - if (*width > SCOLS) - *width = SCOLS; - if (*height > SLINES) - *height = SLINES; - return; - } - - while (!feof(fd)) { - int ch; - long offset; - - if (ferror(fd)) - break; - - offset = 0; - while (((ch = getc(fd)) != '\n') && !feof(fd)) { - if ((ch == TAB) && (dialog_vars.tab_correct)) { - offset += dialog_state.tab_len - (offset % dialog_state.tab_len); - } else { - offset++; - } - } - - if (offset > len) - len = (int) offset; - - count++; - } - - /* now 'count' has the number of lines of fd and 'len' the max length */ - - *height = MIN(SLINES, count + numlines + boxlines); - *width = MIN(SCOLS, MAX((len + nc), mincols)); - /* here width and height can be maximized if > SCOLS|SLINES because - textbox-like widgets don't put all <file> on the screen. - Msgbox-like widget instead have to put all <text> correctly. */ - - (void) fclose(fd); -} - -/* - * Draw a rectangular box with line drawing characters. - * - * borderchar is used to color the upper/left edges. - * - * boxchar is used to color the right/lower edges. It also is fill-color used - * for the box contents. - * - * Normally, if you are drawing a scrollable box, use menubox_border_attr for - * boxchar, and menubox_attr for borderchar since the scroll-arrows are drawn - * with menubox_attr at the top, and menubox_border_attr at the bottom. That - * also (given the default color choices) produces a recessed effect. - * - * If you want a raised effect (and are not going to use the scroll-arrows), - * reverse this choice. - */ -void -dlg_draw_box2(WINDOW *win, int y, int x, int height, int width, - chtype boxchar, chtype borderchar, chtype borderchar2) -{ - int i, j; - chtype save = dlg_get_attrs(win); - - dlg_attrset(win, 0); - for (i = 0; i < height; i++) { - (void) wmove(win, y + i, x); - for (j = 0; j < width; j++) - if (!i && !j) - (void) waddch(win, borderchar | dlg_boxchar(ACS_ULCORNER)); - else if (i == height - 1 && !j) - (void) waddch(win, borderchar | dlg_boxchar(ACS_LLCORNER)); - else if (!i && j == width - 1) - (void) waddch(win, borderchar2 | dlg_boxchar(ACS_URCORNER)); - else if (i == height - 1 && j == width - 1) - (void) waddch(win, borderchar2 | dlg_boxchar(ACS_LRCORNER)); - else if (!i) - (void) waddch(win, borderchar | dlg_boxchar(ACS_HLINE)); - else if (i == height - 1) - (void) waddch(win, borderchar2 | dlg_boxchar(ACS_HLINE)); - else if (!j) - (void) waddch(win, borderchar | dlg_boxchar(ACS_VLINE)); - else if (j == width - 1) - (void) waddch(win, borderchar2 | dlg_boxchar(ACS_VLINE)); - else - (void) waddch(win, boxchar | ' '); - } - dlg_attrset(win, save); -} - -void -dlg_draw_box(WINDOW *win, int y, int x, int height, int width, - chtype boxchar, chtype borderchar) -{ - dlg_draw_box2(win, y, x, height, width, boxchar, borderchar, boxchar); -} - -/* - * Search the given 'list' for the given window 'win'. Typically 'win' is an - * input-window, i.e., a window where we might use wgetch. - * - * The all-windows list has normal- and shadow-windows. Since we never use the - * shadow as an input window, normally we just look for the normal-window. - * - * However, the all-subwindows list stores parent/child windows rather than - * normal/shadow windows. When searching that list, we look for the child - * window (in the .shadow field). - */ -static DIALOG_WINDOWS * -find_window(DIALOG_WINDOWS * list, WINDOW *win, bool normal) -{ - DIALOG_WINDOWS *result = 0; - DIALOG_WINDOWS *p; - - for (p = list; p != 0; p = p->next) { - WINDOW *check = normal ? p->normal : p->shadow; - if (check == win) { - result = p; - break; - } - } - return result; -} - -#define SearchTopWindows(win) find_window(dialog_state.all_windows, win, TRUE) -#define SearchSubWindows(win) find_window(dialog_state.all_subwindows, win, FALSE) - -/* - * Check for the existence of a window, e.g., when used for input or updating - * the display. This is used in dlg_getc() and related functions, to guard - * against an asynchronous window-deletion that might invalidate the input - * window used in dlg_getc(). - */ -DIALOG_WINDOWS * -_dlg_find_window(WINDOW *win) -{ - DIALOG_WINDOWS *result = 0; - - if ((result = SearchTopWindows(win)) == NULL) - result = SearchSubWindows(win); - return result; -} - -#ifdef HAVE_COLOR -/* - * If we have wchgat(), use that for updating shadow attributes, to work with - * wide-character data. - */ - -/* - * Check if the given point is "in" the given window. If so, return the window - * pointer, otherwise null. - */ -static WINDOW * -in_window(WINDOW *win, int y, int x) -{ - WINDOW *result = 0; - int y_base = getbegy(win); - int x_base = getbegx(win); - int y_last = getmaxy(win) + y_base; - int x_last = getmaxx(win) + x_base; - - if (y >= y_base && y <= y_last && x >= x_base && x <= x_last) - result = win; - return result; -} - -static WINDOW * -window_at_cell(DIALOG_WINDOWS * dw, int y, int x) -{ - WINDOW *result = 0; - DIALOG_WINDOWS *p; - int y_want = y + getbegy(dw->shadow); - int x_want = x + getbegx(dw->shadow); - - for (p = dialog_state.all_windows; p != 0; p = p->next) { - if (dw->normal != p->normal - && dw->shadow != p->normal - && (result = in_window(p->normal, y_want, x_want)) != 0) { - break; - } - } - if (result == 0) { - result = stdscr; - } - return result; -} - -static bool -in_shadow(WINDOW *normal, WINDOW *shadow, int y, int x) -{ - bool result = FALSE; - int ybase = getbegy(normal); - int ylast = getmaxy(normal) + ybase; - int xbase = getbegx(normal); - int xlast = getmaxx(normal) + xbase; - - y += getbegy(shadow); - x += getbegx(shadow); - - if (y >= ybase + SHADOW_ROWS - && y < ylast + SHADOW_ROWS - && x >= xlast - && x < xlast + SHADOW_COLS) { - /* in the right-side */ - result = TRUE; - } else if (y >= ylast - && y < ylast + SHADOW_ROWS - && x >= ybase + SHADOW_COLS - && x < ylast + SHADOW_COLS) { - /* check the bottom */ - result = TRUE; - } - - return result; -} - -/* - * When erasing a shadow, check each cell to make sure that it is not part of - * another box's shadow. This is a little complicated since most shadows are - * merged onto stdscr. - */ -static bool -last_shadow(DIALOG_WINDOWS * dw, int y, int x) -{ - DIALOG_WINDOWS *p; - bool result = TRUE; - - for (p = dialog_state.all_windows; p != 0; p = p->next) { - if (p->normal != dw->normal - && in_shadow(p->normal, dw->shadow, y, x)) { - result = FALSE; - break; - } - } - return result; -} - -static void -repaint_cell(DIALOG_WINDOWS * dw, bool draw, int y, int x) -{ - WINDOW *win = dw->shadow; - WINDOW *cellwin; - int y2, x2; - - if ((cellwin = window_at_cell(dw, y, x)) != 0 - && (draw || last_shadow(dw, y, x)) - && (y2 = (y + getbegy(win) - getbegy(cellwin))) >= 0 - && (x2 = (x + getbegx(win) - getbegx(cellwin))) >= 0 - && wmove(cellwin, y2, x2) != ERR) { - chtype the_cell = dlg_get_attrs(cellwin); - chtype the_attr = (draw ? shadow_attr : the_cell); - - if (winch(cellwin) & A_ALTCHARSET) { - the_attr |= A_ALTCHARSET; - } -#if USE_WCHGAT - wchgat(cellwin, 1, - the_attr & (chtype) (~A_COLOR), - (short) PAIR_NUMBER(the_attr), - NULL); -#else - { - chtype the_char = ((winch(cellwin) & A_CHARTEXT) | the_attr); - (void) waddch(cellwin, the_char); - } -#endif - wnoutrefresh(cellwin); - } -} - -#define RepaintCell(dw, draw, y, x) repaint_cell(dw, draw, y, x) - -static void -repaint_shadow(DIALOG_WINDOWS * dw, bool draw, int y, int x, int height, int width) -{ - if (UseShadow(dw)) { - int i, j; - -#if !USE_WCHGAT - chtype save = dlg_get_attrs(dw->shadow); - dlg_attrset(dw->shadow, draw ? shadow_attr : screen_attr); -#endif - for (i = 0; i < SHADOW_ROWS; ++i) { - for (j = 0; j < width; ++j) { - RepaintCell(dw, draw, i + y + height, j + x + SHADOW_COLS); - } - } - for (i = 0; i < height; i++) { - for (j = 0; j < SHADOW_COLS; ++j) { - RepaintCell(dw, draw, i + y + SHADOW_ROWS, j + x + width); - } - } - (void) wnoutrefresh(dw->shadow); -#if !USE_WCHGAT - dlg_attrset(dw->shadow, save); -#endif - } -} - -/* - * Draw a shadow on the parent window corresponding to the right- and - * bottom-edge of the child window, to give a 3-dimensional look. - */ -static void -draw_childs_shadow(DIALOG_WINDOWS * dw) -{ - if (UseShadow(dw)) { - repaint_shadow(dw, - TRUE, - getbegy(dw->normal) - getbegy(dw->shadow), - getbegx(dw->normal) - getbegx(dw->shadow), - getmaxy(dw->normal), - getmaxx(dw->normal)); - } -} - -/* - * Erase a shadow on the parent window corresponding to the right- and - * bottom-edge of the child window. - */ -static void -erase_childs_shadow(DIALOG_WINDOWS * dw) -{ - if (UseShadow(dw)) { - repaint_shadow(dw, - FALSE, - getbegy(dw->normal) - getbegy(dw->shadow), - getbegx(dw->normal) - getbegx(dw->shadow), - getmaxy(dw->normal), - getmaxx(dw->normal)); - } -} - -/* - * Draw shadows along the right and bottom edge to give a more 3D look - * to the boxes. - */ -void -dlg_draw_shadow(WINDOW *win, int y, int x, int height, int width) -{ - repaint_shadow(SearchTopWindows(win), TRUE, y, x, height, width); -} -#endif /* HAVE_COLOR */ - -/* - * Allow shell scripts to remap the exit codes so they can distinguish ESC - * from ERROR. - */ -void -dlg_exit(int code) -{ - /* *INDENT-OFF* */ - static const struct { - int code; - const char *name; - } table[] = { - { DLG_EXIT_CANCEL, "DIALOG_CANCEL" }, - { DLG_EXIT_ERROR, "DIALOG_ERROR" }, - { DLG_EXIT_ESC, "DIALOG_ESC" }, - { DLG_EXIT_EXTRA, "DIALOG_EXTRA" }, - { DLG_EXIT_HELP, "DIALOG_HELP" }, - { DLG_EXIT_OK, "DIALOG_OK" }, - { DLG_EXIT_ITEM_HELP, "DIALOG_ITEM_HELP" }, - { DLG_EXIT_TIMEOUT, "DIALOG_TIMEOUT" }, - }; - /* *INDENT-ON* */ - - unsigned n; - bool overridden = FALSE; - - retry: - for (n = 0; n < TableSize(table); n++) { - if (table[n].code == code) { - if (dlg_getenv_num(table[n].name, &code)) { - overridden = TRUE; - } - break; - } - } - - /* - * Prior to 2004/12/19, a widget using --item-help would exit with "OK" - * if the help button were selected. Now we want to exit with "HELP", - * but allow the environment variable to override. - */ - if (code == DLG_EXIT_ITEM_HELP && !overridden) { - code = DLG_EXIT_HELP; - goto retry; - } -#ifdef HAVE_DLG_TRACE - dlg_trace((const char *) 0); /* close it */ -#endif - -#ifdef NO_LEAKS - _dlg_inputstr_leaks(); -#if defined(NCURSES_VERSION) && (defined(HAVE_CURSES_EXIT) || defined(HAVE__NC_FREE_AND_EXIT)) - curses_exit(code); -#endif -#endif - - if (dialog_state.input == stdin) { - exit(code); - } else { - /* - * Just in case of using --input-fd option, do not - * call atexit functions of ncurses which may hang. - */ - if (dialog_state.input) { - fclose(dialog_state.input); - dialog_state.input = 0; - } - if (dialog_state.pipe_input) { - if (dialog_state.pipe_input != stdin) { - fclose(dialog_state.pipe_input); - dialog_state.pipe_input = 0; - } - } - _exit(code); - } -} - -#define DATA(name) { DLG_EXIT_ ## name, #name } -/* *INDENT-OFF* */ -static struct { - int code; - const char *name; -} exit_codenames[] = { - DATA(ESC), - DATA(UNKNOWN), - DATA(ERROR), - DATA(OK), - DATA(CANCEL), - DATA(HELP), - DATA(EXTRA), - DATA(ITEM_HELP), -}; -#undef DATA -/* *INDENT-ON* */ - -const char * -dlg_exitcode2s(int code) -{ - const char *result = "?"; - size_t n; - - for (n = 0; n < TableSize(exit_codenames); ++n) { - if (exit_codenames[n].code == code) { - result = exit_codenames[n].name; - break; - } - } - return result; -} - -int -dlg_exitname2n(const char *name) -{ - int result = DLG_EXIT_UNKNOWN; - size_t n; - - for (n = 0; n < TableSize(exit_codenames); ++n) { - if (!dlg_strcmp(exit_codenames[n].name, name)) { - result = exit_codenames[n].code; - break; - } - } - return result; -} - -/* quit program killing all tailbg */ -void -dlg_exiterr(const char *fmt, ...) -{ - int retval; - va_list ap; - - end_dialog(); - - (void) fputc('\n', stderr); - va_start(ap, fmt); - (void) vfprintf(stderr, fmt, ap); - va_end(ap); - (void) fputc('\n', stderr); - -#ifdef HAVE_DLG_TRACE - va_start(ap, fmt); - dlg_trace_msg("## Error: "); - dlg_trace_va_msg(fmt, ap); - va_end(ap); -#endif - - dlg_killall_bg(&retval); - - (void) fflush(stderr); - (void) fflush(stdout); - dlg_exit(strcmp(fmt, "timeout") == 0 ? DLG_EXIT_TIMEOUT : DLG_EXIT_ERROR); -} - -/* - * Get a string from the environment, rejecting those which are entirely blank. - */ -char * -dlg_getenv_str(const char *name) -{ - char *result = getenv(name); - if (result != NULL) { - while (*result != '\0' && isspace(UCH(*result))) - ++result; - if (*result == '\0') - result = NULL; - } - return result; -} - -/* - * Get a number from the environment: - * + If the caller provides a pointer in the second parameter, return - * success/failure for the function return, and the actual value via the - * pointer. Use this for decoding arbitrary numbers, e.g., negative or zero. - * + If the caller does not provide a pointer, return the decoded value for - * the function-return. Use this when only values greater than zero are - * useful. - */ -int -dlg_getenv_num(const char *name, int *value) -{ - int result = 0; - char *data = getenv(name); - if (data != NULL) { - char *temp = NULL; - long check = strtol(data, &temp, 0); - if (temp != 0 && temp != data && *temp == '\0') { - result = (int) check; - if (value != NULL) { - *value = result; - result = 1; - } - } - } - return result; -} - -void -dlg_beeping(void) -{ - if (dialog_vars.beep_signal) { - (void) beep(); - dialog_vars.beep_signal = 0; - } -} - -void -dlg_print_size(int height, int width) -{ - if (dialog_vars.print_siz) { - fprintf(dialog_state.output, "Size: %d, %d\n", height, width); - DLG_TRACE(("# print size: %dx%d\n", height, width)); - } -} - -void -dlg_ctl_size(int height, int width) -{ - if (dialog_vars.size_err) { - if ((width > COLS) || (height > LINES)) { - dlg_exiterr("Window too big. (height, width) = (%d, %d). Max allowed (%d, %d).", - height, width, LINES, COLS); - } -#ifdef HAVE_COLOR - else if ((dialog_state.use_shadow) - && ((width > SCOLS || height > SLINES))) { - if ((width <= COLS) && (height <= LINES)) { - /* try again, without shadows */ - dialog_state.use_shadow = 0; - } else { - dlg_exiterr("Window+Shadow too big. (height, width) = (%d, %d). Max allowed (%d, %d).", - height, width, SLINES, SCOLS); - } - } -#endif - } -} - -/* - * If the --tab-correct was not selected, convert tabs to single spaces. - */ -void -dlg_tab_correct_str(char *prompt) -{ - char *ptr; - - if (dialog_vars.tab_correct) { - while ((ptr = strchr(prompt, TAB)) != NULL) { - *ptr = ' '; - prompt = ptr; - } - } -} - -void -dlg_calc_listh(int *height, int *list_height, int item_no) -{ - /* calculate new height and list_height */ - int rows = SLINES - (dialog_vars.begin_set ? dialog_vars.begin_y : 0); - if (rows - (*height) > 0) { - if (rows - (*height) > item_no) - *list_height = item_no; - else - *list_height = rows - (*height); - } - (*height) += (*list_height); -} - -/* obsolete */ -int -dlg_calc_listw(int item_no, char **items, int group) -{ - int i, len1 = 0, len2 = 0; - - for (i = 0; i < (item_no * group); i += group) { - int n; - - if ((n = dlg_count_columns(items[i])) > len1) - len1 = n; - if ((n = dlg_count_columns(items[i + 1])) > len2) - len2 = n; - } - return len1 + len2; -} - -int -dlg_calc_list_width(int item_no, DIALOG_LISTITEM * items) -{ - int n, i, len1 = 0, len2 = 0; - int bits = ((dialog_vars.no_tags ? 1 : 0) - + (dialog_vars.no_items ? 2 : 0)); - - for (i = 0; i < item_no; ++i) { - switch (bits) { - case 0: - /* FALLTHRU */ - case 1: - if ((n = dlg_count_columns(items[i].name)) > len1) - len1 = n; - if ((n = dlg_count_columns(items[i].text)) > len2) - len2 = n; - break; - case 2: - /* FALLTHRU */ - case 3: - if ((n = dlg_count_columns(items[i].name)) > len1) - len1 = n; - break; - } - } - return len1 + len2; -} - -char * -dlg_strempty(void) -{ - static char empty[] = ""; - return empty; -} - -char * -dlg_strclone(const char *cprompt) -{ - char *prompt = 0; - if (cprompt != 0) { - prompt = dlg_malloc(char, strlen(cprompt) + 1); - assert_ptr(prompt, "dlg_strclone"); - strcpy(prompt, cprompt); - } - return prompt; -} - -chtype -dlg_asciibox(chtype ch) -{ - chtype result = 0; - - if (ch == ACS_ULCORNER) - result = '+'; - else if (ch == ACS_LLCORNER) - result = '+'; - else if (ch == ACS_URCORNER) - result = '+'; - else if (ch == ACS_LRCORNER) - result = '+'; - else if (ch == ACS_HLINE) - result = '-'; - else if (ch == ACS_VLINE) - result = '|'; - else if (ch == ACS_LTEE) - result = '+'; - else if (ch == ACS_RTEE) - result = '+'; - else if (ch == ACS_UARROW) - result = '^'; - else if (ch == ACS_DARROW) - result = 'v'; - - return result; -} - -chtype -dlg_boxchar(chtype ch) -{ - chtype result = dlg_asciibox(ch); - - if (result != 0) { - if (dialog_vars.ascii_lines) - ch = result; - else if (dialog_vars.no_lines) - ch = ' '; - } - return ch; -} - -int -dlg_box_x_ordinate(int width) -{ - int x; - - if (dialog_vars.begin_set == 1) { - x = dialog_vars.begin_x; - } else { - /* center dialog box on screen unless --begin-set */ - x = (SCOLS - width) / 2; - } - return x; -} - -int -dlg_box_y_ordinate(int height) -{ - int y; - - if (dialog_vars.begin_set == 1) { - y = dialog_vars.begin_y; - } else { - /* center dialog box on screen unless --begin-set */ - y = (SLINES - height) / 2; - } - return y; -} - -void -dlg_draw_title(WINDOW *win, const char *title) -{ - if (title != NULL) { - chtype attr = A_NORMAL; - chtype save = dlg_get_attrs(win); - int x = centered(getmaxx(win), title); - - dlg_attrset(win, title_attr); - wmove(win, 0, x); - dlg_print_text(win, title, getmaxx(win) - x, &attr); - dlg_attrset(win, save); - dlg_finish_string(title); - } -} - -void -dlg_draw_bottom_box2(WINDOW *win, chtype on_left, chtype on_right, chtype on_inside) -{ - int width = getmaxx(win); - int height = getmaxy(win); - int i; - - dlg_attrset(win, on_left); - (void) wmove(win, height - 3, 0); - (void) waddch(win, dlg_boxchar(ACS_LTEE)); - for (i = 0; i < width - 2; i++) - (void) waddch(win, dlg_boxchar(ACS_HLINE)); - dlg_attrset(win, on_right); - (void) waddch(win, dlg_boxchar(ACS_RTEE)); - dlg_attrset(win, on_inside); - (void) wmove(win, height - 2, 1); - for (i = 0; i < width - 2; i++) - (void) waddch(win, ' '); -} - -void -dlg_draw_bottom_box(WINDOW *win) -{ - dlg_draw_bottom_box2(win, border_attr, dialog_attr, dialog_attr); -} - -/* - * Remove a window, repainting everything else. This would be simpler if we - * used the panel library, but that is not _always_ available. - */ -void -dlg_del_window(WINDOW *win) -{ - DIALOG_WINDOWS *p, *q, *r; - - /* - * If --keep-window was set, do not delete/repaint the windows. - */ - if (dialog_vars.keep_window) - return; - - /* Leave the main window untouched if there are no background windows. - * We do this so the current window will not be cleared on exit, allowing - * things like the infobox demo to run without flicker. - */ - if (dialog_state.getc_callbacks != 0) { - touchwin(stdscr); - wnoutrefresh(stdscr); - } - - for (p = dialog_state.all_windows, q = r = 0; p != 0; r = p, p = p->next) { - if (p->normal == win) { - q = p; /* found a match - should be only one */ - if (r == 0) { - dialog_state.all_windows = p->next; - } else { - r->next = p->next; - } - } else { - if (p->shadow != 0) { - touchwin(p->shadow); - wnoutrefresh(p->shadow); - } - touchwin(p->normal); - wnoutrefresh(p->normal); - } - } - - if (q) { - if (dialog_state.all_windows != 0) - erase_childs_shadow(q); - del_subwindows(q->normal); - dlg_unregister_window(q->normal); - delwin(q->normal); - free(q); - } - doupdate(); -} - -/* - * Create a window, optionally with a shadow. - */ -WINDOW * -dlg_new_window(int height, int width, int y, int x) -{ - return dlg_new_modal_window(stdscr, height, width, y, x); -} - -/* - * "Modal" windows differ from normal ones by having a shadow in a window - * separate from the standard screen. - */ -WINDOW * -dlg_new_modal_window(WINDOW *parent, int height, int width, int y, int x) -{ - WINDOW *win; - DIALOG_WINDOWS *p = dlg_calloc(DIALOG_WINDOWS, 1); - - (void) parent; - if (p == 0 - || (win = newwin(height, width, y, x)) == 0) { - dlg_exiterr("Can't make new window at (%d,%d), size (%d,%d).\n", - y, x, height, width); - } - p->next = dialog_state.all_windows; - p->normal = win; - p->getc_timeout = WTIMEOUT_OFF; - dialog_state.all_windows = p; -#ifdef HAVE_COLOR - if (dialog_state.use_shadow) { - p->shadow = parent; - draw_childs_shadow(p); - } -#endif - - (void) keypad(win, TRUE); - return win; -} - -/* - * dlg_getc() uses the return-value to determine how to handle an ERR return - * from a non-blocking read: - * a) if greater than zero, there was an expired timeout (blocking for a short - * time), or - * b) if zero, it was a non-blocking read, or - * c) if negative, an error occurred on a blocking read. - */ -int -dlg_set_timeout(WINDOW *win, bool will_getc) -{ - DIALOG_WINDOWS *p; - int result = 0; - - if ((p = SearchTopWindows(win)) != NULL) { - int interval = (dialog_vars.timeout_secs * 1000); - - if (will_getc || dialog_vars.pause_secs) { - interval = WTIMEOUT_VAL; - } else { - result = interval; - if (interval <= 0) { - interval = WTIMEOUT_OFF; - } - } - wtimeout(win, interval); - p->getc_timeout = interval; - } - return result; -} - -void -dlg_reset_timeout(WINDOW *win) -{ - DIALOG_WINDOWS *p; - - if ((p = SearchTopWindows(win)) != NULL) { - wtimeout(win, p->getc_timeout); - } else { - wtimeout(win, WTIMEOUT_OFF); - } -} - -/* - * Move/Resize a window, optionally with a shadow. - */ -#ifdef KEY_RESIZE -void -dlg_move_window(WINDOW *win, int height, int width, int y, int x) -{ - if (win != 0) { - DIALOG_WINDOWS *p; - - dlg_ctl_size(height, width); - - if ((p = SearchTopWindows(win)) != 0) { - (void) wresize(win, height, width); - (void) mvwin(win, y, x); -#ifdef HAVE_COLOR - if (p->shadow != 0) { - if (dialog_state.use_shadow) { - (void) mvwin(p->shadow, y + SHADOW_ROWS, x + SHADOW_COLS); - } else { - p->shadow = 0; - } - } -#endif - (void) refresh(); - -#ifdef HAVE_COLOR - draw_childs_shadow(p); -#endif - } - } -} - -/* - * Having just received a KEY_RESIZE, wait a short time to ignore followup - * KEY_RESIZE events. - */ -void -dlg_will_resize(WINDOW *win) -{ - int n, base; - int caught = 0; - - dialog_state.had_resize = TRUE; - dlg_trace_win(win); - wtimeout(win, WTIMEOUT_VAL * 5); - - for (n = base = 0; n < base + 10; ++n) { - int ch; - - if ((ch = wgetch(win)) != ERR) { - if (ch == KEY_RESIZE) { - base = n; - ++caught; - } else if (ch != ERR) { - ungetch(ch); - break; - } - } - } - dlg_reset_timeout(win); - DLG_TRACE(("# caught %d KEY_RESIZE key%s\n", - 1 + caught, - caught == 1 ? "" : "s")); -} -#endif /* KEY_RESIZE */ - -WINDOW * -dlg_der_window(WINDOW *parent, int height, int width, int y, int x) -{ - WINDOW *win; - - /* existing uses of derwin are (almost) guaranteed to succeed, and the - * caller has to allow for failure. - */ - if ((win = derwin(parent, height, width, y, x)) != 0) { - add_subwindow(parent, win); - (void) keypad(win, TRUE); - } - return win; -} - -WINDOW * -dlg_sub_window(WINDOW *parent, int height, int width, int y, int x) -{ - WINDOW *win; - - if ((win = subwin(parent, height, width, y, x)) == 0) { - dlg_exiterr("Can't make sub-window at (%d,%d), size (%d,%d).\n", - y, x, height, width); - } - - add_subwindow(parent, win); - (void) keypad(win, TRUE); - return win; -} - -/* obsolete */ -int -dlg_default_item(char **items, int llen) -{ - int result = 0; - - if (dialog_vars.default_item != 0) { - int count = 0; - while (*items != 0) { - if (!strcmp(dialog_vars.default_item, *items)) { - result = count; - break; - } - items += llen; - count++; - } - } - return result; -} - -int -dlg_default_listitem(DIALOG_LISTITEM * items) -{ - int result = 0; - - if (dialog_vars.default_item != 0) { - int count = 0; - while (items->name != 0) { - if (!strcmp(dialog_vars.default_item, items->name)) { - result = count; - break; - } - ++items; - count++; - } - } - return result; -} - -/* - * Draw the string for item_help - */ -void -dlg_item_help(const char *txt) -{ - if (USE_ITEM_HELP(txt)) { - chtype attr = A_NORMAL; - - dlg_attrset(stdscr, itemhelp_attr); - (void) wmove(stdscr, LINES - 1, 0); - (void) wclrtoeol(stdscr); - (void) addch(' '); - dlg_print_text(stdscr, txt, COLS - 1, &attr); - - if (itemhelp_attr & A_COLOR) { - int y, x; - /* fill the remainder of the line with the window's attributes */ - getyx(stdscr, y, x); - (void) y; - while (x < COLS) { - (void) addch(' '); - ++x; - } - } - (void) wnoutrefresh(stdscr); - } -} - -#ifndef HAVE_STRCASECMP -int -dlg_strcmp(const char *a, const char *b) -{ - int ac, bc, cmp; - - for (;;) { - ac = UCH(*a++); - bc = UCH(*b++); - if (isalpha(ac) && islower(ac)) - ac = _toupper(ac); - if (isalpha(bc) && islower(bc)) - bc = _toupper(bc); - cmp = ac - bc; - if (ac == 0 || bc == 0 || cmp != 0) - break; - } - return cmp; -} -#endif - -/* - * Returns true if 'dst' points to a blank which follows another blank which - * is not a leading blank on a line. - */ -static bool -trim_blank(char *base, char *dst) -{ - int count = !!isblank(UCH(*dst)); - - while (dst-- != base) { - if (*dst == '\n') { - break; - } else if (isblank(UCH(*dst))) { - count++; - } else { - break; - } - } - return (count > 1); -} - -/* - * Change embedded "\n" substrings to '\n' characters and tabs to single - * spaces. If there are no "\n"s, it will strip all extra spaces, for - * justification. If it has "\n"'s, it will preserve extra spaces. If cr_wrap - * is set, it will preserve '\n's. - */ -void -dlg_trim_string(char *s) -{ - char *base = s; - char *p1; - char *p = s; - int has_newlines = !dialog_vars.no_nl_expand && (strstr(s, "\\n") != 0); - - while (*p != '\0') { - if (*p == TAB && !dialog_vars.nocollapse) - *p = ' '; - - if (has_newlines) { /* If prompt contains "\n" strings */ - if (*p == '\\' && *(p + 1) == 'n') { - *s++ = '\n'; - p += 2; - p1 = p; - /* - * Handle end of lines intelligently. If '\n' follows "\n" - * then ignore the '\n'. This eliminates the need to escape - * the '\n' character (no need to use "\n\"). - */ - while (isblank(UCH(*p1))) - p1++; - if (*p1 == '\n') - p = p1 + 1; - } else if (*p == '\n') { - if (dialog_vars.cr_wrap) - *s++ = *p++; - else { - /* Replace the '\n' with a space if cr_wrap is not set */ - if (!trim_blank(base, p)) - *s++ = ' '; - p++; - } - } else /* If *p != '\n' */ - *s++ = *p++; - } else if (dialog_vars.trim_whitespace) { - if (isblank(UCH(*p))) { - if (!isblank(UCH(*(s - 1)))) { - *s++ = ' '; - p++; - } else - p++; - } else if (*p == '\n') { - if (dialog_vars.cr_wrap) - *s++ = *p++; - else if (!isblank(UCH(*(s - 1)))) { - /* Strip '\n's if cr_wrap is not set. */ - *s++ = ' '; - p++; - } else - p++; - } else - *s++ = *p++; - } else { /* If there are no "\n" strings */ - if (isblank(UCH(*p)) && !dialog_vars.nocollapse) { - if (!trim_blank(base, p)) - *s++ = *p; - p++; - } else - *s++ = *p++; - } - } - - *s = '\0'; -} - -void -dlg_set_focus(WINDOW *parent, WINDOW *win) -{ - if (win != 0) { - (void) wmove(parent, - getpary(win) + getcury(win), - getparx(win) + getcurx(win)); - (void) wnoutrefresh(win); - (void) doupdate(); - } -} - -/* - * Returns the nominal maximum buffer size. - */ -int -dlg_max_input(int max_len) -{ - if (dialog_vars.max_input != 0 && dialog_vars.max_input < MAX_LEN) - max_len = dialog_vars.max_input; - - return max_len; -} - -/* - * Free storage used for the result buffer. - */ -void -dlg_clr_result(void) -{ - if (dialog_vars.input_length) { - dialog_vars.input_length = 0; - if (dialog_vars.input_result) - free(dialog_vars.input_result); - } - dialog_vars.input_result = 0; -} - -/* - * Setup a fixed-buffer for the result. - */ -char * -dlg_set_result(const char *string) -{ - unsigned need = string ? (unsigned) strlen(string) + 1 : 0; - - /* inputstr.c needs a fixed buffer */ - if (need < MAX_LEN) - need = MAX_LEN; - - /* - * If the buffer is not big enough, allocate a new one. - */ - if (dialog_vars.input_length != 0 - || dialog_vars.input_result == 0 - || need > MAX_LEN) { - - dlg_clr_result(); - - dialog_vars.input_length = need; - dialog_vars.input_result = dlg_malloc(char, need); - assert_ptr(dialog_vars.input_result, "dlg_set_result"); - } - - strcpy(dialog_vars.input_result, string ? string : ""); - - return dialog_vars.input_result; -} - -/* - * Accumulate results in dynamically allocated buffer. - * If input_length is zero, it is a MAX_LEN buffer belonging to the caller. - */ -void -dlg_add_result(const char *string) -{ - unsigned have = (dialog_vars.input_result - ? (unsigned) strlen(dialog_vars.input_result) - : 0); - unsigned want = (unsigned) strlen(string) + 1 + have; - - if ((want >= MAX_LEN) - || (dialog_vars.input_length != 0) - || (dialog_vars.input_result == 0)) { - - if (dialog_vars.input_length == 0 - || dialog_vars.input_result == 0) { - - char *save_result = dialog_vars.input_result; - - dialog_vars.input_length = want * 2; - dialog_vars.input_result = dlg_malloc(char, dialog_vars.input_length); - assert_ptr(dialog_vars.input_result, "dlg_add_result malloc"); - dialog_vars.input_result[0] = '\0'; - if (save_result != 0) - strcpy(dialog_vars.input_result, save_result); - } else if (want >= dialog_vars.input_length) { - dialog_vars.input_length = want * 2; - dialog_vars.input_result = dlg_realloc(char, - dialog_vars.input_length, - dialog_vars.input_result); - assert_ptr(dialog_vars.input_result, "dlg_add_result realloc"); - } - } - strcat(dialog_vars.input_result, string); -} - -/* - * These are characters that (aside from the quote-delimiter) will have to - * be escaped in a single- or double-quoted string. - */ -#define FIX_SINGLE "\n\\" -#define FIX_DOUBLE FIX_SINGLE "[]{}?*;`~#$^&()|<>" - -/* - * Returns the quote-delimiter. - */ -static const char * -quote_delimiter(void) -{ - return dialog_vars.single_quoted ? "'" : "\""; -} - -/* - * Returns true if we should quote the given string. - */ -static bool -must_quote(char *string) -{ - bool code = FALSE; - - if (*string != '\0') { - size_t len = strlen(string); - if (strcspn(string, quote_delimiter()) != len) - code = TRUE; - else if (strcspn(string, "\n\t ") != len) - code = TRUE; - else - code = (strcspn(string, FIX_DOUBLE) != len); - } else { - code = TRUE; - } - - return code; -} - -/* - * Add a quoted string to the result buffer. - */ -void -dlg_add_quoted(char *string) -{ - char temp[2]; - const char *my_quote = quote_delimiter(); - const char *must_fix = (dialog_vars.single_quoted - ? FIX_SINGLE - : FIX_DOUBLE); - - if (must_quote(string)) { - temp[1] = '\0'; - dlg_add_result(my_quote); - while (*string != '\0') { - temp[0] = *string++; - if ((strchr) (my_quote, *temp) || (strchr) (must_fix, *temp)) - dlg_add_result("\\"); - dlg_add_result(temp); - } - dlg_add_result(my_quote); - } else { - dlg_add_result(string); - } -} - -/* - * When adding a result, make that depend on whether "--quoted" is used. - */ -void -dlg_add_string(char *string) -{ - if (dialog_vars.quoted) { - dlg_add_quoted(string); - } else { - dlg_add_result(string); - } -} - -bool -dlg_need_separator(void) -{ - bool result = FALSE; - - if (dialog_vars.output_separator) { - result = TRUE; - } else if (dialog_vars.input_result && *(dialog_vars.input_result)) { - result = TRUE; - } - return result; -} - -void -dlg_add_separator(void) -{ - const char *separator = (dialog_vars.separate_output) ? "\n" : " "; - - if (dialog_vars.output_separator) - separator = dialog_vars.output_separator; - - dlg_add_result(separator); -} - -#define HELP_PREFIX "HELP " - -void -dlg_add_help_listitem(int *result, char **tag, DIALOG_LISTITEM * item) -{ - dlg_add_result(HELP_PREFIX); - if (USE_ITEM_HELP(item->help)) { - *tag = dialog_vars.help_tags ? item->name : item->help; - *result = DLG_EXIT_ITEM_HELP; - } else { - *tag = item->name; - } -} - -void -dlg_add_help_formitem(int *result, char **tag, DIALOG_FORMITEM * item) -{ - dlg_add_result(HELP_PREFIX); - if (USE_ITEM_HELP(item->help)) { - *tag = dialog_vars.help_tags ? item->name : item->help; - *result = DLG_EXIT_ITEM_HELP; - } else { - *tag = item->name; - } -} - -/* - * Some widgets support only one value of a given variable - save/restore the - * global dialog_vars so we can override it consistently. - */ -void -dlg_save_vars(DIALOG_VARS * vars) -{ - *vars = dialog_vars; -} - -/* - * Most of the data in DIALOG_VARS is normally set by command-line options. - * The input_result member is an exception; it is normally set by the dialog - * library to return result values. - */ -void -dlg_restore_vars(DIALOG_VARS * vars) -{ - char *save_result = dialog_vars.input_result; - unsigned save_length = dialog_vars.input_length; - - dialog_vars = *vars; - dialog_vars.input_result = save_result; - dialog_vars.input_length = save_length; -} - -/* - * Called each time a widget is invoked which may do output, increment a count. - */ -void -dlg_does_output(void) -{ - dialog_state.output_count += 1; -} - -/* - * Compatibility for different versions of curses. - */ -#if !(defined(HAVE_GETBEGX) && defined(HAVE_GETBEGY)) -int -dlg_getbegx(WINDOW *win) -{ - int y, x; - getbegyx(win, y, x); - return x; -} -int -dlg_getbegy(WINDOW *win) -{ - int y, x; - getbegyx(win, y, x); - return y; -} -#endif - -#if !(defined(HAVE_GETCURX) && defined(HAVE_GETCURY)) -int -dlg_getcurx(WINDOW *win) -{ - int y, x; - getyx(win, y, x); - return x; -} -int -dlg_getcury(WINDOW *win) -{ - int y, x; - getyx(win, y, x); - return y; -} -#endif - -#if !(defined(HAVE_GETMAXX) && defined(HAVE_GETMAXY)) -int -dlg_getmaxx(WINDOW *win) -{ - int y, x; - getmaxyx(win, y, x); - return x; -} -int -dlg_getmaxy(WINDOW *win) -{ - int y, x; - getmaxyx(win, y, x); - return y; -} -#endif - -#if !(defined(HAVE_GETPARX) && defined(HAVE_GETPARY)) -int -dlg_getparx(WINDOW *win) -{ - int y, x; - getparyx(win, y, x); - return x; -} -int -dlg_getpary(WINDOW *win) -{ - int y, x; - getparyx(win, y, x); - return y; -} -#endif - -#ifdef NEED_WGETPARENT -WINDOW * -dlg_wgetparent(WINDOW *win) -{ -#undef wgetparent - WINDOW *result = 0; - DIALOG_WINDOWS *p; - - for (p = dialog_state.all_subwindows; p != 0; p = p->next) { - if (p->shadow == win) { - result = p->normal; - break; - } - } - return result; -} -#endif diff --git a/contrib/dialog/version.c b/contrib/dialog/version.c deleted file mode 100644 index 1e72ce4789f8..000000000000 --- a/contrib/dialog/version.c +++ /dev/null @@ -1,33 +0,0 @@ -/* - * $Id: version.c,v 1.6 2010/01/15 23:34:46 tom Exp $ - * - * version.c -- dialog's version string - * - * Copyright 2005-2006,2010 Thomas E. Dickey - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License, version 2.1 - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this program; if not, write to - * Free Software Foundation, Inc. - * 51 Franklin St., Fifth Floor - * Boston, MA 02110, USA. - */ -#include <dialog.h> - -#define quoted(a) #a -#define concat(a,b) a "-" quoted(b) -#define DLG_VERSION concat(DIALOG_VERSION,DIALOG_PATCHDATE) - -const char * -dialog_version(void) -{ - return DLG_VERSION; -} diff --git a/contrib/dialog/yesno.c b/contrib/dialog/yesno.c deleted file mode 100644 index 58acc8ae763d..000000000000 --- a/contrib/dialog/yesno.c +++ /dev/null @@ -1,171 +0,0 @@ -/* - * $Id: yesno.c,v 1.71 2020/11/23 00:48:08 tom Exp $ - * - * yesno.c -- implements the yes/no box - * - * Copyright 1999-2019,2020 Thomas E. Dickey - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License, version 2.1 - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this program; if not, write to - * Free Software Foundation, Inc. - * 51 Franklin St., Fifth Floor - * Boston, MA 02110, USA. - * - * An earlier version of this program lists as authors - * Savio Lam (lam836@cs.cuhk.hk) - */ - -#include <dialog.h> -#include <dlg_keys.h> - -/* - * Display a dialog box with two buttons - Yes and No. - */ -int -dialog_yesno(const char *title, const char *cprompt, int height, int width) -{ - /* *INDENT-OFF* */ - static DLG_KEYS_BINDING binding[] = { - HELPKEY_BINDINGS, - ENTERKEY_BINDINGS, - SCROLLKEY_BINDINGS, - TRAVERSE_BINDINGS, - END_KEYS_BINDING - }; - /* *INDENT-ON* */ - - int x, y; - int key, fkey; - int button = dlg_default_button(); - WINDOW *dialog = 0; - int result = DLG_EXIT_UNKNOWN; - char *prompt; - const char **buttons = dlg_yes_labels(); - int min_width = 25; - bool show = TRUE; - int page, last = 0, offset = 0; - -#ifdef KEY_RESIZE - int req_high = height; - int req_wide = width; -#endif - - DLG_TRACE(("# yesno args:\n")); - DLG_TRACE2S("title", title); - DLG_TRACE2S("message", cprompt); - DLG_TRACE2N("height", height); - DLG_TRACE2N("width", width); - -#ifdef KEY_RESIZE - restart: -#endif - prompt = dlg_strclone(cprompt); - dlg_tab_correct_str(prompt); - dlg_button_layout(buttons, &min_width); - dlg_auto_size(title, prompt, &height, &width, 2, min_width); - dlg_print_size(height, width); - dlg_ctl_size(height, width); - - x = dlg_box_x_ordinate(width); - y = dlg_box_y_ordinate(height); - - dialog = dlg_new_window(height, width, y, x); - dlg_register_window(dialog, "yesno", binding); - dlg_register_buttons(dialog, "yesno", buttons); - - dlg_draw_box2(dialog, 0, 0, height, width, dialog_attr, border_attr, border2_attr); - dlg_draw_bottom_box2(dialog, border_attr, border2_attr, dialog_attr); - dlg_draw_title(dialog, title); - dlg_draw_helpline(dialog, FALSE); - - dlg_attrset(dialog, dialog_attr); - - page = height - (1 + 3 * MARGIN); - dlg_draw_buttons(dialog, - height - 2 * MARGIN, 0, - buttons, button, FALSE, width); - - while (result == DLG_EXIT_UNKNOWN) { - int code; - - if (show) { - last = dlg_print_scrolled(dialog, prompt, offset, - page, width, TRUE); - dlg_trace_win(dialog); - show = FALSE; - } - key = dlg_mouse_wgetch(dialog, &fkey); - if (dlg_result_key(key, fkey, &result)) { - if (!dlg_button_key(result, &button, &key, &fkey)) - break; - } - if ((code = dlg_char_to_button(key, buttons)) >= 0) { - result = dlg_ok_buttoncode(code); - break; - } - /* handle function keys */ - if (fkey) { - switch (key) { - case DLGK_FIELD_NEXT: - button = dlg_next_button(buttons, button); - if (button < 0) - button = 0; - dlg_draw_buttons(dialog, - height - 2, 0, - buttons, button, - FALSE, width); - break; - case DLGK_FIELD_PREV: - button = dlg_prev_button(buttons, button); - if (button < 0) - button = 0; - dlg_draw_buttons(dialog, - height - 2, 0, - buttons, button, - FALSE, width); - break; - case DLGK_ENTER: - case DLGK_LEAVE: - result = dlg_yes_buttoncode(button); - break; -#ifdef KEY_RESIZE - case KEY_RESIZE: - dlg_will_resize(dialog); - height = req_high; - width = req_wide; - show = TRUE; - free(prompt); - _dlg_resize_cleanup(dialog); - goto restart; -#endif - default: - if (is_DLGK_MOUSE(key)) { - result = dlg_yes_buttoncode(key - M_EVENT); - if (result < 0) - result = DLG_EXIT_OK; - } else if (dlg_check_scrolled(key, last, page, - &show, &offset) != 0) { - beep(); - } - break; - } - } else if (key > 0) { - beep(); - } - } - dlg_add_last_key(-1); - - dlg_del_window(dialog); - dlg_mouse_free_regions(); - free(prompt); - return result; -} -- cgit v1.3