From http://www.jwz.org/xscreensaver/xscreensaver-5.24.tar.gz
authorZygo Blaxell <zblaxell@faye.furryterror.org>
Mon, 9 Dec 2013 03:44:41 +0000 (22:44 -0500)
committerZygo Blaxell <zblaxell@faye.furryterror.org>
Mon, 9 Dec 2013 03:53:33 +0000 (22:53 -0500)
-rw-r--r-- 1 zblaxell zblaxell 8710788 Dec  7 22:19 xscreensaver-5.24.tar.gz
c8450e134d997d11bb567198304f5d199ebaa023  xscreensaver-5.24.tar.gz

524 files changed:
Makefile.in
OSX/InvertedSlider.h
OSX/InvertedSlider.m
OSX/Makefile
OSX/PrefsReader.h
OSX/PrefsReader.m
OSX/SaverRunner.m
OSX/SaverRunner.plist
OSX/Sparkle.framework/Headers [new symlink]
OSX/Sparkle.framework/Resources [new symlink]
OSX/Sparkle.framework/Sparkle [new symlink]
OSX/Sparkle.framework/Versions/A/Headers/SUAppcast.h [new file with mode: 0755]
OSX/Sparkle.framework/Versions/A/Headers/SUAppcastItem.h [new file with mode: 0755]
OSX/Sparkle.framework/Versions/A/Headers/SUUpdater.h [new file with mode: 0755]
OSX/Sparkle.framework/Versions/A/Headers/SUVersionComparisonProtocol.h [new file with mode: 0755]
OSX/Sparkle.framework/Versions/A/Headers/SUVersionDisplayProtocol.h [new file with mode: 0755]
OSX/Sparkle.framework/Versions/A/Headers/Sparkle.h [new file with mode: 0755]
OSX/Sparkle.framework/Versions/A/Resources/Info.plist [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/License.txt [new file with mode: 0755]
OSX/Sparkle.framework/Versions/A/Resources/SUModelTranslation.plist [new file with mode: 0755]
OSX/Sparkle.framework/Versions/A/Resources/SUStatus.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/ar.lproj/SUAutomaticUpdateAlert.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/ar.lproj/SUPasswordPrompt.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/ar.lproj/SUUpdateAlert.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/ar.lproj/SUUpdatePermissionPrompt.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/ar.lproj/Sparkle.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/cs.lproj/SUAutomaticUpdateAlert.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/cs.lproj/SUUpdateAlert.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/cs.lproj/SUUpdatePermissionPrompt.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/cs.lproj/Sparkle.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/da.lproj/SUAutomaticUpdateAlert.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/da.lproj/SUPasswordPrompt.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/da.lproj/SUUpdateAlert.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/da.lproj/SUUpdatePermissionPrompt.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/da.lproj/Sparkle.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/de.lproj/SUAutomaticUpdateAlert.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdateAlert.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdatePermissionPrompt.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/de.lproj/Sparkle.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/en.lproj/SUAutomaticUpdateAlert.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/en.lproj/SUPasswordPrompt.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdateAlert.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdatePermissionPrompt.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/en.lproj/Sparkle.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/es.lproj/SUAutomaticUpdateAlert.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdateAlert.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdatePermissionPrompt.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/es.lproj/Sparkle.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Info.plist [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/MacOS/finish_installation [new file with mode: 0755]
OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/PkgInfo [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/SUStatus.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/Sparkle.icns [new file with mode: 0755]
OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/ar.lproj/Sparkle.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/cs.lproj/Sparkle.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/da.lproj/Sparkle.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/de.lproj/Sparkle.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/en.lproj/Sparkle.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/es.lproj/Sparkle.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/fr.lproj/Sparkle.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/is.lproj/Sparkle.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/it.lproj/Sparkle.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/ja.lproj/Sparkle.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/nl.lproj/Sparkle.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/pl.lproj/Sparkle.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/pt_BR.lproj/Sparkle.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/pt_PT.lproj/Sparkle.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/ro.lproj/Sparkle.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/ru.lproj/Sparkle.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/sl.lproj/Sparkle.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/sv.lproj/Sparkle.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/th.lproj/Sparkle.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/tr.lproj/Sparkle.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/uk.lproj/Sparkle.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/zh_CN.lproj/Sparkle.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/zh_TW.lproj/Sparkle.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/fr.lproj/SUAutomaticUpdateAlert.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdateAlert.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdatePermissionPrompt.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/fr.lproj/Sparkle.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/fr_CA.lproj [new symlink]
OSX/Sparkle.framework/Versions/A/Resources/is.lproj/SUAutomaticUpdateAlert.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/is.lproj/SUUpdateAlert.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/is.lproj/SUUpdatePermissionPrompt.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/is.lproj/Sparkle.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/it.lproj/SUAutomaticUpdateAlert.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdateAlert.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdatePermissionPrompt.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/it.lproj/Sparkle.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/ja.lproj/SUAutomaticUpdateAlert.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/ja.lproj/SUUpdateAlert.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/ja.lproj/SUUpdatePermissionPrompt.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/ja.lproj/Sparkle.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/ko.lproj/SUAutomaticUpdateAlert.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/ko.lproj/SUUpdateAlert.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/ko.lproj/SUUpdatePermissionPrompt.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/nl.lproj/SUAutomaticUpdateAlert.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdateAlert.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdatePermissionPrompt.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/nl.lproj/Sparkle.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/pl.lproj/SUAutomaticUpdateAlert.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/pl.lproj/SUUpdateAlert.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/pl.lproj/SUUpdatePermissionPrompt.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/pl.lproj/Sparkle.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/pt.lproj [new symlink]
OSX/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUAutomaticUpdateAlert.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUPasswordPrompt.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUUpdateAlert.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUUpdatePermissionPrompt.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/Sparkle.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/SUAutomaticUpdateAlert.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/SUUpdateAlert.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/SUUpdatePermissionPrompt.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/Sparkle.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/ro.lproj/SUAutomaticUpdateAlert.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/ro.lproj/SUUpdateAlert.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/ro.lproj/SUUpdatePermissionPrompt.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/ro.lproj/Sparkle.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/ru.lproj/SUAutomaticUpdateAlert.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdateAlert.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdatePermissionPrompt.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/ru.lproj/Sparkle.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/sk.lproj/SUAutomaticUpdateAlert.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/sk.lproj/SUUpdateAlert.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/sk.lproj/SUUpdatePermissionPrompt.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/sl.lproj/SUAutomaticUpdateAlert.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/sl.lproj/SUUpdateAlert.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/sl.lproj/SUUpdatePermissionPrompt.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/sl.lproj/Sparkle.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/sv.lproj/SUAutomaticUpdateAlert.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdateAlert.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdatePermissionPrompt.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/sv.lproj/Sparkle.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/th.lproj/SUAutomaticUpdateAlert.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/th.lproj/SUPasswordPrompt.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/th.lproj/SUUpdateAlert.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/th.lproj/SUUpdatePermissionPrompt.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/th.lproj/Sparkle.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/tr.lproj/SUAutomaticUpdateAlert.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/tr.lproj/SUUpdateAlert.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/tr.lproj/SUUpdatePermissionPrompt.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/tr.lproj/Sparkle.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/uk.lproj/SUAutomaticUpdateAlert.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/uk.lproj/SUUpdateAlert.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/uk.lproj/SUUpdatePermissionPrompt.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/uk.lproj/Sparkle.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/SUAutomaticUpdateAlert.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/SUUpdateAlert.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/SUUpdatePermissionPrompt.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/Sparkle.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUAutomaticUpdateAlert.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUUpdateAlert.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUUpdatePermissionPrompt.nib [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/Sparkle.strings [new file with mode: 0644]
OSX/Sparkle.framework/Versions/A/Sparkle [new file with mode: 0755]
OSX/Sparkle.framework/Versions/Current [new symlink]
OSX/Updater.h [new file with mode: 0644]
OSX/Updater.m [new file with mode: 0644]
OSX/Updater.plist [new file with mode: 0644]
OSX/Updater.xib [new file with mode: 0644]
OSX/XScreenSaver.plist
OSX/XScreenSaverConfigSheet.h
OSX/XScreenSaverConfigSheet.m
OSX/XScreenSaverGLView.h
OSX/XScreenSaverGLView.m
OSX/XScreenSaverSubclass.m
OSX/XScreenSaverView.h
OSX/XScreenSaverView.m
OSX/bindist.rtf
OSX/config.sub [new file with mode: 0644]
OSX/iSaverRunner.plist
OSX/installer.sh
OSX/jwxyz.m
OSX/jwxyz.m.orig [new file with mode: 0644]
OSX/main.m
OSX/sign_update.rb [new file with mode: 0755]
OSX/sparkle_dsa_pub.pem [new file with mode: 0644]
OSX/update-info-plist.pl
OSX/updates.pl [new file with mode: 0755]
OSX/updates.xml [new file with mode: 0644]
README
config.guess [changed mode: 0755->0644]
config.h.in
config.sub
configure
configure.in
driver/Makefile.in
driver/XScreenSaver.ad.in
driver/XScreenSaver_ad.h
driver/demo-Gtk-conf.c
driver/xscreensaver-command.man
driver/xscreensaver-demo.man
driver/xscreensaver-getimage-file
driver/xscreensaver.man
hacks/Makefile.in
hacks/check-configs.pl
hacks/config/README
hacks/config/abstractile.xml
hacks/config/anemone.xml
hacks/config/anemotaxis.xml
hacks/config/ant.xml
hacks/config/antinspect.xml
hacks/config/antmaze.xml
hacks/config/antspotlight.xml
hacks/config/apollonian.xml
hacks/config/apple2.xml
hacks/config/atlantis.xml
hacks/config/attraction.xml
hacks/config/atunnel.xml
hacks/config/barcode.xml
hacks/config/blaster.xml
hacks/config/blinkbox.xml
hacks/config/blitspin.xml
hacks/config/blocktube.xml
hacks/config/boing.xml
hacks/config/bouboule.xml
hacks/config/bouncingcow.xml
hacks/config/boxed.xml
hacks/config/boxfit.xml
hacks/config/braid.xml
hacks/config/bsod.xml
hacks/config/bubble3d.xml
hacks/config/bubbles.xml
hacks/config/bumps.xml
hacks/config/cage.xml
hacks/config/carousel.xml
hacks/config/ccurve.xml
hacks/config/celtic.xml
hacks/config/circuit.xml
hacks/config/cloudlife.xml
hacks/config/companioncube.xml
hacks/config/compass.xml
hacks/config/coral.xml
hacks/config/crackberg.xml
hacks/config/critical.xml
hacks/config/crystal.xml
hacks/config/cube21.xml
hacks/config/cubenetic.xml
hacks/config/cubestorm.xml
hacks/config/cubicgrid.xml
hacks/config/cwaves.xml
hacks/config/cynosure.xml
hacks/config/dangerball.xml
hacks/config/decayscreen.xml
hacks/config/deco.xml
hacks/config/deluxe.xml
hacks/config/demon.xml
hacks/config/discrete.xml
hacks/config/distort.xml
hacks/config/dnalogo.xml
hacks/config/drift.xml
hacks/config/endgame.xml
hacks/config/engine.xml
hacks/config/epicycle.xml
hacks/config/eruption.xml
hacks/config/euler2d.xml
hacks/config/extrusion.xml
hacks/config/fadeplot.xml
hacks/config/fiberlamp.xml
hacks/config/fireworkx.xml
hacks/config/flag.xml
hacks/config/flame.xml
hacks/config/flipflop.xml
hacks/config/flipscreen3d.xml
hacks/config/fliptext.xml
hacks/config/flow.xml
hacks/config/fluidballs.xml
hacks/config/flurry.xml
hacks/config/flyingtoasters.xml
hacks/config/fontglide.xml
hacks/config/forest.xml
hacks/config/fuzzyflakes.xml
hacks/config/galaxy.xml
hacks/config/gears.xml
hacks/config/geodesic.xml
hacks/config/gflux.xml
hacks/config/glblur.xml
hacks/config/glcells.xml
hacks/config/gleidescope.xml
hacks/config/glforestfire.xml
hacks/config/glhanoi.xml
hacks/config/glknots.xml
hacks/config/glmatrix.xml
hacks/config/glplanet.xml
hacks/config/glschool.xml
hacks/config/glslideshow.xml
hacks/config/glsnake.xml
hacks/config/gltext.xml
hacks/config/goop.xml
hacks/config/grav.xml
hacks/config/greynetic.xml
hacks/config/halftone.xml
hacks/config/halo.xml
hacks/config/helix.xml
hacks/config/hexadrop.xml
hacks/config/hilbert.xml
hacks/config/hopalong.xml
hacks/config/hyperball.xml
hacks/config/hypercube.xml
hacks/config/hypertorus.xml
hacks/config/hypnowheel.xml
hacks/config/ifs.xml
hacks/config/imsmap.xml
hacks/config/interaggregate.xml
hacks/config/interference.xml
hacks/config/intermomentary.xml
hacks/config/jigglypuff.xml
hacks/config/jigsaw.xml
hacks/config/juggle.xml
hacks/config/juggler3d.xml
hacks/config/julia.xml
hacks/config/kaleidescope.xml
hacks/config/kaleidocycle.xml
hacks/config/klein.xml
hacks/config/kumppa.xml
hacks/config/lament.xml
hacks/config/laser.xml
hacks/config/lavalite.xml
hacks/config/lcdscrub.xml
hacks/config/lightning.xml
hacks/config/lisa.xml
hacks/config/lissie.xml
hacks/config/lmorph.xml
hacks/config/lockward.xml
hacks/config/loop.xml
hacks/config/m6502.xml
hacks/config/maze.xml
hacks/config/memscroller.xml
hacks/config/menger.xml
hacks/config/metaballs.xml
hacks/config/mirrorblob.xml
hacks/config/mismunch.xml
hacks/config/moebius.xml
hacks/config/moebiusgears.xml
hacks/config/moire.xml
hacks/config/moire2.xml
hacks/config/molecule.xml
hacks/config/morph3d.xml
hacks/config/mountain.xml
hacks/config/munch.xml
hacks/config/nerverot.xml
hacks/config/noof.xml
hacks/config/noseguy.xml
hacks/config/pacman.xml
hacks/config/pedal.xml
hacks/config/penetrate.xml
hacks/config/penrose.xml
hacks/config/petri.xml
hacks/config/phosphor.xml
hacks/config/photopile.xml
hacks/config/piecewise.xml
hacks/config/pinion.xml
hacks/config/pipes.xml
hacks/config/polyhedra.xml
hacks/config/polyominoes.xml
hacks/config/polytopes.xml
hacks/config/pong.xml
hacks/config/popsquares.xml
hacks/config/providence.xml
hacks/config/pulsar.xml
hacks/config/pyro.xml
hacks/config/qix.xml
hacks/config/quasicrystal.xml
hacks/config/queens.xml
hacks/config/rd-bomb.xml
hacks/config/rdbomb.xml
hacks/config/ripples.xml
hacks/config/rocks.xml
hacks/config/rorschach.xml
hacks/config/rotor.xml
hacks/config/rotzoomer.xml
hacks/config/rubik.xml
hacks/config/rubikblocks.xml
hacks/config/sballs.xml
hacks/config/shadebobs.xml
hacks/config/sierpinski.xml
hacks/config/sierpinski3d.xml
hacks/config/skytentacles.xml
hacks/config/slidescreen.xml
hacks/config/slip.xml
hacks/config/sonar.xml
hacks/config/speedmine.xml
hacks/config/sphere.xml
hacks/config/spheremonics.xml
hacks/config/spiral.xml
hacks/config/spotlight.xml
hacks/config/sproingies.xml
hacks/config/squiral.xml
hacks/config/stairs.xml
hacks/config/starfish.xml
hacks/config/starwars.xml
hacks/config/stonerview.xml
hacks/config/strange.xml
hacks/config/substrate.xml
hacks/config/superquadrics.xml
hacks/config/surfaces.xml
hacks/config/swirl.xml
hacks/config/t3d.xml
hacks/config/tangram.xml
hacks/config/thornbird.xml
hacks/config/timetunnel.xml
hacks/config/topblock.xml
hacks/config/triangle.xml
hacks/config/tronbit.xml
hacks/config/truchet.xml
hacks/config/twang.xml
hacks/config/unknownpleasures.xml
hacks/config/vermiculate.xml
hacks/config/vidwhacker.xml
hacks/config/vines.xml
hacks/config/voronoi.xml
hacks/config/wander.xml
hacks/config/webcollage.xml
hacks/config/whirlwindwarp.xml
hacks/config/whirlygig.xml
hacks/config/worm.xml
hacks/config/wormhole.xml
hacks/config/xanalogtv.xml
hacks/config/xflame.xml
hacks/config/xjack.xml
hacks/config/xlyap.xml
hacks/config/xmatrix.xml
hacks/config/xrayswarm.xml
hacks/config/xspirograph.xml
hacks/config/zoom.xml
hacks/glx/Makefile.in
hacks/glx/antinspect.man [deleted file]
hacks/glx/antmaze.man [deleted file]
hacks/glx/antspotlight.man [deleted file]
hacks/glx/atlantis.man [deleted file]
hacks/glx/atunnel.man [deleted file]
hacks/glx/blinkbox.man [deleted file]
hacks/glx/blocktube.man [deleted file]
hacks/glx/boing.man [deleted file]
hacks/glx/bouncingcow.man [deleted file]
hacks/glx/boxed.man [deleted file]
hacks/glx/bubble3d.man [deleted file]
hacks/glx/cage.man [deleted file]
hacks/glx/carousel.man [deleted file]
hacks/glx/circuit.man [deleted file]
hacks/glx/companioncube.man [deleted file]
hacks/glx/crackberg.man [deleted file]
hacks/glx/cube21.man [deleted file]
hacks/glx/cubenetic.man [deleted file]
hacks/glx/cubestorm.man [deleted file]
hacks/glx/cubicgrid.man [deleted file]
hacks/glx/dangerball.man [deleted file]
hacks/glx/dnalogo.c
hacks/glx/endgame.man [deleted file]
hacks/glx/engine.man [deleted file]
hacks/glx/extrusion.man [deleted file]
hacks/glx/flipflop.man [deleted file]
hacks/glx/flipscreen3d.man [deleted file]
hacks/glx/fliptext.man [deleted file]
hacks/glx/flurry.man [deleted file]
hacks/glx/flyingtoasters.man [deleted file]
hacks/glx/gears.man [deleted file]
hacks/glx/geodesic.man [deleted file]
hacks/glx/gflux.man [deleted file]
hacks/glx/glblur.man [deleted file]
hacks/glx/glcells.man [deleted file]
hacks/glx/gleidescope.man [deleted file]
hacks/glx/glhanoi.man [deleted file]
hacks/glx/glknots.man [deleted file]
hacks/glx/glmatrix.man [deleted file]
hacks/glx/glplanet.man [deleted file]
hacks/glx/glschool.man [deleted file]
hacks/glx/glslideshow.man [deleted file]
hacks/glx/glsnake.man [deleted file]
hacks/glx/gltext.man [deleted file]
hacks/glx/hilbert.man [deleted file]
hacks/glx/hypertorus.man [deleted file]
hacks/glx/hypnowheel.man [deleted file]
hacks/glx/jigglypuff.man [deleted file]
hacks/glx/jigsaw.man [deleted file]
hacks/glx/juggler3d.man [deleted file]
hacks/glx/kaleidocycle.man [deleted file]
hacks/glx/klein.man [deleted file]
hacks/glx/lament.man [deleted file]
hacks/glx/lavalite.man [deleted file]
hacks/glx/lockward.man [deleted file]
hacks/glx/menger.man [deleted file]
hacks/glx/mirrorblob.man [deleted file]
hacks/glx/moebius.man [deleted file]
hacks/glx/moebiusgears.man [deleted file]
hacks/glx/molecule.man [deleted file]
hacks/glx/morph3d.man [deleted file]
hacks/glx/noof.man [deleted file]
hacks/glx/photopile.man [deleted file]
hacks/glx/pinion.man [deleted file]
hacks/glx/pipes.man [deleted file]
hacks/glx/polyhedra.man [deleted file]
hacks/glx/polytopes.man [deleted file]
hacks/glx/providence.man [deleted file]
hacks/glx/pulsar.man [deleted file]
hacks/glx/quasicrystal.man [deleted file]
hacks/glx/queens.man [deleted file]
hacks/glx/rubik.man [deleted file]
hacks/glx/rubikblocks.man [deleted file]
hacks/glx/sballs.man [deleted file]
hacks/glx/sierpinski3d.man [deleted file]
hacks/glx/skytentacles.man [deleted file]
hacks/glx/sonar.man [deleted file]
hacks/glx/spheremonics.man [deleted file]
hacks/glx/sproingies.man [deleted file]
hacks/glx/stairs.man [deleted file]
hacks/glx/starwars.man [deleted file]
hacks/glx/stonerview.man [deleted file]
hacks/glx/superquadrics.man [deleted file]
hacks/glx/surfaces.man [deleted file]
hacks/glx/tangram.man [deleted file]
hacks/glx/timetunnel.man [deleted file]
hacks/glx/topblock.man [deleted file]
hacks/glx/tronbit.man [deleted file]
hacks/glx/unknownpleasures.man [deleted file]
hacks/glx/voronoi.man [deleted file]
hacks/glx/xscreensaver-gl-helper.man [deleted file]
hacks/webcollage
po/POTFILES.in
setup.com
utils/Makefile.in
utils/version.h
xscreensaver.spec
xscreensaver.xcodeproj/project.pbxproj

index ccbe5f8bac240442bb73f59cdc74bfd7607afcee..aa233b8a504991dcbdd4d49d4b55a21647b3df2a 100644 (file)
@@ -82,7 +82,7 @@ tar::
     cd $$d ; done ;                                                        \
   echo creating tar file $$ADIR$$NAME.tar.gz... ;                          \
   export COPYFILE_DISABLE=true ;                                           \
     cd $$d ; done ;                                                        \
   echo creating tar file $$ADIR$$NAME.tar.gz... ;                          \
   export COPYFILE_DISABLE=true ;                                           \
-  GZIP="-9v" $(TAR) -vchzf $$ADIR$$NAME.tar.gz                             \
+  GZIP="-9v" $(TAR) -vczf $$ADIR$$NAME.tar.gz                              \
     `echo $(TARFILES) $$FILES | sed "s|^|$$NAME/|g; s| | $$NAME/|g" ` ;            \
   rm $$NAME
 
     `echo $(TARFILES) $$FILES | sed "s|^|$$NAME/|g; s| | $$NAME/|g" ` ;            \
   rm $$NAME
 
@@ -94,14 +94,9 @@ tar::
 # out options we don't use.  Odds are good that this will fail with any version
 # of autoconf other than the ones I've tried (2.12 and 2.13.)
 #
 # out options we don't use.  Odds are good that this will fail with any version
 # of autoconf other than the ones I've tried (2.12 and 2.13.)
 #
-# NOTE: we now require autoconf 2.63 or earlier, because later versions have
-# the "Expanded-Before-Required" change and I can't make any sense of it.
-# If someone wants to send me a patch to make configure.in work with 2.64
-# or later, feel free.  Personally, I can't be bothered.
-#
 configure::
 configure::
-       autoconf263
-       autoheader263
+       autoconf
+       autoheader
        @TMP=configure.$$$$ ;                                                \
        echo "munging configure's --help message..." ;                       \
        ( perl -e '                                                          \
        @TMP=configure.$$$$ ;                                                \
        echo "munging configure's --help message..." ;                       \
        ( perl -e '                                                          \
index 986e8edde0b82104450ded662b120de1056b67b2..22209020444c0d5c595c88d5649dc2ff1aa4d81d 100644 (file)
@@ -1,16 +1,16 @@
 /* xscreensaver, Copyright (c) 2006-2013 Jamie Zawinski <jwz@jwz.org>
 /* xscreensaver, Copyright (c) 2006-2013 Jamie Zawinski <jwz@jwz.org>
-*
-* Permission to use, copy, modify, distribute, and sell this software and its
-* documentation for any purpose is hereby granted without fee, provided that
-* the above copyright notice appear in all copies and that both that
-* copyright notice and this permission notice appear in supporting
-* documentation.  No representations are made about the suitability of this
-* software for any purpose.  It is provided "as is" without express or 
-* implied warranty.
-*
-* This is a subclass of NSSlider that is flipped horizontally:
-* the high value is on the left and the low value is on the right.
-*/
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation.  No representations are made about the suitability of this
+ * software for any purpose.  It is provided "as is" without express or 
+ * implied warranty.
+ *
+ * This is a subclass of NSSlider that is flipped horizontally:
+ * the high value is on the left and the low value is on the right.
+ */
 
 #ifdef USE_IPHONE
 # import <UIKit/UIKit.h>
 
 #ifdef USE_IPHONE
 # import <UIKit/UIKit.h>
index 605d6e2dea70da61c3c1004243a5fa1caca82528..642a3e4f73297d08a1fe74acc03ae3c9998db371 100644 (file)
@@ -1,16 +1,16 @@
 /* xscreensaver, Copyright (c) 2006-2013 Jamie Zawinski <jwz@jwz.org>
 /* xscreensaver, Copyright (c) 2006-2013 Jamie Zawinski <jwz@jwz.org>
-*
-* Permission to use, copy, modify, distribute, and sell this software and its
-* documentation for any purpose is hereby granted without fee, provided that
-* the above copyright notice appear in all copies and that both that
-* copyright notice and this permission notice appear in supporting
-* documentation.  No representations are made about the suitability of this
-* software for any purpose.  It is provided "as is" without express or 
-* implied warranty.
-*
-* This is a subclass of NSSlider that is flipped horizontally:
-* the high value is on the left and the low value is on the right.
-*/
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation.  No representations are made about the suitability of this
+ * software for any purpose.  It is provided "as is" without express or 
+ * implied warranty.
+ *
+ * This is a subclass of NSSlider that is flipped horizontally:
+ * the high value is on the left and the low value is on the right.
+ */
 
 #import "InvertedSlider.h"
 
 
 #import "InvertedSlider.h"
 
index 545f45eea8572228b1b98c1b567d8f11e5581029..a4dff53c5f88313bfddf43d7acb84ce5a2d09a70 100644 (file)
@@ -7,6 +7,8 @@ CERT       = 'Jamie Zawinski'
 CERT       = 'iPhone Developer: Jamie Zawinski (Y5M82TL69N)'
 THUMBDIR   = $(HOME)/www/xscreensaver/screenshots/
 PKGID     = org.jwz.xscreensaver
 CERT       = 'iPhone Developer: Jamie Zawinski (Y5M82TL69N)'
 THUMBDIR   = $(HOME)/www/xscreensaver/screenshots/
 PKGID     = org.jwz.xscreensaver
+SETFILE    = /Applications/Xcode.app/Contents/Developer/Tools/SetFile
+SETICON    = /usr/local/bin/seticon
 
 default: release
 all: debug release
 
 default: release
 all: debug release
@@ -19,8 +21,9 @@ distclean:
        -rm -f config.status config.cache config.log \
          *.bak *.rej TAGS *~ "#"*
        -rm -rf autom4te*.cache
        -rm -f config.status config.cache config.log \
          *.bak *.rej TAGS *~ "#"*
        -rm -rf autom4te*.cache
-       -rm -rf build
+       -rm -rf build Sparkle.framework
 
 
+distdepend:: Sparkle.framework
 distdepend:: update_plist_version
 
 debug: distdepend
 distdepend:: update_plist_version
 
 debug: distdepend
@@ -33,10 +36,13 @@ release:: check_versions
 release:: update_thumbs
 release:: sign
 
 release:: update_thumbs
 release:: sign
 
+Sparkle.framework:
+       unzip ../archive/Sparkle.framework-2013-12-04.zip
+
 sign:
        @for f in build/Release/*.app/Contents/*/*.saver \
                  build/Release/*.{saver,app} ; do \
 sign:
        @for f in build/Release/*.app/Contents/*/*.saver \
                  build/Release/*.{saver,app} ; do \
-         codesign -vfs $(CERT) $$f ; \
+         codesign --deep -vfs $(CERT) $$f ; \
         done
 
 check_versions:
         done
 
 check_versions:
@@ -72,9 +78,9 @@ ios-function-table.m::
 echo_tarfiles:
        @echo `find . \
          \( \( -name '.??*' -o -name build -o -name CVS -o -name '*~*' \
 echo_tarfiles:
        @echo `find . \
          \( \( -name '.??*' -o -name build -o -name CVS -o -name '*~*' \
-            -o -name 'jwz.*' \) \
+            -o -name 'jwz.*' -o -name 'Screen Savers' \) \
             -prune \) \
             -prune \) \
-         -o -type f -print \
+         -o \( -type f -o -type l \) -print \
        | sed 's@^\./@@' \
        | sort`
 
        | sed 's@^\./@@' \
        | sort`
 
@@ -83,7 +89,7 @@ update_plist_version:
   SRC=../utils/version.h ;                                                   \
   V=`sed -n 's/[^0-9]*\([0-9]\.[0-9][^. ]*\).*/\1/p' $$SRC` ;                \
   T=/tmp/xs.$$$$ ;                                                           \
   SRC=../utils/version.h ;                                                   \
   V=`sed -n 's/[^0-9]*\([0-9]\.[0-9][^. ]*\).*/\1/p' $$SRC` ;                \
   T=/tmp/xs.$$$$ ;                                                           \
-  for S in XScreenSaver.plist SaverRunner.plist iSaverRunner.plist ; do              \
+  for S in *.plist ; do                                                              \
     /bin/echo -n "Updating version number in $$S to \"$$V\"... " ;           \
     KEYS="CFBundleVersion|CFBundleShortVersionString|CFBundleLongVersionString|CFBundleGetInfoString|NSHumanReadableCopyright" ; \
     perl -0777 -pne                                                          \
     /bin/echo -n "Updating version number in $$S to \"$$V\"... " ;           \
     KEYS="CFBundleVersion|CFBundleShortVersionString|CFBundleLongVersionString|CFBundleGetInfoString|NSHumanReadableCopyright" ; \
     perl -0777 -pne                                                          \
@@ -99,6 +105,32 @@ update_plist_version:
   rm $$T
 
 
   rm $$T
 
 
+updates.xml::
+       ./updates.pl xscreensaver ../README ../archive ~/www/xscreensaver
+       @$(MAKE) test_sig
+
+test_sig::
+       @                                                                   \
+  U=../version.h ;                                                         \
+  V=`sed -n 's/[^0-9]*\([0-9]\.[0-9][^. ;]*\).*/\1/p' < $$U` ;             \
+  V=`echo $$V | sed 's/\.//g'` ;                                           \
+  ZIP="../archive/DaliClock-$$V.dmg" ;                                     \
+  SIG=`sed -n 's/^.*dsaSignature="\(.*\)".*/\1/p' updates.xml` ;           \
+  PUB="sparkle_dsa_pub.pem" ;                                              \
+  NN="t.$$$$" ;                                                                    \
+  SIGB=/tmp/$$NN.sig ;                                                     \
+  HASH=/tmp/$$NN.hash ;                                                            \
+  rm -f "$$SIGB" "$$HASH" ;                                                \
+  echo "$$SIG " | base64 -D  > "$$SIGB" ;                                  \
+  set -e ;                                                                 \
+  for OPENSSL in /usr/bin/openssl /opt/local/bin/openssl ; do              \
+    $$OPENSSL dgst -sha1 -binary  < "$$ZIP"  > "$$HASH" ;                  \
+    /bin/echo -n "$$OPENSSL    `$$OPENSSL version`:    " ;                 \
+    $$OPENSSL dgst -dss1 -verify "$$PUB" -signature "$$SIGB" "$$HASH" ;            \
+  done ;                                                                   \
+  rm -f "$$SIGB" "$$HASH" ;                                                \
+
+
 build/Release/installer.pkg: installer.rtf installer.xml installer.sh installer.png ../utils/version.h
        @\
   set -e ;                                                             \
 build/Release/installer.pkg: installer.rtf installer.xml installer.sh installer.png ../utils/version.h
        @\
   set -e ;                                                             \
@@ -171,8 +203,8 @@ dmg:: distdepend check_versions build/Release/installer.pkg
     if [ "$$ff" = "$$r" ]; then ok=no ; fi ;                                 \
    done ;                                                                    \
    if [ "$$ok" = yes ]; then                                                 \
     if [ "$$ff" = "$$r" ]; then ok=no ; fi ;                                 \
    done ;                                                                    \
    if [ "$$ok" = yes ]; then                                                 \
-    echo + cp -pr "$$f" "$$DST/" ;                                           \
-           cp -pr "$$f" "$$DST/" ;                                           \
+    echo + cp -pR "$$f" "$$DST/" ;                                           \
+           cp -pR "$$f" "$$DST/" ;                                           \
    else                                                                              \
     echo skipping "$$f" ;                                                    \
    fi ;                                                                              \
    else                                                                              \
     echo skipping "$$f" ;                                                    \
    fi ;                                                                              \
@@ -183,12 +215,13 @@ dmg:: distdepend check_versions build/Release/installer.pkg
   cp -p bindist-DS_Store "$$STAGE/.DS_Store" ;                               \
   cp -p bindist.webloc "$$STAGE/Get the iPhone:iPad Version.webloc" ;        \
   cp -p XScreenSaverDMG.icns "$$STAGE/.VolumeIcon.icns" ;                    \
   cp -p bindist-DS_Store "$$STAGE/.DS_Store" ;                               \
   cp -p bindist.webloc "$$STAGE/Get the iPhone:iPad Version.webloc" ;        \
   cp -p XScreenSaverDMG.icns "$$STAGE/.VolumeIcon.icns" ;                    \
-  /Developer/Tools/SetFile -a C "$$STAGE" ;                                  \
-  /Developer/Tools/SetFile -a E "$$STAGE"/*.{rtf,pkg,webloc} ;               \
-  seticon -d ../../xdaliclock/OSX/daliclockSaver.icns "$$DST/DaliClock.saver";\
-  seticon -d XScreenSaverFolder.icns "$$DST" ;                               \
-  seticon -d XScreenSaverWebloc.icns "$$STAGE"/*.webloc ;                    \
-  seticon -d XScreenSaverPkg.icns "$$STAGE"/*.pkg ;                          \
+  ${SETFILE} -a C "$$STAGE" ;                                                \
+  ${SETFILE} -a E "$$STAGE"/*.{rtf,pkg,webloc} ;                             \
+  $(SETICON) -d ../../xdaliclock/OSX/daliclockSaver.icns                     \
+               "$$DST/DaliClock.saver" ;                                     \
+  $(SETICON) -d XScreenSaverFolder.icns "$$DST" ;                            \
+  $(SETICON) -d XScreenSaverWebloc.icns "$$STAGE"/*.webloc ;                 \
+  $(SETICON) -d XScreenSaverPkg.icns "$$STAGE"/*.pkg ;                       \
   hdiutil makehybrid -quiet -ov -hfs -hfs-volume-name "$$VOLNAME"            \
     -hfs-openfolder "$$STAGE" "$$STAGE" -o "$$TMPDMG" ;                              \
   rm -rf "$$STAGE" ;                                                         \
   hdiutil makehybrid -quiet -ov -hfs -hfs-volume-name "$$VOLNAME"            \
     -hfs-openfolder "$$STAGE" "$$STAGE" -o "$$TMPDMG" ;                              \
   rm -rf "$$STAGE" ;                                                         \
index 069637400b03534ee473067ea092aab1291693cb..492d4eaf439443c2855e23cfc14df57525ce85ae 100644 (file)
@@ -1,4 +1,4 @@
-/* xscreensaver, Copyright (c) 2006-2012 Jamie Zawinski <jwz@jwz.org>
+/* xscreensaver, Copyright (c) 2006-2013 Jamie Zawinski <jwz@jwz.org>
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * documentation for any purpose is hereby granted without fee, provided that
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * documentation for any purpose is hereby granted without fee, provided that
 @interface PrefsReader : NSObject
 {
   NSString *saver_name;
 @interface PrefsReader : NSObject
 {
   NSString *saver_name;
+
+  NSUserDefaults *userDefaults;   // this is actually a 'ScreenSaverDefaults'
   NSUserDefaultsController *userDefaultsController;
   NSUserDefaultsController *userDefaultsController;
-  NSUserDefaults *userDefaults;  // this is actually a 'ScreenSaverDefaults'
-  NSDictionary *defaultOptions;  // Hardcoded defaults before any changes.
+
+  NSUserDefaults *globalDefaults; // for prefs shared by all xscreensavers.
+  NSUserDefaultsController *globalDefaultsController;
+
+  NSDictionary *defaultOptions;   // Hardcoded defaults before any changes.
 }
 
 - (id) initWithName: (NSString *) name
 }
 
 - (id) initWithName: (NSString *) name
@@ -40,6 +45,7 @@
            defaults: (const char * const *) defs;
 
 - (NSUserDefaultsController *) userDefaultsController;
            defaults: (const char * const *) defs;
 
 - (NSUserDefaultsController *) userDefaultsController;
+- (NSUserDefaultsController *) globalDefaultsController;
 - (NSDictionary *) defaultOptions;
 
 - (char *) getStringResource:  (const char *) name;
 - (NSDictionary *) defaultOptions;
 
 - (char *) getStringResource:  (const char *) name;
index 4f42fa90e9f3b8d289d73aec242d692597d61c40..cf1698ece73a964928f56bc7510617fa2f89bf6b 100644 (file)
 #endif
 
 #import "PrefsReader.h"
 #endif
 
 #import "PrefsReader.h"
+#import "Updater.h"
 #import "screenhackI.h"
 
 #import "screenhackI.h"
 
+#ifndef USE_IPHONE
+
+
+/* GlobalDefaults is an NSUserDefaults implementation that writes into
+   the preferences key we provide, instead of whatever the default would
+   be for this app.  We do this by invoking the Core Foundation preferences
+   routines directly, while presenting the same API as NSUserDefaults.
+
+   We need this so that global prefs will go into the file
+   Library/Preferences/org.jwz.xscreensaver.updater.plist instead of into
+   Library/Preferences/ByHost/org.jwz.xscreensaver.Maze.XXXXX.plist
+   with the per-saver prefs.
+
+   The ScreenSaverDefaults class *almost* does this, but it always writes
+   into the ByHost subdirectory, which means it's not readable by an app
+   that tries to access it with a plain old +standardUserDefaults.
+ */
+@interface GlobalDefaults : NSUserDefaults
+{
+  NSString *domain;
+  NSDictionary *defaults;
+}
+@end
+
+@implementation GlobalDefaults
+- (id) initWithDomain:(NSString *)_domain
+{
+  self = [super init];
+  domain = [_domain retain];
+  return self;
+}
+
+- (void) dealloc
+{
+  [domain release];
+  [defaults release];
+  [super dealloc];
+}
+
+- (void)registerDefaults:(NSDictionary *)dict
+{
+  defaults = [dict retain];
+}
+
+- (id)objectForKey:(NSString *)key
+{
+  NSObject *obj = (NSObject *)
+    CFPreferencesCopyAppValue ((CFStringRef) key, (CFStringRef) domain);
+  if (!obj && defaults)
+    obj = [defaults objectForKey:key];
+  return obj;
+}
+
+- (void)setObject:(id)value forKey:(NSString *)key
+{
+  if (value && defaults) {
+    // If the value is the default, then remove it instead.
+    NSObject *def = [defaults objectForKey:key];
+    if (def && [def isEqual:value])
+      value = NULL;
+  }
+  CFPreferencesSetAppValue ((CFStringRef) key,
+                            (CFPropertyListRef) value,
+                            (CFStringRef) domain);
+}
+
+
+- (BOOL)synchronize
+{
+  return CFPreferencesAppSynchronize ((CFStringRef) domain);
+}
+
+
+// Make sure these all call our objectForKey.
+// Might not be necessary, but safe.
+
+- (NSString *)stringForKey:(NSString *)key
+{
+  return [[self objectForKey:key] stringValue];
+}
+
+- (NSArray *)arrayForKey:(NSString *)key
+{
+  return (NSArray *) [self objectForKey:key];
+}
+
+- (NSDictionary *)dictionaryForKey:(NSString *)key
+{
+  return (NSDictionary *) [self objectForKey:key];
+}
+
+- (NSData *)dataForKey:(NSString *)key
+{
+  return (NSData *) [self objectForKey:key];
+}
+
+- (NSArray *)stringArrayForKey:(NSString *)key
+{
+  return (NSArray *) [self objectForKey:key];
+}
+
+- (NSInteger)integerForKey:(NSString *)key
+{
+  return [[self objectForKey:key] integerValue];
+}
+
+- (float)floatForKey:(NSString *)key
+{
+  return [[self objectForKey:key] floatValue];
+}
+
+- (double)doubleForKey:(NSString *)key
+{
+  return [[self objectForKey:key] doubleValue];
+}
+
+- (BOOL)boolForKey:(NSString *)key
+{
+  return [[self objectForKey:key] integerValue];
+}
+
+// Make sure these all call our setObject.
+// Might not be necessary, but safe.
+
+- (void)removeObjectForKey:(NSString *)key
+{
+  [self setObject:NULL forKey:key];
+}
+
+- (void)setInteger:(NSInteger)value forKey:(NSString *)key
+{
+  [self setObject:[NSNumber numberWithInteger:value] forKey:key];
+}
+
+- (void)setFloat:(float)value forKey:(NSString *)key
+{
+  [self setObject:[NSNumber numberWithFloat:value] forKey:key];
+}
+
+- (void)setDouble:(double)value forKey:(NSString *)key
+{
+  [self setObject:[NSNumber numberWithDouble:value] forKey:key];
+}
+
+- (void)setBool:(BOOL)value forKey:(NSString *)key
+{
+  [self setObject:[NSNumber numberWithBool:value] forKey:key];
+}
+@end
+
+
+#endif // !USE_IPHONE
+
+
 @implementation PrefsReader
 
 /* Normally we read resources by looking up "KEY" in the database
 @implementation PrefsReader
 
 /* Normally we read resources by looking up "KEY" in the database
    instead, so transform keys to "SAVERNAME.KEY".
 
    NOTE: This is duplicated in XScreenSaverConfigSheet.m, cause I suck.
    instead, so transform keys to "SAVERNAME.KEY".
 
    NOTE: This is duplicated in XScreenSaverConfigSheet.m, cause I suck.
-*/
+ */
 - (NSString *) makeKey:(NSString *)key
 {
 # ifdef USE_IPHONE
 - (NSString *) makeKey:(NSString *)key
 {
 # ifdef USE_IPHONE
   // Store the contents of 'defaults' into the real preferences database.
   NSDictionary *defsdict = [self defaultsToDict:defs];
   [userDefaults registerDefaults:defsdict];
   // Store the contents of 'defaults' into the real preferences database.
   NSDictionary *defsdict = [self defaultsToDict:defs];
   [userDefaults registerDefaults:defsdict];
+  [globalDefaults registerDefaults:UPDATER_DEFAULTS];
 
   // Save a copy of the default options, since iOS doesn't have
   // [userDefaultsController initialValues].
 
   // Save a copy of the default options, since iOS doesn't have
   // [userDefaultsController initialValues].
   userDefaultsController = 
     [[NSUserDefaultsController alloc] initWithDefaults:userDefaults
                                       initialValues:defsdict];
   userDefaultsController = 
     [[NSUserDefaultsController alloc] initWithDefaults:userDefaults
                                       initialValues:defsdict];
+  globalDefaultsController = 
+    [[NSUserDefaultsController alloc] initWithDefaults:globalDefaults
+                                      initialValues:defsdict];
 # else  // USE_IPHONE
 # else  // USE_IPHONE
-  userDefaultsController = userDefaults;
+  userDefaultsController   = userDefaults;
+  globalDefaultsController = userDefaults;
 # endif // USE_IPHONE
 
   NSDictionary *optsdict = [NSMutableDictionary dictionaryWithCapacity:20];
 # endif // USE_IPHONE
 
   NSDictionary *optsdict = [NSMutableDictionary dictionaryWithCapacity:20];
 
 #if 0
   // Dump the entire resource database.
 
 #if 0
   // Dump the entire resource database.
+  NSLog(@"userDefaults:");
   NSDictionary *d = [userDefaults dictionaryRepresentation];
   for (NSObject *key in [[d allKeys]
                           sortedArrayUsingSelector:@selector(compare:)]) {
     NSObject *val = [d objectForKey:key];
     NSLog (@"%@ = %@", key, val);
   }
   NSDictionary *d = [userDefaults dictionaryRepresentation];
   for (NSObject *key in [[d allKeys]
                           sortedArrayUsingSelector:@selector(compare:)]) {
     NSObject *val = [d objectForKey:key];
     NSLog (@"%@ = %@", key, val);
   }
+  NSLog(@"globalDefaults:");
+  d = [globalDefaults dictionaryRepresentation];
+  for (NSObject *key in [[d allKeys]
+                          sortedArrayUsingSelector:@selector(compare:)]) {
+    NSObject *val = [d objectForKey:key];
+    NSLog (@"%@ = %@", key, val);
+  }
 #endif
 
 }
 #endif
 
 }
   return userDefaultsController;
 }
 
   return userDefaultsController;
 }
 
+- (NSUserDefaultsController *) globalDefaultsController
+{
+  NSAssert(globalDefaultsController, @"globalDefaultsController uninitialized");
+  return globalDefaultsController;
+}
+
 - (NSDictionary *) defaultOptions
 {
 - (NSDictionary *) defaultOptions
 {
-  NSAssert(defaultOptions, @"userDefaultsController uninitialized");
+  NSAssert(defaultOptions, @"defaultOptions uninitialized");
   return defaultOptions;
 }
 
 
 - (NSObject *) getObjectResource: (const char *) name
 {
   return defaultOptions;
 }
 
 
 - (NSObject *) getObjectResource: (const char *) name
 {
-  while (1) {
-    NSString *key = [self makeCKey:name];
-    NSObject *obj = [userDefaults objectForKey:key];
-    if (obj)
-      return obj;
-
-    // If key is "foo.bar.baz", check "foo.bar.baz", "bar.baz", and "baz".
-    //
-    const char *dot = strchr (name, '.');
-    if (dot && dot[1])
-      name = dot + 1;
-    else
-      return nil;
+  // First look in userDefaults, then in globalDefaults.
+  for (int globalp = 0; globalp <= 1; globalp++) {
+    const char *name2 = name;
+    while (1) {
+      NSString *key = [self makeCKey:name2];
+      NSObject *obj = [(globalp ? globalDefaults : userDefaults)
+                        objectForKey:key];
+      if (obj)
+        return obj;
+
+      // If key is "foo.bar.baz", check "foo.bar.baz", "bar.baz", and "baz".
+      //
+      const char *dot = strchr (name2, '.');
+      if (dot && dot[1])
+        name2 = dot + 1;
+      else
+        break;
+    }
   }
   }
+  return NULL;
 }
 
 
 }
 
 
 
 # ifndef USE_IPHONE
   userDefaults = [ScreenSaverDefaults defaultsForModuleWithName:name];
 
 # ifndef USE_IPHONE
   userDefaults = [ScreenSaverDefaults defaultsForModuleWithName:name];
+  globalDefaults = [[[GlobalDefaults alloc] initWithDomain:@UPDATER_DOMAIN]
+                     retain];
 # else  // USE_IPHONE
   userDefaults = [NSUserDefaults standardUserDefaults];
 # else  // USE_IPHONE
   userDefaults = [NSUserDefaults standardUserDefaults];
+  globalDefaults = userDefaults;
 # endif // USE_IPHONE
 
   // Convert "org.jwz.xscreensaver.NAME" to just "NAME".
 # endif // USE_IPHONE
 
   // Convert "org.jwz.xscreensaver.NAME" to just "NAME".
 {
   [saver_name release];
   [userDefaultsController release];
 {
   [saver_name release];
   [userDefaultsController release];
+  [globalDefaultsController release];
   [super dealloc];
 }
 
   [super dealloc];
 }
 
index 3b770b5a6079b52974596e689c1624d5f582fe84..4481bfce0af93e7be4707e5a5cbff390da10d470 100644 (file)
@@ -1103,6 +1103,8 @@ FAIL:
               [NSString stringWithFormat:@"XScreenSaverWindow%d", i]];
     [win setFrameUsingName:[win frameAutosaveName]];
     [a addObject: win];
               [NSString stringWithFormat:@"XScreenSaverWindow%d", i]];
     [win setFrameUsingName:[win frameAutosaveName]];
     [a addObject: win];
+    // This prevents clicks from being seen by savers.
+    // [win setMovableByWindowBackground:YES];
   }
 # else  // USE_IPHONE
 
   }
 # else  // USE_IPHONE
 
@@ -1213,7 +1215,7 @@ FAIL:
 #ifndef USE_IPHONE
 
 /* When the window closes, exit (even if prefs still open.)
 #ifndef USE_IPHONE
 
 /* When the window closes, exit (even if prefs still open.)
-*/
+ */
 - (BOOL) applicationShouldTerminateAfterLastWindowClosed: (NSApplication *) n
 {
   return YES;
 - (BOOL) applicationShouldTerminateAfterLastWindowClosed: (NSApplication *) n
 {
   return YES;
index 0bfad1482fb36713c4c037182bef0e432c5531b5..173742702734df0f6edcb46e80e36ff787b63d4a 100644 (file)
@@ -7,7 +7,7 @@
        <key>CFBundleExecutable</key>
        <string>${EXECUTABLE_NAME}</string>
        <key>CFBundleGetInfoString</key>
        <key>CFBundleExecutable</key>
        <string>${EXECUTABLE_NAME}</string>
        <key>CFBundleGetInfoString</key>
-       <string>5.23</string>
+       <string>5.24</string>
        <key>CFBundleIconFile</key>
        <string>SaverRunner</string>
        <key>CFBundleIdentifier</key>
        <key>CFBundleIconFile</key>
        <string>SaverRunner</string>
        <key>CFBundleIdentifier</key>
        <key>CFBundleInfoDictionaryVersion</key>
        <string>6.0</string>
        <key>CFBundleLongVersionString</key>
        <key>CFBundleInfoDictionaryVersion</key>
        <string>6.0</string>
        <key>CFBundleLongVersionString</key>
-       <string>5.23</string>
+       <string>5.24</string>
        <key>CFBundleName</key>
        <string>${PRODUCT_NAME}</string>
        <key>CFBundlePackageType</key>
        <string>APPL</string>
        <key>CFBundleShortVersionString</key>
        <key>CFBundleName</key>
        <string>${PRODUCT_NAME}</string>
        <key>CFBundlePackageType</key>
        <string>APPL</string>
        <key>CFBundleShortVersionString</key>
-       <string>5.23</string>
+       <string>5.24</string>
        <key>CFBundleSignature</key>
        <string>????</string>
        <key>CFBundleVersion</key>
        <key>CFBundleSignature</key>
        <string>????</string>
        <key>CFBundleVersion</key>
-       <string>5.23</string>
+       <string>5.24</string>
        <key>LSMinimumSystemVersion</key>
        <key>LSMinimumSystemVersion</key>
-       <string>10.4</string>
+       <string>${MACOSX_DEPLOYMENT_TARGET}</string>
        <key>NSHumanReadableCopyright</key>
        <key>NSHumanReadableCopyright</key>
-       <string>5.23</string>
+       <string>5.24</string>
        <key>NSMainNibFile</key>
        <string>SaverRunner</string>
        <key>NSPrincipalClass</key>
        <key>NSMainNibFile</key>
        <string>SaverRunner</string>
        <key>NSPrincipalClass</key>
diff --git a/OSX/Sparkle.framework/Headers b/OSX/Sparkle.framework/Headers
new file mode 120000 (symlink)
index 0000000..a177d2a
--- /dev/null
@@ -0,0 +1 @@
+Versions/Current/Headers
\ No newline at end of file
diff --git a/OSX/Sparkle.framework/Resources b/OSX/Sparkle.framework/Resources
new file mode 120000 (symlink)
index 0000000..953ee36
--- /dev/null
@@ -0,0 +1 @@
+Versions/Current/Resources
\ No newline at end of file
diff --git a/OSX/Sparkle.framework/Sparkle b/OSX/Sparkle.framework/Sparkle
new file mode 120000 (symlink)
index 0000000..b2c5273
--- /dev/null
@@ -0,0 +1 @@
+Versions/Current/Sparkle
\ No newline at end of file
diff --git a/OSX/Sparkle.framework/Versions/A/Headers/SUAppcast.h b/OSX/Sparkle.framework/Versions/A/Headers/SUAppcast.h
new file mode 100755 (executable)
index 0000000..5a60d2f
--- /dev/null
@@ -0,0 +1,36 @@
+//
+//  SUAppcast.h
+//  Sparkle
+//
+//  Created by Andy Matuschak on 3/12/06.
+//  Copyright 2006 Andy Matuschak. All rights reserved.
+//
+
+#ifndef SUAPPCAST_H
+#define SUAPPCAST_H
+
+@class SUAppcastItem;
+@interface SUAppcast : NSObject
+{
+@private
+       NSArray *items;
+       NSString *userAgentString;
+       id delegate;
+       NSString *downloadFilename;
+       NSURLDownload *download;
+}
+
+- (void)fetchAppcastFromURL:(NSURL *)url;
+- (void)setDelegate:delegate;
+- (void)setUserAgentString:(NSString *)userAgentString;
+
+- (NSArray *)items;
+
+@end
+
+@interface NSObject (SUAppcastDelegate)
+- (void)appcastDidFinishLoading:(SUAppcast *)appcast;
+- (void)appcast:(SUAppcast *)appcast failedToLoadWithError:(NSError *)error;
+@end
+
+#endif
diff --git a/OSX/Sparkle.framework/Versions/A/Headers/SUAppcastItem.h b/OSX/Sparkle.framework/Versions/A/Headers/SUAppcastItem.h
new file mode 100755 (executable)
index 0000000..d6f9c64
--- /dev/null
@@ -0,0 +1,60 @@
+//
+//  SUAppcastItem.h
+//  Sparkle
+//
+//  Created by Andy Matuschak on 3/12/06.
+//  Copyright 2006 Andy Matuschak. All rights reserved.
+//
+
+#ifndef SUAPPCASTITEM_H
+#define SUAPPCASTITEM_H
+
+@interface SUAppcastItem : NSObject
+{
+@private
+       NSString *title;
+       NSDate *date;
+       NSString *itemDescription;
+       
+       NSURL *releaseNotesURL;
+       
+       NSString *DSASignature; 
+       NSString *minimumSystemVersion;
+    NSString *maximumSystemVersion;
+       
+       NSURL *fileURL;
+       NSString *versionString;
+       NSString *displayVersionString;
+
+       NSDictionary *deltaUpdates;
+
+       NSDictionary *propertiesDictionary;
+       
+       NSURL *infoURL; // UK 2007-08-31
+}
+
+// Initializes with data from a dictionary provided by the RSS class.
+- initWithDictionary:(NSDictionary *)dict;
+- initWithDictionary:(NSDictionary *)dict failureReason:(NSString**)error;
+
+- (NSString *)title;
+- (NSString *)versionString;
+- (NSString *)displayVersionString;
+- (NSDate *)date;
+- (NSString *)itemDescription;
+- (NSURL *)releaseNotesURL;
+- (NSURL *)fileURL;
+- (NSString *)DSASignature;
+- (NSString *)minimumSystemVersion;
+- (NSString *)maximumSystemVersion;
+- (NSDictionary *)deltaUpdates;
+- (BOOL)isDeltaUpdate;
+
+// Returns the dictionary provided in initWithDictionary; this might be useful later for extensions.
+- (NSDictionary *)propertiesDictionary;
+
+- (NSURL *)infoURL;                                            // UK 2007-08-31
+
+@end
+
+#endif
diff --git a/OSX/Sparkle.framework/Versions/A/Headers/SUUpdater.h b/OSX/Sparkle.framework/Versions/A/Headers/SUUpdater.h
new file mode 100755 (executable)
index 0000000..cd79566
--- /dev/null
@@ -0,0 +1,161 @@
+//
+//  SUUpdater.h
+//  Sparkle
+//
+//  Created by Andy Matuschak on 1/4/06.
+//  Copyright 2006 Andy Matuschak. All rights reserved.
+//
+
+#ifndef SUUPDATER_H
+#define SUUPDATER_H
+
+#import "SUVersionComparisonProtocol.h"
+#import "SUVersionDisplayProtocol.h"
+
+@class SUUpdateDriver, SUAppcastItem, SUHost, SUAppcast;
+
+@interface SUUpdater : NSObject
+{
+@private
+       NSTimer *checkTimer;
+       SUUpdateDriver *driver;
+
+       NSString *customUserAgentString;
+       SUHost *host;
+       IBOutlet id delegate;
+}
+
++ (SUUpdater *)sharedUpdater;
++ (SUUpdater *)updaterForBundle:(NSBundle *)bundle;
+- (id)initForBundle:(NSBundle *)bundle;
+
+- (NSBundle *)hostBundle;
+
+- (void)setDelegate:(id)delegate;
+- (id)delegate;
+
+- (void)setAutomaticallyChecksForUpdates:(BOOL)automaticallyChecks;
+- (BOOL)automaticallyChecksForUpdates;
+
+- (void)setUpdateCheckInterval:(NSTimeInterval)interval;
+- (NSTimeInterval)updateCheckInterval;
+
+- (void)setFeedURL:(NSURL *)feedURL;
+- (NSURL *)feedURL;    // *** MUST BE CALLED ON MAIN THREAD ***
+
+- (void)setUserAgentString:(NSString *)userAgent;
+- (NSString *)userAgentString;
+
+- (void)setSendsSystemProfile:(BOOL)sendsSystemProfile;
+- (BOOL)sendsSystemProfile;
+
+- (void)setAutomaticallyDownloadsUpdates:(BOOL)automaticallyDownloadsUpdates;
+- (BOOL)automaticallyDownloadsUpdates;
+
+// This IBAction is meant for a main menu item. Hook up any menu item to this action,
+// and Sparkle will check for updates and report back its findings verbosely.
+- (IBAction)checkForUpdates:(id)sender;
+
+// This kicks off an update meant to be programmatically initiated. That is, it will display no UI unless it actually finds an update,
+// in which case it proceeds as usual. If the fully automated updating is turned on, however, this will invoke that behavior, and if an
+// update is found, it will be downloaded and prepped for installation.
+- (void)checkForUpdatesInBackground;
+
+// Date of last update check. Returns nil if no check has been performed.
+- (NSDate*)lastUpdateCheckDate;
+
+// This begins a "probing" check for updates which will not actually offer to update to that version. The delegate methods, though,
+// (up to updater:didFindValidUpdate: and updaterDidNotFindUpdate:), are called, so you can use that information in your UI.
+- (void)checkForUpdateInformation;
+
+// Call this to appropriately schedule or cancel the update checking timer according to the preferences for time interval and automatic checks. This call does not change the date of the next check, but only the internal NSTimer.
+- (void)resetUpdateCycle;
+
+- (BOOL)updateInProgress;
+
+@end
+
+
+// -----------------------------------------------------------------------------
+//     SUUpdater Delegate:
+// -----------------------------------------------------------------------------
+
+@interface NSObject (SUUpdaterDelegateInformalProtocol)
+
+// Use this to keep Sparkle from popping up e.g. while your setup assistant is showing:
+- (BOOL)updaterMayCheckForUpdates:(SUUpdater *)bundle;
+
+// This method allows you to add extra parameters to the appcast URL, potentially based on whether or not Sparkle will also be sending along the system profile. This method should return an array of dictionaries with keys: "key", "value", "displayKey", "displayValue", the latter two being specifically for display to the user.
+- (NSArray *)feedParametersForUpdater:(SUUpdater *)updater sendingSystemProfile:(BOOL)sendingProfile;
+
+// Override this to dynamically specify the entire URL.
+- (NSString*)feedURLStringForUpdater:(SUUpdater*)updater;
+
+// Use this to override the default behavior for Sparkle prompting the user about automatic update checks.
+- (BOOL)updaterShouldPromptForPermissionToCheckForUpdates:(SUUpdater *)bundle;
+
+// Implement this if you want to do some special handling with the appcast once it finishes loading.
+- (void)updater:(SUUpdater *)updater didFinishLoadingAppcast:(SUAppcast *)appcast;
+
+// If you're using special logic or extensions in your appcast, implement this to use your own logic for finding
+// a valid update, if any, in the given appcast.
+- (SUAppcastItem *)bestValidUpdateInAppcast:(SUAppcast *)appcast forUpdater:(SUUpdater *)bundle;
+
+// Sent when a valid update is found by the update driver.
+- (void)updater:(SUUpdater *)updater didFindValidUpdate:(SUAppcastItem *)update;
+
+// Sent when a valid update is not found.
+- (void)updaterDidNotFindUpdate:(SUUpdater *)update;
+
+// Sent immediately before installing the specified update.
+- (void)updater:(SUUpdater *)updater willInstallUpdate:(SUAppcastItem *)update;
+
+// Return YES to delay the relaunch until you do some processing; invoke the given NSInvocation to continue.
+//     This is not called if the user didn't relaunch on the previous update, in that case it will immediately
+//     restart.
+- (BOOL)updater:(SUUpdater *)updater shouldPostponeRelaunchForUpdate:(SUAppcastItem *)update untilInvoking:(NSInvocation *)invocation;
+
+// Some apps *can not* be relaunched in certain circumstances. They can use this method
+//     to prevent a relaunch "hard":
+- (BOOL)updaterShouldRelaunchApplication:(SUUpdater *)updater;
+
+// Called immediately before relaunching.
+- (void)updaterWillRelaunchApplication:(SUUpdater *)updater;
+
+// This method allows you to provide a custom version comparator.
+// If you don't implement this method or return nil, the standard version comparator will be used.
+- (id <SUVersionComparison>)versionComparatorForUpdater:(SUUpdater *)updater;
+
+// This method allows you to provide a custom version comparator.
+// If you don't implement this method or return nil, the standard version displayer will be used.
+- (id <SUVersionDisplay>)versionDisplayerForUpdater:(SUUpdater *)updater;
+
+// Returns the path which is used to relaunch the client after the update is installed. By default, the path of the host bundle.
+- (NSString *)pathToRelaunchForUpdater:(SUUpdater *)updater;
+
+// Called before and after, respectively, an updater shows a modal alert window, to give the host
+//     the opportunity to hide attached windows etc. that may get in the way:
+-(void)        updaterWillShowModalAlert:(SUUpdater *)updater;
+-(void)        updaterDidShowModalAlert:(SUUpdater *)updater;
+
+@end
+
+
+// -----------------------------------------------------------------------------
+//     Constants:
+// -----------------------------------------------------------------------------
+
+// Define some minimum intervals to avoid DOS-like checking attacks. These are in seconds.
+#if defined(DEBUG) && DEBUG && 0
+#define SU_MIN_CHECK_INTERVAL 60
+#else
+#define SU_MIN_CHECK_INTERVAL 60*60
+#endif
+
+#if defined(DEBUG) && DEBUG && 0
+#define SU_DEFAULT_CHECK_INTERVAL 60
+#else
+#define SU_DEFAULT_CHECK_INTERVAL 60*60*24
+#endif
+
+#endif
diff --git a/OSX/Sparkle.framework/Versions/A/Headers/SUVersionComparisonProtocol.h b/OSX/Sparkle.framework/Versions/A/Headers/SUVersionComparisonProtocol.h
new file mode 100755 (executable)
index 0000000..6c65ea4
--- /dev/null
@@ -0,0 +1,29 @@
+//
+//  SUVersionComparisonProtocol.h
+//  Sparkle
+//
+//  Created by Andy Matuschak on 12/21/07.
+//  Copyright 2007 Andy Matuschak. All rights reserved.
+//
+
+#ifndef SUVERSIONCOMPARISONPROTOCOL_H
+#define SUVERSIONCOMPARISONPROTOCOL_H
+
+#import <Cocoa/Cocoa.h>
+
+/*!
+    @protocol
+    @abstract    Implement this protocol to provide version comparison facilities for Sparkle.
+*/
+@protocol SUVersionComparison
+
+/*!
+    @method     
+    @abstract   An abstract method to compare two version strings.
+    @discussion Should return NSOrderedAscending if b > a, NSOrderedDescending if b < a, and NSOrderedSame if they are equivalent.
+*/
+- (NSComparisonResult)compareVersion:(NSString *)versionA toVersion:(NSString *)versionB;      // *** MAY BE CALLED ON NON-MAIN THREAD!
+
+@end
+
+#endif
diff --git a/OSX/Sparkle.framework/Versions/A/Headers/SUVersionDisplayProtocol.h b/OSX/Sparkle.framework/Versions/A/Headers/SUVersionDisplayProtocol.h
new file mode 100755 (executable)
index 0000000..368b9c9
--- /dev/null
@@ -0,0 +1,27 @@
+//
+//  SUVersionDisplayProtocol.h
+//  EyeTV
+//
+//  Created by Uli Kusterer on 08.12.09.
+//  Copyright 2009 Elgato Systems GmbH. All rights reserved.
+//
+
+#import <Cocoa/Cocoa.h>
+
+
+/*!
+    @protocol
+    @abstract  Implement this protocol to apply special formatting to the two
+                               version numbers.
+*/
+@protocol SUVersionDisplay
+
+/*!
+    @method     
+    @abstract   An abstract method to format two version strings.
+    @discussion You get both so you can display important distinguishing
+                               information, but leave out unnecessary/confusing parts.
+*/
+-(void)        formatVersion: (NSString**)inOutVersionA andVersion: (NSString**)inOutVersionB; 
+
+@end
diff --git a/OSX/Sparkle.framework/Versions/A/Headers/Sparkle.h b/OSX/Sparkle.framework/Versions/A/Headers/Sparkle.h
new file mode 100755 (executable)
index 0000000..08dd577
--- /dev/null
@@ -0,0 +1,21 @@
+//
+//  Sparkle.h
+//  Sparkle
+//
+//  Created by Andy Matuschak on 3/16/06. (Modified by CDHW on 23/12/07)
+//  Copyright 2006 Andy Matuschak. All rights reserved.
+//
+
+#ifndef SPARKLE_H
+#define SPARKLE_H
+
+// This list should include the shared headers. It doesn't matter if some of them aren't shared (unless
+// there are name-space collisions) so we can list all of them to start with:
+
+#import <Sparkle/SUUpdater.h>
+
+#import <Sparkle/SUAppcast.h>
+#import <Sparkle/SUAppcastItem.h>
+#import <Sparkle/SUVersionComparisonProtocol.h>
+
+#endif
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/Info.plist b/OSX/Sparkle.framework/Versions/A/Resources/Info.plist
new file mode 100644 (file)
index 0000000..1e79abe
--- /dev/null
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+       <key>BuildMachineOSBuild</key>
+       <string>13A603</string>
+       <key>CFBundleDevelopmentRegion</key>
+       <string>en</string>
+       <key>CFBundleExecutable</key>
+       <string>Sparkle</string>
+       <key>CFBundleIdentifier</key>
+       <string>org.andymatuschak.Sparkle</string>
+       <key>CFBundleInfoDictionaryVersion</key>
+       <string>6.0</string>
+       <key>CFBundleName</key>
+       <string>Sparkle</string>
+       <key>CFBundlePackageType</key>
+       <string>FMWK</string>
+       <key>CFBundleShortVersionString</key>
+       <string>1.5 Beta (git)</string>
+       <key>CFBundleSignature</key>
+       <string>????</string>
+       <key>CFBundleVersion</key>
+       <string>1.5</string>
+       <key>DTCompiler</key>
+       <string>com.apple.compilers.llvm.clang.1_0</string>
+       <key>DTPlatformBuild</key>
+       <string>5A3005</string>
+       <key>DTPlatformVersion</key>
+       <string>GM</string>
+       <key>DTSDKBuild</key>
+       <string>13A595</string>
+       <key>DTSDKName</key>
+       <string>macosx10.9</string>
+       <key>DTXcode</key>
+       <string>0502</string>
+       <key>DTXcodeBuild</key>
+       <string>5A3005</string>
+</dict>
+</plist>
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/License.txt b/OSX/Sparkle.framework/Versions/A/Resources/License.txt
new file mode 100755 (executable)
index 0000000..08364c6
--- /dev/null
@@ -0,0 +1,38 @@
+Copyright (c) 2006 Andy Matuschak
+
+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 AUTHORS OR 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.
+
+=================
+EXTERNAL LICENSES
+=================
+
+License for bspatch.c and bsdiff.c, from bsdiff 4.3 (<http://www.daemonology.net/bsdiff/>:
+/*-
+ * Copyright 2003-2005 Colin Percival
+ * All rights reserved
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted providing that the following conditions 
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
+ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/SUModelTranslation.plist b/OSX/Sparkle.framework/Versions/A/Resources/SUModelTranslation.plist
new file mode 100755 (executable)
index 0000000..63644f0
--- /dev/null
@@ -0,0 +1,182 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+       <key>ADP2,1</key>
+       <string>Developer Transition Kit</string>
+       <key>iMac1,1</key>
+       <string>iMac G3 (Rev A-D)</string>
+       <key>iMac4,1</key>
+       <string>iMac (Core Duo)</string>
+       <key>iMac4,2</key>
+       <string>iMac for Education (17-inch, Core Duo)</string>
+       <key>iMac5,1</key>
+       <string>iMac (Core 2 Duo, 17 or 20 inch, SuperDrive)</string>
+       <key>iMac5,2</key>
+       <string>iMac (Core 2 Duo, 17 inch, Combo Drive)</string>
+       <key>iMac6,1</key>
+       <string>iMac (Core 2 Duo, 24 inch, SuperDrive)</string>
+       <key>iMac8,1</key>
+       <string>iMac (April 2008)</string>
+       <key>MacBook1,1</key>
+       <string>MacBook (Core Duo)</string>
+       <key>MacBook2,1</key>
+       <string>MacBook (Core 2 Duo)</string>
+       <key>MacBook4,1</key>
+       <string>MacBook (Core 2 Duo Feb 2008)</string>
+       <key>MacBookAir1,1</key>
+       <string>MacBook Air (January 2008)</string>
+       <key>MacBookAir2,1</key>
+       <string>MacBook Air (June 2009)</string>
+       <key>MacBookAir3,1</key>
+       <string>MacBook Air (October 2010)</string>
+       <key>MacBookPro1,1</key>
+       <string>MacBook Pro Core Duo (15-inch)</string>
+       <key>MacBookPro1,2</key>
+       <string>MacBook Pro Core Duo (17-inch)</string>
+       <key>MacBookPro2,1</key>
+       <string>MacBook Pro Core 2 Duo (17-inch)</string>
+       <key>MacBookPro2,2</key>
+       <string>MacBook Pro Core 2 Duo (15-inch)</string>
+       <key>MacBookPro3,1</key>
+       <string>MacBook Pro Core 2 Duo (15-inch LED, Core 2 Duo)</string>
+       <key>MacBookPro3,2</key>
+       <string>MacBook Pro Core 2 Duo (17-inch HD, Core 2 Duo)</string>
+       <key>MacBookPro4,1</key>
+       <string>MacBook Pro (Core 2 Duo Feb 2008)</string>
+       <key>Macmini1,1</key>
+       <string>Mac Mini (Core Solo/Duo)</string>
+       <key>MacPro1,1</key>
+       <string>Mac Pro (four-core)</string>
+       <key>MacPro2,1</key>
+       <string>Mac Pro (eight-core)</string>
+       <key>MacPro3,1</key>
+       <string>Mac Pro (January 2008 4- or 8- core &quot;Harpertown&quot;)</string>
+       <key>MacPro4,1</key>
+       <string>Mac Pro (March 2009)</string>
+       <key>MacPro5,1</key>
+       <string>Mac Pro (August 2010)</string>
+       <key>PowerBook1,1</key>
+       <string>PowerBook G3</string>
+       <key>PowerBook2,1</key>
+       <string>iBook G3</string>
+       <key>PowerBook2,2</key>
+       <string>iBook G3 (FireWire)</string>
+       <key>PowerBook2,3</key>
+       <string>iBook G3</string>
+       <key>PowerBook2,4</key>
+       <string>iBook G3</string>
+       <key>PowerBook3,1</key>
+       <string>PowerBook G3 (FireWire)</string>
+       <key>PowerBook3,2</key>
+       <string>PowerBook G4</string>
+       <key>PowerBook3,3</key>
+       <string>PowerBook G4 (Gigabit Ethernet)</string>
+       <key>PowerBook3,4</key>
+       <string>PowerBook G4 (DVI)</string>
+       <key>PowerBook3,5</key>
+       <string>PowerBook G4 (1GHz / 867MHz)</string>
+       <key>PowerBook4,1</key>
+       <string>iBook G3 (Dual USB, Late 2001)</string>
+       <key>PowerBook4,2</key>
+       <string>iBook G3 (16MB VRAM)</string>
+       <key>PowerBook4,3</key>
+       <string>iBook G3 Opaque 16MB VRAM, 32MB VRAM, Early 2003)</string>
+       <key>PowerBook5,1</key>
+       <string>PowerBook G4 (17 inch)</string>
+       <key>PowerBook5,2</key>
+       <string>PowerBook G4 (15 inch FW 800)</string>
+       <key>PowerBook5,3</key>
+       <string>PowerBook G4 (17-inch 1.33GHz)</string>
+       <key>PowerBook5,4</key>
+       <string>PowerBook G4 (15 inch 1.5/1.33GHz)</string>
+       <key>PowerBook5,5</key>
+       <string>PowerBook G4 (17-inch 1.5GHz)</string>
+       <key>PowerBook5,6</key>
+       <string>PowerBook G4 (15 inch 1.67GHz/1.5GHz)</string>
+       <key>PowerBook5,7</key>
+       <string>PowerBook G4 (17-inch 1.67GHz)</string>
+       <key>PowerBook5,8</key>
+       <string>PowerBook G4 (Double layer SD, 15 inch)</string>
+       <key>PowerBook5,9</key>
+       <string>PowerBook G4 (Double layer SD, 17 inch)</string>
+       <key>PowerBook6,1</key>
+       <string>PowerBook G4 (12 inch)</string>
+       <key>PowerBook6,2</key>
+       <string>PowerBook G4 (12 inch, DVI)</string>
+       <key>PowerBook6,3</key>
+       <string>iBook G4</string>
+       <key>PowerBook6,4</key>
+       <string>PowerBook G4 (12 inch 1.33GHz)</string>
+       <key>PowerBook6,5</key>
+       <string>iBook G4 (Early-Late 2004)</string>
+       <key>PowerBook6,7</key>
+       <string>iBook G4 (Mid 2005)</string>
+       <key>PowerBook6,8</key>
+       <string>PowerBook G4 (12 inch 1.5GHz)</string>
+       <key>PowerMac1,1</key>
+       <string>Power Macintosh G3 (Blue &amp; White)</string>
+       <key>PowerMac1,2</key>
+       <string>Power Macintosh G4 (PCI Graphics)</string>
+       <key>PowerMac10,1</key>
+       <string>Mac Mini G4</string>
+       <key>PowerMac10,2</key>
+       <string>Mac Mini (Late 2005)</string>
+       <key>PowerMac11,2</key>
+       <string>Power Macintosh G5 (Late 2005)</string>
+       <key>PowerMac12,1</key>
+       <string>iMac G5 (iSight)</string>
+       <key>PowerMac2,1</key>
+       <string>iMac G3 (Slot-loading CD-ROM)</string>
+       <key>PowerMac2,2</key>
+       <string>iMac G3 (Summer 2000)</string>
+       <key>PowerMac3,1</key>
+       <string>Power Macintosh G4 (AGP Graphics)</string>
+       <key>PowerMac3,2</key>
+       <string>Power Macintosh G4 (AGP Graphics)</string>
+       <key>PowerMac3,3</key>
+       <string>Power Macintosh G4 (Gigabit Ethernet)</string>
+       <key>PowerMac3,4</key>
+       <string>Power Macintosh G4 (Digital Audio)</string>
+       <key>PowerMac3,5</key>
+       <string>Power Macintosh G4 (Quick Silver)</string>
+       <key>PowerMac3,6</key>
+       <string>Power Macintosh G4 (Mirrored Drive Door)</string>
+       <key>PowerMac4,1</key>
+       <string>iMac G3 (Early/Summer 2001)</string>
+       <key>PowerMac4,2</key>
+       <string>iMac G4 (Flat Panel)</string>
+       <key>PowerMac4,4</key>
+       <string>eMac</string>
+       <key>PowerMac4,5</key>
+       <string>iMac G4 (17-inch Flat Panel)</string>
+       <key>PowerMac5,1</key>
+       <string>Power Macintosh G4 Cube</string>
+       <key>PowerMac6,1</key>
+       <string>iMac G4 (USB 2.0)</string>
+       <key>PowerMac6,3</key>
+       <string>iMac G4 (20-inch Flat Panel)</string>
+       <key>PowerMac6,4</key>
+       <string>eMac (USB 2.0, 2005)</string>
+       <key>PowerMac7,2</key>
+       <string>Power Macintosh G5</string>
+       <key>PowerMac7,3</key>
+       <string>Power Macintosh G5</string>
+       <key>PowerMac8,1</key>
+       <string>iMac G5</string>
+       <key>PowerMac8,2</key>
+       <string>iMac G5 (Ambient Light Sensor)</string>
+       <key>PowerMac9,1</key>
+       <string>Power Macintosh G5 (Late 2005)</string>
+       <key>RackMac1,1</key>
+       <string>Xserve G4</string>
+       <key>RackMac1,2</key>
+       <string>Xserve G4 (slot-loading, cluster node)</string>
+       <key>RackMac3,1</key>
+       <string>Xserve G5</string>
+       <key>Xserve1,1</key>
+       <string>Xserve (Intel Xeon)</string>
+       <key>Xserve2,1</key>
+       <string>Xserve (January 2008 quad-core)</string>
+</dict>
+</plist>
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/SUStatus.nib b/OSX/Sparkle.framework/Versions/A/Resources/SUStatus.nib
new file mode 100644 (file)
index 0000000..356987e
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/SUStatus.nib differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/ar.lproj/SUAutomaticUpdateAlert.nib b/OSX/Sparkle.framework/Versions/A/Resources/ar.lproj/SUAutomaticUpdateAlert.nib
new file mode 100644 (file)
index 0000000..2d1b77b
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/ar.lproj/SUAutomaticUpdateAlert.nib differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/ar.lproj/SUPasswordPrompt.nib b/OSX/Sparkle.framework/Versions/A/Resources/ar.lproj/SUPasswordPrompt.nib
new file mode 100644 (file)
index 0000000..09c833c
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/ar.lproj/SUPasswordPrompt.nib differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/ar.lproj/SUUpdateAlert.nib b/OSX/Sparkle.framework/Versions/A/Resources/ar.lproj/SUUpdateAlert.nib
new file mode 100644 (file)
index 0000000..b8925e7
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/ar.lproj/SUUpdateAlert.nib differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/ar.lproj/SUUpdatePermissionPrompt.nib b/OSX/Sparkle.framework/Versions/A/Resources/ar.lproj/SUUpdatePermissionPrompt.nib
new file mode 100644 (file)
index 0000000..006d6aa
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/ar.lproj/SUUpdatePermissionPrompt.nib differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/ar.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/ar.lproj/Sparkle.strings
new file mode 100644 (file)
index 0000000..858a71f
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/ar.lproj/Sparkle.strings differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/cs.lproj/SUAutomaticUpdateAlert.nib b/OSX/Sparkle.framework/Versions/A/Resources/cs.lproj/SUAutomaticUpdateAlert.nib
new file mode 100644 (file)
index 0000000..335264f
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/cs.lproj/SUAutomaticUpdateAlert.nib differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/cs.lproj/SUUpdateAlert.nib b/OSX/Sparkle.framework/Versions/A/Resources/cs.lproj/SUUpdateAlert.nib
new file mode 100644 (file)
index 0000000..fe70bf2
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/cs.lproj/SUUpdateAlert.nib differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/cs.lproj/SUUpdatePermissionPrompt.nib b/OSX/Sparkle.framework/Versions/A/Resources/cs.lproj/SUUpdatePermissionPrompt.nib
new file mode 100644 (file)
index 0000000..9dcd944
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/cs.lproj/SUUpdatePermissionPrompt.nib differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/cs.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/cs.lproj/Sparkle.strings
new file mode 100644 (file)
index 0000000..9bbb996
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/cs.lproj/Sparkle.strings differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/da.lproj/SUAutomaticUpdateAlert.nib b/OSX/Sparkle.framework/Versions/A/Resources/da.lproj/SUAutomaticUpdateAlert.nib
new file mode 100644 (file)
index 0000000..211e718
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/da.lproj/SUAutomaticUpdateAlert.nib differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/da.lproj/SUPasswordPrompt.nib b/OSX/Sparkle.framework/Versions/A/Resources/da.lproj/SUPasswordPrompt.nib
new file mode 100644 (file)
index 0000000..1873d43
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/da.lproj/SUPasswordPrompt.nib differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/da.lproj/SUUpdateAlert.nib b/OSX/Sparkle.framework/Versions/A/Resources/da.lproj/SUUpdateAlert.nib
new file mode 100644 (file)
index 0000000..42395b2
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/da.lproj/SUUpdateAlert.nib differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/da.lproj/SUUpdatePermissionPrompt.nib b/OSX/Sparkle.framework/Versions/A/Resources/da.lproj/SUUpdatePermissionPrompt.nib
new file mode 100644 (file)
index 0000000..58af832
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/da.lproj/SUUpdatePermissionPrompt.nib differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/da.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/da.lproj/Sparkle.strings
new file mode 100644 (file)
index 0000000..bcf691d
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/da.lproj/Sparkle.strings differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/de.lproj/SUAutomaticUpdateAlert.nib b/OSX/Sparkle.framework/Versions/A/Resources/de.lproj/SUAutomaticUpdateAlert.nib
new file mode 100644 (file)
index 0000000..19970aa
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/de.lproj/SUAutomaticUpdateAlert.nib differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdateAlert.nib b/OSX/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdateAlert.nib
new file mode 100644 (file)
index 0000000..69fccfc
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdateAlert.nib differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdatePermissionPrompt.nib b/OSX/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdatePermissionPrompt.nib
new file mode 100644 (file)
index 0000000..c59bf3c
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdatePermissionPrompt.nib differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/de.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/de.lproj/Sparkle.strings
new file mode 100644 (file)
index 0000000..664946d
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/de.lproj/Sparkle.strings differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/en.lproj/SUAutomaticUpdateAlert.nib b/OSX/Sparkle.framework/Versions/A/Resources/en.lproj/SUAutomaticUpdateAlert.nib
new file mode 100644 (file)
index 0000000..512c1c5
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/en.lproj/SUAutomaticUpdateAlert.nib differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/en.lproj/SUPasswordPrompt.nib b/OSX/Sparkle.framework/Versions/A/Resources/en.lproj/SUPasswordPrompt.nib
new file mode 100644 (file)
index 0000000..6cd02b2
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/en.lproj/SUPasswordPrompt.nib differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdateAlert.nib b/OSX/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdateAlert.nib
new file mode 100644 (file)
index 0000000..e856f9d
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdateAlert.nib differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdatePermissionPrompt.nib b/OSX/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdatePermissionPrompt.nib
new file mode 100644 (file)
index 0000000..4f0c0a3
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdatePermissionPrompt.nib differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/en.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/en.lproj/Sparkle.strings
new file mode 100644 (file)
index 0000000..f9c15d8
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/en.lproj/Sparkle.strings differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/es.lproj/SUAutomaticUpdateAlert.nib b/OSX/Sparkle.framework/Versions/A/Resources/es.lproj/SUAutomaticUpdateAlert.nib
new file mode 100644 (file)
index 0000000..8d657a7
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/es.lproj/SUAutomaticUpdateAlert.nib differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdateAlert.nib b/OSX/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdateAlert.nib
new file mode 100644 (file)
index 0000000..d28a4f8
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdateAlert.nib differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdatePermissionPrompt.nib b/OSX/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdatePermissionPrompt.nib
new file mode 100644 (file)
index 0000000..f927ba6
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdatePermissionPrompt.nib differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/es.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/es.lproj/Sparkle.strings
new file mode 100644 (file)
index 0000000..8e4ab94
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/es.lproj/Sparkle.strings differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Info.plist b/OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Info.plist
new file mode 100644 (file)
index 0000000..692e02e
--- /dev/null
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+       <key>BuildMachineOSBuild</key>
+       <string>13A603</string>
+       <key>CFBundleDevelopmentRegion</key>
+       <string>English</string>
+       <key>CFBundleExecutable</key>
+       <string>finish_installation</string>
+       <key>CFBundleIconFile</key>
+       <string>Sparkle</string>
+       <key>CFBundleIdentifier</key>
+       <string>org.andymatuschak.sparkle.finish-installation</string>
+       <key>CFBundleInfoDictionaryVersion</key>
+       <string>6.0</string>
+       <key>CFBundlePackageType</key>
+       <string>APPL</string>
+       <key>CFBundleShortVersionString</key>
+       <string>1.0</string>
+       <key>CFBundleSignature</key>
+       <string>????</string>
+       <key>CFBundleVersion</key>
+       <string>1</string>
+       <key>DTCompiler</key>
+       <string>com.apple.compilers.llvm.clang.1_0</string>
+       <key>DTPlatformBuild</key>
+       <string>5A3005</string>
+       <key>DTPlatformVersion</key>
+       <string>GM</string>
+       <key>DTSDKBuild</key>
+       <string>13A595</string>
+       <key>DTSDKName</key>
+       <string>macosx10.9</string>
+       <key>DTXcode</key>
+       <string>0502</string>
+       <key>DTXcodeBuild</key>
+       <string>5A3005</string>
+       <key>LSBackgroundOnly</key>
+       <string>1</string>
+       <key>LSMinimumSystemVersion</key>
+       <string>10.4</string>
+       <key>LSUIElement</key>
+       <string>1</string>
+       <key>NSMainNibFile</key>
+       <string>MainMenu</string>
+       <key>NSPrincipalClass</key>
+       <string>NSApplication</string>
+</dict>
+</plist>
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/MacOS/finish_installation b/OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/MacOS/finish_installation
new file mode 100755 (executable)
index 0000000..5e032fa
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/MacOS/finish_installation differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/PkgInfo b/OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/PkgInfo
new file mode 100644 (file)
index 0000000..bd04210
--- /dev/null
@@ -0,0 +1 @@
+APPL????
\ No newline at end of file
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/SUStatus.nib b/OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/SUStatus.nib
new file mode 100644 (file)
index 0000000..356987e
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/SUStatus.nib differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/Sparkle.icns b/OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/Sparkle.icns
new file mode 100755 (executable)
index 0000000..8e56d45
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/Sparkle.icns differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/ar.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/ar.lproj/Sparkle.strings
new file mode 100644 (file)
index 0000000..858a71f
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/ar.lproj/Sparkle.strings differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/cs.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/cs.lproj/Sparkle.strings
new file mode 100644 (file)
index 0000000..9bbb996
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/cs.lproj/Sparkle.strings differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/da.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/da.lproj/Sparkle.strings
new file mode 100644 (file)
index 0000000..bcf691d
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/da.lproj/Sparkle.strings differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/de.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/de.lproj/Sparkle.strings
new file mode 100644 (file)
index 0000000..664946d
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/de.lproj/Sparkle.strings differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/en.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/en.lproj/Sparkle.strings
new file mode 100644 (file)
index 0000000..f9c15d8
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/en.lproj/Sparkle.strings differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/es.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/es.lproj/Sparkle.strings
new file mode 100644 (file)
index 0000000..8e4ab94
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/es.lproj/Sparkle.strings differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/fr.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/fr.lproj/Sparkle.strings
new file mode 100644 (file)
index 0000000..236f807
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/fr.lproj/Sparkle.strings differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/is.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/is.lproj/Sparkle.strings
new file mode 100644 (file)
index 0000000..665e273
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/is.lproj/Sparkle.strings differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/it.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/it.lproj/Sparkle.strings
new file mode 100644 (file)
index 0000000..4ccd7af
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/it.lproj/Sparkle.strings differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/ja.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/ja.lproj/Sparkle.strings
new file mode 100644 (file)
index 0000000..b21ea04
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/ja.lproj/Sparkle.strings differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/nl.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/nl.lproj/Sparkle.strings
new file mode 100644 (file)
index 0000000..023c473
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/nl.lproj/Sparkle.strings differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/pl.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/pl.lproj/Sparkle.strings
new file mode 100644 (file)
index 0000000..9a0bc8b
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/pl.lproj/Sparkle.strings differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/pt_BR.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/pt_BR.lproj/Sparkle.strings
new file mode 100644 (file)
index 0000000..7a11a9e
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/pt_BR.lproj/Sparkle.strings differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/pt_PT.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/pt_PT.lproj/Sparkle.strings
new file mode 100644 (file)
index 0000000..497cd83
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/pt_PT.lproj/Sparkle.strings differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/ro.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/ro.lproj/Sparkle.strings
new file mode 100644 (file)
index 0000000..e90bdf5
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/ro.lproj/Sparkle.strings differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/ru.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/ru.lproj/Sparkle.strings
new file mode 100644 (file)
index 0000000..7afef95
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/ru.lproj/Sparkle.strings differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/sl.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/sl.lproj/Sparkle.strings
new file mode 100644 (file)
index 0000000..7ec0bc2
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/sl.lproj/Sparkle.strings differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/sv.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/sv.lproj/Sparkle.strings
new file mode 100644 (file)
index 0000000..16c3fb8
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/sv.lproj/Sparkle.strings differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/th.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/th.lproj/Sparkle.strings
new file mode 100644 (file)
index 0000000..0468c97
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/th.lproj/Sparkle.strings differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/tr.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/tr.lproj/Sparkle.strings
new file mode 100644 (file)
index 0000000..cabc211
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/tr.lproj/Sparkle.strings differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/uk.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/uk.lproj/Sparkle.strings
new file mode 100644 (file)
index 0000000..6f0e4db
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/uk.lproj/Sparkle.strings differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/zh_CN.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/zh_CN.lproj/Sparkle.strings
new file mode 100644 (file)
index 0000000..b741758
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/zh_CN.lproj/Sparkle.strings differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/zh_TW.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/zh_TW.lproj/Sparkle.strings
new file mode 100644 (file)
index 0000000..c1f7e85
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/zh_TW.lproj/Sparkle.strings differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/fr.lproj/SUAutomaticUpdateAlert.nib b/OSX/Sparkle.framework/Versions/A/Resources/fr.lproj/SUAutomaticUpdateAlert.nib
new file mode 100644 (file)
index 0000000..59b199b
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/fr.lproj/SUAutomaticUpdateAlert.nib differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdateAlert.nib b/OSX/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdateAlert.nib
new file mode 100644 (file)
index 0000000..a084b19
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdateAlert.nib differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdatePermissionPrompt.nib b/OSX/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdatePermissionPrompt.nib
new file mode 100644 (file)
index 0000000..808db82
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdatePermissionPrompt.nib differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/fr.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/fr.lproj/Sparkle.strings
new file mode 100644 (file)
index 0000000..236f807
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/fr.lproj/Sparkle.strings differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/fr_CA.lproj b/OSX/Sparkle.framework/Versions/A/Resources/fr_CA.lproj
new file mode 120000 (symlink)
index 0000000..f9834a3
--- /dev/null
@@ -0,0 +1 @@
+fr.lproj
\ No newline at end of file
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/is.lproj/SUAutomaticUpdateAlert.nib b/OSX/Sparkle.framework/Versions/A/Resources/is.lproj/SUAutomaticUpdateAlert.nib
new file mode 100644 (file)
index 0000000..89825fb
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/is.lproj/SUAutomaticUpdateAlert.nib differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/is.lproj/SUUpdateAlert.nib b/OSX/Sparkle.framework/Versions/A/Resources/is.lproj/SUUpdateAlert.nib
new file mode 100644 (file)
index 0000000..2172c0d
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/is.lproj/SUUpdateAlert.nib differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/is.lproj/SUUpdatePermissionPrompt.nib b/OSX/Sparkle.framework/Versions/A/Resources/is.lproj/SUUpdatePermissionPrompt.nib
new file mode 100644 (file)
index 0000000..9a4cca0
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/is.lproj/SUUpdatePermissionPrompt.nib differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/is.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/is.lproj/Sparkle.strings
new file mode 100644 (file)
index 0000000..665e273
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/is.lproj/Sparkle.strings differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/it.lproj/SUAutomaticUpdateAlert.nib b/OSX/Sparkle.framework/Versions/A/Resources/it.lproj/SUAutomaticUpdateAlert.nib
new file mode 100644 (file)
index 0000000..c3d7a42
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/it.lproj/SUAutomaticUpdateAlert.nib differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdateAlert.nib b/OSX/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdateAlert.nib
new file mode 100644 (file)
index 0000000..7cc884b
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdateAlert.nib differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdatePermissionPrompt.nib b/OSX/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdatePermissionPrompt.nib
new file mode 100644 (file)
index 0000000..285596b
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdatePermissionPrompt.nib differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/it.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/it.lproj/Sparkle.strings
new file mode 100644 (file)
index 0000000..4ccd7af
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/it.lproj/Sparkle.strings differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/ja.lproj/SUAutomaticUpdateAlert.nib b/OSX/Sparkle.framework/Versions/A/Resources/ja.lproj/SUAutomaticUpdateAlert.nib
new file mode 100644 (file)
index 0000000..61d2a29
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/ja.lproj/SUAutomaticUpdateAlert.nib differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/ja.lproj/SUUpdateAlert.nib b/OSX/Sparkle.framework/Versions/A/Resources/ja.lproj/SUUpdateAlert.nib
new file mode 100644 (file)
index 0000000..ee41cad
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/ja.lproj/SUUpdateAlert.nib differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/ja.lproj/SUUpdatePermissionPrompt.nib b/OSX/Sparkle.framework/Versions/A/Resources/ja.lproj/SUUpdatePermissionPrompt.nib
new file mode 100644 (file)
index 0000000..ebd5759
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/ja.lproj/SUUpdatePermissionPrompt.nib differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/ja.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/ja.lproj/Sparkle.strings
new file mode 100644 (file)
index 0000000..b21ea04
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/ja.lproj/Sparkle.strings differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/ko.lproj/SUAutomaticUpdateAlert.nib b/OSX/Sparkle.framework/Versions/A/Resources/ko.lproj/SUAutomaticUpdateAlert.nib
new file mode 100644 (file)
index 0000000..e7a8d46
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/ko.lproj/SUAutomaticUpdateAlert.nib differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/ko.lproj/SUUpdateAlert.nib b/OSX/Sparkle.framework/Versions/A/Resources/ko.lproj/SUUpdateAlert.nib
new file mode 100644 (file)
index 0000000..89f887e
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/ko.lproj/SUUpdateAlert.nib differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/ko.lproj/SUUpdatePermissionPrompt.nib b/OSX/Sparkle.framework/Versions/A/Resources/ko.lproj/SUUpdatePermissionPrompt.nib
new file mode 100644 (file)
index 0000000..5da11e0
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/ko.lproj/SUUpdatePermissionPrompt.nib differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/nl.lproj/SUAutomaticUpdateAlert.nib b/OSX/Sparkle.framework/Versions/A/Resources/nl.lproj/SUAutomaticUpdateAlert.nib
new file mode 100644 (file)
index 0000000..35a8de2
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/nl.lproj/SUAutomaticUpdateAlert.nib differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdateAlert.nib b/OSX/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdateAlert.nib
new file mode 100644 (file)
index 0000000..eec88ff
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdateAlert.nib differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdatePermissionPrompt.nib b/OSX/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdatePermissionPrompt.nib
new file mode 100644 (file)
index 0000000..ab2c86f
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdatePermissionPrompt.nib differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/nl.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/nl.lproj/Sparkle.strings
new file mode 100644 (file)
index 0000000..023c473
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/nl.lproj/Sparkle.strings differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/pl.lproj/SUAutomaticUpdateAlert.nib b/OSX/Sparkle.framework/Versions/A/Resources/pl.lproj/SUAutomaticUpdateAlert.nib
new file mode 100644 (file)
index 0000000..0646f3f
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/pl.lproj/SUAutomaticUpdateAlert.nib differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/pl.lproj/SUUpdateAlert.nib b/OSX/Sparkle.framework/Versions/A/Resources/pl.lproj/SUUpdateAlert.nib
new file mode 100644 (file)
index 0000000..1b4d495
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/pl.lproj/SUUpdateAlert.nib differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/pl.lproj/SUUpdatePermissionPrompt.nib b/OSX/Sparkle.framework/Versions/A/Resources/pl.lproj/SUUpdatePermissionPrompt.nib
new file mode 100644 (file)
index 0000000..8ea95e8
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/pl.lproj/SUUpdatePermissionPrompt.nib differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/pl.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/pl.lproj/Sparkle.strings
new file mode 100644 (file)
index 0000000..9a0bc8b
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/pl.lproj/Sparkle.strings differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/pt.lproj b/OSX/Sparkle.framework/Versions/A/Resources/pt.lproj
new file mode 120000 (symlink)
index 0000000..3c1c9f6
--- /dev/null
@@ -0,0 +1 @@
+pt_BR.lproj
\ No newline at end of file
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUAutomaticUpdateAlert.nib b/OSX/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUAutomaticUpdateAlert.nib
new file mode 100644 (file)
index 0000000..e8a824a
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUAutomaticUpdateAlert.nib differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUPasswordPrompt.nib b/OSX/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUPasswordPrompt.nib
new file mode 100644 (file)
index 0000000..22f50aa
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUPasswordPrompt.nib differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUUpdateAlert.nib b/OSX/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUUpdateAlert.nib
new file mode 100644 (file)
index 0000000..03500fa
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUUpdateAlert.nib differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUUpdatePermissionPrompt.nib b/OSX/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUUpdatePermissionPrompt.nib
new file mode 100644 (file)
index 0000000..dc92de6
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUUpdatePermissionPrompt.nib differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/Sparkle.strings
new file mode 100644 (file)
index 0000000..7a11a9e
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/Sparkle.strings differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/SUAutomaticUpdateAlert.nib b/OSX/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/SUAutomaticUpdateAlert.nib
new file mode 100644 (file)
index 0000000..c3603d5
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/SUAutomaticUpdateAlert.nib differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/SUUpdateAlert.nib b/OSX/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/SUUpdateAlert.nib
new file mode 100644 (file)
index 0000000..2d371c4
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/SUUpdateAlert.nib differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/SUUpdatePermissionPrompt.nib b/OSX/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/SUUpdatePermissionPrompt.nib
new file mode 100644 (file)
index 0000000..7b6d719
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/SUUpdatePermissionPrompt.nib differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/Sparkle.strings
new file mode 100644 (file)
index 0000000..497cd83
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/Sparkle.strings differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/ro.lproj/SUAutomaticUpdateAlert.nib b/OSX/Sparkle.framework/Versions/A/Resources/ro.lproj/SUAutomaticUpdateAlert.nib
new file mode 100644 (file)
index 0000000..d669654
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/ro.lproj/SUAutomaticUpdateAlert.nib differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/ro.lproj/SUUpdateAlert.nib b/OSX/Sparkle.framework/Versions/A/Resources/ro.lproj/SUUpdateAlert.nib
new file mode 100644 (file)
index 0000000..6a75e5e
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/ro.lproj/SUUpdateAlert.nib differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/ro.lproj/SUUpdatePermissionPrompt.nib b/OSX/Sparkle.framework/Versions/A/Resources/ro.lproj/SUUpdatePermissionPrompt.nib
new file mode 100644 (file)
index 0000000..2e5802c
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/ro.lproj/SUUpdatePermissionPrompt.nib differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/ro.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/ro.lproj/Sparkle.strings
new file mode 100644 (file)
index 0000000..e90bdf5
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/ro.lproj/Sparkle.strings differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/ru.lproj/SUAutomaticUpdateAlert.nib b/OSX/Sparkle.framework/Versions/A/Resources/ru.lproj/SUAutomaticUpdateAlert.nib
new file mode 100644 (file)
index 0000000..8022f52
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/ru.lproj/SUAutomaticUpdateAlert.nib differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdateAlert.nib b/OSX/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdateAlert.nib
new file mode 100644 (file)
index 0000000..9466dc3
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdateAlert.nib differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdatePermissionPrompt.nib b/OSX/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdatePermissionPrompt.nib
new file mode 100644 (file)
index 0000000..3b26a5b
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdatePermissionPrompt.nib differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/ru.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/ru.lproj/Sparkle.strings
new file mode 100644 (file)
index 0000000..7afef95
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/ru.lproj/Sparkle.strings differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/sk.lproj/SUAutomaticUpdateAlert.nib b/OSX/Sparkle.framework/Versions/A/Resources/sk.lproj/SUAutomaticUpdateAlert.nib
new file mode 100644 (file)
index 0000000..3afea8d
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/sk.lproj/SUAutomaticUpdateAlert.nib differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/sk.lproj/SUUpdateAlert.nib b/OSX/Sparkle.framework/Versions/A/Resources/sk.lproj/SUUpdateAlert.nib
new file mode 100644 (file)
index 0000000..15e760d
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/sk.lproj/SUUpdateAlert.nib differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/sk.lproj/SUUpdatePermissionPrompt.nib b/OSX/Sparkle.framework/Versions/A/Resources/sk.lproj/SUUpdatePermissionPrompt.nib
new file mode 100644 (file)
index 0000000..e7d67a2
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/sk.lproj/SUUpdatePermissionPrompt.nib differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/sl.lproj/SUAutomaticUpdateAlert.nib b/OSX/Sparkle.framework/Versions/A/Resources/sl.lproj/SUAutomaticUpdateAlert.nib
new file mode 100644 (file)
index 0000000..60cfe74
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/sl.lproj/SUAutomaticUpdateAlert.nib differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/sl.lproj/SUUpdateAlert.nib b/OSX/Sparkle.framework/Versions/A/Resources/sl.lproj/SUUpdateAlert.nib
new file mode 100644 (file)
index 0000000..c3bd698
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/sl.lproj/SUUpdateAlert.nib differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/sl.lproj/SUUpdatePermissionPrompt.nib b/OSX/Sparkle.framework/Versions/A/Resources/sl.lproj/SUUpdatePermissionPrompt.nib
new file mode 100644 (file)
index 0000000..1ff5bc3
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/sl.lproj/SUUpdatePermissionPrompt.nib differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/sl.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/sl.lproj/Sparkle.strings
new file mode 100644 (file)
index 0000000..7ec0bc2
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/sl.lproj/Sparkle.strings differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/sv.lproj/SUAutomaticUpdateAlert.nib b/OSX/Sparkle.framework/Versions/A/Resources/sv.lproj/SUAutomaticUpdateAlert.nib
new file mode 100644 (file)
index 0000000..8df1ba0
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/sv.lproj/SUAutomaticUpdateAlert.nib differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdateAlert.nib b/OSX/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdateAlert.nib
new file mode 100644 (file)
index 0000000..9ab3288
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdateAlert.nib differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdatePermissionPrompt.nib b/OSX/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdatePermissionPrompt.nib
new file mode 100644 (file)
index 0000000..0337c2a
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdatePermissionPrompt.nib differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/sv.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/sv.lproj/Sparkle.strings
new file mode 100644 (file)
index 0000000..16c3fb8
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/sv.lproj/Sparkle.strings differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/th.lproj/SUAutomaticUpdateAlert.nib b/OSX/Sparkle.framework/Versions/A/Resources/th.lproj/SUAutomaticUpdateAlert.nib
new file mode 100644 (file)
index 0000000..e1377a4
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/th.lproj/SUAutomaticUpdateAlert.nib differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/th.lproj/SUPasswordPrompt.nib b/OSX/Sparkle.framework/Versions/A/Resources/th.lproj/SUPasswordPrompt.nib
new file mode 100644 (file)
index 0000000..646d64e
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/th.lproj/SUPasswordPrompt.nib differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/th.lproj/SUUpdateAlert.nib b/OSX/Sparkle.framework/Versions/A/Resources/th.lproj/SUUpdateAlert.nib
new file mode 100644 (file)
index 0000000..239b8f7
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/th.lproj/SUUpdateAlert.nib differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/th.lproj/SUUpdatePermissionPrompt.nib b/OSX/Sparkle.framework/Versions/A/Resources/th.lproj/SUUpdatePermissionPrompt.nib
new file mode 100644 (file)
index 0000000..143ff91
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/th.lproj/SUUpdatePermissionPrompt.nib differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/th.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/th.lproj/Sparkle.strings
new file mode 100644 (file)
index 0000000..0468c97
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/th.lproj/Sparkle.strings differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/tr.lproj/SUAutomaticUpdateAlert.nib b/OSX/Sparkle.framework/Versions/A/Resources/tr.lproj/SUAutomaticUpdateAlert.nib
new file mode 100644 (file)
index 0000000..263e74a
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/tr.lproj/SUAutomaticUpdateAlert.nib differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/tr.lproj/SUUpdateAlert.nib b/OSX/Sparkle.framework/Versions/A/Resources/tr.lproj/SUUpdateAlert.nib
new file mode 100644 (file)
index 0000000..ca40c57
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/tr.lproj/SUUpdateAlert.nib differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/tr.lproj/SUUpdatePermissionPrompt.nib b/OSX/Sparkle.framework/Versions/A/Resources/tr.lproj/SUUpdatePermissionPrompt.nib
new file mode 100644 (file)
index 0000000..22a8f46
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/tr.lproj/SUUpdatePermissionPrompt.nib differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/tr.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/tr.lproj/Sparkle.strings
new file mode 100644 (file)
index 0000000..cabc211
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/tr.lproj/Sparkle.strings differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/uk.lproj/SUAutomaticUpdateAlert.nib b/OSX/Sparkle.framework/Versions/A/Resources/uk.lproj/SUAutomaticUpdateAlert.nib
new file mode 100644 (file)
index 0000000..83dbcbf
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/uk.lproj/SUAutomaticUpdateAlert.nib differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/uk.lproj/SUUpdateAlert.nib b/OSX/Sparkle.framework/Versions/A/Resources/uk.lproj/SUUpdateAlert.nib
new file mode 100644 (file)
index 0000000..939e0cb
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/uk.lproj/SUUpdateAlert.nib differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/uk.lproj/SUUpdatePermissionPrompt.nib b/OSX/Sparkle.framework/Versions/A/Resources/uk.lproj/SUUpdatePermissionPrompt.nib
new file mode 100644 (file)
index 0000000..8e2bf73
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/uk.lproj/SUUpdatePermissionPrompt.nib differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/uk.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/uk.lproj/Sparkle.strings
new file mode 100644 (file)
index 0000000..6f0e4db
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/uk.lproj/Sparkle.strings differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/SUAutomaticUpdateAlert.nib b/OSX/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/SUAutomaticUpdateAlert.nib
new file mode 100644 (file)
index 0000000..65cc3d2
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/SUAutomaticUpdateAlert.nib differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/SUUpdateAlert.nib b/OSX/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/SUUpdateAlert.nib
new file mode 100644 (file)
index 0000000..a453dfc
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/SUUpdateAlert.nib differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/SUUpdatePermissionPrompt.nib b/OSX/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/SUUpdatePermissionPrompt.nib
new file mode 100644 (file)
index 0000000..9f85d65
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/SUUpdatePermissionPrompt.nib differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/Sparkle.strings
new file mode 100644 (file)
index 0000000..b741758
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/Sparkle.strings differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUAutomaticUpdateAlert.nib b/OSX/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUAutomaticUpdateAlert.nib
new file mode 100644 (file)
index 0000000..c4b9e9b
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUAutomaticUpdateAlert.nib differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUUpdateAlert.nib b/OSX/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUUpdateAlert.nib
new file mode 100644 (file)
index 0000000..6e98d7e
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUUpdateAlert.nib differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUUpdatePermissionPrompt.nib b/OSX/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUUpdatePermissionPrompt.nib
new file mode 100644 (file)
index 0000000..935b007
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUUpdatePermissionPrompt.nib differ
diff --git a/OSX/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/Sparkle.strings b/OSX/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/Sparkle.strings
new file mode 100644 (file)
index 0000000..c1f7e85
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/Sparkle.strings differ
diff --git a/OSX/Sparkle.framework/Versions/A/Sparkle b/OSX/Sparkle.framework/Versions/A/Sparkle
new file mode 100755 (executable)
index 0000000..64eefd0
Binary files /dev/null and b/OSX/Sparkle.framework/Versions/A/Sparkle differ
diff --git a/OSX/Sparkle.framework/Versions/Current b/OSX/Sparkle.framework/Versions/Current
new file mode 120000 (symlink)
index 0000000..8c7e5a6
--- /dev/null
@@ -0,0 +1 @@
+A
\ No newline at end of file
diff --git a/OSX/Updater.h b/OSX/Updater.h
new file mode 100644 (file)
index 0000000..05246f0
--- /dev/null
@@ -0,0 +1,35 @@
+/* xscreensaver, Copyright (c) 2013 Jamie Zawinski <jwz@jwz.org>
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation.  No representations are made about the suitability of this
+ * software for any purpose.  It is provided "as is" without express or 
+ * implied warranty.
+ */
+
+#ifndef USE_IPHONE
+#import <Cocoa/Cocoa.h>
+@interface XScreenSaverUpdater : NSObject <NSApplicationDelegate>
+@end
+#endif // !USE_IPHONE
+
+#define UPDATER_DOMAIN "org.jwz.xscreensaver.updater"
+
+// Strings must match Sparkle/SUConstants.m
+#define SUSUEnableAutomaticChecksKey   "SUEnableAutomaticChecks"
+#define SUSUEnableAutomaticChecksDef   YES
+#define SUAutomaticallyUpdateKey       "SUAutomaticallyUpdate"
+#define SUAutomaticallyUpdateDef       NO
+#define SUSendProfileInfoKey           "SUSendProfileInfo"
+#define SUSendProfileInfoDef           YES
+#define SUScheduledCheckIntervalKey    "SUScheduledCheckInterval"
+#define SUScheduledCheckIntervalDef    604800
+
+#define UPDATER_DEFAULTS @{                                    \
+  @SUSUEnableAutomaticChecksKey: @SUSUEnableAutomaticChecksDef,        \
+  @SUAutomaticallyUpdateKey:    @SUAutomaticallyUpdateDef,     \
+  @SUSendProfileInfoKey:         @SUSendProfileInfoDef,                \
+  @SUScheduledCheckIntervalKey:  @SUScheduledCheckIntervalDef  \
+}
diff --git a/OSX/Updater.m b/OSX/Updater.m
new file mode 100644 (file)
index 0000000..94a3afa
--- /dev/null
@@ -0,0 +1,56 @@
+/* xscreensaver, Copyright (c) 2013 Jamie Zawinski <jwz@jwz.org>
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation.  No representations are made about the suitability of this
+ * software for any purpose.  It is provided "as is" without express or 
+ * implied warranty.
+ *
+ * XScreenSaverUpdater.app -- downloads and installs XScreenSaver updates
+ * via Sparkle.framework.
+ *
+ * Created: 7-Dec-2013
+ *
+ * NOTE: This does not work with Sparkle 1.5b6 -- it requires the "HEAD"
+ *       version 4-Dec-2013 or later.
+ */
+
+#import "Updater.h"
+#import "Sparkle/SUUpdater.h"
+
+@implementation XScreenSaverUpdater : NSObject
+
+- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
+{
+  SUUpdater *updater = [SUUpdater updaterForBundle:
+                                    [NSBundle bundleForClass:[self class]]];
+  NSUserDefaults *defs = [NSUserDefaults standardUserDefaults];
+  [defs registerDefaults:UPDATER_DEFAULTS];
+
+  // Launch the updater thread.
+  [updater checkForUpdatesInBackground];
+
+  // Now we need to wait for the Sparkle thread to finish before we can
+  // exit, so just poll waiting for it.
+  [NSTimer scheduledTimerWithTimeInterval:1
+           target:self
+           selector:@selector(exitWhenDone:)
+           userInfo:updater
+           repeats:YES];
+}
+
+- (void) exitWhenDone:(NSTimer *)timer
+{
+  SUUpdater *updater = [timer userInfo];
+  if (![updater updateInProgress])
+    [[NSApplication sharedApplication] terminate:self];
+}
+
+- (BOOL)applicationShouldTerminateAfterLastWindowClosed:(NSApplication *)app
+{
+  return YES;
+}
+
+@end
diff --git a/OSX/Updater.plist b/OSX/Updater.plist
new file mode 100644 (file)
index 0000000..9ac2e0e
--- /dev/null
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+       <key>CFBundleDevelopmentRegion</key>
+       <string>English</string>
+       <key>CFBundleExecutable</key>
+       <string>${EXECUTABLE_NAME}</string>
+       <key>CFBundleGetInfoString</key>
+       <string>5.24</string>
+       <key>CFBundleIconFile</key>
+       <string>SaverRunner</string>
+       <key>CFBundleIdentifier</key>
+       <string>$(BUNDLE_IDENTIFIER)</string>
+       <key>CFBundleInfoDictionaryVersion</key>
+       <string>6.0</string>
+       <key>CFBundleLongVersionString</key>
+       <string>5.24</string>
+       <key>CFBundleName</key>
+       <string>${PRODUCT_NAME}</string>
+       <key>CFBundlePackageType</key>
+       <string>APPL</string>
+       <key>CFBundleShortVersionString</key>
+       <string>5.24</string>
+       <key>CFBundleSignature</key>
+       <string>????</string>
+       <key>CFBundleVersion</key>
+       <string>5.24</string>
+       <key>LSMinimumSystemVersion</key>
+       <string>${MACOSX_DEPLOYMENT_TARGET}</string>
+       <key>LSUIElement</key>
+       <true/>
+       <key>NSHumanReadableCopyright</key>
+       <string>5.24</string>
+       <key>NSMainNibFile</key>
+       <string>Updater</string>
+       <key>NSPrincipalClass</key>
+       <string>NSApplication</string>
+       <key>SUEnableSystemProfiling</key>
+       <true/>
+       <key>SUFeedURL</key>
+       <string>http://www.jwz.org/xscreensaver/updates.xml</string>
+       <key>SUPublicDSAKeyFile</key>
+       <string>sparkle_dsa_pub.pem</string>
+       <key>SUScheduledCheckInterval</key>
+       <integer>604800</integer>
+</dict>
+</plist>
diff --git a/OSX/Updater.xib b/OSX/Updater.xib
new file mode 100644 (file)
index 0000000..03ebff7
--- /dev/null
@@ -0,0 +1,344 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="4514" systemVersion="13A603" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
+    <dependencies>
+        <deployment defaultVersion="1040" identifier="macosx"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="4514"/>
+    </dependencies>
+    <objects>
+        <customObject id="-2" userLabel="File's Owner" customClass="NSApplication">
+            <connections>
+                <outlet property="delegate" destination="NZ9-IB-jdd" id="HJq-Vi-gfH"/>
+            </connections>
+        </customObject>
+        <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
+        <customObject id="-3" userLabel="Application"/>
+        <customObject id="373" customClass="NSFontManager"/>
+        <menu title="Main Menu" systemMenu="main" id="29" userLabel="Main Menu">
+            <items>
+                <menuItem title="XScreenSaver Updater" id="56">
+                    <modifierMask key="keyEquivalentModifierMask"/>
+                    <menu key="submenu" title="XScreenSaver Updater" systemMenu="apple" id="57">
+                        <items>
+                            <menuItem title="About XScreenSaver Updater" enabled="NO" id="58">
+                                <modifierMask key="keyEquivalentModifierMask"/>
+                                <connections>
+                                    <action selector="orderFrontStandardAboutPanel:" target="-2" id="142"/>
+                                </connections>
+                            </menuItem>
+                            <menuItem isSeparatorItem="YES" id="236"/>
+                            <menuItem title="Services" id="131">
+                                <modifierMask key="keyEquivalentModifierMask"/>
+                                <menu key="submenu" title="Services" systemMenu="services" id="130"/>
+                            </menuItem>
+                            <menuItem isSeparatorItem="YES" id="144"/>
+                            <menuItem title="Hide XScreenSaver Updater" keyEquivalent="h" id="134">
+                                <connections>
+                                    <action selector="hide:" target="-1" id="369"/>
+                                </connections>
+                            </menuItem>
+                            <menuItem title="Hide Others" keyEquivalent="h" id="145">
+                                <modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
+                                <connections>
+                                    <action selector="hideOtherApplications:" target="-1" id="370"/>
+                                </connections>
+                            </menuItem>
+                            <menuItem title="Show All" id="150">
+                                <modifierMask key="keyEquivalentModifierMask"/>
+                                <connections>
+                                    <action selector="unhideAllApplications:" target="-1" id="372"/>
+                                </connections>
+                            </menuItem>
+                            <menuItem isSeparatorItem="YES" id="149"/>
+                            <menuItem title="Quit XScreenSaver Updater" keyEquivalent="q" id="136">
+                                <connections>
+                                    <action selector="terminate:" target="-2" id="448"/>
+                                </connections>
+                            </menuItem>
+                        </items>
+                    </menu>
+                </menuItem>
+                <menuItem title="File" id="83">
+                    <modifierMask key="keyEquivalentModifierMask"/>
+                    <menu key="submenu" title="File" id="81">
+                        <items>
+                            <menuItem title="Close" keyEquivalent="w" id="73">
+                                <connections>
+                                    <action selector="terminate:" target="-2" id="heG-jI-yGZ"/>
+                                </connections>
+                            </menuItem>
+                            <menuItem isSeparatorItem="YES" id="74"/>
+                            <menuItem title="Page Setup..." keyEquivalent="P" id="77">
+                                <modifierMask key="keyEquivalentModifierMask" shift="YES" command="YES"/>
+                                <connections>
+                                    <action selector="runPageLayout:" target="-1" id="87"/>
+                                </connections>
+                            </menuItem>
+                            <menuItem title="Print…" keyEquivalent="p" id="78">
+                                <connections>
+                                    <action selector="print:" target="-1" id="86"/>
+                                </connections>
+                            </menuItem>
+                        </items>
+                    </menu>
+                </menuItem>
+                <menuItem title="Edit" id="711">
+                    <modifierMask key="keyEquivalentModifierMask"/>
+                    <menu key="submenu" title="Edit" id="712">
+                        <items>
+                            <menuItem title="Undo" keyEquivalent="z" id="713">
+                                <connections>
+                                    <action selector="undo:" target="-1" id="776"/>
+                                </connections>
+                            </menuItem>
+                            <menuItem title="Redo" keyEquivalent="Z" id="714">
+                                <connections>
+                                    <action selector="redo:" target="-1" id="772"/>
+                                </connections>
+                            </menuItem>
+                            <menuItem isSeparatorItem="YES" id="715"/>
+                            <menuItem title="Cut" keyEquivalent="x" id="716">
+                                <connections>
+                                    <action selector="cut:" target="-1" id="768"/>
+                                </connections>
+                            </menuItem>
+                            <menuItem title="Copy" keyEquivalent="c" id="717">
+                                <connections>
+                                    <action selector="copy:" target="-1" id="782"/>
+                                </connections>
+                            </menuItem>
+                            <menuItem title="Paste" keyEquivalent="v" id="718">
+                                <connections>
+                                    <action selector="paste:" target="-1" id="769"/>
+                                </connections>
+                            </menuItem>
+                            <menuItem title="Paste and Match Style" keyEquivalent="V" id="719">
+                                <modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
+                                <connections>
+                                    <action selector="pasteAsPlainText:" target="-1" id="781"/>
+                                </connections>
+                            </menuItem>
+                            <menuItem title="Delete" id="720">
+                                <modifierMask key="keyEquivalentModifierMask"/>
+                                <connections>
+                                    <action selector="delete:" target="-1" id="783"/>
+                                </connections>
+                            </menuItem>
+                            <menuItem title="Select All" keyEquivalent="a" id="721">
+                                <connections>
+                                    <action selector="selectAll:" target="-1" id="785"/>
+                                </connections>
+                            </menuItem>
+                            <menuItem isSeparatorItem="YES" id="722"/>
+                            <menuItem title="Find" id="723">
+                                <modifierMask key="keyEquivalentModifierMask"/>
+                                <menu key="submenu" title="Find" id="761">
+                                    <items>
+                                        <menuItem title="Find…" tag="1" keyEquivalent="f" id="762">
+                                            <connections>
+                                                <action selector="performFindPanelAction:" target="-1" id="799"/>
+                                            </connections>
+                                        </menuItem>
+                                        <menuItem title="Find and Replace…" tag="12" keyEquivalent="f" id="821">
+                                            <modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
+                                            <connections>
+                                                <action selector="performFindPanelAction:" target="-1" id="822"/>
+                                            </connections>
+                                        </menuItem>
+                                        <menuItem title="Find Next" tag="2" keyEquivalent="g" id="763">
+                                            <connections>
+                                                <action selector="performFindPanelAction:" target="-1" id="802"/>
+                                            </connections>
+                                        </menuItem>
+                                        <menuItem title="Find Previous" tag="3" keyEquivalent="G" id="764">
+                                            <connections>
+                                                <action selector="performFindPanelAction:" target="-1" id="798"/>
+                                            </connections>
+                                        </menuItem>
+                                        <menuItem title="Use Selection for Find" tag="7" keyEquivalent="e" id="765">
+                                            <connections>
+                                                <action selector="performFindPanelAction:" target="-1" id="800"/>
+                                            </connections>
+                                        </menuItem>
+                                        <menuItem title="Jump to Selection" keyEquivalent="j" id="766">
+                                            <connections>
+                                                <action selector="centerSelectionInVisibleArea:" target="-1" id="801"/>
+                                            </connections>
+                                        </menuItem>
+                                    </items>
+                                </menu>
+                            </menuItem>
+                            <menuItem title="Spelling and Grammar" id="724">
+                                <modifierMask key="keyEquivalentModifierMask"/>
+                                <menu key="submenu" title="Spelling" id="754">
+                                    <items>
+                                        <menuItem title="Show Spelling and Grammar" keyEquivalent=":" id="755">
+                                            <connections>
+                                                <action selector="showGuessPanel:" target="-1" id="779"/>
+                                            </connections>
+                                        </menuItem>
+                                        <menuItem title="Check Document Now" keyEquivalent=";" id="756">
+                                            <connections>
+                                                <action selector="checkSpelling:" target="-1" id="780"/>
+                                            </connections>
+                                        </menuItem>
+                                        <menuItem isSeparatorItem="YES" id="757"/>
+                                        <menuItem title="Check Spelling While Typing" id="758">
+                                            <modifierMask key="keyEquivalentModifierMask"/>
+                                            <connections>
+                                                <action selector="toggleContinuousSpellChecking:" target="-1" id="774"/>
+                                            </connections>
+                                        </menuItem>
+                                        <menuItem title="Check Grammar With Spelling" id="759">
+                                            <modifierMask key="keyEquivalentModifierMask"/>
+                                            <connections>
+                                                <action selector="toggleGrammarChecking:" target="-1" id="777"/>
+                                            </connections>
+                                        </menuItem>
+                                        <menuItem title="Correct Spelling Automatically" id="760">
+                                            <modifierMask key="keyEquivalentModifierMask"/>
+                                            <connections>
+                                                <action selector="toggleAutomaticSpellingCorrection:" target="-1" id="790"/>
+                                            </connections>
+                                        </menuItem>
+                                    </items>
+                                </menu>
+                            </menuItem>
+                            <menuItem title="Substitutions" id="725">
+                                <modifierMask key="keyEquivalentModifierMask"/>
+                                <menu key="submenu" title="Substitutions" id="745">
+                                    <items>
+                                        <menuItem title="Show Substitutions" id="746">
+                                            <modifierMask key="keyEquivalentModifierMask"/>
+                                            <connections>
+                                                <action selector="orderFrontSubstitutionsPanel:" target="-1" id="787"/>
+                                            </connections>
+                                        </menuItem>
+                                        <menuItem isSeparatorItem="YES" id="747"/>
+                                        <menuItem title="Smart Copy/Paste" id="748">
+                                            <modifierMask key="keyEquivalentModifierMask"/>
+                                            <connections>
+                                                <action selector="toggleSmartInsertDelete:" target="-1" id="770"/>
+                                            </connections>
+                                        </menuItem>
+                                        <menuItem title="Smart Quotes" id="749">
+                                            <modifierMask key="keyEquivalentModifierMask"/>
+                                            <connections>
+                                                <action selector="toggleAutomaticQuoteSubstitution:" target="-1" id="771"/>
+                                            </connections>
+                                        </menuItem>
+                                        <menuItem title="Smart Dashes" id="750">
+                                            <modifierMask key="keyEquivalentModifierMask"/>
+                                            <connections>
+                                                <action selector="toggleAutomaticDashSubstitution:" target="-1" id="773"/>
+                                            </connections>
+                                        </menuItem>
+                                        <menuItem title="Smart Links" id="751">
+                                            <modifierMask key="keyEquivalentModifierMask"/>
+                                            <connections>
+                                                <action selector="toggleAutomaticLinkDetection:" target="-1" id="789"/>
+                                            </connections>
+                                        </menuItem>
+                                        <menuItem title="Data Detectors" id="752">
+                                            <modifierMask key="keyEquivalentModifierMask"/>
+                                            <connections>
+                                                <action selector="toggleAutomaticDataDetection:" target="-1" id="775"/>
+                                            </connections>
+                                        </menuItem>
+                                        <menuItem title="Text Replacement" id="753">
+                                            <modifierMask key="keyEquivalentModifierMask"/>
+                                            <connections>
+                                                <action selector="toggleAutomaticTextReplacement:" target="-1" id="788"/>
+                                            </connections>
+                                        </menuItem>
+                                    </items>
+                                </menu>
+                            </menuItem>
+                            <menuItem title="Transformations" id="726">
+                                <modifierMask key="keyEquivalentModifierMask"/>
+                                <menu key="submenu" title="Transformations" id="741">
+                                    <items>
+                                        <menuItem title="Make Upper Case" id="742">
+                                            <modifierMask key="keyEquivalentModifierMask"/>
+                                            <connections>
+                                                <action selector="uppercaseWord:" target="-1" id="791"/>
+                                            </connections>
+                                        </menuItem>
+                                        <menuItem title="Make Lower Case" id="743">
+                                            <modifierMask key="keyEquivalentModifierMask"/>
+                                            <connections>
+                                                <action selector="lowercaseWord:" target="-1" id="784"/>
+                                            </connections>
+                                        </menuItem>
+                                        <menuItem title="Capitalize" id="744">
+                                            <modifierMask key="keyEquivalentModifierMask"/>
+                                            <connections>
+                                                <action selector="capitalizeWord:" target="-1" id="767"/>
+                                            </connections>
+                                        </menuItem>
+                                    </items>
+                                </menu>
+                            </menuItem>
+                            <menuItem title="Speech" id="727">
+                                <modifierMask key="keyEquivalentModifierMask"/>
+                                <menu key="submenu" title="Speech" id="738">
+                                    <items>
+                                        <menuItem title="Start Speaking" id="739">
+                                            <modifierMask key="keyEquivalentModifierMask"/>
+                                            <connections>
+                                                <action selector="startSpeaking:" target="-1" id="778"/>
+                                            </connections>
+                                        </menuItem>
+                                        <menuItem title="Stop Speaking" id="740">
+                                            <modifierMask key="keyEquivalentModifierMask"/>
+                                            <connections>
+                                                <action selector="stopSpeaking:" target="-1" id="786"/>
+                                            </connections>
+                                        </menuItem>
+                                    </items>
+                                </menu>
+                            </menuItem>
+                        </items>
+                    </menu>
+                </menuItem>
+                <menuItem title="Window" id="19">
+                    <modifierMask key="keyEquivalentModifierMask"/>
+                    <menu key="submenu" title="Window" systemMenu="window" id="24">
+                        <items>
+                            <menuItem title="Minimize" keyEquivalent="m" id="23">
+                                <connections>
+                                    <action selector="performMiniaturize:" target="-1" id="37"/>
+                                </connections>
+                            </menuItem>
+                            <menuItem title="Zoom" id="239">
+                                <modifierMask key="keyEquivalentModifierMask"/>
+                                <connections>
+                                    <action selector="performZoom:" target="-1" id="240"/>
+                                </connections>
+                            </menuItem>
+                            <menuItem isSeparatorItem="YES" id="92"/>
+                            <menuItem title="Bring All to Front" id="5">
+                                <modifierMask key="keyEquivalentModifierMask"/>
+                                <connections>
+                                    <action selector="arrangeInFront:" target="-1" id="39"/>
+                                </connections>
+                            </menuItem>
+                        </items>
+                    </menu>
+                </menuItem>
+                <menuItem title="Help" id="103">
+                    <modifierMask key="keyEquivalentModifierMask"/>
+                    <menu key="submenu" title="Help" systemMenu="help" id="106">
+                        <items>
+                            <menuItem title="XScreenSaver Updater Help" enabled="NO" keyEquivalent="?" id="111">
+                                <connections>
+                                    <action selector="showHelp:" target="-1" id="360"/>
+                                </connections>
+                            </menuItem>
+                        </items>
+                    </menu>
+                </menuItem>
+            </items>
+        </menu>
+        <customObject id="NZ9-IB-jdd" customClass="XScreenSaverUpdater"/>
+    </objects>
+</document>
\ No newline at end of file
index 021fe2e0b392ad6f62a26aacddc9413ccf750152..790a6ba208e01a6c198fe829a793a1a31f166953 100644 (file)
        <key>CFBundlePackageType</key>
        <string>BNDL</string>
        <key>CFBundleShortVersionString</key>
        <key>CFBundlePackageType</key>
        <string>BNDL</string>
        <key>CFBundleShortVersionString</key>
-       <string>5.23</string>
+       <string>5.24</string>
        <key>CFBundleSignature</key>
        <string>????</string>
        <key>CFBundleVersion</key>
        <key>CFBundleSignature</key>
        <string>????</string>
        <key>CFBundleVersion</key>
-       <string>5.23</string>
+       <string>5.24</string>
        <key>LSMinimumSystemVersion</key>
        <string>10.4</string>
        <key>NSMainNibFile</key>
        <key>LSMinimumSystemVersion</key>
        <string>10.4</string>
        <key>NSMainNibFile</key>
index 055d3a83baef7ab09db05c1a9f12a1baf13f8d7d..b2fd489996b7df87f3c147715b5b5a2806e341dc 100644 (file)
@@ -53,6 +53,7 @@
 {
   NSString *saver_name;
   NSUserDefaultsController *userDefaultsController;
 {
   NSString *saver_name;
   NSUserDefaultsController *userDefaultsController;
+  NSUserDefaultsController *globalDefaultsController;
   NSDictionary *defaultOptions;
   const XrmOptionDescRec *opts;
   id xml_root, xml_parsing;
   NSDictionary *defaultOptions;
   const XrmOptionDescRec *opts;
   id xml_root, xml_parsing;
@@ -72,6 +73,7 @@
 - (id)initWithXML: (NSData *) xml_data
           options: (const XrmOptionDescRec *) opts
        controller: (NSUserDefaultsController *) prefs
 - (id)initWithXML: (NSData *) xml_data
           options: (const XrmOptionDescRec *) opts
        controller: (NSUserDefaultsController *) prefs
+ globalController: (NSUserDefaultsController *) globalPrefs
          defaults: (NSDictionary *) defs;
 
 @end
          defaults: (NSDictionary *) defs;
 
 @end
index 7220d2c214485bcad29d649166aceca9973b34d2..46b73dee9a1a6e56ccfcab3321d43018e0a71476 100644 (file)
@@ -24,6 +24,7 @@
  */
 
 #import "XScreenSaverConfigSheet.h"
  */
 
 #import "XScreenSaverConfigSheet.h"
+#import "Updater.h"
 
 #import "jwxyz.h"
 #import "InvertedSlider.h"
 
 #import "jwxyz.h"
 #import "InvertedSlider.h"
@@ -447,7 +448,7 @@ static void layout_group (NSView *group, BOOL horiz_p);
    instead, so transform keys to "SAVERNAME.KEY".
 
    NOTE: This is duplicated in PrefsReader.m, cause I suck.
    instead, so transform keys to "SAVERNAME.KEY".
 
    NOTE: This is duplicated in PrefsReader.m, cause I suck.
-*/
+ */
 - (NSString *) makeKey:(NSString *)key
 {
 # ifdef USE_IPHONE
 - (NSString *) makeKey:(NSString *)key
 {
 # ifdef USE_IPHONE
@@ -524,6 +525,22 @@ static void layout_group (NSView *group, BOOL horiz_p);
 }
 
 
 }
 
 
+- (NSUserDefaultsController *)controllerForKey:(NSString *)key
+{
+  static NSDictionary *a = 0;
+  if (! a) {
+    a = UPDATER_DEFAULTS;
+    [a retain];
+  }
+  if ([a objectForKey:key])
+    // These preferences are global to all xscreensavers.
+    return globalDefaultsController;
+  else
+    // All other preferences are per-saver.
+    return userDefaultsController;
+}
+
+
 #ifdef USE_IPHONE
 
 // Called when a slider is bonked.
 #ifdef USE_IPHONE
 
 // Called when a slider is bonked.
@@ -539,10 +556,11 @@ static void layout_group (NSView *group, BOOL horiz_p);
               ? [(InvertedSlider *) sender transformedValue]
               : [sender value]);
 
               ? [(InvertedSlider *) sender transformedValue]
               : [sender value]);
 
-  if (v == (int) v)
-    [userDefaultsController setInteger:v forKey:pref_key];
-  else
-    [userDefaultsController setDouble:v forKey:pref_key];
+  [[self controllerForKey:pref_key]
+    setObject:((v == (int) v)
+               ? [NSNumber numberWithInt:(int) v]
+               : [NSNumber numberWithDouble: v])
+    forKey:pref_key];
 }
 
 // Called when a checkbox/switch is bonked.
 }
 
 // Called when a checkbox/switch is bonked.
@@ -553,7 +571,7 @@ static void layout_group (NSView *group, BOOL horiz_p);
     [active_text_field resignFirstResponder];
   NSString *pref_key = [pref_keys objectAtIndex: [sender tag]];
   NSString *v = ([sender isOn] ? @"true" : @"false");
     [active_text_field resignFirstResponder];
   NSString *pref_key = [pref_keys objectAtIndex: [sender tag]];
   NSString *v = ([sender isOn] ? @"true" : @"false");
-  [userDefaultsController setObject:v forKey:pref_key];
+  [[self controllerForKey:pref_key] setObject:v forKey:pref_key];
 }
 
 # ifdef USE_PICKER_VIEW
 }
 
 # ifdef USE_PICKER_VIEW
@@ -575,7 +593,7 @@ static void layout_group (NSView *group, BOOL horiz_p);
 //NSString *label    = [a objectAtIndex:0];
   NSString *pref_key = [a objectAtIndex:1];
   NSObject *pref_val = [a objectAtIndex:2];
 //NSString *label    = [a objectAtIndex:0];
   NSString *pref_key = [a objectAtIndex:1];
   NSObject *pref_val = [a objectAtIndex:2];
-  [userDefaultsController setObject:pref_val forKey:pref_key];
+  [[self controllerForKey:pref_key] setObject:pref_val forKey:pref_key];
 }
 # else  // !USE_PICKER_VIEW
 
 }
 # else  // !USE_PICKER_VIEW
 
@@ -589,7 +607,7 @@ static void layout_group (NSView *group, BOOL horiz_p);
   NSArray *item = [[sender items] objectAtIndex: [sender index]];
   NSString *pref_key = [item objectAtIndex:1];
   NSObject *pref_val = [item objectAtIndex:2];
   NSArray *item = [[sender items] objectAtIndex: [sender index]];
   NSString *pref_key = [item objectAtIndex:1];
   NSObject *pref_val = [item objectAtIndex:2];
-  [userDefaultsController setObject:pref_val forKey:pref_key];
+  [[self controllerForKey:pref_key] setObject:pref_val forKey:pref_key];
 }
 
 - (BOOL)textFieldShouldBeginEditing:(UITextField *)tf
 }
 
 - (BOOL)textFieldShouldBeginEditing:(UITextField *)tf
@@ -602,7 +620,7 @@ static void layout_group (NSView *group, BOOL horiz_p);
 {
   NSString *pref_key = [pref_keys objectAtIndex: [tf tag]];
   NSString *txt = [tf text];
 {
   NSString *pref_key = [pref_keys objectAtIndex: [tf tag]];
   NSString *txt = [tf text];
-  [userDefaultsController setObject:txt forKey:pref_key];
+  [[self controllerForKey:pref_key] setObject:txt forKey:pref_key];
 }
 
 - (BOOL)textFieldShouldReturn:(UITextField *)tf
 }
 
 - (BOOL)textFieldShouldReturn:(UITextField *)tf
@@ -621,15 +639,18 @@ static void layout_group (NSView *group, BOOL horiz_p);
 
 - (void) okAction:(NSObject *)arg
 {
 
 - (void) okAction:(NSObject *)arg
 {
-  [userDefaultsController commitEditing];
-  [userDefaultsController save:self];
+  [userDefaultsController   commitEditing];
+  [globalDefaultsController commitEditing];
+  [userDefaultsController   save:self];
+  [globalDefaultsController save:self];
   [NSApp endSheet:self returnCode:NSOKButton];
   [self close];
 }
 
 - (void) cancelAction:(NSObject *)arg
 {
   [NSApp endSheet:self returnCode:NSOKButton];
   [self close];
 }
 
 - (void) cancelAction:(NSObject *)arg
 {
-  [userDefaultsController revert:self];
+  [userDefaultsController   revert:self];
+  [globalDefaultsController revert:self];
   [NSApp endSheet:self returnCode:NSCancelButton];
   [self close];
 }
   [NSApp endSheet:self returnCode:NSCancelButton];
   [self close];
 }
@@ -639,12 +660,13 @@ static void layout_group (NSView *group, BOOL horiz_p);
 - (void) resetAction:(NSObject *)arg
 {
 # ifndef USE_IPHONE
 - (void) resetAction:(NSObject *)arg
 {
 # ifndef USE_IPHONE
-  [userDefaultsController revertToInitialValues:self];
+  [userDefaultsController   revertToInitialValues:self];
+  [globalDefaultsController revertToInitialValues:self];
 # else  // USE_IPHONE
 
   for (NSString *key in defaultOptions) {
     NSObject *val = [defaultOptions objectForKey:key];
 # else  // USE_IPHONE
 
   for (NSString *key in defaultOptions) {
     NSObject *val = [defaultOptions objectForKey:key];
-    [userDefaultsController setObject:val forKey:key];
+    [[self controllerForKey:key] setObject:val forKey:key];
   }
 
   for (UIControl *ctl in pref_ctls) {
   }
 
   for (UIControl *ctl in pref_ctls) {
@@ -662,6 +684,7 @@ static void layout_group (NSView *group, BOOL horiz_p);
 - (void) bindResource:(NSObject *)control key:(NSString *)pref_key
          reload:(BOOL)reload_p
 {
 - (void) bindResource:(NSObject *)control key:(NSString *)pref_key
          reload:(BOOL)reload_p
 {
+  NSUserDefaultsController *prefs = [self controllerForKey:pref_key];
 # ifndef USE_IPHONE
   NSString *bindto = ([control isKindOfClass:[NSPopUpButton class]]
                       ? @"selectedObject"
 # ifndef USE_IPHONE
   NSString *bindto = ([control isKindOfClass:[NSPopUpButton class]]
                       ? @"selectedObject"
@@ -669,12 +692,12 @@ static void layout_group (NSView *group, BOOL horiz_p);
                          ? @"selectedIndex"
                          : @"value"));
   [control bind:bindto
                          ? @"selectedIndex"
                          : @"value"));
   [control bind:bindto
-       toObject:userDefaultsController
+       toObject:prefs
     withKeyPath:[@"values." stringByAppendingString: pref_key]
         options:nil];
 # else  // USE_IPHONE
   SEL sel;
     withKeyPath:[@"values." stringByAppendingString: pref_key]
         options:nil];
 # else  // USE_IPHONE
   SEL sel;
-  NSObject *val = [userDefaultsController objectForKey:pref_key];
+  NSObject *val = [prefs objectForKey:pref_key];
   NSString *sval = 0;
   double dval = 0;
 
   NSString *sval = 0;
   double dval = 0;
 
@@ -739,7 +762,7 @@ static void layout_group (NSView *group, BOOL horiz_p);
 # endif // USE_IPHONE
 
 # if 0
 # endif // USE_IPHONE
 
 # if 0
-  NSObject *def = [[userDefaultsController defaults] objectForKey:pref_key];
+  NSObject *def = [[prefs defaults] objectForKey:pref_key];
   NSString *s = [NSString stringWithFormat:@"bind: \"%@\"", pref_key];
   s = [s stringByPaddingToLength:18 withString:@" " startingAtIndex:0];
   s = [NSString stringWithFormat:@"%@ = \"%@\"", s, def];
   NSString *s = [NSString stringWithFormat:@"bind: \"%@\"", pref_key];
   s = [s stringByPaddingToLength:18 withString:@" " startingAtIndex:0];
   s = [NSString stringWithFormat:@"%@ = \"%@\"", s, def];
@@ -1071,12 +1094,10 @@ hreffify (NSText *nstext)
  */
 - (NSString *) parseXScreenSaverTag:(NSXMLNode *)node
 {
  */
 - (NSString *) parseXScreenSaverTag:(NSXMLNode *)node
 {
-  NSMutableDictionary *dict =
-  [NSMutableDictionary dictionaryWithObjectsAndKeys:
-    @"", @"name",
-    @"", @"_label",
-    @"", @"gl",
-    nil];
+  NSMutableDictionary *dict = [@{ @"name":   @"",
+                                  @"_label": @"",
+                                  @"gl":     @"" }
+                                mutableCopy];
   [self parseAttrs:dict node:node];
   NSString *name  = [dict objectForKey:@"name"];
   NSString *label = [dict objectForKey:@"_label"];
   [self parseAttrs:dict node:node];
   NSString *name  = [dict objectForKey:@"name"];
   NSString *label = [dict objectForKey:@"_label"];
@@ -1121,13 +1142,11 @@ hreffify (NSText *nstext)
  */
 - (void) makeCheckbox:(NSXMLNode *)node on:(NSView *)parent
 {
  */
 - (void) makeCheckbox:(NSXMLNode *)node on:(NSView *)parent
 {
-  NSMutableDictionary *dict =
-    [NSMutableDictionary dictionaryWithObjectsAndKeys:
-      @"", @"id",
-      @"", @"_label",
-      @"", @"arg-set",
-      @"", @"arg-unset",
-      nil];
+  NSMutableDictionary *dict = [@{ @"id":       @"",
+                                  @"_label":    @"",
+                                  @"arg-set":   @"",
+                                  @"arg-unset": @"" }
+                                mutableCopy];
   [self parseAttrs:dict node:node];
   NSString *label     = [dict objectForKey:@"_label"];
   NSString *arg_set   = [dict objectForKey:@"arg-set"];
   [self parseAttrs:dict node:node];
   NSString *label     = [dict objectForKey:@"_label"];
   NSString *arg_set   = [dict objectForKey:@"arg-set"];
@@ -1187,22 +1206,20 @@ hreffify (NSText *nstext)
 /* Creates the number selection control described by the given XML node.
    If "type=slider", it's an NSSlider.
    If "type=spinbutton", it's a text field with up/down arrows next to it.
 /* Creates the number selection control described by the given XML node.
    If "type=slider", it's an NSSlider.
    If "type=spinbutton", it's a text field with up/down arrows next to it.
-*/
+ */
 - (void) makeNumberSelector:(NSXMLNode *)node on:(NSView *)parent
 {
 - (void) makeNumberSelector:(NSXMLNode *)node on:(NSView *)parent
 {
-  NSMutableDictionary *dict =
-  [NSMutableDictionary dictionaryWithObjectsAndKeys:
-    @"", @"id",
-    @"", @"_label",
-    @"", @"_low-label",
-    @"", @"_high-label",
-    @"", @"type",
-    @"", @"arg",
-    @"", @"low",
-    @"", @"high",
-    @"", @"default",
-    @"", @"convert",
-    nil];
+  NSMutableDictionary *dict = [@{ @"id":          @"",
+                                  @"_label":      @"",
+                                  @"_low-label":  @"",
+                                  @"_high-label": @"",
+                                  @"type":        @"",
+                                  @"arg":         @"",
+                                  @"low":         @"",
+                                  @"high":        @"",
+                                  @"default":     @"",
+                                  @"convert":     @"" }
+                                mutableCopy];
   [self parseAttrs:dict node:node];
   NSString *label      = [dict objectForKey:@"_label"];
   NSString *low_label  = [dict objectForKey:@"_low-label"];
   [self parseAttrs:dict node:node];
   NSString *label      = [dict objectForKey:@"_label"];
   NSString *low_label  = [dict objectForKey:@"_low-label"];
@@ -1474,7 +1491,7 @@ set_menu_item_object (NSMenuItem *item, NSObject *obj)
 
 
 /* Creates the popup menu described by the given XML node (and its children).
 
 
 /* Creates the popup menu described by the given XML node (and its children).
-*/
+ */
 - (void) makeOptionMenu:(NSXMLNode *)node on:(NSView *)parent
 {
   NSArray *children = [node children];
 - (void) makeOptionMenu:(NSXMLNode *)node on:(NSView *)parent
 {
   NSArray *children = [node children];
@@ -1487,10 +1504,7 @@ set_menu_item_object (NSMenuItem *item, NSObject *obj)
 
   // get the "id" attribute off the <select> tag.
   //
 
   // get the "id" attribute off the <select> tag.
   //
-  NSMutableDictionary *dict =
-    [NSMutableDictionary dictionaryWithObjectsAndKeys:
-      @"", @"id",
-      nil];
+  NSMutableDictionary *dict = [@{ @"id": @"", } mutableCopy];
   [self parseAttrs:dict node:node];
   
   NSRect rect;
   [self parseAttrs:dict node:node];
   
   NSRect rect;
@@ -1537,12 +1551,10 @@ set_menu_item_object (NSMenuItem *item, NSObject *obj)
 
     // get the "id", "_label", and "arg-set" attrs off of the <option> tags.
     //
 
     // get the "id", "_label", and "arg-set" attrs off of the <option> tags.
     //
-    NSMutableDictionary *dict2 =
-      [NSMutableDictionary dictionaryWithObjectsAndKeys:
-        @"", @"id",
-        @"", @"_label",
-        @"", @"arg-set",
-        nil];
+    NSMutableDictionary *dict2 = [@{ @"id":      @"",
+                                     @"_label":  @"",
+                                     @"arg-set": @"" }
+                                   mutableCopy];
     [self parseAttrs:dict2 node:child];
     NSString *label   = [dict2 objectForKey:@"_label"];
     NSString *arg_set = [dict2 objectForKey:@"arg-set"];
     [self parseAttrs:dict2 node:child];
     NSString *label   = [dict2 objectForKey:@"_label"];
     NSString *arg_set = [dict2 objectForKey:@"arg-set"];
@@ -1757,18 +1769,16 @@ set_menu_item_object (NSMenuItem *item, NSObject *obj)
 
 
 /* Creates the NSTextField described by the given XML node.
 
 
 /* Creates the NSTextField described by the given XML node.
-*/
+ */
 - (void) makeTextField: (NSXMLNode *)node
                     on: (NSView *)parent
              withLabel: (BOOL) label_p
             horizontal: (BOOL) horiz_p
 {
 - (void) makeTextField: (NSXMLNode *)node
                     on: (NSView *)parent
              withLabel: (BOOL) label_p
             horizontal: (BOOL) horiz_p
 {
-  NSMutableDictionary *dict =
-  [NSMutableDictionary dictionaryWithObjectsAndKeys:
-    @"", @"id",
-    @"", @"_label",
-    @"", @"arg",
-    nil];
+  NSMutableDictionary *dict = [@{ @"id":     @"",
+                                  @"_label": @"",
+                                  @"arg":    @"" }
+                                mutableCopy];
   [self parseAttrs:dict node:node];
   NSString *label = [dict objectForKey:@"_label"];
   NSString *arg   = [dict objectForKey:@"arg"];
   [self parseAttrs:dict node:node];
   NSString *label = [dict objectForKey:@"_label"];
   NSString *arg   = [dict objectForKey:@"arg"];
@@ -1834,7 +1844,7 @@ set_menu_item_object (NSMenuItem *item, NSObject *obj)
 
 /* Creates the NSTextField described by the given XML node,
    and hooks it up to a Choose button and a file selector widget.
 
 /* Creates the NSTextField described by the given XML node,
    and hooks it up to a Choose button and a file selector widget.
-*/
+ */
 - (void) makeFileSelector: (NSXMLNode *)node
                        on: (NSView *)parent
                  dirsOnly: (BOOL) dirsOnly
 - (void) makeFileSelector: (NSXMLNode *)node
                        on: (NSView *)parent
                  dirsOnly: (BOOL) dirsOnly
@@ -1842,12 +1852,10 @@ set_menu_item_object (NSMenuItem *item, NSObject *obj)
                  editable: (BOOL) editable_p
 {
 # ifndef USE_IPHONE    // No files. No selectors.
                  editable: (BOOL) editable_p
 {
 # ifndef USE_IPHONE    // No files. No selectors.
-  NSMutableDictionary *dict =
-  [NSMutableDictionary dictionaryWithObjectsAndKeys:
-    @"", @"id",
-    @"", @"_label",
-    @"", @"arg",
-    nil];
+  NSMutableDictionary *dict = [@{ @"id":     @"",
+                                  @"_label": @"",
+                                  @"arg":    @"" }
+                                mutableCopy];
   [self parseAttrs:dict node:node];
   NSString *label = [dict objectForKey:@"_label"];
   NSString *arg   = [dict objectForKey:@"arg"];
   [self parseAttrs:dict node:node];
   NSString *label = [dict objectForKey:@"_label"];
   NSString *arg   = [dict objectForKey:@"arg"];
@@ -2101,37 +2109,28 @@ find_text_field_of_button (NSButton *button)
   // </select>
 
   node2 = [[NSXMLElement alloc] initWithName:@"select"];
   // </select>
 
   node2 = [[NSXMLElement alloc] initWithName:@"select"];
-  [node2 setAttributesAsDictionary:
-          [NSDictionary dictionaryWithObjectsAndKeys:
-                        @"textMode",           @"id",
-                        nil]];
+  [node2 setAttributesAsDictionary:@{ @"id": @"textMode" }];
 
   NSXMLNode *node3 = [[NSXMLElement alloc] initWithName:@"option"];
   [node3 setAttributesAsDictionary:
 
   NSXMLNode *node3 = [[NSXMLElement alloc] initWithName:@"option"];
   [node3 setAttributesAsDictionary:
-          [NSDictionary dictionaryWithObjectsAndKeys:
-                        @"date",                      @"id",
-                        @"-text-mode date",           @"arg-set",
-                        @"Display the date and time", @"_label",
-                        nil]];
+           @{ @"id":     @"date",
+              @"arg-set": @"-text-mode date",
+              @"_label":  @"Display the date and time" }];
   [node3 setParent: node2];
   //[node3 release];
 
   node3 = [[NSXMLElement alloc] initWithName:@"option"];
   [node3 setAttributesAsDictionary:
   [node3 setParent: node2];
   //[node3 release];
 
   node3 = [[NSXMLElement alloc] initWithName:@"option"];
   [node3 setAttributesAsDictionary:
-          [NSDictionary dictionaryWithObjectsAndKeys:
-                        @"text",                      @"id",
-                        @"-text-mode literal",        @"arg-set",
-                        @"Display static text",       @"_label",
-                        nil]];
+           @{ @"id":      @"text",
+              @"arg-set": @"-text-mode literal",
+              @"_label":  @"Display static text" }];
   [node3 setParent: node2];
   //[node3 release];
 
   node3 = [[NSXMLElement alloc] initWithName:@"option"];
   [node3 setAttributesAsDictionary:
   [node3 setParent: node2];
   //[node3 release];
 
   node3 = [[NSXMLElement alloc] initWithName:@"option"];
   [node3 setAttributesAsDictionary:
-          [NSDictionary dictionaryWithObjectsAndKeys:
-                        @"url",                           @"id",
-                        @"Display the contents of a URL", @"_label",
-                        nil]];
+           @{ @"id":     @"url",                           
+              @"_label": @"Display the contents of a URL" }];
   [node3 setParent: node2];
   //[node3 release];
 
   [node3 setParent: node2];
   //[node3 release];
 
@@ -2143,13 +2142,12 @@ find_text_field_of_button (NSButton *button)
   //  <string id="textLiteral" _label="" arg-set="-text-literal %"/>
   node2 = [[NSXMLElement alloc] initWithName:@"string"];
   [node2 setAttributesAsDictionary:
   //  <string id="textLiteral" _label="" arg-set="-text-literal %"/>
   node2 = [[NSXMLElement alloc] initWithName:@"string"];
   [node2 setAttributesAsDictionary:
-          [NSDictionary dictionaryWithObjectsAndKeys:
-                        @"textLiteral",        @"id",
-                        @"-text-literal %",    @"arg",
+           @{ @"id":     @"textLiteral",
+              @"arg":    @"-text-literal %",
 # ifdef USE_IPHONE
 # ifdef USE_IPHONE
-                        @"Text to display",    @"_label",
+              @"_label": @"Text to display"
 # endif
 # endif
-                        nil]];
+            }];
   [self makeTextField:node2 on:rgroup 
 # ifndef USE_IPHONE
         withLabel:NO
   [self makeTextField:node2 on:rgroup 
 # ifndef USE_IPHONE
         withLabel:NO
@@ -2166,17 +2164,15 @@ find_text_field_of_button (NSButton *button)
            toObject:[matrix cellAtRow:1 column:0]
            withKeyPath:@"value"
            options:nil];
            toObject:[matrix cellAtRow:1 column:0]
            withKeyPath:@"value"
            options:nil];
-*/
+ */
 
 
 # ifndef USE_IPHONE
   //  <file id="textFile" _label="" arg-set="-text-file %"/>
   node2 = [[NSXMLElement alloc] initWithName:@"string"];
   [node2 setAttributesAsDictionary:
 
 
 # ifndef USE_IPHONE
   //  <file id="textFile" _label="" arg-set="-text-file %"/>
   node2 = [[NSXMLElement alloc] initWithName:@"string"];
   [node2 setAttributesAsDictionary:
-          [NSDictionary dictionaryWithObjectsAndKeys:
-                        @"textFile",           @"id",
-                        @"-text-file %",       @"arg",
-                        nil]];
+           @{ @"id":  @"textFile",
+              @"arg": @"-text-file %" }];
   [self makeFileSelector:node2 on:rgroup
         dirsOnly:NO withLabel:NO editable:NO];
 # endif // !USE_IPHONE
   [self makeFileSelector:node2 on:rgroup
         dirsOnly:NO withLabel:NO editable:NO];
 # endif // !USE_IPHONE
@@ -2186,13 +2182,12 @@ find_text_field_of_button (NSButton *button)
   //  <string id="textURL" _label="" arg-set="text-url %"/>
   node2 = [[NSXMLElement alloc] initWithName:@"string"];
   [node2 setAttributesAsDictionary:
   //  <string id="textURL" _label="" arg-set="text-url %"/>
   node2 = [[NSXMLElement alloc] initWithName:@"string"];
   [node2 setAttributesAsDictionary:
-          [NSDictionary dictionaryWithObjectsAndKeys:
-                        @"textURL",            @"id",
-                        @"-text-url %",        @"arg",
+           @{ @"id":     @"textURL",            
+              @"arg":    @"-text-url %",
 # ifdef USE_IPHONE
 # ifdef USE_IPHONE
-                        @"URL to display",     @"_label",
+              @"_label": @"URL to display",     
 # endif
 # endif
-                        nil]];
+            }];
   [self makeTextField:node2 on:rgroup 
 # ifndef USE_IPHONE
         withLabel:NO
   [self makeTextField:node2 on:rgroup 
 # ifndef USE_IPHONE
         withLabel:NO
@@ -2208,10 +2203,9 @@ find_text_field_of_button (NSButton *button)
     //  <string id="textProgram" _label="" arg-set="text-program %"/>
     node2 = [[NSXMLElement alloc] initWithName:@"string"];
     [node2 setAttributesAsDictionary:
     //  <string id="textProgram" _label="" arg-set="text-program %"/>
     node2 = [[NSXMLElement alloc] initWithName:@"string"];
     [node2 setAttributesAsDictionary:
-            [NSDictionary dictionaryWithObjectsAndKeys:
-                          @"textProgram",        @"id",
-                          @"-text-program %",    @"arg",
-                          nil]];
+             @{ @"id":   @"textProgram",
+                 @"arg": @"-text-program %",
+              }];
     [self makeTextField:node2 on:rgroup withLabel:NO horizontal:NO];
   }
 
     [self makeTextField:node2 on:rgroup withLabel:NO horizontal:NO];
   }
 
@@ -2299,29 +2293,26 @@ find_text_field_of_button (NSButton *button)
 
   node2 = [[NSXMLElement alloc] initWithName:@"boolean"];
   [node2 setAttributesAsDictionary:
 
   node2 = [[NSXMLElement alloc] initWithName:@"boolean"];
   [node2 setAttributesAsDictionary:
-          [NSDictionary dictionaryWithObjectsAndKeys:
-                        @"grabDesktopImages",   @"id",
-                        @ SCREENS,              @"_label",
-                        @"-no-grab-desktop",    @"arg-unset",
-                        nil]];
+           @{ @"id":        @"grabDesktopImages",
+              @"_label":    @ SCREENS,
+              @"arg-unset": @"-no-grab-desktop",
+            }];
   [self makeCheckbox:node2 on:parent];
 
   node2 = [[NSXMLElement alloc] initWithName:@"boolean"];
   [node2 setAttributesAsDictionary:
   [self makeCheckbox:node2 on:parent];
 
   node2 = [[NSXMLElement alloc] initWithName:@"boolean"];
   [node2 setAttributesAsDictionary:
-          [NSDictionary dictionaryWithObjectsAndKeys:
-                        @"chooseRandomImages",    @"id",
-                        @ PHOTOS,                 @"_label",
-                        @"-choose-random-images", @"arg-set",
-                        nil]];
+           @{ @"id":      @"chooseRandomImages",
+              @"_label":  @ PHOTOS,
+              @"arg-set": @"-choose-random-images",
+            }];
   [self makeCheckbox:node2 on:parent];
 
   node2 = [[NSXMLElement alloc] initWithName:@"string"];
   [node2 setAttributesAsDictionary:
   [self makeCheckbox:node2 on:parent];
 
   node2 = [[NSXMLElement alloc] initWithName:@"string"];
   [node2 setAttributesAsDictionary:
-          [NSDictionary dictionaryWithObjectsAndKeys:
-                        @"imageDirectory",     @"id",
-                        @"Images from:",       @"_label",
-                        @"-image-directory %", @"arg",
-                        nil]];
+           @{ @"id":     @"imageDirectory",
+              @"_label": @"Images from:",
+              @"arg":    @"-image-directory %",
+            }];
   [self makeFileSelector:node2 on:parent
         dirsOnly:YES withLabel:YES editable:YES];
 
   [self makeFileSelector:node2 on:parent
         dirsOnly:YES withLabel:YES editable:YES];
 
@@ -2345,6 +2336,106 @@ find_text_field_of_button (NSButton *button)
 }
 
 
 }
 
 
+- (void) makeUpdaterControlBox:(NSXMLNode *)node on:(NSView *)parent
+{
+# ifndef USE_IPHONE
+  /*
+    [x]  Check for Updates  [ Monthly ]
+
+  <hgroup>
+   <boolean id="automaticallyChecksForUpdates"
+            _label="Automatically check for updates"
+            arg-unset="-no-automaticallyChecksForUpdates" />
+   <select id="updateCheckInterval">
+    <option="hourly"  _label="Hourly" arg-set="-updateCheckInterval 3600"/>
+    <option="daily"   _label="Daily"  arg-set="-updateCheckInterval 86400"/>
+    <option="weekly"  _label="Weekly" arg-set="-updateCheckInterval 604800"/>
+    <option="monthly" _label="Monthly" arg-set="-updateCheckInterval 2629800"/>
+   </select>
+  </hgroup>
+   */
+
+  // <hgroup>
+
+  NSRect rect;
+  rect.size.width = rect.size.height = 1;
+  rect.origin.x = rect.origin.y = 0;
+  NSView *group = [[NSView alloc] initWithFrame:rect];
+
+  NSXMLElement *node2;
+
+  // <boolean ...>
+
+  node2 = [[NSXMLElement alloc] initWithName:@"boolean"];
+  [node2 setAttributesAsDictionary:
+           @{ @"id":        @SUSUEnableAutomaticChecksKey,
+              @"_label":    @"Automatically check for updates",
+              @"arg-unset": @"-no-" SUSUEnableAutomaticChecksKey,
+            }];
+  [self makeCheckbox:node2 on:group];
+
+  // <select ...>
+
+  node2 = [[NSXMLElement alloc] initWithName:@"select"];
+  [node2 setAttributesAsDictionary:
+           @{ @"id": @SUScheduledCheckIntervalKey }];
+
+  //   <option ...>
+
+  NSXMLNode *node3 = [[NSXMLElement alloc] initWithName:@"option"];
+  [node3 setAttributesAsDictionary:
+           @{ @"id":      @"hourly",
+              @"arg-set": @"-" SUScheduledCheckIntervalKey " 3600",
+              @"_label":  @"Hourly" }];
+  [node3 setParent: node2];
+  //[node3 release];
+
+  node3 = [[NSXMLElement alloc] initWithName:@"option"];
+  [node3 setAttributesAsDictionary:
+           @{ @"id":      @"daily",
+              @"arg-set": @"-" SUScheduledCheckIntervalKey " 86400",
+              @"_label":  @"Daily" }];
+  [node3 setParent: node2];
+  //[node3 release];
+
+  node3 = [[NSXMLElement alloc] initWithName:@"option"];
+  [node3 setAttributesAsDictionary:
+           @{ @"id": @"weekly",
+           // @"arg-set": @"-" SUScheduledCheckIntervalKey " 604800",
+              @"_label": @"Weekly",
+            }];
+  [node3 setParent: node2];
+  //[node3 release];
+
+  node3 = [[NSXMLElement alloc] initWithName:@"option"];
+  [node3 setAttributesAsDictionary:
+           @{ @"id":      @"monthly",
+              @"arg-set": @"-" SUScheduledCheckIntervalKey " 2629800",
+              @"_label":  @"Monthly",
+             }];
+  [node3 setParent: node2];
+  //[node3 release];
+
+  // </option>
+  [self makeOptionMenu:node2 on:group];
+
+  // </hgroup>
+  layout_group (group, TRUE);
+
+  rect.size.width = rect.size.height = 0;
+  NSBox *box = [[NSBox alloc] initWithFrame:rect];
+  [box setTitlePosition:NSNoTitle];
+  [box setBorderType:NSNoBorder];
+  [box setContentViewMargins:rect.size];
+  [box setContentView:group];
+  [box sizeToFit];
+
+  [self placeChild:box on:parent];
+
+# endif // !USE_IPHONE
+}
+
+
 #pragma mark Layout for controls
 
 
 #pragma mark Layout for controls
 
 
@@ -2581,6 +2672,9 @@ layout_group (NSView *group, BOOL horiz_p)
   } else if ([name isEqualToString:@"xscreensaver-image"]) {
     [self makeImageLoaderControlBox:node on:parent];
 
   } else if ([name isEqualToString:@"xscreensaver-image"]) {
     [self makeImageLoaderControlBox:node on:parent];
 
+  } else if ([name isEqualToString:@"xscreensaver-updater"]) {
+    [self makeUpdaterControlBox:node on:parent];
+
   } else {
     NSAssert1 (0, @"unknown tag: %@", name);
   }
   } else {
     NSAssert1 (0, @"unknown tag: %@", name);
   }
@@ -2712,14 +2806,14 @@ fix_contentview_size (NSView *parent)
   }
   
 /*
   }
   
 /*
-Bad:
- parent: 420 x 541 @   0   0
- text:   380 x 100 @  20  22  miny=-501
+    Bad:
    parent: 420 x 541 @   0   0
    text:   380 x 100 @  20  22  miny=-501
 
 
-Good:
- parent: 420 x 541 @   0   0
- text:   380 x 100 @  20  50  miny=-501
-*/
+    Good:
    parent: 420 x 541 @   0   0
    text:   380 x 100 @  20  50  miny=-501
+ */
 
   // #### WTF2: See "WTF" above.  If the text field is off the screen,
   //      move it up.  We need this on 10.6 but not on 10.5.  Auugh.
 
   // #### WTF2: See "WTF" above.  If the text field is off the screen,
   //      move it up.  We need this on 10.6 but not on 10.5.  Auugh.
@@ -2889,7 +2983,8 @@ wrap_with_buttons (NSWindow *window, NSView *panel)
   fix_contentview_size (panel);
 
   NSView *root = wrap_with_buttons (parent, panel);
   fix_contentview_size (panel);
 
   NSView *root = wrap_with_buttons (parent, panel);
-  [userDefaultsController setAppliesImmediately:NO];
+  [userDefaultsController   setAppliesImmediately:NO];
+  [globalDefaultsController setAppliesImmediately:NO];
 
   [panel setAutoresizingMask:NSViewWidthSizable|NSViewHeightSizable];
 
 
   [panel setAutoresizingMask:NSViewWidthSizable|NSViewHeightSizable];
 
@@ -3158,7 +3253,8 @@ wrap_with_buttons (NSWindow *window, NSView *panel)
   NSArray *item = [[b items] objectAtIndex: [b index]];
   NSString *pref_key = [item objectAtIndex:1];
   NSObject *pref_val = [item objectAtIndex:2];
   NSArray *item = [[b items] objectAtIndex: [b index]];
   NSString *pref_key = [item objectAtIndex:1];
   NSObject *pref_val = [item objectAtIndex:2];
-  NSObject *current = [userDefaultsController objectForKey:pref_key];
+
+  NSObject *current = [[self controllerForKey:pref_key] objectForKey:pref_key];
 
   // Convert them both to strings and compare those, so that
   // we don't get screwed by int 1 versus string "1".
 
   // Convert them both to strings and compare those, so that
   // we don't get screwed by int 1 versus string "1".
@@ -3421,6 +3517,7 @@ wrap_with_buttons (NSWindow *window, NSView *panel)
 - (id)initWithXML: (NSData *) xml_data
           options: (const XrmOptionDescRec *) _opts
        controller: (NSUserDefaultsController *) _prefs
 - (id)initWithXML: (NSData *) xml_data
           options: (const XrmOptionDescRec *) _opts
        controller: (NSUserDefaultsController *) _prefs
+ globalController: (NSUserDefaultsController *) _globalPrefs
          defaults: (NSDictionary *) _defs
 {
 # ifndef USE_IPHONE
          defaults: (NSDictionary *) _defs
 {
 # ifndef USE_IPHONE
@@ -3434,19 +3531,24 @@ wrap_with_buttons (NSWindow *window, NSView *panel)
   // instance variables
   opts = _opts;
   defaultOptions = _defs;
   // instance variables
   opts = _opts;
   defaultOptions = _defs;
-  userDefaultsController = _prefs;
-  [userDefaultsController retain];
+  userDefaultsController   = [_prefs retain];
+  globalDefaultsController = [_globalPrefs retain];
 
   NSXMLParser *xmlDoc = [[NSXMLParser alloc] initWithData:xml_data];
 
   if (!xmlDoc) {
 
   NSXMLParser *xmlDoc = [[NSXMLParser alloc] initWithData:xml_data];
 
   if (!xmlDoc) {
-    NSAssert1 (0, @"XML Error: %@", xml_data);
+    NSAssert1 (0, @"XML Error: %@",
+               [[NSString alloc] initWithData:xml_data
+                                 encoding:NSUTF8StringEncoding]);
     return nil;
   }
   [xmlDoc setDelegate:self];
   if (! [xmlDoc parse]) {
     NSError *err = [xmlDoc parserError];
     return nil;
   }
   [xmlDoc setDelegate:self];
   if (! [xmlDoc parse]) {
     NSError *err = [xmlDoc parserError];
-    NSAssert2 (0, @"XML Error: %@: %@", xml_data, err);
+    NSAssert2 (0, @"XML Error: %@: %@",
+               [[NSString alloc] initWithData:xml_data
+                                 encoding:NSUTF8StringEncoding],
+               err);
     return nil;
   }
 
     return nil;
   }
 
@@ -3465,6 +3567,7 @@ wrap_with_buttons (NSWindow *window, NSView *panel)
 {
   [saver_name release];
   [userDefaultsController release];
 {
   [saver_name release];
   [userDefaultsController release];
+  [globalDefaultsController release];
 # ifdef USE_IPHONE
   [controls release];
   [pref_keys release];
 # ifdef USE_IPHONE
   [controls release];
   [pref_keys release];
index 365cfba4e9758a0905ce8aa5359c4ea6551220c7..ed8211906591f61ef103db59f0ae0ea68a0d11f2 100644 (file)
@@ -1,13 +1,13 @@
 /* xscreensaver, Copyright (c) 2006-2012 Jamie Zawinski <jwz@jwz.org>
 /* xscreensaver, Copyright (c) 2006-2012 Jamie Zawinski <jwz@jwz.org>
-*
-* Permission to use, copy, modify, distribute, and sell this software and its
-* documentation for any purpose is hereby granted without fee, provided that
-* the above copyright notice appear in all copies and that both that
-* copyright notice and this permission notice appear in supporting
-* documentation.  No representations are made about the suitability of this
-* software for any purpose.  It is provided "as is" without express or 
-* implied warranty.
-*/
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation.  No representations are made about the suitability of this
+ * software for any purpose.  It is provided "as is" without express or 
+ * implied warranty.
+ */
 
 /* This is a subclass of Apple's ScreenSaverView that knows how to run
    xscreensaver programs without X11 via the dark magic of the "jwxyz"
 
 /* This is a subclass of Apple's ScreenSaverView that knows how to run
    xscreensaver programs without X11 via the dark magic of the "jwxyz"
index 7ec10090624b18cb61f76bb24c018ffb38c5ab23..72fe702ac32c0793680b76424db7bba699300766 100644 (file)
@@ -1,13 +1,13 @@
 /* xscreensaver, Copyright (c) 2006-2013 Jamie Zawinski <jwz@jwz.org>
 /* xscreensaver, Copyright (c) 2006-2013 Jamie Zawinski <jwz@jwz.org>
-*
-* Permission to use, copy, modify, distribute, and sell this software and its
-* documentation for any purpose is hereby granted without fee, provided that
-* the above copyright notice appear in all copies and that both that
-* copyright notice and this permission notice appear in supporting
-* documentation.  No representations are made about the suitability of this
-* software for any purpose.  It is provided "as is" without express or 
-* implied warranty.
-*/
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation.  No representations are made about the suitability of this
+ * software for any purpose.  It is provided "as is" without express or 
+ * implied warranty.
+ */
 
 /* This is a subclass of Apple's ScreenSaverView that knows how to run
    xscreensaver programs without X11 via the dark magic of the "jwxyz"
 
 /* This is a subclass of Apple's ScreenSaverView that knows how to run
    xscreensaver programs without X11 via the dark magic of the "jwxyz"
index 6a5f8c2373aa3789f7d00bd3569b55d35e93d2e9..aabfc8302c5b4760378e522bc8ce6ae743f0ae39 100644 (file)
@@ -1,13 +1,13 @@
 /* xscreensaver, Copyright (c) 2006 Jamie Zawinski <jwz@jwz.org>
 /* xscreensaver, Copyright (c) 2006 Jamie Zawinski <jwz@jwz.org>
-*
-* Permission to use, copy, modify, distribute, and sell this software and its
-* documentation for any purpose is hereby granted without fee, provided that
-* the above copyright notice appear in all copies and that both that
-* copyright notice and this permission notice appear in supporting
-* documentation.  No representations are made about the suitability of this
-* software for any purpose.  It is provided "as is" without express or 
-* implied warranty.
-*/
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation.  No representations are made about the suitability of this
+ * software for any purpose.  It is provided "as is" without express or 
+ * implied warranty.
+ */
 
 /* This stub is compiled differently for each saver, just to ensure that
    each one has a different class name.  If multiple savers use the
 
 /* This stub is compiled differently for each saver, just to ensure that
    each one has a different class name.  If multiple savers use the
index fe568efe5facb733367afbb7134ca609195e3937..ffb9327dbf2e5fc6cad291e35e5b77a4d8b3e085 100644 (file)
@@ -1,13 +1,13 @@
 /* xscreensaver, Copyright (c) 2006-2013 Jamie Zawinski <jwz@jwz.org>
 /* xscreensaver, Copyright (c) 2006-2013 Jamie Zawinski <jwz@jwz.org>
-*
-* Permission to use, copy, modify, distribute, and sell this software and its
-* documentation for any purpose is hereby granted without fee, provided that
-* the above copyright notice appear in all copies and that both that
-* copyright notice and this permission notice appear in supporting
-* documentation.  No representations are made about the suitability of this
-* software for any purpose.  It is provided "as is" without express or 
-* implied warranty.
-*/
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation.  No representations are made about the suitability of this
+ * software for any purpose.  It is provided "as is" without express or 
+ * implied warranty.
+ */
 
 /* This is a subclass of Apple's ScreenSaverView that knows how to run
    xscreensaver programs without X11 via the dark magic of the "jwxyz"
 
 /* This is a subclass of Apple's ScreenSaverView that knows how to run
    xscreensaver programs without X11 via the dark magic of the "jwxyz"
index ba87a89d633a1f3ec45dbcfb1335228f935d179f..a02a5067d3bf9da8515a5b24bcc457abb3263953 100644 (file)
@@ -19,6 +19,7 @@
 #import <zlib.h>
 #import "XScreenSaverView.h"
 #import "XScreenSaverConfigSheet.h"
 #import <zlib.h>
 #import "XScreenSaverView.h"
 #import "XScreenSaverConfigSheet.h"
+#import "Updater.h"
 #import "screenhackI.h"
 #import "xlockmoreI.h"
 #import "jwxyz-timers.h"
 #import "screenhackI.h"
 #import "xlockmoreI.h"
 #import "jwxyz-timers.h"
@@ -225,6 +226,25 @@ add_default_options (const XrmOptionDescRec *opts,
     { "-fg",                     ".foreground",        XrmoptionSepArg, 0 },
     { "-background",             ".background",        XrmoptionSepArg, 0 },
     { "-bg",                     ".background",        XrmoptionSepArg, 0 },
     { "-fg",                     ".foreground",        XrmoptionSepArg, 0 },
     { "-background",             ".background",        XrmoptionSepArg, 0 },
     { "-bg",                     ".background",        XrmoptionSepArg, 0 },
+
+# ifndef USE_IPHONE
+    // <xscreensaver-updater />
+    {    "-" SUSUEnableAutomaticChecksKey,
+         "." SUSUEnableAutomaticChecksKey, XrmoptionNoArg, "True"  },
+    { "-no-" SUSUEnableAutomaticChecksKey,
+         "." SUSUEnableAutomaticChecksKey, XrmoptionNoArg, "False" },
+    {    "-" SUAutomaticallyUpdateKey,
+         "." SUAutomaticallyUpdateKey, XrmoptionNoArg, "True"  },
+    { "-no-" SUAutomaticallyUpdateKey,
+         "." SUAutomaticallyUpdateKey, XrmoptionNoArg, "False" },
+    {    "-" SUSendProfileInfoKey,
+         "." SUSendProfileInfoKey, XrmoptionNoArg,"True" },
+    { "-no-" SUSendProfileInfoKey,
+         "." SUSendProfileInfoKey, XrmoptionNoArg,"False"},
+    {    "-" SUScheduledCheckIntervalKey,
+         "." SUScheduledCheckIntervalKey, XrmoptionSepArg, 0 },
+# endif // !USE_IPHONE
+
     { 0, 0, 0, 0 }
   };
   static const char *default_defaults [] = {
     { 0, 0, 0, 0 }
   };
   static const char *default_defaults [] = {
@@ -248,6 +268,21 @@ add_default_options (const XrmOptionDescRec *opts,
 # endif
     ".imageDirectory:     ~/Pictures",
     ".relaunchDelay:      2",
 # endif
     ".imageDirectory:     ~/Pictures",
     ".relaunchDelay:      2",
+
+# ifndef USE_IPHONE
+#  define STR1(S) #S
+#  define STR(S) STR1(S)
+#  define __objc_yes Yes
+#  define __objc_no  No
+    "." SUSUEnableAutomaticChecksKey ": " STR(SUSUEnableAutomaticChecksDef),
+    "." SUAutomaticallyUpdateKey ":  "    STR(SUAutomaticallyUpdateDef),
+    "." SUSendProfileInfoKey ": "         STR(SUSendProfileInfoDef),
+    "." SUScheduledCheckIntervalKey ": "  STR(SUScheduledCheckIntervalDef),
+#  undef __objc_yes
+#  undef __objc_no
+#  undef STR1
+#  undef STR
+# endif // USE_IPHONE
     0
   };
 
     0
   };
 
@@ -497,6 +532,8 @@ double_time (void)
 # ifdef USE_IPHONE
   [UIApplication sharedApplication].idleTimerDisabled =
     ([UIDevice currentDevice].batteryState != UIDeviceBatteryStateUnplugged);
 # ifdef USE_IPHONE
   [UIApplication sharedApplication].idleTimerDisabled =
     ([UIDevice currentDevice].batteryState != UIDeviceBatteryStateUnplugged);
+  [[UIApplication sharedApplication]
+    setStatusBarHidden:YES withAnimation:UIStatusBarAnimationNone];
 # endif
 }
 
 # endif
 }
 
@@ -540,6 +577,8 @@ double_time (void)
   //
 # ifdef USE_IPHONE
   [UIApplication sharedApplication].idleTimerDisabled = NO;
   //
 # ifdef USE_IPHONE
   [UIApplication sharedApplication].idleTimerDisabled = NO;
+  [[UIApplication sharedApplication]
+    setStatusBarHidden:NO withAnimation:UIStatusBarAnimationNone];
 # endif
 }
 
 # endif
 }
 
@@ -916,7 +955,11 @@ double current_device_rotation (void)
     if (get_boolean_resource (xdpy, "doFPS", "DoFPS")) {
       fpst = fps_init (xdpy, xwindow);
       if (! xsft->fps_cb) xsft->fps_cb = screenhack_do_fps;
     if (get_boolean_resource (xdpy, "doFPS", "DoFPS")) {
       fpst = fps_init (xdpy, xwindow);
       if (! xsft->fps_cb) xsft->fps_cb = screenhack_do_fps;
+    } else {
+      xsft->fps_cb = 0;
     }
     }
+
+    [self checkForUpdates];
   }
 
 
   }
 
 
@@ -1298,6 +1341,7 @@ double current_device_rotation (void)
             initWithXML:[xml dataUsingEncoding:NSUTF8StringEncoding]
                 options:xsft->options
              controller:[prefsReader userDefaultsController]
             initWithXML:[xml dataUsingEncoding:NSUTF8StringEncoding]
                 options:xsft->options
              controller:[prefsReader userDefaultsController]
+       globalController:[prefsReader globalDefaultsController]
                defaults:[prefsReader defaultOptions]];
 
   // #### am I expected to retain this, or not? wtf.
                defaults:[prefsReader defaultOptions]];
 
   // #### am I expected to retain this, or not? wtf.
@@ -1316,7 +1360,7 @@ double current_device_rotation (void)
 
 
 /* Announce our willingness to accept keyboard input.
 
 
 /* Announce our willingness to accept keyboard input.
-*/
+ */
 - (BOOL)acceptsFirstResponder
 {
   return YES;
 - (BOOL)acceptsFirstResponder
 {
   return YES;
@@ -1564,7 +1608,7 @@ double current_device_rotation (void)
 
    Possibly XScreenSaverView should use Core Animation, and 
    XScreenSaverGLView should override that.
 
    Possibly XScreenSaverView should use Core Animation, and 
    XScreenSaverGLView should override that.
-*/
+ */
 - (void)didRotate:(NSNotification *)notification
 {
   UIDeviceOrientation current = [[UIDevice currentDevice] orientation];
 - (void)didRotate:(NSNotification *)notification
 {
   UIDeviceOrientation current = [[UIDevice currentDevice] orientation];
@@ -1873,10 +1917,34 @@ double current_device_rotation (void)
   }
 }
 
   }
 }
 
-
 #endif // USE_IPHONE
 
 
 #endif // USE_IPHONE
 
 
+- (void) checkForUpdates
+{
+# ifndef USE_IPHONE
+  // We only check once at startup, even if there are multiple screens,
+  // and even if this saver is running for many days.
+  // (Uh, except this doesn't work because this static isn't shared,
+  // even if we make it an exported global. Not sure why. Oh well.)
+  static BOOL checked_p = NO;
+  if (checked_p) return;
+  checked_p = YES;
+  if (! get_boolean_resource (xdpy,
+                              SUSUEnableAutomaticChecksKey,
+                              SUSUEnableAutomaticChecksKey))
+    return;  // If it's off, don't bother running the updater.
+
+  // Otherwise, the updater will decide if it's time to hit the network.
+  NSString *updater = @"XScreenSaverUpdater";
+  if (! [[NSWorkspace sharedWorkspace]
+          launchApplication:updater showIcon:NO autolaunch:NO]) {
+    NSLog(@"Unable to launch %@", updater);
+  }
+# endif // USE_IPHONE
+}
+
+
 @end
 
 /* Utility functions...
 @end
 
 /* Utility functions...
index d806dd9bdaebb0b368867b85e1336ca73ff88215..3a3033924bfe06ee3d8adbcf35360ca9f750bb12 100644 (file)
@@ -16,8 +16,8 @@
 \b0 by Jamie Zawinski\
 and many others\
 \
 \b0 by Jamie Zawinski\
 and many others\
 \
-version 5.23\
-09-Nov-2013\
+version 5.24\
+07-Dec-2013\
 \
 {\field{\*\fldinst{HYPERLINK "http://www.jwz.org/xscreensaver/"}}{\fldrslt \cf2 \ul \ulc2 http://www.jwz.org/xscreensaver/}}\
 \pard\pardeftab720
 \
 {\field{\*\fldinst{HYPERLINK "http://www.jwz.org/xscreensaver/"}}{\fldrslt \cf2 \ul \ulc2 http://www.jwz.org/xscreensaver/}}\
 \pard\pardeftab720
diff --git a/OSX/config.sub b/OSX/config.sub
new file mode 100644 (file)
index 0000000..61cb4bc
--- /dev/null
@@ -0,0 +1,1793 @@
+#! /bin/sh
+# Configuration validation subroutine script.
+#   Copyright 1992-2013 Free Software Foundation, Inc.
+
+timestamp='2013-10-01'
+
+# 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 <http://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 with a ChangeLog entry 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:
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
+
+# This file is supposed to be the same for all GNU packages
+# and recognize all the CPU types, system types and aliases
+# that are meaningful with *any* GNU software.
+# Each package is responsible for reporting which valid configurations
+# it does not support.  The user should be able to distinguish
+# a failure to support a valid configuration from a meaningless
+# configuration.
+
+# The goal of this file is to map all the various variations of a given
+# machine specification into a single specification in the form:
+#      CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
+# or in some cases, the newer four-part form:
+#      CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
+# It is wrong to echo any other type of specification.
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION] CPU-MFR-OPSYS
+       $0 [OPTION] ALIAS
+
+Canonicalize a configuration name.
+
+Operation modes:
+  -h, --help         print this help, then exit
+  -t, --time-stamp   print date of last modification, then exit
+  -v, --version      print version number, then exit
+
+Report bugs and patches to <config-patches@gnu.org>."
+
+version="\
+GNU config.sub ($timestamp)
+
+Copyright 1992-2013 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"
+       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
+
+# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
+# Here we must recognize all the valid KERNEL-OS combinations.
+maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
+case $maybe_os in
+  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
+  linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
+  knetbsd*-gnu* | netbsd*-gnu* | \
+  kopensolaris*-gnu* | \
+  storm-chaos* | os2-emx* | rtmk-nova*)
+    os=-$maybe_os
+    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
+    ;;
+  android-linux)
+    os=-linux-android
+    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
+    ;;
+  *)
+    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
+    if [ $basic_machine != $1 ]
+    then os=`echo $1 | sed 's/.*-/-/'`
+    else os=; fi
+    ;;
+esac
+
+### Let's recognize common machines as not being operating systems so
+### that things like config.sub decstation-3100 work.  We also
+### recognize some manufacturers as not being operating systems, so we
+### can provide default operating systems below.
+case $os in
+       -sun*os*)
+               # Prevent following clause from handling this invalid input.
+               ;;
+       -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
+       -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
+       -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
+       -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
+       -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
+       -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
+       -apple | -axis | -knuth | -cray | -microblaze*)
+               os=
+               basic_machine=$1
+               ;;
+       -bluegene*)
+               os=-cnk
+               ;;
+       -sim | -cisco | -oki | -wec | -winbond)
+               os=
+               basic_machine=$1
+               ;;
+       -scout)
+               ;;
+       -wrs)
+               os=-vxworks
+               basic_machine=$1
+               ;;
+       -chorusos*)
+               os=-chorusos
+               basic_machine=$1
+               ;;
+       -chorusrdb)
+               os=-chorusrdb
+               basic_machine=$1
+               ;;
+       -hiux*)
+               os=-hiuxwe2
+               ;;
+       -sco6)
+               os=-sco5v6
+               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+               ;;
+       -sco5)
+               os=-sco3.2v5
+               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+               ;;
+       -sco4)
+               os=-sco3.2v4
+               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+               ;;
+       -sco3.2.[4-9]*)
+               os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
+               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+               ;;
+       -sco3.2v[4-9]*)
+               # Don't forget version if it is 3.2v4 or newer.
+               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+               ;;
+       -sco5v6*)
+               # Don't forget version if it is 3.2v4 or newer.
+               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+               ;;
+       -sco*)
+               os=-sco3.2v2
+               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+               ;;
+       -udk*)
+               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+               ;;
+       -isc)
+               os=-isc2.2
+               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+               ;;
+       -clix*)
+               basic_machine=clipper-intergraph
+               ;;
+       -isc*)
+               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+               ;;
+       -lynx*178)
+               os=-lynxos178
+               ;;
+       -lynx*5)
+               os=-lynxos5
+               ;;
+       -lynx*)
+               os=-lynxos
+               ;;
+       -ptx*)
+               basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
+               ;;
+       -windowsnt*)
+               os=`echo $os | sed -e 's/windowsnt/winnt/'`
+               ;;
+       -psos*)
+               os=-psos
+               ;;
+       -mint | -mint[0-9]*)
+               basic_machine=m68k-atari
+               os=-mint
+               ;;
+esac
+
+# Decode aliases for certain CPU-COMPANY combinations.
+case $basic_machine in
+       # Recognize the basic CPU types without company name.
+       # Some are omitted here because they have special meanings below.
+       1750a | 580 \
+       | a29k \
+       | aarch64 | aarch64_be \
+       | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
+       | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
+       | am33_2.0 \
+       | arc | arceb \
+       | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
+       | avr | avr32 \
+       | be32 | be64 \
+       | bfin \
+       | c4x | c8051 | clipper \
+       | d10v | d30v | dlx | dsp16xx \
+       | epiphany \
+       | fido | fr30 | frv \
+       | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
+       | hexagon \
+       | i370 | i860 | i960 | ia64 \
+       | ip2k | iq2000 \
+       | k1om \
+       | le32 | le64 \
+       | lm32 \
+       | m32c | m32r | m32rle | m68000 | m68k | m88k \
+       | maxq | mb | microblaze | microblazeel | mcore | mep | metag \
+       | mips | mipsbe | mipseb | mipsel | mipsle \
+       | mips16 \
+       | mips64 | mips64el \
+       | mips64octeon | mips64octeonel \
+       | mips64orion | mips64orionel \
+       | mips64r5900 | mips64r5900el \
+       | mips64vr | mips64vrel \
+       | mips64vr4100 | mips64vr4100el \
+       | mips64vr4300 | mips64vr4300el \
+       | mips64vr5000 | mips64vr5000el \
+       | mips64vr5900 | mips64vr5900el \
+       | mipsisa32 | mipsisa32el \
+       | mipsisa32r2 | mipsisa32r2el \
+       | mipsisa64 | mipsisa64el \
+       | mipsisa64r2 | mipsisa64r2el \
+       | mipsisa64sb1 | mipsisa64sb1el \
+       | mipsisa64sr71k | mipsisa64sr71kel \
+       | mipsr5900 | mipsr5900el \
+       | mipstx39 | mipstx39el \
+       | mn10200 | mn10300 \
+       | moxie \
+       | mt \
+       | msp430 \
+       | nds32 | nds32le | nds32be \
+       | nios | nios2 | nios2eb | nios2el \
+       | ns16k | ns32k \
+       | open8 \
+       | or1k | or32 \
+       | pdp10 | pdp11 | pj | pjl \
+       | powerpc | powerpc64 | powerpc64le | powerpcle \
+       | pyramid \
+       | rl78 | rx \
+       | score \
+       | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
+       | sh64 | sh64le \
+       | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
+       | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
+       | spu \
+       | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
+       | ubicom32 \
+       | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
+       | we32k \
+       | x86 | xc16x | xstormy16 | xtensa \
+       | z8k | z80)
+               basic_machine=$basic_machine-unknown
+               ;;
+       c54x)
+               basic_machine=tic54x-unknown
+               ;;
+       c55x)
+               basic_machine=tic55x-unknown
+               ;;
+       c6x)
+               basic_machine=tic6x-unknown
+               ;;
+       m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
+               basic_machine=$basic_machine-unknown
+               os=-none
+               ;;
+       m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
+               ;;
+       ms1)
+               basic_machine=mt-unknown
+               ;;
+
+       strongarm | thumb | xscale)
+               basic_machine=arm-unknown
+               ;;
+       xgate)
+               basic_machine=$basic_machine-unknown
+               os=-none
+               ;;
+       xscaleeb)
+               basic_machine=armeb-unknown
+               ;;
+
+       xscaleel)
+               basic_machine=armel-unknown
+               ;;
+
+       # We use `pc' rather than `unknown'
+       # because (1) that's what they normally are, and
+       # (2) the word "unknown" tends to confuse beginning users.
+       i*86 | x86_64)
+         basic_machine=$basic_machine-pc
+         ;;
+       # Object if more than one company name word.
+       *-*-*)
+               echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+               exit 1
+               ;;
+       # Recognize the basic CPU types with company name.
+       580-* \
+       | a29k-* \
+       | aarch64-* | aarch64_be-* \
+       | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
+       | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
+       | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
+       | arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
+       | avr-* | avr32-* \
+       | be32-* | be64-* \
+       | bfin-* | bs2000-* \
+       | c[123]* | c30-* | [cjt]90-* | c4x-* \
+       | c8051-* | clipper-* | craynv-* | cydra-* \
+       | d10v-* | d30v-* | dlx-* \
+       | elxsi-* \
+       | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
+       | h8300-* | h8500-* \
+       | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
+       | hexagon-* \
+       | i*86-* | i860-* | i960-* | ia64-* \
+       | ip2k-* | iq2000-* \
+       | k1om-* \
+       | le32-* | le64-* \
+       | lm32-* \
+       | m32c-* | m32r-* | m32rle-* \
+       | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
+       | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
+       | microblaze-* | microblazeel-* \
+       | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
+       | mips16-* \
+       | mips64-* | mips64el-* \
+       | mips64octeon-* | mips64octeonel-* \
+       | mips64orion-* | mips64orionel-* \
+       | mips64r5900-* | mips64r5900el-* \
+       | mips64vr-* | mips64vrel-* \
+       | mips64vr4100-* | mips64vr4100el-* \
+       | mips64vr4300-* | mips64vr4300el-* \
+       | mips64vr5000-* | mips64vr5000el-* \
+       | mips64vr5900-* | mips64vr5900el-* \
+       | mipsisa32-* | mipsisa32el-* \
+       | mipsisa32r2-* | mipsisa32r2el-* \
+       | mipsisa64-* | mipsisa64el-* \
+       | mipsisa64r2-* | mipsisa64r2el-* \
+       | mipsisa64sb1-* | mipsisa64sb1el-* \
+       | mipsisa64sr71k-* | mipsisa64sr71kel-* \
+       | mipsr5900-* | mipsr5900el-* \
+       | mipstx39-* | mipstx39el-* \
+       | mmix-* \
+       | mt-* \
+       | msp430-* \
+       | nds32-* | nds32le-* | nds32be-* \
+       | nios-* | nios2-* | nios2eb-* | nios2el-* \
+       | none-* | np1-* | ns16k-* | ns32k-* \
+       | open8-* \
+       | orion-* \
+       | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
+       | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
+       | pyramid-* \
+       | rl78-* | romp-* | rs6000-* | rx-* \
+       | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
+       | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
+       | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
+       | sparclite-* \
+       | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
+       | tahoe-* \
+       | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
+       | tile*-* \
+       | tron-* \
+       | ubicom32-* \
+       | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
+       | vax-* \
+       | we32k-* \
+       | x86-* | x86_64-* | xc16x-* | xps100-* \
+       | xstormy16-* | xtensa*-* \
+       | ymp-* \
+       | z8k-* | z80-*)
+               ;;
+       # Recognize the basic CPU types without company name, with glob match.
+       xtensa*)
+               basic_machine=$basic_machine-unknown
+               ;;
+       # Recognize the various machine names and aliases which stand
+       # for a CPU type and a company and sometimes even an OS.
+       386bsd)
+               basic_machine=i386-unknown
+               os=-bsd
+               ;;
+       3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
+               basic_machine=m68000-att
+               ;;
+       3b*)
+               basic_machine=we32k-att
+               ;;
+       a29khif)
+               basic_machine=a29k-amd
+               os=-udi
+               ;;
+       abacus)
+               basic_machine=abacus-unknown
+               ;;
+       adobe68k)
+               basic_machine=m68010-adobe
+               os=-scout
+               ;;
+       alliant | fx80)
+               basic_machine=fx80-alliant
+               ;;
+       altos | altos3068)
+               basic_machine=m68k-altos
+               ;;
+       am29k)
+               basic_machine=a29k-none
+               os=-bsd
+               ;;
+       amd64)
+               basic_machine=x86_64-pc
+               ;;
+       amd64-*)
+               basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
+               ;;
+       amdahl)
+               basic_machine=580-amdahl
+               os=-sysv
+               ;;
+       amiga | amiga-*)
+               basic_machine=m68k-unknown
+               ;;
+       amigaos | amigados)
+               basic_machine=m68k-unknown
+               os=-amigaos
+               ;;
+       amigaunix | amix)
+               basic_machine=m68k-unknown
+               os=-sysv4
+               ;;
+       apollo68)
+               basic_machine=m68k-apollo
+               os=-sysv
+               ;;
+       apollo68bsd)
+               basic_machine=m68k-apollo
+               os=-bsd
+               ;;
+       aros)
+               basic_machine=i386-pc
+               os=-aros
+               ;;
+       aux)
+               basic_machine=m68k-apple
+               os=-aux
+               ;;
+       balance)
+               basic_machine=ns32k-sequent
+               os=-dynix
+               ;;
+       blackfin)
+               basic_machine=bfin-unknown
+               os=-linux
+               ;;
+       blackfin-*)
+               basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
+               os=-linux
+               ;;
+       bluegene*)
+               basic_machine=powerpc-ibm
+               os=-cnk
+               ;;
+       c54x-*)
+               basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
+               ;;
+       c55x-*)
+               basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
+               ;;
+       c6x-*)
+               basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
+               ;;
+       c90)
+               basic_machine=c90-cray
+               os=-unicos
+               ;;
+       cegcc)
+               basic_machine=arm-unknown
+               os=-cegcc
+               ;;
+       convex-c1)
+               basic_machine=c1-convex
+               os=-bsd
+               ;;
+       convex-c2)
+               basic_machine=c2-convex
+               os=-bsd
+               ;;
+       convex-c32)
+               basic_machine=c32-convex
+               os=-bsd
+               ;;
+       convex-c34)
+               basic_machine=c34-convex
+               os=-bsd
+               ;;
+       convex-c38)
+               basic_machine=c38-convex
+               os=-bsd
+               ;;
+       cray | j90)
+               basic_machine=j90-cray
+               os=-unicos
+               ;;
+       craynv)
+               basic_machine=craynv-cray
+               os=-unicosmp
+               ;;
+       cr16 | cr16-*)
+               basic_machine=cr16-unknown
+               os=-elf
+               ;;
+       crds | unos)
+               basic_machine=m68k-crds
+               ;;
+       crisv32 | crisv32-* | etraxfs*)
+               basic_machine=crisv32-axis
+               ;;
+       cris | cris-* | etrax*)
+               basic_machine=cris-axis
+               ;;
+       crx)
+               basic_machine=crx-unknown
+               os=-elf
+               ;;
+       da30 | da30-*)
+               basic_machine=m68k-da30
+               ;;
+       decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
+               basic_machine=mips-dec
+               ;;
+       decsystem10* | dec10*)
+               basic_machine=pdp10-dec
+               os=-tops10
+               ;;
+       decsystem20* | dec20*)
+               basic_machine=pdp10-dec
+               os=-tops20
+               ;;
+       delta | 3300 | motorola-3300 | motorola-delta \
+             | 3300-motorola | delta-motorola)
+               basic_machine=m68k-motorola
+               ;;
+       delta88)
+               basic_machine=m88k-motorola
+               os=-sysv3
+               ;;
+       dicos)
+               basic_machine=i686-pc
+               os=-dicos
+               ;;
+       djgpp)
+               basic_machine=i586-pc
+               os=-msdosdjgpp
+               ;;
+       dpx20 | dpx20-*)
+               basic_machine=rs6000-bull
+               os=-bosx
+               ;;
+       dpx2* | dpx2*-bull)
+               basic_machine=m68k-bull
+               os=-sysv3
+               ;;
+       ebmon29k)
+               basic_machine=a29k-amd
+               os=-ebmon
+               ;;
+       elxsi)
+               basic_machine=elxsi-elxsi
+               os=-bsd
+               ;;
+       encore | umax | mmax)
+               basic_machine=ns32k-encore
+               ;;
+       es1800 | OSE68k | ose68k | ose | OSE)
+               basic_machine=m68k-ericsson
+               os=-ose
+               ;;
+       fx2800)
+               basic_machine=i860-alliant
+               ;;
+       genix)
+               basic_machine=ns32k-ns
+               ;;
+       gmicro)
+               basic_machine=tron-gmicro
+               os=-sysv
+               ;;
+       go32)
+               basic_machine=i386-pc
+               os=-go32
+               ;;
+       h3050r* | hiux*)
+               basic_machine=hppa1.1-hitachi
+               os=-hiuxwe2
+               ;;
+       h8300hms)
+               basic_machine=h8300-hitachi
+               os=-hms
+               ;;
+       h8300xray)
+               basic_machine=h8300-hitachi
+               os=-xray
+               ;;
+       h8500hms)
+               basic_machine=h8500-hitachi
+               os=-hms
+               ;;
+       harris)
+               basic_machine=m88k-harris
+               os=-sysv3
+               ;;
+       hp300-*)
+               basic_machine=m68k-hp
+               ;;
+       hp300bsd)
+               basic_machine=m68k-hp
+               os=-bsd
+               ;;
+       hp300hpux)
+               basic_machine=m68k-hp
+               os=-hpux
+               ;;
+       hp3k9[0-9][0-9] | hp9[0-9][0-9])
+               basic_machine=hppa1.0-hp
+               ;;
+       hp9k2[0-9][0-9] | hp9k31[0-9])
+               basic_machine=m68000-hp
+               ;;
+       hp9k3[2-9][0-9])
+               basic_machine=m68k-hp
+               ;;
+       hp9k6[0-9][0-9] | hp6[0-9][0-9])
+               basic_machine=hppa1.0-hp
+               ;;
+       hp9k7[0-79][0-9] | hp7[0-79][0-9])
+               basic_machine=hppa1.1-hp
+               ;;
+       hp9k78[0-9] | hp78[0-9])
+               # FIXME: really hppa2.0-hp
+               basic_machine=hppa1.1-hp
+               ;;
+       hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
+               # FIXME: really hppa2.0-hp
+               basic_machine=hppa1.1-hp
+               ;;
+       hp9k8[0-9][13679] | hp8[0-9][13679])
+               basic_machine=hppa1.1-hp
+               ;;
+       hp9k8[0-9][0-9] | hp8[0-9][0-9])
+               basic_machine=hppa1.0-hp
+               ;;
+       hppa-next)
+               os=-nextstep3
+               ;;
+       hppaosf)
+               basic_machine=hppa1.1-hp
+               os=-osf
+               ;;
+       hppro)
+               basic_machine=hppa1.1-hp
+               os=-proelf
+               ;;
+       i370-ibm* | ibm*)
+               basic_machine=i370-ibm
+               ;;
+       i*86v32)
+               basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+               os=-sysv32
+               ;;
+       i*86v4*)
+               basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+               os=-sysv4
+               ;;
+       i*86v)
+               basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+               os=-sysv
+               ;;
+       i*86sol2)
+               basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+               os=-solaris2
+               ;;
+       i386mach)
+               basic_machine=i386-mach
+               os=-mach
+               ;;
+       i386-vsta | vsta)
+               basic_machine=i386-unknown
+               os=-vsta
+               ;;
+       iris | iris4d)
+               basic_machine=mips-sgi
+               case $os in
+                   -irix*)
+                       ;;
+                   *)
+                       os=-irix4
+                       ;;
+               esac
+               ;;
+       isi68 | isi)
+               basic_machine=m68k-isi
+               os=-sysv
+               ;;
+       m68knommu)
+               basic_machine=m68k-unknown
+               os=-linux
+               ;;
+       m68knommu-*)
+               basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
+               os=-linux
+               ;;
+       m88k-omron*)
+               basic_machine=m88k-omron
+               ;;
+       magnum | m3230)
+               basic_machine=mips-mips
+               os=-sysv
+               ;;
+       merlin)
+               basic_machine=ns32k-utek
+               os=-sysv
+               ;;
+       microblaze*)
+               basic_machine=microblaze-xilinx
+               ;;
+       mingw64)
+               basic_machine=x86_64-pc
+               os=-mingw64
+               ;;
+       mingw32)
+               basic_machine=i686-pc
+               os=-mingw32
+               ;;
+       mingw32ce)
+               basic_machine=arm-unknown
+               os=-mingw32ce
+               ;;
+       miniframe)
+               basic_machine=m68000-convergent
+               ;;
+       *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
+               basic_machine=m68k-atari
+               os=-mint
+               ;;
+       mips3*-*)
+               basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
+               ;;
+       mips3*)
+               basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
+               ;;
+       monitor)
+               basic_machine=m68k-rom68k
+               os=-coff
+               ;;
+       morphos)
+               basic_machine=powerpc-unknown
+               os=-morphos
+               ;;
+       msdos)
+               basic_machine=i386-pc
+               os=-msdos
+               ;;
+       ms1-*)
+               basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
+               ;;
+       msys)
+               basic_machine=i686-pc
+               os=-msys
+               ;;
+       mvs)
+               basic_machine=i370-ibm
+               os=-mvs
+               ;;
+       nacl)
+               basic_machine=le32-unknown
+               os=-nacl
+               ;;
+       ncr3000)
+               basic_machine=i486-ncr
+               os=-sysv4
+               ;;
+       netbsd386)
+               basic_machine=i386-unknown
+               os=-netbsd
+               ;;
+       netwinder)
+               basic_machine=armv4l-rebel
+               os=-linux
+               ;;
+       news | news700 | news800 | news900)
+               basic_machine=m68k-sony
+               os=-newsos
+               ;;
+       news1000)
+               basic_machine=m68030-sony
+               os=-newsos
+               ;;
+       news-3600 | risc-news)
+               basic_machine=mips-sony
+               os=-newsos
+               ;;
+       necv70)
+               basic_machine=v70-nec
+               os=-sysv
+               ;;
+       next | m*-next )
+               basic_machine=m68k-next
+               case $os in
+                   -nextstep* )
+                       ;;
+                   -ns2*)
+                     os=-nextstep2
+                       ;;
+                   *)
+                     os=-nextstep3
+                       ;;
+               esac
+               ;;
+       nh3000)
+               basic_machine=m68k-harris
+               os=-cxux
+               ;;
+       nh[45]000)
+               basic_machine=m88k-harris
+               os=-cxux
+               ;;
+       nindy960)
+               basic_machine=i960-intel
+               os=-nindy
+               ;;
+       mon960)
+               basic_machine=i960-intel
+               os=-mon960
+               ;;
+       nonstopux)
+               basic_machine=mips-compaq
+               os=-nonstopux
+               ;;
+       np1)
+               basic_machine=np1-gould
+               ;;
+       neo-tandem)
+               basic_machine=neo-tandem
+               ;;
+       nse-tandem)
+               basic_machine=nse-tandem
+               ;;
+       nsr-tandem)
+               basic_machine=nsr-tandem
+               ;;
+       op50n-* | op60c-*)
+               basic_machine=hppa1.1-oki
+               os=-proelf
+               ;;
+       openrisc | openrisc-*)
+               basic_machine=or32-unknown
+               ;;
+       os400)
+               basic_machine=powerpc-ibm
+               os=-os400
+               ;;
+       OSE68000 | ose68000)
+               basic_machine=m68000-ericsson
+               os=-ose
+               ;;
+       os68k)
+               basic_machine=m68k-none
+               os=-os68k
+               ;;
+       pa-hitachi)
+               basic_machine=hppa1.1-hitachi
+               os=-hiuxwe2
+               ;;
+       paragon)
+               basic_machine=i860-intel
+               os=-osf
+               ;;
+       parisc)
+               basic_machine=hppa-unknown
+               os=-linux
+               ;;
+       parisc-*)
+               basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
+               os=-linux
+               ;;
+       pbd)
+               basic_machine=sparc-tti
+               ;;
+       pbb)
+               basic_machine=m68k-tti
+               ;;
+       pc532 | pc532-*)
+               basic_machine=ns32k-pc532
+               ;;
+       pc98)
+               basic_machine=i386-pc
+               ;;
+       pc98-*)
+               basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
+               ;;
+       pentium | p5 | k5 | k6 | nexgen | viac3)
+               basic_machine=i586-pc
+               ;;
+       pentiumpro | p6 | 6x86 | athlon | athlon_*)
+               basic_machine=i686-pc
+               ;;
+       pentiumii | pentium2 | pentiumiii | pentium3)
+               basic_machine=i686-pc
+               ;;
+       pentium4)
+               basic_machine=i786-pc
+               ;;
+       pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
+               basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
+               ;;
+       pentiumpro-* | p6-* | 6x86-* | athlon-*)
+               basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+               ;;
+       pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
+               basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+               ;;
+       pentium4-*)
+               basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
+               ;;
+       pn)
+               basic_machine=pn-gould
+               ;;
+       power)  basic_machine=power-ibm
+               ;;
+       ppc | ppcbe)    basic_machine=powerpc-unknown
+               ;;
+       ppc-* | ppcbe-*)
+               basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+               ;;
+       ppcle | powerpclittle | ppc-le | powerpc-little)
+               basic_machine=powerpcle-unknown
+               ;;
+       ppcle-* | powerpclittle-*)
+               basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
+               ;;
+       ppc64)  basic_machine=powerpc64-unknown
+               ;;
+       ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
+               ;;
+       ppc64le | powerpc64little | ppc64-le | powerpc64-little)
+               basic_machine=powerpc64le-unknown
+               ;;
+       ppc64le-* | powerpc64little-*)
+               basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
+               ;;
+       ps2)
+               basic_machine=i386-ibm
+               ;;
+       pw32)
+               basic_machine=i586-unknown
+               os=-pw32
+               ;;
+       rdos | rdos64)
+               basic_machine=x86_64-pc
+               os=-rdos
+               ;;
+       rdos32)
+               basic_machine=i386-pc
+               os=-rdos
+               ;;
+       rom68k)
+               basic_machine=m68k-rom68k
+               os=-coff
+               ;;
+       rm[46]00)
+               basic_machine=mips-siemens
+               ;;
+       rtpc | rtpc-*)
+               basic_machine=romp-ibm
+               ;;
+       s390 | s390-*)
+               basic_machine=s390-ibm
+               ;;
+       s390x | s390x-*)
+               basic_machine=s390x-ibm
+               ;;
+       sa29200)
+               basic_machine=a29k-amd
+               os=-udi
+               ;;
+       sb1)
+               basic_machine=mipsisa64sb1-unknown
+               ;;
+       sb1el)
+               basic_machine=mipsisa64sb1el-unknown
+               ;;
+       sde)
+               basic_machine=mipsisa32-sde
+               os=-elf
+               ;;
+       sei)
+               basic_machine=mips-sei
+               os=-seiux
+               ;;
+       sequent)
+               basic_machine=i386-sequent
+               ;;
+       sh)
+               basic_machine=sh-hitachi
+               os=-hms
+               ;;
+       sh5el)
+               basic_machine=sh5le-unknown
+               ;;
+       sh64)
+               basic_machine=sh64-unknown
+               ;;
+       sparclite-wrs | simso-wrs)
+               basic_machine=sparclite-wrs
+               os=-vxworks
+               ;;
+       sps7)
+               basic_machine=m68k-bull
+               os=-sysv2
+               ;;
+       spur)
+               basic_machine=spur-unknown
+               ;;
+       st2000)
+               basic_machine=m68k-tandem
+               ;;
+       stratus)
+               basic_machine=i860-stratus
+               os=-sysv4
+               ;;
+       strongarm-* | thumb-*)
+               basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
+               ;;
+       sun2)
+               basic_machine=m68000-sun
+               ;;
+       sun2os3)
+               basic_machine=m68000-sun
+               os=-sunos3
+               ;;
+       sun2os4)
+               basic_machine=m68000-sun
+               os=-sunos4
+               ;;
+       sun3os3)
+               basic_machine=m68k-sun
+               os=-sunos3
+               ;;
+       sun3os4)
+               basic_machine=m68k-sun
+               os=-sunos4
+               ;;
+       sun4os3)
+               basic_machine=sparc-sun
+               os=-sunos3
+               ;;
+       sun4os4)
+               basic_machine=sparc-sun
+               os=-sunos4
+               ;;
+       sun4sol2)
+               basic_machine=sparc-sun
+               os=-solaris2
+               ;;
+       sun3 | sun3-*)
+               basic_machine=m68k-sun
+               ;;
+       sun4)
+               basic_machine=sparc-sun
+               ;;
+       sun386 | sun386i | roadrunner)
+               basic_machine=i386-sun
+               ;;
+       sv1)
+               basic_machine=sv1-cray
+               os=-unicos
+               ;;
+       symmetry)
+               basic_machine=i386-sequent
+               os=-dynix
+               ;;
+       t3e)
+               basic_machine=alphaev5-cray
+               os=-unicos
+               ;;
+       t90)
+               basic_machine=t90-cray
+               os=-unicos
+               ;;
+       tile*)
+               basic_machine=$basic_machine-unknown
+               os=-linux-gnu
+               ;;
+       tx39)
+               basic_machine=mipstx39-unknown
+               ;;
+       tx39el)
+               basic_machine=mipstx39el-unknown
+               ;;
+       toad1)
+               basic_machine=pdp10-xkl
+               os=-tops20
+               ;;
+       tower | tower-32)
+               basic_machine=m68k-ncr
+               ;;
+       tpf)
+               basic_machine=s390x-ibm
+               os=-tpf
+               ;;
+       udi29k)
+               basic_machine=a29k-amd
+               os=-udi
+               ;;
+       ultra3)
+               basic_machine=a29k-nyu
+               os=-sym1
+               ;;
+       v810 | necv810)
+               basic_machine=v810-nec
+               os=-none
+               ;;
+       vaxv)
+               basic_machine=vax-dec
+               os=-sysv
+               ;;
+       vms)
+               basic_machine=vax-dec
+               os=-vms
+               ;;
+       vpp*|vx|vx-*)
+               basic_machine=f301-fujitsu
+               ;;
+       vxworks960)
+               basic_machine=i960-wrs
+               os=-vxworks
+               ;;
+       vxworks68)
+               basic_machine=m68k-wrs
+               os=-vxworks
+               ;;
+       vxworks29k)
+               basic_machine=a29k-wrs
+               os=-vxworks
+               ;;
+       w65*)
+               basic_machine=w65-wdc
+               os=-none
+               ;;
+       w89k-*)
+               basic_machine=hppa1.1-winbond
+               os=-proelf
+               ;;
+       xbox)
+               basic_machine=i686-pc
+               os=-mingw32
+               ;;
+       xps | xps100)
+               basic_machine=xps100-honeywell
+               ;;
+       xscale-* | xscalee[bl]-*)
+               basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
+               ;;
+       ymp)
+               basic_machine=ymp-cray
+               os=-unicos
+               ;;
+       z8k-*-coff)
+               basic_machine=z8k-unknown
+               os=-sim
+               ;;
+       z80-*-coff)
+               basic_machine=z80-unknown
+               os=-sim
+               ;;
+       none)
+               basic_machine=none-none
+               os=-none
+               ;;
+
+# Here we handle the default manufacturer of certain CPU types.  It is in
+# some cases the only manufacturer, in others, it is the most popular.
+       w89k)
+               basic_machine=hppa1.1-winbond
+               ;;
+       op50n)
+               basic_machine=hppa1.1-oki
+               ;;
+       op60c)
+               basic_machine=hppa1.1-oki
+               ;;
+       romp)
+               basic_machine=romp-ibm
+               ;;
+       mmix)
+               basic_machine=mmix-knuth
+               ;;
+       rs6000)
+               basic_machine=rs6000-ibm
+               ;;
+       vax)
+               basic_machine=vax-dec
+               ;;
+       pdp10)
+               # there are many clones, so DEC is not a safe bet
+               basic_machine=pdp10-unknown
+               ;;
+       pdp11)
+               basic_machine=pdp11-dec
+               ;;
+       we32k)
+               basic_machine=we32k-att
+               ;;
+       sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
+               basic_machine=sh-unknown
+               ;;
+       sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
+               basic_machine=sparc-sun
+               ;;
+       cydra)
+               basic_machine=cydra-cydrome
+               ;;
+       orion)
+               basic_machine=orion-highlevel
+               ;;
+       orion105)
+               basic_machine=clipper-highlevel
+               ;;
+       mac | mpw | mac-mpw)
+               basic_machine=m68k-apple
+               ;;
+       pmac | pmac-mpw)
+               basic_machine=powerpc-apple
+               ;;
+       *-unknown)
+               # Make sure to match an already-canonicalized machine name.
+               ;;
+       *)
+               echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+               exit 1
+               ;;
+esac
+
+# Here we canonicalize certain aliases for manufacturers.
+case $basic_machine in
+       *-digital*)
+               basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
+               ;;
+       *-commodore*)
+               basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
+               ;;
+       *)
+               ;;
+esac
+
+# Decode manufacturer-specific aliases for certain operating systems.
+
+if [ x"$os" != x"" ]
+then
+case $os in
+       # First match some system type aliases
+       # that might get confused with valid system types.
+       # -solaris* is a basic system type, with this one exception.
+       -auroraux)
+               os=-auroraux
+               ;;
+       -solaris1 | -solaris1.*)
+               os=`echo $os | sed -e 's|solaris1|sunos4|'`
+               ;;
+       -solaris)
+               os=-solaris2
+               ;;
+       -svr4*)
+               os=-sysv4
+               ;;
+       -unixware*)
+               os=-sysv4.2uw
+               ;;
+       -gnu/linux*)
+               os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
+               ;;
+       # First accept the basic system types.
+       # The portable systems comes first.
+       # Each alternative MUST END IN A *, to match a version number.
+       # -sysv* is not here because it comes later, after sysvr4.
+       -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
+             | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
+             | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
+             | -sym* | -kopensolaris* | -plan9* \
+             | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
+             | -aos* | -aros* \
+             | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
+             | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
+             | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
+             | -bitrig* | -openbsd* | -solidbsd* \
+             | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
+             | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
+             | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
+             | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
+             | -chorusos* | -chorusrdb* | -cegcc* \
+             | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
+             | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
+             | -linux-newlib* | -linux-musl* | -linux-uclibc* \
+             | -uxpv* | -beos* | -mpeix* | -udk* \
+             | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
+             | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
+             | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
+             | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
+             | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
+             | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
+             | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
+       # Remember, each alternative MUST END IN *, to match a version number.
+               ;;
+       -qnx*)
+               case $basic_machine in
+                   x86-* | i*86-*)
+                       ;;
+                   *)
+                       os=-nto$os
+                       ;;
+               esac
+               ;;
+       -nto-qnx*)
+               ;;
+       -nto*)
+               os=`echo $os | sed -e 's|nto|nto-qnx|'`
+               ;;
+       -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
+             | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
+             | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
+               ;;
+       -mac*)
+               os=`echo $os | sed -e 's|mac|macos|'`
+               ;;
+       -linux-dietlibc)
+               os=-linux-dietlibc
+               ;;
+       -linux*)
+               os=`echo $os | sed -e 's|linux|linux-gnu|'`
+               ;;
+       -sunos5*)
+               os=`echo $os | sed -e 's|sunos5|solaris2|'`
+               ;;
+       -sunos6*)
+               os=`echo $os | sed -e 's|sunos6|solaris3|'`
+               ;;
+       -opened*)
+               os=-openedition
+               ;;
+       -os400*)
+               os=-os400
+               ;;
+       -wince*)
+               os=-wince
+               ;;
+       -osfrose*)
+               os=-osfrose
+               ;;
+       -osf*)
+               os=-osf
+               ;;
+       -utek*)
+               os=-bsd
+               ;;
+       -dynix*)
+               os=-bsd
+               ;;
+       -acis*)
+               os=-aos
+               ;;
+       -atheos*)
+               os=-atheos
+               ;;
+       -syllable*)
+               os=-syllable
+               ;;
+       -386bsd)
+               os=-bsd
+               ;;
+       -ctix* | -uts*)
+               os=-sysv
+               ;;
+       -nova*)
+               os=-rtmk-nova
+               ;;
+       -ns2 )
+               os=-nextstep2
+               ;;
+       -nsk*)
+               os=-nsk
+               ;;
+       # Preserve the version number of sinix5.
+       -sinix5.*)
+               os=`echo $os | sed -e 's|sinix|sysv|'`
+               ;;
+       -sinix*)
+               os=-sysv4
+               ;;
+       -tpf*)
+               os=-tpf
+               ;;
+       -triton*)
+               os=-sysv3
+               ;;
+       -oss*)
+               os=-sysv3
+               ;;
+       -svr4)
+               os=-sysv4
+               ;;
+       -svr3)
+               os=-sysv3
+               ;;
+       -sysvr4)
+               os=-sysv4
+               ;;
+       # This must come after -sysvr4.
+       -sysv*)
+               ;;
+       -ose*)
+               os=-ose
+               ;;
+       -es1800*)
+               os=-ose
+               ;;
+       -xenix)
+               os=-xenix
+               ;;
+       -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+               os=-mint
+               ;;
+       -aros*)
+               os=-aros
+               ;;
+       -zvmoe)
+               os=-zvmoe
+               ;;
+       -dicos*)
+               os=-dicos
+               ;;
+       -nacl*)
+               ;;
+       -none)
+               ;;
+       *)
+               # Get rid of the `-' at the beginning of $os.
+               os=`echo $os | sed 's/[^-]*-//'`
+               echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
+               exit 1
+               ;;
+esac
+else
+
+# Here we handle the default operating systems that come with various machines.
+# The value should be what the vendor currently ships out the door with their
+# machine or put another way, the most popular os provided with the machine.
+
+# Note that if you're going to try to match "-MANUFACTURER" here (say,
+# "-sun"), then you have to tell the case statement up towards the top
+# that MANUFACTURER isn't an operating system.  Otherwise, code above
+# will signal an error saying that MANUFACTURER isn't an operating
+# system, and we'll never get to this point.
+
+case $basic_machine in
+       score-*)
+               os=-elf
+               ;;
+       spu-*)
+               os=-elf
+               ;;
+       *-acorn)
+               os=-riscix1.2
+               ;;
+       arm*-rebel)
+               os=-linux
+               ;;
+       arm*-semi)
+               os=-aout
+               ;;
+       c4x-* | tic4x-*)
+               os=-coff
+               ;;
+       c8051-*)
+               os=-elf
+               ;;
+       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
+               ;;
+       or1k-*)
+               os=-elf
+               ;;
+       or32-*)
+               os=-coff
+               ;;
+       *-tti)  # must be before sparc entry or we get the wrong os.
+               os=-sysv3
+               ;;
+       sparc-* | *-sun)
+               os=-sunos4.1.1
+               ;;
+       *-be)
+               os=-beos
+               ;;
+       *-haiku)
+               os=-haiku
+               ;;
+       *-ibm)
+               os=-aix
+               ;;
+       *-knuth)
+               os=-mmixware
+               ;;
+       *-wec)
+               os=-proelf
+               ;;
+       *-winbond)
+               os=-proelf
+               ;;
+       *-oki)
+               os=-proelf
+               ;;
+       *-hp)
+               os=-hpux
+               ;;
+       *-hitachi)
+               os=-hiux
+               ;;
+       i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
+               os=-sysv
+               ;;
+       *-cbm)
+               os=-amigaos
+               ;;
+       *-dg)
+               os=-dgux
+               ;;
+       *-dolphin)
+               os=-sysv3
+               ;;
+       m68k-ccur)
+               os=-rtu
+               ;;
+       m88k-omron*)
+               os=-luna
+               ;;
+       *-next )
+               os=-nextstep
+               ;;
+       *-sequent)
+               os=-ptx
+               ;;
+       *-crds)
+               os=-unos
+               ;;
+       *-ns)
+               os=-genix
+               ;;
+       i370-*)
+               os=-mvs
+               ;;
+       *-next)
+               os=-nextstep3
+               ;;
+       *-gould)
+               os=-sysv
+               ;;
+       *-highlevel)
+               os=-bsd
+               ;;
+       *-encore)
+               os=-bsd
+               ;;
+       *-sgi)
+               os=-irix
+               ;;
+       *-siemens)
+               os=-sysv4
+               ;;
+       *-masscomp)
+               os=-rtu
+               ;;
+       f30[01]-fujitsu | f700-fujitsu)
+               os=-uxpv
+               ;;
+       *-rom68k)
+               os=-coff
+               ;;
+       *-*bug)
+               os=-coff
+               ;;
+       *-apple)
+               os=-macos
+               ;;
+       *-atari*)
+               os=-mint
+               ;;
+       *)
+               os=-none
+               ;;
+esac
+fi
+
+# Here we handle the case where we know the os, and the CPU type, but not the
+# manufacturer.  We pick the logical manufacturer.
+vendor=unknown
+case $basic_machine in
+       *-unknown)
+               case $os in
+                       -riscix*)
+                               vendor=acorn
+                               ;;
+                       -sunos*)
+                               vendor=sun
+                               ;;
+                       -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
+                               ;;
+                       -mvs* | -opened*)
+                               vendor=ibm
+                               ;;
+                       -os400*)
+                               vendor=ibm
+                               ;;
+                       -ptx*)
+                               vendor=sequent
+                               ;;
+                       -tpf*)
+                               vendor=ibm
+                               ;;
+                       -vxsim* | -vxworks* | -windiss*)
+                               vendor=wrs
+                               ;;
+                       -aux*)
+                               vendor=apple
+                               ;;
+                       -hms*)
+                               vendor=hitachi
+                               ;;
+                       -mpw* | -macos*)
+                               vendor=apple
+                               ;;
+                       -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+                               vendor=atari
+                               ;;
+                       -vos*)
+                               vendor=stratus
+                               ;;
+               esac
+               basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
+               ;;
+esac
+
+echo $basic_machine$os
+exit
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:
index 5cfa3b0c824aeb5f79265a0781376a08c4afbb08..21a0019de1ca49e440b20e82c437754f37f4f94f 100644 (file)
@@ -5,21 +5,21 @@
        <key>CFBundleName</key>
        <string>${PRODUCT_NAME}</string>
        <key>NSHumanReadableCopyright</key>
        <key>CFBundleName</key>
        <string>${PRODUCT_NAME}</string>
        <key>NSHumanReadableCopyright</key>
-       <string>5.23</string>
+       <string>5.24</string>
        <key>CFBundleDevelopmentRegion</key>
        <string>English</string>
        <key>CFBundleVersion</key>
        <key>CFBundleDevelopmentRegion</key>
        <string>English</string>
        <key>CFBundleVersion</key>
-       <string>5.23</string>
+       <string>5.24</string>
        <key>NSMainNibFile</key>
        <string>iSaverRunner</string>
        <key>CFBundlePackageType</key>
        <string>APPL</string>
        <key>CFBundleIconFile</key>
        <string>iSaverRunner57.png</string>
        <key>NSMainNibFile</key>
        <string>iSaverRunner</string>
        <key>CFBundlePackageType</key>
        <string>APPL</string>
        <key>CFBundleIconFile</key>
        <string>iSaverRunner57.png</string>
-       <key>UIStatusBarHidden</key>
-       <true/>
+       <key>UIViewControllerBasedStatusBarAppearance</key>
+       <false/>
        <key>CFBundleShortVersionString</key>
        <key>CFBundleShortVersionString</key>
-       <string>5.23</string>
+       <string>5.24</string>
        <key>CFBundleInfoDictionaryVersion</key>
        <string>6.0</string>
        <key>UIRequiredDeviceCapabilities</key>
        <key>CFBundleInfoDictionaryVersion</key>
        <string>6.0</string>
        <key>UIRequiredDeviceCapabilities</key>
@@ -37,7 +37,7 @@
                <string>UIInterfaceOrientationLandscapeRight</string>
        </array>
        <key>CFBundleLongVersionString</key>
                <string>UIInterfaceOrientationLandscapeRight</string>
        </array>
        <key>CFBundleLongVersionString</key>
-       <string>5.23</string>
+       <string>5.24</string>
        <key>CFBundleIdentifier</key>
        <string>${BUNDLE_IDENTIFIER}</string>
        <key>CFBundleSignature</key>
        <key>CFBundleIdentifier</key>
        <string>${BUNDLE_IDENTIFIER}</string>
        <key>CFBundleSignature</key>
@@ -62,6 +62,6 @@
        <key>CFBundleDisplayName</key>
        <string>${PRODUCT_NAME}</string>
        <key>CFBundleGetInfoString</key>
        <key>CFBundleDisplayName</key>
        <string>${PRODUCT_NAME}</string>
        <key>CFBundleGetInfoString</key>
-       <string>5.23</string>
+       <string>5.24</string>
 </dict>
 </plist>
 </dict>
 </plist>
index 44e7f9bdebbf0b0c0b421b372c5297a36bb1be0e..e2a155dd3dcd8235f99976df343bdc8441c0e3da 100755 (executable)
@@ -37,6 +37,7 @@ SRC=`dirname "$PACKAGE_PATH"`/"Screen Savers"
 DST1="$DSTVOLUME/Library/Screen Savers"
 DST2="$DSTVOLUME/Applications"
 PU="$DSTVOLUME/$HOME/Library/Screen Savers"
 DST1="$DSTVOLUME/Library/Screen Savers"
 DST2="$DSTVOLUME/Applications"
 PU="$DSTVOLUME/$HOME/Library/Screen Savers"
+UPDATER="XScreenSaverUpdater.app"
 
 function error() {
   echo "Error: $@" >&2
 
 function error() {
   echo "Error: $@" >&2
@@ -66,12 +67,13 @@ mkdir -p "$DST1" || error "Unable to create directory $DST1/"
 mkdir -p "$DST2" || error "Unable to create directory $DST2/"
 
 # Install the savers in /System/Library/Screen Savers/
 mkdir -p "$DST2" || error "Unable to create directory $DST2/"
 
 # Install the savers in /System/Library/Screen Savers/
+# Plus the updater.
 #
 #
-for f in *.saver ; do
+for f in *.saver "$UPDATER" ; do
   DD="$DST1/$f"
   echo "Installing $DD" >&2
   rm -rf "$DD" || error "Unable to delete $DD"
   DD="$DST1/$f"
   echo "Installing $DD" >&2
   rm -rf "$DD" || error "Unable to delete $DD"
-  cp -pr "$f" "$DST1/" || error "Unable to install $f in $DST1/"
+  cp -pR "$f" "$DST1/" || error "Unable to install $f in $DST1/"
   xattr -r -d com.apple.quarantine "$DD"
 
   # If this saver is also installed in the per-user directory,
   xattr -r -d com.apple.quarantine "$DD"
 
   # If this saver is also installed in the per-user directory,
@@ -84,13 +86,16 @@ done
 
 
 # Install the apps in /Applications/
 
 
 # Install the apps in /Applications/
+# But not the updater.
 #
 for f in *.app ; do
 #
 for f in *.app ; do
-  DD="$DST2/$f"
-  echo "Installing $DD" >&2
-  rm -rf "$DD" || error "Unable to delete $DD"
-  cp -pr "$f" "$DST2/" || error "Unable to install $f in $DST2/"
-  xattr -r -d com.apple.quarantine "$DD"
+  if [ "$f" != "$UPDATER" ]; then
+    DD="$DST2/$f"
+    echo "Installing $DD" >&2
+    rm -rf "$DD" || error "Unable to delete $DD"
+    cp -pR "$f" "$DST2/" || error "Unable to install $f in $DST2/"
+    xattr -r -d com.apple.quarantine "$DD"
+  fi
 done
 
 # Launch System Preferences with the Screen Saver pane selected.
 done
 
 # Launch System Preferences with the Screen Saver pane selected.
index 06db22436a21bfb8d3362ace7b0067b8d9675894..15d82135ade30bf2d4a10395924854db03ba365d 100644 (file)
@@ -244,6 +244,11 @@ jwxyz_window_resized (Display *dpy, Window w,
     CGDisplayCount n;
     dpy->cgdpy = 0;
     CGGetDisplaysWithPoint (p, 1, &dpy->cgdpy, &n);
     CGDisplayCount n;
     dpy->cgdpy = 0;
     CGGetDisplaysWithPoint (p, 1, &dpy->cgdpy, &n);
+    // Auuugh!
+    if (! dpy->cgdpy) {
+      p.x = p.y = 0;
+      CGGetDisplaysWithPoint (p, 1, &dpy->cgdpy, &n);
+    }
     Assert (dpy->cgdpy, "unable to find CGDisplay");
   }
 # endif // USE_IPHONE
     Assert (dpy->cgdpy, "unable to find CGDisplay");
   }
 # endif // USE_IPHONE
@@ -775,8 +780,15 @@ XCopyArea (Display *dpy, Drawable src, Drawable dst, GC gc,
   // Sort-of-special case where no pixels can be grabbed from the source,
   // and the whole destination is filled with the background color.
   if (src_rect.size.width < 0 || src_rect.size.height < 0) {
   // Sort-of-special case where no pixels can be grabbed from the source,
   // and the whole destination is filled with the background color.
   if (src_rect.size.width < 0 || src_rect.size.height < 0) {
+    
+    Assert((int)src_rect.size.width  == (int)dst_rect.size.width ||
+           (int)src_rect.size.height == (int)dst_rect.size.height,
+           "size mismatch");
+    
     src_rect.size.width  = 0;
     src_rect.size.height = 0;
     src_rect.size.width  = 0;
     src_rect.size.height = 0;
+    dst_rect.size.width  = 0;
+    dst_rect.size.height = 0;
   }
   
   NSObject *releaseme = 0;
   }
   
   NSObject *releaseme = 0;
diff --git a/OSX/jwxyz.m.orig b/OSX/jwxyz.m.orig
new file mode 100644 (file)
index 0000000..080ce0c
--- /dev/null
@@ -0,0 +1,3499 @@
+/* xscreensaver, Copyright (c) 1991-2013 Jamie Zawinski <jwz@jwz.org>
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation.  No representations are made about the suitability of this
+ * software for any purpose.  It is provided "as is" without express or 
+ * implied warranty.
+ */
+
+/* JWXYZ Is Not Xlib.
+
+   But it's a bunch of function definitions that bear some resemblance to
+   Xlib and that do Cocoa-ish things that bear some resemblance to the
+   things that Xlib might have done.
+ */
+
+#import <stdlib.h>
+#import <stdint.h>
+#import <wchar.h>
+
+#ifdef USE_IPHONE
+# import <UIKit/UIKit.h>
+# import <UIKit/UIScreen.h>
+# import <QuartzCore/QuartzCore.h>
+# import <CoreText/CTFont.h>
+# define NSView  UIView
+# define NSRect  CGRect
+# define NSPoint CGPoint
+# define NSSize  CGSize
+# define NSColor UIColor
+# define NSImage UIImage
+# define NSEvent UIEvent
+# define NSFont  UIFont
+# define NSGlyph CGGlyph
+# define NSWindow UIWindow
+# define NSMakeSize   CGSizeMake
+# define NSBezierPath UIBezierPath
+#else
+# import <Cocoa/Cocoa.h>
+#endif
+
+#import "jwxyz.h"
+#import "jwxyz-timers.h"
+#import "yarandom.h"
+
+# define USE_BACKBUFFER  /* must be in sync with XScreenSaverView.h */
+
+#undef  Assert
+#define Assert(C,S) do { if (!(C)) jwxyz_abort ("%s",(S)); } while(0)
+
+# undef MAX
+# undef MIN
+# define MAX(a,b) ((a)>(b)?(a):(b))
+# define MIN(a,b) ((a)<(b)?(a):(b))
+
+
+struct jwxyz_Drawable {
+  enum { WINDOW, PIXMAP } type;
+  CGContextRef cgc;
+  CGImageRef cgi;
+  CGRect frame;
+  union {
+    struct {
+      NSView *view;
+      unsigned long background;
+      int last_mouse_x, last_mouse_y;
+    } window;
+    struct {
+      int depth;
+      void *cgc_buffer;                // the bits to which CGContextRef renders
+    } pixmap;
+  };
+};
+
+struct jwxyz_Display {
+  Window main_window;
+  Screen *screen;
+  struct jwxyz_sources_data *timers_data;
+
+# ifndef USE_IPHONE
+  CGDirectDisplayID cgdpy;  /* ...of the one and only Window, main_window.
+                               This can change if the window is dragged to
+                               a different screen. */
+# endif
+
+  CGColorSpaceRef colorspace;  /* Color space of this screen.  We tag all of
+                                  our images with this to avoid translation
+                                  when rendering. */
+};
+
+struct jwxyz_Screen {
+  Display *dpy;
+  Visual *visual;
+};
+
+struct jwxyz_GC {
+  XGCValues gcv;
+  unsigned int depth;
+  CGImageRef clip_mask;  // CGImage copy of the Pixmap in gcv.clip_mask
+};
+
+struct jwxyz_Font {
+  char *ps_name;
+  NSFont *nsfont;
+  float size;   // points
+
+  // In X11, "Font" is just an ID, and "XFontStruct" contains the metrics.
+  // But we need the metrics on both of them, so they go here.
+  XFontStruct metrics;
+};
+
+
+/* Instead of calling abort(), throw a real exception, so that
+   XScreenSaverView can catch it and display a dialog.
+ */
+void
+jwxyz_abort (const char *fmt, ...)
+{
+  char s[10240];
+  if (!fmt || !*fmt)
+    strcpy (s, "abort");
+  else
+    {
+      va_list args;
+      va_start (args, fmt);
+      vsprintf (s, fmt, args);
+      va_end (args);
+    }
+  [[NSException exceptionWithName: NSInternalInconsistencyException
+                reason: [NSString stringWithCString: s
+                                  encoding:NSUTF8StringEncoding]
+                userInfo: nil]
+    raise];
+  abort();  // not reached
+}
+
+
+Display *
+jwxyz_make_display (void *nsview_arg, void *cgc_arg)
+{
+  CGContextRef cgc = (CGContextRef) cgc_arg;
+  NSView *view = (NSView *) nsview_arg;
+  Assert (view, "no view");
+  if (!view) return 0;
+
+  Display *d = (Display *) calloc (1, sizeof(*d));
+  d->screen = (Screen *) calloc (1, sizeof(Screen));
+  d->screen->dpy = d;
+  
+  Visual *v = (Visual *) calloc (1, sizeof(Visual));
+  v->class      = TrueColor;
+  v->red_mask   = 0x00FF0000;
+  v->green_mask = 0x0000FF00;
+  v->blue_mask  = 0x000000FF;
+  v->bits_per_rgb = 8;
+  d->screen->visual = v;
+  
+  d->timers_data = jwxyz_sources_init (XtDisplayToApplicationContext (d));
+
+
+  Window w = (Window) calloc (1, sizeof(*w));
+  w->type = WINDOW;
+  w->window.view = view;
+  CFRetain (w->window.view);   // needed for garbage collection?
+  w->window.background = BlackPixel(0,0);
+
+  d->main_window = w;
+
+# ifndef USE_IPHONE
+  if (! cgc) {
+    [view lockFocus];
+    cgc = [[[view window] graphicsContext] graphicsPort];
+    [view unlockFocus];
+    w->cgc = cgc;
+  }
+# endif
+
+  Assert (cgc, "no CGContext");
+  return d;
+}
+
+void
+jwxyz_free_display (Display *dpy)
+{
+  jwxyz_XtRemoveInput_all (dpy);
+  // #### jwxyz_XtRemoveTimeOut_all ();
+  
+  free (dpy->screen->visual);
+  free (dpy->screen);
+  free (dpy->main_window);
+  free (dpy);
+}
+
+
+void *
+jwxyz_window_view (Window w)
+{
+  Assert (w && w->type == WINDOW, "not a window");
+  return w->window.view;
+}
+
+
+/* Call this after any modification to the bits on a Pixmap or Window.
+   Most Pixmaps are used frequently as sources and infrequently as
+   destinations, so it pays to cache the data as a CGImage as needed.
+ */
+static void
+invalidate_drawable_cache (Drawable d)
+{
+  if (d && d->cgi) {
+    CGImageRelease (d->cgi);
+    d->cgi = 0;
+  }
+}
+
+
+/* Call this when the View changes size or position.
+ */
+void
+jwxyz_window_resized (Display *dpy, Window w, 
+                      int new_x, int new_y, int new_width, int new_height,
+                      void *cgc_arg)
+{
+  CGContextRef cgc = (CGContextRef) cgc_arg;
+  Assert (w && w->type == WINDOW, "not a window");
+  w->frame.origin.x    = new_x;
+  w->frame.origin.y    = new_y;
+  w->frame.size.width  = new_width;
+  w->frame.size.height = new_height;
+
+  if (cgc) w->cgc = cgc;
+  Assert (w->cgc, "no CGContext");
+
+# ifndef USE_IPHONE
+  // Figure out which screen the window is currently on.
+  {
+    int wx, wy;
+    XTranslateCoordinates (dpy, w, NULL, 0, 0, &wx, &wy, NULL);
+    CGPoint p;
+    p.x = wx;
+    p.y = wy;
+    CGDisplayCount n;
+    dpy->cgdpy = 0;
+    CGGetDisplaysWithPoint (p, 1, &dpy->cgdpy, &n);
+    // Auuugh!
+    if (! dpy->cgdpy) {
+      p.x = p.y = 0;
+      CGGetDisplaysWithPoint (p, 1, &dpy->cgdpy, &n);
+    }
+    Assert (dpy->cgdpy, "unable to find CGDisplay");
+  }
+# endif // USE_IPHONE
+
+# ifndef USE_BACKBUFFER
+  // Funny thing: As of OS X 10.9, if USE_BACKBUFFER is turned off,
+  // then this one's faster.
+
+  {
+    // Figure out this screen's colorspace, and use that for every CGImage.
+    //
+    CMProfileRef profile = 0;
+    CMGetProfileByAVID ((CMDisplayIDType) dpy->cgdpy, &profile);
+    Assert (profile, "unable to find colorspace profile");
+    dpy->colorspace = CGColorSpaceCreateWithPlatformColorSpace (profile);
+    Assert (dpy->colorspace, "unable to find colorspace");
+  }
+# else  // USE_BACKBUFFER
+
+  // WTF?  It's faster if we *do not* use the screen's colorspace!
+  //
+  dpy->colorspace = CGColorSpaceCreateDeviceRGB();
+# endif // USE_BACKBUFFER
+
+  invalidate_drawable_cache (w);
+}
+
+
+#ifdef USE_IPHONE
+void
+jwxyz_mouse_moved (Display *dpy, Window w, int x, int y)
+{
+  Assert (w && w->type == WINDOW, "not a window");
+  w->window.last_mouse_x = x;
+  w->window.last_mouse_y = y;
+}
+#endif // USE_IPHONE
+
+
+void
+jwxyz_flush_context (Display *dpy)
+{
+  // This is only used when USE_BACKBUFFER is off.
+  CGContextFlush(dpy->main_window->cgc); // CGContextSynchronize is another possibility.
+}
+
+jwxyz_sources_data *
+display_sources_data (Display *dpy)
+{
+  return dpy->timers_data;
+}
+
+
+Window
+XRootWindow (Display *dpy, int screen)
+{
+  return dpy->main_window;
+}
+
+Screen *
+XDefaultScreenOfDisplay (Display *dpy)
+{
+  return dpy->screen;
+}
+
+Visual *
+XDefaultVisualOfScreen (Screen *screen)
+{
+  return screen->visual;
+}
+
+Display *
+XDisplayOfScreen (Screen *s)
+{
+  return s->dpy;
+}
+
+int
+XDisplayNumberOfScreen (Screen *s)
+{
+  return 0;
+}
+
+int
+XScreenNumberOfScreen (Screen *s)
+{
+  return 0;
+}
+
+int
+XDisplayWidth (Display *dpy, int screen)
+{
+  return (int) dpy->main_window->frame.size.width;
+}
+
+int
+XDisplayHeight (Display *dpy, int screen)
+{
+  return (int) dpy->main_window->frame.size.height;
+}
+
+static void
+validate_pixel (unsigned long pixel, unsigned int depth, BOOL alpha_allowed_p)
+{
+  if (depth == 1)
+    Assert ((pixel == 0 || pixel == 1), "bogus mono pixel");
+  else if (!alpha_allowed_p)
+    Assert (((pixel & BlackPixel(0,0)) == BlackPixel(0,0)),
+            "bogus color pixel");
+}
+
+
+static void
+set_color (CGContextRef cgc, unsigned long argb, unsigned int depth,
+           BOOL alpha_allowed_p, BOOL fill_p)
+{
+  validate_pixel (argb, depth, alpha_allowed_p);
+  if (depth == 1) {
+    if (fill_p)
+      CGContextSetGrayFillColor   (cgc, (argb ? 1.0 : 0.0), 1.0);
+    else
+      CGContextSetGrayStrokeColor (cgc, (argb ? 1.0 : 0.0), 1.0);
+  } else {
+    float a = ((argb >> 24) & 0xFF) / 255.0;
+    float r = ((argb >> 16) & 0xFF) / 255.0;
+    float g = ((argb >>  8) & 0xFF) / 255.0;
+    float b = ((argb      ) & 0xFF) / 255.0;
+    if (fill_p)
+      CGContextSetRGBFillColor   (cgc, r, g, b, a);
+    else
+      CGContextSetRGBStrokeColor (cgc, r, g, b, a);
+  }
+}
+
+static void
+set_line_mode (CGContextRef cgc, XGCValues *gcv)
+{
+  CGContextSetLineWidth (cgc, gcv->line_width ? gcv->line_width : 1);
+  CGContextSetLineJoin  (cgc,
+                         gcv->join_style == JoinMiter ? kCGLineJoinMiter :
+                         gcv->join_style == JoinRound ? kCGLineJoinRound :
+                         kCGLineJoinBevel);
+  CGContextSetLineCap   (cgc, 
+                         gcv->cap_style == CapNotLast ? kCGLineCapButt  :
+                         gcv->cap_style == CapButt    ? kCGLineCapButt  :
+                         gcv->cap_style == CapRound   ? kCGLineCapRound :
+                         kCGLineCapSquare);
+}
+
+static void
+set_clip_mask (Drawable d, GC gc)
+{
+  Assert (!!gc->gcv.clip_mask == !!gc->clip_mask, "GC clip mask mixup");
+
+  Pixmap p = gc->gcv.clip_mask;
+  if (!p) return;
+  Assert (p->type == PIXMAP, "not a pixmap");
+
+  CGRect wr = d->frame;
+  CGRect to;
+  to.origin.x    = wr.origin.x + gc->gcv.clip_x_origin;
+  to.origin.y    = wr.origin.y + wr.size.height - gc->gcv.clip_y_origin
+                    - p->frame.size.height;
+  to.size.width  = p->frame.size.width;
+  to.size.height = p->frame.size.height;
+
+  CGContextClipToMask (d->cgc, to, gc->clip_mask);
+}
+
+
+/* Pushes a GC context; sets BlendMode and ClipMask.
+ */
+static void
+push_gc (Drawable d, GC gc)
+{
+  CGContextRef cgc = d->cgc;
+  CGContextSaveGState (cgc);
+
+  switch (gc->gcv.function) {
+    case GXset:
+    case GXclear:
+    case GXcopy:/*CGContextSetBlendMode (cgc, kCGBlendModeNormal);*/   break;
+    case GXxor:   CGContextSetBlendMode (cgc, kCGBlendModeDifference); break;
+    case GXor:    CGContextSetBlendMode (cgc, kCGBlendModeLighten);    break;
+    case GXand:   CGContextSetBlendMode (cgc, kCGBlendModeDarken);     break;
+    default: Assert(0, "unknown gcv function"); break;
+  }
+
+  if (gc->gcv.clip_mask)
+    set_clip_mask (d, gc);
+}
+
+#define pop_gc(d,gc) CGContextRestoreGState (d->cgc)
+
+
+/* Pushes a GC context; sets BlendMode, ClipMask, Fill, and Stroke colors.
+ */
+static void
+push_color_gc (Drawable d, GC gc, unsigned long color, 
+               BOOL antialias_p, Bool fill_p)
+{
+  push_gc (d, gc);
+
+  int depth = gc->depth;
+  switch (gc->gcv.function) {
+    case GXset:   color = (depth == 1 ? 1 : WhitePixel(0,0)); break;
+    case GXclear: color = (depth == 1 ? 0 : BlackPixel(0,0)); break;
+  }
+
+  CGContextRef cgc = d->cgc;
+  set_color (cgc, color, depth, gc->gcv.alpha_allowed_p, fill_p);
+  CGContextSetShouldAntialias (cgc, antialias_p);
+}
+
+
+/* Pushes a GC context; sets Fill and Stroke colors to the foreground color.
+ */
+static void
+push_fg_gc (Drawable d, GC gc, Bool fill_p)
+{
+  push_color_gc (d, gc, gc->gcv.foreground, gc->gcv.antialias_p, fill_p);
+}
+
+/* Pushes a GC context; sets Fill and Stroke colors to the background color.
+ */
+static void
+push_bg_gc (Drawable d, GC gc, Bool fill_p)
+{
+  push_color_gc (d, gc, gc->gcv.background, gc->gcv.antialias_p, fill_p);
+}
+
+
+
+/* You've got to be fucking kidding me!
+
+   It is *way* faster to draw points by creating and drawing a 1x1 CGImage
+   with repeated calls to CGContextDrawImage than it is to make a single
+   call to CGContextFillRects() with a list of 1x1 rectangles!
+
+   I still wouldn't call it *fast*, however...
+ */
+#define XDRAWPOINTS_IMAGES
+
+/* Update, 2012: Kurt Revis <krevis@snoize.com> points out that diddling
+   the bitmap data directly is faster.  This only works on Pixmaps, though,
+   not Windows.  (Fortunately, on iOS, the Window is really a Pixmap.)
+ */
+#define XDRAWPOINTS_CGDATA
+
+int
+XDrawPoints (Display *dpy, Drawable d, GC gc, 
+             XPoint *points, int count, int mode)
+{
+  int i;
+  CGRect wr = d->frame;
+
+  push_fg_gc (d, gc, YES);
+
+# ifdef XDRAWPOINTS_CGDATA
+
+#  ifdef USE_BACKBUFFER
+  if (1)  // Because of the backbuffer, all iPhone Windows work like Pixmaps.
+#  else
+  if (d->type == PIXMAP)
+#  endif
+  {
+    CGContextRef cgc = d->cgc;
+    void *data = CGBitmapContextGetData (cgc);
+    size_t bpr = CGBitmapContextGetBytesPerRow (cgc);
+    size_t w = CGBitmapContextGetWidth (cgc);
+    size_t h = CGBitmapContextGetHeight (cgc);
+
+    Assert (data, "no bitmap data in Drawable");
+
+    unsigned int argb = gc->gcv.foreground;
+    validate_pixel (argb, gc->depth, gc->gcv.alpha_allowed_p);
+    if (gc->depth == 1)
+      argb = (gc->gcv.foreground ? WhitePixel(0,0) : BlackPixel(0,0));
+
+    CGFloat x0 = wr.origin.x;
+    CGFloat y0 = wr.origin.y; // Y axis is refreshingly not flipped.
+
+    // It's uglier, but faster, to hoist the conditional out of the loop.
+    if (mode == CoordModePrevious) {
+      CGFloat x = x0, y = y0;
+      for (i = 0; i < count; i++, points++) {
+        x += points->x;
+        y += points->y;
+
+        if (x >= 0 && x < w && y >= 0 && y < h) {
+          unsigned int *p = (unsigned int *)
+            ((char *) data + (size_t) y * bpr + (size_t) x * 4);
+          *p = argb;
+        }
+      }
+    } else {
+      for (i = 0; i < count; i++, points++) {
+        CGFloat x = x0 + points->x;
+        CGFloat y = y0 + points->y;
+
+        if (x >= 0 && x < w && y >= 0 && y < h) {
+          unsigned int *p = (unsigned int *)
+            ((char *) data + (size_t) y * bpr + (size_t) x * 4);
+          *p = argb;
+        }
+      }
+    }
+
+  } else       /* d->type == WINDOW */
+
+# endif /* XDRAWPOINTS_CGDATA */
+  {
+
+# ifdef XDRAWPOINTS_IMAGES
+
+    unsigned int argb = gc->gcv.foreground;
+    validate_pixel (argb, gc->depth, gc->gcv.alpha_allowed_p);
+    if (gc->depth == 1)
+      argb = (gc->gcv.foreground ? WhitePixel(0,0) : BlackPixel(0,0));
+
+    CGDataProviderRef prov = CGDataProviderCreateWithData (NULL, &argb, 4,
+                                                           NULL);
+    CGImageRef cgi = CGImageCreate (1, 1,
+                                    8, 32, 4,
+                                    dpy->colorspace, 
+                                    /* Host-ordered, since we're using the
+                                       address of an int as the color data. */
+                                    (kCGImageAlphaNoneSkipFirst | 
+                                     kCGBitmapByteOrder32Host),
+                                    prov, 
+                                    NULL,  /* decode[] */
+                                    NO, /* interpolate */
+                                    kCGRenderingIntentDefault);
+    CGDataProviderRelease (prov);
+
+    CGContextRef cgc = d->cgc;
+    CGRect rect;
+    rect.size.width = rect.size.height = 1;
+    for (i = 0; i < count; i++) {
+      if (i > 0 && mode == CoordModePrevious) {
+        rect.origin.x += points->x;
+        rect.origin.x -= points->y;
+      } else {
+        rect.origin.x = wr.origin.x + points->x;
+        rect.origin.y = wr.origin.y + wr.size.height - points->y - 1;
+      }
+
+      //Assert(CGImageGetColorSpace (cgi) == dpy->colorspace,"bad colorspace");
+      CGContextDrawImage (cgc, rect, cgi);
+      points++;
+    }
+
+    CGImageRelease (cgi);
+
+# else /* ! XDRAWPOINTS_IMAGES */
+
+    CGRect *rects = (CGRect *) malloc (count * sizeof(CGRect));
+    CGRect *r = rects;
+  
+    for (i = 0; i < count; i++) {
+      r->size.width = r->size.height = 1;
+      if (i > 0 && mode == CoordModePrevious) {
+        r->origin.x = r[-1].origin.x + points->x;
+        r->origin.y = r[-1].origin.x - points->y;
+      } else {
+        r->origin.x = wr.origin.x + points->x;
+        r->origin.y = wr.origin.y + wr.size.height - points->y;
+      }
+      points++;
+      r++;
+    }
+
+    CGContextFillRects (d->cgc, rects, count);
+    free (rects);
+
+# endif /* ! XDRAWPOINTS_IMAGES */
+  }
+
+  pop_gc (d, gc);
+  invalidate_drawable_cache (d);
+
+  return 0;
+}
+
+
+int
+XDrawPoint (Display *dpy, Drawable d, GC gc, int x, int y)
+{
+  XPoint p;
+  p.x = x;
+  p.y = y;
+  return XDrawPoints (dpy, d, gc, &p, 1, CoordModeOrigin);
+}
+
+
+static void draw_rect (Display *, Drawable, GC, 
+                       int x, int y, unsigned int width, unsigned int height, 
+                       BOOL foreground_p, BOOL fill_p);
+
+static Bool
+bitmap_context_p (Drawable d)
+{
+# ifdef USE_BACKBUFFER
+  return True;
+# else
+  // Because of the backbuffer, all iPhone Windows work like Pixmaps.
+  return d->type == PIXMAP;
+# endif
+}
+
+static void
+fill_rect_memset (void *dst, size_t dst_pitch, uint32_t fill_data,
+                  size_t fill_width, size_t fill_height)
+{
+  Assert(sizeof(wchar_t) == 4, "somebody changed the ABI");
+  while (fill_height) {
+    // Would be nice if Apple used SSE/NEON in wmemset. Maybe someday.
+    wmemset (dst, fill_data, fill_width);
+    --fill_height;
+    dst = (char *) dst + dst_pitch;
+  }
+}
+
+static void *
+seek_xy (void *dst, size_t dst_pitch, unsigned x, unsigned y)
+{
+  return (char *)dst + dst_pitch * y + x * 4;
+}
+
+static unsigned int
+drawable_depth (Drawable d)
+{
+  return (d->type == WINDOW
+          ? visual_depth (NULL, NULL)
+          : d->pixmap.depth);
+}
+
+
+int
+XCopyArea (Display *dpy, Drawable src, Drawable dst, GC gc, 
+           int src_x, int src_y, 
+           unsigned int width, unsigned int height, 
+           int dst_x, int dst_y)
+{
+  Assert (gc, "no GC");
+  Assert ((width  < 65535), "improbably large width");
+  Assert ((height < 65535), "improbably large height");
+  Assert ((src_x  < 65535 && src_x  > -65535), "improbably large src_x");
+  Assert ((src_y  < 65535 && src_y  > -65535), "improbably large src_y");
+  Assert ((dst_x  < 65535 && dst_x  > -65535), "improbably large dst_x");
+  Assert ((dst_y  < 65535 && dst_y  > -65535), "improbably large dst_y");
+
+  if (width == 0 || height == 0)
+    return 0;
+
+  if (gc->gcv.function == GXset ||
+      gc->gcv.function == GXclear) {
+    // "set" and "clear" are dumb drawing modes that ignore the source
+    // bits and just draw solid rectangles.
+    set_color (dst->cgc,
+               (gc->gcv.function == GXset
+                ? (gc->depth == 1 ? 1 : WhitePixel(0,0))
+                : (gc->depth == 1 ? 0 : BlackPixel(0,0))),
+               gc->depth, gc->gcv.alpha_allowed_p, YES);
+    draw_rect (dpy, dst, 0, dst_x, dst_y, width, height, YES, YES);
+    return 0;
+  }
+
+  CGRect src_frame, dst_frame;   // Sizes and origins of the two drawables
+  CGRect src_rect,  dst_rect;    // The two rects to draw, clipped to the
+                                 //  bounds of their drawables.
+  BOOL clipped = NO;             // Whether we did any clipping of the rects.
+
+  src_frame = src->frame;
+  dst_frame = dst->frame;
+  
+  // Initialize src_rect...
+  //
+  src_rect.origin.x    = src_frame.origin.x + src_x;
+  src_rect.origin.y    = src_frame.origin.y + src_frame.size.height
+                          - height - src_y;
+  if (src_rect.origin.y < -65535) Assert(0, "src.origin.y went nuts");
+  src_rect.size.width  = width;
+  src_rect.size.height = height;
+  
+  // Initialize dst_rect...
+  //
+  dst_rect.origin.x    = dst_frame.origin.x + dst_x;
+  dst_rect.origin.y    = dst_frame.origin.y + dst_frame.size.height
+                          - height - dst_y;
+  if (dst_rect.origin.y < -65535) Assert(0, "dst.origin.y went nuts");
+  dst_rect.size.width  = width;
+  dst_rect.size.height = height;
+  
+  // Clip rects to frames...
+  //
+
+# define CLIP(THIS,THAT,VAL,SIZE) do { \
+  float off = THIS##_rect.origin.VAL; \
+  if (off < 0) { \
+    clipped = YES; \
+    THIS##_rect.size.SIZE  += off; \
+    THAT##_rect.size.SIZE  += off; \
+    THIS##_rect.origin.VAL -= off; \
+    THAT##_rect.origin.VAL -= off; \
+  } \
+  off = (( THIS##_rect.origin.VAL +  THIS##_rect.size.SIZE) - \
+         (THIS##_frame.origin.VAL + THIS##_frame.size.SIZE)); \
+  if (off > 0) { \
+    clipped = YES; \
+    THIS##_rect.size.SIZE  -= off; \
+    THAT##_rect.size.SIZE  -= off; \
+  }} while(0)
+
+  CLIP (dst, src, x, width);
+  CLIP (dst, src, y, height);
+
+  // Not actually the original dst_rect, just the one before it's clipped to
+  // the src_frame.
+  CGRect orig_dst_rect = dst_rect;
+
+  CLIP (src, dst, x, width);
+  CLIP (src, dst, y, height);
+# undef CLIP
+
+  if (orig_dst_rect.size.width <= 0 || orig_dst_rect.size.height <= 0)
+    return 0;
+
+  // Sort-of-special case where no pixels can be grabbed from the source,
+  // and the whole destination is filled with the background color.
+  if (src_rect.size.width < 0 || src_rect.size.height < 0) {
+    src_rect.size.width  = 0;
+    src_rect.size.height = 0;
+  }
+  
+  NSObject *releaseme = 0;
+  CGImageRef cgi;
+  BOOL mask_p = NO;
+  BOOL free_cgi_p = NO;
+
+
+  /* If we're copying from a bitmap to a bitmap, and there's nothing funny
+     going on with clipping masks or depths or anything, optimize it by
+     just doing a memcpy instead of going through a CGI.
+   */
+  if (bitmap_context_p (src)) {
+
+    if (bitmap_context_p (dst) &&
+        gc->gcv.function == GXcopy &&
+        !gc->gcv.clip_mask &&
+        drawable_depth (src) == drawable_depth (dst)) {
+
+      Assert(!(int)src_frame.origin.x &&
+             !(int)src_frame.origin.y &&
+             !(int)dst_frame.origin.x &&
+             !(int)dst_frame.origin.y,
+             "unexpected non-zero origin");
+      
+      char *src_data = CGBitmapContextGetData(src->cgc);
+      char *dst_data = CGBitmapContextGetData(dst->cgc);
+      size_t src_pitch = CGBitmapContextGetBytesPerRow(src->cgc);
+      size_t dst_pitch = CGBitmapContextGetBytesPerRow(dst->cgc);
+      
+      // Int to float and back again. It's not very safe, but it seems to work.
+      int src_x0 = src_rect.origin.x;
+      int dst_x0 = dst_rect.origin.x;
+      
+      // Flip the Y-axis a second time.
+      int src_y0 = (src_frame.origin.y + src_frame.size.height -
+                    src_rect.size.height - src_rect.origin.y);
+      int dst_y0 = (dst_frame.origin.y + dst_frame.size.height -
+                    dst_rect.size.height - dst_rect.origin.y);
+      
+      unsigned width0  = (int) src_rect.size.width;
+      unsigned height0 = (int) src_rect.size.height;
+      
+      Assert((int)src_rect.size.width  == (int)dst_rect.size.width ||
+             (int)src_rect.size.height == (int)dst_rect.size.height,
+             "size mismatch");
+      {
+        char *src_data0 = seek_xy(src_data, src_pitch, src_x0, src_y0);
+        char *dst_data0 = seek_xy(dst_data, dst_pitch, dst_x0, dst_y0);
+        size_t src_pitch0 = src_pitch;
+        size_t dst_pitch0 = dst_pitch;
+        size_t bytes = width0 * 4;
+
+        if (src == dst && dst_y0 > src_y0) {
+          // Copy upwards if the areas might overlap.
+          src_data0 += src_pitch0 * (height0 - 1);
+          dst_data0 += dst_pitch0 * (height0 - 1);
+          src_pitch0 = -src_pitch0;
+          dst_pitch0 = -dst_pitch0;
+        }
+      
+        size_t lines0 = height0;
+        while (lines0) {
+          // memcpy is an alias for memmove on OS X.
+          memmove(dst_data0, src_data0, bytes);
+          src_data0 += src_pitch0;
+          dst_data0 += dst_pitch0;
+          --lines0;
+        }
+      }
+
+      if (clipped) {
+        int orig_dst_x = orig_dst_rect.origin.x;
+        int orig_dst_y = (dst_frame.origin.y + dst_frame.size.height -
+                          orig_dst_rect.origin.y - orig_dst_rect.size.height);
+        int orig_width  = orig_dst_rect.size.width;
+        int orig_height = orig_dst_rect.size.height;
+
+        Assert (orig_dst_x >= 0 &&
+                orig_dst_x + orig_width  <= (int) dst_frame.size.width &&
+                orig_dst_y >= 0 &&
+                orig_dst_y + orig_height <= (int) dst_frame.size.height,
+                "wrong dimensions");
+
+        if (orig_dst_y < dst_y0) {
+          fill_rect_memset (seek_xy (dst_data, dst_pitch,
+                                     orig_dst_x, orig_dst_y), dst_pitch,
+                            gc->gcv.background, orig_width,
+                            dst_y0 - orig_dst_y);
+        }
+
+        if (orig_dst_y + orig_height > dst_y0 + height0) {
+          fill_rect_memset (seek_xy (dst_data, dst_pitch, orig_dst_x,
+                                     dst_y0 + height0),
+                            dst_pitch,
+                            gc->gcv.background, orig_width,
+                            orig_dst_y + orig_height - dst_y0 - height0);
+        }
+
+        if (orig_dst_x < dst_x0) {
+          fill_rect_memset (seek_xy (dst_data, dst_pitch, orig_dst_x, dst_y0),
+                            dst_pitch, gc->gcv.background,
+                            dst_x0 - orig_dst_x, height0);
+        }
+
+        if (dst_x0 + width0 < orig_dst_x + orig_width) {
+          fill_rect_memset (seek_xy (dst_data, dst_pitch, dst_x0 + width0,
+                                     dst_y0),
+                            dst_pitch, gc->gcv.background,
+                            orig_dst_x + orig_width - dst_x0 - width0,
+                            height0);
+        }
+      }
+
+      invalidate_drawable_cache (dst);
+      return 0;
+    }
+
+
+    // If we are copying from a Pixmap to a Pixmap or Window, we must first
+    // copy the bits to an intermediary CGImage object, then copy that to the
+    // destination drawable's CGContext.
+    //
+    // (It doesn't seem to be possible to use NSCopyBits() to optimize the
+    // case of copying from a Pixmap back to itself, but I don't think that
+    // happens very often anyway.)
+    //
+    // First we get a CGImage out of the pixmap CGContext -- it's the whole
+    // pixmap, but it presumably shares the data pointer instead of copying
+    // it.  We then cache that CGImage it inside the Pixmap object.  Note:
+    // invalidate_drawable_cache() must be called to discard this any time a
+    // modification is made to the pixmap, or we'll end up re-using old bits.
+    //
+    if (!src->cgi)
+      src->cgi = CGBitmapContextCreateImage (src->cgc);
+    cgi = src->cgi;
+
+    // if doing a sub-rect, trim it down.
+    if (src_rect.origin.x    != src_frame.origin.x   ||
+        src_rect.origin.y    != src_frame.origin.y   ||
+        src_rect.size.width  != src_frame.size.width ||
+        src_rect.size.height != src_frame.size.height) {
+      // #### I don't understand why this is needed...
+      src_rect.origin.y = (src_frame.size.height -
+                           src_rect.size.height - src_rect.origin.y);
+      // This does not copy image data, so it should be fast.
+      cgi = CGImageCreateWithImageInRect (cgi, src_rect);
+      free_cgi_p = YES;
+    }
+
+  if (src->type == PIXMAP && src->pixmap.depth == 1)
+      mask_p = YES;
+
+# ifndef USE_BACKBUFFER
+  } else { /* (src->type == WINDOW) */
+    
+    NSRect nsfrom;    // NSRect != CGRect on 10.4
+    nsfrom.origin.x    = src_rect.origin.x;
+    nsfrom.origin.y    = src_rect.origin.y;
+    nsfrom.size.width  = src_rect.size.width;
+    nsfrom.size.height = src_rect.size.height;
+
+    if (src == dst) {
+
+      // If we are copying from a window to itself, we can use NSCopyBits()
+      // without first copying the rectangle to an intermediary CGImage.
+      // This is ~28% faster (but I *expected* it to be twice as fast...)
+      // (kumppa, bsod, decayscreen, memscroller, slidescreen, slip, xjack)
+      //
+      cgi = 0;
+
+    } else {
+
+      // If we are copying from a Window to a Pixmap, we must first copy
+      // the bits to an intermediary CGImage object, then copy that to the
+      // Pixmap's CGContext.
+      //
+      NSBitmapImageRep *bm = [[NSBitmapImageRep alloc]
+                               initWithFocusedViewRect:nsfrom];
+      unsigned char *data = [bm bitmapData];
+      int bps = [bm bitsPerSample];
+      int bpp = [bm bitsPerPixel];
+      int bpl = [bm bytesPerRow];
+      releaseme = bm;
+
+      // create a CGImage from those bits.
+      // (As of 10.5, we could just do cgi = [bm CGImage] (it is autoreleased)
+      // but that method didn't exist in 10.4.)
+
+      CGDataProviderRef prov =
+        CGDataProviderCreateWithData (NULL, data, bpl * nsfrom.size.height,
+                                      NULL);
+      cgi = CGImageCreate (src_rect.size.width, src_rect.size.height,
+                           bps, bpp, bpl,
+                           dpy->colorspace, 
+                           /* Use whatever default bit ordering we got from
+                              initWithFocusedViewRect.  I would have assumed
+                              that it was (kCGImageAlphaNoneSkipFirst |
+                              kCGBitmapByteOrder32Host), but on Intel,
+                              it's not!
+                           */
+                           0,
+                           prov, 
+                           NULL,  /* decode[] */
+                           NO, /* interpolate */
+                           kCGRenderingIntentDefault);
+      free_cgi_p = YES;
+      //Assert(CGImageGetColorSpace(cgi) == dpy->colorspace,"bad colorspace");
+      CGDataProviderRelease (prov);
+    }
+
+# endif // !USE_BACKBUFFER
+  }
+
+  CGContextRef cgc = dst->cgc;
+
+  if (mask_p) {                // src depth == 1
+
+    push_bg_gc (dst, gc, YES);
+
+    // fill the destination rectangle with solid background...
+    CGContextFillRect (cgc, orig_dst_rect);
+
+    Assert (cgc, "no CGC with 1-bit XCopyArea");
+
+    // then fill in a solid rectangle of the fg color, using the image as an
+    // alpha mask.  (the image has only values of BlackPixel or WhitePixel.)
+    set_color (cgc, gc->gcv.foreground, gc->depth, 
+               gc->gcv.alpha_allowed_p, YES);
+    CGContextClipToMask (cgc, dst_rect, cgi);
+    CGContextFillRect (cgc, dst_rect);
+
+    pop_gc (dst, gc);
+
+  } else {             // src depth > 1
+
+    push_gc (dst, gc);
+
+    // If either the src or dst rects did not lie within their drawables,
+    // then we have adjusted both the src and dst rects to account for 
+    // the clipping; that means we need to first clear to the background,
+    // so that clipped bits end up in the bg color instead of simply not
+    // being copied.
+    //
+    if (clipped) {
+      set_color (cgc, gc->gcv.background, gc->depth, 
+                 gc->gcv.alpha_allowed_p, YES);
+      CGContextFillRect (cgc, orig_dst_rect);
+    }
+
+    if (cgi) {
+      // copy the CGImage onto the destination CGContext
+      //Assert(CGImageGetColorSpace(cgi) == dpy->colorspace, "bad colorspace");
+      CGContextDrawImage (cgc, dst_rect, cgi);
+    } else {
+      // No cgi means src == dst, and both are Windows.
+
+# ifdef USE_BACKBUFFER
+      Assert (0, "NSCopyBits unimplemented"); // shouldn't be reached anyway
+      return 0;
+# else // !USE_BACKBUFFER
+      NSRect nsfrom;
+      nsfrom.origin.x    = src_rect.origin.x;    // NSRect != CGRect on 10.4
+      nsfrom.origin.y    = src_rect.origin.y;
+      nsfrom.size.width  = src_rect.size.width;
+      nsfrom.size.height = src_rect.size.height;
+      NSPoint nsto;
+      nsto.x             = dst_rect.origin.x;
+      nsto.y             = dst_rect.origin.y;
+      NSCopyBits (0, nsfrom, nsto);
+# endif // !USE_BACKBUFFER
+    }
+
+    pop_gc (dst, gc);
+  }
+
+  if (free_cgi_p) CGImageRelease (cgi);
+
+  if (releaseme) [releaseme release];
+  invalidate_drawable_cache (dst);
+  return 0;
+}
+
+
+int
+XCopyPlane (Display *dpy, Drawable src, Drawable dest, GC gc,
+            int src_x, int src_y,
+            unsigned width, int height,
+            int dest_x, int dest_y, unsigned long plane)
+{
+  Assert ((gc->depth == 1 || plane == 1), "hairy plane mask!");
+  
+  // This isn't right: XCopyPlane() is supposed to map 1/0 to fg/bg,
+  // not to white/black.
+  return XCopyArea (dpy, src, dest, gc,
+                    src_x, src_y, width, height, dest_x, dest_y);
+}
+
+
+int
+XDrawLine (Display *dpy, Drawable d, GC gc, int x1, int y1, int x2, int y2)
+{
+  // when drawing a zero-length line, obey line-width and cap-style.
+  if (x1 == x2 && y1 == y2) {
+    int w = gc->gcv.line_width;
+    x1 -= w/2;
+    y1 -= w/2;
+    if (gc->gcv.line_width > 1 && gc->gcv.cap_style == CapRound)
+      return XFillArc (dpy, d, gc, x1, y1, w, w, 0, 360*64);
+    else
+      return XFillRectangle (dpy, d, gc, x1, y1, w, w);
+  }
+  
+  CGRect wr = d->frame;
+  NSPoint p;
+  p.x = wr.origin.x + x1;
+  p.y = wr.origin.y + wr.size.height - y1;
+
+  push_fg_gc (d, gc, NO);
+
+  CGContextRef cgc = d->cgc;
+  set_line_mode (cgc, &gc->gcv);
+  CGContextBeginPath (cgc);
+  CGContextMoveToPoint (cgc, p.x, p.y);
+  p.x = wr.origin.x + x2;
+  p.y = wr.origin.y + wr.size.height - y2;
+  CGContextAddLineToPoint (cgc, p.x, p.y);
+  CGContextStrokePath (cgc);
+  pop_gc (d, gc);
+  invalidate_drawable_cache (d);
+  return 0;
+}
+
+int
+XDrawLines (Display *dpy, Drawable d, GC gc, XPoint *points, int count,
+            int mode)
+{
+  int i;
+  NSPoint p;
+  CGRect wr = d->frame;
+  push_fg_gc (d, gc, NO);
+
+  CGContextRef cgc = d->cgc;
+
+  set_line_mode (cgc, &gc->gcv);
+  
+  // if the first and last points coincide, use closepath to get
+  // the proper line-joining.
+  BOOL closed_p = (points[0].x == points[count-1].x &&
+                   points[0].y == points[count-1].y);
+  if (closed_p) count--;
+  
+  p.x = wr.origin.x + points->x;
+  p.y = wr.origin.y + wr.size.height - points->y;
+  points++;
+  CGContextBeginPath (cgc);
+  CGContextMoveToPoint (cgc, p.x, p.y);
+  for (i = 1; i < count; i++) {
+    if (mode == CoordModePrevious) {
+      p.x += points->x;
+      p.y -= points->y;
+    } else {
+      p.x = wr.origin.x + points->x;
+      p.y = wr.origin.y + wr.size.height - points->y;
+    }
+    CGContextAddLineToPoint (cgc, p.x, p.y);
+    points++;
+  }
+  if (closed_p) CGContextClosePath (cgc);
+  CGContextStrokePath (cgc);
+  pop_gc (d, gc);
+  invalidate_drawable_cache (d);
+  return 0;
+}
+
+
+int
+XDrawSegments (Display *dpy, Drawable d, GC gc, XSegment *segments, int count)
+{
+  int i;
+  CGRect wr = d->frame;
+
+  CGContextRef cgc = d->cgc;
+
+  push_fg_gc (d, gc, NO);
+  set_line_mode (cgc, &gc->gcv);
+  CGContextBeginPath (cgc);
+  for (i = 0; i < count; i++) {
+    CGContextMoveToPoint    (cgc, 
+                             wr.origin.x + segments->x1,
+                             wr.origin.y + wr.size.height - segments->y1);
+    CGContextAddLineToPoint (cgc,
+                             wr.origin.x + segments->x2,
+                             wr.origin.y + wr.size.height - segments->y2);
+    segments++;
+  }
+  CGContextStrokePath (cgc);
+  pop_gc (d, gc);
+  invalidate_drawable_cache (d);
+  return 0;
+}
+
+
+int
+XClearWindow (Display *dpy, Window win)
+{
+  Assert (win && win->type == WINDOW, "not a window");
+  CGRect wr = win->frame;
+  return XClearArea (dpy, win, 0, 0, wr.size.width, wr.size.height, 0);
+}
+
+int
+XSetWindowBackground (Display *dpy, Window w, unsigned long pixel)
+{
+  Assert (w && w->type == WINDOW, "not a window");
+  validate_pixel (pixel, 32, NO);
+  w->window.background = pixel;
+  return 0;
+}
+
+static void
+draw_rect (Display *dpy, Drawable d, GC gc, 
+           int x, int y, unsigned int width, unsigned int height, 
+           BOOL foreground_p, BOOL fill_p)
+{
+  CGRect wr = d->frame;
+  CGRect r;
+  r.origin.x = wr.origin.x + x;
+  r.origin.y = wr.origin.y + wr.size.height - y - height;
+  r.size.width = width;
+  r.size.height = height;
+
+  if (gc) {
+    if (foreground_p)
+      push_fg_gc (d, gc, fill_p);
+    else
+      push_bg_gc (d, gc, fill_p);
+  }
+
+  CGContextRef cgc = d->cgc;
+  if (fill_p)
+    CGContextFillRect (cgc, r);
+  else {
+    if (gc)
+      set_line_mode (cgc, &gc->gcv);
+    CGContextStrokeRect (cgc, r);
+  }
+
+  if (gc)
+    pop_gc (d, gc);
+  invalidate_drawable_cache (d);
+}
+
+
+int
+XFillRectangle (Display *dpy, Drawable d, GC gc, int x, int y, 
+                unsigned int width, unsigned int height)
+{
+  draw_rect (dpy, d, gc, x, y, width, height, YES, YES);
+  return 0;
+}
+
+int
+XDrawRectangle (Display *dpy, Drawable d, GC gc, int x, int y, 
+                unsigned int width, unsigned int height)
+{
+  draw_rect (dpy, d, gc, x, y, width, height, YES, NO);
+  return 0;
+}
+
+int
+XFillRectangles (Display *dpy, Drawable d, GC gc, XRectangle *rects, int n)
+{
+  CGRect wr = d->frame;
+  int i;
+  CGContextRef cgc = d->cgc;
+  push_fg_gc (d, gc, YES);
+  for (i = 0; i < n; i++) {
+    CGRect r;
+    r.origin.x = wr.origin.x + rects->x;
+    r.origin.y = wr.origin.y + wr.size.height - rects->y - rects->height;
+    r.size.width = rects->width;
+    r.size.height = rects->height;
+    CGContextFillRect (cgc, r);
+    rects++;
+  }
+  pop_gc (d, gc);
+  invalidate_drawable_cache (d);
+  return 0;
+}
+
+
+int
+XClearArea (Display *dpy, Window win, int x, int y, int w, int h, Bool exp)
+{
+  Assert (win && win->type == WINDOW, "not a window");
+  CGContextRef cgc = win->cgc;
+  set_color (cgc, win->window.background, 32, NO, YES);
+  draw_rect (dpy, win, 0, x, y, w, h, NO, YES);
+  return 0;
+}
+
+
+int
+XFillPolygon (Display *dpy, Drawable d, GC gc, 
+              XPoint *points, int npoints, int shape, int mode)
+{
+  CGRect wr = d->frame;
+  int i;
+  push_fg_gc (d, gc, YES);
+  CGContextRef cgc = d->cgc;
+  CGContextBeginPath (cgc);
+  float x = 0, y = 0;
+  for (i = 0; i < npoints; i++) {
+    if (i > 0 && mode == CoordModePrevious) {
+      x += points[i].x;
+      y -= points[i].y;
+    } else {
+      x = wr.origin.x + points[i].x;
+      y = wr.origin.y + wr.size.height - points[i].y;
+    }
+        
+    if (i == 0)
+      CGContextMoveToPoint (cgc, x, y);
+    else
+      CGContextAddLineToPoint (cgc, x, y);
+  }
+  CGContextClosePath (cgc);
+  if (gc->gcv.fill_rule == EvenOddRule)
+    CGContextEOFillPath (cgc);
+  else
+    CGContextFillPath (cgc);
+  pop_gc (d, gc);
+  invalidate_drawable_cache (d);
+  return 0;
+}
+
+#define radians(DEG) ((DEG) * M_PI / 180.0)
+#define degrees(RAD) ((RAD) * 180.0 / M_PI)
+
+static int
+draw_arc (Display *dpy, Drawable d, GC gc, int x, int y, 
+          unsigned int width, unsigned int height, int angle1, int angle2,
+          BOOL fill_p)
+{
+  CGRect wr = d->frame;
+  CGRect bound;
+  bound.origin.x = wr.origin.x + x;
+  bound.origin.y = wr.origin.y + wr.size.height - y - height;
+  bound.size.width = width;
+  bound.size.height = height;
+  
+  CGPoint ctr;
+  ctr.x = bound.origin.x + bound.size.width /2;
+  ctr.y = bound.origin.y + bound.size.height/2;
+  
+  float r1 = radians (angle1/64.0);
+  float r2 = radians (angle2/64.0) + r1;
+  BOOL clockwise = angle2 < 0;
+  BOOL closed_p = (angle2 >= 360*64 || angle2 <= -360*64);
+  
+  push_fg_gc (d, gc, fill_p);
+
+  CGContextRef cgc = d->cgc;
+  CGContextBeginPath (cgc);
+  
+  CGContextSaveGState(cgc);
+  CGContextTranslateCTM (cgc, ctr.x, ctr.y);
+  CGContextScaleCTM (cgc, width/2.0, height/2.0);
+  if (fill_p)
+    CGContextMoveToPoint (cgc, 0, 0);
+
+  CGContextAddArc (cgc, 0.0, 0.0, 1, r1, r2, clockwise);
+  CGContextRestoreGState (cgc);  // restore before stroke, for line width
+
+  if (closed_p)
+    CGContextClosePath (cgc); // for proper line joining
+  
+  if (fill_p) {
+    CGContextFillPath (cgc);
+  } else {
+    set_line_mode (cgc, &gc->gcv);
+    CGContextStrokePath (cgc);
+  }
+
+  pop_gc (d, gc);
+  invalidate_drawable_cache (d);
+  return 0;
+}
+
+int
+XDrawArc (Display *dpy, Drawable d, GC gc, int x, int y, 
+          unsigned int width, unsigned int height, int angle1, int angle2)
+{
+  return draw_arc (dpy, d, gc, x, y, width, height, angle1, angle2, NO);
+}
+
+int
+XFillArc (Display *dpy, Drawable d, GC gc, int x, int y, 
+          unsigned int width, unsigned int height, int angle1, int angle2)
+{
+  return draw_arc (dpy, d, gc, x, y, width, height, angle1, angle2, YES);
+}
+
+int
+XDrawArcs (Display *dpy, Drawable d, GC gc, XArc *arcs, int narcs)
+{
+  int i;
+  for (i = 0; i < narcs; i++)
+    draw_arc (dpy, d, gc, 
+              arcs[i].x, arcs[i].y, 
+              arcs[i].width, arcs[i].height, 
+              arcs[i].angle1, arcs[i].angle2,
+              NO);
+  return 0;
+}
+
+int
+XFillArcs (Display *dpy, Drawable d, GC gc, XArc *arcs, int narcs)
+{
+  int i;
+  for (i = 0; i < narcs; i++)
+    draw_arc (dpy, d, gc, 
+              arcs[i].x, arcs[i].y, 
+              arcs[i].width, arcs[i].height, 
+              arcs[i].angle1, arcs[i].angle2,
+              YES);
+  return 0;
+}
+
+
+static void
+gcv_defaults (XGCValues *gcv, int depth)
+{
+  memset (gcv, 0, sizeof(*gcv));
+  gcv->function   = GXcopy;
+  gcv->foreground = (depth == 1 ? 1 : WhitePixel(0,0));
+  gcv->background = (depth == 1 ? 0 : BlackPixel(0,0));
+  gcv->line_width = 1;
+  gcv->cap_style  = CapNotLast;
+  gcv->join_style = JoinMiter;
+  gcv->fill_rule  = EvenOddRule;
+
+  gcv->alpha_allowed_p = NO;
+  gcv->antialias_p     = YES;
+}
+
+static void
+set_gcv (GC gc, XGCValues *from, unsigned long mask)
+{
+  if (! mask) return;
+  Assert (gc && from, "no gc");
+  if (!gc || !from) return;
+
+  if (mask & GCFunction)       gc->gcv.function        = from->function;
+  if (mask & GCForeground)     gc->gcv.foreground      = from->foreground;
+  if (mask & GCBackground)     gc->gcv.background      = from->background;
+  if (mask & GCLineWidth)      gc->gcv.line_width      = from->line_width;
+  if (mask & GCCapStyle)       gc->gcv.cap_style       = from->cap_style;
+  if (mask & GCJoinStyle)      gc->gcv.join_style      = from->join_style;
+  if (mask & GCFillRule)       gc->gcv.fill_rule       = from->fill_rule;
+  if (mask & GCClipXOrigin)    gc->gcv.clip_x_origin   = from->clip_x_origin;
+  if (mask & GCClipYOrigin)    gc->gcv.clip_y_origin   = from->clip_y_origin;
+  if (mask & GCSubwindowMode)  gc->gcv.subwindow_mode  = from->subwindow_mode;
+  
+  if (mask & GCClipMask)       XSetClipMask (0, gc, from->clip_mask);
+  if (mask & GCFont)           XSetFont (0, gc, from->font);
+
+  if (mask & GCForeground) validate_pixel (from->foreground, gc->depth,
+                                           gc->gcv.alpha_allowed_p);
+  if (mask & GCBackground) validate_pixel (from->background, gc->depth,
+                                           gc->gcv.alpha_allowed_p);
+    
+  Assert ((! (mask & (GCLineStyle |
+                      GCPlaneMask |
+                      GCFillStyle |
+                      GCTile |
+                      GCStipple |
+                      GCTileStipXOrigin |
+                      GCTileStipYOrigin |
+                      GCGraphicsExposures |
+                      GCDashOffset |
+                      GCDashList |
+                      GCArcMode))),
+          "unimplemented gcvalues mask");
+}
+
+
+GC
+XCreateGC (Display *dpy, Drawable d, unsigned long mask, XGCValues *xgcv)
+{
+  struct jwxyz_GC *gc = (struct jwxyz_GC *) calloc (1, sizeof(*gc));
+  if (d->type == WINDOW) {
+    gc->depth = 32;
+  } else { /* (d->type == PIXMAP) */
+    gc->depth = d->pixmap.depth;
+  }
+
+  gcv_defaults (&gc->gcv, gc->depth);
+  set_gcv (gc, xgcv, mask);
+  return gc;
+}
+
+int
+XChangeGC (Display *dpy, GC gc, unsigned long mask, XGCValues *gcv)
+{
+  set_gcv (gc, gcv, mask);
+  return 0;
+}
+
+
+int
+XFreeGC (Display *dpy, GC gc)
+{
+  if (gc->gcv.font)
+    XUnloadFont (dpy, gc->gcv.font);
+
+  Assert (!!gc->gcv.clip_mask == !!gc->clip_mask, "GC clip mask mixup");
+
+  if (gc->gcv.clip_mask) {
+    XFreePixmap (dpy, gc->gcv.clip_mask);
+    CGImageRelease (gc->clip_mask);
+  }
+  free (gc);
+  return 0;
+}
+
+
+Status
+XGetWindowAttributes (Display *dpy, Window w, XWindowAttributes *xgwa)
+{
+  Assert (w && w->type == WINDOW, "not a window");
+  memset (xgwa, 0, sizeof(*xgwa));
+  xgwa->x      = w->frame.origin.x;
+  xgwa->y      = w->frame.origin.y;
+  xgwa->width  = w->frame.size.width;
+  xgwa->height = w->frame.size.height;
+  xgwa->depth  = 32;
+  xgwa->screen = dpy->screen;
+  xgwa->visual = dpy->screen->visual;
+  return 0;
+}
+
+Status
+XGetGeometry (Display *dpy, Drawable d, Window *root_ret,
+              int *x_ret, int *y_ret, 
+              unsigned int *w_ret, unsigned int *h_ret,
+              unsigned int *bw_ret, unsigned int *d_ret)
+{
+  *x_ret    = d->frame.origin.x;
+  *y_ret    = d->frame.origin.y;
+  *w_ret    = d->frame.size.width;
+  *h_ret    = d->frame.size.height;
+  *d_ret    = (d->type == WINDOW ? 32 : d->pixmap.depth);
+  *root_ret = RootWindow (dpy, 0);
+  *bw_ret   = 0;
+  return True;
+}
+
+
+Status
+XAllocColor (Display *dpy, Colormap cmap, XColor *color)
+{
+  // store 32 bit ARGB in the pixel field.
+  // (The uint32_t is so that 0xFF000000 doesn't become 0xFFFFFFFFFF000000)
+  color->pixel = (uint32_t)
+                 ((                       0xFF  << 24) |
+                  (((color->red   >> 8) & 0xFF) << 16) |
+                  (((color->green >> 8) & 0xFF) <<  8) |
+                  (((color->blue  >> 8) & 0xFF)      ));
+  return 1;
+}
+
+Status
+XAllocColorCells (Display *dpy, Colormap cmap, Bool contig,
+                  unsigned long *pmret, unsigned int npl,
+                  unsigned long *pxret, unsigned int npx)
+{
+  return 0;
+}
+
+int
+XStoreColors (Display *dpy, Colormap cmap, XColor *colors, int n)
+{
+  Assert(0, "XStoreColors called");
+  return 0;
+}
+
+int
+XStoreColor (Display *dpy, Colormap cmap, XColor *c)
+{
+  Assert(0, "XStoreColor called");
+  return 0;
+}
+
+int
+XFreeColors (Display *dpy, Colormap cmap, unsigned long *px, int npixels,
+             unsigned long planes)
+{
+  return 0;
+}
+
+Status
+XParseColor (Display *dpy, Colormap cmap, const char *spec, XColor *ret)
+{
+  unsigned char r=0, g=0, b=0;
+  if (*spec == '#' && strlen(spec) == 7) {
+    static unsigned const char hex[] = {   // yeah yeah, shoot me.
+      0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+      0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,0,0,0,0,0,0,
+      0,10,11,12,13,14,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+      0,10,11,12,13,14,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+      0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+      0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+      0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+      0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
+    r = (hex[spec[1]] << 4) | hex[spec[2]];
+    g = (hex[spec[3]] << 4) | hex[spec[4]];
+    b = (hex[spec[5]] << 4) | hex[spec[6]];
+  } else if (!strcasecmp(spec,"black")) {
+//  r = g = b = 0;
+  } else if (!strcasecmp(spec,"white")) {
+    r = g = b = 255;
+  } else if (!strcasecmp(spec,"red")) {
+    r = 255;
+  } else if (!strcasecmp(spec,"green")) {
+    g = 255;
+  } else if (!strcasecmp(spec,"blue")) {
+    b = 255;
+  } else if (!strcasecmp(spec,"cyan")) {
+    g = b = 255;
+  } else if (!strcasecmp(spec,"magenta")) {
+    r = b = 255;
+  } else if (!strcasecmp(spec,"yellow")) {
+    r = g = 255;
+  } else {
+    return 0;
+  }
+  
+  ret->red   = (r << 8) | r;
+  ret->green = (g << 8) | g;
+  ret->blue  = (b << 8) | b;
+  ret->flags = DoRed|DoGreen|DoBlue;
+  return 1;
+}
+
+Status
+XAllocNamedColor (Display *dpy, Colormap cmap, char *name,
+                  XColor *screen_ret, XColor *exact_ret)
+{
+  if (! XParseColor (dpy, cmap, name, screen_ret))
+    return False;
+  *exact_ret = *screen_ret;
+  return XAllocColor (dpy, cmap, screen_ret);
+}
+
+int
+XQueryColor (Display *dpy, Colormap cmap, XColor *color)
+{
+  validate_pixel (color->pixel, 32, NO);
+  unsigned char r = ((color->pixel >> 16) & 0xFF);
+  unsigned char g = ((color->pixel >>  8) & 0xFF);
+  unsigned char b = ((color->pixel      ) & 0xFF);
+  color->red   = (r << 8) | r;
+  color->green = (g << 8) | g;
+  color->blue  = (b << 8) | b;
+  color->flags = DoRed|DoGreen|DoBlue;
+  return 0;
+}
+
+int
+XQueryColors (Display *dpy, Colormap cmap, XColor *c, int n)
+{
+  int i;
+  for (i = 0; i < n; i++)
+    XQueryColor (dpy, cmap, &c[i]);
+  return 0;
+}
+
+
+static unsigned long
+ximage_getpixel_1 (XImage *ximage, int x, int y)
+{
+  return ((ximage->data [y * ximage->bytes_per_line + (x>>3)] >> (x & 7)) & 1);
+}
+
+static int
+ximage_putpixel_1 (XImage *ximage, int x, int y, unsigned long pixel)
+{
+  if (pixel)
+    ximage->data [y * ximage->bytes_per_line + (x>>3)] |=  (1 << (x & 7));
+  else
+    ximage->data [y * ximage->bytes_per_line + (x>>3)] &= ~(1 << (x & 7));
+
+  return 0;
+}
+
+static unsigned long
+ximage_getpixel_32 (XImage *ximage, int x, int y)
+{
+  return ((unsigned long)
+          *((uint32_t *) ximage->data +
+            (y * (ximage->bytes_per_line >> 2)) +
+            x));
+}
+
+static int
+ximage_putpixel_32 (XImage *ximage, int x, int y, unsigned long pixel)
+{
+  *((uint32_t *) ximage->data +
+    (y * (ximage->bytes_per_line >> 2)) +
+    x) = (uint32_t) pixel;
+  return 0;
+}
+
+
+Status
+XInitImage (XImage *ximage)
+{
+  if (!ximage->bytes_per_line)
+    ximage->bytes_per_line = (ximage->depth == 1
+                              ? (ximage->width + 7) / 8
+                              : ximage->width * 4);
+
+  if (ximage->depth == 1) {
+    ximage->f.put_pixel = ximage_putpixel_1;
+    ximage->f.get_pixel = ximage_getpixel_1;
+  } else if (ximage->depth == 32 || ximage->depth == 24) {
+    ximage->f.put_pixel = ximage_putpixel_32;
+    ximage->f.get_pixel = ximage_getpixel_32;
+  } else {
+    Assert (0, "unknown depth");
+  }
+  return 1;
+}
+
+
+XImage *
+XCreateImage (Display *dpy, Visual *visual, unsigned int depth,
+              int format, int offset, char *data,
+              unsigned int width, unsigned int height,
+              int bitmap_pad, int bytes_per_line)
+{
+  XImage *ximage = (XImage *) calloc (1, sizeof(*ximage));
+  ximage->width = width;
+  ximage->height = height;
+  ximage->format = format;
+  ximage->data = data;
+  ximage->bitmap_unit = 8;
+  ximage->byte_order = MSBFirst;
+  ximage->bitmap_bit_order = ximage->byte_order;
+  ximage->bitmap_pad = bitmap_pad;
+  ximage->depth = depth;
+  ximage->red_mask   = (depth == 1 ? 0 : 0x00FF0000);
+  ximage->green_mask = (depth == 1 ? 0 : 0x0000FF00);
+  ximage->blue_mask  = (depth == 1 ? 0 : 0x000000FF);
+  ximage->bits_per_pixel = (depth == 1 ? 1 : 32);
+  ximage->bytes_per_line = bytes_per_line;
+
+  XInitImage (ximage);
+  return ximage;
+}
+
+XImage *
+XSubImage (XImage *from, int x, int y, unsigned int w, unsigned int h)
+{
+  XImage *to = XCreateImage (0, 0, from->depth, from->format, 0, 0,
+                             w, h, from->bitmap_pad, 0);
+  to->data = (char *) malloc (h * to->bytes_per_line);
+
+  if (x >= from->width)
+    w = 0;
+  else if (x+w > from->width)
+    w = from->width - x;
+
+  if (y >= from->height)
+    h = 0;
+  else if (y+h > from->height)
+    h = from->height - y;
+
+  int tx, ty;
+  for (ty = 0; ty < h; ty++)
+    for (tx = 0; tx < w; tx++)
+      XPutPixel (to, tx, ty, XGetPixel (from, x+tx, y+ty));
+  return to;
+}
+
+
+XPixmapFormatValues *
+XListPixmapFormats (Display *dpy, int *n_ret)
+{
+  XPixmapFormatValues *ret = calloc (2, sizeof(*ret));
+  ret[0].depth = 32;
+  ret[0].bits_per_pixel = 32;
+  ret[0].scanline_pad = 8;
+  ret[1].depth = 1;
+  ret[1].bits_per_pixel = 1;
+  ret[1].scanline_pad = 8;
+  *n_ret = 2;
+  return ret;
+}
+
+
+unsigned long
+XGetPixel (XImage *ximage, int x, int y)
+{
+  return ximage->f.get_pixel (ximage, x, y);
+}
+
+
+int
+XPutPixel (XImage *ximage, int x, int y, unsigned long pixel)
+{
+  return ximage->f.put_pixel (ximage, x, y, pixel);
+}
+
+int
+XDestroyImage (XImage *ximage)
+{
+  if (ximage->data) free (ximage->data);
+  free (ximage);
+  return 0;
+}
+
+
+static void
+flipbits (unsigned const char *in, unsigned char *out, int length)
+{
+  static const unsigned char table[256] = {
+    0x00, 0x80, 0x40, 0xC0, 0x20, 0xA0, 0x60, 0xE0, 
+    0x10, 0x90, 0x50, 0xD0, 0x30, 0xB0, 0x70, 0xF0, 
+    0x08, 0x88, 0x48, 0xC8, 0x28, 0xA8, 0x68, 0xE8, 
+    0x18, 0x98, 0x58, 0xD8, 0x38, 0xB8, 0x78, 0xF8, 
+    0x04, 0x84, 0x44, 0xC4, 0x24, 0xA4, 0x64, 0xE4, 
+    0x14, 0x94, 0x54, 0xD4, 0x34, 0xB4, 0x74, 0xF4, 
+    0x0C, 0x8C, 0x4C, 0xCC, 0x2C, 0xAC, 0x6C, 0xEC, 
+    0x1C, 0x9C, 0x5C, 0xDC, 0x3C, 0xBC, 0x7C, 0xFC, 
+    0x02, 0x82, 0x42, 0xC2, 0x22, 0xA2, 0x62, 0xE2, 
+    0x12, 0x92, 0x52, 0xD2, 0x32, 0xB2, 0x72, 0xF2, 
+    0x0A, 0x8A, 0x4A, 0xCA, 0x2A, 0xAA, 0x6A, 0xEA, 
+    0x1A, 0x9A, 0x5A, 0xDA, 0x3A, 0xBA, 0x7A, 0xFA, 
+    0x06, 0x86, 0x46, 0xC6, 0x26, 0xA6, 0x66, 0xE6, 
+    0x16, 0x96, 0x56, 0xD6, 0x36, 0xB6, 0x76, 0xF6, 
+    0x0E, 0x8E, 0x4E, 0xCE, 0x2E, 0xAE, 0x6E, 0xEE, 
+    0x1E, 0x9E, 0x5E, 0xDE, 0x3E, 0xBE, 0x7E, 0xFE, 
+    0x01, 0x81, 0x41, 0xC1, 0x21, 0xA1, 0x61, 0xE1, 
+    0x11, 0x91, 0x51, 0xD1, 0x31, 0xB1, 0x71, 0xF1, 
+    0x09, 0x89, 0x49, 0xC9, 0x29, 0xA9, 0x69, 0xE9, 
+    0x19, 0x99, 0x59, 0xD9, 0x39, 0xB9, 0x79, 0xF9, 
+    0x05, 0x85, 0x45, 0xC5, 0x25, 0xA5, 0x65, 0xE5, 
+    0x15, 0x95, 0x55, 0xD5, 0x35, 0xB5, 0x75, 0xF5, 
+    0x0D, 0x8D, 0x4D, 0xCD, 0x2D, 0xAD, 0x6D, 0xED, 
+    0x1D, 0x9D, 0x5D, 0xDD, 0x3D, 0xBD, 0x7D, 0xFD, 
+    0x03, 0x83, 0x43, 0xC3, 0x23, 0xA3, 0x63, 0xE3, 
+    0x13, 0x93, 0x53, 0xD3, 0x33, 0xB3, 0x73, 0xF3, 
+    0x0B, 0x8B, 0x4B, 0xCB, 0x2B, 0xAB, 0x6B, 0xEB, 
+    0x1B, 0x9B, 0x5B, 0xDB, 0x3B, 0xBB, 0x7B, 0xFB, 
+    0x07, 0x87, 0x47, 0xC7, 0x27, 0xA7, 0x67, 0xE7, 
+    0x17, 0x97, 0x57, 0xD7, 0x37, 0xB7, 0x77, 0xF7, 
+    0x0F, 0x8F, 0x4F, 0xCF, 0x2F, 0xAF, 0x6F, 0xEF, 
+    0x1F, 0x9F, 0x5F, 0xDF, 0x3F, 0xBF, 0x7F, 0xFF
+  };
+  while (--length > 0)
+    *out++ = table[*in++];
+}
+
+
+int
+XPutImage (Display *dpy, Drawable d, GC gc, XImage *ximage,
+           int src_x, int src_y, int dest_x, int dest_y,
+           unsigned int w, unsigned int h)
+{
+  CGRect wr = d->frame;
+
+  Assert (gc, "no GC");
+  Assert ((w < 65535), "improbably large width");
+  Assert ((h < 65535), "improbably large height");
+  Assert ((src_x  < 65535 && src_x  > -65535), "improbably large src_x");
+  Assert ((src_y  < 65535 && src_y  > -65535), "improbably large src_y");
+  Assert ((dest_x < 65535 && dest_x > -65535), "improbably large dest_x");
+  Assert ((dest_y < 65535 && dest_y > -65535), "improbably large dest_y");
+
+  // Clip width and height to the bounds of the Drawable
+  //
+  if (dest_x + w > wr.size.width) {
+    if (dest_x > wr.size.width)
+      return 0;
+    w = wr.size.width - dest_x;
+  }
+  if (dest_y + h > wr.size.height) {
+    if (dest_y > wr.size.height)
+      return 0;
+    h = wr.size.height - dest_y;
+  }
+  if (w <= 0 || h <= 0)
+    return 0;
+
+  // Clip width and height to the bounds of the XImage
+  //
+  if (src_x + w > ximage->width) {
+    if (src_x > ximage->width)
+      return 0;
+    w = ximage->width - src_x;
+  }
+  if (src_y + h > ximage->height) {
+    if (src_y > ximage->height)
+      return 0;
+    h = ximage->height - src_y;
+  }
+  if (w <= 0 || h <= 0)
+    return 0;
+
+  CGContextRef cgc = d->cgc;
+
+  if (gc->gcv.function == GXset ||
+      gc->gcv.function == GXclear) {
+    // "set" and "clear" are dumb drawing modes that ignore the source
+    // bits and just draw solid rectangles.
+    set_color (cgc, (gc->gcv.function == GXset
+                        ? (gc->depth == 1 ? 1 : WhitePixel(0,0))
+                        : (gc->depth == 1 ? 0 : BlackPixel(0,0))),
+               gc->depth, gc->gcv.alpha_allowed_p, YES);
+    draw_rect (dpy, d, 0, dest_x, dest_y, w, h, YES, YES);
+    return 0;
+  }
+
+  int bpl = ximage->bytes_per_line;
+  int bpp = ximage->bits_per_pixel;
+  int bsize = bpl * h;
+  char *data = ximage->data;
+
+  CGRect r;
+  r.origin.x = wr.origin.x + dest_x;
+  r.origin.y = wr.origin.y + wr.size.height - dest_y - h;
+  r.size.width = w;
+  r.size.height = h;
+
+  if (bpp == 32) {
+
+    /* Take advantage of the fact that it's ok for (bpl != w * bpp)
+       to create a CGImage from a sub-rectagle of the XImage.
+     */
+    data += (src_y * bpl) + (src_x * 4);
+    CGDataProviderRef prov = 
+      CGDataProviderCreateWithData (NULL, data, bsize, NULL);
+
+    CGImageRef cgi = CGImageCreate (w, h,
+                                    bpp/4, bpp, bpl,
+                                    dpy->colorspace, 
+                                    /* Need this for XPMs to have the right
+                                       colors, e.g. the logo in "maze". */
+                                    (kCGImageAlphaNoneSkipFirst |
+                                     kCGBitmapByteOrder32Host),
+                                    prov, 
+                                    NULL,  /* decode[] */
+                                    NO, /* interpolate */
+                                    kCGRenderingIntentDefault);
+    CGDataProviderRelease (prov);
+    //Assert (CGImageGetColorSpace (cgi) == dpy->colorspace, "bad colorspace");
+    CGContextDrawImage (cgc, r, cgi);
+    CGImageRelease (cgi);
+
+  } else {   // (bpp == 1)
+
+    /* To draw a 1bpp image, we use it as a mask and fill two rectangles.
+
+       #### However, the bit order within a byte in a 1bpp XImage is
+            the wrong way around from what Quartz expects, so first we
+            have to copy the data to reverse it.  Shit!  Maybe it
+            would be worthwhile to go through the hacks and #ifdef
+            each one that diddles 1bpp XImage->data directly...
+     */
+    Assert ((src_x % 8) == 0,
+            "XPutImage with non-byte-aligned 1bpp X offset not implemented");
+
+    data += (src_y * bpl) + (src_x / 8);   // move to x,y within the data
+    unsigned char *flipped = (unsigned char *) malloc (bsize);
+
+    flipbits ((unsigned char *) data, flipped, bsize);
+
+    CGDataProviderRef prov = 
+      CGDataProviderCreateWithData (NULL, flipped, bsize, NULL);
+    CGImageRef mask = CGImageMaskCreate (w, h, 
+                                         1, bpp, bpl,
+                                         prov,
+                                         NULL,  /* decode[] */
+                                         NO); /* interpolate */
+    push_fg_gc (d, gc, YES);
+
+    CGContextFillRect (cgc, r);                                // foreground color
+    CGContextClipToMask (cgc, r, mask);
+    set_color (cgc, gc->gcv.background, gc->depth, NO, YES);
+    CGContextFillRect (cgc, r);                                // background color
+    pop_gc (d, gc);
+
+    free (flipped);
+    CGDataProviderRelease (prov);
+    CGImageRelease (mask);
+  }
+
+  invalidate_drawable_cache (d);
+
+  return 0;
+}
+
+
+XImage *
+XGetImage (Display *dpy, Drawable d, int x, int y,
+           unsigned int width, unsigned int height,
+           unsigned long plane_mask, int format)
+{
+  const unsigned char *data = 0;
+  int depth, ibpp, ibpl;
+  enum { RGBA, ARGB, BGRA } src_format; // As bytes.
+# ifndef USE_BACKBUFFER
+  NSBitmapImageRep *bm = 0;
+# endif
+  
+  Assert ((width  < 65535), "improbably large width");
+  Assert ((height < 65535), "improbably large height");
+  Assert ((x < 65535 && x > -65535), "improbably large x");
+  Assert ((y < 65535 && y > -65535), "improbably large y");
+
+  CGContextRef cgc = d->cgc;
+
+#ifndef USE_BACKBUFFER
+  // Because of the backbuffer, all iPhone Windows work like Pixmaps.
+  if (d->type == PIXMAP)
+# endif
+  {
+    depth = (d->type == PIXMAP
+             ? d->pixmap.depth
+             : 32);
+    // We create pixmaps and iPhone backbuffers with kCGImageAlphaNoneSkipFirst.
+    src_format = BGRA; // #### Should this be ARGB on PPC?
+    ibpp = CGBitmapContextGetBitsPerPixel (cgc);
+    ibpl = CGBitmapContextGetBytesPerRow (cgc);
+    data = CGBitmapContextGetData (cgc);
+    Assert (data, "CGBitmapContextGetData failed");
+
+# ifndef USE_BACKBUFFER
+  } else { /* (d->type == WINDOW) */
+
+    // get the bits (desired sub-rectangle) out of the NSView
+    NSRect nsfrom;
+    nsfrom.origin.x = x;
+//  nsfrom.origin.y = y;
+    nsfrom.origin.y = d->frame.size.height - height - y;
+    nsfrom.size.width = width;
+    nsfrom.size.height = height;
+    bm = [[NSBitmapImageRep alloc] initWithFocusedViewRect:nsfrom];
+    depth = 32;
+    src_format = ([bm bitmapFormat] & NSAlphaFirstBitmapFormat) ? ARGB : RGBA;
+    ibpp = [bm bitsPerPixel];
+    ibpl = [bm bytesPerRow];
+    data = [bm bitmapData];
+    Assert (data, "NSBitmapImageRep initWithFocusedViewRect failed");
+# endif // !USE_BACKBUFFER
+  }
+  
+  // data points at (x,y) with ibpl rowstride.  ignore x,y from now on.
+  data += (y * ibpl) + (x * (ibpp/8));
+  
+  format = (depth == 1 ? XYPixmap : ZPixmap);
+  XImage *image = XCreateImage (dpy, 0, depth, format, 0, 0, width, height,
+                                0, 0);
+  image->data = (char *) malloc (height * image->bytes_per_line);
+  
+  int obpl = image->bytes_per_line;
+  
+  /* both PPC and Intel use word-ordered ARGB frame buffers, which
+     means that on Intel it is BGRA when viewed by bytes (And BGR
+     when using 24bpp packing).
+
+     BUT! Intel-64 stores alpha at the other end! 32bit=RGBA, 64bit=ARGB.
+     The NSAlphaFirstBitmapFormat bit in bitmapFormat seems to be the
+     indicator of this latest kink.
+   */
+  int xx, yy;
+  if (depth == 1) {
+    const unsigned char *iline = data;
+    for (yy = 0; yy < height; yy++) {
+
+      const unsigned char *iline2 = iline;
+      for (xx = 0; xx < width; xx++) {
+
+        iline2++;                     // ignore R  or  A  or  A  or  B
+        iline2++;                     // ignore G  or  B  or  R  or  G
+        unsigned char r = *iline2++;  // use    B  or  G  or  G  or  R
+        if (ibpp == 32) iline2++;     // ignore A  or  R  or  B  or  A
+
+        XPutPixel (image, xx, yy, (r ? 1 : 0));
+      }
+      iline += ibpl;
+    }
+  } else {
+    Assert (ibpp == 24 || ibpp == 32, "weird obpp");
+    const unsigned char *iline = data;
+    unsigned char *oline = (unsigned char *) image->data;
+    for (yy = 0; yy < height; yy++) {
+
+      const unsigned char *iline2 = iline;
+      unsigned char *oline2 = oline;
+
+      switch (src_format) {
+      case ARGB:
+        for (xx = 0; xx < width; xx++) {
+          unsigned char a = (ibpp == 32 ? (*iline2++) : 0xFF);
+          unsigned char r = *iline2++;
+          unsigned char g = *iline2++;
+          unsigned char b = *iline2++;
+          uint32_t pixel = ((a << 24) |
+                            (r << 16) |
+                            (g <<  8) |
+                            (b <<  0));
+          *((uint32_t *) oline2) = pixel;
+          oline2 += 4;
+        }
+        break;
+      case RGBA:
+        for (xx = 0; xx < width; xx++) {
+          unsigned char r = *iline2++;
+          unsigned char g = *iline2++;
+          unsigned char b = *iline2++;
+          unsigned char a = (ibpp == 32 ? (*iline2++) : 0xFF);
+          uint32_t pixel = ((a << 24) |
+                            (r << 16) |
+                            (g <<  8) |
+                            (b <<  0));
+          *((uint32_t *) oline2) = pixel;
+          oline2 += 4;
+        }
+        break;
+      case BGRA:
+        for (xx = 0; xx < width; xx++) {
+          unsigned char b = *iline2++;
+          unsigned char g = *iline2++;
+          unsigned char r = *iline2++;
+          unsigned char a = (ibpp == 32 ? (*iline2++) : 0xFF);
+          uint32_t pixel = ((a << 24) |
+                            (r << 16) |
+                            (g <<  8) |
+                            (b <<  0));
+          *((uint32_t *) oline2) = pixel;
+          oline2 += 4;
+        }
+        break;
+      default:
+        abort();
+        break;
+      }
+
+      oline += obpl;
+      iline += ibpl;
+    }
+  }
+
+# ifndef USE_BACKBUFFER
+  if (bm) [bm release];
+# endif
+
+  return image;
+}
+
+
+
+/* Returns a transformation matrix to do rotation as per the provided
+   EXIF "Orientation" value.
+ */
+static CGAffineTransform
+exif_rotate (int rot, CGSize rect)
+{
+  CGAffineTransform trans = CGAffineTransformIdentity;
+  switch (rot) {
+  case 2:              // flip horizontal
+    trans = CGAffineTransformMakeTranslation (rect.width, 0);
+    trans = CGAffineTransformScale (trans, -1, 1);
+    break;
+
+  case 3:              // rotate 180
+    trans = CGAffineTransformMakeTranslation (rect.width, rect.height);
+    trans = CGAffineTransformRotate (trans, M_PI);
+    break;
+
+  case 4:              // flip vertical
+    trans = CGAffineTransformMakeTranslation (0, rect.height);
+    trans = CGAffineTransformScale (trans, 1, -1);
+    break;
+
+  case 5:              // transpose (UL-to-LR axis)
+    trans = CGAffineTransformMakeTranslation (rect.height, rect.width);
+    trans = CGAffineTransformScale (trans, -1, 1);
+    trans = CGAffineTransformRotate (trans, 3 * M_PI / 2);
+    break;
+
+  case 6:              // rotate 90
+    trans = CGAffineTransformMakeTranslation (0, rect.width);
+    trans = CGAffineTransformRotate (trans, 3 * M_PI / 2);
+    break;
+
+  case 7:              // transverse (UR-to-LL axis)
+    trans = CGAffineTransformMakeScale (-1, 1);
+    trans = CGAffineTransformRotate (trans, M_PI / 2);
+    break;
+
+  case 8:              // rotate 270
+    trans = CGAffineTransformMakeTranslation (rect.height, 0);
+    trans = CGAffineTransformRotate (trans, M_PI / 2);
+    break;
+
+  default: 
+    break;
+  }
+
+  return trans;
+}
+
+
+void
+jwxyz_draw_NSImage_or_CGImage (Display *dpy, Drawable d, 
+                                Bool nsimg_p, void *img_arg,
+                               XRectangle *geom_ret, int exif_rotation)
+{
+  CGImageRef cgi;
+# ifndef USE_IPHONE
+  CGImageSourceRef cgsrc;
+# endif // USE_IPHONE
+  NSSize imgr;
+
+  CGContextRef cgc = d->cgc;
+
+  if (nsimg_p) {
+
+    NSImage *nsimg = (NSImage *) img_arg;
+    imgr = [nsimg size];
+
+# ifndef USE_IPHONE
+    // convert the NSImage to a CGImage via the toll-free-bridging 
+    // of NSData and CFData...
+    //
+    NSData *nsdata = [NSBitmapImageRep
+                       TIFFRepresentationOfImageRepsInArray:
+                         [nsimg representations]];
+    CFDataRef cfdata = (CFDataRef) nsdata;
+    cgsrc = CGImageSourceCreateWithData (cfdata, NULL);
+    cgi = CGImageSourceCreateImageAtIndex (cgsrc, 0, NULL);
+# else  // USE_IPHONE
+    cgi = nsimg.CGImage;
+# endif // USE_IPHONE
+
+  } else {
+    cgi = (CGImageRef) img_arg;
+    imgr.width  = CGImageGetWidth (cgi);
+    imgr.height = CGImageGetHeight (cgi);
+  }
+
+  Bool rot_p = (exif_rotation >= 5);
+
+  if (rot_p)
+    imgr = NSMakeSize (imgr.height, imgr.width);
+
+  CGRect winr = d->frame;
+  float rw = winr.size.width  / imgr.width;
+  float rh = winr.size.height / imgr.height;
+  float r = (rw < rh ? rw : rh);
+
+  CGRect dst, dst2;
+  dst.size.width  = imgr.width  * r;
+  dst.size.height = imgr.height * r;
+  dst.origin.x = (winr.size.width  - dst.size.width)  / 2;
+  dst.origin.y = (winr.size.height - dst.size.height) / 2;
+
+  dst2.origin.x = dst2.origin.y = 0;
+  if (rot_p) {
+    dst2.size.width = dst.size.height; 
+    dst2.size.height = dst.size.width;
+  } else {
+    dst2.size = dst.size;
+  }
+
+  // Clear the part not covered by the image to background or black.
+  //
+  if (d->type == WINDOW)
+    XClearWindow (dpy, d);
+  else {
+    set_color (cgc, BlackPixel(dpy,0), 32, NO, YES);
+    draw_rect (dpy, d, 0, 0, 0, winr.size.width, winr.size.height, NO, YES);
+  }
+
+  CGAffineTransform trans = 
+    exif_rotate (exif_rotation, rot_p ? dst2.size : dst.size);
+
+  CGContextSaveGState (cgc);
+  CGContextConcatCTM (cgc, 
+                      CGAffineTransformMakeTranslation (dst.origin.x,
+                                                        dst.origin.y));
+  CGContextConcatCTM (cgc, trans);
+  //Assert (CGImageGetColorSpace (cgi) == dpy->colorspace, "bad colorspace");
+  CGContextDrawImage (cgc, dst2, cgi);
+  CGContextRestoreGState (cgc);
+
+# ifndef USE_IPHONE
+  if (nsimg_p) {
+    CFRelease (cgsrc);
+    CGImageRelease (cgi);
+  }
+# endif // USE_IPHONE
+
+  if (geom_ret) {
+    geom_ret->x = dst.origin.x;
+    geom_ret->y = dst.origin.y;
+    geom_ret->width  = dst.size.width;
+    geom_ret->height = dst.size.height;
+  }
+
+  invalidate_drawable_cache (d);
+}
+
+
+
+Pixmap
+XCreatePixmapFromBitmapData (Display *dpy, Drawable drawable,
+                             const char *data,
+                             unsigned int w, unsigned int h,
+                             unsigned long fg, unsigned int bg,
+                             unsigned int depth)
+{
+  Pixmap p = XCreatePixmap (dpy, drawable, w, h, depth);
+  XImage *image = XCreateImage (dpy, 0, 1, XYPixmap, 0, 
+                                (char *) data, w, h, 0, 0);
+  XGCValues gcv;
+  gcv.foreground = fg;
+  gcv.background = bg;
+  GC gc = XCreateGC (dpy, p, GCForeground|GCBackground, &gcv);
+  XPutImage (dpy, p, gc, image, 0, 0, 0, 0, w, h);
+  XFreeGC (dpy, gc);
+  image->data = 0;
+  XDestroyImage (image);
+  return p;
+}
+
+Pixmap
+XCreatePixmap (Display *dpy, Drawable d,
+               unsigned int width, unsigned int height, unsigned int depth)
+{
+  char *data = (char *) malloc (width * height * 4);
+  if (! data) return 0;
+
+  Pixmap p = (Pixmap) calloc (1, sizeof(*p));
+  p->type = PIXMAP;
+  p->frame.size.width  = width;
+  p->frame.size.height = height;
+  p->pixmap.depth      = depth;
+  p->pixmap.cgc_buffer = data;
+  
+  /* Quartz doesn't have a 1bpp image type.
+     Used to use 8bpp gray images instead of 1bpp, but some Mac video cards
+     don't support that!  So we always use 32bpp, regardless of depth. */
+
+  p->cgc = CGBitmapContextCreate (data, width, height,
+                                  8, /* bits per component */
+                                  width * 4, /* bpl */
+                                  dpy->colorspace,
+                                  // Without this, it returns 0...
+                                  (kCGImageAlphaNoneSkipFirst |
+                                   kCGBitmapByteOrder32Host)
+                                  );
+  Assert (p->cgc, "could not create CGBitmapContext");
+  return p;
+}
+
+
+int
+XFreePixmap (Display *d, Pixmap p)
+{
+  Assert (p && p->type == PIXMAP, "not a pixmap");
+  invalidate_drawable_cache (p);
+  CGContextRelease (p->cgc);
+  if (p->pixmap.cgc_buffer)
+    free (p->pixmap.cgc_buffer);
+  free (p);
+  return 0;
+}
+
+
+static Pixmap
+copy_pixmap (Display *dpy, Pixmap p)
+{
+  if (!p) return 0;
+  Assert (p->type == PIXMAP, "not a pixmap");
+
+  int width  = p->frame.size.width;
+  int height = p->frame.size.height;
+  char *data = (char *) malloc (width * height * 4);
+  if (! data) return 0;
+
+  memcpy (data, p->pixmap.cgc_buffer, width * height * 4);
+
+  Pixmap p2 = (Pixmap) malloc (sizeof (*p2));
+  *p2 = *p;
+  p2->cgi = 0;
+  p2->pixmap.cgc_buffer = data;
+  p2->cgc = CGBitmapContextCreate (data, width, height,
+                                   8, /* bits per component */
+                                   width * 4, /* bpl */
+                                   dpy->colorspace,
+                                   // Without this, it returns 0...
+                                   (kCGImageAlphaNoneSkipFirst |
+                                    kCGBitmapByteOrder32Host)
+                                   );
+  Assert (p2->cgc, "could not create CGBitmapContext");
+
+  return p2;
+}
+
+
+/* Font metric terminology, as used by X11:
+
+   "lbearing" is the distance from the logical origin to the leftmost pixel.
+   If a character's ink extends to the left of the origin, it is negative.
+
+   "rbearing" is the distance from the logical origin to the rightmost pixel.
+
+   "descent" is the distance from the logical origin to the bottommost pixel.
+   For characters with descenders, it is negative.
+
+   "ascent" is the distance from the logical origin to the topmost pixel.
+   It is the number of pixels above the baseline.
+
+   "width" is the distance from the logical origin to the position where
+   the logical origin of the next character should be placed.
+
+   If "rbearing" is greater than "width", then this character overlaps the
+   following character.  If smaller, then there is trailing blank space.
+ */
+
+
+// This is XQueryFont, but for the XFontStruct embedded in 'Font'
+//
+static void
+query_font (Font fid)
+{
+  if (!fid || !fid->nsfont) {
+    Assert (0, "no NSFont in fid");
+    return;
+  }
+  if (![fid->nsfont fontName]) {
+    Assert(0, @"broken NSFont in fid");
+    return;
+  }
+
+  int first = 32;
+  int last = 255;
+
+  XFontStruct *f = &fid->metrics;
+  XCharStruct *min = &f->min_bounds;
+  XCharStruct *max = &f->max_bounds;
+
+#define CEIL(F)  ((F) < 0 ? floor(F) : ceil(F))
+
+  f->fid               = fid;
+  f->min_char_or_byte2 = first;
+  f->max_char_or_byte2 = last;
+  f->default_char      = 'M';
+  f->ascent            =  CEIL ([fid->nsfont ascender]);
+  f->descent           = -CEIL ([fid->nsfont descender]);
+
+  min->width    = 255;  // set to smaller values in the loop
+  min->ascent   = 255;
+  min->descent  = 255;
+  min->lbearing = 255;
+  min->rbearing = 255;
+
+  f->per_char = (XCharStruct *) calloc (last-first+2, sizeof (XCharStruct));
+  int i;
+
+# ifndef USE_IPHONE
+  NSBezierPath *bpath = [NSBezierPath bezierPath];
+# else  // USE_IPHONE
+  CTFontRef ctfont =
+    CTFontCreateWithName ((CFStringRef) [fid->nsfont fontName],
+                          [fid->nsfont pointSize],
+                          NULL);
+  Assert (ctfont, @"no CTFontRef for UIFont");
+# endif // USE_IPHONE
+
+  for (i = first; i <= last; i++) {
+    unsigned char str[2];
+    str[0] = i;
+    str[1] = 0;
+
+    NSString *nsstr = [NSString stringWithCString:(char *) str
+                                         encoding:NSISOLatin1StringEncoding];
+    NSPoint advancement = { 0, };
+    NSRect bbox = {{ 0, }, };
+
+# ifndef USE_IPHONE
+
+    /* I can't believe we have to go through this bullshit just to
+       convert a 'char' to an NSGlyph!!
+
+       You might think that we could do
+          NSGlyph glyph = [fid->nsfont glyphWithName:nsstr];
+       but that doesn't work; my guess is that glyphWithName expects
+       full Unicrud names like "LATIN CAPITAL LETTER A WITH ACUTE".
+     */
+    NSGlyph glyph;
+    {
+      NSTextStorage *ts = [[NSTextStorage alloc] initWithString:nsstr];
+      [ts setFont:fid->nsfont];
+      NSLayoutManager *lm = [[NSLayoutManager alloc] init];
+
+      /* Without this, the layout manager ends up on a queue somewhere and is
+         referenced again after we return to the command loop.  Since we don't
+         use this layout manager again, by that time it may have been garbage
+         collected, and we crash.  Setting this seems to cause `lm' to no 
+         longer be referenced once we exit this block. */
+      [lm setBackgroundLayoutEnabled:NO];
+
+      NSTextContainer *tc = [[NSTextContainer alloc] init];
+      [lm addTextContainer:tc];
+      [tc release];    // lm retains tc
+      [ts addLayoutManager:lm];
+      [lm release];    // ts retains lm
+      glyph = [lm glyphAtIndex:0];
+      [ts release];
+    }
+
+    /* Compute the bounding box and advancement by converting the glyph
+       to a bezier path.  There appears to be *no other way* to find out
+       the bounding box of a character: [NSFont boundingRectForGlyph] and
+       [NSString sizeWithAttributes] both return an advancement-sized
+       rectangle, not a rectangle completely enclosing the glyph's ink.
+     */
+    advancement.x = advancement.y = 0;
+    [bpath removeAllPoints];
+    [bpath moveToPoint:advancement];
+    [bpath appendBezierPathWithGlyph:glyph inFont:fid->nsfont];
+    advancement = [bpath currentPoint];
+    bbox = [bpath bounds];
+
+# else  // USE_IPHONE
+
+    /* There is no way to get "lbearing", "rbearing" or "descent" out of
+       NSFont.  'sizeWithFont' gives us "width" and "height" only.
+       Likewise, 'drawAtPoint' (to an offscreen CGContext) gives us the
+       width of the character and the ascent of the font.
+
+       Maybe we could use CGFontGetGlyphBBoxes() and avoid linking in
+       the CoreText library, but there's no non-CoreText way to turn a
+       unichar into a CGGlyph.
+     */
+    UniChar uchar = [nsstr characterAtIndex: 0];
+    CGGlyph cgglyph = 0;
+
+    if (CTFontGetGlyphsForCharacters (ctfont, &uchar, &cgglyph, 1))
+      {
+        bbox = CTFontGetBoundingRectsForGlyphs (ctfont,
+                                                kCTFontDefaultOrientation,
+                                                &cgglyph, NULL, 1);
+        CGSize adv = { 0, };
+        CTFontGetAdvancesForGlyphs (ctfont, kCTFontDefaultOrientation,
+                                    &cgglyph, &adv, 1);
+        advancement.x = adv.width;
+        advancement.y = adv.height;
+
+        /* A bug that existed was that the GL FPS display was truncating
+           characters slightly: commas looked like periods.
+
+           At one point, I believed the bounding box was being rounded
+           wrong and we needed to add padding to it here.
+
+           I think what was actually going on was, I was computing rbearing
+           wrong.  Also there was an off-by-one error in texfont.c, displaying
+           too little of the bitmap.
+
+           Adding arbitrarily large padding to the bbox is fine in fontglide
+           and FPS display, but screws up BSOD. Increasing bbox width makes
+           inverted text print too wide; decreasing origin makes characters
+           clip.
+
+           I think that all 3 states are correct now with the new lbearing
+           computation plus the texfont fix.
+         */
+#  if 0
+        double kludge = 2;
+        bbox.origin.x    -= kludge;
+        bbox.origin.y    -= kludge;
+        bbox.size.width  += kludge;
+        bbox.size.height += kludge;
+#  endif
+      }
+# endif // USE_IPHONE
+
+    /* Now that we know the advancement and bounding box, we can compute
+       the lbearing and rbearing.
+     */
+    XCharStruct *cs = &f->per_char[i-first];
+
+    cs->ascent   = CEIL (bbox.origin.y) + CEIL (bbox.size.height);
+    cs->descent  = CEIL(-bbox.origin.y);
+    cs->lbearing = floor (bbox.origin.x);
+//  cs->rbearing = CEIL (bbox.origin.x) + CEIL (bbox.size.width);
+    cs->rbearing = CEIL (bbox.origin.x + bbox.size.width) - cs->lbearing;
+    cs->width    = CEIL (advancement.x);
+
+//  Assert (cs->rbearing - cs->lbearing == CEIL(bbox.size.width), 
+//          "bbox w wrong");
+    Assert (cs->ascent   + cs->descent  == CEIL(bbox.size.height),
+            "bbox h wrong");
+
+    max->width    = MAX (max->width,    cs->width);
+    max->ascent   = MAX (max->ascent,   cs->ascent);
+    max->descent  = MAX (max->descent,  cs->descent);
+    max->lbearing = MAX (max->lbearing, cs->lbearing);
+    max->rbearing = MAX (max->rbearing, cs->rbearing);
+
+    min->width    = MIN (min->width,    cs->width);
+    min->ascent   = MIN (min->ascent,   cs->ascent);
+    min->descent  = MIN (min->descent,  cs->descent);
+    min->lbearing = MIN (min->lbearing, cs->lbearing);
+    min->rbearing = MIN (min->rbearing, cs->rbearing);
+
+# undef CEIL
+
+#if 0
+    fprintf(stderr, " %3d %c: w=%3d lb=%3d rb=%3d as=%3d ds=%3d "
+                    " bb=%5.1f x %5.1f @ %5.1f %5.1f  adv=%5.1f %5.1f\n",
+            i, i, cs->width, cs->lbearing, cs->rbearing, 
+            cs->ascent, cs->descent,
+            bbox.size.width, bbox.size.height,
+            bbox.origin.x, bbox.origin.y,
+            advancement.x, advancement.y);
+#endif
+  }
+
+# ifdef USE_IPHONE
+  CFRelease (ctfont);
+# endif
+}
+
+
+// Since 'Font' includes the metrics, this just makes a copy of that.
+//
+XFontStruct *
+XQueryFont (Display *dpy, Font fid)
+{
+  // copy XFontStruct
+  XFontStruct *f = (XFontStruct *) calloc (1, sizeof(*f));
+  *f = fid->metrics;
+
+  // copy XCharStruct array
+  int size = f->max_char_or_byte2 - f->min_char_or_byte2;
+  f->per_char = (XCharStruct *) calloc (size + 2, sizeof (XCharStruct));
+  memcpy (f->per_char, fid->metrics.per_char,
+          size * sizeof (XCharStruct));
+
+  return f;
+}
+
+
+static Font
+copy_font (Font fid)
+{
+  // copy 'Font' struct
+  Font fid2 = (Font) malloc (sizeof(*fid2));
+  *fid2 = *fid;
+
+  // copy XCharStruct array
+  int size = fid->metrics.max_char_or_byte2 - fid->metrics.min_char_or_byte2;
+  fid2->metrics.per_char = (XCharStruct *) 
+    malloc ((size + 2) * sizeof (XCharStruct));
+  memcpy (fid2->metrics.per_char, fid->metrics.per_char, 
+          size * sizeof (XCharStruct));
+
+  // copy the other pointers
+  fid2->ps_name = strdup (fid->ps_name);
+//  [fid2->nsfont retain];
+  fid2->metrics.fid = fid2;
+
+  return fid2;
+}
+
+
+static NSFont *
+try_font (BOOL fixed, BOOL bold, BOOL ital, BOOL serif, float size,
+          char **name_ret)
+{
+  Assert (size > 0, "zero font size");
+  const char *name;
+
+  if (fixed) {
+    // 
+    // "Monaco" only exists in plain.
+    // "LucidaSansTypewriterStd" gets an AGL bad value error.
+    // 
+    if (bold && ital) name = "Courier-BoldOblique";
+    else if (bold)    name = "Courier-Bold";
+    else if (ital)    name = "Courier-Oblique";
+    else              name = "Courier";
+
+  } else if (serif) {
+    // 
+    // "Georgia" looks better than "Times".
+    // 
+    if (bold && ital) name = "Georgia-BoldItalic";
+    else if (bold)    name = "Georgia-Bold";
+    else if (ital)    name = "Georgia-Italic";
+    else              name = "Georgia";
+
+  } else {
+    // 
+    // "Geneva" only exists in plain.
+    // "LucidaSansStd-BoldItalic" gets an AGL bad value error.
+    // "Verdana" renders smoother than "Helvetica" for some reason.
+    // 
+    if (bold && ital) name = "Verdana-BoldItalic";
+    else if (bold)    name = "Verdana-Bold";
+    else if (ital)    name = "Verdana-Italic";
+    else              name = "Verdana";
+  }
+
+  NSString *nsname = [NSString stringWithCString:name
+                                        encoding:NSUTF8StringEncoding];
+  NSFont *f = [NSFont fontWithName:nsname size:size];
+  if (f)
+    *name_ret = strdup(name);
+  return f;
+}
+
+static NSFont *
+try_native_font (const char *name, float scale,
+                 char **name_ret, float *size_ret)
+{
+  if (!name) return 0;
+  const char *spc = strrchr (name, ' ');
+  if (!spc) return 0;
+  int dsize = 0;
+  if (1 != sscanf (spc, " %d ", &dsize)) return 0;
+  float size = dsize;
+
+  if (size <= 4) return 0;
+
+  size *= scale;
+
+  char *name2 = strdup (name);
+  name2[strlen(name2) - strlen(spc)] = 0;
+  NSString *nsname = [NSString stringWithCString:name2
+                                        encoding:NSUTF8StringEncoding];
+  NSFont *f = [NSFont fontWithName:nsname size:size];
+  if (f) {
+    *name_ret = name2;
+    *size_ret = size;
+    return f;
+  } else {
+    free (name2);
+    return 0;
+  }
+}
+
+
+/* Returns a random font in the given size and face.
+ */
+static NSFont *
+random_font (BOOL bold, BOOL ital, float size, char **name_ret)
+{
+# ifndef USE_IPHONE
+  NSFontTraitMask mask = ((bold ? NSBoldFontMask   : NSUnboldFontMask) |
+                          (ital ? NSItalicFontMask : NSUnitalicFontMask));
+  NSArray *fonts = [[NSFontManager sharedFontManager]
+                     availableFontNamesWithTraits:mask];
+  if (!fonts) return 0;
+
+  int n = [fonts count];
+  if (n <= 0) return 0;
+
+  int j;
+  for (j = 0; j < n; j++) {
+    int i = random() % n;
+    NSString *name = [fonts objectAtIndex:i];
+    NSFont *f = [NSFont fontWithName:name size:size];
+    if (!f) continue;
+
+    /* Don't use this font if it (probably) doesn't include ASCII characters.
+     */
+    NSStringEncoding enc = [f mostCompatibleStringEncoding];
+    if (! (enc == NSUTF8StringEncoding ||
+           enc == NSISOLatin1StringEncoding ||
+           enc == NSNonLossyASCIIStringEncoding ||
+           enc == NSISOLatin2StringEncoding ||
+           enc == NSUnicodeStringEncoding ||
+           enc == NSWindowsCP1250StringEncoding ||
+           enc == NSWindowsCP1252StringEncoding ||
+           enc == NSMacOSRomanStringEncoding)) {
+      // NSLog(@"skipping \"%@\": encoding = %d", name, enc);
+      continue;
+    }
+    // NSLog(@"using \"%@\": %d", name, enc);
+
+    *name_ret = strdup ([name cStringUsingEncoding:NSUTF8StringEncoding]);
+    return f;
+  }
+
+  // None of the fonts support ASCII?
+  return 0;
+
+# else  // USE_IPHONE
+
+  NSMutableArray *fonts = [NSMutableArray arrayWithCapacity:100];
+  NSArray *families = [UIFont familyNames];
+  NSMutableDictionary *famdict = [NSMutableDictionary 
+                                   dictionaryWithCapacity:100];
+  NSObject *y = [NSNumber numberWithBool:YES];
+  for (NSString *name in families) {
+    // There are many dups in the families array -- uniquify it.
+    [famdict setValue:y forKey:name];
+  }
+
+  for (NSString *name in famdict) {
+    for (NSString *fn in [UIFont fontNamesForFamilyName:name]) {
+
+# define MATCH(X) \
+         ([fn rangeOfString:X options:NSCaseInsensitiveSearch].location \
+         != NSNotFound)
+
+      BOOL bb = MATCH(@"Bold");
+      BOOL ii = MATCH(@"Italic") || MATCH(@"Oblique");
+
+      if (!bold != !bb) continue;
+      if (!ital != !ii) continue;
+
+      /* Check if it can do ASCII.  No good way to accomplish this!
+         These are fonts present in iPhone Simulator as of June 2012
+         that don't include ASCII.
+       */
+      if (MATCH(@"AppleGothic") ||     // Korean
+          MATCH(@"Dingbats") ||                // Dingbats
+          MATCH(@"Emoji") ||           // Emoticons
+          MATCH(@"Geeza") ||           // Arabic
+          MATCH(@"Hebrew") ||          // Hebrew
+          MATCH(@"HiraKaku") ||                // Japanese
+          MATCH(@"HiraMin") ||         // Japanese
+          MATCH(@"Kailasa") ||         // Tibetan
+          MATCH(@"Ornaments") ||       // Dingbats
+          MATCH(@"STHeiti")            // Chinese
+         )
+        continue;
+
+      [fonts addObject:fn];
+# undef MATCH
+    }
+  }
+
+  if (! [fonts count]) return 0;       // Nothing suitable?
+
+  int i = random() % [fonts count];
+  NSString *name = [fonts objectAtIndex:i];
+  UIFont *ff = [UIFont fontWithName:name size:size];
+  *name_ret = strdup ([name cStringUsingEncoding:NSUTF8StringEncoding]);
+
+  return ff;
+
+# endif // USE_IPHONE
+}
+
+
+static NSFont *
+try_xlfd_font (const char *name, float scale,
+               char **name_ret, float *size_ret)
+{
+  NSFont *nsfont = 0;
+  BOOL bold  = NO;
+  BOOL ital  = NO;
+  BOOL fixed = NO;
+  BOOL serif = NO;
+  BOOL rand  = NO;
+  float size = 0;
+  char *ps_name = 0;
+
+  const char *s = (name ? name : "");
+  while (*s) {
+    while (*s && (*s == '*' || *s == '-'))
+      s++;
+    const char *s2 = s;
+    while (*s2 && (*s2 != '*' && *s2 != '-'))
+      s2++;
+    
+    int L = s2-s;
+    if (s == s2)
+      ;
+# define CMP(STR) (L == strlen(STR) && !strncasecmp (s, (STR), L))
+    else if (CMP ("random"))   rand  = YES;
+    else if (CMP ("bold"))     bold  = YES;
+    else if (CMP ("i"))        ital  = YES;
+    else if (CMP ("o"))        ital  = YES;
+    else if (CMP ("courier"))  fixed = YES;
+    else if (CMP ("fixed"))    fixed = YES;
+    else if (CMP ("m"))        fixed = YES;
+    else if (CMP ("times"))    serif = YES;
+    else if (CMP ("6x10"))     fixed = YES, size = 8;
+    else if (CMP ("6x10bold")) fixed = YES, size = 8,  bold = YES;
+    else if (CMP ("9x15"))     fixed = YES, size = 12;
+    else if (CMP ("9x15bold")) fixed = YES, size = 12, bold = YES;
+    else if (CMP ("vga"))      fixed = YES, size = 12;
+    else if (CMP ("console"))  fixed = YES, size = 12;
+    else if (CMP ("gallant"))  fixed = YES, size = 12;
+# undef CMP
+    else if (size == 0) {
+      int n = 0;
+      if (1 == sscanf (s, " %d ", &n))
+        size = n / 10.0;
+    }
+
+    s = s2;
+  }
+
+  if (size < 6 || size > 1000)
+    size = 12;
+
+  size *= scale;
+
+  if (rand)
+    nsfont   = random_font (bold, ital, size, &ps_name);
+
+  if (!nsfont)
+    nsfont   = try_font (fixed, bold, ital, serif, size, &ps_name);
+
+  // if that didn't work, turn off attibutes until it does
+  // (e.g., there is no "Monaco-Bold".)
+  //
+  if (!nsfont && serif) {
+    serif = NO;
+    nsfont = try_font (fixed, bold, ital, serif, size, &ps_name);
+  }
+  if (!nsfont && ital) {
+    ital = NO;
+    nsfont = try_font (fixed, bold, ital, serif, size, &ps_name);
+  }
+  if (!nsfont && bold) {
+    bold = NO;
+    nsfont = try_font (fixed, bold, ital, serif, size, &ps_name);
+  }
+  if (!nsfont && fixed) {
+    fixed = NO;
+    nsfont = try_font (fixed, bold, ital, serif, size, &ps_name);
+  }
+
+  if (nsfont) {
+    *name_ret = ps_name;
+    *size_ret = size;
+    return nsfont;
+  } else {
+    return 0;
+  }
+}
+
+
+Font
+XLoadFont (Display *dpy, const char *name)
+{
+  Font fid = (Font) calloc (1, sizeof(*fid));
+
+  float scale = 1;
+
+# ifdef USE_IPHONE
+  // Scale up fonts on Retina displays.
+  scale = dpy->main_window->window.view.contentScaleFactor;
+# endif
+
+  fid->nsfont = try_native_font (name, scale, &fid->ps_name, &fid->size);
+
+  if (!fid->nsfont && name &&
+      strchr (name, ' ') &&
+      !strchr (name, '*')) {
+    // If name contains a space but no stars, it is a native font spec --
+    // return NULL so that we know it really didn't exist.  Else, it is an
+    //  XLFD font, so keep trying.
+    XUnloadFont (dpy, fid);
+    return 0;
+  }
+
+  if (! fid->nsfont)
+    fid->nsfont = try_xlfd_font (name, scale, &fid->ps_name, &fid->size);
+
+  // We should never return NULL for XLFD fonts.
+  if (!fid->nsfont) {
+    Assert (0, "no font");
+    return 0;
+  }
+  CFRetain (fid->nsfont);   // needed for garbage collection?
+
+  //NSLog(@"parsed \"%s\" to %s %.1f", name, fid->ps_name, fid->size);
+
+  query_font (fid);
+
+  return fid;
+}
+
+
+XFontStruct *
+XLoadQueryFont (Display *dpy, const char *name)
+{
+  Font fid = XLoadFont (dpy, name);
+  if (!fid) return 0;
+  return XQueryFont (dpy, fid);
+}
+
+int
+XUnloadFont (Display *dpy, Font fid)
+{
+  if (fid->ps_name)
+    free (fid->ps_name);
+  if (fid->metrics.per_char)
+    free (fid->metrics.per_char);
+
+  // #### DAMMIT!  I can't tell what's going wrong here, but I keep getting
+  //      crashes in [NSFont ascender] <- query_font, and it seems to go away
+  //      if I never release the nsfont.  So, fuck it, we'll just leak fonts.
+  //      They're probably not very big...
+  //
+  //  [fid->nsfont release];
+  //  CFRelease (fid->nsfont);
+
+  free (fid);
+  return 0;
+}
+
+int
+XFreeFontInfo (char **names, XFontStruct *info, int n)
+{
+  int i;
+  if (names) {
+    for (i = 0; i < n; i++)
+      if (names[i]) free (names[i]);
+    free (names);
+  }
+  if (info) {
+    for (i = 0; i < n; i++)
+      if (info[i].per_char)
+        free (info[i].per_char);
+    free (info);
+  }
+  return 0;
+}
+
+int
+XFreeFont (Display *dpy, XFontStruct *f)
+{
+  Font fid = f->fid;
+  XFreeFontInfo (0, f, 1);
+  XUnloadFont (dpy, fid);
+  return 0;
+}
+
+
+int
+XSetFont (Display *dpy, GC gc, Font fid)
+{
+  if (gc->gcv.font)
+    XUnloadFont (dpy, gc->gcv.font);
+  gc->gcv.font = copy_font (fid);
+  [gc->gcv.font->nsfont retain];
+  CFRetain (gc->gcv.font->nsfont);   // needed for garbage collection?
+  return 0;
+}
+
+int
+XTextExtents (XFontStruct *f, const char *s, int length,
+              int *dir_ret, int *ascent_ret, int *descent_ret,
+              XCharStruct *cs)
+{
+  memset (cs, 0, sizeof(*cs));
+  int i;
+  for (i = 0; i < length; i++) {
+    unsigned char c = (unsigned char) s[i];
+    if (c < f->min_char_or_byte2 || c > f->max_char_or_byte2)
+      c = f->default_char;
+    const XCharStruct *cc = &f->per_char[c - f->min_char_or_byte2];
+    if (i == 0) {
+      *cs = *cc;
+    } else {
+      cs->ascent   = MAX (cs->ascent,   cc->ascent);
+      cs->descent  = MAX (cs->descent,  cc->descent);
+      cs->lbearing = MIN (cs->lbearing, cs->width + cc->lbearing);
+      cs->rbearing = MAX (cs->rbearing, cs->width + cc->rbearing);
+      cs->width   += cc->width;
+    }
+  }
+  *dir_ret = 0;
+  *ascent_ret  = f->ascent;
+  *descent_ret = f->descent;
+  return 0;
+}
+
+int
+XTextWidth (XFontStruct *f, const char *s, int length)
+{
+  int ascent, descent, dir;
+  XCharStruct cs;
+  XTextExtents (f, s, length, &dir, &ascent, &descent, &cs);
+  return cs.width;
+}
+
+
+static void
+set_font (Display *dpy, CGContextRef cgc, GC gc)
+{
+  Font font = gc->gcv.font;
+  if (! font) {
+    font = XLoadFont (dpy, 0);
+    gc->gcv.font = font;
+    [gc->gcv.font->nsfont retain];
+    CFRetain (gc->gcv.font->nsfont);   // needed for garbage collection?
+  }
+  CGContextSelectFont (cgc, font->ps_name, font->size, kCGEncodingMacRoman);
+  CGContextSetTextMatrix (cgc, CGAffineTransformIdentity);
+}
+
+
+static int
+draw_string (Display *dpy, Drawable d, GC gc, int x, int y,
+             const char  *str, int len, BOOL clear_background_p)
+{
+  if (clear_background_p) {
+    int ascent, descent, dir;
+    XCharStruct cs;
+    XTextExtents (&gc->gcv.font->metrics, str, len,
+                  &dir, &ascent, &descent, &cs);
+    draw_rect (dpy, d, gc,
+               x + MIN (0, cs.lbearing),
+               y - MAX (0, ascent),
+               MAX (MAX (0, cs.rbearing) -
+                    MIN (0, cs.lbearing),
+                    cs.width),
+               MAX (0, ascent) + MAX (0, descent),
+               NO, YES);
+  }
+
+  CGRect wr = d->frame;
+
+# if 1
+  /* The Quartz way is probably faster, but doesn't draw Latin1 properly.
+     But the Cocoa way only works on NSView, not on CGContextRef (pixmaps)!
+   */
+
+  CGContextRef cgc = d->cgc;
+  push_fg_gc (d, gc, YES);
+  set_font (dpy, cgc, gc);
+
+  CGContextSetTextDrawingMode (cgc, kCGTextFill);
+  if (gc->gcv.antialias_p)
+    CGContextSetShouldAntialias (cgc, YES);
+  CGContextShowTextAtPoint (cgc,
+                            wr.origin.x + x,
+                            wr.origin.y + wr.size.height - y,
+                            str, len);
+  pop_gc (d, gc);
+
+# else /* !0 */
+
+  /* The Cocoa way...
+   */
+
+  unsigned long argb = gc->gcv.foreground;
+  if (gc->depth == 1) argb = (argb ? WhitePixel(dpy,0) : BlackPixel(dpy,0));
+  float a = ((argb >> 24) & 0xFF) / 255.0;
+  float r = ((argb >> 16) & 0xFF) / 255.0;
+  float g = ((argb >>  8) & 0xFF) / 255.0;
+  float b = ((argb      ) & 0xFF) / 255.0;
+  NSColor *fg = [NSColor colorWithDeviceRed:r green:g blue:b alpha:a];
+  NSDictionary *attr =
+    [NSDictionary dictionaryWithObjectsAndKeys:
+                    gc->gcv.font->nsfont, NSFontAttributeName,
+                    fg, NSForegroundColorAttributeName,
+                  nil];
+  char *s2 = (char *) malloc (len + 1);
+  strncpy (s2, str, len);
+  s2[len] = 0;
+  NSString *nsstr = [NSString stringWithCString:s2
+                                         encoding:NSISOLatin1StringEncoding];
+  free (s2);
+  NSPoint pos;
+  pos.x = wr.origin.x + x;
+  pos.y = wr.origin.y + wr.size.height - y - gc->gcv.font->metrics.descent;
+  [nsstr drawAtPoint:pos withAttributes:attr];
+
+# endif  /* 0 */
+
+  invalidate_drawable_cache (d);
+  return 0;
+}
+
+
+int
+XDrawString (Display *dpy, Drawable d, GC gc, int x, int y,
+             const char  *str, int len)
+{
+  return draw_string (dpy, d, gc, x, y, str, len, NO);
+}
+
+int
+XDrawImageString (Display *dpy, Drawable d, GC gc, int x, int y,
+                  const char *str, int len)
+{
+  return draw_string (dpy, d, gc, x, y, str, len, YES);
+}
+
+
+int
+XSetForeground (Display *dpy, GC gc, unsigned long fg)
+{
+  validate_pixel (fg, gc->depth, gc->gcv.alpha_allowed_p);
+  gc->gcv.foreground = fg;
+  return 0;
+}
+
+
+int
+XSetBackground (Display *dpy, GC gc, unsigned long bg)
+{
+  validate_pixel (bg, gc->depth, gc->gcv.alpha_allowed_p);
+  gc->gcv.background = bg;
+  return 0;
+}
+
+int
+jwxyz_XSetAlphaAllowed (Display *dpy, GC gc, Bool allowed)
+{
+  gc->gcv.alpha_allowed_p = allowed;
+  return 0;
+}
+
+int
+jwxyz_XSetAntiAliasing (Display *dpy, GC gc, Bool antialias_p)
+{
+  gc->gcv.antialias_p = antialias_p;
+  return 0;
+}
+
+
+int
+XSetLineAttributes (Display *dpy, GC gc, unsigned int line_width,
+                    int line_style, int cap_style, int join_style)
+{
+  gc->gcv.line_width = line_width;
+  Assert (line_style == LineSolid, "only LineSolid implemented");
+//  gc->gcv.line_style = line_style;
+  gc->gcv.cap_style = cap_style;
+  gc->gcv.join_style = join_style;
+  return 0;
+}
+
+int
+XSetGraphicsExposures (Display *dpy, GC gc, Bool which)
+{
+  return 0;
+}
+
+int
+XSetFunction (Display *dpy, GC gc, int which)
+{
+  gc->gcv.function = which;
+  return 0;
+}
+
+int
+XSetSubwindowMode (Display *dpy, GC gc, int which)
+{
+  gc->gcv.subwindow_mode = which;
+  return 0;
+}
+
+int
+XSetClipMask (Display *dpy, GC gc, Pixmap m)
+{
+  Assert (!!gc->gcv.clip_mask == !!gc->clip_mask, "GC clip mask mixup");
+
+  if (gc->gcv.clip_mask) {
+    XFreePixmap (dpy, gc->gcv.clip_mask);
+    CGImageRelease (gc->clip_mask);
+  }
+
+  gc->gcv.clip_mask = copy_pixmap (dpy, m);
+  if (gc->gcv.clip_mask)
+    gc->clip_mask =
+      CGBitmapContextCreateImage (gc->gcv.clip_mask->cgc);
+  else
+    gc->clip_mask = 0;
+
+  return 0;
+}
+
+int
+XSetClipOrigin (Display *dpy, GC gc, int x, int y)
+{
+  gc->gcv.clip_x_origin = x;
+  gc->gcv.clip_y_origin = y;
+  return 0;
+}
+
+
+Bool
+XQueryPointer (Display *dpy, Window w, Window *root_ret, Window *child_ret,
+               int *root_x_ret, int *root_y_ret, 
+               int *win_x_ret, int *win_y_ret, unsigned int *mask_ret)
+{
+  Assert (w && w->type == WINDOW, "not a window");
+
+# ifdef USE_IPHONE
+  int x = w->window.last_mouse_x;
+  int y = w->window.last_mouse_y;
+  if (root_x_ret) *root_x_ret = x;
+  if (root_y_ret) *root_y_ret = y;
+  if (win_x_ret)  *win_x_ret  = x;
+  if (win_y_ret)  *win_y_ret  = y;
+
+# else  // !USE_IPHONE
+
+  NSWindow *nsw = [w->window.view window];
+  NSPoint wpos;
+  // get bottom left of window on screen, from bottom left
+  wpos.x = wpos.y = 0;
+  wpos = [nsw convertBaseToScreen:wpos];
+  
+  NSPoint vpos;
+  // get bottom left of view on window, from bottom left
+  vpos.x = vpos.y = 0;
+  vpos = [w->window.view convertPoint:vpos toView:[nsw contentView]];
+
+  // get bottom left of view on screen, from bottom left
+  vpos.x += wpos.x;
+  vpos.y += wpos.y;
+  
+  // get top left of view on screen, from bottom left
+  vpos.y += w->frame.size.height;
+  
+  // get top left of view on screen, from top left
+  NSArray *screens = [NSScreen screens];
+  NSScreen *screen = (screens && [screens count] > 0
+                      ? [screens objectAtIndex:0]
+                      : [NSScreen mainScreen]);
+#ifdef USE_IPHONE
+  double s = w->window.view.contentScaleFactor;
+#else
+  int s = 1;
+#endif
+  NSRect srect = [screen frame];
+  vpos.y = (s * srect.size.height) - vpos.y;
+  
+  // get the mouse position on window, from bottom left
+  NSEvent *e = [NSApp currentEvent];
+  NSPoint p = [e locationInWindow];
+  
+  // get mouse position on screen, from bottom left
+  p.x += wpos.x;
+  p.y += wpos.y;
+  
+  // get mouse position on screen, from top left
+  p.y = srect.size.height - p.y;
+
+  if (root_x_ret) *root_x_ret = (int) p.x;
+  if (root_y_ret) *root_y_ret = (int) p.y;
+  if (win_x_ret)  *win_x_ret  = (int) (p.x - vpos.x);
+  if (win_y_ret)  *win_y_ret  = (int) (p.y - vpos.y);
+# endif // !USE_IPHONE
+  
+  if (mask_ret)   *mask_ret   = 0;  // #### poll the keyboard modifiers?
+  if (root_ret)   *root_ret   = 0;
+  if (child_ret)  *child_ret  = 0;
+  return True;
+}
+
+Bool
+XTranslateCoordinates (Display *dpy, Window w, Window dest_w,
+                       int src_x, int src_y,
+                       int *dest_x_ret, int *dest_y_ret,
+                       Window *child_ret)
+{
+  Assert (w && w->type == WINDOW, "not a window");
+
+# ifdef USE_IPHONE
+
+  NSPoint p;
+  p.x = src_x;
+  p.y = src_y;
+
+# else  // !USE_IPHONE
+
+  NSWindow *nsw = [w->window.view window];
+  NSPoint wpos;
+  // get bottom left of window on screen, from bottom left
+  wpos.x = wpos.y = 0;
+  wpos = [nsw convertBaseToScreen:wpos];
+  
+  NSPoint vpos;
+  // get bottom left of view on window, from bottom left
+  vpos.x = vpos.y = 0;
+  vpos = [w->window.view convertPoint:vpos toView:[nsw contentView]];
+
+  // get bottom left of view on screen, from bottom left
+  vpos.x += wpos.x;
+  vpos.y += wpos.y;
+  
+  // get top left of view on screen, from bottom left
+  vpos.y += w->frame.size.height;
+  
+  // get top left of view on screen, from top left
+  NSArray *screens = [NSScreen screens];
+  NSScreen *screen = (screens && [screens count] > 0
+                      ? [screens objectAtIndex:0]
+                      : [NSScreen mainScreen]);
+# ifdef USE_IPHONE
+  double s = w->window.view.contentScaleFactor;
+# else
+  int s = 1;
+# endif
+  NSRect srect = [screen frame];
+  vpos.y = (s * srect.size.height) - vpos.y;
+  
+  // point starts out relative to top left of view
+  NSPoint p;
+  p.x = src_x;
+  p.y = src_y;
+  
+  // get point relative to top left of screen
+  p.x += vpos.x;
+  p.y += vpos.y;
+# endif // !USE_IPHONE
+
+  *dest_x_ret = p.x;
+  *dest_y_ret = p.y;
+  if (child_ret)
+    *child_ret = w;
+  return True;
+}
+
+
+KeySym
+XKeycodeToKeysym (Display *dpy, KeyCode code, int index)
+{
+  return code;
+}
+
+int
+XLookupString (XKeyEvent *e, char *buf, int size, KeySym *k_ret,
+               XComposeStatus *xc)
+{
+  KeySym ks = XKeycodeToKeysym (0, e->keycode, 0);
+  char c = 0;
+  // Do not put non-ASCII KeySyms like XK_Shift_L and XK_Page_Up in the string.
+  if ((unsigned int) ks <= 255)
+    c = (char) ks;
+
+  // Put control characters in the string.  Not meta.
+  if (e->state & ControlMask) {
+    if (c >= 'a' && c <= 'z')    // Upcase control.
+      c -= 'a'-'A';
+    if (c >= '@' && c <= '_')    // Shift to control page.
+      c -= '@';
+    if (c == ' ')               // C-SPC is NULL.
+      c = 0;
+  }
+
+  if (k_ret) *k_ret = ks;
+  if (size > 0) buf[0] = c;
+  if (size > 1) buf[1] = 0;
+  return (size > 0 ? 1 : 0);
+}
+
+
+int
+XFlush (Display *dpy)
+{
+  // Just let the event loop take care of this on its own schedule.
+  return 0;
+}
+
+int
+XSync (Display *dpy, Bool flush)
+{
+  return XFlush (dpy);
+}
+
+
+// declared in utils/visual.h
+int
+has_writable_cells (Screen *s, Visual *v)
+{
+  return 0;
+}
+
+int
+visual_depth (Screen *s, Visual *v)
+{
+  return 32;
+}
+
+int
+visual_cells (Screen *s, Visual *v)
+{
+  return 0xFFFFFF;
+}
+
+int
+visual_class (Screen *s, Visual *v)
+{
+  return TrueColor;
+}
+
+// declared in utils/grabclient.h
+Bool
+use_subwindow_mode_p (Screen *screen, Window window)
+{
+  return False;
+}
index 9f842ad840383e3c60d4b01c84de5ac058651a83..0dfb038bd659d9e7d5cfdd49681c7020416547c3 100644 (file)
@@ -1,13 +1,13 @@
 /* xscreensaver, Copyright (c) 2006-2012 Jamie Zawinski <jwz@jwz.org>
 /* xscreensaver, Copyright (c) 2006-2012 Jamie Zawinski <jwz@jwz.org>
-*
-* Permission to use, copy, modify, distribute, and sell this software and its
-* documentation for any purpose is hereby granted without fee, provided that
-* the above copyright notice appear in all copies and that both that
-* copyright notice and this permission notice appear in supporting
-* documentation.  No representations are made about the suitability of this
-* software for any purpose.  It is provided "as is" without express or 
-* implied warranty.
-*/
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation.  No representations are made about the suitability of this
+ * software for any purpose.  It is provided "as is" without express or 
+ * implied warranty.
+ */
 
 #ifdef USE_IPHONE
 # import <UIKit/UIKit.h>
 
 #ifdef USE_IPHONE
 # import <UIKit/UIKit.h>
diff --git a/OSX/sign_update.rb b/OSX/sign_update.rb
new file mode 100755 (executable)
index 0000000..6d03e2e
--- /dev/null
@@ -0,0 +1,7 @@
+#!/usr/bin/ruby
+if ARGV.length < 2
+  puts "Usage: ruby sign_update.rb update_archive private_key"
+  exit
+end
+
+puts `openssl dgst -sha1 -binary < "#{ARGV[0]}" | openssl dgst -dss1 -sign "#{ARGV[1]}" | openssl enc -base64`
\ No newline at end of file
diff --git a/OSX/sparkle_dsa_pub.pem b/OSX/sparkle_dsa_pub.pem
new file mode 100644 (file)
index 0000000..f8a9229
--- /dev/null
@@ -0,0 +1,20 @@
+-----BEGIN PUBLIC KEY-----
+MIIDOzCCAi4GByqGSM44BAEwggIhAoIBAQDekjUm7Fk/mm887ldKk4qfLq1lb3Wg
+Num4oLRJBJlGcKzKKA0jP4J9BgXZvuOs3FEzpwPK+P6LajWkBhG2kaxNSwwOlQjp
+dAqeMeV8EZxKiu5+msudl6QHOuIk+fwpDlB007KPI+JAxnrrmkI7nlLDv2EBVAJw
+78rSlcI6co3AiXHEe5H2J0LsZe6pi3U4FeCJXu7vr1+yNn5Gw8MX9hXl1EjOkN9e
+gCbDEZrX2UPSUWpiIfZwpjAXnit2MV045niww6/jz5nz58Y/ZMbuLQW205B2gzPB
+XUVH50tMhbKPnU51aRyWcDWVIYMeqryjKqsy/IjDZC5zwdUbDA66ZwuXAhUAywjB
+FIUjBpzyPldDNeVwq/uG9eECggEBAMMDXX0R6Hib2MR3icbJVsIEPZ9EUli6e8F6
+htypUNNTwaNbkz0v74ruyrJ9cPtWGFgU5gCS5uTKmeIA15i+clxGFy6kqWyAxrAT
+h0ehuo572Htdayh9Z7N3UGVpNG+ryYfaxWhYl0sgd/vvsptZpBbmQe+F1/BR9/C0
+J3J4CsAv3Ut0dzWjap4dGefSMYXUX+BikfsLaSeqSR07r5jvNsT2L4av1RnZagSl
+zzq3Tx6fepfgPHdf1A5/cnbzNz+Uf98YxlYXylqpbGBL1wmhseiHNxJCKSsCrHz1
+UWJqj31WHD6trQoGN9/1y74w0Y9sveHK8RApEoKitTTcL3Dn/ZYDggEFAAKCAQAU
+ofRd/dLgvCmA9gzyagc1TSYGoIjuNOpagqs6KpzhPAH+dA6/zlWy+iA/5rA6tm5Y
+JOOrmTudXcBu9Y2NJDJIzD0WphkigUs0YTml257X7+74DSuIWH1d70hhPwhkuMeM
+6AjnEHGcmlXRPbeMT0+ALlBW8GEmJBagazSXUXRXkyj+902zeliwdOBPAZWUwEdj
+QEqlYCJWwPhQe2cHWwVPnNHtp+66pEJs+lVeqM/IMxcJZhHevoF8T0M02WtIOgAc
+5/oGrdV092cN0aRGlI1bCmEqm6yrP+KIpQHSNhmugkkZzpJ/Ei50446AxuE0VHL1
+5UZ8A9+VkPn0AsbuMPU5
+-----END PUBLIC KEY-----
index c5233ae7a370afe3e3cee024a6b636f5f15a6c47..0d933cb7f6d69fa081a03f02dfc1f04bb2b759f9 100755 (executable)
@@ -27,7 +27,7 @@ use IO::Compress::Gzip qw(gzip $GzipError);
 
 my ($exec_dir, $progname) = ($0 =~ m@^(.*?)/([^/]+)$@);
 
 
 my ($exec_dir, $progname) = ($0 =~ m@^(.*?)/([^/]+)$@);
 
-my $version = q{ $Revision: 1.26 $ }; $version =~ s/^[^0-9]+([0-9.]+).*$/$1/;
+my $version = q{ $Revision: 1.28 $ }; $version =~ s/^[^0-9]+([0-9.]+).*$/$1/;
 
 $ENV{PATH} = "/usr/local/bin:$ENV{PATH}";   # for seticon
 
 
 $ENV{PATH} = "/usr/local/bin:$ENV{PATH}";   # for seticon
 
@@ -85,6 +85,7 @@ sub read_saver_xml($) {
 
   return () if ($name eq 'XScreenSaver');
   return () if ($name eq 'SaverTester');
 
   return () if ($name eq 'XScreenSaver');
   return () if ($name eq 'SaverTester');
+  return () if ($name eq 'XScreenSaverUpdater');
 
   my $file  = "$app_dir/Contents/Resources/" . lc($name) . ".xml";
   my $file2 = "$app_dir/" . lc($name) . ".xml";
 
   my $file  = "$app_dir/Contents/Resources/" . lc($name) . ".xml";
   my $file2 = "$app_dir/" . lc($name) . ".xml";
@@ -178,7 +179,7 @@ sub update_saver_xml($$) {
                "\n" . 
                "From the XScreenSaver collection: " .
                "http://www.jwz.org/xscreensaver/\n" .
                "\n" . 
                "From the XScreenSaver collection: " .
                "http://www.jwz.org/xscreensaver/\n" .
-               "Copyright \251 $year by $authors.\n");
+               "Copyright \302\251 $year by $authors.\n");
 
   my $desc2 = ("$name $vers,\n" .                      # Info.plist
                "\302\251 $year $authors.\n" .
 
   my $desc2 = ("$name $vers,\n" .                      # Info.plist
                "\302\251 $year $authors.\n" .
@@ -197,6 +198,10 @@ sub update_saver_xml($$) {
 
   $body =~ s@(<_description>)(.*?)(</_description>)@$1$desc1$3@s;
 
 
   $body =~ s@(<_description>)(.*?)(</_description>)@$1$desc1$3@s;
 
+  # NSXMLParser doesn't seem to work properly on Latin1 XML documents,
+  # so we convert these to UTF8 when embedding them in the .saver bundle.
+  $body =~ s@encoding="ISO-8859-1"@encoding="UTF-8"@gsi;
+
   if ($obody eq $body && $was_compressed_p) {
     print STDERR "$progname: $filename: unchanged\n" if ($verbose > 1);
   } else {
   if ($obody eq $body && $was_compressed_p) {
     print STDERR "$progname: $filename: unchanged\n" if ($verbose > 1);
   } else {
diff --git a/OSX/updates.pl b/OSX/updates.pl
new file mode 100755 (executable)
index 0000000..bff462d
--- /dev/null
@@ -0,0 +1,210 @@
+#!/usr/bin/perl -w
+# Copyright Â© 2013 Jamie Zawinski <jwz@jwz.org>
+#
+# Permission to use, copy, modify, distribute, and sell this software and its
+# documentation for any purpose is hereby granted without fee, provided that
+# the above copyright notice appear in all copies and that both that
+# copyright notice and this permission notice appear in supporting
+# documentation.  No representations are made about the suitability of this
+# software for any purpose.  It is provided "as is" without express or 
+# implied warranty.
+#
+# Generates updates.xml from README, archive/, and www/.
+#
+# Created: 27-Nov-2013.
+
+require 5;
+use diagnostics;
+use strict;
+
+use open ":encoding(utf8)";
+use POSIX;
+
+my $progname = $0; $progname =~ s@.*/@@g;
+my $version = q{ $Revision: 1.1 $ }; $version =~ s/^[^\d]+([\d.]+).*/$1/;
+
+my $verbose = 0;
+my $debug_p = 0;
+
+my $base_url = "http://www.jwz.org/";
+my $priv_key_file = "$ENV{HOME}/.ssh/sparkle_dsa_priv.pem";
+my $sign_update = "./sign_update.rb";
+
+
+sub generate_xml($$$$) {
+  my ($app_name, $changelog, $archive_dir, $www_dir) = @_;
+
+  my $outfile = "updates.xml";
+
+  my $obody = '';
+  my %sigs;
+  my %dates;
+  if (open (my $in, '<', $outfile)) {
+    print STDERR "$progname: reading $outfile\n" if $verbose;
+    local $/ = undef;  # read entire file
+    $obody = <$in>;
+    close $in;
+    foreach my $item (split (/<item/i, $obody)) {
+      my ($v)    = ($item =~ m/version="(.*?)"/si);
+      my ($sig)  = ($item =~ m/dsaSignature="(.*?)"/si);
+      my ($date) = ($item =~ m/<pubDate>(.*?)</si);
+      next unless $v;
+      $sigs{$v}  = $sig  if $sig;
+      $dates{$v} = $date if $date;
+    }
+  }
+
+  open (my $in, '<', $changelog) || error ("$changelog: $!");
+  print STDERR "$progname: reading $changelog\n" if $verbose;
+  local $/ = undef;  # read entire file
+  my $body = <$in>;
+  close $in;
+
+  my $rss = "";
+
+  $body =~ s/^(\d+\.\d+[ \t])/\001$1/gm;
+  my @log = split (/\001/, $body);
+  shift @log;
+  foreach my $log (@log) {
+    my ($v1, $entry) = ($log =~ m/^(\d+\.\d+)\s+(.*)$/s);
+
+    $entry =~ s/^\s*\d\d?[- ][A-Z][a-z][a-z][- ]\d{4}:?\s+//s;  # lose date
+
+    $entry =~ s/^\s+|\s+$//gs;
+    $entry =~ s/^\s+|\s+$//gm;
+    $entry =~ s/^[-*] /<BR>&bull; /gm;
+    $entry =~ s/^<BR>//si;
+    $entry =~ s/\s+/ /gs;
+
+    my $v2 = $v1; $v2 =~ s/\.//gs;
+    my $zip = undef;
+  DONE:
+    foreach my $ext ('zip', 'dmg', 'tar.gz', 'tar.Z') {
+      foreach my $v ($v1, $v2) {
+        foreach my $name ($app_name, "x" . lc($app_name)) {
+          my $f = "$name-$v.$ext";
+          if (-f "$archive_dir/$f") {
+            $zip = $f;
+            last DONE;
+          }
+        }
+      }
+    }
+
+    my $url = ("${base_url}$app_name/" .
+               ($zip && -f "$www_dir/$zip" ? $zip : ""));
+
+    $url =~ s@DaliClock/@xdaliclock/@gs if $url; # Kludge
+
+    my @st = stat("$archive_dir/$zip") if $zip;
+    my $size = $st[7];
+    my $date = $st[9];
+    $date = ($zip ?
+             strftime ("%a, %d %b %Y %T %z", localtime($date))
+             : "");
+
+    my $odate = $dates{$v1};
+    my $sig   = $sigs{$v1};
+    # Re-generate the sig if the file date changed.
+    $sig = undef if ($odate && $odate ne $date);
+
+    if (!$sig && $zip) {
+      local %ENV = %ENV;
+      $ENV{PATH} = "/usr/bin:$ENV{PATH}";
+      $sig = `$sign_update "$archive_dir/$zip" "$priv_key_file"`;
+      $sig =~ s/\s+//gs;
+    }
+
+    my $enc = ($zip && -f "$www_dir/$zip"
+               ? ("<enclosure url=\"$url\"\n" .
+                  " sparkle:version=\"$v1\"\n" .
+                  " sparkle:dsaSignature=\"$sig\"\n" .
+                  " length=\"$size\"\n" .
+                  " type=\"application/octet-stream\" />\n")
+               : "<sparkle:version>$v1</sparkle:version>\n");
+
+    $enc =~ s/^/ /gm if $enc;
+    my $item = ("<item>\n" .
+                " <title>Version $v1</title>\n" .
+                " <link>$url</link>\n" .
+                " <description><![CDATA[$entry]]></description>\n" .
+                " <pubDate>$date</pubDate>\n" .
+                $enc .
+                "</item>\n");
+    $item =~ s/^/  /gm;
+
+    # I guess Sparkle doesn't like info-only items.
+    $item = '' unless ($zip && -f "$www_dir/$zip");
+
+    $rss .= $item;
+  }
+
+  $rss = ("<?xml version=\"1.0\" encoding=\"utf-8\"?>\n" .
+          "<rss version=\"2.0\"\n" .
+          "     xmlns:sparkle=\"http://www.andymatuschak.org/" .
+               "xml-namespaces/sparkle\"\n" .
+          "     xmlns:dc=\"http://purl.org/dc/elements/1.1/\">\n" .
+          " <channel>\n" .
+          "  <title>$app_name updater</title>\n" .
+          "  <link>${base_url}$app_name/updates.xml</link>\n" .
+          "  <description>Updates to $app_name.</description>\n" .
+          "  <language>en</language>\n" .
+          $rss .
+          " </channel>\n" .
+          "</rss>\n");
+
+  if ($rss eq $obody) {
+    print STDERR "$progname: $outfile: unchanged\n";
+  } else {
+    my $tmp = "$outfile.tmp";
+    open (my $out, '>', $tmp) || error ("$tmp: $!");
+    print $out $rss;
+    close $out;
+    if ($debug_p) {
+      system ("diff", "-wNU2", "$outfile", "$tmp");
+      unlink $tmp;
+    } else {
+      if (!rename ("$tmp", "$outfile")) {
+        unlink "$tmp";
+        error ("mv $tmp $outfile: $!");
+      } else {
+        print STDERR "$progname: wrote $outfile\n";
+      }
+    }
+  }
+}
+
+
+sub error($) {
+  my ($err) = @_;
+  print STDERR "$progname: $err\n";
+  exit 1;
+}
+
+sub usage() {
+  print STDERR "usage: $progname [--verbose] app-name changelog archive www\n";
+  exit 1;
+}
+
+sub main() {
+  my ($app_name, $changelog, $archive_dir, $www_dir);
+  while ($#ARGV >= 0) {
+    $_ = shift @ARGV;
+    if (m/^--?verbose$/)  { $verbose++; }
+    elsif (m/^-v+$/)      { $verbose += length($_)-1; }
+    elsif (m/^--?debug$/) { $debug_p++; }
+    elsif (m/^-./)        { usage; }
+    elsif (!$app_name)    { $app_name = $_; }
+    elsif (!$changelog)   { $changelog = $_; }
+    elsif (!$archive_dir) { $archive_dir = $_; }
+    elsif (!$www_dir)     { $www_dir = $_; }
+    else { usage; }
+  }
+
+  usage unless $www_dir;
+  generate_xml ($app_name, $changelog, $archive_dir, $www_dir);
+
+}
+
+main();
+exit 0;
diff --git a/OSX/updates.xml b/OSX/updates.xml
new file mode 100644 (file)
index 0000000..5b77382
--- /dev/null
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="utf-8"?>
+<rss version="2.0"
+     xmlns:sparkle="http://www.andymatuschak.org/xml-namespaces/sparkle"
+     xmlns:dc="http://purl.org/dc/elements/1.1/">
+ <channel>
+  <title>xscreensaver updater</title>
+  <link>http://www.jwz.org/xscreensaver/updates.xml</link>
+  <description>Updates to xscreensaver.</description>
+  <language>en</language>
+  <item>
+   <title>Version 5.23</title>
+   <link>http://www.jwz.org/xscreensaver/xscreensaver-5.23.dmg</link>
+   <description><![CDATA[&bull; New hack, `geodesic'. <BR>&bull; iOS and OSX: huge XCopyArea performance improvements. <BR>&bull; More heuristics for using RSS feeds as image sources. <BR>&bull; Improved Wikipedia parser. <BR>&bull; Updated `webcollage' for recent Flickr changes. <BR>&bull; Added Android to `bsod'. <BR>&bull; OSX: Added a real installer. <BR>&bull; iOS and OSX: fixed a font-metrics bug. <BR>&bull; iOS: Fixed aspect ratio bug in non-rotating apps when launched in landscape mode. <BR>&bull; Made `quasicrystal' work on weak graphics cards. <BR>&bull; iOS: fixed `ifs'. <BR>&bull; Better compression on icons, plists and XML files: smaller distribution and installation footprint. <BR>&bull; Reverted that DEACTIVATE change. Bad idea. <BR>&bull; `Phosphor' now supports amber as well as green.]]></description>
+   <pubDate>Sat, 09 Nov 2013 13:29:07 -0800</pubDate>
+   <enclosure url="http://www.jwz.org/xscreensaver/xscreensaver-5.23.dmg"
+    sparkle:version="5.23"
+    sparkle:dsaSignature="MC0CFQCn+J0qyxUxXj8qTqIzccyEjv90uQIURPhd0yT6PdDlQnXYGKhF30PvsLo="
+    length="47275494"
+    type="application/octet-stream" />
+  </item>
+  <item>
+   <title>Version 5.22</title>
+   <link>http://www.jwz.org/xscreensaver/xscreensaver-5.22.dmg</link>
+   <description><![CDATA[&bull; New hacks, `kaleidocycle', `quasicrystal', `unknownpleasures' and `hexadrop'. <BR>&bull; Performance improvements for `interference'. <BR>&bull; Fixed possible crashes in `apple2', `maze', `pacman', `polyominoes', `fireworkx', `engine'. <BR>&bull; Fix for `bumps' in 64 bit. <BR>&bull; Fixed preferences crash on old iOS 5 devices. <BR>&bull; Fixed "Shake to Randomize"; display name of saver. <BR>&bull; Fixed weirdness with "Frame Rate" sliders on iOS. <BR>&bull; Fixed rotation problems with `pacman', `decayscreen'. <BR>&bull; Better dragging in `fluidballs'. <BR>&bull; Ignore rotation in hacks that don't benefit from it. <BR>&bull; Ignore DEACTIVATE messages when locked, instead of popping up the password dialog box.]]></description>
+   <pubDate>Tue, 16 Jul 2013 02:26:09 -0700</pubDate>
+   <enclosure url="http://www.jwz.org/xscreensaver/xscreensaver-5.22.dmg"
+    sparkle:version="5.22"
+    sparkle:dsaSignature="MCwCFFNRbFFvz1fSWSY5kLFncywfabyHAhR3HBQCPMiDPc1UtSZDv/kT935sFA=="
+    length="74756948"
+    type="application/octet-stream" />
+  </item>
+  <item>
+   <title>Version 5.14</title>
+   <link>http://www.jwz.org/xscreensaver/xscreensaver-5.14.dmg</link>
+   <description><![CDATA[&bull; Fixed crash in Blank Only Mode when DPMS disabled. <BR>&bull; Added "Quick Power-off in Blank Only Mode" option. <BR>&bull; BSOD GLaDOS.]]></description>
+   <pubDate>Fri, 20 May 2011 11:42:36 -0700</pubDate>
+   <enclosure url="http://www.jwz.org/xscreensaver/xscreensaver-5.14.dmg"
+    sparkle:version="5.14"
+    sparkle:dsaSignature="MCwCFHrKuttf1gN27mVG3YL8+ueMJmNaAhR6aSkKQefuNFNp6MinLq2o1nocaA=="
+    length="54485615"
+    type="application/octet-stream" />
+  </item>
+ </channel>
+</rss>
diff --git a/README b/README
index 818e3d3d45c40d48013b938277571b90cfe57ba0..1a0718f7f7385b1dbf507d28df184e094b5519bf 100644 (file)
--- a/README
+++ b/README
@@ -38,1412 +38,1435 @@ XScreenSaver has an extensive manual -- please read it!
 
 ===============================================================================
 
 
 ===============================================================================
 
-Changes since 5.22:   * New hack, `geodesic'.
-                      * iOS and OSX: huge XCopyArea performance improvements.
-                      * More heuristics for using RSS feeds as image sources.
-                      * Improved Wikipedia parser.
-                      * Updated `webcollage' for recent Flickr changes.
-                      * Added Android to `bsod'.
-                      * OSX: Added a real installer.
-                      * iOS and OSX: fixed a font-metrics bug.
-                      * iOS: Fixed aspect ratio bug in non-rotating apps when
-                        launched in landscape mode.
-                      * Made `quasicrystal' work on weak graphics cards.
-                      * iOS: fixed `ifs'.
-                      * Better compression on icons, plists and XML files:
-                        smaller distribution and installation footprint.
-                      * Reverted that DEACTIVATE change. Bad idea.
-                      * `Phosphor' now supports amber as well as green.
-Changes since 5.21:   * New hacks, `kaleidocycle', `quasicrystal',
-                        `unknownpleasures' and `hexadrop'.
-                      * Performance improvements for `interference'.
-                      * Fixed possible crashes in `apple2', `maze', `pacman',
-                        `polyominoes', `fireworkx', `engine'.
-                      * Fix for `bumps' in 64 bit.
-                      * Fixed preferences crash on old iOS 5 devices.
-                      * Fixed "Shake to Randomize"; display name of saver.
-                      * Fixed weirdness with "Frame Rate" sliders on iOS.
-                      * Fixed rotation problems with `pacman', `decayscreen'.
-                      * Better dragging in `fluidballs'.
-                      * Ignore rotation in hacks that don't benefit from it.
-                      * Ignore DEACTIVATE messages when locked, instead of
-                        popping up the password dialog box.
-Changes since 5.20:   * Changed default text source from Twitter to Wikipedia,
-                        since Twitter now requires a login to get any feeds.
-                      * New version of `fireworkx'.
-                      * Minor fixes to `distort', `fontglide', `xmatrix'.
-                      * New MacOS crash in `bsod'.
-                      * New mode in `lcdscrub'.
-Changes since 5.19:   * Support for iPhone 5 screen size.
-                      * Fixed modifier key handing in Apple2.app and
-                        Phosphor.app on MacOS.
-                      * Various minor bug fixes.
-Changes since 5.18:   * MacOS 10.8.0 compatibility.
-                      * iOS performance improvements.
-Changes since 5.17:   * iOS responds to shake gestures to randomize.
-                      * iOS can load images from your Photo Library.
-                      * iOS has clickable Wikipedia links in Settings panels.
-                      * Made `pipes' be ridiculously less efficient, but spin.
-                      * Added better mouse control to `rubik', `cube21',
-                        `crackberg', and `julia'.
-                      * Cosmetic improvements to `queens' and `endgame'.
-                      * `sonar' can now ping local subnet on DHCP.
-                      * Most savers now resize/rotate properly.
-                      * Various fixes.
-Changes since 5.16:   * More iOS tweaks.
-                      * Fixed some compilation problems.
-                      * Enlarged the texture image for `lament'.
-Changes since 5.15:   * Ported to iPhone and iPad.
-                      * XInput devices now also ignore small mouse motions.
-                      * Loading images via RSS feeds is much improved.
-                      * Various minor fixes.
-Changes since 5.14:   * New hacks, `hilbert', `companioncube' and `tronbit'.
-                      * Image-manipulating hacks can now load from RSS or Atom
-                        feeds: `imageDirectory' may contain a URL.
-                      * Updated `webcollage' for recent search engine changes.
-                      * `phosphor' and `apple2' can now be run as standalone
-                        terminal emulator applications on MacOS.
-                      * `photopile' sped up.
-                      * New molecule in `molecule'.
-                      * "Upgraded" to XCode 4.0, which means that MacOS 10.4
-                        PPC builds are impossible, and Intel is now required.
-                      * Turned on LC_CTYPE on Linux; maybe Japanese password
-                        entry works now?
-Changes since 5.13:   * Fixed crash in Blank Only Mode when DPMS disabled.
-                      * Added "Quick Power-off in Blank Only Mode" option.
-                      * BSOD GLaDOS.
-Changes since 5.12:   * Optionally enabled full-scene OpenGL antialiasing.
-                        Set the resource `*multiSample' to true if doing so
-                        doesn't kill performance with your video hardware.
-                      * New version of `glhanoi'.
-                      * Image-loading hacks that display the file name now also
-                        display the sub-directory (xscreensaver-getimage now
-                        returns relative paths under imageDirectory).
-                      * Passwords that contain UTF-8 non-Latin1 chars are now
-                        typeable.
-                      * Numerous minor stability fixes.
-Changes since 5.11:   * Big speed improvement on OSX for heavy XCopyArea
-                        users (`xmatrix', `moire2', `phosphor', etc.)
-                      * Plugged a bad OSX-only Pixmap leak.
-                      * Kludged around the OSX pty bug that caused text to
-                        be truncated in phosphor, starwars, apple2, etc.
-                      * New molecule in `molecule'.
-                      * `glhanoi' now supports an arbitrary number of poles.
-                      * Turned on "New Login" button by default.
-                      * Added support for XInput-style alternate input devices.
-Changes since 5.10:   * New versions of `photopile', `strange'.
-                      * Worked around MacOS 10.6 garbage collector bug that
-                        caused the screen saver process to become enormous.
-                      * Fixed flicker in `pipes', `cubestorm', and `noof'.
-                      * Fixed EXIF rotation on MacOS 10.6.
-                      * Fixed desktop-grabbing when screen locked on MacOS.
-                      * Minor fixes to `circuit', `polyhedra', `tangram',
-                        `gears', `pinion', `substrate', `xanalogtv'.
-                      * Fixed some leaks in `xanalogtv' and `apple2'.
-                      * Better seeding of the RNG.
-Changes since 5.09:   * Fixed some crashes and color problems on MacOS 10.6.
-                      * Retired `hypercube' and `hyperball', which are
-                        redundant with `polytopes'.
-Changes since 5.08:   * Ported to MacOS 10.6, including various 64-bit fixes.
-                      * New hack, `rubikblocks'.
-                      * Fixed another potential RANDR crash.
-                      * Use correct proxy server on MacOS.
-                      * `molecule' now correctly displays PDB 3.2 files.
-                      * Updates to `mirrorblob', `glhanoi', and `sonar'.
-                      * Rewritten version of `klein' hack.
-                      * New hack, `surfaces', incorporating objects from old
-                        `klein' hack, plus new ones.
-                      * Merged `juggle' and `juggler3d' hacks.
-                      * Fixed compilation under gcc 4.4.0 (strict aliasing).
-                      * Fixed intermittent failure in `xscreensaver-command'.
-Changes since 5.07:   * New hack, `photopile'.
-                      * Rewrote `sonar' and `jigsaw' as OpenGL programs.
-                      * Minor tweaks to `maze', `m6502', `hypnowheel', and
-                        `timetunnel'.
-                      * Savers that load images now obey EXIF rotation tags.
-                      * Arrgh, more RANDR noise!  Fixes this time for rotated
-                        screens, and for systems where RANDR lies and says the
-                        screen size is 0x0.
-                      * When the password dialog has timed out or been
-                        cancelled, don't pop it right back up a second time.
-                      * Password timeouts/cancels don't count as
-                        "failed logins".
-                      * Retired some of the older, less interesting savers:
-                        say goodbye to `bubbles', `critical', `flag', `forest',
-                        `glforestfire', `lmorph', `laser', `lightning', `lisa',
-                        `lissie', `rotor', `sphere', `spiral', `t3d', `vines',
-                        `whirlygig', and `worm'.
-                      * Merged `munch' and `mismunch'.
-                      * Updated `webcollage' to use twitpic.com as well.
-Changes since 5.06:   * Xinerama/RANDR tweaks for old-style multi-screen.
-                      * Added bumpy skin and cel shading to `skytentacles'.
-                      * `flipflop' can load images onto the tiles.
-                      * Fixed the bouncing ball in `stairs'.
-                      * Added the missing Utah Teapotahedron to `polyhedra'.
-                      * `blitspin' works with color images on MacOS now.
-                      * Added transparency to `stonerview'.
-                      * Improved layout of the preferences dialogs: they
-                        should all now be usable even on ridiculously tiny
-                        laptop screens.
-                      * MacOS preferences text fields now prevent you from
-                        entering numbers that are out of range.
-                      * Added "Reset to Defaults" button on X11.
-                      * Added relevant Wikipedia links to many of the screen
-                        saver descriptions.
-                      * All hacks support the `-fps' option, not just GL ones.
-                      * The `-fps' option now shows CPU load.
-Changes since 5.05:   * Xinerama/RANDR fixes: this time for sure.  It should
-                        now work to add/remove monitors or resize screens at
-                        any time.
-                      * New hack, `skytentacles'.
-                      * New version of `gleidescope'.
-                      * Added the `-log' option to the xscreensaver daemon,
-                        since a truly shocking number of Linux users seem to
-                        have no idea how to redirect output to a file.
-                      * Added `-duration' arg to most image-loading hacks,
-                        so that they pick a new image every few minutes.
-                      * Added an ATM crash to `bsod'.
-Changes since 5.04:   * New hacks, `cubicgrid', `hypnowheel', and
-                        `lcdscrub' (which isn't really a screen saver).
-                      * Updates to `m6502' and `gears'.
-                      * Fixed double-buffering problems in `cubestorm' and
-                        `noof'.
-                      * Better handling of horizontal scroll wheels.
-                      * Attempt to work around latest Xinerama braindamage:
-                        if the server reports overlapping screens, use the
-                        largest non-overlapping rectangles available.
-                      * Don't warning about receipt of bogus ClientMessages,
-                        since Gnome's just never going to stop sending those.
-                      * Worked around MacOS 10.5 perl bug that caused the
-                        text-displaying hacks to fail on some systems.
-                      * Hopefully fixed font-related System Preferences crashes
-                        in MacOS savers.
-                      * The recent PAM changes broke the "Caps Lock" warning
-                        in the password dialog, the failed login warnings, and
-                        syslogging.  Fixed all that.
-Changes since 5.03:   * Fixed a possible crash in the unlock dialog (more
-                        fallout from the recent PAM changes...)
-                      * New hacks, `moebiusgears', `abstractile', and
-                        `lockward'.
-                      * Rewrote `gears' to use better (involute) gear models,
-                        and to be more random.
-                      * Minor updates to `cwaves', `voronoi', `deco',
-                        `glcells', `rd-bomb', `fireworkx' and `webcollage'.
-                      * `pong' can now display the current time as the score.
-                      * `xmatrix -mode pipe' works better.
-                      * Minor tweaks for compilation on MacOS 10.5.0.
-Changes since 5.02:   * New hacks, `cwaves', `glcells', `m6502', and `voronoi'.
-                      * Minor fixes to `bsod'.
-                      * Fixed possible crash with PAM USB-dongle auth.
-                      * Updated `webcollage' to track recent Google Images
-                        and Flickr changes.
-Changes since 5.01:   * Reworked PAM code to support fingerprint readers, etc.
-                      * Ported 'webcollage' to MacOS.
-                      * Added MacOS 10.2 and 10.3 kernel panics to `bsod'.
-                      * Fixed a Xinerama crash when changing the screen count.
-                      * New blobbier `mirrorblob'.
-                      * Minor updates to `lisa', `bsod', `ifs', `hypertorus',
-                        `polytopes', `circuit', `endgame', `crackberg',
-                        `flipflop', `flipscreen3d', `fliptext', and `carousel'.
-                      * Enabled multi-threaded OpenGL on MacOS.
-Changes since 5.00:   * Backed out recent locale-related changes, since they
-                        broke far more things than they fixed.
-                      * Fail gracefully with ridiculously small window sizes.
-                      * `xflame' and `flag' ignore bitmap option on MacOS.
-                      * `speedmine' prefs work on MacOS.
-                      * Better explosions in `boxed'.
-                      * More dynamic motion in `sproingies'.
-                      * More options in `flipflop'.
-                      * Minor updates to `topblock'.
-                      * Various other minor fixes.
-Changes since 4.24:   * Ported to MacOS X! (10.4.0 or newer)
-                      * API change: instead of providing a single screenhack()
-                        function that does not return, screen savers using the
-                        screenhack.h framework must now provide "init" and
-                        "draw one frame" functions instead.  All bundled savers
-                        have been updated; third-party patches will need work.
-                      * All image-loading happens asynchronously.
-                      * xscreensaver-getimage-file caches the contents of the
-                        image directory for a few hours, so consecutive runs
-                        won't have to re-list the whole directory tree.
-                      * New hacks, `topblock' and `glschool'.
-                      * Removed `xteevee' (superceded by `xanalogtv').
-                      * Added variable-sized puzzle pieces to `jigsaw'.
-                      * Changes to the defaults and command-line options of
-                        many hacks to make the .xml files more consistent.
-                      * Reap zombies in `glslideshow' and `carousel'.
-                      * `sonar' works without setuid on MacOS (dgram icmp).
-                      * `xmatrix -mode pipe' displays the text of a subprocess.
-                      * `endgame' has higher resolution chess-piece models.
-                      * `webcollage' takes a -directory option to get images
-                        from a local directory.
-                      * The RPM spec file no longer auto-restarts xscreensaver
-                        when a new version is installed.  Restart it manually.
-Changes since 4.23:   * New versions of `cube21', `glsnake', `celtic'.
-                      * Backed out a DPMS-related patch that cause desktop
-                        flickering with some X servers.
-                      * Fixed startup crash in getgroups() when running setuid.
-                      * Default to not displaying stderr on the saver window.
-                      * Fixed bad free() in "Documentation" button.
-                      * Don't try to run hacks that aren't installed.
-                      * Minor fixes to various XML config files and man pages.
-Changes since 4.22:   * New hacks, `glhanoi', `cube21', `timetunnel',
-                        `juggler3d', and `celtic'.
-                      * New versions of `tangram', `webcollage', `hypertorus',
-                        `polytopes', and `ripples'.
-                      * `sonar' is now quiet about unresolvable hosts.
-                      * Minor corrections to BASIC code in `apple2'.
-                      * xscreensaver-demo now provides an RPM clue when none
-                        of the hacks seem to be installed.
-                      * Don't install `ant' by default, since there is some
-                        Java tool of that name, which was causing confusion.
-                        And also it's boring.
-                      * Made screen grabbing work again on MacOS 10.4.2.
-                      * No longer prints bogus warnings about ClientMessages
-                        intended for the window manager.
-                      * Ignore unprintable characters in passwd entry field.
-                      * Fixed yet another cross-host-display image-loading
-                        endian problem.
-                      * `xscreensaver-command -watch' and `-time' now work
-                        on 64-bit machines.
-Changes since 4.21:   * Fixed a bug in the new mouse-motion code that caused
-                        the screen to never blank on multi-head non-Xinerama
-                        systems.  Oops.
-                      * New hacks, `interaggregate', `antmaze', `tangram',
-                        and `crackberg'.
-                      * Minor tweaks to `fiberlamp', `ifs', `slidescreen',
-                        `zoom', `sonar', `fireworkx', `whirlwindwarp',
-                        `bubble3d', and `rd-bomb'.
-                      * Added motion blur to `blinkbox'.
-                      * `bsod' now includes Longhorn's "RSOD", and OS/2.
-                      * Fixed `-wireframe' usage in most hacks and man pages.
-Changes since 4.20:   * New hack: `fliptext'.
-                      * Changed default configure installation directories:
-                        /usr/bin/ for xscreensaver, etc.;
-                        /usr/libexec/xscreensaver/ for hacks;
-                        /usr/share/xscreensaver/config/ for xml files.
-                      * All the text-manipulating screen savers can have their
-                        text source configured via `xscreensaver-demo' now.
-                      * xscreensaver.spec now builds three RPMs:
-                        base (no hacks); extras (2d hacks); and gl-extras.
-                      * Added `-program' and `-front' option to `gltext'.
-                      * Added `-shells' to `molecule'.
-                      * Fixed text-alpha glitch in `carousel'.
-                      * New `pacman': the ghosts can be killed now.
-                      * Fixed a bug in screen-grabbing GL hacks where images
-                        would be tiled instead of scaled on machines that
-                        can't do large textures.
-                      * `webcollage' can hit Flickr now.
-                      * New (rewritten) implementation of `ifs'.
-                      * The unlock dialog can be made to have a "New Login"
-                        button that will run `gdmflexiserver'.  Experimental!
-                      * Fixed non-ASCII display bug in `starwars'.
-                      * Configure finds a default for imageDirectory.
-                      * "xscreensaver-command -lock" now works even if
-                        in "screensaver disabled" mode.
-                      * If a bad password is typed while CapsLock is on, the
-                        unlock dialog says "CapsLock?" instead of "Sorry".
-                      * Mouse motion only counts as activity if the mouse moved
-                        more than 10 pixels (so the screen won't unblank every
-                        time you bump your desk.)
-                      * New mode option "random-same": if you have multiple
-                        monitors, this will run the *same* randomly chosen
-                        hack on each screen, instead of different ones on each.
-Changes since 4.19:   * New hacks, `fiberlamp', `boing', `boxfit', and
-                        `carousel'.
-                      * Rewrote `glslideshow' again: should be faster now.
-                      * Sped up loading of images in GL programs.
-                      * `starwars' uses texture-mapped fonts now.
-                      * New `bsod' modes: tru64, hppa, and nvidia.
-                      * Updates to `webcollage', `juggle', `pinion',
-                        `fireworkx', `sonar', `extrusion', `substrate', and
-                        `pong'.
-Changes since 4.18:   * New hacks, `substrate', `intermomentary', `fireworkx',
-                        and `pinion'.
-                      * New version of `flow'.
-                      * Made /proc/interrupts work again on Linux 2.6.
-                      * Made `analogtv' not hog the CPU.
-                      * Made analogtv-based hacks work properly on PPC/ARM.
-                      * Fixed a bad memory leak in `piecewise'.
-                      * Minor updates to `sonar', `molecule', `glmatrix',
-                        `galaxy', and `webcollage'.
-                      * Removed support for GTK 1.x (everyone uses 2.x now.)
-Changes since 4.17:   * Oops, pay no attention to the man behind the curtain.
-Changes since 4.16:   * New hacks, `anemotaxis' and `memscroller'.
-                      * Fixed a bad bug that caused `vidwhacker' to never die.
-                      * Fixed normals and lighting in `polyhedra'.
-                      * Don't reuse the window when changing hacks (to work
-                        around bugs in some GL implementations.)
-                      * Made `xscreensaver-getimage-file' skip thumbnail-sized
-                        images.
-                      * Fixed endian problem in `barcode' on non-x86.
-                      * Updates to `webcollage', `apple2', `fuzzyflakes',
-                        `atunnel', and `pacman'.
-                      * Timing tweaks to `bubble3d', `bouncingcow', `engine',
-                        `gltext', `lavalite', `molecule', `spotlight', 
-                        `sballs', `boxed', `blinkbox', and `circuit'.
-                      * Configure updates for Fedora core 2 / xorg 6.7.0.
-                      * Compile without warnings under gcc 3.3.3.
-                      * I give up: don't blank or lock the screen if we can't
-                        get a keyboard grab.  In that case, both choices are
-                        bad.
-Changes since 4.15:   * New hacks, `polyhedra', `fuzzyflakes', `antinspect',
-                        and `providence'.
-                      * Minor updates to `webcollage', `bsod', `endgame',
-                        `antspotlight', `xmatrix', and `glmatrix'.
-                      * Added support for the RANDR (Resize and Rotate)
-                        extension to detect when the size of the desktop has
-                        been changed while xscreensaver is already running.
-                      * Possibly-futile attempt to work around "rdesktop"
-                        focus/grab idiocy.
-                      * Made `xscreensaver-getimage -file' still work even if
-                        imageDirectory is unset.
-                      * Convert Latin1 to ASCII in `starwars' and `phosphor'
-                        (since the GLUT font only has ASCII glyphs.)
-                      * Fixed randomization in `noof'.
-                      * Added "GetViewPortIsFullOfLies" preference to work
-                        around longstanding XFree86 bug #421.
-                      * Made `sonar' subnet pinging work properly on bigendian
-                        machines (e.g., PPC.)
-Changes since 4.14:   * New hacks, `wormhole', `mismunch', `noof', and
-                        `pacman'.
-                      * `phosphor' and `apple2' include vt100 emulators now:
-                        this means you can do "phosphor -program top", or
-                        can use either program as an xterm replacement:
-                        "apple2 -text -fast -program 'xemacs -nw'".
-                      * `analogtv' (and related) fill the screen better.
-                      * The '-gradient' option works in `atlantis' now.
-                      * Minor updates to `blinkbox', `queens', `endgame',
-                        `glmatrix', `mirrorblob', `blocktube', and `molecule'.
-                      * Integrated SuSE's "external passwd helper" support.
-                      * Marginally better /tmp handling in various programs.
-                      * Updated config defaults for xplanet 1.0.3.
-                      * Portability fixes.
-Changes since 4.13:   * New hacks, `fontglide', `apple2', `xanalogtv', `pong',
-                        `gleidescope', `mirrorblob', and `blinkbox'.
-                      * New version of `glsnake' (with many more models.)
-                      * Another Windows crash in `bsod'; also HVX/GCOS6/TPS6.
-                      * New version of `endgame'.
-                      * Screen grabbing works on MacOS X.
-                      * Various minor fixes.
-Changes since 4.12:   * On Xinerama systems, xscreensaver now runs one hack on
-                        each monitor (just like in "real" multi-head mode)
-                        instead of running one hack stretching across all the
-                        screens.  Note that for this to work with any 3rd party
-                        screensavers, they must update their "vroot.h" file.
-                      * `webcollage' and `vidwhacker' display images using
-                        `xscreensaver-getimage' now.
-                      * Added `ljlatest' script for use with `starwars' and
-                        `phosphor'.
-Changes since 4.11:   * New GL hacks, `flipflop', `antspotlight', and
-                        `polytopes'.
-                      * Added VMS to `bsod'.
-                      * Compile without warnings in "gcc -pedantic".
-                      * Updates to `webcollage' and `queens'.
-                      * Fixed a bug that could cause PAM to hang.
-Changes since 4.10:   * New hacks, `hypertorus', `cubestorm', `glknots',
-                        `blocktube', and `glmatrix'.
-                      * Updates to `cloudlife', `engine', `xmatrix', and
-                        `sonar'.
-                      * Rewrote `glslideshow': it should work on somewhat
-                        wimpier video cards now.
-                      * Various portability tweaks.
-Changes since 4.09:   * New hacks, `cloudlife' and `klein'.
-                      * Added Apple ][+, HPUX, and OS/390 sessions to `bsod'.
-                      * Added some Matrix Reloaded text to `xmatrix'.
-                      * Updates to `webcollage', `eruption', `jigglypuff',
-                        `metaballs', and `endgame'.
-                      * Completely ignore the `memoryLimit' setting now,
-                        since it was still causing people GL grief.
-                      * Various minor fixes.
-Changes since 4.08:   * New hacks, `flyingtoasters', `bouncingcow',
-                        `jigglypuff', and `glslideshow'.
-                      * More models in `engine'.
-                      * Rewrote `xscreensaver-getimage' to remove reliance on
-                        external image loaders (xv, chbg, xloadimage, etc.)
-                        and to reduce flicker when loading files.
-                      * Made `gflux' and `flipscreen3d' be mouse-spinnable.
-Changes since 4.07:   * New hacks, `atunnels' and `piecewise'.
-                      * Physics improvement in `fluidballs'.
-                      * Various fixes for XDarwin systems (X11 on MacOS X.)
-                      * Added -clock option to `barcode'.
-                      * Minor fixes to `endgame', `flurry', `flipscreen3d',
-                        and `gflux'.
-Changes since 4.06:   * New hacks, `flurry', `metaballs', `eruption',
-                        `popsquares', and `barcode'.
-                      * Minor updates to `maze' for high density mazes.
-                      * Added double buffering to `fluidballs' and `whirlygig'.
-                      * Bug fixes for running xscreensaver to a remote XFree86
-                        display (which nobody would ever do...)
-                      * Updated `webcollage' (faster Alta Vista searching.)
-                      * Updated `glplanet' so the sun sets in the west.
-                      * Updated `sproingies' with smooth, unsegmented surfaces.
-                      * Fixed Perl version-sensitivity in
-                        `xscreensaver-getimage-file'.
-                      * Fixed GTK2 scrolling bug in `xscreensaver-demo'.
-Changes since 4.05:   * New hack, `glblur' (disabled by default, since it
-                        requires fast OpenGL texture support.)
-                      * New hack, `halftone'.
-                      * Updates to `endgame', `queens', `bumps', `glplanet',
-                        `engine', and `circuit'.
-                      * New version of `menger' that uses far fewer polygons.
-                      * Fixed minor bug in `critical' that could cause some
-                        bogus X servers to crash.
-                      * Better labels in `molecule': the labels now appear to
-                        be attached to the atoms, instead of floating in front
-                        of the whole scene.
-                      * Fixed bug that could rarely cause GL hacks to fail to
-                        double-buffer (causing intermittent flickering.)
-                      * Fixed a relative-URL-parsing bug in `webcollage'.
-                      * Fixed a bug that (sometimes) caused the window manager
-                        close box to kill `xscreensaver-demo' with a crash
-                        instead of a graceful exit.
-                      * Updated xscreensaver.pam to the Red Hat 7.3 way.
-                      * More Gnome2-related configure crap.
-                      * Updated to latest `config.guess' and `config.sub'.
-                      * Fixed occasional core dump in `distort'.
-                      * Added a Linux fsck failure and kernel panic to `bsod'.
-                      * Added MacOS X kernel panic to `bsod'.
-                      * Fixed a bug in `bsod' (all bsod bugs are ironic.)
-                      * Fixed a bug that caused `xscreensaver-gl-helper' to
-                        print a nonsense visual ID with some versions of
-                        `printf': this could cause GL programs to display
-                        incorrectly (e.g., flickery.)
-Changes since 4.04:   * More `configure' tweaks to try and get things working
-                        on systems that both Gtk 1.x and 2.x installed.
-                      * New hack, `endgame'.
-                      * Minor updates to `gltext'.
-Changes since 4.03:   * Support for GTK 2.x / GNOME 2.x.
-                      * The `configure' script will now use `pkg-config' if
-                        you have it, in preference to `gtk-config', etc.
-                      * New hacks, `lavalite', `queens', and `anemone'.
-                      * Minor updates to `spheremonics', `gltext', `xmatrix'.
-                      * You can use the mouse to manually spin most of the GL
-                        hacks now (when they are displaying in a window.)
-                      * Fixed a bug in `webcollage' (due to recent Alta Vista
-                        url changes) that was causing it to try and load 
-                        incorrect image URLs.
-                      * Made `xscreensaver-getimage' use gdk_pixbuf if it is
-                        available: this means that those hacks that load images
-                        will no longer rely on "xv", "xloadimage", etc.  This
-                        will close a race condition that could sometimes cause
-                        your desktop background to be changed; and also makes
-                        it possible for those programs to operate on image
-                        files when running in windowed mode.
-                      * `webcollage' can now be used in conjunction with
-                        `driftnet' to display images snooped from your local
-                        ethernet instead of obtained from search engines.
-                      * Added man pages for all the hacks that didn't have
-                        them.
-Changes since 4.02:   * New hack, `spheremonics'.
-                      * Minor updates to `webcollage', `cage', `moebius',
-                        `morph3d', `boxed', `circuit', and `helix'.
-                      * `pulsar' and `extrusion' can now load texture JPEGs.
-                      * `rubik' now does non-square cubes.
-                      * `fluidballs' now does various sizes of balls.
-                      * `menger' and `sierpinski3d' now also show polygon
-                        counts in -fps mode.
-                      * `molecule' displays real subscripts in the formulae.
-                      * GTK internationalization/localization support.
-                      * Better detection of the various versions of libxml.
-                      * Upgraded to autoconf 2.53 (from 2.13.)
-Changes since 4.01:   * Plugged a few minor leaks in `xscreensaver' and
-                        `xscreensaver-demo'.
-                      * New hacks, `cubenetic' and `fluidballs'.
-                      * Sped up `pipes'.
-                      * Fixed sphere projection error in `glplanet'; installed
-                        a better image of earth.
-                      * Added Win2K and MacOS 1 crashes to `bsod'.
-                      * Put back previous (better) version of `forest' that
-                        was accidentially downgraded in the last release.
-                      * New version of `bumps'.
-                      * Made FPS computation in GL hacks more efficient: it
-                        will influence the results less, thus resulting in
-                        higher (but more accurate) reported frame rates.
-Changes since 4.00:   * New hacks: `twang', `glsnake', `boxed', `sballs',
-                        and `glforestfire'.
-                      * New hacks `apollonian', `euler2d', `juggle',
-                        `polyominoes' and `thornbird', from xlockmore.
-                      * Merged recent xlockmore changes into `ant', `braid',
-                        `demon', `discrete', `drift', `fadeplot', `forest',
-                        `grav', `hopalong', `ifs', `laser', `lightning',
-                        `lisa', `lissie', `loop', `mountain', `penrose',
-                        `rotor', `sierpinski', `slip', `sphere', `spiral',
-                        `strange', and `vines'.
-                      * Fixed the `gltext' bug that sometimes caused
-                        horizontal lines to vanish again.  This time for sure.
-                      * Sped up `webcollage' by adding a C helper program to
-                        replace the PPM pipeline.  It also pastes images
-                        semi-transparently now.
-                      * Added support for the gdk_pixbuf library: if this lib
-                        is available, then `blitspin', `xflame', and `flag'
-                        can load GIF, JPEG, and PNG images in addition to XPM
-                        and XBM.
-                      * Fixed a rare race condition where the desktop-grabbing
-                        hacks could sometimes leave the screen wedged, if the
-                        user moved the mouse exactly when they were grabbing
-                        the screen image (it would un-wedge the next time the
-                        saver timed out or was activated.)
-                      * Fixed incorrect colors in the screen-grabbing GL hacks
-                        (`gflux' and `flipscreen3d'.)
-                      * Made SIGHUP restart the daemon process (though using
-                        `xscreensaver-command -restart' is still the preferred
-                        way.)
-                      * Tweaks to `xspirograph'.
-                      * Minor configure and portability tweaks.
-Changes since 3.34:   * Redesigned `xscreensaver-demo' GUI: it now includes
-                        small-preview and per-hack configuration dialogs.
-                      * Added three new modes of operation: `One Screen Saver',
-                        `Blank Screen', and `Don't Blank' (in addition to the
-                        historical `Random Screen Saver').
-                      * Configure now defaults to installing the hacks in
-                        <prefix>/lib/xscreensaver/ instead of <prefix>/bin/.
-                        (Most distros already did it this way.)
-                      * New GL hacks, `menger', `engine', `flipscreen3d'.
-                      * Made `sierpinski3d' be more colorful.
-                      * New versions of `xmatrix' and `nerverot'.
-                      * Fixed a bug in `starwars' that made the font be drawn
-                        with thin lines in -root mode.
-                      * Fixed a bad colormap bug in `crystal' that could make
-                        *subsequent* hacks malfunction!
-                      * Made `gflux' able to grab screen images (`-mode grab').
-                      * Updated `webcollage' for recent search engine changes.
-                      * Removed most command-line options to `xscreensaver':
-                        just edit the ~/.xscreensaver file instead.
-                      * Improved behavior on multi-screen and Xinerama systems:
-                        the mouse now stays on the screen where the user left
-                        it, and the password and splash dialogs always appear
-                        on the screen that has the mouse.
-                      * Made the splash dialog use more Gtk-like colors;
-                        made it have only two buttons, "Settings" and "Help".
-                      * Made `sonar' understand `.ssh/known_hosts2' format
-                        files, and be better about stripping out illegal 
-                        addresses.
-Changes since 3.33:   * Turned `memoryLimit' off by default, sigh.  Apparently
-                        some versions of the GL libraries (appear to) allocate
-                        hundreds of megs for every GL program, so `memoryLimit'
-                        was causing GL programs to malfunction or crash on
-                        those systems.
-                      * Improved fading on TrueColor XFree86 4.1.x systems.
-                      * New GL hack, `circuit'.
-                      * Added `fuzz' mode to `decayscreen'.
-                      * New version of `whirlygig'.
-                      * Added links to `xplanet' and `sphereEversion'.
-                      * Fixed rare race condition that could make `sonar' hang.
-                      * Fixed potential crash in `speedmine'.
-                      * Made `xscreensaver-demo' not crash when imageDirectory
-                        was set to a non-existent directory.
-                      * Made `xscreensaver-getimage-video' invoke XawTV's
-                        `streamer' program better.
-                      * Made `phosphor' and `starwars' deal with CR, LF, 
-                        or CRLF line endings.
-                      * Changes for Cygwin compilation environments.
-                      * Made `sonar' compile on systems that can't ping.
-                      * Configure changes for HPUX 10.20.
-                      * Made PAM code work on Red Had 4.2 systems.
-                      * Made `xscreensaver-command -deactivate' work when the
-                        saver is not active: what that does is reset the idle
-                        timer, as if keyboard input had been detected.  This
-                        was added for the benefit of people writing DVD-playing
-                        software: they can now prevent the screensaver from
-                        kicking in by sending a -deactivate message once a
-                        minute while the movie is playing and not paused.
-                      * Various minor portability tweaks.
-Changes since 3.32:   * New hacks, `speedmine' and `whirlygig'.
-                      * Sped up `pyro', made the explosions look a bit better.
-                      * Added better stars to `glplanet' and `starwars'.
-                      * Many internal changes to `webcollage'.
-                      * Some new options to `attraction'.
-                      * Minor fix to `noseguy' to avoid un-erased pixels.
-                      * Rewrote the screen-eraser effects so that they complete
-                        in the same amount of time regardless of how slow
-                        your X server is (some of them were glacial on servers
-                        with slow blitting.)
-                      * Fixed a potential free memory reference that could
-                        sometimes cause a crash at startup.
-                      * Possibly fixed a problem that could cause the daemon
-                        to crash with an X error.  I was never able to
-                        reproduce this problem, but I think I might have
-                        figured out what caused it.
-                      * Worked around a problem that caused PAM authentication
-                        to fail on some Red Hat 7.x systems.
-                      * Added a `memoryLimit' parameter that controls the
-                        amount of memory a graphics hack may allocate: if they
-                        try to allocate more than this, malloc() will fail
-                        (and they will exit or (safely) crash, rather than
-                        hogging memory.)  Default is 50M.
-                      * Made `gnome-help-browser' be the default way to display
-                        man pages in `xscreensaver-demo', if running on a 
-                        GNOME system.
-Changes since 3.31:   * The image-manipulating hacks (`slidescreen', etc.) can
-                        now operate on randomly chosen image files from disk,
-                        or on frames captured from the system's video input,
-                        instead of (or in addition to) manipulating images of
-                        the desktop.
-                      * Rewrote `vidwhacker' to use the new image-grabbing
-                        mechanism.
-                      * Made fading work on TrueColor XFree86 4.x systems.
-                      * Fixed a subtle rendering bug in `atlantis' (the fish
-                        were inside out!)
-                      * Made `atlantis' have a texture simulating light
-                        reflections from the surface of the ocean.
-                      * Fixed up label placement in `molecule'.
-                      * Better color bars in `xteevee'.
-                      * Made `install-strip' not try to strip scripts.
-Changes since 3.30:   * Put in more sensible defaults for DPMS, and updated
-                        the documentation to reflect the fact that all your
-                        DPMS settings are now belong to xscreensaver.
-                      * Fixed the `xscreensaver.spec' file so that `--force'
-                        is no longer needed.
-                      * New versions of `rotzoomer' and `nerverot'.
-                      * Fixed an OSF/1 compilation problem in `molecule'.
-Changes since 3.29:   * New hacks, `molecule', `dangerball', and `rotzoomer'.
-                      * New version of `gflux'.
-                      * Made `gltext' able to display the current time.
-                      * Fixed a floating-point-precision problem in `gltext'
-                        that sometimes caused horizontal lines to vanish.
-                      * Removed the `-window-id' option from the hacks:
-                        it never worked right, and was unnecessary.
-                      * Made the `starwars' hack use thicker lines, antialias
-                        the text, and fade out at the far edge instead of just
-                        dropping off.
-                      * Fixed an SHM segment leak in `moire'.
-Changes since 3.28:   * Better rendering of the new logo.
-                      * New hack, `gltext'.
-                      * Added `-planetary' option to `gears', to draw a
-                        different kind of gear system.
-                      * Made motion and rotation be smoother in `gears',
-                        `glplanet', `moebius', `rubik', and `sierpinski3d'.
-                      * Improved coloration in `sierpinski3d'.
-                      * Made the GL hacks react to window size changes.
-                      * Made most of the GL hacks take a -fps option (like
-                        `pulsar' did), so you can use them to benchmark your
-                        3D hardware.
-                      * Fixed the previous fix to `sonar'.
-                      * Minor fix to `nerverot'.
-                        Made sonar able to ping hosts on DEC OSF1.
-                      * Eliminated a bogus "didn't get enough colors" warning
-                        in some of the hacks.
-Changes since 3.27:   * New logo for xscreensaver!
-                      * New hacks, `starwars' and `stonerview'.
-                      * Made the motion of the bouncing ball in `stairs' be a
-                        little less jerky.
-                      * Made newly-added screenhacks be added to .xscreensaver
-                        automatically: if there are hacks in the app-defaults
-                        file that are not also in ~/.xscreensaver, they will
-                        be added to the end of the list.
-                      * Redid the `Screensaver Options' part of the control
-                        panel; xscreensaver now lets you configure your DPMS
-                        settings.
-                      * Fixed some Makefile problems with non-GL builds.
-                      * Fixed detection of MesaGL for version 3.3.
-                      * Better workaround to Red Hat 7.0's broken gcc.
-                      * Added Sparc Solaris kernel panic to `bsod'.
-Changes since 3.26:   * New hacks: `zoom' and `whirlwindwarp'.
-                      * Fixed a free-memory-reference bug in `sonar'.
-                      * Better error handling when there are no suitable GL
-                        visuals.
-                      * Added diagnostic dialog when xscreensaver-demo is
-                        unable to launch xscreensaver (e.g., when running as
-                        root.)
-                      * Fixed a bug that caused screenhack argument changes
-                        to be ignored when xscreensaver-demo was running as
-                        root (if "root" and "nobody" have different home
-                        directories.)
-                      * Made the programs default to ":0" if $DISPLAY is unset.
-                      * Made the `-verbose' output include information about
-                        which server extensions were supported at compile time.
-                      * Worked around Red Hat 7.0's broken gcc 2.96.
-                      * Updated default delays on the GL hacks to look better
-                        on machines with super-fast 3D hardware.
-                      * Install `screensaver-properties-capplet' to work around
-                        the usual egregious GNOME lossage.
-Changes since 3.25:   * Added "enabled" checkboxes in the list of hacks in
-                        xscreensaver-demo (Gtk version only.)
-                      * New hacks `hyperball', `xrayswarm', and `gflux'.
-                      * New versions of `nerverot', `galaxy', and `hypercube'.
-                      * Small fixes to `phosphor', `shadebobs', `xflame',
-                        and `sonar'.
-                      * Added external helper program `xscreensaver-gl-helper'
-                        to figure out which X visual to use for OpenGL
-                        programs.
-                      * Configure updates for XFree86 4.0, and for BSD.
-                      * Made it be more tolerant of bogus /etc/group files.
-                      * When installing the PAM config file, first try to just
-                        copy an existing "xdm" or "login" config file, so that
-                        xscreensaver does authentication in the same way as the
-                        rest of the system.
-Changes since 3.24:   * New hack, `nerverot'.
-                      * Added BSD kernel panic to `bsod'.
-                      * New version of `shadebobs'.
-                      * New version of `petri'.
-                      * Updated `webcollage' to handle recent Altavista URL
-                        format changes; made it search the AP photo gallery.
-                      * Revamped command-line options of `sonar' and made it
-                        properly handle subnets.
-                      * The `bubbles' hack can now trickle up or down the
-                        screen.
-                      * The `xsublim' hack can now read its text from programs.
-                      * Support for GLE version 3 in `extrusion'.
-                      * Fixed compilation problems in `maze'.
-                      * Fixed a rare crash in `flow'.
-                      * Fixes for minor installation problems.
-Changes since 3.23:   * Added `-ignorant' option to `maze' hack.
-                      * Updates to `critical', `bsod', `xflame', and `flow'.
-                      * Added support for Kerberos 5 (via its Kerberos 4
-                        compatibility layer.)
-                      * Fixed a bad leak in `xteevee'.
-                      * Updated `webcollage' to handle recent Altavista URL
-                        format changes.
-                      * Removed xscreensaver-demo's `Ok' and `Cancel' buttons,
-                        since they were confusing people: all changes are now
-                        instantanious.
-                      * Made xscreensaver-demo install itself into the Gnome
-                        Control Center.
-Changes since 3.22:   * Fixed some misplaced text fields in the Motif version
-                        of xscreensaver-demo; fixed a crash in the Gtk version
-                        that would happen if the programs list was empty.
-                      * Fixed a recently-introduced bug in `pulsar'.
-                      * Made `sierpinski3d' use solid tetrahedrons instead of
-                        points.
-                     * Added `-trace' option to `xmatrix'.
-                      * Added new hacks `xteevee' and `xspirograph'.
-Changes since 3.21:   * Fixed some bugs in xscreensaver-demo.
-                      * Rewrote the Motif version of xscreensaver-demo to
-                        match the new Gtk version.
-                      * The Athena toolkit is no longer supported.
-Changes since 3.20:   * Tweaked the xscreensaver-demo UI (Gtk only.)
-                      * Fixed a few visual selection bugs.  I think the proper
-                        GL visual should be used with nVidia systems now.
-                      * Made the Makefiles obey $install_prefix.
-                      * Made the `xscreensaver.spec' file able to generate both
-                        GL and non-GL packages simultaneously.
-Changes since 3.19:   * Added new hacks `ripples' and `sierpinski3d'.
-                      * Made `xscreensaver-command -exit' be silent when no
-                        screen saver was running (instead of complaining.)
-                      * Made `webcollage' and `vidwhacker' use `xloadimage'
-                        when available (in addition to `xli' and `xv'.)
-                      * Improved memory usage in `petri' and gave it a hard
-                        cap on how much memory it can allocate.
-                      * Added `-watch' option to `xscreensaver-command'.
-                      * Made `xscreensaver-demo' come up with the
-                        most-recently-run hack selected by default.
-                      * Rewrote the Gtk version of `xscreensaver-demo'.
-                        It's a lot easier to use now.
-                      * Extended the format of the programs list in the
-                        .xscreensaver file, for the benefit of the new
-                        capabilities of `xscreensaver-demo'.
-                        NOTE: you might want to delete your ~/.xscreensaver
-                        file and allow it to be re-created!  The old one
-                        should still work, but xscreensaver-demo won't be as
-                        pretty.
-Changes since 3.18:   * Fixed gcc dependencies in `bumps' and `ccurve'.
-                      * New hack, `extrusion'.
-                      * Some of the web sites that `webcollage' was using as
-                        its sources changed formats; tweaked it to understand
-                        the current layouts.
-                      * Added typeahead in the password dialog: if the screen
-                        is locked, and you unlock it by typing a character,
-                        that key will be automatically inserted in the
-                        password dialog (unless it is Return, Enter, Space,
-                        or a non-printing key like Shift.)
-                      * Made `xmatrix' take a `-small' option, since some
-                        folks with tiny screens prefer a smaller font.
-Changes since 3.17:   * New versions of `shadebobs', `lmorph', and `distort'.
-                      * Added `ccurve', `blaster', and `bumps' hacks.
-                      * Replaced `forest' hack with a rewritten version.
-                      * Worked around a Xinerama server bug.
-                      * Fixed a bug I introduced in 3.10 that caused some
-                        hacks to print out superfluous warnings about not
-                        having gotten enough colors.
-                      * Made `sproingies' obey the `-delay' option.
-                      * Fixed a portability bug in `shadebobs'.
-                      * Made `webcollage' and `vidwhacker' use `xli' in
-                        preference to `xv', if it is available.
-                      * Added a new source of images to `webcollage'.
-                      * If running under KDE, xscreensaver will add itself to
-                        KDE's list of screensavers (via xscreensaver.kss.)
-                      * Improved detection of GL libraries.
-                      * Made the password dialog include the date and time.
-Changes since 3.16:   * New version of `webcollage' -- deals better with
-                        corrupted images, and can use an http proxy.
-                      * New hack, `xsublim' (run it in the background,
-                        rather than adding it to the programs list.)
-                      * The xscreensaver daemon was leaking a file descriptor
-                        each time you edited your .xscreensaver file.  Fixed.
-Changes since 3.15:   * New version of `shadebobs'.
-                      * Improved image selection in `webcollage', and sped it
-                        up slightly.
-                      * Made configure find the right version of perl.
-                      * Rewrote the CGI part of `webcollage'.
-                      * `make clean' was deleting some things it shouldn't.
-                      * Fixed a typo in the default programs list.
-Changes since 3.14:   * Added `webcollage' and `shadebobs' hacks.
-                      * Added a `-stdout' arg to `vidwhacker' so that it can
-                        be used in a pipeline.
-                      * Made `petri' use less memory.
-Changes since 3.13:   * Various improvements to the Gtk port.
-                      * Turned off PAM by default on Solaris, since PAM seems
-                        generally to be misconfigured out-of-the-box.
-                      * Made the `--without-gtk' configure option work.
-                      * Made configure check the Gtk version number, since it
-                        requires 1.2.
-                      * Fixed a bug in the code that attempted to prevent
-                        changes of screen resolution while the screen is
-                        locked.
-                      * Fixed a race condition in `xscreensaver-demo' that
-                        could cause an X error at startup.
-                      * Added `-transparent' option to `deluxe'.
-                      * Added `petri' hack.
-Changes since 3.12:   * Ported `xscreensaver-demo' to Gtk.
-                      * Made it possible to build Motif, Gtk, and Athena
-                        versions of `xscreensaver-demo' in the same directory
-                        without reconfiguring.
-                      * Made `xscreensaver-demo' chase symlinks before writing
-                        the .xscreensaver file, so that if .xscreensaver is
-                        itself a symlink, the underlying file will be replaced
-                        instead.
-                      * Some Makefile and configure tweaks for Solaris and
-                        FreeBSD.
-                      * Made it possible to set the fire color in `xflame'.
-                      * Made transparency work in TrueColor (for `goop' and
-                        `qix'.)
-                      * Fixed a multi-head bug introduced by the virtual
-                        viewports stuff.
-Changes since 3.11:   * Made it so that you can't scroll the screen while the
-                        lock dialog is up (with XFree86 virtual viewports.)
-                      * Fixed a bug in `flag' that caused bob's chin to get cut
-                        off after a few iterations.
-Changes since 3.10:   * Made `xjack' be black-on-white-ish, so that it looks
-                        less like a computer screen and more like the
-                        typewritten paper it's supposed to be.
-                      * New version of `pulsar'.
-                      * Fixed Solaris compilation problem in `phosphor'.
-                      * Made xscreensaver notice XFree86's virtual root window
-                        hack, so that if the X server's root window is larger
-                        than the monitor's displayable resolution, the screen
-                        saver will limit itself to the area that actually
-                        appears on the screen.
-                      * Made the xscreensaver daemon do a better job of
-                        picking the visual class that should be used for GL
-                        programs.  Less user intervention should be needed
-                        now: you can use the logical visual name `GL' instead
-                        of having to figure out by hand which one to use.
-                      * Oops, the visual was defaulting to "best" instead of
-                        "default", because the .xscreensaver file was not being
-                        loaded quite early enough.
-                      * Made configure figure out how to build icmp ping
-                        support into the `sonar' hack automatically.
-                      * Made warnings about not being able to read shadow
-                        passwords not be printed if compiled with PAM support.
-                      * Improved PAM startup diagnostics.
-                      * Worked around the Solaris PAM bug that was causing
-                        crashes there, so now PAM is turned on by default.
-                      * Made configure detect the number of arguments that
-                        pam_strerror() takes, since on Linux, this apparently
-                        changed between 2.0 and 2.2, sigh.
-                      * Made the /proc/interrupts kludge look for "PS/2 Mouse"
-                        as well as "keyboard".
-                      * Made xscreensaver notice when there has been a sudden
-                        large jump in wall-clock time, and if so, lock right
-                        away, instead of waiting for "lockTimeout" to expire
-                        first.  (Laptops need this for safer recovery from
-                        ``hibernation.'')
-                      * Added `-throttle' option to `xscreensaver-command'.
-Changes since 3.09:   * Added `phosphor', `xmatrix', and `pulsar' hacks.
-                      * Fixed a bug in the color allocator that sometimes
-                        caused `starfish' to fall back to monochrome.
-                      * Reduced the amount of code that runs before root
-                        privileges are disavowed: "normal" and "shadow"
-                        passwords now do some initialization as root, but the
-                        PAM and Kerberos authorization schemes will be
-                        initialized while running as "nobody".  Supposedly 
-                        this closes a potential security hole when using
-                        Kerberos.
-                      * Added some more sanity checking to configure.
-Changes since 3.08:   * Added `compass', `squiral', `xflame', `wander',
-                        `spotlight', and `critical' hacks.
-                      * Added some new modes to `decayscreen'.
-                      * Made `deluxe' work in monochrome.
-                      * Generalized usage of the Double-Buffer server extension
-                        in several hacks (`compass', `deluxe', `interference',
-                        `kumppa', and `moire2'.)
-                      * Fixed another visual-depth problem in `rd-bomb'.
-                      * The screen saver will now defer blanking if neither
-                        the keyboard nor the mouse could be grabbed.  Instead,
-                        it will just try again in a few minutes.  This fixes
-                        a bad interaction between xscreensaver and programs
-                        like VMware that hold the mouse and keyboard grabbed
-                        for a long time.
-                      * Added a new erase mode (expanding spiral.)
-Changes since 3.07:   * Fixed some bugs in my port of `t3d'.
-                      * Added `penetrate' and `deluxe' hacks.
-                      * When linking against Motif 2.x, also link against XPM.
-                      * Added support for using /proc/interrupts for idle
-                        detection on Linux.  Now xscreensaver shouldn't kick
-                        in when the user is active on a non-X virtual console.
-                      * Upgraded to autoconf 2.13.
-Changes since 3.06:   * Configure tweaks (sometimes -lXmu wasn't getting linked
-                        in properly; check for _Xsetlocale in -lXintl.)
-                      * Portability fixes for sonar.c.
-                      * Fixed a compilation problem when you have GL but don't
-                        have XPM.
-                      * Made configure notice when MesaGL requires -lpthread.
-                      * Made `flame' ignore SIGFPE (not sure if this is the
-                        right fix; it seems only to be needed on FreeBSD.)
-                      * Kludged `rd-bomb' work on visuals that are of depth 24
-                        but that *do not* support pixmaps of depth 32.
-                      * Fixed `halo' to work properly in TrueColor.
-                      * Changed `xscreensaver.spec' to install the hacks in
-                        /usr/X11R6/lib/xscreensaver/ by default, since that's
-                        where recent Red Hat distributions put them.
-                      * Added `t3d' hack.
-                      * Updated versions of `crystal', `hopalong', and `flow'
-                        from xlockmore.
-                      * Imported `demon' and `loop' modes from xlockmore.
-Changes since 3.05:   * Oops, the "default-n" visual descriptor was broken;
-                        it was always installing a colormap if the
-                        `installColormap' preference was set, meaning that
-                        `xearth', `xv' and friends were using the wrong
-                        colors on 8-bit systems.
-                      * Turned off HAVE_PING in `sonar', since it compiles
-                        on some Linux systems, but not others of similar
-                        vintage...
-Changes since 3.04:   * Fixed an off-by-1 in `distort'.
-                      * Added `sonar' hack.
-                      * New version of `glplanet' (with stars.)
-                      * Made all hacks exit when you type `q' or `ESC' at them,
-                        and made them obey the WM_DELETE_WINDOW ClientMessage.
-                      * Fixed a nonfatal buffer overrun in lament (note:
-                        lament still doesn't work with MesaGL 3.0: it dies in
-                        lambda_textured_triangle1(), which is Mesa's bug, not
-                        mine.)
-Changes since 3.03:   * Added an `xscreensaver.spec' file, to make it easier
-                        for other folks to generate RPMs.
-                      * Made the password code work on HPUX in the situation
-                        where: ``enhanced security'' is available; but not 
-                        used; but the user typed a password more than 8
-                        characters long anyway.  FTSOHPUX.
-Changes since 3.02:   * Made locking work when passwd aging is enabled.
-                      * Added support for PAM (Pluggable Authentication
-                        Modules.)  It is still turned off by default, though,
-                        since it doesn't seem to work on Solaris 2.6, and has
-                        been behaving erratically on Red Hat 5.1.
-                      * Made each possible authentication method be tried in
-                        turn until one succeeds; this means that Kerberos is
-                        being used, we will first check Kerberos, and if that
-                        fails, will then consult the local password file.
-                        Likewise with PAM.
-                      * Save and restore the bits under the passwd dialog,
-                        to avoid leaving a black rectangle behind when 
-                        unlocking is cancelled.
-Changes since 3.01:   * Not everyone has sys/select.h, sigh...
-Changes since 3.00:   * Some fixes to `reflect'.
-                     * Configure tweaks.
-                     * Made it log unsuccessful attempts to unlock the screen
-                       to syslog.
-                     * Fixed a bug where `xscreensaver-demo' could be seeing
-                       a different programs list than `xscreensaver' did.
-Changes since 2.34:   * The xscreensaver daemon no longer links against Motif
-                       or Athena: demo-mode and the preferences panel are no
-                       longer built in to the daemon, but are now handled by
-                       an external program, `xscreensaver-demo'.
-                       (I decided that this, along with the recent addition
-                       of the `.xscreensaver' config file, justified bumping
-                       the version number to 3.00, since this is a fairly
-                       major architectural change.)
-                     * Lines in the `*programs' resource may now begin with
-                       the character "-", meaning "don't run this hack."
-                       In this way, it's possible to disable a hack without
-                       throwing away the information about it (making it 
-                       easier to change your mind later.)  Eventually the
-                       preferences/demo mode GUI should represent this as a
-                       checkbox or something.
-                     * Fixed a short race condition where it was possible for
-                       xscreensaver to die with a BadWindow error if it was
-                       blanking the screen just as another window was being
-                       deleted.
-                     * Made it possible to disable specific modes in `bsod'.
-Changes since 2.33:   * Fixed a bug that was making `pipes' generate way too
-                       many valves.  Made the viewpoint in `pipes' be selected
-                       randomly instead of always being -10 degrees.
-                     * Fixed a bug in the XSHM code, in the case where the
-                       server supports the XSHM extension but is not the same
-                       machine as the client.
-                     * Made `rd-bomb' default to taking up the whole screen.
-                     * Made it not try to do fading/unfading if no PseudoColor
-                       visuals exist.
-                     * Initial attempt at supporting VT-locking (doesn't work
-                       yet.)
-                     * Eliminated the `captureStdout' resource; now
-                       `captureStderr' controls both streams.
-                     * Added `-capture-stderr' and `-no-capture-stderr'
-                       command-line arguments.
-                     * Added `glplanet' hack.
-                     * When a hack is selected with `xscreensaver-command
-                       -select', that hack will be used until further notice
-                       (until the saver turns off, or another activation
-                       command is issued.)
-Changes since 2.32:   * Made `xscreensaver-command' print error messages:
-                       the xscreensaver daemon now responds to ClientMessage
-                       events by writing a response message on a window
-                       property, instead of just writing to its stderr.
-                     * Made the ~/.xscreensaver file be automatically reloaded
-                       when the file date changes.
-                     * The password dialog and splash screen no longer depend
-                       on Motif or Athena.  This should clear up a number of
-                       focus problems, and is the first step on the path
-                       toward moving all of the Motif/Athena/whatever code
-                       out of the xscreensaver daemon, and into external
-                       processes.
-                     * Don't complain about LessTif 0.86 any more, since the
-                       new password dialog makes that problem go away.
-                     * Configure tweaks for Irix 6.5, SunOS 5.something.
-                     * New `-reflect' option to `distort'.
-Changes since 2.31:   * Added reading and writing of a ~/.xscreensaver file,
-                       so that the Preferences panel can save its settings.
-                     * New version of `rubik'.
-                     * Added `-select N' argument to `xscreensaver-command'.
-                     * Oops, left out some of the `bubbles3d' files...
-Changes since 2.30:   * The cursor was invisible in the password dialog. Fixed.
-                     * Made configure warn against MesaGL 2.6.
-                     * Fixed X error at startup when using non-default visual.
-                     * New version of `crystal', `ant', and `atlantis' from
-                       xlockmore.
-                     * New hack, `bubble3d'.
-                     * Added some new modes to `bsod'.
-Changes since 2.29:   * Changed the order in which -lSM and -lICE are linked
-                       to be after Motif instead of before (Lesstif on Irix
-                       needs this.)
-Changes since 2.28:   * Work around a bash bug in configure.
-                     * Tweaked HPUX paths again.  FTSOHPUX.
-                     * Made configure recommend against LessTif 0.86, due
-                       to a bug in that version that causes a security hole
-                       in the screen locking code.  LessTif 0.87 will fix it.
-                     * Made all of the `--with' options to `configure' accept
-                       a directory option as well (so that --with-motif=/FOO
-                       will add -I/FOO/include -L/FOO/lib).  I believe this is
-                       the Configure Party Line of how do to such things.
-                     * Fixed a bug where the mouse was left un-grabbed
-                       after the first time the graphics hack was changed
-                       (simplified all of the mouse-grabbing logic.)
-                     * Maybe possibly perhaps made `vidwhacker' really not
-                       leave stray xv windows around.  This time for sure.
-                     * Added a new erase mode (random dots fizzling out.)
-                     * Added `-prefs' argument to `xscreensaver-command',
-                       that brings up the Preferences dialog directly (it
-                       seems that nobody ever noticed the `Preferences' button
-                       on the Demo Mode dialog, maybe this will help.)
-                     * Added a splash screen.  Turn it off with *splash:false.
-Changes since 2.27:   * Better macsbug text in `bsod'.
-                     * New version of `distort' with many new modes.
-                     * Plugged a leak in `coral'.
-                     * Tweaked configure for HPUX.
-                     * Removed some compiler warnings.
-                     * More consistent usage of stderr versus stdout.
-                     * More diagnostics should an X error occur.
-                     * Fixed a possible crash in SGI-specific unfading code.
-Changes since 2.26:   * Improved version of `distort'.
-                     * Made `lament' compile against OpenGL 1.0 (though it
-                       still requires 1.1 to work properly.)
-                     * Updated my email address and home page.
-Changes since 2.24:   * Improved motion in `rd-bomb'.
-                     * Added XSHM (shared memory extension) support to the
-                       `distort', `interference', `moire', `rd-bomb', and
-                       `swirl' hacks, which speeds them up a bit.
-                     * Added `lament' hack.
-Changes since 2.23:   * Tweaked the order of the -L options again.
-                     * Cleaned up configure's `--help' message.
-                     * Added `kumppa' hack.
-                     * Smarter maze-solving algorithm in `maze'.
-                     * Took `xlyap' out of the default list of hacks, since
-                       it's just incredibly buggy (and slow.)  Maybe someday
-                       someone will fix it...
-                     * Added `distort' hack, but didn't add it to the default
-                       list (yet) because it's still too slow.
-                     * Made the Athena demo dialog look more like the Motif
-                       version; it has a text-entry field now, too.
-                     * Made the Athena password dialog echo asterisks, like
-                       Motif does, instead of using a flyspeck font.
-                     * Some random configure tweaks.
-                     * Added a `timestamp' resource that makes the `-verbose'
-                       messages include the time at which they were printed.
-Changes since 2.22:   * The fix for SGI's ``scheme'' nonsense broke things, and
-                       let the user's "*background" resource show through.
-                       Fixed it in a different way.
-Changes since 2.21:   * Added support for the DPMS server extension (Display
-                       Power Management System.)
-                     * Made configure advertize the `--enable-subdir' option a
-                       little more, since that seemed to cause some people
-                       stress.  Also, made that directory be built into the
-                       xscreensaver executable, as a hardcoded prefix to
-                       $PATH.  (Might help, shouldn't hurt.)
-                     * Made configure prefer the two-arg gettimeofday to the
-                       one-arg version, since AIX doesn't have any prototypes.
-                     * Made it work with Xaw3d (the 3D Athena library.)
-                     * Made `make install' create directories as necessary.
-                     * New version of lmorph from Sverre.
-                     * Added `crystal' and `discreet' hacks from xlockmore.
-                     * Added a new mode to `bsod'.
-Changes since 2.20:   * Made `xscreensaver-command -time' use different words.
-                       (It now describes the two states as "screen blanked
-                       since..."  and "screen non-blanked since..." instead of
-                       "active since..." and "inactive since..." which a lot
-                       of people interpreted as meaning the opposite of what
-                       was intended.)
-                     * Improved some error messages, in the hopes of making
-                       the distinction between the xscreensaver and
-                       xscreensaver-command programs more obvious.
-                     * Rewrote (and reorganized) parts of the xscreensaver and
-                       xscreensaver-command manual pages.
-                     * Renamed xscreensaver's `-lock' command-line option to
-                       be `-lock-mode', to avoid confusion with the `-lock'
-                       option to xscreensaver-command, which does a totally
-                       different thing.
-                     * Removed xscreensaver's `-demo' command-line option for
-                       a similar reason; use `xscreensaver-command -demo'
-                       instead.
-                     * Disabled SGI's ``scheme'' nonsense in a better way than
-                       fully-qualifying the background colors in every single
-                       hack.
-                     * Fixed some other minor cosmetic problems when *sgiMode
-                       is turned on.
-                     * Fixed an X error in `bsod -root' (how ironic...)
-Changes since 2.19:   * Fixed a bug that caused the mouse to sometimes not be
-                       grabbed properly (meaning the window manager menu could
-                       pop up over the demo-mode display.)
-                     * Fixed a bug that made the stderr output sometimes get
-                       printed twice.
-                     * Fixed a bug that made the demo-mode scrollbar move too
-                       fast.
-                     * Protected against a possible buffer overflow.
-                     * Made `vidwhacker' not leave stray xv windows around.
-                     * New version of `ant' so that Bagley doesn't calve.
-                     * Make configure on AIX get XShm from the right library.
-Changes since 2.18:   * One file was missing from the tar file.         Fixed.
-Changes since 2.17:   * Oops, atlantis wasn't being built by default.  Fixed.
-                     * Added `epicycle' hack.
-                     * Added `interference' hack.
-                     * Added `truchet' hack.
-                     * Added `bsod' hack.
-                     * Added some new modes to `vidwhacker'.
-Changes since 2.16:   * Added a -window-id argument to most hacks, so that they
-                       can draw on arbitrary externally-provided windows.
-                     * Synched with xlockmore 4.11a01.
-                     * Added `flow' hack.
-                     * Added `atlantis' GL hack.
-                     * Renamed `puzzle' hack to `jigsaw', since xlock already
-                       had a different mode called `puzzle'.
-                     * Made it self-configure properly when Motif 2.1.0 is
-                       being used (requires -lXp now, sigh...)
-Changes since 2.15:   * Made `flag' able to do XPM images.
-                     * New look for the xscreensaver logo (`xroger').
-                     * Fixed compilation error on Suns with adjunct passwords.
-                     * Got multi-architecture builds working again.
-                     * Some configure tweaks for building on HPUX and Solaris.
-                     * Fixed bug in decayscreen.
-                     * Fixed typo in passwd.c.
-                     * Made `cynosure' not die when colormap is full.
-Changes since 2.14:   * Added `cynosure' hack.
-                     * Added `moire2' hack.
-                     * Tweaked `erase.c' some more.
-                     * Made unfading a bit smoother.
-                     * Added `vidwhacker' hack (not installed by default.)
-                     * Added `stairs' hack.
-                     * Split `escher' into `cage' and `moebius', as per
-                       xlockmore.
-                     * Changed subprocess handling to use sigaction() instead
-                       of signal() if it's available (this is necessary for
-                       SCO but should work fine on other systems too.)
-                     * Various other tweaks.
-Changes since 2.13:   * Better fix for the Motif drag-and-die lossage.
-                     * Put in some kludges to work around a LessTif bug.
-                     * XScreenSaver is known to work with LessTif 0.82 now.
-                     * Made fading work on high-end SGI video hardware.
-                     * Fixed another SGI-specific bug in screen grabbing;
-                       will the madness never cease?
-                     * Fixed another crash in `xlyap'.
-Changes since 2.12:   * Made `decayscreen' do directions other than down.
-                     * Improved `puzzle'.
-                     * Fixed a crash in `xlyap'.
-                     * Added CDE info to the man page, removed `cde.txt'.
-                     * Configure tweaks for Zippy.
-                     * Turned off the signal handling in `bubbles' because
-                       it was sometimes failing to die.
-                     * Added `hacks/xscreensaver-sgigl.c' to make it possible
-                       to run SGI's ElectroPaint hack (/usr/demos/bin/ep)
-                       with xscreensaver.  Finally!
-                     * Fixed a buffer overrun in the locking code that some
-                       wily, malicious cracker must have slipped in.
-                     * Disabled Motif drag-and-drool in the dialog box
-                       buttons, since it's broken in some old versions of
-                       Motif.
-Changes since 2.11:   * Added `README.debugging'.
-                     * Added `puzzle' hack.
-                     * Added `xlyap' hack.
-                     * Added `default-n' as a visual name, so that one can
-                       have -install on by default, but turn it off for
-                       certain poorly-behaved hacks (like xv.)
-                     * Added support for grabbing frames of external video
-                       (on SGI) to the screen-grabbing hacks (decayscreen,
-                       slidescreen, slip, blitspin, and puzzle.)
-                     * Improved look of tiles in `slidescreen'; fixed its
-                       color allocation problem.
-Changes since 2.10:   * Tweaked `blitspin', added it to the default list.
-                     * Added `lissie', `mountain', `triangle', `worm',
-                       `rotor', and `ant' from xlockmore.
-                     * Updated `sierpinski', `galaxy', and `lisa'.
-                     * Thickened the lines in `braid' and `lmorph'.
-                     * Updated VMS makefiles.
-                     * Renamed `fract' to `vines'.
-                     * Added `xjack' hack.
-                     * Made a few more hacks use erase.c, and added a few
-                       more wipe styles.
-                     * Fixed compilation problem with Sun's version of OpenGL.
-                     * Added ability to use sigaction() instead of signal()
-                       to work around a SCO kernel bug.
-Changes since 2.09:   * Fixed colormap bugs in `rd-bomb'; sped up `coral'.
-                     * Configure tweaks for *BSD.
-Changes since 2.07:   * New hacks `rd-bomb' and `coral'.
-                     * New version of `maze' with some new algorithms.
-                     * New colorized version of `rocks'.
-                     * Fixed a bug in qix on 64-bit machines.
-                     * Fixed a bug in the -time option.
-                     * Fixed a bug in configure related to LessTif.
-Changes since 2.06:   * Minor header tweaks in windows.c and flag.c.
-                     * Made multi-architecture ($VPATH) builds work properly.
-                     * Merged new GL stuff from xlockmore (rubik, morph3d.)
-                     * Fixed intermittent crashes in `imsmap' and `munch'.
-                     * Added `fadeplot' hack from xlockmore.
-Changes since 2.05:   * Merged in VMS support from Patrick Moreau.
-Changes since 2.04:   * Fixed a MIT-SCREEN-SAVER-related crash, and tweaked
-                       configure to detect the extra-random -Xss library.
-Changes since 2.03:   * HP configure tweaks.  Detect and warn about LessTif.
-                     * Fixed low-color behavior of `goop', `pyro', `starfish',
-                       `greynetic', `flame', `halo', and `moire'.
-Changes since 2.02:   * Fixed flicker in `pipes'.  Fixed 3d in `bouboule'.
-                     * Added `munch' hack.
-                     * Added basic dependencies to the Makefile.in files.
-Changes since 2.01:   * Fixes for compiling with the MIT saver extension.
-                     * Made the yow/fortune program be a configure option.
-                     * Various configure tweaks.
-Changes since 2.00:   * Added `goop' and `starfish' hacks.
-                     * Added colomap cycling to `halo'.
-                     * Made `attraction' use the new colormap allocator.
-                     * Added better $PATH diagnostics.
-                     * There was a bug in frand!  Color selection should be
-                       much improved now.
-Changes since 1.34:   * Converted to use `configure' instead of `imake'.
-                     * ANSI C is now required.
-                     * Added Kerberos locking support, from Nat Lanza.
-                     * Made the stderr text use overlay planes, if possible.
-                     * Reworked the xlockmore compatibility stuff again.
-                     * Added `gears', `superquadrics', `escher', `pipes',
-                       and `sproingies' hacks (depend on OpenGL.)
-Changes since 1.33:   * Fixed some bugs, made fading be a little smoother.
-Changes since 1.32:   * Made it work with multi-headed displays.
-                     * Generalized sub-process management (Unix sucks!)
-                     * Added interactive mouse frobbing to Julia.
-                     * Added (untested) support for HPUX shadow passwords.
-                     * Made normal non-shadow passwords be checked if the
-                       shadow passwords aren't accessible for some reason.
-Changes since 1.31:   * Removed *colorPrograms and *monoPrograms resources:
-                       made it possible to specify the desired visual on a
-                       per-hack basis.
-                     * Cleaned up / restructured the driver: no more globals.
-                     * Made the Motif and Athena dialogs share more code.
-                     * Probably fixed some Athena colormap-installation bugs.
-                     * Fixed screen grabbing (cmap) on SGI 12-bit PseudoColor.
-                     * Fixed divide-by-zero in bright random colormaps.
-                     * Added an improved version of xlock's `flag' hack.
-                     * Made unfading work better, and not flicker on SGIs.
-                     * Added `sphere', `forest', `lisa' hacks from xlockmore.
-                     * Added (untested) support for SunOS Adjunct passwords.
-Changes since 1.30:   * Improved colors and colormap cycling of many hacks.
-                     * Cleaned up xlockmore compatibility layer.
-                     * Made `blitspin' able to grab an image off the screen.
-                     * Ported `swirl' and `bouboule' hacks from xlockmore.
-                     * Made the driver more careful about not leaving bits on
-                       the screen, or allowing other windows to raise
-                       themselves: it now re-blanks the screen every so often.
-                     * Added `-time' option to `xscreensaver-command'.
-                     * Improved SGI screen-grabbing some more: now it can grab
-                       TrueColor screens into PseudoColor windows and have the
-                       colors still come out semi-reasonably.
-Changes since 1.29:   * Made `slidescreen' and `decayscreen' work better on
-                       SGIs when windows of different visuals are present, by
-                       using the XReadDisplay() extension to get a true 24-bit
-                       image out of the frame buffer.
-                     * Made `noseguy' be in color, if compiled with XPM.
-                     * Ported `braid', `drift', `fract', `galaxy', `grav',
-                       `ifs', `julia', `laser', `lightning', `penrose',
-                       `sierpinski', `slip', `spiral', and `strange' hacks
-                       from xlockmore.
-                     * Merged `hopalong' hack with a more recent version.
-                     * Added `cde.txt'.
-Changes since 1.27:   * Added `deco', `moire', and `kaleidescope' hacks.
-                     * Merged in support for non-Motif locking and demo mode.
-                     * Made `blitspin' and `bubbles' work in TrueColor.
-                     * Fixed a stupid bug I introduced in `imsmap'.
-                     * Added `poly' and `gravity' options to `qix'.
-Changes since 1.26:   * Added support for SGI SCREEN_SAVER extension.
-                     * Made `fade' and `unfade' work on 8-bit SGIs.
-                     * Made the dialog boxes more Motify.
-                     * Added `bubbles' hack.
-Changes since 1.25:   * Added `lmorph' hack.
-                     * Added viscosity and mouse-control to attraction.
-                     * Fixed possible bad color choices in qix and attraction.
-                     * Added ramp-mode to halo.
-                     * Added a new RNG, which is faster and more portable
-                       than using the RNG in libc.
-                     * Made locking work on SCO.
-                     * Various other minor tweaks that I don't remember.
-Changes since 1.24:   * Made it capture the stdout/stderr of its subprocesses
-                       and present them on the screensaver window itself.
-                     * Made demo mode work correctly with non-default visuals
-                       and color maps, instead of always using the defaults.
-                     * Added -visual argument to all included screenhacks.
-                     * Support for the R6 MIT-SCREEN-SAVER server extension.
-                     * Made the demo mode list scroll properly.
-                     * Added `pedal' hack.
-Changes since 1.23:   * Fixed some private-colormap oddities in slidescreen,
-                       decayscreen, and xroger.  Fixed apparent conservation-
-                       of-mass problem in pyro; made the shrapnel round.
-Changes since 1.22:   * Minor tweaks for IRIX5; fixed locking race condition.
-Changes since 1.21:   * Minor tweaks for X11R6.
-                     * Fixes for non-default visuals.
-Changes since 1.20:   * Fixed bug in color blitspin; added default image.
-                     * Added diagnostics to noseguy.  Fixed off-by-one
-                       error in flame.  Added some missing casts.
-Changes since 1.18:   * Added `flame' hack.
-                     * Fixed a minor Motif dialog text field bug.
-                     * Fixed yet another XPointer-not-defined-in-R4 bug.
-Changes since 1.17:   * Added support for shadow password files.
-                     * Fixed some Motif-related locking bugs.
-                     * Added diagnostics when locking is disabled.
-                     * Made blitspin able to use the XPM library.
-                     * Added `decayscreen' hack.
-Changes since 1.16:   * Added `halo' hack.
-Changes since 1.15:   * Portability fixes.
-Changes since 1.14:   * Broke the driver up into more source files.
-                     * Moved the hacks into their own directory.
-                     * Made all `time' parameters accept the 00:00:00 syntax,
-                       so that even the parameters which are normally read as
-                       minutes can be specified in seconds.
-                     * Added colormap cycling to `imsmap'.
-                     * Made hyper work with K&R compilers.
-Changes since 1.13:   * Added `orbit' option to `attraction' hack.
-                     * Added `lock-timeout' option.
-                     * Cleaned up options of `maze' hack.
-Changes since 1.8:    * Added demo mode, and locking.
-                     * Added `maze' hack.
-                     * Added `norotate' option to `rocks' hack.
-Changes since 1.4:    * Works when run from XDM before anyone logs in.
-                      * Sped up `imsmap'.
-                      * Can use `xv' as a slideshow without using up colormap
-                        entries while the screen is not blanked.
-                      * Fixed a BadDrawable error in non-XIdle mode.
-                      * Added `blitspin' and `imsmap'.
-Changes since 1.0:    * Current list of included hacks is now: qix, helix,
-                        rorschach, attraction, greynetic, rocks, pyro,
-                        hopalong, and noseguy.
+5.24   * Added "Automatically check for updates" option on OSX.
+       * Updated feed-loading for recent Flickr changes.
+       * Updated `webcollage' for recent Google changes.
+        * Added Instagram and Bing as `webcollage' image sources.
+        * Updated to latest autoconf.
+        * Bug fixes.
+
+5.23   * New hack, `geodesic'.
+       * iOS and OSX: huge XCopyArea performance improvements.
+       * More heuristics for using RSS feeds as image sources.
+       * Improved Wikipedia parser.
+       * Updated `webcollage' for recent Flickr changes.
+       * Added Android to `bsod'.
+       * OSX: Added a real installer.
+       * iOS and OSX: fixed a font-metrics bug.
+       * iOS: Fixed aspect ratio bug in non-rotating apps when launched in
+         landscape mode.
+       * Made `quasicrystal' work on weak graphics cards.
+       * iOS: fixed `ifs'.
+       * Better compression on icons, plists and XML files: smaller
+         distribution and installation footprint.
+       * Reverted that DEACTIVATE change. Bad idea.
+       * `Phosphor' now supports amber as well as green.
+
+5.22   * New hacks, `kaleidocycle', `quasicrystal', `unknownpleasures' and
+         `hexadrop'.
+       * Performance improvements for `interference'.
+       * Fixed possible crashes in `apple2', `maze', `pacman', `polyominoes',
+         `fireworkx', `engine'.
+       * Fix for `bumps' in 64 bit.
+       * Fixed preferences crash on old iOS 5 devices.
+       * Fixed "Shake to Randomize"; display name of saver.
+       * Fixed weirdness with "Frame Rate" sliders on iOS.
+       * Fixed rotation problems with `pacman', `decayscreen'.
+       * Better dragging in `fluidballs'.
+       * Ignore rotation in hacks that don't benefit from it.
+       * Ignore DEACTIVATE messages when locked, instead of popping up the
+         password dialog box.
+
+5.21   * Changed default text source from Twitter to Wikipedia, since Twitter
+         now requires a login to get any feeds.
+       * New version of `fireworkx'.
+       * Minor fixes to `distort', `fontglide', `xmatrix'.
+       * New MacOS crash in `bsod'.
+       * New mode in `lcdscrub'.
+
+5.20   * Support for iPhone 5 screen size.
+       * Fixed modifier key handing in Apple2.app and Phosphor.app on MacOS.
+       * Various minor bug fixes.
+
+5.19   * MacOS 10.8.0 compatibility.
+       * iOS performance improvements.
+
+5.18   * iOS responds to shake gestures to randomize.
+       * iOS can load images from your Photo Library.
+       * iOS has clickable Wikipedia links in Settings panels.
+       * Made `pipes' be ridiculously less efficient, but spin.
+       * Added better mouse control to `rubik', `cube21', `crackberg', and
+         `julia'.
+       * Cosmetic improvements to `queens' and `endgame'.
+       * `sonar' can now ping local subnet on DHCP.
+       * Most savers now resize/rotate properly.
+       * Various fixes.
+
+5.17   * More iOS tweaks.
+       * Fixed some compilation problems.
+       * Enlarged the texture image for `lament'.
+
+5.16   * Ported to iPhone and iPad.
+       * XInput devices now also ignore small mouse motions.
+       * Loading images via RSS feeds is much improved.
+       * Various minor fixes.
+
+5.15   * New hacks, `hilbert', `companioncube' and `tronbit'.
+       * Image-manipulating hacks can now load from RSS or Atom feeds:
+         `imageDirectory' may contain a URL.
+       * Updated `webcollage' for recent search engine changes.
+       * `phosphor' and `apple2' can now be run as standalone terminal
+         emulator applications on MacOS.
+       * `photopile' sped up.
+       * New molecule in `molecule'.
+       * "Upgraded" to XCode 4.0, which means that MacOS 10.4 PPC builds are
+         impossible, and Intel is now required.
+       * Turned on LC_CTYPE on Linux; maybe Japanese password entry works
+         now?
+
+5.14   * Fixed crash in Blank Only Mode when DPMS disabled.
+       * Added "Quick Power-off in Blank Only Mode" option.
+       * BSOD GLaDOS.
+
+5.13   * Optionally enabled full-scene OpenGL antialiasing.  Set the resource
+         `*multiSample' to true if doing so doesn't kill performance with
+         your video hardware.
+       * New version of `glhanoi'.
+       * Image-loading hacks that display the file name now also display the
+         sub-directory (xscreensaver-getimage now returns relative paths
+         under imageDirectory).
+       * Passwords that contain UTF-8 non-Latin1 chars are now typeable.
+       * Numerous minor stability fixes.
+
+5.12   * Big speed improvement on OSX for heavy XCopyArea users (`xmatrix',
+         `moire2', `phosphor', etc.)
+       * Plugged a bad OSX-only Pixmap leak.
+       * Kludged around the OSX pty bug that caused text to be truncated in
+         phosphor, starwars, apple2, etc.
+       * New molecule in `molecule'.
+       * `glhanoi' now supports an arbitrary number of poles.
+       * Turned on "New Login" button by default.
+       * Added support for XInput-style alternate input devices.
+
+5.11   * New versions of `photopile', `strange'.
+       * Worked around MacOS 10.6 garbage collector bug that caused the
+         screen saver process to become enormous.
+       * Fixed flicker in `pipes', `cubestorm', and `noof'.
+       * Fixed EXIF rotation on MacOS 10.6.
+       * Fixed desktop-grabbing when screen locked on MacOS.
+       * Minor fixes to `circuit', `polyhedra', `tangram', `gears', `pinion',
+         `substrate', `xanalogtv'.
+       * Fixed some leaks in `xanalogtv' and `apple2'.
+       * Better seeding of the RNG.
+
+5.10   * Fixed some crashes and color problems on MacOS 10.6.
+       * Retired `hypercube' and `hyperball', which are redundant with
+         `polytopes'.
+
+
+5.09   * Ported to MacOS 10.6, including various 64-bit fixes.
+       * New hack, `rubikblocks'.
+       * Fixed another potential RANDR crash.
+       * Use correct proxy server on MacOS.
+       * `molecule' now correctly displays PDB 3.2 files.
+       * Updates to `mirrorblob', `glhanoi', and `sonar'.
+       * Rewritten version of `klein' hack.
+       * New hack, `surfaces', incorporating objects from old `klein' hack,
+         plus new ones.
+       * Merged `juggle' and `juggler3d' hacks.
+       * Fixed compilation under gcc 4.4.0 (strict aliasing).
+       * Fixed intermittent failure in `xscreensaver-command'.
+
+5.08   * New hack, `photopile'.
+       * Rewrote `sonar' and `jigsaw' as OpenGL programs.
+       * Minor tweaks to `maze', `m6502', `hypnowheel', and `timetunnel'.
+       * Savers that load images now obey EXIF rotation tags.
+       * Arrgh, more RANDR noise!  Fixes this time for rotated screens, and
+         for systems where RANDR lies and says the screen size is 0x0.
+       * When the password dialog has timed out or been cancelled, don't pop
+         it right back up a second time.
+       * Password timeouts/cancels don't count as "failed logins".
+       * Retired some of the older, less interesting savers: say goodbye to
+         `bubbles', `critical', `flag', `forest', `glforestfire', `lmorph',
+         `laser', `lightning', `lisa', `lissie', `rotor', `sphere', `spiral',
+         `t3d', `vines', `whirlygig', and `worm'.
+       * Merged `munch' and `mismunch'.
+       * Updated `webcollage' to use twitpic.com as well.
+
+5.07   * Xinerama/RANDR tweaks for old-style multi-screen.
+       * Added bumpy skin and cel shading to `skytentacles'.
+       * `flipflop' can load images onto the tiles.
+       * Fixed the bouncing ball in `stairs'.
+       * Added the missing Utah Teapotahedron to `polyhedra'.
+       * `blitspin' works with color images on MacOS now.
+       * Added transparency to `stonerview'.
+       * Improved layout of the preferences dialogs: they should all now be
+         usable even on ridiculously tiny laptop screens.
+       * MacOS preferences text fields now prevent you from entering numbers
+         that are out of range.
+       * Added "Reset to Defaults" button on X11.
+       * Added relevant Wikipedia links to many of the screen saver
+         descriptions.
+       * All hacks support the `-fps' option, not just GL ones.
+       * The `-fps' option now shows CPU load.
+
+5.06   * Xinerama/RANDR fixes: this time for sure.  It should now work to
+         add/remove monitors or resize screens at any time.
+       * New hack, `skytentacles'.
+       * New version of `gleidescope'.
+       * Added the `-log' option to the xscreensaver daemon, since a truly
+         shocking number of Linux users seem to have no idea how to redirect
+         output to a file.
+       * Added `-duration' arg to most image-loading hacks, so that they pick
+         a new image every few minutes.
+       * Added an ATM crash to `bsod'.
+
+5.05   * New hacks, `cubicgrid', `hypnowheel', and `lcdscrub' (which isn't
+         really a screen saver).
+       * Updates to `m6502' and `gears'.
+       * Fixed double-buffering problems in `cubestorm' and `noof'.
+       * Better handling of horizontal scroll wheels.
+       * Attempt to work around latest Xinerama braindamage: if the server
+         reports overlapping screens, use the largest non-overlapping
+         rectangles available.
+       * Don't warning about receipt of bogus ClientMessages, since Gnome's
+         just never going to stop sending those.
+       * Worked around MacOS 10.5 perl bug that caused the text-displaying
+         hacks to fail on some systems.
+       * Hopefully fixed font-related System Preferences crashes in MacOS
+         savers.
+       * The recent PAM changes broke the "Caps Lock" warning in the password
+         dialog, the failed login warnings, and syslogging.  Fixed all that.
+
+5.04   * Fixed a possible crash in the unlock dialog (more fallout from the
+         recent PAM changes...)
+       * New hacks, `moebiusgears', `abstractile', and `lockward'.
+       * Rewrote `gears' to use better (involute) gear models, and to be more
+         random.
+       * Minor updates to `cwaves', `voronoi', `deco', `glcells', `rd-bomb',
+         `fireworkx' and `webcollage'.
+       * `pong' can now display the current time as the score.
+       * `xmatrix -mode pipe' works better.
+       * Minor tweaks for compilation on MacOS 10.5.0.
+
+5.03   * New hacks, `cwaves', `glcells', `m6502', and `voronoi'.
+       * Minor fixes to `bsod'.
+       * Fixed possible crash with PAM USB-dongle auth.
+       * Updated `webcollage' to track recent Google Images and Flickr
+         changes.
+
+5.02   * Reworked PAM code to support fingerprint readers, etc.
+       * Ported 'webcollage' to MacOS.
+       * Added MacOS 10.2 and 10.3 kernel panics to `bsod'.
+       * Fixed a Xinerama crash when changing the screen count.
+       * New blobbier `mirrorblob'.
+       * Minor updates to `lisa', `bsod', `ifs', `hypertorus', `polytopes',
+         `circuit', `endgame', `crackberg', `flipflop', `flipscreen3d',
+         `fliptext', and `carousel'.
+       * Enabled multi-threaded OpenGL on MacOS.
+
+5.01   * Backed out recent locale-related changes, since they broke far more
+         things than they fixed.
+       * Fail gracefully with ridiculously small window sizes.
+       * `xflame' and `flag' ignore bitmap option on MacOS.
+       * `speedmine' prefs work on MacOS.
+       * Better explosions in `boxed'.
+       * More dynamic motion in `sproingies'.
+       * More options in `flipflop'.
+       * Minor updates to `topblock'.
+       * Various other minor fixes.
+
+5.00   * Ported to MacOS X! (10.4.0 or newer)
+       * API change: instead of providing a single screenhack() function that
+         does not return, screen savers using the screenhack.h framework must
+         now provide "init" and "draw one frame" functions instead.  All
+         bundled savers have been updated; third-party patches will need
+         work.
+       * All image-loading happens asynchronously.
+       * xscreensaver-getimage-file caches the contents of the image
+         directory for a few hours, so consecutive runs won't have to re-list
+         the whole directory tree.
+       * New hacks, `topblock' and `glschool'.
+       * Removed `xteevee' (superceded by `xanalogtv').
+       * Added variable-sized puzzle pieces to `jigsaw'.
+       * Changes to the defaults and command-line options of many hacks to
+         make the .xml files more consistent.
+       * Reap zombies in `glslideshow' and `carousel'.
+       * `sonar' works without setuid on MacOS (dgram icmp).
+       * `xmatrix -mode pipe' displays the text of a subprocess.
+       * `endgame' has higher resolution chess-piece models.
+       * `webcollage' takes a -directory option to get images from a local
+         directory.
+       * The RPM spec file no longer auto-restarts xscreensaver when a new
+         version is installed.  Restart it manually.
+
+4.24   * New versions of `cube21', `glsnake', `celtic'.
+       * Backed out a DPMS-related patch that cause desktop flickering with
+         some X servers.
+       * Fixed startup crash in getgroups() when running setuid.
+       * Default to not displaying stderr on the saver window.
+       * Fixed bad free() in "Documentation" button.
+       * Don't try to run hacks that aren't installed.
+       * Minor fixes to various XML config files and man pages.
+
+4.23   * New hacks, `glhanoi', `cube21', `timetunnel', `juggler3d', and
+         `celtic'.
+       * New versions of `tangram', `webcollage', `hypertorus', `polytopes',
+         and `ripples'.
+       * `sonar' is now quiet about unresolvable hosts.
+       * Minor corrections to BASIC code in `apple2'.
+       * xscreensaver-demo now provides an RPM clue when none of the hacks
+         seem to be installed.
+       * Don't install `ant' by default, since there is some Java tool of
+         that name, which was causing confusion.  And also it's boring.
+       * Made screen grabbing work again on MacOS 10.4.2.
+       * No longer prints bogus warnings about ClientMessages intended for
+         the window manager.
+       * Ignore unprintable characters in passwd entry field.
+       * Fixed yet another cross-host-display image-loading endian problem.
+       * `xscreensaver-command -watch' and `-time' now work on 64-bit
+         machines.
+
+4.22   * Fixed a bug in the new mouse-motion code that caused the screen to
+         never blank on multi-head non-Xinerama systems.  Oops.
+       * New hacks, `interaggregate', `antmaze', `tangram', and `crackberg'.
+       * Minor tweaks to `fiberlamp', `ifs', `slidescreen', `zoom', `sonar',
+         `fireworkx', `whirlwindwarp', `bubble3d', and `rd-bomb'.
+       * Added motion blur to `blinkbox'.
+       * `bsod' now includes Longhorn's "RSOD", and OS/2.
+       * Fixed `-wireframe' usage in most hacks and man pages.
+
+4.21   * New hack: `fliptext'.
+       * Changed default configure installation directories: /usr/bin/ for
+         xscreensaver, etc.; /usr/libexec/xscreensaver/ for hacks;
+         /usr/share/xscreensaver/config/ for xml files.
+       * All the text-manipulating screen savers can have their text source
+         configured via `xscreensaver-demo' now.
+       * xscreensaver.spec now builds three RPMs: base (no hacks); extras (2d
+         hacks); and gl-extras.
+       * Added `-program' and `-front' option to `gltext'.
+       * Added `-shells' to `molecule'.
+       * Fixed text-alpha glitch in `carousel'.
+       * New `pacman': the ghosts can be killed now.
+       * Fixed a bug in screen-grabbing GL hacks where images would be tiled
+         instead of scaled on machines that can't do large textures.
+       * `webcollage' can hit Flickr now.
+       * New (rewritten) implementation of `ifs'.
+       * The unlock dialog can be made to have a "New Login" button that will
+         run `gdmflexiserver'.  Experimental!
+       * Fixed non-ASCII display bug in `starwars'.
+       * Configure finds a default for imageDirectory.
+       * "xscreensaver-command -lock" now works even if in "screensaver
+         disabled" mode.
+       * If a bad password is typed while CapsLock is on, the unlock dialog
+         says "CapsLock?" instead of "Sorry".
+       * Mouse motion only counts as activity if the mouse moved more than 10
+         pixels (so the screen won't unblank every time you bump your desk.)
+       * New mode option "random-same": if you have multiple monitors, this
+         will run the *same* randomly chosen hack on each screen, instead of
+         different ones on each.
+
+4.20   * New hacks, `fiberlamp', `boing', `boxfit', and `carousel'.
+       * Rewrote `glslideshow' again: should be faster now.
+       * Sped up loading of images in GL programs.
+       * `starwars' uses texture-mapped fonts now.
+       * New `bsod' modes: tru64, hppa, and nvidia.
+       * Updates to `webcollage', `juggle', `pinion', `fireworkx', `sonar',
+         `extrusion', `substrate', and `pong'.
+
+4.19   * New hacks, `substrate', `intermomentary', `fireworkx', and `pinion'.
+       * New version of `flow'.
+       * Made /proc/interrupts work again on Linux 2.6.
+       * Made `analogtv' not hog the CPU.
+       * Made analogtv-based hacks work properly on PPC/ARM.
+       * Fixed a bad memory leak in `piecewise'.
+       * Minor updates to `sonar', `molecule', `glmatrix', `galaxy', and
+         `webcollage'.
+       * Removed support for GTK 1.x (everyone uses 2.x now.)
+
+4.18   * Oops, pay no attention to the man behind the curtain.
+
+4.17   * New hacks, `anemotaxis' and `memscroller'.
+       * Fixed a bad bug that caused `vidwhacker' to never die.
+       * Fixed normals and lighting in `polyhedra'.
+       * Don't reuse the window when changing hacks (to work around bugs in
+         some GL implementations.)
+       * Made `xscreensaver-getimage-file' skip thumbnail-sized images.
+       * Fixed endian problem in `barcode' on non-x86.
+       * Updates to `webcollage', `apple2', `fuzzyflakes', `atunnel', and
+         `pacman'.
+       * Timing tweaks to `bubble3d', `bouncingcow', `engine', `gltext',
+         `lavalite', `molecule', `spotlight', `sballs', `boxed', `blinkbox',
+         and `circuit'.
+       * Configure updates for Fedora core 2 / xorg 6.7.0.
+       * Compile without warnings under gcc 3.3.3.
+       * I give up: don't blank or lock the screen if we can't get a keyboard
+         grab.  In that case, both choices are bad.
+
+4.16   * New hacks, `polyhedra', `fuzzyflakes', `antinspect', and
+         `providence'.
+       * Minor updates to `webcollage', `bsod', `endgame', `antspotlight',
+         `xmatrix', and `glmatrix'.
+       * Added support for the RANDR (Resize and Rotate) extension to detect
+         when the size of the desktop has been changed while xscreensaver is
+         already running.
+       * Possibly-futile attempt to work around "rdesktop" focus/grab idiocy.
+       * Made `xscreensaver-getimage -file' still work even if imageDirectory
+         is unset.
+       * Convert Latin1 to ASCII in `starwars' and `phosphor' (since the GLUT
+         font only has ASCII glyphs.)
+       * Fixed randomization in `noof'.
+       * Added "GetViewPortIsFullOfLies" preference to work around
+         longstanding XFree86 bug #421.
+       * Made `sonar' subnet pinging work properly on bigendian machines
+         (e.g., PPC.)
+
+4.15   * New hacks, `wormhole', `mismunch', `noof', and `pacman'.
+       * `phosphor' and `apple2' include vt100 emulators now: this means you
+         can do "phosphor -program top", or can use either program as an
+         xterm replacement: "apple2 -text -fast -program 'xemacs -nw'".
+       * `analogtv' (and related) fill the screen better.
+       * The '-gradient' option works in `atlantis' now.
+       * Minor updates to `blinkbox', `queens', `endgame', `glmatrix',
+         `mirrorblob', `blocktube', and `molecule'.
+       * Integrated SuSE's "external passwd helper" support.
+       * Marginally better /tmp handling in various programs.
+       * Updated config defaults for xplanet 1.0.3.
+       * Portability fixes.
+
+4.14   * New hacks, `fontglide', `apple2', `xanalogtv', `pong',
+         `gleidescope', `mirrorblob', and `blinkbox'.
+       * New version of `glsnake' (with many more models.)
+       * Another Windows crash in `bsod'; also HVX/GCOS6/TPS6.
+       * New version of `endgame'.
+       * Screen grabbing works on MacOS X.
+       * Various minor fixes.
+
+4.13   * On Xinerama systems, xscreensaver now runs one hack on each monitor
+         (just like in "real" multi-head mode) instead of running one hack
+         stretching across all the screens.  Note that for this to work with
+         any 3rd party screensavers, they must update their "vroot.h" file.
+       * `webcollage' and `vidwhacker' display images using
+         `xscreensaver-getimage' now.
+       * Added `ljlatest' script for use with `starwars' and `phosphor'.
+
+4.12   * New GL hacks, `flipflop', `antspotlight', and `polytopes'.
+       * Added VMS to `bsod'.
+       * Compile without warnings in "gcc -pedantic".
+       * Updates to `webcollage' and `queens'.
+       * Fixed a bug that could cause PAM to hang.
+
+4.11   * New hacks, `hypertorus', `cubestorm', `glknots', `blocktube', and
+         `glmatrix'.
+       * Updates to `cloudlife', `engine', `xmatrix', and `sonar'.
+       * Rewrote `glslideshow': it should work on somewhat wimpier video
+         cards now.
+       * Various portability tweaks.
+
+4.10   * New hacks, `cloudlife' and `klein'.
+       * Added Apple ][+, HPUX, and OS/390 sessions to `bsod'.
+       * Added some Matrix Reloaded text to `xmatrix'.
+       * Updates to `webcollage', `eruption', `jigglypuff', `metaballs', and
+         `endgame'.
+       * Completely ignore the `memoryLimit' setting now, since it was still
+         causing people GL grief.
+       * Various minor fixes.
+
+4.09   * New hacks, `flyingtoasters', `bouncingcow', `jigglypuff', and
+         `glslideshow'.
+       * More models in `engine'.
+       * Rewrote `xscreensaver-getimage' to remove reliance on external image
+         loaders (xv, chbg, xloadimage, etc.)  and to reduce flicker when
+         loading files.
+       * Made `gflux' and `flipscreen3d' be mouse-spinnable.
+
+4.08   * New hacks, `atunnels' and `piecewise'.
+       * Physics improvement in `fluidballs'.
+       * Various fixes for XDarwin systems (X11 on MacOS X.)
+       * Added -clock option to `barcode'.
+       * Minor fixes to `endgame', `flurry', `flipscreen3d', and `gflux'.
+
+
+4.07   * New hacks, `flurry', `metaballs', `eruption', `popsquares', and
+         `barcode'.
+       * Minor updates to `maze' for high density mazes.
+       * Added double buffering to `fluidballs' and `whirlygig'.
+       * Bug fixes for running xscreensaver to a remote XFree86 display
+         (which nobody would ever do...)
+       * Updated `webcollage' (faster Alta Vista searching.)
+       * Updated `glplanet' so the sun sets in the west.
+       * Updated `sproingies' with smooth, unsegmented surfaces.
+       * Fixed Perl version-sensitivity in `xscreensaver-getimage-file'.
+       * Fixed GTK2 scrolling bug in `xscreensaver-demo'.
+
+4.06   * New hack, `glblur' (disabled by default, since it requires fast
+         OpenGL texture support.)
+       * New hack, `halftone'.
+       * Updates to `endgame', `queens', `bumps', `glplanet', `engine', and
+         `circuit'.
+       * New version of `menger' that uses far fewer polygons.
+       * Fixed minor bug in `critical' that could cause some bogus X servers
+         to crash.
+       * Better labels in `molecule': the labels now appear to be attached to
+         the atoms, instead of floating in front of the whole scene.
+       * Fixed bug that could rarely cause GL hacks to fail to double-buffer
+         (causing intermittent flickering.)
+       * Fixed a relative-URL-parsing bug in `webcollage'.
+       * Fixed a bug that (sometimes) caused the window manager close box to
+         kill `xscreensaver-demo' with a crash instead of a graceful exit.
+       * Updated xscreensaver.pam to the Red Hat 7.3 way.
+       * More Gnome2-related configure crap.
+       * Updated to latest `config.guess' and `config.sub'.
+       * Fixed occasional core dump in `distort'.
+       * Added a Linux fsck failure and kernel panic to `bsod'.
+       * Added MacOS X kernel panic to `bsod'.
+       * Fixed a bug in `bsod' (all bsod bugs are ironic.)
+       * Fixed a bug that caused `xscreensaver-gl-helper' to print a nonsense
+         visual ID with some versions of `printf': this could cause GL
+         programs to display incorrectly (e.g., flickery.)
+
+4.05   * More `configure' tweaks to try and get things working on systems
+         that both Gtk 1.x and 2.x installed.
+       * New hack, `endgame'.
+       * Minor updates to `gltext'.
+
+4.04   * Support for GTK 2.x / GNOME 2.x.
+       * The `configure' script will now use `pkg-config' if you have it, in
+         preference to `gtk-config', etc.
+       * New hacks, `lavalite', `queens', and `anemone'.
+       * Minor updates to `spheremonics', `gltext', `xmatrix'.
+       * You can use the mouse to manually spin most of the GL hacks now
+         (when they are displaying in a window.)
+       * Fixed a bug in `webcollage' (due to recent Alta Vista url changes)
+         that was causing it to try and load incorrect image URLs.
+       * Made `xscreensaver-getimage' use gdk_pixbuf if it is available: this
+         means that those hacks that load images will no longer rely on "xv",
+         "xloadimage", etc.  This will close a race condition that could
+         sometimes cause your desktop background to be changed; and also
+         makes it possible for those programs to operate on image files when
+         running in windowed mode.
+       * `webcollage' can now be used in conjunction with `driftnet' to
+         display images snooped from your local ethernet instead of obtained
+         from search engines.
+       * Added man pages for all the hacks that didn't have them.
+
+4.03   * New hack, `spheremonics'.
+       * Minor updates to `webcollage', `cage', `moebius', `morph3d',
+         `boxed', `circuit', and `helix'.
+       * `pulsar' and `extrusion' can now load texture JPEGs.
+       * `rubik' now does non-square cubes.
+       * `fluidballs' now does various sizes of balls.
+       * `menger' and `sierpinski3d' now also show polygon counts in -fps
+         mode.
+       * `molecule' displays real subscripts in the formulae.
+       * GTK internationalization/localization support.
+       * Better detection of the various versions of libxml.
+       * Upgraded to autoconf 2.53 (from 2.13.)
+
+4.02   * Plugged a few minor leaks in `xscreensaver' and `xscreensaver-demo'.
+       * New hacks, `cubenetic' and `fluidballs'.
+       * Sped up `pipes'.
+       * Fixed sphere projection error in `glplanet'; installed a better
+         image of earth.
+       * Added Win2K and MacOS 1 crashes to `bsod'.
+       * Put back previous (better) version of `forest' that was
+         accidentially downgraded in the last release.
+       * New version of `bumps'.
+       * Made FPS computation in GL hacks more efficient: it will influence
+         the results less, thus resulting in higher (but more accurate)
+         reported frame rates.
+
+4.01   * New hacks: `twang', `glsnake', `boxed', `sballs', and
+         `glforestfire'.
+       * New hacks `apollonian', `euler2d', `juggle', `polyominoes' and
+         `thornbird', from xlockmore.
+       * Merged recent xlockmore changes into `ant', `braid', `demon',
+         `discrete', `drift', `fadeplot', `forest', `grav', `hopalong',
+         `ifs', `laser', `lightning', `lisa', `lissie', `loop', `mountain',
+         `penrose', `rotor', `sierpinski', `slip', `sphere', `spiral',
+         `strange', and `vines'.
+       * Fixed the `gltext' bug that sometimes caused horizontal lines to
+         vanish again.  This time for sure.
+       * Sped up `webcollage' by adding a C helper program to replace the PPM
+         pipeline.  It also pastes images semi-transparently now.
+       * Added support for the gdk_pixbuf library: if this lib is available,
+         then `blitspin', `xflame', and `flag' can load GIF, JPEG, and PNG
+         images in addition to XPM and XBM.
+       * Fixed a rare race condition where the desktop-grabbing hacks could
+         sometimes leave the screen wedged, if the user moved the mouse
+         exactly when they were grabbing the screen image (it would un-wedge
+         the next time the saver timed out or was activated.)
+       * Fixed incorrect colors in the screen-grabbing GL hacks (`gflux' and
+         `flipscreen3d'.)
+       * Made SIGHUP restart the daemon process (though using
+         `xscreensaver-command -restart' is still the preferred way.)
+       * Tweaks to `xspirograph'.
+       * Minor configure and portability tweaks.
+
+4.00   * Redesigned `xscreensaver-demo' GUI: it now includes small-preview
+         and per-hack configuration dialogs.
+       * Added three new modes of operation: `One Screen Saver', `Blank
+         Screen', and `Don't Blank' (in addition to the historical `Random
+         Screen Saver').
+       * Configure now defaults to installing the hacks in
+         <prefix>/lib/xscreensaver/ instead of <prefix>/bin/.  (Most distros
+         already did it this way.)
+       * New GL hacks, `menger', `engine', `flipscreen3d'.
+       * Made `sierpinski3d' be more colorful.
+       * New versions of `xmatrix' and `nerverot'.
+       * Fixed a bug in `starwars' that made the font be drawn with thin
+         lines in -root mode.
+       * Fixed a bad colormap bug in `crystal' that could make *subsequent*
+         hacks malfunction!
+       * Made `gflux' able to grab screen images (`-mode grab').
+       * Updated `webcollage' for recent search engine changes.
+       * Removed most command-line options to `xscreensaver': just edit the
+         ~/.xscreensaver file instead.
+       * Improved behavior on multi-screen and Xinerama systems: the mouse
+         now stays on the screen where the user left it, and the password and
+         splash dialogs always appear on the screen that has the mouse.
+       * Made the splash dialog use more Gtk-like colors; made it have only
+         two buttons, "Settings" and "Help".
+       * Made `sonar' understand `.ssh/known_hosts2' format files, and be
+         better about stripping out illegal addresses.
+
+3.34   * Turned `memoryLimit' off by default, sigh.  Apparently some versions
+         of the GL libraries (appear to) allocate hundreds of megs for every
+         GL program, so `memoryLimit' was causing GL programs to malfunction
+         or crash on those systems.
+       * Improved fading on TrueColor XFree86 4.1.x systems.
+       * New GL hack, `circuit'.
+       * Added `fuzz' mode to `decayscreen'.
+       * New version of `whirlygig'.
+       * Added links to `xplanet' and `sphereEversion'.
+       * Fixed rare race condition that could make `sonar' hang.
+       * Fixed potential crash in `speedmine'.
+       * Made `xscreensaver-demo' not crash when imageDirectory was set to a
+         non-existent directory.
+       * Made `xscreensaver-getimage-video' invoke XawTV's `streamer' program
+         better.
+       * Made `phosphor' and `starwars' deal with CR, LF, or CRLF line
+         endings.
+       * Changes for Cygwin compilation environments.
+       * Made `sonar' compile on systems that can't ping.
+       * Configure changes for HPUX 10.20.
+       * Made PAM code work on Red Had 4.2 systems.
+       * Made `xscreensaver-command -deactivate' work when the saver is not
+         active: what that does is reset the idle timer, as if keyboard input
+         had been detected.  This was added for the benefit of people writing
+         DVD-playing software: they can now prevent the screensaver from
+         kicking in by sending a -deactivate message once a minute while the
+         movie is playing and not paused.
+       * Various minor portability tweaks.
+
+3.33   * New hacks, `speedmine' and `whirlygig'.
+       * Sped up `pyro', made the explosions look a bit better.
+       * Added better stars to `glplanet' and `starwars'.
+       * Many internal changes to `webcollage'.
+       * Some new options to `attraction'.
+       * Minor fix to `noseguy' to avoid un-erased pixels.
+       * Rewrote the screen-eraser effects so that they complete in the same
+         amount of time regardless of how slow your X server is (some of them
+         were glacial on servers with slow blitting.)
+       * Fixed a potential free memory reference that could sometimes cause a
+         crash at startup.
+       * Possibly fixed a problem that could cause the daemon to crash with
+         an X error.  I was never able to reproduce this problem, but I think
+         I might have figured out what caused it.
+       * Worked around a problem that caused PAM authentication to fail on
+         some Red Hat 7.x systems.
+       * Added a `memoryLimit' parameter that controls the amount of memory a
+         graphics hack may allocate: if they try to allocate more than this,
+         malloc() will fail (and they will exit or (safely) crash, rather
+         than hogging memory.)  Default is 50M.
+       * Made `gnome-help-browser' be the default way to display man pages in
+         `xscreensaver-demo', if running on a GNOME system.
+
+3.32   * The image-manipulating hacks (`slidescreen', etc.) can now operate
+         on randomly chosen image files from disk, or on frames captured from
+         the system's video input, instead of (or in addition to)
+         manipulating images of the desktop.
+       * Rewrote `vidwhacker' to use the new image-grabbing mechanism.
+       * Made fading work on TrueColor XFree86 4.x systems.
+       * Fixed a subtle rendering bug in `atlantis' (the fish were inside
+         out!)
+       * Made `atlantis' have a texture simulating light reflections from the
+         surface of the ocean.
+       * Fixed up label placement in `molecule'.
+       * Better color bars in `xteevee'.
+       * Made `install-strip' not try to strip scripts.
+
+3.31   * Put in more sensible defaults for DPMS, and updated the
+         documentation to reflect the fact that all your DPMS settings are
+         now belong to xscreensaver.
+       * Fixed the `xscreensaver.spec' file so that `--force' is no longer
+         needed.
+       * New versions of `rotzoomer' and `nerverot'.
+       * Fixed an OSF/1 compilation problem in `molecule'.
+
+3.30   * New hacks, `molecule', `dangerball', and `rotzoomer'.
+       * New version of `gflux'.
+       * Made `gltext' able to display the current time.
+       * Fixed a floating-point-precision problem in `gltext' that sometimes
+         caused horizontal lines to vanish.
+       * Removed the `-window-id' option from the hacks: it never worked
+         right, and was unnecessary.
+       * Made the `starwars' hack use thicker lines, antialias the text, and
+         fade out at the far edge instead of just dropping off.
+       * Fixed an SHM segment leak in `moire'.
+
+3.29   * Better rendering of the new logo.
+       * New hack, `gltext'.
+       * Added `-planetary' option to `gears', to draw a different kind of
+         gear system.
+       * Made motion and rotation be smoother in `gears', `glplanet',
+         `moebius', `rubik', and `sierpinski3d'.
+       * Improved coloration in `sierpinski3d'.
+       * Made the GL hacks react to window size changes.
+       * Made most of the GL hacks take a -fps option (like `pulsar' did), so
+         you can use them to benchmark your 3D hardware.
+       * Fixed the previous fix to `sonar'.
+       * Minor fix to `nerverot'.  Made sonar able to ping hosts on DEC OSF1.
+       * Eliminated a bogus "didn't get enough colors" warning in some of the
+         hacks.
+
+3.28   * New logo for xscreensaver!
+       * New hacks, `starwars' and `stonerview'.
+       * Made the motion of the bouncing ball in `stairs' be a little less
+         jerky.
+       * Made newly-added screenhacks be added to .xscreensaver
+         automatically: if there are hacks in the app-defaults file that are
+         not also in ~/.xscreensaver, they will be added to the end of the
+         list.
+       * Redid the `Screensaver Options' part of the control panel;
+         xscreensaver now lets you configure your DPMS settings.
+       * Fixed some Makefile problems with non-GL builds.
+       * Fixed detection of MesaGL for version 3.3.
+       * Better workaround to Red Hat 7.0's broken gcc.
+       * Added Sparc Solaris kernel panic to `bsod'.
+
+3.27   * New hacks: `zoom' and `whirlwindwarp'.
+       * Fixed a free-memory-reference bug in `sonar'.
+       * Better error handling when there are no suitable GL visuals.
+       * Added diagnostic dialog when xscreensaver-demo is unable to launch
+         xscreensaver (e.g., when running as root.)
+       * Fixed a bug that caused screenhack argument changes to be ignored
+         when xscreensaver-demo was running as root (if "root" and "nobody"
+         have different home directories.)
+       * Made the programs default to ":0" if $DISPLAY is unset.
+       * Made the `-verbose' output include information about which server
+         extensions were supported at compile time.
+       * Worked around Red Hat 7.0's broken gcc 2.96.
+       * Updated default delays on the GL hacks to look better on machines
+         with super-fast 3D hardware.
+       * Install `screensaver-properties-capplet' to work around the usual
+         egregious GNOME lossage.
+
+3.26   * Added "enabled" checkboxes in the list of hacks in xscreensaver-demo
+         (Gtk version only.)
+       * New hacks `hyperball', `xrayswarm', and `gflux'.
+       * New versions of `nerverot', `galaxy', and `hypercube'.
+       * Small fixes to `phosphor', `shadebobs', `xflame', and `sonar'.
+       * Added external helper program `xscreensaver-gl-helper' to figure out
+         which X visual to use for OpenGL programs.
+       * Configure updates for XFree86 4.0, and for BSD.
+       * Made it be more tolerant of bogus /etc/group files.
+       * When installing the PAM config file, first try to just copy an
+         existing "xdm" or "login" config file, so that xscreensaver does
+         authentication in the same way as the rest of the system.
+
+3.25   * New hack, `nerverot'.
+       * Added BSD kernel panic to `bsod'.
+       * New version of `shadebobs'.
+       * New version of `petri'.
+       * Updated `webcollage' to handle recent Altavista URL format changes;
+         made it search the AP photo gallery.
+       * Revamped command-line options of `sonar' and made it properly handle
+         subnets.
+       * The `bubbles' hack can now trickle up or down the screen.
+       * The `xsublim' hack can now read its text from programs.
+       * Support for GLE version 3 in `extrusion'.
+       * Fixed compilation problems in `maze'.
+       * Fixed a rare crash in `flow'.
+       * Fixes for minor installation problems.
+
+3.24   * Added `-ignorant' option to `maze' hack.
+       * Updates to `critical', `bsod', `xflame', and `flow'.
+       * Added support for Kerberos 5 (via its Kerberos 4 compatibility
+         layer.)
+       * Fixed a bad leak in `xteevee'.
+       * Updated `webcollage' to handle recent Altavista URL format changes.
+       * Removed xscreensaver-demo's `Ok' and `Cancel' buttons, since they
+         were confusing people: all changes are now instantanious.
+       * Made xscreensaver-demo install itself into the Gnome Control Center.
+
+3.23   * Fixed some misplaced text fields in the Motif version of
+         xscreensaver-demo; fixed a crash in the Gtk version that would
+         happen if the programs list was empty.
+       * Fixed a recently-introduced bug in `pulsar'.
+       * Made `sierpinski3d' use solid tetrahedrons instead of points.
+       * Added `-trace' option to `xmatrix'.
+       * Added new hacks `xteevee' and `xspirograph'.
+
+3.22   * Fixed some bugs in xscreensaver-demo.
+       * Rewrote the Motif version of xscreensaver-demo to match the new Gtk
+         version.
+       * The Athena toolkit is no longer supported.
+
+3.21   * Tweaked the xscreensaver-demo UI (Gtk only.)
+       * Fixed a few visual selection bugs.  I think the proper GL visual
+         should be used with nVidia systems now.
+       * Made the Makefiles obey $install_prefix.
+       * Made the `xscreensaver.spec' file able to generate both GL and
+         non-GL packages simultaneously.
+
+3.20   * Added new hacks `ripples' and `sierpinski3d'.
+       * Made `xscreensaver-command -exit' be silent when no screen saver was
+         running (instead of complaining.)
+       * Made `webcollage' and `vidwhacker' use `xloadimage' when available
+         (in addition to `xli' and `xv'.)
+       * Improved memory usage in `petri' and gave it a hard cap on how much
+         memory it can allocate.
+       * Added `-watch' option to `xscreensaver-command'.
+       * Made `xscreensaver-demo' come up with the most-recently-run hack
+         selected by default.
+       * Rewrote the Gtk version of `xscreensaver-demo'.  It's a lot easier
+         to use now.
+       * Extended the format of the programs list in the .xscreensaver file,
+         for the benefit of the new capabilities of `xscreensaver-demo'.
+         NOTE: you might want to delete your ~/.xscreensaver file and allow
+         it to be re-created!  The old one should still work, but
+         xscreensaver-demo won't be as pretty.
+
+3.19   * Fixed gcc dependencies in `bumps' and `ccurve'.
+       * New hack, `extrusion'.
+       * Some of the web sites that `webcollage' was using as its sources
+         changed formats; tweaked it to understand the current layouts.
+       * Added typeahead in the password dialog: if the screen is locked, and
+         you unlock it by typing a character, that key will be automatically
+         inserted in the password dialog (unless it is Return, Enter, Space,
+         or a non-printing key like Shift.)
+       * Made `xmatrix' take a `-small' option, since some folks with tiny
+         screens prefer a smaller font.
+
+3.18   * New versions of `shadebobs', `lmorph', and `distort'.
+       * Added `ccurve', `blaster', and `bumps' hacks.
+       * Replaced `forest' hack with a rewritten version.
+       * Worked around a Xinerama server bug.
+       * Fixed a bug I introduced in 3.10 that caused some hacks to print out
+         superfluous warnings about not having gotten enough colors.
+       * Made `sproingies' obey the `-delay' option.
+       * Fixed a portability bug in `shadebobs'.
+       * Made `webcollage' and `vidwhacker' use `xli' in preference to `xv',
+         if it is available.
+       * Added a new source of images to `webcollage'.
+       * If running under KDE, xscreensaver will add itself to KDE's list of
+         screensavers (via xscreensaver.kss.)
+       * Improved detection of GL libraries.
+       * Made the password dialog include the date and time.
+
+3.17   * New version of `webcollage' -- deals better with corrupted images,
+         and can use an http proxy.
+       * New hack, `xsublim' (run it in the background, rather than adding it
+         to the programs list.)
+       * The xscreensaver daemon was leaking a file descriptor each time you
+         edited your .xscreensaver file.  Fixed.
+
+3.16   * New version of `shadebobs'.
+       * Improved image selection in `webcollage', and sped it up slightly.
+       * Made configure find the right version of perl.
+       * Rewrote the CGI part of `webcollage'.
+       * `make clean' was deleting some things it shouldn't.
+       * Fixed a typo in the default programs list.
+
+3.15   * Added `webcollage' and `shadebobs' hacks.
+       * Added a `-stdout' arg to `vidwhacker' so that it can be used in a
+         pipeline.
+       * Made `petri' use less memory.
+
+3.14   * Various improvements to the Gtk port.
+       * Turned off PAM by default on Solaris, since PAM seems generally to
+         be misconfigured out-of-the-box.
+       * Made the `--without-gtk' configure option work.
+       * Made configure check the Gtk version number, since it requires 1.2.
+       * Fixed a bug in the code that attempted to prevent changes of screen
+         resolution while the screen is locked.
+       * Fixed a race condition in `xscreensaver-demo' that could cause an X
+         error at startup.
+       * Added `-transparent' option to `deluxe'.
+       * Added `petri' hack.
+
+3.13   * Ported `xscreensaver-demo' to Gtk.
+       * Made it possible to build Motif, Gtk, and Athena versions of
+         `xscreensaver-demo' in the same directory without reconfiguring.
+       * Made `xscreensaver-demo' chase symlinks before writing the
+         .xscreensaver file, so that if .xscreensaver is itself a symlink,
+         the underlying file will be replaced instead.
+       * Some Makefile and configure tweaks for Solaris and FreeBSD.
+       * Made it possible to set the fire color in `xflame'.
+       * Made transparency work in TrueColor (for `goop' and `qix'.)
+       * Fixed a multi-head bug introduced by the virtual viewports stuff.
+
+
+3.12   * Made it so that you can't scroll the screen while the lock dialog is
+         up (with XFree86 virtual viewports.)
+       * Fixed a bug in `flag' that caused bob's chin to get cut off after a
+         few iterations.
+
+3.11   * Made `xjack' be black-on-white-ish, so that it looks less like a
+         computer screen and more like the typewritten paper it's supposed to
+         be.
+       * New version of `pulsar'.
+       * Fixed Solaris compilation problem in `phosphor'.
+       * Made xscreensaver notice XFree86's virtual root window hack, so that
+         if the X server's root window is larger than the monitor's
+         displayable resolution, the screen saver will limit itself to the
+         area that actually appears on the screen.
+       * Made the xscreensaver daemon do a better job of picking the visual
+         class that should be used for GL programs.  Less user intervention
+         should be needed now: you can use the logical visual name `GL'
+         instead of having to figure out by hand which one to use.
+       * Oops, the visual was defaulting to "best" instead of
+         "default", because the .xscreensaver file was not being
+         loaded quite early enough.
+       * Made configure figure out how to build icmp ping support into the
+         `sonar' hack automatically.
+       * Made warnings about not being able to read shadow passwords not be
+         printed if compiled with PAM support.
+       * Improved PAM startup diagnostics.
+       * Worked around the Solaris PAM bug that was causing crashes there, so
+         now PAM is turned on by default.
+       * Made configure detect the number of arguments that pam_strerror()
+         takes, since on Linux, this apparently changed between 2.0 and 2.2,
+         sigh.
+       * Made the /proc/interrupts kludge look for "PS/2 Mouse" as well as
+         "keyboard".
+       * Made xscreensaver notice when there has been a sudden large jump in
+         wall-clock time, and if so, lock right away, instead of waiting for
+         "lockTimeout" to expire first.  (Laptops need this for safer
+         recovery from ``hibernation.'')
+       * Added `-throttle' option to `xscreensaver-command'.
+
+3.10   * Added `phosphor', `xmatrix', and `pulsar' hacks.
+       * Fixed a bug in the color allocator that sometimes caused `starfish'
+         to fall back to monochrome.
+       * Reduced the amount of code that runs before root privileges are
+         disavowed: "normal" and "shadow" passwords now do some
+         initialization as root, but the PAM and Kerberos authorization
+         schemes will be initialized while running as "nobody".  Supposedly
+         this closes a potential security hole when using Kerberos.
+       * Added some more sanity checking to configure.
+
+3.09   * Added `compass', `squiral', `xflame', `wander', `spotlight', and
+         `critical' hacks.
+       * Added some new modes to `decayscreen'.
+       * Made `deluxe' work in monochrome.
+       * Generalized usage of the Double-Buffer server extension in several
+         hacks (`compass', `deluxe', `interference', `kumppa', and `moire2'.)
+       * Fixed another visual-depth problem in `rd-bomb'.
+       * The screen saver will now defer blanking if neither the keyboard nor
+         the mouse could be grabbed.  Instead, it will just try again in a
+         few minutes.  This fixes a bad interaction between xscreensaver and
+         programs like VMware that hold the mouse and keyboard grabbed for a
+         long time.
+       * Added a new erase mode (expanding spiral.)
+
+3.08   * Fixed some bugs in my port of `t3d'.
+       * Added `penetrate' and `deluxe' hacks.
+       * When linking against Motif 2.x, also link against XPM.
+       * Added support for using /proc/interrupts for idle detection on
+         Linux.  Now xscreensaver shouldn't kick in when the user is active
+         on a non-X virtual console.
+       * Upgraded to autoconf 2.13.
+
+3.07   * Configure tweaks (sometimes -lXmu wasn't getting linked in properly;
+         check for _Xsetlocale in -lXintl.)
+       * Portability fixes for sonar.c.
+       * Fixed a compilation problem when you have GL but don't have XPM.
+       * Made configure notice when MesaGL requires -lpthread.
+       * Made `flame' ignore SIGFPE (not sure if this is the right fix; it
+         seems only to be needed on FreeBSD.)
+       * Kludged `rd-bomb' work on visuals that are of depth 24 but that *do
+         not* support pixmaps of depth 32.
+       * Fixed `halo' to work properly in TrueColor.
+       * Changed `xscreensaver.spec' to install the hacks in
+         /usr/X11R6/lib/xscreensaver/ by default, since that's where recent
+         Red Hat distributions put them.
+       * Added `t3d' hack.
+       * Updated versions of `crystal', `hopalong', and `flow' from
+         xlockmore.
+       * Imported `demon' and `loop' modes from xlockmore.
+
+3.06   * Oops, the "default-n" visual descriptor was broken; it was always
+         installing a colormap if the `installColormap' preference was set,
+         meaning that `xearth', `xv' and friends were using the wrong colors
+         on 8-bit systems.
+       * Turned off HAVE_PING in `sonar', since it compiles on some Linux
+         systems, but not others of similar vintage...
+
+3.05   * Fixed an off-by-1 in `distort'.
+       * Added `sonar' hack.
+       * New version of `glplanet' (with stars.)
+       * Made all hacks exit when you type `q' or `ESC' at them, and made
+         them obey the WM_DELETE_WINDOW ClientMessage.
+       * Fixed a nonfatal buffer overrun in lament (note: lament still
+         doesn't work with MesaGL 3.0: it dies in
+         lambda_textured_triangle1(), which is Mesa's bug, not mine.)
+
+3.04   * Added an `xscreensaver.spec' file, to make it easier for other folks
+         to generate RPMs.
+       * Made the password code work on HPUX in the situation where:
+         ``enhanced security'' is available; but not used; but the user typed
+         a password more than 8 characters long anyway.  FTSOHPUX.
+
+3.03   * Made locking work when passwd aging is enabled.
+       * Added support for PAM (Pluggable Authentication Modules.)  It is
+         still turned off by default, though, since it doesn't seem to work
+         on Solaris 2.6, and has been behaving erratically on Red Hat 5.1.
+       * Made each possible authentication method be tried in turn until one
+         succeeds; this means that Kerberos is being used, we will first
+         check Kerberos, and if that fails, will then consult the local
+         password file.  Likewise with PAM.
+       * Save and restore the bits under the passwd dialog, to avoid leaving
+         a black rectangle behind when unlocking is cancelled.
+
+3.02   * Not everyone has sys/select.h, sigh...
+
+3.01   * Some fixes to `reflect'.
+       * Configure tweaks.
+       * Made it log unsuccessful attempts to unlock the screen to syslog.
+       * Fixed a bug where `xscreensaver-demo' could be seeing a different
+         programs list than `xscreensaver' did.
+
+3.00   * The xscreensaver daemon no longer links against Motif or Athena:
+         demo-mode and the preferences panel are no longer built in to the
+         daemon, but are now handled by an external program,
+         `xscreensaver-demo'.  (I decided that this, along with the recent
+         addition of the `.xscreensaver' config file, justified bumping the
+         version number to 3.00, since this is a fairly major architectural
+         change.)
+       * Lines in the `*programs' resource may now begin with the character
+         "-", meaning "don't run this hack."  In this way, it's possible to
+         disable a hack without throwing away the information about it
+         (making it easier to change your mind later.)  Eventually the
+         preferences/demo mode GUI should represent this as a checkbox or
+         something.
+       * Fixed a short race condition where it was possible for xscreensaver
+         to die with a BadWindow error if it was blanking the screen just as
+         another window was being deleted.
+       * Made it possible to disable specific modes in `bsod'.
+
+2.34   * Fixed a bug that was making `pipes' generate way too many valves.
+         Made the viewpoint in `pipes' be selected randomly instead of always
+         being -10 degrees.
+       * Fixed a bug in the XSHM code, in the case where the server supports
+         the XSHM extension but is not the same machine as the client.
+       * Made `rd-bomb' default to taking up the whole screen.
+       * Made it not try to do fading/unfading if no PseudoColor visuals
+         exist.
+       * Initial attempt at supporting VT-locking (doesn't work yet.)
+       * Eliminated the `captureStdout' resource; now `captureStderr'
+         controls both streams.
+       * Added `-capture-stderr' and `-no-capture-stderr' command-line
+         arguments.
+       * Added `glplanet' hack.
+       * When a hack is selected with `xscreensaver-command -select', that
+         hack will be used until further notice (until the saver turns off,
+         or another activation command is issued.)
+
+2.33   * Made `xscreensaver-command' print error messages: the xscreensaver
+         daemon now responds to ClientMessage events by writing a response
+         message on a window property, instead of just writing to its stderr.
+       * Made the ~/.xscreensaver file be automatically reloaded when the
+         file date changes.
+       * The password dialog and splash screen no longer depend on Motif or
+         Athena.  This should clear up a number of focus problems, and is the
+         first step on the path toward moving all of the
+         Motif/Athena/whatever code out of the xscreensaver daemon, and into
+         external processes.
+       * Don't complain about LessTif 0.86 any more, since the new password
+         dialog makes that problem go away.
+       * Configure tweaks for Irix 6.5, SunOS 5.something.
+       * New `-reflect' option to `distort'.
+
+2.32   * Added reading and writing of a ~/.xscreensaver file, so that the
+         Preferences panel can save its settings.
+       * New version of `rubik'.
+       * Added `-select N' argument to `xscreensaver-command'.
+       * Oops, left out some of the `bubbles3d' files...
+
+2.31   * The cursor was invisible in the password dialog. Fixed.
+       * Made configure warn against MesaGL 2.6.
+       * Fixed X error at startup when using non-default visual.
+       * New version of `crystal', `ant', and `atlantis' from xlockmore.
+       * New hack, `bubble3d'.
+       * Added some new modes to `bsod'.
+
+2.30   * Changed the order in which -lSM and -lICE are linked to be after
+         Motif instead of before (Lesstif on Irix needs this.)
+
+2.29   * Work around a bash bug in configure.
+       * Tweaked HPUX paths again.  FTSOHPUX.
+       * Made configure recommend against LessTif 0.86, due to a bug in that
+         version that causes a security hole in the screen locking code.
+         LessTif 0.87 will fix it.
+       * Made all of the `--with' options to `configure' accept a directory
+         option as well (so that --with-motif=/FOO will add -I/FOO/include
+         -L/FOO/lib).  I believe this is the Configure Party Line of how do
+         to such things.
+       * Fixed a bug where the mouse was left un-grabbed after the first time
+         the graphics hack was changed (simplified all of the mouse-grabbing
+         logic.)
+       * Maybe possibly perhaps made `vidwhacker' really not leave stray xv
+         windows around.  This time for sure.
+       * Added a new erase mode (random dots fizzling out.)
+       * Added `-prefs' argument to `xscreensaver-command', that brings up
+         the Preferences dialog directly (it seems that nobody ever noticed
+         the `Preferences' button on the Demo Mode dialog, maybe this will
+         help.)
+       * Added a splash screen.  Turn it off with *splash:false.
+
+2.28   * Better macsbug text in `bsod'.
+       * New version of `distort' with many new modes.
+       * Plugged a leak in `coral'.
+       * Tweaked configure for HPUX.
+       * Removed some compiler warnings.
+       * More consistent usage of stderr versus stdout.
+       * More diagnostics should an X error occur.
+       * Fixed a possible crash in SGI-specific unfading code.
+
+2.27   * Improved version of `distort'.
+       * Made `lament' compile against OpenGL 1.0 (though it still requires
+         1.1 to work properly.)
+       * Updated my email address and home page.
+
+2.25   * Improved motion in `rd-bomb'.
+       * Added XSHM (shared memory extension) support to the `distort',
+         `interference', `moire', `rd-bomb', and `swirl' hacks, which speeds
+         them up a bit.
+       * Added `lament' hack.
+
+2.24   * Tweaked the order of the -L options again.
+       * Cleaned up configure's `--help' message.
+       * Added `kumppa' hack.
+       * Smarter maze-solving algorithm in `maze'.
+       * Took `xlyap' out of the default list of hacks, since it's just
+         incredibly buggy (and slow.)  Maybe someday someone will fix it...
+       * Added `distort' hack, but didn't add it to the default list (yet)
+         because it's still too slow.
+       * Made the Athena demo dialog look more like the Motif version; it has
+         a text-entry field now, too.
+       * Made the Athena password dialog echo asterisks, like Motif does,
+         instead of using a flyspeck font.
+       * Some random configure tweaks.
+       * Added a `timestamp' resource that makes the `-verbose' messages
+         include the time at which they were printed.
+
+2.23   * The fix for SGI's ``scheme'' nonsense broke things, and let the
+         user's "*background" resource show through.  Fixed it in a different
+         way.
+
+2.22   * Added support for the DPMS server extension (Display Power
+         Management System.)
+       * Made configure advertize the `--enable-subdir' option a little more,
+         since that seemed to cause some people stress.  Also, made that
+         directory be built into the xscreensaver executable, as a hardcoded
+         prefix to $PATH.  (Might help, shouldn't hurt.)
+       * Made configure prefer the two-arg gettimeofday to the one-arg
+         version, since AIX doesn't have any prototypes.
+       * Made it work with Xaw3d (the 3D Athena library.)
+       * Made `make install' create directories as necessary.
+       * New version of lmorph from Sverre.
+       * Added `crystal' and `discreet' hacks from xlockmore.
+       * Added a new mode to `bsod'.
+
+2.21   * Made `xscreensaver-command -time' use different words.  (It now
+         describes the two states as "screen blanked since..."  and "screen
+         non-blanked since..." instead of "active since..." and "inactive
+         since..." which a lot of people interpreted as meaning the opposite
+         of what was intended.)
+       * Improved some error messages, in the hopes of making the distinction
+         between the xscreensaver and xscreensaver-command programs more
+         obvious.
+       * Rewrote (and reorganized) parts of the xscreensaver and
+         xscreensaver-command manual pages.
+       * Renamed xscreensaver's `-lock' command-line option to be
+         `-lock-mode', to avoid confusion with the `-lock' option to
+         xscreensaver-command, which does a totally different thing.
+       * Removed xscreensaver's `-demo' command-line option for a similar
+         reason; use `xscreensaver-command -demo' instead.
+       * Disabled SGI's ``scheme'' nonsense in a better way than
+         fully-qualifying the background colors in every single hack.
+       * Fixed some other minor cosmetic problems when *sgiMode is turned on.
+       * Fixed an X error in `bsod -root' (how ironic...)
+
+2.20   * Fixed a bug that caused the mouse to sometimes not be grabbed
+         properly (meaning the window manager menu could pop up over the
+         demo-mode display.)
+       * Fixed a bug that made the stderr output sometimes get printed twice.
+       * Fixed a bug that made the demo-mode scrollbar move too fast.
+       * Protected against a possible buffer overflow.
+       * Made `vidwhacker' not leave stray xv windows around.
+       * New version of `ant' so that Bagley doesn't calve.
+       * Make configure on AIX get XShm from the right library.
+
+2.19   * One file was missing from the tar file.
+
+2.18   * Oops, atlantis wasn't being built by default.
+       * Added `epicycle' hack.
+       * Added `interference' hack.
+       * Added `truchet' hack.
+       * Added `bsod' hack.
+       * Added some new modes to `vidwhacker'.
+
+2.17   * Added a -window-id argument to most hacks, so that they can draw on
+         arbitrary externally-provided windows.
+       * Synched with xlockmore 4.11a01.
+       * Added `flow' hack.
+       * Added `atlantis' GL hack.
+       * Renamed `puzzle' hack to `jigsaw', since xlock already had a
+         different mode called `puzzle'.
+       * Made it self-configure properly when Motif 2.1.0 is being used
+         (requires -lXp now, sigh...)
+
+2.16   * Made `flag' able to do XPM images.
+       * New look for the xscreensaver logo (`xroger').
+       * Fixed compilation error on Suns with adjunct passwords.
+       * Got multi-architecture builds working again.
+       * Some configure tweaks for building on HPUX and Solaris.
+       * Fixed bug in decayscreen.
+       * Fixed typo in passwd.c.
+       * Made `cynosure' not die when colormap is full.
+
+2.15   * Added `cynosure' hack.
+       * Added `moire2' hack.
+       * Tweaked `erase.c' some more.
+       * Made unfading a bit smoother.
+       * Added `vidwhacker' hack (not installed by default.)
+       * Added `stairs' hack.
+       * Split `escher' into `cage' and `moebius', as per xlockmore.
+       * Changed subprocess handling to use sigaction() instead of signal()
+         if it's available (this is necessary for SCO but should work fine on
+         other systems too.)
+       * Various other tweaks.
+
+2.14   * Better fix for the Motif drag-and-die lossage.
+       * Put in some kludges to work around a LessTif bug.
+       * XScreenSaver is known to work with LessTif 0.82 now.
+       * Made fading work on high-end SGI video hardware.
+       * Fixed another SGI-specific bug in screen grabbing; will the madness
+         never cease?
+       * Fixed another crash in `xlyap'.
+
+2.13   * Made `decayscreen' do directions other than down.
+       * Improved `puzzle'.
+       * Fixed a crash in `xlyap'.
+       * Added CDE info to the man page, removed `cde.txt'.
+       * Configure tweaks for Zippy.
+       * Turned off the signal handling in `bubbles' because it was sometimes
+         failing to die.
+       * Added `hacks/xscreensaver-sgigl.c' to make it possible to run SGI's
+         ElectroPaint hack (/usr/demos/bin/ep) with xscreensaver.  Finally!
+       * Fixed a buffer overrun in the locking code that some wily, malicious
+         cracker must have slipped in.
+       * Disabled Motif drag-and-drool in the dialog box buttons, since it's
+         broken in some old versions of Motif.
+
+2.12   * Added `README.debugging'.
+       * Added `puzzle' hack.
+       * Added `xlyap' hack.
+       * Added `default-n' as a visual name, so that one can have -install on
+         by default, but turn it off for certain poorly-behaved hacks (like
+         xv.)
+       * Added support for grabbing frames of external video (on SGI) to the
+         screen-grabbing hacks (decayscreen, slidescreen, slip, blitspin, and
+         puzzle.)
+       * Improved look of tiles in `slidescreen'; fixed its color allocation
+         problem.
+
+2.11   * Tweaked `blitspin', added it to the default list.
+       * Added `lissie', `mountain', `triangle', `worm', `rotor', and `ant'
+         from xlockmore.
+       * Updated `sierpinski', `galaxy', and `lisa'.
+       * Thickened the lines in `braid' and `lmorph'.
+       * Updated VMS makefiles.
+       * Renamed `fract' to `vines'.
+       * Added `xjack' hack.
+       * Made a few more hacks use erase.c, and added a few more wipe styles.
+       * Fixed compilation problem with Sun's version of OpenGL.
+       * Added ability to use sigaction() instead of signal()
+         to work around a SCO kernel bug.
+
+2.10   * Fixed colormap bugs in `rd-bomb'; sped up `coral'.
+       * Configure tweaks for *BSD.
+
+2.08   * New hacks `rd-bomb' and `coral'.
+       * New version of `maze' with some new algorithms.
+       * New colorized version of `rocks'.
+       * Fixed a bug in qix on 64-bit machines.
+       * Fixed a bug in the -time option.
+       * Fixed a bug in configure related to LessTif.
+
+2.07   * Minor header tweaks in windows.c and flag.c.
+       * Made multi-architecture ($VPATH) builds work properly.
+       * Merged new GL stuff from xlockmore (rubik, morph3d.)
+       * Fixed intermittent crashes in `imsmap' and `munch'.
+       * Added `fadeplot' hack from xlockmore.
+
+2.06   * Merged in VMS support from Patrick Moreau.
+
+2.05   * Fixed a MIT-SCREEN-SAVER-related crash, and tweaked
+         configure to detect the extra-random -Xss library.
+
+2.04   * HP configure tweaks.  Detect and warn about LessTif.
+       * Fixed low-color behavior of `goop', `pyro', `starfish',
+         `greynetic', `flame', `halo', and `moire'.
+
+2.03   * Fixed flicker in `pipes'.  Fixed 3d in `bouboule'.
+       * Added `munch' hack.
+       * Added basic dependencies to the Makefile.in files.
+
+2.02   * Fixes for compiling with the MIT saver extension.
+       * Made the yow/fortune program be a configure option.
+       * Various configure tweaks.
+
+2.01   * Added `goop' and `starfish' hacks.
+       * Added colomap cycling to `halo'.
+       * Made `attraction' use the new colormap allocator.
+       * Added better $PATH diagnostics.
+       * There was a bug in frand!  Color selection should be much improved
+         now.
+
+2.00   * Converted to use `configure' instead of `imake'.
+       * ANSI C is now required.
+       * Added Kerberos locking support, from Nat Lanza.
+       * Made the stderr text use overlay planes, if possible.
+       * Reworked the xlockmore compatibility stuff again.
+       * Added `gears', `superquadrics', `escher', `pipes', and `sproingies'
+         hacks (depend on OpenGL.)
+
+1.34   * Fixed some bugs, made fading be a little smoother.
+
+1.33   * Made it work with multi-headed displays.
+       * Generalized sub-process management (Unix sucks!)
+       * Added interactive mouse frobbing to Julia.
+       * Added (untested) support for HPUX shadow passwords.
+       * Made normal non-shadow passwords be checked if the shadow passwords
+         aren't accessible for some reason.
+
+1.32   * Removed *colorPrograms and *monoPrograms resources: made it possible
+         to specify the desired visual on a per-hack basis.
+       * Cleaned up / restructured the driver: no more globals.
+       * Made the Motif and Athena dialogs share more code.
+       * Probably fixed some Athena colormap-installation bugs.
+       * Fixed screen grabbing (cmap) on SGI 12-bit PseudoColor.
+       * Fixed divide-by-zero in bright random colormaps.
+       * Added an improved version of xlock's `flag' hack.
+       * Made unfading work better, and not flicker on SGIs.
+       * Added `sphere', `forest', `lisa' hacks from xlockmore.
+       * Added (untested) support for SunOS Adjunct passwords.
+
+1.31   * Improved colors and colormap cycling of many hacks.
+       * Cleaned up xlockmore compatibility layer.
+       * Made `blitspin' able to grab an image off the screen.
+       * Ported `swirl' and `bouboule' hacks from xlockmore.
+       * Made the driver more careful about not leaving bits on the screen,
+         or allowing other windows to raise themselves: it now re-blanks the
+         screen every so often.
+       * Added `-time' option to `xscreensaver-command'.
+       * Improved SGI screen-grabbing some more: now it can grab TrueColor
+         screens into PseudoColor windows and have the colors still come out
+         semi-reasonably.
+
+1.30   * Made `slidescreen' and `decayscreen' work better on SGIs when
+         windows of different visuals are present, by using the
+         XReadDisplay() extension to get a true 24-bit image out of the frame
+         buffer.
+       * Made `noseguy' be in color, if compiled with XPM.
+       * Ported `braid', `drift', `fract', `galaxy', `grav', `ifs', `julia',
+         `laser', `lightning', `penrose', `sierpinski', `slip', `spiral', and
+         `strange' hacks from xlockmore.
+       * Merged `hopalong' hack with a more recent version.
+       * Added `cde.txt'.
+
+1.28   * Added `deco', `moire', and `kaleidescope' hacks.
+       * Merged in support for non-Motif locking and demo mode.
+       * Made `blitspin' and `bubbles' work in TrueColor.
+       * Fixed a stupid bug I introduced in `imsmap'.
+       * Added `poly' and `gravity' options to `qix'.
+
+1.27   * Added support for SGI SCREEN_SAVER extension.
+       * Made `fade' and `unfade' work on 8-bit SGIs.
+       * Made the dialog boxes more Motify.
+       * Added `bubbles' hack.
+
+1.26   * Added `lmorph' hack.
+       * Added viscosity and mouse-control to attraction.
+       * Fixed possible bad color choices in qix and attraction.
+       * Added ramp-mode to halo.
+       * Added a new RNG, which is faster and more portable than using the
+         RNG in libc.
+       * Made locking work on SCO.
+       * Various other minor tweaks that I don't remember.
+
+1.25   * Made it capture the stdout/stderr of its subprocesses and present
+         them on the screensaver window itself.
+       * Made demo mode work correctly with non-default visuals and color
+         maps, instead of always using the defaults.
+       * Added -visual argument to all included screenhacks.
+       * Support for the R6 MIT-SCREEN-SAVER server extension.
+       * Made the demo mode list scroll properly.
+       * Added `pedal' hack.
+
+1.24   * Fixed some private-colormap oddities in slidescreen, decayscreen,
+         and xroger.  Fixed apparent conservation- of-mass problem in pyro;
+         made the shrapnel round.
+
+1.23   * Minor tweaks for IRIX5; fixed locking race condition.
+
+1.22   * Minor tweaks for X11R6.
+       * Fixes for non-default visuals.
+
+1.21   * Fixed bug in color blitspin; added default image.
+       * Added diagnostics to noseguy.  Fixed off-by-one error in flame.
+       * Added some missing casts.
+
+1.19   * Added `flame' hack.
+       * Fixed a minor Motif dialog text field bug.
+       * Fixed yet another XPointer-not-defined-in-R4 bug.
+
+1.18   * Added support for shadow password files.
+       * Fixed some Motif-related locking bugs.
+       * Added diagnostics when locking is disabled.
+       * Made blitspin able to use the XPM library.
+       * Added `decayscreen' hack.
+
+1.17   * Added `halo' hack.
+
+1.16   * Portability fixes.
+
+1.15   * Broke the driver up into more source files.
+       * Moved the hacks into their own directory.
+       * Made all `time' parameters accept the 00:00:00 syntax, so that even
+         the parameters which are normally read as minutes can be specified
+         in seconds.
+       * Added colormap cycling to `imsmap'.
+       * Made hyper work with K&R compilers.
+
+1.14   * Added `orbit' option to `attraction' hack.
+       * Added `lock-timeout' option.
+       * Cleaned up options of `maze' hack.
+
+1.09   * Added demo mode, and locking.
+       * Added `maze' hack.
+       * Added `norotate' option to `rocks' hack.
+
+1.05   * Works when run from XDM before anyone logs in.
+       * Sped up `imsmap'.
+       * Can use `xv' as a slideshow without using up colormap entries while
+         the screen is not blanked.
+       * Fixed a BadDrawable error in non-XIdle mode.
+       * Added `blitspin' and `imsmap'.
+
+1.01   * Current list of included hacks is now: qix, helix, rorschach,
+         attraction, greynetic, rocks, pyro, hopalong, and noseguy.
old mode 100755 (executable)
new mode 100644 (file)
index 951383e..9afd676
@@ -1,14 +1,12 @@
 #! /bin/sh
 # Attempt to guess a canonical system name.
 #! /bin/sh
 # Attempt to guess a canonical system name.
-#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-#   2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
-#   Inc.
+#   Copyright 1992-2013 Free Software Foundation, Inc.
 
 
-timestamp='2007-05-17'
+timestamp='2013-11-29'
 
 # 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
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
+# 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
 # (at your option) any later version.
 #
 # This program is distributed in the hope that it will be useful, but
@@ -17,26 +15,22 @@ timestamp='2007-05-17'
 # General Public License for more details.
 #
 # You should have received a copy of the GNU General Public License
 # General Public License for more details.
 #
 # You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
-# 02110-1301, USA.
+# along with this program; if not, see <http://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
 #
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
 # configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-
-# Originally written by Per Bothner <per@bothner.com>.
-# Please send patches to <config-patches@gnu.org>.  Submit a context
-# diff and a properly formatted ChangeLog entry.
+# 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.
 #
 #
-# This script attempts to guess a canonical system name similar to
-# config.sub.  If it succeeds, it prints the system name on stdout, and
-# exits with 0.  Otherwise, it exits with 1.
+# You can get the latest version of this script from:
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
 #
 #
-# The plan is that this can be called by configure scripts if you
-# don't specify an explicit build system type.
+# Please send patches with a ChangeLog entry to config-patches@gnu.org.
+
 
 me=`echo "$0" | sed -e 's,.*/,,'`
 
 
 me=`echo "$0" | sed -e 's,.*/,,'`
 
@@ -56,8 +50,7 @@ version="\
 GNU config.guess ($timestamp)
 
 Originally written by Per Bothner.
 GNU config.guess ($timestamp)
 
 Originally written by Per Bothner.
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
-Free Software Foundation, Inc.
+Copyright 1992-2013 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."
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -139,12 +132,33 @@ 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
 
 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
+
+       eval $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'`
+       ;;
+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
 # Note: order is significant - the case branches are not exclusive.
 
 case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
     *:NetBSD:*:*)
        # NetBSD (nbsd) targets should (where applicable) match one or
-       # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
+       # 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
        # *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
        # switched to ELF, *-*-netbsd* would select the old
        # object file format.  This provides both forward
@@ -170,7 +184,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
            arm*|i386|m68k|ns32k|sh3*|sparc|vax)
                eval $set_cc_for_build
                if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
            arm*|i386|m68k|ns32k|sh3*|sparc|vax)
                eval $set_cc_for_build
                if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
-                       | grep __ELF__ >/dev/null
+                       | grep -q __ELF__
                then
                    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
                    # Return netbsd for either.  FIX?
                then
                    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
                    # Return netbsd for either.  FIX?
@@ -180,7 +194,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
                fi
                ;;
            *)
                fi
                ;;
            *)
-               os=netbsd
+               os=netbsd
                ;;
        esac
        # The OS release
                ;;
        esac
        # The OS release
@@ -201,6 +215,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
        # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
        echo "${machine}-${os}${release}"
        exit ;;
        # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
        echo "${machine}-${os}${release}"
        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}
     *:OpenBSD:*:*)
        UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
        echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
@@ -223,7 +241,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
                UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
                ;;
        *5.*)
                UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
                ;;
        *5.*)
-               UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
+               UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
                ;;
        esac
        # According to Compaq, /usr/sbin/psrinfo has been available on
                ;;
        esac
        # According to Compaq, /usr/sbin/psrinfo has been available on
@@ -269,7 +287,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
        # 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'`
        # A Xn.n version is an unreleased experimental baselevel.
        # 1.2 uses "1.2" for uname -r.
        echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
-       exit ;;
+       # Reset EXIT trap before exiting to avoid spurious non-zero exit code.
+       exitcode=$?
+       trap '' 0
+       exit $exitcode ;;
     Alpha\ *:Windows_NT*:*)
        # How do we know it's Interix rather than the generic POSIX subsystem?
        # Should we change UNAME_MACHINE based on the output of uname instead
     Alpha\ *:Windows_NT*:*)
        # How do we know it's Interix rather than the generic POSIX subsystem?
        # Should we change UNAME_MACHINE based on the output of uname instead
@@ -295,12 +316,12 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
        echo s390-ibm-zvmoe
        exit ;;
     *:OS400:*:*)
        echo s390-ibm-zvmoe
        exit ;;
     *:OS400:*:*)
-        echo powerpc-ibm-os400
+       echo powerpc-ibm-os400
        exit ;;
     arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
        echo arm-acorn-riscix${UNAME_RELEASE}
        exit ;;
        exit ;;
     arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
        echo arm-acorn-riscix${UNAME_RELEASE}
        exit ;;
-    arm:riscos:*:*|arm:RISCOS:*:*)
+    arm*:riscos:*:*|arm*:RISCOS:*:*)
        echo arm-unknown-riscos
        exit ;;
     SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
        echo arm-unknown-riscos
        exit ;;
     SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
@@ -324,14 +345,33 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
        case `/usr/bin/uname -p` in
            sparc) echo sparc-icl-nx7; exit ;;
        esac ;;
        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 ;;
     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:SunOS:5.*:* | ix86xen:SunOS:5.*:*)
-       echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+    i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
+       echo i386-pc-auroraux${UNAME_RELEASE}
+       exit ;;
+    i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
+       eval $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 [ "$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
        exit ;;
     sun4*:SunOS:6*:*)
        # According to config.sub, this is the proper way to canonicalize
@@ -375,23 +415,23 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
     # MiNT.  But MiNT is downward compatible to TOS, so this should
     # be no problem.
     atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
     # 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}
+       echo m68k-atari-mint${UNAME_RELEASE}
        exit ;;
     atari*:*MiNT:*:* | atari*:*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 ;;
+       exit ;;
     *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
     *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
-        echo m68k-atari-mint${UNAME_RELEASE}
+       echo m68k-atari-mint${UNAME_RELEASE}
        exit ;;
     milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
        exit ;;
     milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
-        echo m68k-milan-mint${UNAME_RELEASE}
-        exit ;;
+       echo m68k-milan-mint${UNAME_RELEASE}
+       exit ;;
     hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
     hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
-        echo m68k-hades-mint${UNAME_RELEASE}
-        exit ;;
+       echo m68k-hades-mint${UNAME_RELEASE}
+       exit ;;
     *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
     *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
-        echo m68k-unknown-mint${UNAME_RELEASE}
-        exit ;;
+       echo m68k-unknown-mint${UNAME_RELEASE}
+       exit ;;
     m68k:machten:*:*)
        echo m68k-apple-machten${UNAME_RELEASE}
        exit ;;
     m68k:machten:*:*)
        echo m68k-apple-machten${UNAME_RELEASE}
        exit ;;
@@ -461,8 +501,8 @@ EOF
        echo m88k-motorola-sysv3
        exit ;;
     AViiON:dgux:*:*)
        echo m88k-motorola-sysv3
        exit ;;
     AViiON:dgux:*:*)
-        # DG/UX returns AViiON for all architectures
-        UNAME_PROCESSOR=`/usr/bin/uname -p`
+       # DG/UX returns AViiON for all architectures
+       UNAME_PROCESSOR=`/usr/bin/uname -p`
        if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
        then
            if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
        if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
        then
            if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
@@ -475,7 +515,7 @@ EOF
        else
            echo i586-dg-dgux${UNAME_RELEASE}
        fi
        else
            echo i586-dg-dgux${UNAME_RELEASE}
        fi
-       exit ;;
+       exit ;;
     M88*:DolphinOS:*:*)        # DolphinOS (SVR3)
        echo m88k-dolphin-sysv3
        exit ;;
     M88*:DolphinOS:*:*)        # DolphinOS (SVR3)
        echo m88k-dolphin-sysv3
        exit ;;
@@ -532,7 +572,7 @@ EOF
                echo rs6000-ibm-aix3.2
        fi
        exit ;;
                echo rs6000-ibm-aix3.2
        fi
        exit ;;
-    *:AIX:*:[45])
+    *: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
        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
@@ -575,52 +615,52 @@ EOF
            9000/[678][0-9][0-9])
                if [ -x /usr/bin/getconf ]; then
                    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
            9000/[678][0-9][0-9])
                if [ -x /usr/bin/getconf ]; then
                    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
-                    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
-                    case "${sc_cpu_version}" in
-                      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
-                      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
-                      532)                      # CPU_PA_RISC2_0
-                        case "${sc_kernel_bits}" in
-                          32) HP_ARCH="hppa2.0n" ;;
-                          64) HP_ARCH="hppa2.0w" ;;
+                   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
                          '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
-                        esac ;;
-                    esac
+                       esac ;;
+                   esac
                fi
                if [ "${HP_ARCH}" = "" ]; then
                    eval $set_cc_for_build
                fi
                if [ "${HP_ARCH}" = "" ]; then
                    eval $set_cc_for_build
-                   sed 's/^              //' << EOF >$dummy.c
+                   sed 's/^            //' << EOF >$dummy.c
 
 
-              #define _HPUX_SOURCE
-              #include <stdlib.h>
-              #include <unistd.h>
+               #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);
+               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);
-              }
+                   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
 EOF
                    (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
                    test -z "$HP_ARCH" && HP_ARCH=hppa
@@ -640,7 +680,7 @@ EOF
            # => hppa64-hp-hpux11.23
 
            if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
            # => hppa64-hp-hpux11.23
 
            if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
-               grep __LP64__ >/dev/null
+               grep -q __LP64__
            then
                HP_ARCH="hppa2.0w"
            else
            then
                HP_ARCH="hppa2.0w"
            else
@@ -711,22 +751,22 @@ EOF
        exit ;;
     C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
        echo c1-convex-bsd
        exit ;;
     C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
        echo c1-convex-bsd
-        exit ;;
+       exit ;;
     C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
        if getsysinfo -f scalar_acc
        then echo c32-convex-bsd
        else echo c2-convex-bsd
        fi
     C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
        if getsysinfo -f scalar_acc
        then echo c32-convex-bsd
        else echo c2-convex-bsd
        fi
-        exit ;;
+       exit ;;
     C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
        echo c34-convex-bsd
     C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
        echo c34-convex-bsd
-        exit ;;
+       exit ;;
     C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
        echo c38-convex-bsd
     C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
        echo c38-convex-bsd
-        exit ;;
+       exit ;;
     C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
        echo c4-convex-bsd
     C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
        echo c4-convex-bsd
-        exit ;;
+       exit ;;
     CRAY*Y-MP:*:*:*)
        echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
        exit ;;
     CRAY*Y-MP:*:*:*)
        echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
        exit ;;
@@ -750,14 +790,14 @@ EOF
        exit ;;
     F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
        FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
        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 ;;
+       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.*:*)
     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}"
+       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 ;;
     i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
        echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
@@ -769,40 +809,51 @@ EOF
        echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
        exit ;;
     *:FreeBSD:*:*)
        echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
        exit ;;
     *:FreeBSD:*:*)
-       case ${UNAME_MACHINE} in
-           pc98)
-               echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+       UNAME_PROCESSOR=`/usr/bin/uname -p`
+       case ${UNAME_PROCESSOR} in
            amd64)
                echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
            *)
            amd64)
                echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
            *)
-               echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+               echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
        esac
        exit ;;
     i*:CYGWIN*:*)
        echo ${UNAME_MACHINE}-pc-cygwin
        exit ;;
        esac
        exit ;;
     i*:CYGWIN*:*)
        echo ${UNAME_MACHINE}-pc-cygwin
        exit ;;
+    *:MINGW64*:*)
+       echo ${UNAME_MACHINE}-pc-mingw64
+       exit ;;
     *:MINGW*:*)
        echo ${UNAME_MACHINE}-pc-mingw32
        exit ;;
     *:MINGW*:*)
        echo ${UNAME_MACHINE}-pc-mingw32
        exit ;;
+    i*:MSYS*:*)
+       echo ${UNAME_MACHINE}-pc-msys
+       exit ;;
     i*:windows32*:*)
     i*:windows32*:*)
-       # uname -m includes "-pc" on this system.
-       echo ${UNAME_MACHINE}-mingw32
+       # uname -m includes "-pc" on this system.
+       echo ${UNAME_MACHINE}-mingw32
        exit ;;
     i*:PW*:*)
        echo ${UNAME_MACHINE}-pc-pw32
        exit ;;
        exit ;;
     i*:PW*:*)
        echo ${UNAME_MACHINE}-pc-pw32
        exit ;;
-    *:Interix*:[3456]*)
-       case ${UNAME_MACHINE} in
-           x86) 
+    *:Interix*:*)
+       case ${UNAME_MACHINE} in
+           x86)
                echo i586-pc-interix${UNAME_RELEASE}
                exit ;;
                echo i586-pc-interix${UNAME_RELEASE}
                exit ;;
-           EM64T | authenticamd)
+           authenticamd | genuineintel | EM64T)
                echo x86_64-unknown-interix${UNAME_RELEASE}
                exit ;;
                echo x86_64-unknown-interix${UNAME_RELEASE}
                exit ;;
+           IA64)
+               echo ia64-unknown-interix${UNAME_RELEASE}
+               exit ;;
        esac ;;
     [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
        echo i${UNAME_MACHINE}-pc-mks
        exit ;;
        esac ;;
     [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
        echo i${UNAME_MACHINE}-pc-mks
        exit ;;
+    8664:Windows_NT:*)
+       echo x86_64-pc-mks
+       exit ;;
     i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
        # How do we know it's Interix rather than the generic POSIX subsystem?
        # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
     i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
        # How do we know it's Interix rather than the generic POSIX subsystem?
        # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
@@ -823,203 +874,157 @@ EOF
        exit ;;
     *:GNU:*:*)
        # the GNU system
        exit ;;
     *:GNU:*:*)
        # the GNU system
-       echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
+       echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
        exit ;;
     *:GNU/*:*:*)
        # other systems with GNU libc and userland
        exit ;;
     *:GNU/*:*:*)
        # other systems with GNU libc and userland
-       echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
+       echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
        exit ;;
     i*86:Minix:*:*)
        echo ${UNAME_MACHINE}-pc-minix
        exit ;;
        exit ;;
     i*86:Minix:*:*)
        echo ${UNAME_MACHINE}-pc-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` 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:*:*)
     arm*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       eval $set_cc_for_build
+       if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
+           | grep -q __ARM_EABI__
+       then
+           echo ${UNAME_MACHINE}-unknown-linux-${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:*:*)
        exit ;;
     avr32*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
     cris:Linux:*:*)
        exit ;;
     cris:Linux:*:*)
-       echo cris-axis-linux-gnu
+       echo ${UNAME_MACHINE}-axis-linux-${LIBC}
        exit ;;
     crisv32:Linux:*:*)
        exit ;;
     crisv32:Linux:*:*)
-       echo crisv32-axis-linux-gnu
+       echo ${UNAME_MACHINE}-axis-linux-${LIBC}
        exit ;;
     frv:Linux:*:*)
        exit ;;
     frv:Linux:*:*)
-       echo frv-unknown-linux-gnu
+       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:*:*)
        exit ;;
     ia64:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
     m32r*:Linux:*:*)
        exit ;;
     m32r*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
     m68*:Linux:*:*)
        exit ;;
     m68*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
        exit ;;
-    mips:Linux:*:*)
+    mips:Linux:*:* | mips64:Linux:*:*)
        eval $set_cc_for_build
        sed 's/^        //' << EOF >$dummy.c
        #undef CPU
        eval $set_cc_for_build
        sed 's/^        //' << EOF >$dummy.c
        #undef CPU
-       #undef mips
-       #undef mipsel
+       #undef ${UNAME_MACHINE}
+       #undef ${UNAME_MACHINE}el
        #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
        #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
-       CPU=mipsel
+       CPU=${UNAME_MACHINE}el
        #else
        #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
        #else
        #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
-       CPU=mips
+       CPU=${UNAME_MACHINE}
        #else
        CPU=
        #endif
        #endif
 EOF
        #else
        CPU=
        #endif
        #endif
 EOF
-       eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
-           /^CPU/{
-               s: ::g
-               p
-           }'`"
-       test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
+       eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
+       test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
        ;;
        ;;
-    mips64:Linux:*:*)
-       eval $set_cc_for_build
-       sed 's/^        //' << EOF >$dummy.c
-       #undef CPU
-       #undef mips64
-       #undef mips64el
-       #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
-       CPU=mips64el
-       #else
-       #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
-       CPU=mips64
-       #else
-       CPU=
-       #endif
-       #endif
-EOF
-       eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
-           /^CPU/{
-               s: ::g
-               p
-           }'`"
-       test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
-       ;;
-    or32:Linux:*:*)
-       echo or32-unknown-linux-gnu
+    or1k:Linux:*:*)
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
        exit ;;
-    ppc:Linux:*:*)
-       echo powerpc-unknown-linux-gnu
+    or32:Linux:*:*)
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
        exit ;;
-    ppc64:Linux:*:*)
-       echo powerpc64-unknown-linux-gnu
+    padre:Linux:*:*)
+       echo sparc-unknown-linux-${LIBC}
        exit ;;
        exit ;;
-    alpha:Linux:*:*)
-       case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
-         EV5)   UNAME_MACHINE=alphaev5 ;;
-         EV56)  UNAME_MACHINE=alphaev56 ;;
-         PCA56) UNAME_MACHINE=alphapca56 ;;
-         PCA57) UNAME_MACHINE=alphapca56 ;;
-         EV6)   UNAME_MACHINE=alphaev6 ;;
-         EV67)  UNAME_MACHINE=alphaev67 ;;
-         EV68*) UNAME_MACHINE=alphaev68 ;;
-        esac
-       objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
-       if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
-       echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
+    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
        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-gnu ;;
-         PA8*) echo hppa2.0-unknown-linux-gnu ;;
-         *)    echo hppa-unknown-linux-gnu ;;
+         PA7*) echo hppa1.1-unknown-linux-${LIBC} ;;
+         PA8*) echo hppa2.0-unknown-linux-${LIBC} ;;
+         *)    echo hppa-unknown-linux-${LIBC} ;;
        esac
        exit ;;
        esac
        exit ;;
-    parisc64:Linux:*:* | hppa64:Linux:*:*)
-       echo hppa64-unknown-linux-gnu
+    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 ;;
     s390:Linux:*:* | s390x:Linux:*:*)
        exit ;;
     s390:Linux:*:* | s390x:Linux:*:*)
-       echo ${UNAME_MACHINE}-ibm-linux
+       echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
        exit ;;
     sh64*:Linux:*:*)
        exit ;;
     sh64*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
     sh*:Linux:*:*)
        exit ;;
     sh*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
     sparc:Linux:*:* | sparc64:Linux:*:*)
        exit ;;
     sparc:Linux:*:* | sparc64:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+       exit ;;
+    tile*:Linux:*:*)
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
     vax:Linux:*:*)
        exit ;;
     vax:Linux:*:*)
-       echo ${UNAME_MACHINE}-dec-linux-gnu
+       echo ${UNAME_MACHINE}-dec-linux-${LIBC}
        exit ;;
     x86_64:Linux:*:*)
        exit ;;
     x86_64:Linux:*:*)
-       echo x86_64-unknown-linux-gnu
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
        exit ;;
-    xtensa:Linux:*:*)
-       echo xtensa-unknown-linux-gnu
+    xtensa*:Linux:*:*)
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
        exit ;;
-    i*86:Linux:*:*)
-       # The BFD linker knows what the default object file format is, so
-       # first see if it will tell us. cd to the root directory to prevent
-       # problems with other programs or directories called `ld' in the path.
-       # Set LC_ALL=C to ensure ld outputs messages in English.
-       ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
-                        | sed -ne '/supported targets:/!d
-                                   s/[         ][      ]*/ /g
-                                   s/.*supported targets: *//
-                                   s/ .*//
-                                   p'`
-        case "$ld_supported_targets" in
-         elf32-i386)
-               TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
-               ;;
-         a.out-i386-linux)
-               echo "${UNAME_MACHINE}-pc-linux-gnuaout"
-               exit ;;
-         coff-i386)
-               echo "${UNAME_MACHINE}-pc-linux-gnucoff"
-               exit ;;
-         "")
-               # Either a pre-BFD a.out linker (linux-gnuoldld) or
-               # one that does not give us useful --help.
-               echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
-               exit ;;
-       esac
-       # Determine whether the default compiler is a.out or elf
-       eval $set_cc_for_build
-       sed 's/^        //' << EOF >$dummy.c
-       #include <features.h>
-       #ifdef __ELF__
-       # ifdef __GLIBC__
-       #  if __GLIBC__ >= 2
-       LIBC=gnu
-       #  else
-       LIBC=gnulibc1
-       #  endif
-       # else
-       LIBC=gnulibc1
-       # endif
-       #else
-       #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
-       LIBC=gnu
-       #else
-       LIBC=gnuaout
-       #endif
-       #endif
-       #ifdef __dietlibc__
-       LIBC=dietlibc
-       #endif
-EOF
-       eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
-           /^LIBC/{
-               s: ::g
-               p
-           }'`"
-       test x"${LIBC}" != x && {
-               echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
-               exit
-       }
-       test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; 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
     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
@@ -1027,11 +1032,11 @@ EOF
        echo i386-sequent-sysv4
        exit ;;
     i*86:UNIX_SV:4.2MP:2.*)
        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,
+       # 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.
        # I just have to hope.  -- rms.
-        # Use sysv4.2uw... so that sysv4* matches it.
+       # Use sysv4.2uw... so that sysv4* matches it.
        echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
        exit ;;
     i*86:OS/2:*:*)
        echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
        exit ;;
     i*86:OS/2:*:*)
@@ -1048,7 +1053,7 @@ EOF
     i*86:syllable:*:*)
        echo ${UNAME_MACHINE}-pc-syllable
        exit ;;
     i*86:syllable:*:*)
        echo ${UNAME_MACHINE}-pc-syllable
        exit ;;
-    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
+    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 i386-unknown-lynxos${UNAME_RELEASE}
        exit ;;
     i*86:*DOS:*:*)
@@ -1063,7 +1068,7 @@ EOF
        fi
        exit ;;
     i*86:*:5:[678]*)
        fi
        exit ;;
     i*86:*:5:[678]*)
-       # UnixWare 7.x, OpenUNIX and OpenServer 6.
+       # UnixWare 7.x, OpenUNIX and OpenServer 6.
        case `/bin/uname -X | grep "^Machine"` in
            *486*)           UNAME_MACHINE=i486 ;;
            *Pentium)        UNAME_MACHINE=i586 ;;
        case `/bin/uname -X | grep "^Machine"` in
            *486*)           UNAME_MACHINE=i486 ;;
            *Pentium)        UNAME_MACHINE=i586 ;;
@@ -1091,10 +1096,13 @@ EOF
        exit ;;
     pc:*:*:*)
        # Left here for compatibility:
        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 i386.
-       echo i386-pc-msdosdjgpp
-        exit ;;
+       # 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 configury will decide that
+       # this is a cross-build.
+       echo i586-pc-msdosdjgpp
+       exit ;;
     Intel:Mach:3*:*)
        echo i386-pc-mach3
        exit ;;
     Intel:Mach:3*:*)
        echo i386-pc-mach3
        exit ;;
@@ -1129,8 +1137,18 @@ EOF
        /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 | /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; } ;;
+       /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 ;;
     m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
        echo m68k-unknown-lynxos${UNAME_RELEASE}
        exit ;;
@@ -1143,7 +1161,7 @@ EOF
     rs6000:LynxOS:2.*:*)
        echo rs6000-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.0*:*)
+    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
        echo powerpc-unknown-lynxos${UNAME_RELEASE}
        exit ;;
     SM[BE]S:UNIX_SV:*:*)
        echo powerpc-unknown-lynxos${UNAME_RELEASE}
        exit ;;
     SM[BE]S:UNIX_SV:*:*)
@@ -1163,10 +1181,10 @@ EOF
                echo ns32k-sni-sysv
        fi
        exit ;;
                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 ;;
+    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
     *:UNIX_System_V:4*:FTX*)
        # From Gerald Hewes <hewes@openmarket.com>.
        # How about differentiating between stratus architectures? -djm
@@ -1192,11 +1210,11 @@ EOF
        exit ;;
     R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
        if [ -d /usr/nec ]; then
        exit ;;
     R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
        if [ -d /usr/nec ]; then
-               echo mips-nec-sysv${UNAME_RELEASE}
+               echo mips-nec-sysv${UNAME_RELEASE}
        else
        else
-               echo mips-unknown-sysv${UNAME_RELEASE}
+               echo mips-unknown-sysv${UNAME_RELEASE}
        fi
        fi
-        exit ;;
+       exit ;;
     BeBox:BeOS:*:*)    # BeOS running on hardware made by Be, PPC only.
        echo powerpc-be-beos
        exit ;;
     BeBox:BeOS:*:*)    # BeOS running on hardware made by Be, PPC only.
        echo powerpc-be-beos
        exit ;;
@@ -1206,6 +1224,12 @@ EOF
     BePC:BeOS:*:*)     # BeOS running on Intel PC compatible.
        echo i586-pc-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-4:SUPER-UX:*:*)
        echo sx4-nec-superux${UNAME_RELEASE}
        exit ;;
@@ -1232,9 +1256,31 @@ EOF
        exit ;;
     *:Darwin:*:*)
        UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
        exit ;;
     *:Darwin:*:*)
        UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
-       case $UNAME_PROCESSOR in
-           unknown) UNAME_PROCESSOR=powerpc ;;
-       esac
+       eval $set_cc_for_build
+       if test "$UNAME_PROCESSOR" = unknown ; then
+           UNAME_PROCESSOR=powerpc
+       fi
+       if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then
+           if [ "$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
+           fi
+       elif test "$UNAME_PROCESSOR" = i386 ; then
+           # Avoid executing cc on OS X 10.9, as it ships with a stub
+           # that puts up a graphical alert prompting to install
+           # developer tools.  Any system running Mac OS X 10.7 or
+           # later (Darwin 11 and later) is required to have a 64-bit
+           # processor. This is not true of the ARM version of Darwin
+           # that Apple uses in portable devices.
+           UNAME_PROCESSOR=x86_64
+       fi
        echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
        exit ;;
     *:procnto*:*:* | *:QNX:[0123456789]*:*)
        echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
        exit ;;
     *:procnto*:*:* | *:QNX:[0123456789]*:*)
@@ -1248,7 +1294,10 @@ EOF
     *:QNX:*:4*)
        echo i386-pc-qnx
        exit ;;
     *:QNX:*:4*)
        echo i386-pc-qnx
        exit ;;
-    NSE-?:NONSTOP_KERNEL:*:*)
+    NEO-?:NONSTOP_KERNEL:*:*)
+       echo neo-tandem-nsk${UNAME_RELEASE}
+       exit ;;
+    NSE-*:NONSTOP_KERNEL:*:*)
        echo nse-tandem-nsk${UNAME_RELEASE}
        exit ;;
     NSR-?:NONSTOP_KERNEL:*:*)
        echo nse-tandem-nsk${UNAME_RELEASE}
        exit ;;
     NSR-?:NONSTOP_KERNEL:*:*)
@@ -1293,13 +1342,13 @@ EOF
        echo pdp10-unknown-its
        exit ;;
     SEI:*:*:SEIUX)
        echo pdp10-unknown-its
        exit ;;
     SEI:*:*:SEIUX)
-        echo mips-sei-seiux${UNAME_RELEASE}
+       echo mips-sei-seiux${UNAME_RELEASE}
        exit ;;
     *:DragonFly:*:*)
        echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
        exit ;;
     *:*VMS:*:*)
        exit ;;
     *:DragonFly:*:*)
        echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
        exit ;;
     *:*VMS:*:*)
-       UNAME_MACHINE=`(uname -p) 2>/dev/null`
+       UNAME_MACHINE=`(uname -p) 2>/dev/null`
        case "${UNAME_MACHINE}" in
            A*) echo alpha-dec-vms ; exit ;;
            I*) echo ia64-dec-vms ; exit ;;
        case "${UNAME_MACHINE}" in
            A*) echo alpha-dec-vms ; exit ;;
            I*) echo ia64-dec-vms ; exit ;;
@@ -1314,11 +1363,14 @@ EOF
     i*86:rdos:*:*)
        echo ${UNAME_MACHINE}-pc-rdos
        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 ;;
 esac
 
 esac
 
-#echo '(No uname command or uname output not recognized.)' 1>&2
-#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
-
 eval $set_cc_for_build
 cat >$dummy.c <<EOF
 #ifdef _SEQUENT_
 eval $set_cc_for_build
 cat >$dummy.c <<EOF
 #ifdef _SEQUENT_
@@ -1336,11 +1388,11 @@ main ()
 #include <sys/param.h>
   printf ("m68k-sony-newsos%s\n",
 #ifdef NEWSOS4
 #include <sys/param.h>
   printf ("m68k-sony-newsos%s\n",
 #ifdef NEWSOS4
-          "4"
+       "4"
 #else
 #else
-         ""
+       ""
 #endif
 #endif
-         ); exit (0);
+       ); exit (0);
 #endif
 #endif
 
 #endif
 #endif
 
@@ -1474,9 +1526,9 @@ This script, last modified $timestamp, has failed to recognize
 the operating system you are using. It is advised that you
 download the most up to date version of the config scripts from
 
 the operating system you are using. It is advised that you
 download the most up to date version of the config scripts from
 
-  http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess
+  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
 and
 and
-  http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub
+  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
 
 If the version you run ($0) is already up to date, please
 send the following data and any information you think might be
 
 If the version you run ($0) is already up to date, please
 send the following data and any information you think might be
index c85dfdc9165fc14e8070b3cf5e26342eef880067..0a1af872f4e1c0334aa6e7c70b100c14e8567c00 100644 (file)
 /* Define to the one symbol short name of this package. */
 #undef PACKAGE_TARNAME
 
 /* Define to the one symbol short name of this package. */
 #undef PACKAGE_TARNAME
 
+/* Define to the home page for this package. */
+#undef PACKAGE_URL
+
 /* Define to the version of this package. */
 #undef PACKAGE_VERSION
 
 /* Define to the version of this package. */
 #undef PACKAGE_VERSION
 
 /* Define to 1 if the X Window System is missing or not being used. */
 #undef X_DISPLAY_MISSING
 
 /* Define to 1 if the X Window System is missing or not being used. */
 #undef X_DISPLAY_MISSING
 
+/* Enable large inode numbers on Mac OS X 10.5.  */
+#ifndef _DARWIN_USE_64_BIT_INODE
+# define _DARWIN_USE_64_BIT_INODE 1
+#endif
+
 /* Number of bits in a file offset, on hosts where this is settable. */
 #undef _FILE_OFFSET_BITS
 
 /* Number of bits in a file offset, on hosts where this is settable. */
 #undef _FILE_OFFSET_BITS
 
index c060f4483392e413a117c86be997c656e9186f22..8b612ab89df97769d827a8b7f64e1dad21ac0b71 100755 (executable)
@@ -1,44 +1,40 @@
 #! /bin/sh
 # Configuration validation subroutine script.
 #! /bin/sh
 # Configuration validation subroutine script.
-#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-#   2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
-#   Inc.
+#   Copyright 1992-2013 Free Software Foundation, Inc.
 
 
-timestamp='2007-04-29'
+timestamp='2013-04-24'
 
 
-# This file is (in principle) common to ALL GNU software.
-# The presence of a machine in this file suggests that SOME GNU software
-# can handle that machine.  It does not imply ALL GNU software can.
-#
-# This file is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
+# 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.
 #
 # (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.
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT 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
 #
 # You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
-# 02110-1301, USA.
+# along with this program; if not, see <http://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
 #
 # 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.
+# 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>.  Submit a context
-# diff and a properly formatted ChangeLog entry.
+# Please send patches with a ChangeLog entry 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.
 
 #
 # 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:
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
+
 # 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.
 # 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.
@@ -72,8 +68,7 @@ Report bugs and patches to <config-patches@gnu.org>."
 version="\
 GNU config.sub ($timestamp)
 
 version="\
 GNU config.sub ($timestamp)
 
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
-Free Software Foundation, Inc.
+Copyright 1992-2013 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."
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -120,12 +115,18 @@ esac
 # Here we must recognize all the valid KERNEL-OS combinations.
 maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
 case $maybe_os in
 # Here we must recognize all the valid KERNEL-OS combinations.
 maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
 case $maybe_os in
-  nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
-  uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
+  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
+  linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
+  knetbsd*-gnu* | netbsd*-gnu* | \
+  kopensolaris*-gnu* | \
   storm-chaos* | os2-emx* | rtmk-nova*)
     os=-$maybe_os
     basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
     ;;
   storm-chaos* | os2-emx* | rtmk-nova*)
     os=-$maybe_os
     basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
     ;;
+  android-linux)
+    os=-linux-android
+    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
+    ;;
   *)
     basic_machine=`echo $1 | sed 's/-[^-]*$//'`
     if [ $basic_machine != $1 ]
   *)
     basic_machine=`echo $1 | sed 's/-[^-]*$//'`
     if [ $basic_machine != $1 ]
@@ -148,10 +149,13 @@ case $os in
        -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
        -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
        -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
        -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)
+       -apple | -axis | -knuth | -cray | -microblaze*)
                os=
                basic_machine=$1
                ;;
                os=
                basic_machine=$1
                ;;
+       -bluegene*)
+               os=-cnk
+               ;;
        -sim | -cisco | -oki | -wec | -winbond)
                os=
                basic_machine=$1
        -sim | -cisco | -oki | -wec | -winbond)
                os=
                basic_machine=$1
@@ -166,10 +170,10 @@ case $os in
                os=-chorusos
                basic_machine=$1
                ;;
                os=-chorusos
                basic_machine=$1
                ;;
-       -chorusrdb)
-               os=-chorusrdb
+       -chorusrdb)
+               os=-chorusrdb
                basic_machine=$1
                basic_machine=$1
-               ;;
+               ;;
        -hiux*)
                os=-hiuxwe2
                ;;
        -hiux*)
                os=-hiuxwe2
                ;;
@@ -214,6 +218,12 @@ case $os in
        -isc*)
                basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
                ;;
        -isc*)
                basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
                ;;
+       -lynx*178)
+               os=-lynxos178
+               ;;
+       -lynx*5)
+               os=-lynxos5
+               ;;
        -lynx*)
                os=-lynxos
                ;;
        -lynx*)
                os=-lynxos
                ;;
@@ -238,24 +248,34 @@ case $basic_machine in
        # Some are omitted here because they have special meanings below.
        1750a | 580 \
        | a29k \
        # Some are omitted here because they have special meanings below.
        1750a | 580 \
        | a29k \
+       | aarch64 | aarch64_be \
        | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
        | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
        | am33_2.0 \
        | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
        | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
        | am33_2.0 \
-       | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
+       | arc | arceb \
+       | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
+       | avr | avr32 \
+       | be32 | be64 \
        | bfin \
        | c4x | clipper \
        | d10v | d30v | dlx | dsp16xx \
        | bfin \
        | c4x | clipper \
        | d10v | d30v | dlx | dsp16xx \
+       | epiphany \
        | fido | fr30 | frv \
        | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
        | fido | fr30 | frv \
        | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
+       | hexagon \
        | i370 | i860 | i960 | ia64 \
        | ip2k | iq2000 \
        | i370 | i860 | i960 | ia64 \
        | ip2k | iq2000 \
+       | le32 | le64 \
+       | lm32 \
        | m32c | m32r | m32rle | m68000 | m68k | m88k \
        | m32c | m32r | m32rle | m68000 | m68k | m88k \
-       | maxq | mb | microblaze | mcore | mep \
+       | maxq | mb | microblaze | microblazeel | mcore | mep | metag \
        | mips | mipsbe | mipseb | mipsel | mipsle \
        | mips16 \
        | mips64 | mips64el \
        | mips | mipsbe | mipseb | mipsel | mipsle \
        | mips16 \
        | mips64 | mips64el \
-       | mips64vr | mips64vrel \
+       | mips64octeon | mips64octeonel \
        | mips64orion | mips64orionel \
        | mips64orion | mips64orionel \
+       | mips64r5900 | mips64r5900el \
+       | mips64vr | mips64vrel \
        | mips64vr4100 | mips64vr4100el \
        | mips64vr4300 | mips64vr4300el \
        | mips64vr5000 | mips64vr5000el \
        | mips64vr4100 | mips64vr4100el \
        | mips64vr4300 | mips64vr4300el \
        | mips64vr5000 | mips64vr5000el \
@@ -266,31 +286,45 @@ case $basic_machine in
        | mipsisa64r2 | mipsisa64r2el \
        | mipsisa64sb1 | mipsisa64sb1el \
        | mipsisa64sr71k | mipsisa64sr71kel \
        | mipsisa64r2 | mipsisa64r2el \
        | mipsisa64sb1 | mipsisa64sb1el \
        | mipsisa64sr71k | mipsisa64sr71kel \
+       | mipsr5900 | mipsr5900el \
        | mipstx39 | mipstx39el \
        | mn10200 | mn10300 \
        | mipstx39 | mipstx39el \
        | mn10200 | mn10300 \
+       | moxie \
        | mt \
        | msp430 \
        | mt \
        | msp430 \
-       | nios | nios2 \
+       | nds32 | nds32le | nds32be \
+       | nios | nios2 | nios2eb | nios2el \
        | ns16k | ns32k \
        | ns16k | ns32k \
-       | or32 \
+       | open8 \
+       | or1k | or32 \
        | pdp10 | pdp11 | pj | pjl \
        | pdp10 | pdp11 | pj | pjl \
-       | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
+       | powerpc | powerpc64 | powerpc64le | powerpcle \
        | pyramid \
        | pyramid \
+       | rl78 | rx \
        | score \
        | score \
-       | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
+       | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
        | sh64 | sh64le \
        | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
        | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
        | sh64 | sh64le \
        | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
        | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
-       | spu | strongarm \
-       | tahoe | thumb | tic4x | tic80 | tron \
-       | v850 | v850e \
+       | spu \
+       | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
+       | ubicom32 \
+       | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
        | we32k \
        | we32k \
-       | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
-       | z8k)
+       | x86 | xc16x | xstormy16 | xtensa \
+       | z8k | z80)
                basic_machine=$basic_machine-unknown
                ;;
                basic_machine=$basic_machine-unknown
                ;;
-       m6811 | m68hc11 | m6812 | m68hc12)
-               # Motorola 68HC11/12.
+       c54x)
+               basic_machine=tic54x-unknown
+               ;;
+       c55x)
+               basic_machine=tic55x-unknown
+               ;;
+       c6x)
+               basic_machine=tic6x-unknown
+               ;;
+       m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip)
                basic_machine=$basic_machine-unknown
                os=-none
                ;;
                basic_machine=$basic_machine-unknown
                os=-none
                ;;
@@ -300,6 +334,21 @@ case $basic_machine in
                basic_machine=mt-unknown
                ;;
 
                basic_machine=mt-unknown
                ;;
 
+       strongarm | thumb | xscale)
+               basic_machine=arm-unknown
+               ;;
+       xgate)
+               basic_machine=$basic_machine-unknown
+               os=-none
+               ;;
+       xscaleeb)
+               basic_machine=armeb-unknown
+               ;;
+
+       xscaleel)
+               basic_machine=armel-unknown
+               ;;
+
        # We use `pc' rather than `unknown'
        # because (1) that's what they normally are, and
        # (2) the word "unknown" tends to confuse beginning users.
        # We use `pc' rather than `unknown'
        # because (1) that's what they normally are, and
        # (2) the word "unknown" tends to confuse beginning users.
@@ -314,29 +363,37 @@ case $basic_machine in
        # Recognize the basic CPU types with company name.
        580-* \
        | a29k-* \
        # Recognize the basic CPU types with company name.
        580-* \
        | a29k-* \
+       | aarch64-* | aarch64_be-* \
        | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
        | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
        | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
        | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
-       | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
+       | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
        | arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
        | avr-* | avr32-* \
        | arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
        | avr-* | avr32-* \
+       | be32-* | be64-* \
        | bfin-* | bs2000-* \
        | bfin-* | bs2000-* \
-       | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
+       | c[123]* | c30-* | [cjt]90-* | c4x-* \
        | clipper-* | craynv-* | cydra-* \
        | d10v-* | d30v-* | dlx-* \
        | elxsi-* \
        | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
        | h8300-* | h8500-* \
        | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
        | clipper-* | craynv-* | cydra-* \
        | d10v-* | d30v-* | dlx-* \
        | elxsi-* \
        | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
        | h8300-* | h8500-* \
        | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
+       | hexagon-* \
        | i*86-* | i860-* | i960-* | ia64-* \
        | ip2k-* | iq2000-* \
        | i*86-* | i860-* | i960-* | ia64-* \
        | ip2k-* | iq2000-* \
+       | le32-* | le64-* \
+       | lm32-* \
        | m32c-* | m32r-* | m32rle-* \
        | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
        | m32c-* | m32r-* | m32rle-* \
        | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
-       | m88110-* | m88k-* | maxq-* | mcore-* \
+       | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
+       | microblaze-* | microblazeel-* \
        | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
        | mips16-* \
        | mips64-* | mips64el-* \
        | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
        | mips16-* \
        | mips64-* | mips64el-* \
-       | mips64vr-* | mips64vrel-* \
+       | mips64octeon-* | mips64octeonel-* \
        | mips64orion-* | mips64orionel-* \
        | mips64orion-* | mips64orionel-* \
+       | mips64r5900-* | mips64r5900el-* \
+       | mips64vr-* | mips64vrel-* \
        | mips64vr4100-* | mips64vr4100el-* \
        | mips64vr4300-* | mips64vr4300el-* \
        | mips64vr5000-* | mips64vr5000el-* \
        | mips64vr4100-* | mips64vr4100el-* \
        | mips64vr4300-* | mips64vr4300el-* \
        | mips64vr5000-* | mips64vr5000el-* \
@@ -347,31 +404,41 @@ case $basic_machine in
        | mipsisa64r2-* | mipsisa64r2el-* \
        | mipsisa64sb1-* | mipsisa64sb1el-* \
        | mipsisa64sr71k-* | mipsisa64sr71kel-* \
        | mipsisa64r2-* | mipsisa64r2el-* \
        | mipsisa64sb1-* | mipsisa64sb1el-* \
        | mipsisa64sr71k-* | mipsisa64sr71kel-* \
+       | mipsr5900-* | mipsr5900el-* \
        | mipstx39-* | mipstx39el-* \
        | mmix-* \
        | mt-* \
        | msp430-* \
        | mipstx39-* | mipstx39el-* \
        | mmix-* \
        | mt-* \
        | msp430-* \
-       | nios-* | nios2-* \
+       | nds32-* | nds32le-* | nds32be-* \
+       | nios-* | nios2-* | nios2eb-* | nios2el-* \
        | none-* | np1-* | ns16k-* | ns32k-* \
        | none-* | np1-* | ns16k-* | ns32k-* \
+       | open8-* \
        | orion-* \
        | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
        | orion-* \
        | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
-       | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
+       | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
        | pyramid-* \
        | pyramid-* \
-       | romp-* | rs6000-* \
-       | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
+       | rl78-* | romp-* | rs6000-* | rx-* \
+       | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
        | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
        | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
        | sparclite-* \
        | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
        | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
        | sparclite-* \
-       | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
-       | tahoe-* | thumb-* \
+       | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
+       | tahoe-* \
        | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
        | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
+       | tile*-* \
        | tron-* \
        | tron-* \
-       | v850-* | v850e-* | vax-* \
+       | ubicom32-* \
+       | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
+       | vax-* \
        | we32k-* \
        | we32k-* \
-       | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
-       | xstormy16-* | xtensa-* \
+       | x86-* | x86_64-* | xc16x-* | xps100-* \
+       | xstormy16-* | xtensa*-* \
        | ymp-* \
        | ymp-* \
-       | z8k-*)
+       | z8k-* | z80-*)
+               ;;
+       # Recognize the basic CPU types without company name, with glob match.
+       xtensa*)
+               basic_machine=$basic_machine-unknown
                ;;
        # Recognize the various machine names and aliases which stand
        # for a CPU type and a company and sometimes even an OS.
                ;;
        # Recognize the various machine names and aliases which stand
        # for a CPU type and a company and sometimes even an OS.
@@ -389,7 +456,7 @@ case $basic_machine in
                basic_machine=a29k-amd
                os=-udi
                ;;
                basic_machine=a29k-amd
                os=-udi
                ;;
-       abacus)
+       abacus)
                basic_machine=abacus-unknown
                ;;
        adobe68k)
                basic_machine=abacus-unknown
                ;;
        adobe68k)
@@ -435,6 +502,10 @@ case $basic_machine in
                basic_machine=m68k-apollo
                os=-bsd
                ;;
                basic_machine=m68k-apollo
                os=-bsd
                ;;
+       aros)
+               basic_machine=i386-pc
+               os=-aros
+               ;;
        aux)
                basic_machine=m68k-apple
                os=-aux
        aux)
                basic_machine=m68k-apple
                os=-aux
@@ -443,10 +514,35 @@ case $basic_machine in
                basic_machine=ns32k-sequent
                os=-dynix
                ;;
                basic_machine=ns32k-sequent
                os=-dynix
                ;;
+       blackfin)
+               basic_machine=bfin-unknown
+               os=-linux
+               ;;
+       blackfin-*)
+               basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
+               os=-linux
+               ;;
+       bluegene*)
+               basic_machine=powerpc-ibm
+               os=-cnk
+               ;;
+       c54x-*)
+               basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
+               ;;
+       c55x-*)
+               basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
+               ;;
+       c6x-*)
+               basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
+               ;;
        c90)
                basic_machine=c90-cray
                os=-unicos
                ;;
        c90)
                basic_machine=c90-cray
                os=-unicos
                ;;
+       cegcc)
+               basic_machine=arm-unknown
+               os=-cegcc
+               ;;
        convex-c1)
                basic_machine=c1-convex
                os=-bsd
        convex-c1)
                basic_machine=c1-convex
                os=-bsd
@@ -475,8 +571,8 @@ case $basic_machine in
                basic_machine=craynv-cray
                os=-unicosmp
                ;;
                basic_machine=craynv-cray
                os=-unicosmp
                ;;
-       cr16c)
-               basic_machine=cr16c-unknown
+       cr16 | cr16-*)
+               basic_machine=cr16-unknown
                os=-elf
                ;;
        crds | unos)
                os=-elf
                ;;
        crds | unos)
@@ -514,6 +610,10 @@ case $basic_machine in
                basic_machine=m88k-motorola
                os=-sysv3
                ;;
                basic_machine=m88k-motorola
                os=-sysv3
                ;;
+       dicos)
+               basic_machine=i686-pc
+               os=-dicos
+               ;;
        djgpp)
                basic_machine=i586-pc
                os=-msdosdjgpp
        djgpp)
                basic_machine=i586-pc
                os=-msdosdjgpp
@@ -629,7 +729,6 @@ case $basic_machine in
        i370-ibm* | ibm*)
                basic_machine=i370-ibm
                ;;
        i370-ibm* | ibm*)
                basic_machine=i370-ibm
                ;;
-# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
        i*86v32)
                basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
                os=-sysv32
        i*86v32)
                basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
                os=-sysv32
@@ -668,6 +767,14 @@ case $basic_machine in
                basic_machine=m68k-isi
                os=-sysv
                ;;
                basic_machine=m68k-isi
                os=-sysv
                ;;
+       m68knommu)
+               basic_machine=m68k-unknown
+               os=-linux
+               ;;
+       m68knommu-*)
+               basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
+               os=-linux
+               ;;
        m88k-omron*)
                basic_machine=m88k-omron
                ;;
        m88k-omron*)
                basic_machine=m88k-omron
                ;;
@@ -679,6 +786,13 @@ case $basic_machine in
                basic_machine=ns32k-utek
                os=-sysv
                ;;
                basic_machine=ns32k-utek
                os=-sysv
                ;;
+       microblaze*)
+               basic_machine=microblaze-xilinx
+               ;;
+       mingw64)
+               basic_machine=x86_64-pc
+               os=-mingw64
+               ;;
        mingw32)
                basic_machine=i386-pc
                os=-mingw32
        mingw32)
                basic_machine=i386-pc
                os=-mingw32
@@ -715,10 +829,18 @@ case $basic_machine in
        ms1-*)
                basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
                ;;
        ms1-*)
                basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
                ;;
+       msys)
+               basic_machine=i386-pc
+               os=-msys
+               ;;
        mvs)
                basic_machine=i370-ibm
                os=-mvs
                ;;
        mvs)
                basic_machine=i370-ibm
                os=-mvs
                ;;
+       nacl)
+               basic_machine=le32-unknown
+               os=-nacl
+               ;;
        ncr3000)
                basic_machine=i486-ncr
                os=-sysv4
        ncr3000)
                basic_machine=i486-ncr
                os=-sysv4
@@ -783,6 +905,12 @@ case $basic_machine in
        np1)
                basic_machine=np1-gould
                ;;
        np1)
                basic_machine=np1-gould
                ;;
+       neo-tandem)
+               basic_machine=neo-tandem
+               ;;
+       nse-tandem)
+               basic_machine=nse-tandem
+               ;;
        nsr-tandem)
                basic_machine=nsr-tandem
                ;;
        nsr-tandem)
                basic_machine=nsr-tandem
                ;;
@@ -813,6 +941,14 @@ case $basic_machine in
                basic_machine=i860-intel
                os=-osf
                ;;
                basic_machine=i860-intel
                os=-osf
                ;;
+       parisc)
+               basic_machine=hppa-unknown
+               os=-linux
+               ;;
+       parisc-*)
+               basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
+               os=-linux
+               ;;
        pbd)
                basic_machine=sparc-tti
                ;;
        pbd)
                basic_machine=sparc-tti
                ;;
@@ -857,9 +993,10 @@ case $basic_machine in
                ;;
        power)  basic_machine=power-ibm
                ;;
                ;;
        power)  basic_machine=power-ibm
                ;;
-       ppc)    basic_machine=powerpc-unknown
+       ppc | ppcbe)    basic_machine=powerpc-unknown
                ;;
                ;;
-       ppc-*)  basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+       ppc-* | ppcbe-*)
+               basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
                ;;
        ppcle | powerpclittle | ppc-le | powerpc-little)
                basic_machine=powerpcle-unknown
                ;;
        ppcle | powerpclittle | ppc-le | powerpc-little)
                basic_machine=powerpcle-unknown
@@ -884,7 +1021,11 @@ case $basic_machine in
                basic_machine=i586-unknown
                os=-pw32
                ;;
                basic_machine=i586-unknown
                os=-pw32
                ;;
-       rdos)
+       rdos | rdos64)
+               basic_machine=x86_64-pc
+               os=-rdos
+               ;;
+       rdos32)
                basic_machine=i386-pc
                os=-rdos
                ;;
                basic_machine=i386-pc
                os=-rdos
                ;;
@@ -953,6 +1094,9 @@ case $basic_machine in
                basic_machine=i860-stratus
                os=-sysv4
                ;;
                basic_machine=i860-stratus
                os=-sysv4
                ;;
+       strongarm-* | thumb-*)
+               basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
+               ;;
        sun2)
                basic_machine=m68000-sun
                ;;
        sun2)
                basic_machine=m68000-sun
                ;;
@@ -1009,17 +1153,9 @@ case $basic_machine in
                basic_machine=t90-cray
                os=-unicos
                ;;
                basic_machine=t90-cray
                os=-unicos
                ;;
-       tic54x | c54x*)
-               basic_machine=tic54x-unknown
-               os=-coff
-               ;;
-       tic55x | c55x*)
-               basic_machine=tic55x-unknown
-               os=-coff
-               ;;
-       tic6x | c6x*)
-               basic_machine=tic6x-unknown
-               os=-coff
+       tile*)
+               basic_machine=$basic_machine-unknown
+               os=-linux-gnu
                ;;
        tx39)
                basic_machine=mipstx39-unknown
                ;;
        tx39)
                basic_machine=mipstx39-unknown
@@ -1088,6 +1224,9 @@ case $basic_machine in
        xps | xps100)
                basic_machine=xps100-honeywell
                ;;
        xps | xps100)
                basic_machine=xps100-honeywell
                ;;
+       xscale-* | xscalee[bl]-*)
+               basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
+               ;;
        ymp)
                basic_machine=ymp-cray
                os=-unicos
        ymp)
                basic_machine=ymp-cray
                os=-unicos
@@ -1096,6 +1235,10 @@ case $basic_machine in
                basic_machine=z8k-unknown
                os=-sim
                ;;
                basic_machine=z8k-unknown
                os=-sim
                ;;
+       z80-*-coff)
+               basic_machine=z80-unknown
+               os=-sim
+               ;;
        none)
                basic_machine=none-none
                os=-none
        none)
                basic_machine=none-none
                os=-none
@@ -1134,7 +1277,7 @@ case $basic_machine in
        we32k)
                basic_machine=we32k-att
                ;;
        we32k)
                basic_machine=we32k-att
                ;;
-       sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele)
+       sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
                basic_machine=sh-unknown
                ;;
        sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
                basic_machine=sh-unknown
                ;;
        sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
@@ -1181,9 +1324,12 @@ esac
 if [ x"$os" != x"" ]
 then
 case $os in
 if [ x"$os" != x"" ]
 then
 case $os in
-        # First match some system type aliases
-        # that might get confused with valid system types.
+       # First match some system type aliases
+       # that might get confused with valid system types.
        # -solaris* is a basic system type, with this one exception.
        # -solaris* is a basic system type, with this one exception.
+       -auroraux)
+               os=-auroraux
+               ;;
        -solaris1 | -solaris1.*)
                os=`echo $os | sed -e 's|solaris1|sunos4|'`
                ;;
        -solaris1 | -solaris1.*)
                os=`echo $os | sed -e 's|solaris1|sunos4|'`
                ;;
@@ -1204,21 +1350,23 @@ case $os in
        # Each alternative MUST END IN A *, to match a version number.
        # -sysv* is not here because it comes later, after sysvr4.
        -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
        # Each alternative MUST END IN A *, to match a version number.
        # -sysv* is not here because it comes later, after sysvr4.
        -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
-             | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
-             | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
+             | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
+             | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
+             | -sym* | -kopensolaris* | -plan9* \
              | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
              | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
-             | -aos* \
+             | -aos* | -aros* \
              | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
              | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
              | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
              | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
              | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
              | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
-             | -openbsd* | -solidbsd* \
+             | -bitrig* | -openbsd* | -solidbsd* \
              | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
              | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
              | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
              | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
              | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
              | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
              | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
              | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
-             | -chorusos* | -chorusrdb* \
-             | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
-             | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
+             | -chorusos* | -chorusrdb* | -cegcc* \
+             | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
+             | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
+             | -linux-newlib* | -linux-musl* | -linux-uclibc* \
              | -uxpv* | -beos* | -mpeix* | -udk* \
              | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
              | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
              | -uxpv* | -beos* | -mpeix* | -udk* \
              | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
              | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
@@ -1226,7 +1374,7 @@ case $os in
              | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
              | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
              | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
              | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
              | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
              | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
-             | -skyos* | -haiku* | -rdos* | -toppers* | -drops*)
+             | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
        # Remember, each alternative MUST END IN *, to match a version number.
                ;;
        -qnx*)
        # Remember, each alternative MUST END IN *, to match a version number.
                ;;
        -qnx*)
@@ -1265,7 +1413,7 @@ case $os in
        -opened*)
                os=-openedition
                ;;
        -opened*)
                os=-openedition
                ;;
-        -os400*)
+       -os400*)
                os=-os400
                ;;
        -wince*)
                os=-os400
                ;;
        -wince*)
@@ -1314,7 +1462,7 @@ case $os in
        -sinix*)
                os=-sysv4
                ;;
        -sinix*)
                os=-sysv4
                ;;
-        -tpf*)
+       -tpf*)
                os=-tpf
                ;;
        -triton*)
                os=-tpf
                ;;
        -triton*)
@@ -1350,12 +1498,14 @@ case $os in
        -aros*)
                os=-aros
                ;;
        -aros*)
                os=-aros
                ;;
-       -kaos*)
-               os=-kaos
-               ;;
        -zvmoe)
                os=-zvmoe
                ;;
        -zvmoe)
                os=-zvmoe
                ;;
+       -dicos*)
+               os=-dicos
+               ;;
+       -nacl*)
+               ;;
        -none)
                ;;
        *)
        -none)
                ;;
        *)
@@ -1378,10 +1528,10 @@ else
 # system, and we'll never get to this point.
 
 case $basic_machine in
 # system, and we'll never get to this point.
 
 case $basic_machine in
-        score-*)
+       score-*)
                os=-elf
                ;;
                os=-elf
                ;;
-        spu-*)
+       spu-*)
                os=-elf
                ;;
        *-acorn)
                os=-elf
                ;;
        *-acorn)
@@ -1393,8 +1543,20 @@ case $basic_machine in
        arm*-semi)
                os=-aout
                ;;
        arm*-semi)
                os=-aout
                ;;
-        c4x-* | tic4x-*)
-               os=-coff
+       c4x-* | tic4x-*)
+               os=-coff
+               ;;
+       hexagon-*)
+               os=-elf
+               ;;
+       tic54x-*)
+               os=-coff
+               ;;
+       tic55x-*)
+               os=-coff
+               ;;
+       tic6x-*)
+               os=-coff
                ;;
        # This must come before the *-dec entry.
        pdp10-*)
                ;;
        # This must come before the *-dec entry.
        pdp10-*)
@@ -1414,14 +1576,11 @@ case $basic_machine in
                ;;
        m68000-sun)
                os=-sunos3
                ;;
        m68000-sun)
                os=-sunos3
-               # This also exists in the configure program, but was not the
-               # default.
-               # os=-sunos4
                ;;
        m68*-cisco)
                os=-aout
                ;;
                ;;
        m68*-cisco)
                os=-aout
                ;;
-        mep-*)
+       mep-*)
                os=-elf
                ;;
        mips*-cisco)
                os=-elf
                ;;
        mips*-cisco)
@@ -1430,6 +1589,9 @@ case $basic_machine in
        mips*-*)
                os=-elf
                ;;
        mips*-*)
                os=-elf
                ;;
+       or1k-*)
+               os=-elf
+               ;;
        or32-*)
                os=-coff
                ;;
        or32-*)
                os=-coff
                ;;
@@ -1448,7 +1610,7 @@ case $basic_machine in
        *-ibm)
                os=-aix
                ;;
        *-ibm)
                os=-aix
                ;;
-       *-knuth)
+       *-knuth)
                os=-mmixware
                ;;
        *-wec)
                os=-mmixware
                ;;
        *-wec)
@@ -1553,7 +1715,7 @@ case $basic_machine in
                        -sunos*)
                                vendor=sun
                                ;;
                        -sunos*)
                                vendor=sun
                                ;;
-                       -aix*)
+                       -cnk*|-aix*)
                                vendor=ibm
                                ;;
                        -beos*)
                                vendor=ibm
                                ;;
                        -beos*)
index 25217853ff98e00a9ead64110219e6ccc4b5f00d..6c43d483b662962e849febd4316f1f2276331d9b 100755 (executable)
--- a/configure
+++ b/configure
@@ -1,18 +1,20 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.63.
+# Generated by GNU Autoconf 2.69.
+#
+#
+# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
+#
 #
 #
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
 # This configure script is free software; the Free Software Foundation
 # gives unlimited permission to copy, distribute and modify it.
 # This configure script is free software; the Free Software Foundation
 # gives unlimited permission to copy, distribute and modify it.
-## --------------------- ##
-## M4sh Initialization.  ##
-## --------------------- ##
+## -------------------- ##
+## M4sh Initialization. ##
+## -------------------- ##
 
 # Be more Bourne compatible
 DUALCASE=1; export DUALCASE # for MKS sh
 
 # Be more Bourne compatible
 DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
   emulate sh
   NULLCMD=:
   # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
   emulate sh
   NULLCMD=:
   # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
@@ -20,23 +22,15 @@ if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
   alias -g '${1+"$@"}'='"$@"'
   setopt NO_GLOB_SUBST
 else
   alias -g '${1+"$@"}'='"$@"'
   setopt NO_GLOB_SUBST
 else
-  case `(set -o) 2>/dev/null` in
-  *posix*) set -o posix ;;
+  case `(set -o) 2>/dev/null` in #(
+  *posix*) :
+    set -o posix ;; #(
+  *) :
+     ;;
 esac
 esac
-
 fi
 
 
 fi
 
 
-
-
-# PATH needs CR
-# 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
-
 as_nl='
 '
 export as_nl
 as_nl='
 '
 export as_nl
@@ -44,7 +38,13 @@ export as_nl
 as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
 as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
 as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
 as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
 as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
 as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+# Prefer a ksh shell builtin over an external printf program on Solaris,
+# but without wasting forks for bash or zsh.
+if test -z "$BASH_VERSION$ZSH_VERSION" \
+    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
+  as_echo='print -r --'
+  as_echo_n='print -rn --'
+elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
   as_echo='printf %s\n'
   as_echo_n='printf %s'
 else
   as_echo='printf %s\n'
   as_echo_n='printf %s'
 else
@@ -55,7 +55,7 @@ else
     as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
     as_echo_n_body='eval
       arg=$1;
     as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
     as_echo_n_body='eval
       arg=$1;
-      case $arg in
+      case $arg in #(
       *"$as_nl"*)
        expr "X$arg" : "X\\(.*\\)$as_nl";
        arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
       *"$as_nl"*)
        expr "X$arg" : "X\\(.*\\)$as_nl";
        arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
@@ -78,13 +78,6 @@ if test "${PATH_SEPARATOR+set}" != set; then
   }
 fi
 
   }
 fi
 
-# Support unset when possible.
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
-  as_unset=unset
-else
-  as_unset=false
-fi
-
 
 # IFS
 # We need space, tab and new line, in precisely that order.  Quoting is
 
 # IFS
 # We need space, tab and new line, in precisely that order.  Quoting is
@@ -94,15 +87,16 @@ fi
 IFS=" ""       $as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
 IFS=" ""       $as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
-case $0 in
+as_myself=
+case $0 in #((
   *[\\/]* ) as_myself=$0 ;;
   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   *[\\/]* ) as_myself=$0 ;;
   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-done
+    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+  done
 IFS=$as_save_IFS
 
      ;;
 IFS=$as_save_IFS
 
      ;;
@@ -114,12 +108,16 @@ if test "x$as_myself" = x; then
 fi
 if test ! -f "$as_myself"; then
   $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
 fi
 if test ! -f "$as_myself"; then
   $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
-  { (exit 1); exit 1; }
+  exit 1
 fi
 
 fi
 
-# Work around bugs in pre-3.0 UWIN ksh.
-for as_var in ENV MAIL MAILPATH
-do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+# Unset variables that we do not need and which cause bugs (e.g. in
+# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
+# suppresses any "Segmentation fault" message there.  '((' could
+# trigger a bug in pdksh 5.2.14.
+for as_var in BASH_ENV ENV MAIL MAILPATH
+do eval test x\${$as_var+set} = xset \
+  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
 done
 PS1='$ '
 PS2='> '
 done
 PS1='$ '
 PS2='> '
@@ -131,7 +129,293 @@ export LC_ALL
 LANGUAGE=C
 export LANGUAGE
 
 LANGUAGE=C
 export LANGUAGE
 
-# Required to use basename.
+# CDPATH.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+# Use a proper internal environment variable to ensure we don't fall
+  # into an infinite loop, continuously re-executing ourselves.
+  if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
+    _as_can_reexec=no; export _as_can_reexec;
+    # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+as_fn_exit 255
+  fi
+  # We don't want this to propagate to other subprocesses.
+          { _as_can_reexec=; unset _as_can_reexec;}
+if test "x$CONFIG_SHELL" = x; then
+  as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
+  emulate sh
+  NULLCMD=:
+  # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '\${1+\"\$@\"}'='\"\$@\"'
+  setopt NO_GLOB_SUBST
+else
+  case \`(set -o) 2>/dev/null\` in #(
+  *posix*) :
+    set -o posix ;; #(
+  *) :
+     ;;
+esac
+fi
+"
+  as_required="as_fn_return () { (exit \$1); }
+as_fn_success () { as_fn_return 0; }
+as_fn_failure () { as_fn_return 1; }
+as_fn_ret_success () { return 0; }
+as_fn_ret_failure () { return 1; }
+
+exitcode=0
+as_fn_success || { exitcode=1; echo as_fn_success failed.; }
+as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
+as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
+as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
+if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
+
+else
+  exitcode=1; echo positional parameters were not saved.
+fi
+test x\$exitcode = x0 || exit 1
+test -x / || exit 1"
+  as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
+  as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
+  eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
+  test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
+test \$(( 1 + 1 )) = 2 || exit 1"
+  if (eval "$as_required") 2>/dev/null; then :
+  as_have_required=yes
+else
+  as_have_required=no
+fi
+  if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
+
+else
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+as_found=false
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  as_found=:
+  case $as_dir in #(
+        /*)
+          for as_base in sh bash ksh sh5; do
+            # Try only shells that exist, to save several forks.
+            as_shell=$as_dir/$as_base
+            if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
+                   { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
+  CONFIG_SHELL=$as_shell as_have_required=yes
+                  if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
+  break 2
+fi
+fi
+          done;;
+       esac
+  as_found=false
+done
+$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
+             { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
+  CONFIG_SHELL=$SHELL as_have_required=yes
+fi; }
+IFS=$as_save_IFS
+
+
+      if test "x$CONFIG_SHELL" != x; then :
+  export CONFIG_SHELL
+             # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+exit 255
+fi
+
+    if test x$as_have_required = xno; then :
+  $as_echo "$0: This script requires a shell more modern than all"
+  $as_echo "$0: the shells that I found on your system."
+  if test x${ZSH_VERSION+set} = xset ; then
+    $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
+    $as_echo "$0: be upgraded to zsh 4.3.4 or later."
+  else
+    $as_echo "$0: Please tell bug-autoconf@gnu.org about your system,
+$0: including any error possibly output before this
+$0: message. Then install a modern shell, or manually run
+$0: the script under such a shell if you do have one."
+  fi
+  exit 1
+fi
+fi
+fi
+SHELL=${CONFIG_SHELL-/bin/sh}
+export SHELL
+# Unset more variables known to interfere with behavior of common tools.
+CLICOLOR_FORCE= GREP_OPTIONS=
+unset CLICOLOR_FORCE GREP_OPTIONS
+
+## --------------------- ##
+## M4sh Shell Functions. ##
+## --------------------- ##
+# as_fn_unset VAR
+# ---------------
+# Portably unset VAR.
+as_fn_unset ()
+{
+  { eval $1=; unset $1;}
+}
+as_unset=as_fn_unset
+
+# as_fn_set_status STATUS
+# -----------------------
+# Set $? to STATUS, without forking.
+as_fn_set_status ()
+{
+  return $1
+} # as_fn_set_status
+
+# as_fn_exit STATUS
+# -----------------
+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
+as_fn_exit ()
+{
+  set +e
+  as_fn_set_status $1
+  exit $1
+} # as_fn_exit
+
+# as_fn_mkdir_p
+# -------------
+# Create "$as_dir" as a directory, including parents if necessary.
+as_fn_mkdir_p ()
+{
+
+  case $as_dir in #(
+  -*) as_dir=./$as_dir;;
+  esac
+  test -d "$as_dir" || eval $as_mkdir_p || {
+    as_dirs=
+    while :; do
+      case $as_dir in #(
+      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+      *) as_qdir=$as_dir;;
+      esac
+      as_dirs="'$as_qdir' $as_dirs"
+      as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+        X"$as_dir" : 'X\(//\)[^/]' \| \
+        X"$as_dir" : 'X\(//\)$' \| \
+        X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_dir" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)[^/].*/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\).*/{
+           s//\1/
+           q
+         }
+         s/.*/./; q'`
+      test -d "$as_dir" && break
+    done
+    test -z "$as_dirs" || eval "mkdir $as_dirs"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
+
+
+} # as_fn_mkdir_p
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
+# as_fn_append VAR VALUE
+# ----------------------
+# Append the text in VALUE to the end of the definition contained in VAR. Take
+# advantage of any shell optimizations that allow amortized linear growth over
+# repeated appends, instead of the typical quadratic growth present in naive
+# implementations.
+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
+  eval 'as_fn_append ()
+  {
+    eval $1+=\$2
+  }'
+else
+  as_fn_append ()
+  {
+    eval $1=\$$1\$2
+  }
+fi # as_fn_append
+
+# as_fn_arith ARG...
+# ------------------
+# Perform arithmetic evaluation on the ARGs, and store the result in the
+# global $as_val. Take advantage of shells that can avoid forks. The arguments
+# must be portable across $(()) and expr.
+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
+  eval 'as_fn_arith ()
+  {
+    as_val=$(( $* ))
+  }'
+else
+  as_fn_arith ()
+  {
+    as_val=`expr "$@" || test $? -eq 1`
+  }
+fi # as_fn_arith
+
+
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
+# script with STATUS, using 1 if that was 0.
+as_fn_error ()
+{
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
+  fi
+  $as_echo "$as_me: error: $2" >&2
+  as_fn_exit $as_status
+} # as_fn_error
+
 if expr a : '\(a\)' >/dev/null 2>&1 &&
    test "X`expr 00001 : '.*\(...\)'`" = X001; then
   as_expr=expr
 if expr a : '\(a\)' >/dev/null 2>&1 &&
    test "X`expr 00001 : '.*\(...\)'`" = X001; then
   as_expr=expr
@@ -145,8 +429,12 @@ else
   as_basename=false
 fi
 
   as_basename=false
 fi
 
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+  as_dirname=dirname
+else
+  as_dirname=false
+fi
 
 
-# Name of the executable.
 as_me=`$as_basename -- "$0" ||
 $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
         X"$0" : 'X\(//\)$' \| \
 as_me=`$as_basename -- "$0" ||
 $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
         X"$0" : 'X\(//\)$' \| \
@@ -166,417 +454,113 @@ $as_echo X/"$0" |
          }
          s/.*/./; q'`
 
          }
          s/.*/./; q'`
 
-# CDPATH.
-$as_unset CDPATH
+# 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
 
 
 
 
-if test "x$CONFIG_SHELL" = x; then
-  if (eval ":") 2>/dev/null; then
-  as_have_required=yes
-else
-  as_have_required=no
-fi
+  as_lineno_1=$LINENO as_lineno_1a=$LINENO
+  as_lineno_2=$LINENO as_lineno_2a=$LINENO
+  eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
+  test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
+  # Blame Lee E. McMahon (1931-1989) for sed's syntax.  :-)
+  sed -n '
+    p
+    /[$]LINENO/=
+  ' <$as_myself |
+    sed '
+      s/[$]LINENO.*/&-/
+      t lineno
+      b
+      :lineno
+      N
+      :loop
+      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
+      t loop
+      s/-\n.*//
+    ' >$as_me.lineno &&
+  chmod +x "$as_me.lineno" ||
+    { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
 
 
-  if test $as_have_required = yes &&    (eval ":
-(as_func_return () {
-  (exit \$1)
-}
-as_func_success () {
-  as_func_return 0
-}
-as_func_failure () {
-  as_func_return 1
-}
-as_func_ret_success () {
-  return 0
-}
-as_func_ret_failure () {
-  return 1
+  # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
+  # already done that, so ensure we don't try to do so again and fall
+  # in an infinite loop.  This has already happened in practice.
+  _as_can_reexec=no; export _as_can_reexec
+  # Don't try to exec as it changes $[0], causing all sort of problems
+  # (the dirname of $[0] is not the place where we might find the
+  # original and so on.  Autoconf is especially sensitive to this).
+  . "./$as_me.lineno"
+  # Exit status is that of the last command.
+  exit
 }
 
 }
 
-exitcode=0
-if as_func_success; then
-  :
-else
-  exitcode=1
-  echo as_func_success failed.
-fi
-
-if as_func_failure; then
-  exitcode=1
-  echo as_func_failure succeeded.
-fi
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in #(((((
+-n*)
+  case `echo 'xy\c'` in
+  *c*) ECHO_T='        ';;     # ECHO_T is single tab character.
+  xy)  ECHO_C='\c';;
+  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
+       ECHO_T='        ';;
+  esac;;
+*)
+  ECHO_N='-n';;
+esac
 
 
-if as_func_ret_success; then
-  :
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+  rm -f conf$$.dir/conf$$.file
 else
 else
-  exitcode=1
-  echo as_func_ret_success failed.
-fi
-
-if as_func_ret_failure; then
-  exitcode=1
-  echo as_func_ret_failure succeeded.
+  rm -f conf$$.dir
+  mkdir conf$$.dir 2>/dev/null
 fi
 fi
-
-if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
-  :
+if (echo >conf$$.file) 2>/dev/null; then
+  if ln -s conf$$.file conf$$ 2>/dev/null; then
+    as_ln_s='ln -s'
+    # ... but there are two gotchas:
+    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+    # In both cases, we have to default to `cp -pR'.
+    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+      as_ln_s='cp -pR'
+  elif ln conf$$.file conf$$ 2>/dev/null; then
+    as_ln_s=ln
+  else
+    as_ln_s='cp -pR'
+  fi
 else
 else
-  exitcode=1
-  echo positional parameters were not saved.
+  as_ln_s='cp -pR'
 fi
 fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
 
 
-test \$exitcode = 0) || { (exit 1); exit 1; }
-
-(
-  as_lineno_1=\$LINENO
-  as_lineno_2=\$LINENO
-  test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" &&
-  test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; }
-") 2> /dev/null; then
-  :
+if mkdir -p . 2>/dev/null; then
+  as_mkdir_p='mkdir -p "$as_dir"'
 else
 else
-  as_candidate_shells=
-    as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  case $as_dir in
-        /*)
-          for as_base in sh bash ksh sh5; do
-            as_candidate_shells="$as_candidate_shells $as_dir/$as_base"
-          done;;
-       esac
-done
-IFS=$as_save_IFS
-
+  test -d ./-p && rmdir ./-p
+  as_mkdir_p=false
+fi
 
 
-      for as_shell in $as_candidate_shells $SHELL; do
-        # Try only shells that exist, to save several forks.
-        if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
-               { ("$as_shell") 2> /dev/null <<\_ASEOF
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
-  emulate sh
-  NULLCMD=:
-  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '${1+"$@"}'='"$@"'
-  setopt NO_GLOB_SUBST
-else
-  case `(set -o) 2>/dev/null` in
-  *posix*) set -o posix ;;
-esac
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 
-fi
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
 
 
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
 
 
-:
-_ASEOF
-}; then
-  CONFIG_SHELL=$as_shell
-              as_have_required=yes
-              if { "$as_shell" 2> /dev/null <<\_ASEOF
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
-  emulate sh
-  NULLCMD=:
-  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '${1+"$@"}'='"$@"'
-  setopt NO_GLOB_SUBST
-else
-  case `(set -o) 2>/dev/null` in
-  *posix*) set -o posix ;;
-esac
 
 
-fi
+test -n "$DJDIR" || exec 7<&0 </dev/null
+exec 6>&1
 
 
-
-:
-(as_func_return () {
-  (exit $1)
-}
-as_func_success () {
-  as_func_return 0
-}
-as_func_failure () {
-  as_func_return 1
-}
-as_func_ret_success () {
-  return 0
-}
-as_func_ret_failure () {
-  return 1
-}
-
-exitcode=0
-if as_func_success; then
-  :
-else
-  exitcode=1
-  echo as_func_success failed.
-fi
-
-if as_func_failure; then
-  exitcode=1
-  echo as_func_failure succeeded.
-fi
-
-if as_func_ret_success; then
-  :
-else
-  exitcode=1
-  echo as_func_ret_success failed.
-fi
-
-if as_func_ret_failure; then
-  exitcode=1
-  echo as_func_ret_failure succeeded.
-fi
-
-if ( set x; as_func_ret_success y && test x = "$1" ); then
-  :
-else
-  exitcode=1
-  echo positional parameters were not saved.
-fi
-
-test $exitcode = 0) || { (exit 1); exit 1; }
-
-(
-  as_lineno_1=$LINENO
-  as_lineno_2=$LINENO
-  test "x$as_lineno_1" != "x$as_lineno_2" &&
-  test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; }
-
-_ASEOF
-}; then
-  break
-fi
-
-fi
-
-      done
-
-      if test "x$CONFIG_SHELL" != x; then
-  for as_var in BASH_ENV ENV
-       do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
-       done
-       export CONFIG_SHELL
-       exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
-fi
-
-
-    if test $as_have_required = no; then
-  echo This script requires a shell more modern than all the
-      echo shells that I found on your system.  Please install a
-      echo modern shell, or manually run the script under such a
-      echo shell if you do have one.
-      { (exit 1); exit 1; }
-fi
-
-
-fi
-
-fi
-
-
-
-(eval "as_func_return () {
-  (exit \$1)
-}
-as_func_success () {
-  as_func_return 0
-}
-as_func_failure () {
-  as_func_return 1
-}
-as_func_ret_success () {
-  return 0
-}
-as_func_ret_failure () {
-  return 1
-}
-
-exitcode=0
-if as_func_success; then
-  :
-else
-  exitcode=1
-  echo as_func_success failed.
-fi
-
-if as_func_failure; then
-  exitcode=1
-  echo as_func_failure succeeded.
-fi
-
-if as_func_ret_success; then
-  :
-else
-  exitcode=1
-  echo as_func_ret_success failed.
-fi
-
-if as_func_ret_failure; then
-  exitcode=1
-  echo as_func_ret_failure succeeded.
-fi
-
-if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
-  :
-else
-  exitcode=1
-  echo positional parameters were not saved.
-fi
-
-test \$exitcode = 0") || {
-  echo No shell found that supports shell functions.
-  echo Please tell bug-autoconf@gnu.org about your system,
-  echo including any error possibly output before this message.
-  echo This can help us improve future autoconf versions.
-  echo Configuration will now proceed without shell functions.
-}
-
-
-
-  as_lineno_1=$LINENO
-  as_lineno_2=$LINENO
-  test "x$as_lineno_1" != "x$as_lineno_2" &&
-  test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
-
-  # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
-  # uniformly replaced by the line number.  The first 'sed' inserts a
-  # line-number line after each line using $LINENO; the second 'sed'
-  # does the real work.  The second script uses 'N' to pair each
-  # line-number line with the line containing $LINENO, and appends
-  # trailing '-' during substitution so that $LINENO is not a special
-  # case at line end.
-  # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
-  # scripts with optimization help from Paolo Bonzini.  Blame Lee
-  # E. McMahon (1931-1989) for sed's syntax.  :-)
-  sed -n '
-    p
-    /[$]LINENO/=
-  ' <$as_myself |
-    sed '
-      s/[$]LINENO.*/&-/
-      t lineno
-      b
-      :lineno
-      N
-      :loop
-      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
-      t loop
-      s/-\n.*//
-    ' >$as_me.lineno &&
-  chmod +x "$as_me.lineno" ||
-    { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
-   { (exit 1); exit 1; }; }
-
-  # Don't try to exec as it changes $[0], causing all sort of problems
-  # (the dirname of $[0] is not the place where we might find the
-  # original and so on.  Autoconf is especially sensitive to this).
-  . "./$as_me.lineno"
-  # Exit status is that of the last command.
-  exit
-}
-
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
-  as_dirname=dirname
-else
-  as_dirname=false
-fi
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in
--n*)
-  case `echo 'x\c'` in
-  *c*) ECHO_T='        ';;     # ECHO_T is single tab character.
-  *)   ECHO_C='\c';;
-  esac;;
-*)
-  ECHO_N='-n';;
-esac
-if expr a : '\(a\)' >/dev/null 2>&1 &&
-   test "X`expr 00001 : '.*\(...\)'`" = X001; then
-  as_expr=expr
-else
-  as_expr=false
-fi
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
-  rm -f conf$$.dir/conf$$.file
-else
-  rm -f conf$$.dir
-  mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
-  if ln -s conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s='ln -s'
-    # ... but there are two gotchas:
-    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
-    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
-    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
-  elif ln conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s=ln
-  else
-    as_ln_s='cp -p'
-  fi
-else
-  as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-if mkdir -p . 2>/dev/null; then
-  as_mkdir_p=:
-else
-  test -d ./-p && rmdir ./-p
-  as_mkdir_p=false
-fi
-
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-       test -d "$1/.";
-      else
-       case $1 in
-       -*)set "./$1";;
-       esac;
-       case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
-       ???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-
-exec 7<&0 </dev/null 6>&1
-
-# 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`
+# Name of the host.
+# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
+# so uname gets run too.
+ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
 
 #
 # Initializations.
 
 #
 # Initializations.
@@ -589,7 +573,6 @@ cross_compiling=no
 subdirs=
 MFLAGS=
 MAKEFLAGS=
 subdirs=
 MFLAGS=
 MAKEFLAGS=
-SHELL=${CONFIG_SHELL-/bin/sh}
 
 # Identity of this package.
 PACKAGE_NAME=
 
 # Identity of this package.
 PACKAGE_NAME=
@@ -597,6 +580,7 @@ PACKAGE_TARNAME=
 PACKAGE_VERSION=
 PACKAGE_STRING=
 PACKAGE_BUGREPORT=
 PACKAGE_VERSION=
 PACKAGE_STRING=
 PACKAGE_BUGREPORT=
+PACKAGE_URL=
 
 ac_unique_file="driver/subprocs.c"
 # Factoring default headers for most tests.
 
 ac_unique_file="driver/subprocs.c"
 # Factoring default headers for most tests.
@@ -635,6 +619,7 @@ ac_includes_default="\
 # include <unistd.h>
 #endif"
 
 # include <unistd.h>
 #endif"
 
+ac_header_list=
 ac_subst_vars='LTLIBOBJS
 LIBOBJS
 DEPEND_DEFINES
 ac_subst_vars='LTLIBOBJS
 LIBOBJS
 DEPEND_DEFINES
@@ -800,6 +785,7 @@ bindir
 program_transform_name
 prefix
 exec_prefix
 program_transform_name
 prefix
 exec_prefix
+PACKAGE_URL
 PACKAGE_BUGREPORT
 PACKAGE_STRING
 PACKAGE_VERSION
 PACKAGE_BUGREPORT
 PACKAGE_STRING
 PACKAGE_VERSION
@@ -920,8 +906,9 @@ do
   fi
 
   case $ac_option in
   fi
 
   case $ac_option in
-  *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
-  *)   ac_optarg=yes ;;
+  *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+  *=)   ac_optarg= ;;
+  *)    ac_optarg=yes ;;
   esac
 
   # Accept the important Cygnus configure options, so we can diagnose typos.
   esac
 
   # Accept the important Cygnus configure options, so we can diagnose typos.
@@ -966,8 +953,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
     ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2
-   { (exit 1); exit 1; }; }
+      as_fn_error $? "invalid feature name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -993,8 +979,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
     ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2
-   { (exit 1); exit 1; }; }
+      as_fn_error $? "invalid feature name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1198,8 +1183,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
     ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2
-   { (exit 1); exit 1; }; }
+      as_fn_error $? "invalid package name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1215,8 +1199,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
     ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2
-   { (exit 1); exit 1; }; }
+      as_fn_error $? "invalid package name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1246,17 +1229,17 @@ do
   | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
     x_libraries=$ac_optarg ;;
 
   | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
     x_libraries=$ac_optarg ;;
 
-  -*) { $as_echo "$as_me: error: unrecognized option: $ac_option
-Try \`$0 --help' for more information." >&2
-   { (exit 1); exit 1; }; }
+  -*) as_fn_error $? "unrecognized option: \`$ac_option'
+Try \`$0 --help' for more information"
     ;;
 
   *=*)
     ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
     # Reject names that are not valid shell variable names.
     ;;
 
   *=*)
     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 &&
-      { $as_echo "$as_me: error: invalid variable name: $ac_envvar" >&2
-   { (exit 1); exit 1; }; }
+    case $ac_envvar in #(
+      '' | [0-9]* | *[!_$as_cr_alnum]* )
+      as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
+    esac
     eval $ac_envvar=\$ac_optarg
     export $ac_envvar ;;
 
     eval $ac_envvar=\$ac_optarg
     export $ac_envvar ;;
 
@@ -1265,7 +1248,7 @@ Try \`$0 --help' for more information." >&2
     $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
     expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
       $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
     $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
     expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
       $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
-    : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+    : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
     ;;
 
   esac
     ;;
 
   esac
@@ -1273,15 +1256,13 @@ done
 
 if test -n "$ac_prev"; then
   ac_option=--`echo $ac_prev | sed 's/_/-/g'`
 
 if test -n "$ac_prev"; then
   ac_option=--`echo $ac_prev | sed 's/_/-/g'`
-  { $as_echo "$as_me: error: missing argument to $ac_option" >&2
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "missing argument to $ac_option"
 fi
 
 if test -n "$ac_unrecognized_opts"; then
   case $enable_option_checking in
     no) ;;
 fi
 
 if test -n "$ac_unrecognized_opts"; then
   case $enable_option_checking in
     no) ;;
-    fatal) { $as_echo "$as_me: error: unrecognized options: $ac_unrecognized_opts" >&2
-   { (exit 1); exit 1; }; } ;;
+    fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
     *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
   esac
 fi
     *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
   esac
 fi
@@ -1304,8 +1285,7 @@ do
     [\\/$]* | ?:[\\/]* )  continue;;
     NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
   esac
     [\\/$]* | ?:[\\/]* )  continue;;
     NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
   esac
-  { $as_echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
 done
 
 # There might be people who depend on the old broken behavior: `$host'
 done
 
 # There might be people who depend on the old broken behavior: `$host'
@@ -1319,8 +1299,6 @@ target=$target_alias
 if test "x$host_alias" != x; then
   if test "x$build_alias" = x; then
     cross_compiling=maybe
 if test "x$host_alias" != x; then
   if test "x$build_alias" = x; then
     cross_compiling=maybe
-    $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
-    If a cross compiler is detected then cross compile mode will be used." >&2
   elif test "x$build_alias" != "x$host_alias"; then
     cross_compiling=yes
   fi
   elif test "x$build_alias" != "x$host_alias"; then
     cross_compiling=yes
   fi
@@ -1335,11 +1313,9 @@ test "$silent" = yes && exec 6>/dev/null
 ac_pwd=`pwd` && test -n "$ac_pwd" &&
 ac_ls_di=`ls -di .` &&
 ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
 ac_pwd=`pwd` && test -n "$ac_pwd" &&
 ac_ls_di=`ls -di .` &&
 ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
-  { $as_echo "$as_me: error: working directory cannot be determined" >&2
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "working directory cannot be determined"
 test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
 test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
-  { $as_echo "$as_me: error: pwd does not report name of working directory" >&2
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "pwd does not report name of working directory"
 
 
 # Find the source files, if location was not specified.
 
 
 # Find the source files, if location was not specified.
@@ -1378,13 +1354,11 @@ else
 fi
 if test ! -r "$srcdir/$ac_unique_file"; then
   test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
 fi
 if test ! -r "$srcdir/$ac_unique_file"; then
   test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
-  { $as_echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
 fi
 ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
 ac_abs_confdir=`(
 fi
 ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
 ac_abs_confdir=`(
-       cd "$srcdir" && test -r "./$ac_unique_file" || { $as_echo "$as_me: error: $ac_msg" >&2
-   { (exit 1); exit 1; }; }
+       cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
        pwd)`
 # When building in place, set srcdir=.
 if test "$ac_abs_confdir" = "$ac_pwd"; then
        pwd)`
 # When building in place, set srcdir=.
 if test "$ac_abs_confdir" = "$ac_pwd"; then
@@ -1426,7 +1400,7 @@ Configuration:
       --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
       --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
+  -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
       --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
@@ -1563,7 +1537,7 @@ Some influential environment variables:
   LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
               nonstandard directory <lib dir>
   LIBS        libraries to pass to the linker, e.g. -l<library>
   LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
               nonstandard directory <lib dir>
   LIBS        libraries to pass to the linker, e.g. -l<library>
-  CPPFLAGS    C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
+  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
               you have headers in a nonstandard directory <include dir>
   CPP         C preprocessor
   XMKMF       Path to xmkmf, Makefile generator for X Window System
               you have headers in a nonstandard directory <include dir>
   CPP         C preprocessor
   XMKMF       Path to xmkmf, Makefile generator for X Window System
@@ -1571,6 +1545,7 @@ Some influential environment variables:
 Use these variables to override the choices made by `configure' or to help
 it to find libraries and programs with nonstandard names/locations.
 
 Use these variables to override the choices made by `configure' or to help
 it to find libraries and programs with nonstandard names/locations.
 
+Report bugs to the package provider.
 _ACEOF
 ac_status=$?
 fi
 _ACEOF
 ac_status=$?
 fi
@@ -1634,73 +1609,478 @@ test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
 configure
 if $ac_init_version; then
   cat <<\_ACEOF
 configure
-generated by GNU Autoconf 2.63
+generated by GNU Autoconf 2.69
 
 
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
 This configure script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it.
 _ACEOF
   exit
 fi
 This configure script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it.
 _ACEOF
   exit
 fi
-cat >config.log <<_ACEOF
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-
-It was created by $as_me, which was
-generated by GNU Autoconf 2.63.  Invocation command line was
 
 
-  $ $0 $@
+## ------------------------ ##
+## Autoconf initialization. ##
+## ------------------------ ##
 
 
-_ACEOF
-exec 5>>config.log
+# ac_fn_c_try_compile LINENO
+# --------------------------
+# Try to compile conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_compile ()
 {
 {
-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`
-/usr/bin/hostinfo      = `(/usr/bin/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`
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  rm -rf conftest.$ac_objext
+  if { { ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_compile") 2>conftest.err
+  ac_status=$?
+  if test -s conftest.err; then
+    grep -v '^ *+' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+    mv -f conftest.er1 conftest.err
+  fi
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then :
+  ac_retval=0
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
 
 
-_ASUNAME
+       ac_retval=1
+fi
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  $as_echo "PATH: $as_dir"
-done
-IFS=$as_save_IFS
+} # ac_fn_c_try_compile
 
 
-} >&5
+# ac_fn_c_try_run LINENO
+# ----------------------
+# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
+# that executables *can* be run.
+ac_fn_c_try_run ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  if { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
+  { { case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; }; then :
+  ac_retval=0
+else
+  $as_echo "$as_me: program exited with status $ac_status" >&5
+       $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
 
 
-cat >&5 <<_ACEOF
+       ac_retval=$ac_status
+fi
+  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 
+} # ac_fn_c_try_run
 
 
-## ----------- ##
-## Core tests. ##
-## ----------- ##
+# ac_fn_c_try_cpp LINENO
+# ----------------------
+# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_cpp ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  if { { ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
+  ac_status=$?
+  if test -s conftest.err; then
+    grep -v '^ *+' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+    mv -f conftest.er1 conftest.err
+  fi
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } > conftest.i && {
+        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       }; then :
+  ac_retval=0
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
 
 
-_ACEOF
+    ac_retval=1
+fi
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 
+} # ac_fn_c_try_cpp
 
 
-# Keep a trace of the command line.
+# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
+# -------------------------------------------------------
+# Tests whether HEADER exists, giving a warning if it cannot be compiled using
+# the include files in INCLUDES and setting the cache variable VAR
+# accordingly.
+ac_fn_c_check_header_mongrel ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  if eval \${$3+:} false; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+  $as_echo_n "(cached) " >&6
+fi
+eval ac_res=\$$3
+              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+else
+  # Is the header compilable?
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
+$as_echo_n "checking $2 usability... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+#include <$2>
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_header_compiler=yes
+else
+  ac_header_compiler=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
+$as_echo_n "checking $2 presence... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <$2>
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+  ac_header_preproc=yes
+else
+  ac_header_preproc=no
+fi
+rm -rf conftest.err conftest.i conftest.$ac_ext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
+$as_echo "$ac_header_preproc" >&6; }
+
+# So?  What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
+  yes:no: )
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
+    ;;
+  no:yes:* )
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: $2:     check for missing prerequisite headers?" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
+    ;;
+esac
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  eval "$3=\$ac_header_compiler"
+fi
+eval ac_res=\$$3
+              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+fi
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_c_check_header_mongrel
+
+# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
+# -------------------------------------------------------
+# Tests whether HEADER exists and can be compiled using the include files in
+# INCLUDES, setting the cache variable VAR accordingly.
+ac_fn_c_check_header_compile ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+#include <$2>
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  eval "$3=yes"
+else
+  eval "$3=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_c_check_header_compile
+
+# ac_fn_c_check_type LINENO TYPE VAR INCLUDES
+# -------------------------------------------
+# Tests whether TYPE exists after having included INCLUDES, setting cache
+# variable VAR accordingly.
+ac_fn_c_check_type ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  eval "$3=no"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+int
+main ()
+{
+if (sizeof ($2))
+        return 0;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+int
+main ()
+{
+if (sizeof (($2)))
+           return 0;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+else
+  eval "$3=yes"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_c_check_type
+
+# ac_fn_c_try_link LINENO
+# -----------------------
+# Try to link conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_link ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  rm -rf conftest.$ac_objext conftest$ac_exeext
+  if { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>conftest.err
+  ac_status=$?
+  if test -s conftest.err; then
+    grep -v '^ *+' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+    mv -f conftest.er1 conftest.err
+  fi
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        test -x conftest$ac_exeext
+       }; then :
+  ac_retval=0
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_retval=1
+fi
+  # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
+  # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
+  # interfere with the next link command; also delete a directory that is
+  # left behind by Apple's compiler.  We do this before executing the actions.
+  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_link
+
+# ac_fn_c_check_func LINENO FUNC VAR
+# ----------------------------------
+# Tests whether FUNC exists, setting the cache variable VAR accordingly
+ac_fn_c_check_func ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
+#define $2 innocuous_$2
+
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char $2 (); below.
+    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+    <limits.h> exists even on freestanding compilers.  */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $2
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $2 ();
+/* The GNU C library defines this 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_$2 || defined __stub___$2
+choke me
+#endif
+
+int
+main ()
+{
+return $2 ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  eval "$3=yes"
+else
+  eval "$3=no"
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_c_check_func
+cat >config.log <<_ACEOF
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+
+It was created by $as_me, which was
+generated by GNU Autoconf 2.69.  Invocation command line was
+
+  $ $0 $@
+
+_ACEOF
+exec 5>>config.log
+{
+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`
+/usr/bin/hostinfo      = `(/usr/bin/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`
+
+_ASUNAME
+
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    $as_echo "PATH: $as_dir"
+  done
+IFS=$as_save_IFS
+
+} >&5
+
+cat >&5 <<_ACEOF
+
+
+## ----------- ##
+## Core tests. ##
+## ----------- ##
+
+_ACEOF
+
+
+# Keep a trace of the command line.
 # Strip out --no-create and --no-recursion so they do not pile up.
 # Strip out --silent because we don't want to record it for future runs.
 # Also quote any args containing shell meta-characters.
 # Strip out --no-create and --no-recursion so they do not pile up.
 # Strip out --silent because we don't want to record it for future runs.
 # Also quote any args containing shell meta-characters.
@@ -1722,9 +2102,9 @@ do
       ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
     esac
     case $ac_pass in
       ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
     esac
     case $ac_pass in
-    1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
+    1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
     2)
     2)
-      ac_configure_args1="$ac_configure_args1 '$ac_arg'"
+      as_fn_append ac_configure_args1 " '$ac_arg'"
       if test $ac_must_keep_next = true; then
        ac_must_keep_next=false # Got value, back to normal.
       else
       if test $ac_must_keep_next = true; then
        ac_must_keep_next=false # Got value, back to normal.
       else
@@ -1740,13 +2120,13 @@ do
          -* ) ac_must_keep_next=true ;;
        esac
       fi
          -* ) ac_must_keep_next=true ;;
        esac
       fi
-      ac_configure_args="$ac_configure_args '$ac_arg'"
+      as_fn_append ac_configure_args " '$ac_arg'"
       ;;
     esac
   done
 done
       ;;
     esac
   done
 done
-$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; }
-$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; }
+{ ac_configure_args0=; unset ac_configure_args0;}
+{ ac_configure_args1=; unset ac_configure_args1;}
 
 # When interrupted or exit'd, cleanup temporary files, and complete
 # config.log.  We remove comments because anyway the quotes in there
 
 # When interrupted or exit'd, cleanup temporary files, and complete
 # config.log.  We remove comments because anyway the quotes in there
@@ -1758,11 +2138,9 @@ trap 'exit_status=$?
   {
     echo
 
   {
     echo
 
-    cat <<\_ASBOX
-## ---------------- ##
+    $as_echo "## ---------------- ##
 ## Cache variables. ##
 ## Cache variables. ##
-## ---------------- ##
-_ASBOX
+## ---------------- ##"
     echo
     # The following way of writing the cache mishandles newlines in values,
 (
     echo
     # The following way of writing the cache mishandles newlines in values,
 (
@@ -1771,13 +2149,13 @@ _ASBOX
     case $ac_val in #(
     *${as_nl}*)
       case $ac_var in #(
     case $ac_val in #(
     *${as_nl}*)
       case $ac_var in #(
-      *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5
+      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
       esac
       case $ac_var in #(
       _ | IFS | as_nl) ;; #(
       BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
       esac
       case $ac_var in #(
       _ | IFS | as_nl) ;; #(
       BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
-      *) $as_unset $ac_var ;;
+      *) { eval $ac_var=; unset $ac_var;} ;;
       esac ;;
     esac
   done
       esac ;;
     esac
   done
@@ -1796,11 +2174,9 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
 )
     echo
 
 )
     echo
 
-    cat <<\_ASBOX
-## ----------------- ##
+    $as_echo "## ----------------- ##
 ## Output variables. ##
 ## Output variables. ##
-## ----------------- ##
-_ASBOX
+## ----------------- ##"
     echo
     for ac_var in $ac_subst_vars
     do
     echo
     for ac_var in $ac_subst_vars
     do
@@ -1813,11 +2189,9 @@ _ASBOX
     echo
 
     if test -n "$ac_subst_files"; then
     echo
 
     if test -n "$ac_subst_files"; then
-      cat <<\_ASBOX
-## ------------------- ##
+      $as_echo "## ------------------- ##
 ## File substitutions. ##
 ## File substitutions. ##
-## ------------------- ##
-_ASBOX
+## ------------------- ##"
       echo
       for ac_var in $ac_subst_files
       do
       echo
       for ac_var in $ac_subst_files
       do
@@ -1831,11 +2205,9 @@ _ASBOX
     fi
 
     if test -s confdefs.h; then
     fi
 
     if test -s confdefs.h; then
-      cat <<\_ASBOX
-## ----------- ##
+      $as_echo "## ----------- ##
 ## confdefs.h. ##
 ## confdefs.h. ##
-## ----------- ##
-_ASBOX
+## ----------- ##"
       echo
       cat confdefs.h
       echo
       echo
       cat confdefs.h
       echo
@@ -1849,46 +2221,53 @@ _ASBOX
     exit $exit_status
 ' 0
 for ac_signal in 1 2 13 15; do
     exit $exit_status
 ' 0
 for ac_signal in 1 2 13 15; do
-  trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
+  trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
 done
 ac_signal=0
 
 # confdefs.h avoids OS command line length limits that DEFS can exceed.
 rm -f -r conftest* confdefs.h
 
 done
 ac_signal=0
 
 # confdefs.h avoids OS command line length limits that DEFS can exceed.
 rm -f -r conftest* confdefs.h
 
+$as_echo "/* confdefs.h */" > confdefs.h
+
 # Predefined preprocessor variables.
 
 cat >>confdefs.h <<_ACEOF
 #define PACKAGE_NAME "$PACKAGE_NAME"
 _ACEOF
 
 # Predefined preprocessor variables.
 
 cat >>confdefs.h <<_ACEOF
 #define PACKAGE_NAME "$PACKAGE_NAME"
 _ACEOF
 
-
 cat >>confdefs.h <<_ACEOF
 #define PACKAGE_TARNAME "$PACKAGE_TARNAME"
 _ACEOF
 
 cat >>confdefs.h <<_ACEOF
 #define PACKAGE_TARNAME "$PACKAGE_TARNAME"
 _ACEOF
 
-
 cat >>confdefs.h <<_ACEOF
 #define PACKAGE_VERSION "$PACKAGE_VERSION"
 _ACEOF
 
 cat >>confdefs.h <<_ACEOF
 #define PACKAGE_VERSION "$PACKAGE_VERSION"
 _ACEOF
 
-
 cat >>confdefs.h <<_ACEOF
 #define PACKAGE_STRING "$PACKAGE_STRING"
 _ACEOF
 
 cat >>confdefs.h <<_ACEOF
 #define PACKAGE_STRING "$PACKAGE_STRING"
 _ACEOF
 
-
 cat >>confdefs.h <<_ACEOF
 #define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
 _ACEOF
 
 cat >>confdefs.h <<_ACEOF
 #define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
 _ACEOF
 
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_URL "$PACKAGE_URL"
+_ACEOF
+
 
 # Let the site file select an alternate cache file if it wants to.
 # Prefer an explicitly selected file to automatically selected ones.
 ac_site_file1=NONE
 ac_site_file2=NONE
 if test -n "$CONFIG_SITE"; then
 
 # Let the site file select an alternate cache file if it wants to.
 # Prefer an explicitly selected file to automatically selected ones.
 ac_site_file1=NONE
 ac_site_file2=NONE
 if test -n "$CONFIG_SITE"; then
-  ac_site_file1=$CONFIG_SITE
+  # We do not want a PATH search for config.site.
+  case $CONFIG_SITE in #((
+    -*)  ac_site_file1=./$CONFIG_SITE;;
+    */*) ac_site_file1=$CONFIG_SITE;;
+    *)   ac_site_file1=./$CONFIG_SITE;;
+  esac
 elif test "x$prefix" != xNONE; then
   ac_site_file1=$prefix/share/config.site
   ac_site_file2=$prefix/etc/config.site
 elif test "x$prefix" != xNONE; then
   ac_site_file1=$prefix/share/config.site
   ac_site_file2=$prefix/etc/config.site
@@ -1899,19 +2278,23 @@ fi
 for ac_site_file in "$ac_site_file1" "$ac_site_file2"
 do
   test "x$ac_site_file" = xNONE && continue
 for ac_site_file in "$ac_site_file1" "$ac_site_file2"
 do
   test "x$ac_site_file" = xNONE && continue
-  if test -r "$ac_site_file"; then
-    { $as_echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
+  if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
 $as_echo "$as_me: loading site script $ac_site_file" >&6;}
     sed 's/^/| /' "$ac_site_file" >&5
 $as_echo "$as_me: loading site script $ac_site_file" >&6;}
     sed 's/^/| /' "$ac_site_file" >&5
-    . "$ac_site_file"
+    . "$ac_site_file" \
+      || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "failed to load site script $ac_site_file
+See \`config.log' for more details" "$LINENO" 5; }
   fi
 done
 
 if test -r "$cache_file"; then
   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
-    { $as_echo "$as_me:$LINENO: loading cache $cache_file" >&5
+  # Some versions of bash will fail to source /dev/null (special files
+  # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
+  if test /dev/null != "$cache_file" && test -f "$cache_file"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
 $as_echo "$as_me: loading cache $cache_file" >&6;}
     case $cache_file in
       [\\/]* | ?:[\\/]* ) . "$cache_file";;
 $as_echo "$as_me: loading cache $cache_file" >&6;}
     case $cache_file in
       [\\/]* | ?:[\\/]* ) . "$cache_file";;
@@ -1919,11 +2302,14 @@ $as_echo "$as_me: loading cache $cache_file" >&6;}
     esac
   fi
 else
     esac
   fi
 else
-  { $as_echo "$as_me:$LINENO: creating cache $cache_file" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
 $as_echo "$as_me: creating cache $cache_file" >&6;}
   >$cache_file
 fi
 
 $as_echo "$as_me: creating cache $cache_file" >&6;}
   >$cache_file
 fi
 
+as_fn_append ac_header_list " stdlib.h"
+as_fn_append ac_header_list " unistd.h"
+as_fn_append ac_header_list " sys/param.h"
 # Check that the precious variables saved in the cache have kept the same
 # value.
 ac_cache_corrupted=false
 # Check that the precious variables saved in the cache have kept the same
 # value.
 ac_cache_corrupted=false
@@ -1934,11 +2320,11 @@ for ac_var in $ac_precious_vars; do
   eval ac_new_val=\$ac_env_${ac_var}_value
   case $ac_old_set,$ac_new_set in
     set,)
   eval ac_new_val=\$ac_env_${ac_var}_value
   case $ac_old_set,$ac_new_set in
     set,)
-      { $as_echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
 $as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
       ac_cache_corrupted=: ;;
     ,set)
 $as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
       ac_cache_corrupted=: ;;
     ,set)
-      { $as_echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
 $as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
       ac_cache_corrupted=: ;;
     ,);;
 $as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
       ac_cache_corrupted=: ;;
     ,);;
@@ -1948,17 +2334,17 @@ $as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
        ac_old_val_w=`echo x $ac_old_val`
        ac_new_val_w=`echo x $ac_new_val`
        if test "$ac_old_val_w" != "$ac_new_val_w"; then
        ac_old_val_w=`echo x $ac_old_val`
        ac_new_val_w=`echo x $ac_new_val`
        if test "$ac_old_val_w" != "$ac_new_val_w"; then
-         { $as_echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
+         { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
 $as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
          ac_cache_corrupted=:
        else
 $as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
          ac_cache_corrupted=:
        else
-         { $as_echo "$as_me:$LINENO: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
+         { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
 $as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
          eval $ac_var=\$ac_old_val
        fi
 $as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
          eval $ac_var=\$ac_old_val
        fi
-       { $as_echo "$as_me:$LINENO:   former value:  \`$ac_old_val'" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}:   former value:  \`$ac_old_val'" >&5
 $as_echo "$as_me:   former value:  \`$ac_old_val'" >&2;}
 $as_echo "$as_me:   former value:  \`$ac_old_val'" >&2;}
-       { $as_echo "$as_me:$LINENO:   current value: \`$ac_new_val'" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}:   current value: \`$ac_new_val'" >&5
 $as_echo "$as_me:   current value: \`$ac_new_val'" >&2;}
       fi;;
   esac
 $as_echo "$as_me:   current value: \`$ac_new_val'" >&2;}
       fi;;
   esac
@@ -1970,35 +2356,20 @@ $as_echo "$as_me:   current value: \`$ac_new_val'" >&2;}
     esac
     case " $ac_configure_args " in
       *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy.
     esac
     case " $ac_configure_args " in
       *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy.
-      *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+      *) as_fn_append ac_configure_args " '$ac_arg'" ;;
     esac
   fi
 done
 if $ac_cache_corrupted; then
     esac
   fi
 done
 if $ac_cache_corrupted; then
-  { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-  { $as_echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
-  { { $as_echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
-$as_echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
 fi
 fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+## -------------------- ##
+## Main body of script. ##
+## -------------------- ##
 
 ac_ext=c
 ac_cpp='$CPP $CPPFLAGS'
 
 ac_ext=c
 ac_cpp='$CPP $CPPFLAGS'
@@ -2025,9 +2396,6 @@ echo "command line was: $0 $@"
 
 
 
 
 
 
-
-
-
 # This only ever existed in X11R4 and X11R5.
 #AH_TEMPLATE([HAVE_XIDLE_EXTENSION],
 #          [Define this if you have the XIDLE extension installed. If you
 # This only ever existed in X11R4 and X11R5.
 #AH_TEMPLATE([HAVE_XIDLE_EXTENSION],
 #          [Define this if you have the XIDLE extension installed. If you
@@ -2166,11 +2534,35 @@ echo "command line was: $0 $@"
 
 
 
 
 
 
+# After checking to see that --srcdir is correct (which AC_INIT does)
+# check for some random other files that come later in the tar file,
+# to make sure everything is here.
+#
+for d in driver utils hacks hacks/glx ; do
+  f=$srcdir/$d/Makefile.in
+  if test \! -r $f ; then
+    echo ""
+    echo "ERROR: The package is incomplete: $f does not exist."
+    echo "       This probably means that your download was truncated."
+    echo ""
+    exit 1
+  fi
+done
 
 
+###############################################################################
+#
+#       Function to figure out how to run the compiler.
+#
+###############################################################################
 
 
 
 
 
 
 
 
+###############################################################################
+#
+#       Check for availability of various gcc command-line options.
+#
+###############################################################################
 
 
 
 
 
 
@@ -2178,89 +2570,9 @@ echo "command line was: $0 $@"
 
 
 
 
 
 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# After checking to see that --srcdir is correct (which AC_INIT does)
-# check for some random other files that come later in the tar file,
-# to make sure everything is here.
-#
-for d in driver utils hacks hacks/glx ; do
-  f=$srcdir/$d/Makefile.in
-  if test \! -r $f ; then
-    echo ""
-    echo "ERROR: The package is incomplete: $f does not exist."
-    echo "       This probably means that your download was truncated."
-    echo ""
-    exit 1
-  fi
-done
-
-###############################################################################
-#
-#       Function to figure out how to run the compiler.
-#
-###############################################################################
-
-
-
-
-###############################################################################
-#
-#       Check for availability of various gcc command-line options.
-#
-###############################################################################
-
-
-
-
-
-
-
-# Need to disable Objective C extensions in ANSI C on MacOS X to work
-# around an Apple-specific gcc bug.
-#
+# Need to disable Objective C extensions in ANSI C on MacOS X to work
+# around an Apple-specific gcc bug.
+#
 
 
 ###############################################################################
 
 
 ###############################################################################
@@ -2359,7 +2671,7 @@ perl_version_cmd='print $]'
 
 
 # Check whether --with-x-app-defaults was given.
 
 
 # Check whether --with-x-app-defaults was given.
-if test "${with_x_app_defaults+set}" = set; then
+if test "${with_x_app_defaults+set}" = set; then :
   withval=$with_x_app_defaults; ac_cv_x_app_defaults="$withval"
 else
   eval ac_x_app_defaults="$withval"
   withval=$with_x_app_defaults; ac_cv_x_app_defaults="$withval"
 else
   eval ac_x_app_defaults="$withval"
@@ -2464,9 +2776,7 @@ for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
   fi
 done
 if test -z "$ac_aux_dir"; then
   fi
 done
 if test -z "$ac_aux_dir"; then
-  { { $as_echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5
-$as_echo "$as_me: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&2;}
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
 fi
 
 # These three variables are undocumented and unsupported,
 fi
 
 # These three variables are undocumented and unsupported,
@@ -2480,35 +2790,27 @@ ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.
 
 # Make sure we can run config.sub.
 $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
 
 # Make sure we can run config.sub.
 $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
-  { { $as_echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5
-$as_echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;}
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
 
 
-{ $as_echo "$as_me:$LINENO: checking build system type" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
 $as_echo_n "checking build system type... " >&6; }
 $as_echo_n "checking build system type... " >&6; }
-if test "${ac_cv_build+set}" = set; then
+if ${ac_cv_build+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_build_alias=$build_alias
 test "x$ac_build_alias" = x &&
   ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
 test "x$ac_build_alias" = x &&
   $as_echo_n "(cached) " >&6
 else
   ac_build_alias=$build_alias
 test "x$ac_build_alias" = x &&
   ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
 test "x$ac_build_alias" = x &&
-  { { $as_echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
-$as_echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
 ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
 ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
-  { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5
-$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;}
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
 
 fi
 
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_build" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
 $as_echo "$ac_cv_build" >&6; }
 case $ac_cv_build in
 *-*-*) ;;
 $as_echo "$ac_cv_build" >&6; }
 case $ac_cv_build in
 *-*-*) ;;
-*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical build" >&5
-$as_echo "$as_me: error: invalid value of canonical build" >&2;}
-   { (exit 1); exit 1; }; };;
+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
 esac
 build=$ac_cv_build
 ac_save_IFS=$IFS; IFS='-'
 esac
 build=$ac_cv_build
 ac_save_IFS=$IFS; IFS='-'
@@ -2524,28 +2826,24 @@ IFS=$ac_save_IFS
 case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
 
 
 case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
 
 
-{ $as_echo "$as_me:$LINENO: checking host system type" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
 $as_echo_n "checking host system type... " >&6; }
 $as_echo_n "checking host system type... " >&6; }
-if test "${ac_cv_host+set}" = set; then
+if ${ac_cv_host+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "x$host_alias" = x; then
   ac_cv_host=$ac_cv_build
 else
   ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
   $as_echo_n "(cached) " >&6
 else
   if test "x$host_alias" = x; then
   ac_cv_host=$ac_cv_build
 else
   ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
-    { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5
-$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;}
-   { (exit 1); exit 1; }; }
+    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
 fi
 
 fi
 fi
 
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_host" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
 $as_echo "$ac_cv_host" >&6; }
 case $ac_cv_host in
 *-*-*) ;;
 $as_echo "$ac_cv_host" >&6; }
 case $ac_cv_host in
 *-*-*) ;;
-*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical host" >&5
-$as_echo "$as_me: error: invalid value of canonical host" >&2;}
-   { (exit 1); exit 1; }; };;
+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
 esac
 host=$ac_cv_host
 ac_save_IFS=$IFS; IFS='-'
 esac
 host=$ac_cv_host
 ac_save_IFS=$IFS; IFS='-'
@@ -2561,7 +2859,6 @@ IFS=$ac_save_IFS
 case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
 
 
 case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
 
 
-
 ac_ext=c
 ac_cpp='$CPP $CPPFLAGS'
 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
 ac_ext=c
 ac_cpp='$CPP $CPPFLAGS'
 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@@ -2570,9 +2867,9 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
 set dummy ${ac_tool_prefix}gcc; ac_word=$2
 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
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -2583,24 +2880,24 @@ for as_dir in $PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}gcc"
     ac_cv_prog_CC="${ac_tool_prefix}gcc"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
     break 2
   fi
 done
-done
+  done
 IFS=$as_save_IFS
 
 fi
 fi
 CC=$ac_cv_prog_CC
 if test -n "$CC"; then
 IFS=$as_save_IFS
 
 fi
 fi
 CC=$ac_cv_prog_CC
 if test -n "$CC"; then
-  { $as_echo "$as_me:$LINENO: result: $CC" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
 $as_echo "$CC" >&6; }
 else
 $as_echo "$CC" >&6; }
 else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
 
 $as_echo "no" >&6; }
 fi
 
@@ -2610,9 +2907,9 @@ 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
   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
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
@@ -2623,24 +2920,24 @@ for as_dir in $PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="gcc"
     ac_cv_prog_ac_ct_CC="gcc"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
     break 2
   fi
 done
-done
+  done
 IFS=$as_save_IFS
 
 fi
 fi
 ac_ct_CC=$ac_cv_prog_ac_ct_CC
 if test -n "$ac_ct_CC"; then
 IFS=$as_save_IFS
 
 fi
 fi
 ac_ct_CC=$ac_cv_prog_ac_ct_CC
 if test -n "$ac_ct_CC"; then
-  { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
 $as_echo "$ac_ct_CC" >&6; }
 else
 $as_echo "$ac_ct_CC" >&6; }
 else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
 
 $as_echo "no" >&6; }
 fi
 
@@ -2649,7 +2946,7 @@ fi
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
-{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
 ac_tool_warned=yes ;;
 esac
 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
 ac_tool_warned=yes ;;
 esac
@@ -2663,9 +2960,9 @@ 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
           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
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -2676,24 +2973,24 @@ for as_dir in $PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}cc"
     ac_cv_prog_CC="${ac_tool_prefix}cc"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
     break 2
   fi
 done
-done
+  done
 IFS=$as_save_IFS
 
 fi
 fi
 CC=$ac_cv_prog_CC
 if test -n "$CC"; then
 IFS=$as_save_IFS
 
 fi
 fi
 CC=$ac_cv_prog_CC
 if test -n "$CC"; then
-  { $as_echo "$as_me:$LINENO: result: $CC" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
 $as_echo "$CC" >&6; }
 else
 $as_echo "$CC" >&6; }
 else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
 
 $as_echo "no" >&6; }
 fi
 
@@ -2703,9 +3000,9 @@ 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
 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
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -2717,18 +3014,18 @@ for as_dir in $PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
        ac_prog_rejected=yes
        continue
      fi
     ac_cv_prog_CC="cc"
     if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
        ac_prog_rejected=yes
        continue
      fi
     ac_cv_prog_CC="cc"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
     break 2
   fi
 done
-done
+  done
 IFS=$as_save_IFS
 
 if test $ac_prog_rejected = yes; then
 IFS=$as_save_IFS
 
 if test $ac_prog_rejected = yes; then
@@ -2747,10 +3044,10 @@ fi
 fi
 CC=$ac_cv_prog_CC
 if test -n "$CC"; then
 fi
 CC=$ac_cv_prog_CC
 if test -n "$CC"; then
-  { $as_echo "$as_me:$LINENO: result: $CC" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
 $as_echo "$CC" >&6; }
 else
 $as_echo "$CC" >&6; }
 else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
 
 $as_echo "no" >&6; }
 fi
 
@@ -2762,9 +3059,9 @@ if test -z "$CC"; then
   do
     # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
   do
     # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -2775,24 +3072,24 @@ for as_dir in $PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
     ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
     break 2
   fi
 done
-done
+  done
 IFS=$as_save_IFS
 
 fi
 fi
 CC=$ac_cv_prog_CC
 if test -n "$CC"; then
 IFS=$as_save_IFS
 
 fi
 fi
 CC=$ac_cv_prog_CC
 if test -n "$CC"; then
-  { $as_echo "$as_me:$LINENO: result: $CC" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
 $as_echo "$CC" >&6; }
 else
 $as_echo "$CC" >&6; }
 else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
 
 $as_echo "no" >&6; }
 fi
 
@@ -2806,9 +3103,9 @@ if test -z "$CC"; then
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
@@ -2819,24 +3116,24 @@ for as_dir in $PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="$ac_prog"
     ac_cv_prog_ac_ct_CC="$ac_prog"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
     break 2
   fi
 done
-done
+  done
 IFS=$as_save_IFS
 
 fi
 fi
 ac_ct_CC=$ac_cv_prog_ac_ct_CC
 if test -n "$ac_ct_CC"; then
 IFS=$as_save_IFS
 
 fi
 fi
 ac_ct_CC=$ac_cv_prog_ac_ct_CC
 if test -n "$ac_ct_CC"; then
-  { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
 $as_echo "$ac_ct_CC" >&6; }
 else
 $as_echo "$ac_ct_CC" >&6; }
 else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
 
 $as_echo "no" >&6; }
 fi
 
@@ -2849,7 +3146,7 @@ done
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
-{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
 ac_tool_warned=yes ;;
 esac
 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
 ac_tool_warned=yes ;;
 esac
@@ -2860,57 +3157,37 @@ fi
 fi
 
 
 fi
 
 
-test -z "$CC" && { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
-See \`config.log' for more details." >&5
-$as_echo "$as_me: error: no acceptable C compiler found in \$PATH
-See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }; }
+as_fn_error $? "no acceptable C compiler found in \$PATH
+See \`config.log' for more details" "$LINENO" 5; }
 
 # Provide some information about the compiler.
 
 # Provide some information about the compiler.
-$as_echo "$as_me:$LINENO: checking for C compiler version" >&5
+$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
 set X $ac_compile
 ac_compiler=$2
 set X $ac_compile
 ac_compiler=$2
-{ (ac_try="$ac_compiler --version >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compiler --version >&5") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }
-{ (ac_try="$ac_compiler -v >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compiler -v >&5") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }
-{ (ac_try="$ac_compiler -V >&5"
+for ac_option in --version -v -V -qversion; do
+  { { ac_try="$ac_compiler $ac_option >&5"
 case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
 case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compiler -V >&5") 2>&5
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_compiler $ac_option >&5") 2>conftest.err
   ac_status=$?
   ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }
+  if test -s conftest.err; then
+    sed '10a\
+... rest of stderr output deleted ...
+         10q' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+  fi
+  rm -rf conftest.er1 conftest.err
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+done
 
 
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
 /* end confdefs.h.  */
 
 int
@@ -2926,8 +3203,8 @@ ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
 # Try to create an executable without -o first, disregard a.out.
 # It will help us diagnose broken compilers, and finding out an intuition
 # of exeext.
 # 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.
-{ $as_echo "$as_me:$LINENO: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
+$as_echo_n "checking whether the C compiler works... " >&6; }
 ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
 
 # The possible output files:
 ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
 
 # The possible output files:
@@ -2943,17 +3220,17 @@ do
 done
 rm -f $ac_rmfiles
 
 done
 rm -f $ac_rmfiles
 
-if { (ac_try="$ac_link_default"
+if { ac_try="$ac_link_default"
 case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
 case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
   (eval "$ac_link_default") 2>&5
   ac_status=$?
   (eval "$ac_link_default") 2>&5
   ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then :
   # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
 # So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
 # in a Makefile.  We should not override ac_cv_exeext if it was cached,
   # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
 # So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
 # in a Makefile.  We should not override ac_cv_exeext if it was cached,
@@ -2970,7 +3247,7 @@ do
        # certainly right.
        break;;
     *.* )
        # certainly right.
        break;;
     *.* )
-        if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
+       if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
        then :; else
           ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
        fi
        then :; else
           ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
        fi
@@ -2989,84 +3266,41 @@ test "$ac_cv_exeext" = no && ac_cv_exeext=
 else
   ac_file=''
 fi
 else
   ac_file=''
 fi
-
-{ $as_echo "$as_me:$LINENO: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
-if test -z "$ac_file"; then
-  $as_echo "$as_me: failed program was:" >&5
+if test -z "$ac_file"; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+$as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 sed 's/^/| /' conftest.$ac_ext >&5
 
-{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: C compiler cannot create executables
-See \`config.log' for more details." >&5
-$as_echo "$as_me: error: C compiler cannot create executables
-See \`config.log' for more details." >&2;}
-   { (exit 77); exit 77; }; }; }
+as_fn_error 77 "C compiler cannot create executables
+See \`config.log' for more details" "$LINENO" 5; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
 fi
 fi
-
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
+$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
+$as_echo "$ac_file" >&6; }
 ac_exeext=$ac_cv_exeext
 
 ac_exeext=$ac_cv_exeext
 
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:$LINENO: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-# FIXME: These cross compiler hacks should be removed for Autoconf 3.0
-# If not cross compiling, check that we can run a simple program.
-if test "$cross_compiling" != yes; then
-  if { ac_try='./$ac_file'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-    cross_compiling=no
-  else
-    if test "$cross_compiling" = maybe; then
-       cross_compiling=yes
-    else
-       { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." >&5
-$as_echo "$as_me: error: cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }; }
-    fi
-  fi
-fi
-{ $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
 rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
 ac_clean_files=$ac_clean_files_save
 rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
 ac_clean_files=$ac_clean_files_save
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-{ $as_echo "$as_me:$LINENO: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
-{ $as_echo "$as_me:$LINENO: checking for suffix of executables" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
 $as_echo_n "checking for suffix of executables... " >&6; }
 $as_echo_n "checking for suffix of executables... " >&6; }
-if { (ac_try="$ac_link"
+if { ac_try="$ac_link"
 case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
 case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
   (eval "$ac_link") 2>&5
   ac_status=$?
   (eval "$ac_link") 2>&5
   ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; 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
   # 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
@@ -3081,32 +3315,83 @@ for ac_file in conftest.exe conftest conftest.*; do
   esac
 done
 else
   esac
 done
 else
-  { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details." >&5
-$as_echo "$as_me: error: cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }; }
+as_fn_error $? "cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details" "$LINENO" 5; }
 fi
 fi
-
-rm -rf conftest$ac_cv_exeext
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
+rm -rf conftest conftest$ac_cv_exeext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
 $as_echo "$ac_cv_exeext" >&6; }
 
 rm -rf conftest.$ac_ext
 EXEEXT=$ac_cv_exeext
 ac_exeext=$EXEEXT
 $as_echo "$ac_cv_exeext" >&6; }
 
 rm -rf conftest.$ac_ext
 EXEEXT=$ac_cv_exeext
 ac_exeext=$EXEEXT
-{ $as_echo "$as_me:$LINENO: checking for suffix of object files" >&5
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+FILE *f = fopen ("conftest.out", "w");
+ return ferror (f) || fclose (f) != 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+ac_clean_files="$ac_clean_files conftest.out"
+# Check that the compiler produces executables we can run.  If not, either
+# the compiler is broken, or we cross compile.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
+$as_echo_n "checking whether we are cross compiling... " >&6; }
+if test "$cross_compiling" != yes; then
+  { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+  if { ac_try='./conftest$ac_cv_exeext'
+  { { case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; }; then
+    cross_compiling=no
+  else
+    if test "$cross_compiling" = maybe; then
+       cross_compiling=yes
+    else
+       { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details" "$LINENO" 5; }
+    fi
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
+$as_echo "$cross_compiling" >&6; }
+
+rm -rf conftest.$ac_ext conftest$ac_cv_exeext conftest.out
+ac_clean_files=$ac_clean_files_save
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
 $as_echo_n "checking for suffix of object files... " >&6; }
 $as_echo_n "checking for suffix of object files... " >&6; }
-if test "${ac_cv_objext+set}" = set; then
+if ${ac_cv_objext+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   $as_echo_n "(cached) " >&6
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
 /* end confdefs.h.  */
 
 int
@@ -3118,17 +3403,17 @@ main ()
 }
 _ACEOF
 rm -rf conftest.o conftest.obj
 }
 _ACEOF
 rm -rf conftest.o conftest.obj
-if { (ac_try="$ac_compile"
+if { ac_try="$ac_compile"
 case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
 case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
   (eval "$ac_compile") 2>&5
   ac_status=$?
   (eval "$ac_compile") 2>&5
   ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then :
   for ac_file in conftest.o conftest.obj conftest.*; do
   test -f "$ac_file" || continue;
   case $ac_file in
   for ac_file in conftest.o conftest.obj conftest.*; do
   test -f "$ac_file" || continue;
   case $ac_file in
@@ -3141,31 +3426,23 @@ else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." >&5
-$as_echo "$as_me: error: cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }; }
+as_fn_error $? "cannot compute suffix of object files: cannot compile
+See \`config.log' for more details" "$LINENO" 5; }
 fi
 fi
-
 rm -rf conftest.$ac_cv_objext conftest.$ac_ext
 fi
 rm -rf conftest.$ac_cv_objext conftest.$ac_ext
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
 $as_echo "$ac_cv_objext" >&6; }
 OBJEXT=$ac_cv_objext
 ac_objext=$OBJEXT
 $as_echo "$ac_cv_objext" >&6; }
 OBJEXT=$ac_cv_objext
 ac_objext=$OBJEXT
-{ $as_echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if test "${ac_cv_c_compiler_gnu+set}" = set; then
+if ${ac_cv_c_compiler_gnu+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   $as_echo_n "(cached) " >&6
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
 /* end confdefs.h.  */
 
 int
@@ -3179,37 +3456,16 @@ main ()
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+if ac_fn_c_try_compile "$LINENO"; then :
   ac_compiler_gnu=yes
 else
   ac_compiler_gnu=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_compiler_gnu=no
+  ac_compiler_gnu=no
 fi
 fi
-
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 ac_cv_c_compiler_gnu=$ac_compiler_gnu
 
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 ac_cv_c_compiler_gnu=$ac_compiler_gnu
 
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
 $as_echo "$ac_cv_c_compiler_gnu" >&6; }
 if test $ac_compiler_gnu = yes; then
   GCC=yes
 $as_echo "$ac_cv_c_compiler_gnu" >&6; }
 if test $ac_compiler_gnu = yes; then
   GCC=yes
@@ -3218,20 +3474,16 @@ else
 fi
 ac_test_CFLAGS=${CFLAGS+set}
 ac_save_CFLAGS=$CFLAGS
 fi
 ac_test_CFLAGS=${CFLAGS+set}
 ac_save_CFLAGS=$CFLAGS
-{ $as_echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
 $as_echo_n "checking whether $CC accepts -g... " >&6; }
 $as_echo_n "checking whether $CC accepts -g... " >&6; }
-if test "${ac_cv_prog_cc_g+set}" = set; then
+if ${ac_cv_prog_cc_g+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_save_c_werror_flag=$ac_c_werror_flag
    ac_c_werror_flag=yes
    ac_cv_prog_cc_g=no
    CFLAGS="-g"
   $as_echo_n "(cached) " >&6
 else
   ac_save_c_werror_flag=$ac_c_werror_flag
    ac_c_werror_flag=yes
    ac_cv_prog_cc_g=no
    CFLAGS="-g"
-   cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
 /* end confdefs.h.  */
 
 int
@@ -3242,35 +3494,11 @@ main ()
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+if ac_fn_c_try_compile "$LINENO"; then :
   ac_cv_prog_cc_g=yes
 else
   ac_cv_prog_cc_g=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       CFLAGS=""
-      cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  CFLAGS=""
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
 /* end confdefs.h.  */
 
 int
@@ -3281,36 +3509,12 @@ main ()
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  :
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+if ac_fn_c_try_compile "$LINENO"; then :
 
 
-       ac_c_werror_flag=$ac_save_c_werror_flag
+else
+  ac_c_werror_flag=$ac_save_c_werror_flag
         CFLAGS="-g"
         CFLAGS="-g"
-        cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
 /* end confdefs.h.  */
 
 int
@@ -3321,42 +3525,17 @@ main ()
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+if ac_fn_c_try_compile "$LINENO"; then :
   ac_cv_prog_cc_g=yes
   ac_cv_prog_cc_g=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
 fi
 fi
-
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
    ac_c_werror_flag=$ac_save_c_werror_flag
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
    ac_c_werror_flag=$ac_save_c_werror_flag
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
 $as_echo "$ac_cv_prog_cc_g" >&6; }
 if test "$ac_test_CFLAGS" = set; then
   CFLAGS=$ac_save_CFLAGS
 $as_echo "$ac_cv_prog_cc_g" >&6; }
 if test "$ac_test_CFLAGS" = set; then
   CFLAGS=$ac_save_CFLAGS
@@ -3373,23 +3552,18 @@ else
     CFLAGS=
   fi
 fi
     CFLAGS=
   fi
 fi
-{ $as_echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if test "${ac_cv_prog_cc_c89+set}" = set; then
+if ${ac_cv_prog_cc_c89+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_prog_cc_c89=no
 ac_save_CC=$CC
   $as_echo_n "(cached) " >&6
 else
   ac_cv_prog_cc_c89=no
 ac_save_CC=$CC
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <stdarg.h>
 #include <stdio.h>
 /* end confdefs.h.  */
 #include <stdarg.h>
 #include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
+struct stat;
 /* 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);
 /* 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);
@@ -3441,32 +3615,9 @@ for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
        -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
 do
   CC="$ac_save_CC $ac_arg"
        -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
 do
   CC="$ac_save_CC $ac_arg"
-  rm -rf conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  if ac_fn_c_try_compile "$LINENO"; then :
   ac_cv_prog_cc_c89=$ac_arg
   ac_cv_prog_cc_c89=$ac_arg
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
 fi
 fi
-
 rm -f core conftest.err conftest.$ac_objext
   test "x$ac_cv_prog_cc_c89" != "xno" && break
 done
 rm -f core conftest.err conftest.$ac_objext
   test "x$ac_cv_prog_cc_c89" != "xno" && break
 done
@@ -3477,17 +3628,19 @@ fi
 # AC_CACHE_VAL
 case "x$ac_cv_prog_cc_c89" in
   x)
 # AC_CACHE_VAL
 case "x$ac_cv_prog_cc_c89" in
   x)
-    { $as_echo "$as_me:$LINENO: result: none needed" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
 $as_echo "none needed" >&6; } ;;
   xno)
 $as_echo "none needed" >&6; } ;;
   xno)
-    { $as_echo "$as_me:$LINENO: result: unsupported" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
 $as_echo "unsupported" >&6; } ;;
   *)
     CC="$CC $ac_cv_prog_cc_c89"
 $as_echo "unsupported" >&6; } ;;
   *)
     CC="$CC $ac_cv_prog_cc_c89"
-    { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
 $as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
 esac
 $as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
 esac
+if test "x$ac_cv_prog_cc_c89" != xno; then :
 
 
+fi
 
 ac_ext=c
 ac_cpp='$CPP $CPPFLAGS'
 
 ac_ext=c
 ac_cpp='$CPP $CPPFLAGS'
@@ -3496,28 +3649,30 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
+
+
   if test -z "$GCC"; then
     # not using GCC
   if test -z "$GCC"; then
     # not using GCC
-    { $as_echo "$as_me:$LINENO: checking how to request ANSI compilation" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to request ANSI compilation" >&5
 $as_echo_n "checking how to request ANSI compilation... " >&6; }
     case "$host" in
       *-hpux* )
 $as_echo_n "checking how to request ANSI compilation... " >&6; }
     case "$host" in
       *-hpux* )
-        { $as_echo "$as_me:$LINENO: result: HPUX: adding -Ae" >&5
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: HPUX: adding -Ae" >&5
 $as_echo "HPUX: adding -Ae" >&6; }
         CC="$CC -Ae"
       ;;
       *-aix* )
 $as_echo "HPUX: adding -Ae" >&6; }
         CC="$CC -Ae"
       ;;
       *-aix* )
-        { $as_echo "$as_me:$LINENO: result: AIX: adding -qlanglvl=ansi -qhalt=e" >&5
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: AIX: adding -qlanglvl=ansi -qhalt=e" >&5
 $as_echo "AIX: adding -qlanglvl=ansi -qhalt=e" >&6; }
         CC="$CC -qlanglvl=ansi -qhalt=e"
       ;;
       *-dec-* )
 $as_echo "AIX: adding -qlanglvl=ansi -qhalt=e" >&6; }
         CC="$CC -qlanglvl=ansi -qhalt=e"
       ;;
       *-dec-* )
-        { $as_echo "$as_me:$LINENO: result: DEC: adding -std1 -ieee" >&5
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: DEC: adding -std1 -ieee" >&5
 $as_echo "DEC: adding -std1 -ieee" >&6; }
         CC="$CC -std1"
       ;;
       *)
 $as_echo "DEC: adding -std1 -ieee" >&6; }
         CC="$CC -std1"
       ;;
       *)
-        { $as_echo "$as_me:$LINENO: result: no idea" >&5
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: no idea" >&5
 $as_echo "no idea" >&6; }
       ;;
     esac
 $as_echo "no idea" >&6; }
       ;;
     esac
@@ -3525,7 +3680,7 @@ $as_echo "no idea" >&6; }
     # using GCC
     case "$host" in
       *-solaris*)
     # using GCC
     case "$host" in
       *-solaris*)
-        { $as_echo "$as_me:$LINENO: result: Solaris: adding -D__EXTENSIONS__" >&5
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: Solaris: adding -D__EXTENSIONS__" >&5
 $as_echo "Solaris: adding -D__EXTENSIONS__" >&6; }
         CC="$CC -D__EXTENSIONS__"
       ;;
 $as_echo "Solaris: adding -D__EXTENSIONS__" >&6; }
         CC="$CC -D__EXTENSIONS__"
       ;;
@@ -3534,65 +3689,30 @@ $as_echo "Solaris: adding -D__EXTENSIONS__" >&6; }
 
   OBJCC="$CC"
 
 
   OBJCC="$CC"
 
-  { $as_echo "$as_me:$LINENO: checking whether the compiler works on ANSI C" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler works on ANSI C" >&5
 $as_echo_n "checking whether the compiler works on ANSI C... " >&6; }
 $as_echo_n "checking whether the compiler works on ANSI C... " >&6; }
-  if test "$cross_compiling" = yes; then
-  { { $as_echo "$as_me:$LINENO: error: Couldn't build even a trivial ANSI C program: check CC." >&5
-$as_echo "$as_me: error: Couldn't build even a trivial ANSI C program: check CC." >&2;}
-   { (exit 1); exit 1; }; }
+  if test "$cross_compiling" = yes; then :
+  as_fn_error $? "Couldn't build even a trivial ANSI C program: check CC." "$LINENO" 5
 else
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
  main(int ac, char **av) { return 0; }
 _ACEOF
 /* end confdefs.h.  */
  main(int ac, char **av) { return 0; }
 _ACEOF
-rm -rf conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  { $as_echo "$as_me:$LINENO: result: yes" >&5
+if ac_fn_c_try_run "$LINENO"; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
 else
 $as_echo "yes" >&6; }
 else
-  $as_echo "$as_me: program exited with status $ac_status" >&5
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-{ $as_echo "$as_me:$LINENO: result: no" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 $as_echo "no" >&6; }
-     { { $as_echo "$as_me:$LINENO: error: Couldn't build even a trivial ANSI C program: check CC." >&5
-$as_echo "$as_me: error: Couldn't build even a trivial ANSI C program: check CC." >&2;}
-   { (exit 1); exit 1; }; }
+     as_fn_error $? "Couldn't build even a trivial ANSI C program: check CC." "$LINENO" 5
 fi
 fi
-rm -rf conftest.dSYM
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
 
 
 fi
 
 
-
   if test -n "$GCC"; then
   if test -n "$GCC"; then
-    { $as_echo "$as_me:$LINENO: result: Turning on gcc compiler warnings." >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: Turning on gcc compiler warnings." >&5
 $as_echo "Turning on gcc compiler warnings." >&6; }
     CC="$CC -pedantic -Wall -Wstrict-prototypes -Wnested-externs -Wmissing-prototypes"
     OBJCC="$OBJCC -Wall"
 $as_echo "Turning on gcc compiler warnings." >&6; }
     CC="$CC -pedantic -Wall -Wstrict-prototypes -Wnested-externs -Wmissing-prototypes"
     OBJCC="$OBJCC -Wall"
@@ -3601,7 +3721,7 @@ $as_echo "Turning on gcc compiler warnings." >&6; }
   else
     case "$host" in
       *-irix5* |*-irix6.0-3* )
   else
     case "$host" in
       *-irix5* |*-irix6.0-3* )
-        { $as_echo "$as_me:$LINENO: result: Turning on SGI compiler warnings." >&5
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: Turning on SGI compiler warnings." >&5
 $as_echo "Turning on SGI compiler warnings." >&6; }
         CC="$CC -fullwarn -use_readonly_const -rdata_shared -g3"
       ;;
 $as_echo "Turning on SGI compiler warnings." >&6; }
         CC="$CC -fullwarn -use_readonly_const -rdata_shared -g3"
       ;;
@@ -3615,9 +3735,9 @@ $as_echo "Turning on SGI compiler warnings." >&6; }
   fi
 
 if test -n "$GCC"; then
   fi
 
 if test -n "$GCC"; then
-   { $as_echo "$as_me:$LINENO: checking whether gcc accepts -Wno-overlength-strings" >&5
+   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether gcc accepts -Wno-overlength-strings" >&5
 $as_echo_n "checking whether gcc accepts -Wno-overlength-strings... " >&6; }
 $as_echo_n "checking whether gcc accepts -Wno-overlength-strings... " >&6; }
-if test "${ac_cv_gcc_accepts_no_overlength+set}" = set; then
+if ${ac_cv_gcc_accepts_no_overlength+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   rm -rf conftest.$ac_ext
   $as_echo_n "(cached) " >&6
 else
   rm -rf conftest.$ac_ext
@@ -3630,15 +3750,15 @@ else
        CC="$CC -Wno-overlength-strings"
      fi
 fi
        CC="$CC -Wno-overlength-strings"
      fi
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_gcc_accepts_no_overlength" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_gcc_accepts_no_overlength" >&5
 $as_echo "$ac_cv_gcc_accepts_no_overlength" >&6; }
    ac_gcc_accepts_no_overlength="$ac_cv_gcc_accepts_no_overlength"
   fi
 
 if test -n "$GCC"; then
 $as_echo "$ac_cv_gcc_accepts_no_overlength" >&6; }
    ac_gcc_accepts_no_overlength="$ac_cv_gcc_accepts_no_overlength"
   fi
 
 if test -n "$GCC"; then
-   { $as_echo "$as_me:$LINENO: checking whether gcc accepts -Wdeclaration-after-statement" >&5
+   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether gcc accepts -Wdeclaration-after-statement" >&5
 $as_echo_n "checking whether gcc accepts -Wdeclaration-after-statement... " >&6; }
 $as_echo_n "checking whether gcc accepts -Wdeclaration-after-statement... " >&6; }
-if test "${ac_cv_gcc_accepts_no_decl_after+set}" = set; then
+if ${ac_cv_gcc_accepts_no_decl_after+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   rm -rf conftest.$ac_ext
   $as_echo_n "(cached) " >&6
 else
   rm -rf conftest.$ac_ext
@@ -3651,15 +3771,15 @@ else
        CC="$CC -Wdeclaration-after-statement"
      fi
 fi
        CC="$CC -Wdeclaration-after-statement"
      fi
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_gcc_accepts_no_decl_after" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_gcc_accepts_no_decl_after" >&5
 $as_echo "$ac_cv_gcc_accepts_no_decl_after" >&6; }
    ac_gcc_accepts_no_decl_after="$ac_cv_gcc_accepts_no_decl_after"
   fi
 
 if test -n "$GCC"; then
 $as_echo "$ac_cv_gcc_accepts_no_decl_after" >&6; }
    ac_gcc_accepts_no_decl_after="$ac_cv_gcc_accepts_no_decl_after"
   fi
 
 if test -n "$GCC"; then
-   { $as_echo "$as_me:$LINENO: checking whether gcc accepts -no-cpp-precomp" >&5
+   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether gcc accepts -no-cpp-precomp" >&5
 $as_echo_n "checking whether gcc accepts -no-cpp-precomp... " >&6; }
 $as_echo_n "checking whether gcc accepts -no-cpp-precomp... " >&6; }
-if test "${ac_cv_gcc_accepts_no_cpp_precomp+set}" = set; then
+if ${ac_cv_gcc_accepts_no_cpp_precomp+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   rm -rf conftest.$ac_ext
   $as_echo_n "(cached) " >&6
 else
   rm -rf conftest.$ac_ext
@@ -3672,7 +3792,7 @@ else
        CC="$CC -no-cpp-precomp"
      fi
 fi
        CC="$CC -no-cpp-precomp"
      fi
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_gcc_accepts_no_cpp_precomp" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_gcc_accepts_no_cpp_precomp" >&5
 $as_echo "$ac_cv_gcc_accepts_no_cpp_precomp" >&6; }
    ac_gcc_accepts_no_cpp_precomp="$ac_cv_gcc_accepts_no_cpp_precomp"
   fi
 $as_echo "$ac_cv_gcc_accepts_no_cpp_precomp" >&6; }
    ac_gcc_accepts_no_cpp_precomp="$ac_cv_gcc_accepts_no_cpp_precomp"
   fi
@@ -3686,9 +3806,9 @@ if test -n "$GCC"; then
     ;;
    *)
      if test -n "$GCC"; then
     ;;
    *)
      if test -n "$GCC"; then
-   { $as_echo "$as_me:$LINENO: checking whether gcc accepts -std=c89" >&5
+   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether gcc accepts -std=c89" >&5
 $as_echo_n "checking whether gcc accepts -std=c89... " >&6; }
 $as_echo_n "checking whether gcc accepts -std=c89... " >&6; }
-if test "${ac_cv_gcc_accepts_std+set}" = set; then
+if ${ac_cv_gcc_accepts_std+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   rm -rf conftest.$ac_ext
   $as_echo_n "(cached) " >&6
 else
   rm -rf conftest.$ac_ext
@@ -3701,7 +3821,7 @@ else
        CC="$CC -std=c89"
      fi
 fi
        CC="$CC -std=c89"
      fi
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_gcc_accepts_std" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_gcc_accepts_std" >&5
 $as_echo "$ac_cv_gcc_accepts_std" >&6; }
    ac_gcc_accepts_std="$ac_cv_gcc_accepts_std"
   fi
 $as_echo "$ac_cv_gcc_accepts_std" >&6; }
    ac_gcc_accepts_std="$ac_cv_gcc_accepts_std"
   fi
@@ -3709,7 +3829,7 @@ $as_echo "$ac_cv_gcc_accepts_std" >&6; }
    ;;
   esac
 
    ;;
   esac
 
-   { $as_echo "$as_me:$LINENO: result: Disabling C++ comments in ANSI C code." >&5
+   { $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling C++ comments in ANSI C code." >&5
 $as_echo "Disabling C++ comments in ANSI C code." >&6; }
    #
    # The reason that // comments are banned from xscreensaver is that gcc is
 $as_echo "Disabling C++ comments in ANSI C code." >&6; }
    #
    # The reason that // comments are banned from xscreensaver is that gcc is
@@ -3743,14 +3863,14 @@ 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_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
-{ $as_echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
 $as_echo_n "checking how to run the C preprocessor... " >&6; }
 # On Suns, sometimes $CPP names a directory.
 if test -n "$CPP" && test -d "$CPP"; then
   CPP=
 fi
 if test -z "$CPP"; then
 $as_echo_n "checking how to run the C preprocessor... " >&6; }
 # On Suns, sometimes $CPP names a directory.
 if test -n "$CPP" && test -d "$CPP"; then
   CPP=
 fi
 if test -z "$CPP"; then
-  if test "${ac_cv_prog_CPP+set}" = set; then
+  if ${ac_cv_prog_CPP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
       # Double quotes because CPP needs to be expanded
   $as_echo_n "(cached) " >&6
 else
       # Double quotes because CPP needs to be expanded
@@ -3765,11 +3885,7 @@ do
   # <limits.h> exists even on freestanding compilers.
   # 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.
   # <limits.h> exists even on freestanding compilers.
   # 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
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #ifdef __STDC__
 # include <limits.h>
 /* end confdefs.h.  */
 #ifdef __STDC__
 # include <limits.h>
@@ -3778,78 +3894,34 @@ cat >>conftest.$ac_ext <<_ACEOF
 #endif
                     Syntax error
 _ACEOF
 #endif
                     Syntax error
 _ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then
-  :
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+if ac_fn_c_try_cpp "$LINENO"; then :
 
 
+else
   # Broken: fails on valid input.
 continue
 fi
   # Broken: fails on valid input.
 continue
 fi
-
-rm -rf conftest.err conftest.$ac_ext
+rm -rf conftest.err conftest.i conftest.$ac_ext
 
   # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
 
   # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <ac_nonexistent.h>
 _ACEOF
 /* end confdefs.h.  */
 #include <ac_nonexistent.h>
 _ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then
+if ac_fn_c_try_cpp "$LINENO"; then :
   # Broken: success on invalid input.
 continue
 else
   # Broken: success on invalid input.
 continue
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
   # Passes both tests.
 ac_preproc_ok=:
 break
 fi
   # Passes both tests.
 ac_preproc_ok=:
 break
 fi
-
-rm -rf conftest.err conftest.$ac_ext
+rm -rf conftest.err conftest.i conftest.$ac_ext
 
 done
 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
 
 done
 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -rf conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then
+rm -rf conftest.i conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
   break
 fi
 
   break
 fi
 
@@ -3861,7 +3933,7 @@ fi
 else
   ac_cv_prog_CPP=$CPP
 fi
 else
   ac_cv_prog_CPP=$CPP
 fi
-{ $as_echo "$as_me:$LINENO: result: $CPP" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
 $as_echo "$CPP" >&6; }
 ac_preproc_ok=false
 for ac_c_preproc_warn_flag in '' yes
 $as_echo "$CPP" >&6; }
 ac_preproc_ok=false
 for ac_c_preproc_warn_flag in '' yes
@@ -3872,11 +3944,7 @@ do
   # <limits.h> exists even on freestanding compilers.
   # 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.
   # <limits.h> exists even on freestanding compilers.
   # 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
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #ifdef __STDC__
 # include <limits.h>
 /* end confdefs.h.  */
 #ifdef __STDC__
 # include <limits.h>
@@ -3885,87 +3953,40 @@ cat >>conftest.$ac_ext <<_ACEOF
 #endif
                     Syntax error
 _ACEOF
 #endif
                     Syntax error
 _ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then
-  :
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+if ac_fn_c_try_cpp "$LINENO"; then :
 
 
+else
   # Broken: fails on valid input.
 continue
 fi
   # Broken: fails on valid input.
 continue
 fi
-
-rm -rf conftest.err conftest.$ac_ext
+rm -rf conftest.err conftest.i conftest.$ac_ext
 
   # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
 
   # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <ac_nonexistent.h>
 _ACEOF
 /* end confdefs.h.  */
 #include <ac_nonexistent.h>
 _ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then
+if ac_fn_c_try_cpp "$LINENO"; then :
   # Broken: success on invalid input.
 continue
 else
   # Broken: success on invalid input.
 continue
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
   # Passes both tests.
 ac_preproc_ok=:
 break
 fi
   # Passes both tests.
 ac_preproc_ok=:
 break
 fi
-
-rm -rf conftest.err conftest.$ac_ext
+rm -rf conftest.err conftest.i conftest.$ac_ext
 
 done
 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
 
 done
 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -rf conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then
-  :
+rm -rf conftest.i conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
+
 else
 else
-  { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." >&5
-$as_echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }; }
+as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details" "$LINENO" 5; }
 fi
 
 ac_ext=c
 fi
 
 ac_ext=c
@@ -3974,26 +3995,22 @@ 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_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
-{ $as_echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5
 $as_echo_n "checking for an ANSI C-conforming const... " >&6; }
 $as_echo_n "checking for an ANSI C-conforming const... " >&6; }
-if test "${ac_cv_c_const+set}" = set; then
+if ${ac_cv_c_const+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   $as_echo_n "(cached) " >&6
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
 main ()
 {
 /* end confdefs.h.  */
 
 int
 main ()
 {
-/* FIXME: Include the comments suggested by Paul. */
+
 #ifndef __cplusplus
 #ifndef __cplusplus
-  /* Ultrix mips cc rejects this.  */
+  /* Ultrix mips cc rejects this sort of thing.  */
   typedef int charset[2];
   typedef int charset[2];
-  const charset cs;
+  const charset cs = { 0, 0 };
   /* SunOS 4.1.1 cc rejects this.  */
   char const *const *pcpcc;
   char **ppc;
   /* SunOS 4.1.1 cc rejects this.  */
   char const *const *pcpcc;
   char **ppc;
@@ -4010,8 +4027,9 @@ main ()
   ++pcpcc;
   ppc = (char**) pcpcc;
   pcpcc = (char const *const *) ppc;
   ++pcpcc;
   ppc = (char**) pcpcc;
   pcpcc = (char const *const *) ppc;
-  { /* SCO 3.2v4 cc rejects this.  */
-    char *t;
+  { /* SCO 3.2v4 cc rejects this sort of thing.  */
+    char tx;
+    char *t = &tx;
     char const *s = 0 ? (char *) 0 : (char const *) 0;
 
     *t++ = 0;
     char const *s = 0 ? (char *) 0 : (char const *) 0;
 
     *t++ = 0;
@@ -4027,10 +4045,10 @@ main ()
     iptr p = 0;
     ++p;
   }
     iptr p = 0;
     ++p;
   }
-  { /* AIX XL C 1.02.0.0 rejects this saying
+  { /* AIX XL C 1.02.0.0 rejects this sort of thing, saying
        "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
        "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
-    struct s { int j; const int *ap[3]; };
-    struct s *b; b->j = 5;
+    struct s { int j; const int *ap[3]; } bx;
+    struct s *b = &bx; b->j = 5;
   }
   { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
     const int foo = 10;
   }
   { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
     const int foo = 10;
@@ -4043,56 +4061,29 @@ main ()
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+if ac_fn_c_try_compile "$LINENO"; then :
   ac_cv_c_const=yes
 else
   ac_cv_c_const=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_c_const=no
+  ac_cv_c_const=no
 fi
 fi
-
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_const" >&5
 $as_echo "$ac_cv_c_const" >&6; }
 if test $ac_cv_c_const = no; then
 
 $as_echo "$ac_cv_c_const" >&6; }
 if test $ac_cv_c_const = no; then
 
-cat >>confdefs.h <<\_ACEOF
-#define const /**/
-_ACEOF
+$as_echo "#define const /**/" >>confdefs.h
 
 fi
 
 
 fi
 
-{ $as_echo "$as_me:$LINENO: checking for inline" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5
 $as_echo_n "checking for inline... " >&6; }
 $as_echo_n "checking for inline... " >&6; }
-if test "${ac_cv_c_inline+set}" = set; then
+if ${ac_cv_c_inline+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_c_inline=no
 for ac_kw in inline __inline__ __inline; do
   $as_echo_n "(cached) " >&6
 else
   ac_cv_c_inline=no
 for ac_kw in inline __inline__ __inline; do
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #ifndef __cplusplus
 typedef int foo_t;
 /* end confdefs.h.  */
 #ifndef __cplusplus
 typedef int foo_t;
@@ -4101,41 +4092,17 @@ $ac_kw foo_t foo () {return 0; }
 #endif
 
 _ACEOF
 #endif
 
 _ACEOF
-rm -rf conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+if ac_fn_c_try_compile "$LINENO"; then :
   ac_cv_c_inline=$ac_kw
   ac_cv_c_inline=$ac_kw
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
 fi
 fi
-
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   test "$ac_cv_c_inline" != no && break
 done
 
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   test "$ac_cv_c_inline" != no && break
 done
 
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_inline" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5
 $as_echo "$ac_cv_c_inline" >&6; }
 
 $as_echo "$ac_cv_c_inline" >&6; }
 
-
 case $ac_cv_c_inline in
   inline | yes) ;;
   *)
 case $ac_cv_c_inline in
   inline | yes) ;;
   *)
@@ -4153,22 +4120,18 @@ esac
 
 
 ac_bc_result=`echo 6+9 | bc 2>/dev/null`
 
 
 ac_bc_result=`echo 6+9 | bc 2>/dev/null`
-  { $as_echo "$as_me:$LINENO: checking for bc" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for bc" >&5
 $as_echo_n "checking for bc... " >&6; }
   if test "$ac_bc_result" = "15" ; then
 $as_echo_n "checking for bc... " >&6; }
   if test "$ac_bc_result" = "15" ; then
-    { $as_echo "$as_me:$LINENO: result: yes" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
   else
 $as_echo "yes" >&6; }
   else
-    { $as_echo "$as_me:$LINENO: result: no" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
     echo ''
 $as_echo "no" >&6; }
     echo ''
-    { { $as_echo "$as_me:$LINENO: error: Your system doesn't have \"bc\", which has been a standard
-                  part of Unix since the 1970s.  Come back when your vendor
-                  has grown a clue." >&5
-$as_echo "$as_me: error: Your system doesn't have \"bc\", which has been a standard
+    as_fn_error $? "Your system doesn't have \"bc\", which has been a standard
                   part of Unix since the 1970s.  Come back when your vendor
                   part of Unix since the 1970s.  Come back when your vendor
-                  has grown a clue." >&2;}
-   { (exit 1); exit 1; }; }
+                  has grown a clue." "$LINENO" 5
   fi
 
 
   fi
 
 
@@ -4187,10 +4150,10 @@ $as_echo "$as_me: error: Your system doesn't have \"bc\", which has been a stand
 # OS/2's system install, which has a completely different semantic
 # ./install, which can be erroneously created by make from ./install.sh.
 # Reject install programs that cannot install multiple files.
 # OS/2's system install, which has a completely different semantic
 # ./install, which can be erroneously created by make from ./install.sh.
 # Reject install programs that cannot install multiple files.
-{ $as_echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
 $as_echo_n "checking for a BSD-compatible install... " >&6; }
 if test -z "$INSTALL"; then
 $as_echo_n "checking for a BSD-compatible install... " >&6; }
 if test -z "$INSTALL"; then
-if test "${ac_cv_path_install+set}" = set; then
+if ${ac_cv_path_install+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
   $as_echo_n "(cached) " >&6
 else
   as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -4198,11 +4161,11 @@ for as_dir in $PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  # Account for people who put trailing slashes in PATH elements.
-case $as_dir/ in
-  ./ | .// | /cC/* | \
+    # Account for people who put trailing slashes in PATH elements.
+case $as_dir/ in #((
+  ./ | .// | /[cC]/* | \
   /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
   /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
-  ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \
+  ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
   /usr/ucb/* ) ;;
   *)
     # OSF1 and SCO ODT 3.0 have their own names for install.
   /usr/ucb/* ) ;;
   *)
     # OSF1 and SCO ODT 3.0 have their own names for install.
@@ -4210,7 +4173,7 @@ case $as_dir/ in
     # by default.
     for ac_prog in ginstall scoinst install; do
       for ac_exec_ext in '' $ac_executable_extensions; do
     # by default.
     for ac_prog in ginstall scoinst install; do
       for ac_exec_ext in '' $ac_executable_extensions; do
-       if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
+       if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
          if test $ac_prog = install &&
            grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
            # AIX install.  It has an incompatible calling convention.
          if test $ac_prog = install &&
            grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
            # AIX install.  It has an incompatible calling convention.
@@ -4239,7 +4202,7 @@ case $as_dir/ in
     ;;
 esac
 
     ;;
 esac
 
-done
+  done
 IFS=$as_save_IFS
 
 rm -rf conftest.one conftest.two conftest.dir
 IFS=$as_save_IFS
 
 rm -rf conftest.one conftest.two conftest.dir
@@ -4255,7 +4218,7 @@ fi
     INSTALL=$ac_install_sh
   fi
 fi
     INSTALL=$ac_install_sh
   fi
 fi
-{ $as_echo "$as_me:$LINENO: result: $INSTALL" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
 $as_echo "$INSTALL" >&6; }
 
 # Use test -z because SunOS4 sh mishandles braces in ${var-val}.
 $as_echo "$INSTALL" >&6; }
 
 # Use test -z because SunOS4 sh mishandles braces in ${var-val}.
@@ -4266,9 +4229,9 @@ test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
 
 test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
 
 
 test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
 
-{ $as_echo "$as_me:$LINENO: checking whether \"\${INSTALL} -d\" creates intermediate directories" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \"\${INSTALL} -d\" creates intermediate directories" >&5
 $as_echo_n "checking whether \"\${INSTALL} -d\" creates intermediate directories... " >&6; }
 $as_echo_n "checking whether \"\${INSTALL} -d\" creates intermediate directories... " >&6; }
-if test "${ac_cv_install_d_creates_dirs+set}" = set; then
+if ${ac_cv_install_d_creates_dirs+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_install_d_creates_dirs=no
   $as_echo_n "(cached) " >&6
 else
   ac_cv_install_d_creates_dirs=no
@@ -4284,13 +4247,13 @@ else
      fi
 
 fi
      fi
 
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_install_d_creates_dirs" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_install_d_creates_dirs" >&5
 $as_echo "$ac_cv_install_d_creates_dirs" >&6; }
 
   if test "$ac_cv_install_d_creates_dirs" = no ; then
 $as_echo "$ac_cv_install_d_creates_dirs" >&6; }
 
   if test "$ac_cv_install_d_creates_dirs" = no ; then
-    { $as_echo "$as_me:$LINENO: checking whether \"mkdir -p\" creates intermediate directories" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \"mkdir -p\" creates intermediate directories" >&5
 $as_echo_n "checking whether \"mkdir -p\" creates intermediate directories... " >&6; }
 $as_echo_n "checking whether \"mkdir -p\" creates intermediate directories... " >&6; }
-if test "${ac_cv_mkdir_p_creates_dirs+set}" = set; then
+if ${ac_cv_mkdir_p_creates_dirs+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_mkdir_p_creates_dirs=no
   $as_echo_n "(cached) " >&6
 else
   ac_cv_mkdir_p_creates_dirs=no
@@ -4306,7 +4269,7 @@ else
        fi
 
 fi
        fi
 
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_mkdir_p_creates_dirs" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_mkdir_p_creates_dirs" >&5
 $as_echo "$ac_cv_mkdir_p_creates_dirs" >&6; }
   fi
 
 $as_echo "$ac_cv_mkdir_p_creates_dirs" >&6; }
   fi
 
@@ -4319,11 +4282,11 @@ $as_echo "$ac_cv_mkdir_p_creates_dirs" >&6; }
     INSTALL_DIRS='${INSTALL} -d'
   fi
 
     INSTALL_DIRS='${INSTALL} -d'
   fi
 
-{ $as_echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
 $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
 set x ${MAKE-make}
 ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
 $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
 set x ${MAKE-make}
 ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then
+if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat >conftest.make <<\_ACEOF
   $as_echo_n "(cached) " >&6
 else
   cat >conftest.make <<\_ACEOF
@@ -4331,7 +4294,7 @@ SHELL = /bin/sh
 all:
        @echo '@@@%%%=$(MAKE)=@@@%%%'
 _ACEOF
 all:
        @echo '@@@%%%=$(MAKE)=@@@%%%'
 _ACEOF
-# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
 case `${MAKE-make} -f conftest.make 2>/dev/null` in
   *@@@%%%=?*=@@@%%%*)
     eval ac_cv_prog_make_${ac_make}_set=yes;;
 case `${MAKE-make} -f conftest.make 2>/dev/null` in
   *@@@%%%=?*=@@@%%%*)
     eval ac_cv_prog_make_${ac_make}_set=yes;;
@@ -4341,11 +4304,11 @@ esac
 rm -rf conftest.make
 fi
 if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
 rm -rf conftest.make
 fi
 if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
-  { $as_echo "$as_me:$LINENO: result: yes" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
   SET_MAKE=
 else
 $as_echo "yes" >&6; }
   SET_MAKE=
 else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
   SET_MAKE="MAKE=${MAKE-make}"
 fi
 $as_echo "no" >&6; }
   SET_MAKE="MAKE=${MAKE-make}"
 fi
@@ -4360,9 +4323,9 @@ INSTALL_SCRIPT='${INSTALL}'
 
 # random libc stuff
 
 
 # random libc stuff
 
-{ $as_echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
 $as_echo_n "checking for grep that handles long lines and -e... " >&6; }
 $as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if test "${ac_cv_path_GREP+set}" = set; then
+if ${ac_cv_path_GREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -z "$GREP"; then
   $as_echo_n "(cached) " >&6
 else
   if test -z "$GREP"; then
@@ -4373,10 +4336,10 @@ for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  for ac_prog in grep ggrep; do
+    for ac_prog in grep ggrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+      as_fn_executable_p "$ac_path_GREP" || continue
 # Check for GNU ac_path_GREP and select it if it is found.
   # Check for GNU $ac_path_GREP
 case `"$ac_path_GREP" --version 2>&1` in
 # Check for GNU ac_path_GREP and select it if it is found.
   # Check for GNU $ac_path_GREP
 case `"$ac_path_GREP" --version 2>&1` in
@@ -4393,7 +4356,7 @@ case `"$ac_path_GREP" --version 2>&1` in
     $as_echo 'GREP' >> "conftest.nl"
     "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
     diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
     $as_echo 'GREP' >> "conftest.nl"
     "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
     diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    ac_count=`expr $ac_count + 1`
+    as_fn_arith $ac_count + 1 && ac_count=$as_val
     if test $ac_count -gt ${ac_path_GREP_max-0}; then
       # Best one so far, save it but keep looking for a better one
       ac_cv_path_GREP="$ac_path_GREP"
     if test $ac_count -gt ${ac_path_GREP_max-0}; then
       # Best one so far, save it but keep looking for a better one
       ac_cv_path_GREP="$ac_path_GREP"
@@ -4408,26 +4371,24 @@ esac
       $ac_path_GREP_found && break 3
     done
   done
       $ac_path_GREP_found && break 3
     done
   done
-done
+  done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_GREP"; then
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_GREP"; then
-    { { $as_echo "$as_me:$LINENO: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
-$as_echo "$as_me: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
-   { (exit 1); exit 1; }; }
+    as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_GREP=$GREP
 fi
 
 fi
   fi
 else
   ac_cv_path_GREP=$GREP
 fi
 
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
 $as_echo "$ac_cv_path_GREP" >&6; }
  GREP="$ac_cv_path_GREP"
 
 
 $as_echo "$ac_cv_path_GREP" >&6; }
  GREP="$ac_cv_path_GREP"
 
 
-{ $as_echo "$as_me:$LINENO: checking for egrep" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
 $as_echo_n "checking for egrep... " >&6; }
 $as_echo_n "checking for egrep... " >&6; }
-if test "${ac_cv_path_EGREP+set}" = set; then
+if ${ac_cv_path_EGREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
   $as_echo_n "(cached) " >&6
 else
   if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
@@ -4441,10 +4402,10 @@ for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  for ac_prog in egrep; do
+    for ac_prog in egrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+      as_fn_executable_p "$ac_path_EGREP" || continue
 # Check for GNU ac_path_EGREP and select it if it is found.
   # Check for GNU $ac_path_EGREP
 case `"$ac_path_EGREP" --version 2>&1` in
 # Check for GNU ac_path_EGREP and select it if it is found.
   # Check for GNU $ac_path_EGREP
 case `"$ac_path_EGREP" --version 2>&1` in
@@ -4461,7 +4422,7 @@ case `"$ac_path_EGREP" --version 2>&1` in
     $as_echo 'EGREP' >> "conftest.nl"
     "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
     diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
     $as_echo 'EGREP' >> "conftest.nl"
     "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
     diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    ac_count=`expr $ac_count + 1`
+    as_fn_arith $ac_count + 1 && ac_count=$as_val
     if test $ac_count -gt ${ac_path_EGREP_max-0}; then
       # Best one so far, save it but keep looking for a better one
       ac_cv_path_EGREP="$ac_path_EGREP"
     if test $ac_count -gt ${ac_path_EGREP_max-0}; then
       # Best one so far, save it but keep looking for a better one
       ac_cv_path_EGREP="$ac_path_EGREP"
@@ -4476,12 +4437,10 @@ esac
       $ac_path_EGREP_found && break 3
     done
   done
       $ac_path_EGREP_found && break 3
     done
   done
-done
+  done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_EGREP"; then
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_EGREP"; then
-    { { $as_echo "$as_me:$LINENO: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
-$as_echo "$as_me: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
-   { (exit 1); exit 1; }; }
+    as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_EGREP=$EGREP
   fi
 else
   ac_cv_path_EGREP=$EGREP
@@ -4489,21 +4448,17 @@ fi
 
    fi
 fi
 
    fi
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
 $as_echo "$ac_cv_path_EGREP" >&6; }
  EGREP="$ac_cv_path_EGREP"
 
 
 $as_echo "$ac_cv_path_EGREP" >&6; }
  EGREP="$ac_cv_path_EGREP"
 
 
-{ $as_echo "$as_me:$LINENO: checking for ANSI C header files" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
 $as_echo_n "checking for ANSI C header files... " >&6; }
 $as_echo_n "checking for ANSI C header files... " >&6; }
-if test "${ac_cv_header_stdc+set}" = set; then
+if ${ac_cv_header_stdc+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   $as_echo_n "(cached) " >&6
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <stdlib.h>
 #include <stdarg.h>
 /* end confdefs.h.  */
 #include <stdlib.h>
 #include <stdarg.h>
@@ -4518,48 +4473,23 @@ main ()
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+if ac_fn_c_try_compile "$LINENO"; then :
   ac_cv_header_stdc=yes
 else
   ac_cv_header_stdc=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_header_stdc=no
+  ac_cv_header_stdc=no
 fi
 fi
-
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
 if test $ac_cv_header_stdc = yes; then
   # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
 rm -f core conftest.err conftest.$ac_objext 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
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <string.h>
 
 _ACEOF
 if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
 /* end confdefs.h.  */
 #include <string.h>
 
 _ACEOF
 if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "memchr" >/dev/null 2>&1; then
-  :
+  $EGREP "memchr" >/dev/null 2>&1; then :
+
 else
   ac_cv_header_stdc=no
 fi
 else
   ac_cv_header_stdc=no
 fi
@@ -4569,18 +4499,14 @@ fi
 
 if test $ac_cv_header_stdc = yes; then
   # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
 
 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
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <stdlib.h>
 
 _ACEOF
 if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
 /* end confdefs.h.  */
 #include <stdlib.h>
 
 _ACEOF
 if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "free" >/dev/null 2>&1; then
-  :
+  $EGREP "free" >/dev/null 2>&1; then :
+
 else
   ac_cv_header_stdc=no
 fi
 else
   ac_cv_header_stdc=no
 fi
@@ -4590,14 +4516,10 @@ 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 $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
+  if test "$cross_compiling" = yes; then :
   :
 else
   :
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <ctype.h>
 #include <stdlib.h>
 /* end confdefs.h.  */
 #include <ctype.h>
 #include <stdlib.h>
@@ -4624,595 +4546,93 @@ main ()
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  :
-else
-  $as_echo "$as_me: program exited with status $ac_status" >&5
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+if ac_fn_c_try_run "$LINENO"; then :
 
 
-( exit $ac_status )
-ac_cv_header_stdc=no
+else
+  ac_cv_header_stdc=no
 fi
 fi
-rm -rf conftest.dSYM
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
 
 fi
 
-
 fi
 fi
 fi
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
 $as_echo "$ac_cv_header_stdc" >&6; }
 if test $ac_cv_header_stdc = yes; then
 
 $as_echo "$ac_cv_header_stdc" >&6; }
 if test $ac_cv_header_stdc = yes; then
 
-cat >>confdefs.h <<\_ACEOF
-#define STDC_HEADERS 1
-_ACEOF
+$as_echo "#define STDC_HEADERS 1" >>confdefs.h
 
 fi
 
 # On IRIX 5.3, sys/types and inttypes.h are conflicting.
 
 fi
 
 # 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
 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=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
-$as_echo_n "checking for $ac_header... " >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-  $as_echo_n "(cached) " >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-
-#include <$ac_header>
+do :
+  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
+"
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
+  cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
 _ACEOF
-rm -rf conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  eval "$as_ac_Header=yes"
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
 
-       eval "$as_ac_Header=no"
 fi
 
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-ac_res=`eval 'as_val=${'$as_ac_Header'}
-                $as_echo "$as_val"'`
-              { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-as_val=`eval 'as_val=${'$as_ac_Header'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
+done
+
+
+for ac_header in unistd.h
+do :
+  ac_fn_c_check_header_mongrel "$LINENO" "unistd.h" "ac_cv_header_unistd_h" "$ac_includes_default"
+if test "x$ac_cv_header_unistd_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
   cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+#define HAVE_UNISTD_H 1
 _ACEOF
 
 fi
 
 done
 
 _ACEOF
 
 fi
 
 done
 
+ac_fn_c_check_type "$LINENO" "mode_t" "ac_cv_type_mode_t" "$ac_includes_default"
+if test "x$ac_cv_type_mode_t" = xyes; then :
 
 
-
-for ac_header in unistd.h
-do
-as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-  { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
-$as_echo_n "checking for $ac_header... " >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-  $as_echo_n "(cached) " >&6
-fi
-ac_res=`eval 'as_val=${'$as_ac_Header'}
-                $as_echo "$as_val"'`
-              { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
 else
 else
-  # Is the header compilable?
-{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5
-$as_echo_n "checking $ac_header usability... " >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-#include <$ac_header>
+
+cat >>confdefs.h <<_ACEOF
+#define mode_t int
 _ACEOF
 _ACEOF
-rm -rf conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_header_compiler=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
 
-       ac_header_compiler=no
 fi
 
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-$as_echo "$ac_header_compiler" >&6; }
+ac_fn_c_check_type "$LINENO" "pid_t" "ac_cv_type_pid_t" "$ac_includes_default"
+if test "x$ac_cv_type_pid_t" = xyes; then :
 
 
-# Is the header present?
-{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5
-$as_echo_n "checking $ac_header presence... " >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <$ac_header>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then
-  ac_header_preproc=yes
 else
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
 
-  ac_header_preproc=no
-fi
+cat >>confdefs.h <<_ACEOF
+#define pid_t int
+_ACEOF
 
 
-rm -rf conftest.err conftest.$ac_ext
-{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-$as_echo "$ac_header_preproc" >&6; }
+fi
 
 
-# So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
-  yes:no: )
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
-    ac_header_preproc=yes
-    ;;
-  no:yes:* )
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
-$as_echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
-$as_echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"
+if test "x$ac_cv_type_size_t" = xyes; then :
 
 
-    ;;
-esac
-{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
-$as_echo_n "checking for $ac_header... " >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-  $as_echo_n "(cached) " >&6
 else
 else
-  eval "$as_ac_Header=\$ac_header_preproc"
-fi
-ac_res=`eval 'as_val=${'$as_ac_Header'}
-                $as_echo "$as_val"'`
-              { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
 
 
-fi
-as_val=`eval 'as_val=${'$as_ac_Header'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+cat >>confdefs.h <<_ACEOF
+#define size_t unsigned int
 _ACEOF
 
 fi
 
 _ACEOF
 
 fi
 
-done
-
-{ $as_echo "$as_me:$LINENO: checking for mode_t" >&5
-$as_echo_n "checking for mode_t... " >&6; }
-if test "${ac_cv_type_mode_t+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_type_mode_t=no
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-if (sizeof (mode_t))
-       return 0;
-  ;
-  return 0;
-}
-_ACEOF
-rm -rf conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-if (sizeof ((mode_t)))
-         return 0;
-  ;
-  return 0;
-}
-_ACEOF
-rm -rf conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  :
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_type_mode_t=yes
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_mode_t" >&5
-$as_echo "$ac_cv_type_mode_t" >&6; }
-if test "x$ac_cv_type_mode_t" = x""yes; then
-  :
-else
-
-cat >>confdefs.h <<_ACEOF
-#define mode_t int
-_ACEOF
-
-fi
-
-{ $as_echo "$as_me:$LINENO: checking for pid_t" >&5
-$as_echo_n "checking for pid_t... " >&6; }
-if test "${ac_cv_type_pid_t+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_type_pid_t=no
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-if (sizeof (pid_t))
-       return 0;
-  ;
-  return 0;
-}
-_ACEOF
-rm -rf conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-if (sizeof ((pid_t)))
-         return 0;
-  ;
-  return 0;
-}
-_ACEOF
-rm -rf conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  :
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_type_pid_t=yes
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_pid_t" >&5
-$as_echo "$ac_cv_type_pid_t" >&6; }
-if test "x$ac_cv_type_pid_t" = x""yes; then
-  :
-else
-
-cat >>confdefs.h <<_ACEOF
-#define pid_t int
-_ACEOF
-
-fi
-
-{ $as_echo "$as_me:$LINENO: checking for size_t" >&5
-$as_echo_n "checking for size_t... " >&6; }
-if test "${ac_cv_type_size_t+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_type_size_t=no
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-if (sizeof (size_t))
-       return 0;
-  ;
-  return 0;
-}
-_ACEOF
-rm -rf conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-if (sizeof ((size_t)))
-         return 0;
-  ;
-  return 0;
-}
-_ACEOF
-rm -rf conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  :
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_type_size_t=yes
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5
-$as_echo "$ac_cv_type_size_t" >&6; }
-if test "x$ac_cv_type_size_t" = x""yes; then
-  :
-else
-
-cat >>confdefs.h <<_ACEOF
-#define size_t unsigned int
-_ACEOF
-
-fi
-
-{ $as_echo "$as_me:$LINENO: checking return type of signal handlers" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking return type of signal handlers" >&5
 $as_echo_n "checking return type of signal handlers... " >&6; }
 $as_echo_n "checking return type of signal handlers... " >&6; }
-if test "${ac_cv_type_signal+set}" = set; then
+if ${ac_cv_type_signal+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   $as_echo_n "(cached) " >&6
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <sys/types.h>
 #include <signal.h>
 /* end confdefs.h.  */
 #include <sys/types.h>
 #include <signal.h>
@@ -5225,35 +4645,14 @@ return *(signal (0, 0)) (0) == 1;
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+if ac_fn_c_try_compile "$LINENO"; then :
   ac_cv_type_signal=int
 else
   ac_cv_type_signal=int
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_type_signal=void
+  ac_cv_type_signal=void
 fi
 fi
-
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_signal" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_signal" >&5
 $as_echo "$ac_cv_type_signal" >&6; }
 
 cat >>confdefs.h <<_ACEOF
 $as_echo "$ac_cv_type_signal" >&6; }
 
 cat >>confdefs.h <<_ACEOF
@@ -5261,16 +4660,12 @@ cat >>confdefs.h <<_ACEOF
 _ACEOF
 
 
 _ACEOF
 
 
-{ $as_echo "$as_me:$LINENO: checking whether time.h and sys/time.h may both be included" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether time.h and sys/time.h may both be included" >&5
 $as_echo_n "checking whether time.h and sys/time.h may both be included... " >&6; }
 $as_echo_n "checking whether time.h and sys/time.h may both be included... " >&6; }
-if test "${ac_cv_header_time+set}" = set; then
+if ${ac_cv_header_time+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   $as_echo_n "(cached) " >&6
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <sys/types.h>
 #include <sys/time.h>
 /* end confdefs.h.  */
 #include <sys/types.h>
 #include <sys/time.h>
@@ -5285,54 +4680,27 @@ return 0;
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+if ac_fn_c_try_compile "$LINENO"; then :
   ac_cv_header_time=yes
 else
   ac_cv_header_time=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_header_time=no
+  ac_cv_header_time=no
 fi
 fi
-
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_time" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_time" >&5
 $as_echo "$ac_cv_header_time" >&6; }
 if test $ac_cv_header_time = yes; then
 
 $as_echo "$ac_cv_header_time" >&6; }
 if test $ac_cv_header_time = yes; then
 
-cat >>confdefs.h <<\_ACEOF
-#define TIME_WITH_SYS_TIME 1
-_ACEOF
+$as_echo "#define TIME_WITH_SYS_TIME 1" >>confdefs.h
 
 fi
 
 
 fi
 
-{ $as_echo "$as_me:$LINENO: checking for sys/wait.h that is POSIX.1 compatible" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sys/wait.h that is POSIX.1 compatible" >&5
 $as_echo_n "checking for sys/wait.h that is POSIX.1 compatible... " >&6; }
 $as_echo_n "checking for sys/wait.h that is POSIX.1 compatible... " >&6; }
-if test "${ac_cv_header_sys_wait_h+set}" = set; then
+if ${ac_cv_header_sys_wait_h+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   $as_echo_n "(cached) " >&6
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <sys/types.h>
 #include <sys/wait.h>
 /* end confdefs.h.  */
 #include <sys/types.h>
 #include <sys/wait.h>
@@ -5353,62 +4721,30 @@ main ()
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+if ac_fn_c_try_compile "$LINENO"; then :
   ac_cv_header_sys_wait_h=yes
 else
   ac_cv_header_sys_wait_h=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_header_sys_wait_h=no
+  ac_cv_header_sys_wait_h=no
 fi
 fi
-
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_sys_wait_h" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_sys_wait_h" >&5
 $as_echo "$ac_cv_header_sys_wait_h" >&6; }
 if test $ac_cv_header_sys_wait_h = yes; then
 
 $as_echo "$ac_cv_header_sys_wait_h" >&6; }
 if test $ac_cv_header_sys_wait_h = yes; then
 
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_SYS_WAIT_H 1
-_ACEOF
+$as_echo "#define HAVE_SYS_WAIT_H 1" >>confdefs.h
 
 fi
 
 
 fi
 
-
-
-
-
-
 ac_header_dirent=no
 for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do
   as_ac_Header=`$as_echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh`
 ac_header_dirent=no
 for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do
   as_ac_Header=`$as_echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh`
-{ $as_echo "$as_me:$LINENO: checking for $ac_hdr that defines DIR" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_hdr that defines DIR" >&5
 $as_echo_n "checking for $ac_hdr that defines DIR... " >&6; }
 $as_echo_n "checking for $ac_hdr that defines DIR... " >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+if eval \${$as_ac_Header+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   $as_echo_n "(cached) " >&6
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <sys/types.h>
 #include <$ac_hdr>
 /* end confdefs.h.  */
 #include <sys/types.h>
 #include <$ac_hdr>
@@ -5422,41 +4758,17 @@ return 0;
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+if ac_fn_c_try_compile "$LINENO"; then :
   eval "$as_ac_Header=yes"
 else
   eval "$as_ac_Header=yes"
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       eval "$as_ac_Header=no"
+  eval "$as_ac_Header=no"
 fi
 fi
-
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-ac_res=`eval 'as_val=${'$as_ac_Header'}
-                $as_echo "$as_val"'`
-              { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+eval ac_res=\$$as_ac_Header
+              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
 $as_echo "$ac_res" >&6; }
-as_val=`eval 'as_val=${'$as_ac_Header'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_hdr" | $as_tr_cpp` 1
 _ACEOF
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_hdr" | $as_tr_cpp` 1
 _ACEOF
@@ -5467,17 +4779,13 @@ fi
 done
 # Two versions of opendir et al. are in -ldir and -lx on SCO Xenix.
 if test $ac_header_dirent = dirent.h; then
 done
 # Two versions of opendir et al. are in -ldir and -lx on SCO Xenix.
 if test $ac_header_dirent = dirent.h; then
-  { $as_echo "$as_me:$LINENO: checking for library containing opendir" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5
 $as_echo_n "checking for library containing opendir... " >&6; }
 $as_echo_n "checking for library containing opendir... " >&6; }
-if test "${ac_cv_search_opendir+set}" = set; then
+if ${ac_cv_search_opendir+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_func_search_save_LIBS=$LIBS
   $as_echo_n "(cached) " >&6
 else
   ac_func_search_save_LIBS=$LIBS
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
@@ -5502,70 +4810,39 @@ for ac_lib in '' dir; do
     ac_res=-l$ac_lib
     LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
   fi
     ac_res=-l$ac_lib
     LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
   fi
-  rm -rf conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then
+  if ac_fn_c_try_link "$LINENO"; then :
   ac_cv_search_opendir=$ac_res
   ac_cv_search_opendir=$ac_res
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
 fi
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext
-  if test "${ac_cv_search_opendir+set}" = set; then
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext
+  if ${ac_cv_search_opendir+:} false; then :
   break
 fi
 done
   break
 fi
 done
-if test "${ac_cv_search_opendir+set}" = set; then
-  :
+if ${ac_cv_search_opendir+:} false; then :
+
 else
   ac_cv_search_opendir=no
 fi
 rm conftest.$ac_ext
 LIBS=$ac_func_search_save_LIBS
 fi
 else
   ac_cv_search_opendir=no
 fi
 rm conftest.$ac_ext
 LIBS=$ac_func_search_save_LIBS
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_search_opendir" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_opendir" >&5
 $as_echo "$ac_cv_search_opendir" >&6; }
 ac_res=$ac_cv_search_opendir
 $as_echo "$ac_cv_search_opendir" >&6; }
 ac_res=$ac_cv_search_opendir
-if test "$ac_res" != no; then
+if test "$ac_res" != no; then :
   test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
 
 fi
 
 else
   test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
 
 fi
 
 else
-  { $as_echo "$as_me:$LINENO: checking for library containing opendir" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5
 $as_echo_n "checking for library containing opendir... " >&6; }
 $as_echo_n "checking for library containing opendir... " >&6; }
-if test "${ac_cv_search_opendir+set}" = set; then
+if ${ac_cv_search_opendir+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_func_search_save_LIBS=$LIBS
   $as_echo_n "(cached) " >&6
 else
   ac_func_search_save_LIBS=$LIBS
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
@@ -5590,70 +4867,39 @@ for ac_lib in '' x; do
     ac_res=-l$ac_lib
     LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
   fi
     ac_res=-l$ac_lib
     LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
   fi
-  rm -rf conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then
+  if ac_fn_c_try_link "$LINENO"; then :
   ac_cv_search_opendir=$ac_res
   ac_cv_search_opendir=$ac_res
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
 fi
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext
-  if test "${ac_cv_search_opendir+set}" = set; then
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext
+  if ${ac_cv_search_opendir+:} false; then :
   break
 fi
 done
   break
 fi
 done
-if test "${ac_cv_search_opendir+set}" = set; then
-  :
+if ${ac_cv_search_opendir+:} false; then :
+
 else
   ac_cv_search_opendir=no
 fi
 rm conftest.$ac_ext
 LIBS=$ac_func_search_save_LIBS
 fi
 else
   ac_cv_search_opendir=no
 fi
 rm conftest.$ac_ext
 LIBS=$ac_func_search_save_LIBS
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_search_opendir" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_opendir" >&5
 $as_echo "$ac_cv_search_opendir" >&6; }
 ac_res=$ac_cv_search_opendir
 $as_echo "$ac_cv_search_opendir" >&6; }
 ac_res=$ac_cv_search_opendir
-if test "$ac_res" != no; then
+if test "$ac_res" != no; then :
   test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
 
 fi
 
 fi
 
   test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
 
 fi
 
 fi
 
-{ $as_echo "$as_me:$LINENO: checking how to call gettimeofday" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to call gettimeofday" >&5
 $as_echo_n "checking how to call gettimeofday... " >&6; }
 $as_echo_n "checking how to call gettimeofday... " >&6; }
-  if test "${ac_cv_gettimeofday_args+set}" = set; then
+  if ${ac_cv_gettimeofday_args+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   $as_echo_n "(cached) " >&6
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <stdlib.h>
                     #include <sys/time.h>
 /* end confdefs.h.  */
 #include <stdlib.h>
                     #include <sys/time.h>
@@ -5666,34 +4912,10 @@ struct timeval tv; struct timezone tzp;
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+if ac_fn_c_try_compile "$LINENO"; then :
   ac_gettimeofday_args=2
 else
   ac_gettimeofday_args=2
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <stdlib.h>
                                     #include <sys/time.h>
 /* end confdefs.h.  */
 #include <stdlib.h>
                                     #include <sys/time.h>
@@ -5705,73 +4927,45 @@ struct timeval tv; gettimeofday(&tv);
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+if ac_fn_c_try_compile "$LINENO"; then :
   ac_gettimeofday_args=1
 else
   ac_gettimeofday_args=1
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_gettimeofday_args=0
+  ac_gettimeofday_args=0
 fi
 fi
-
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
     ac_cv_gettimeofday_args=$ac_gettimeofday_args
 fi
 
   ac_gettimeofday_args=$ac_cv_gettimeofday_args
   if test "$ac_gettimeofday_args" = 1 ; then
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
     ac_cv_gettimeofday_args=$ac_gettimeofday_args
 fi
 
   ac_gettimeofday_args=$ac_cv_gettimeofday_args
   if test "$ac_gettimeofday_args" = 1 ; then
-    cat >>confdefs.h <<\_ACEOF
-#define HAVE_GETTIMEOFDAY 1
-_ACEOF
+    $as_echo "#define HAVE_GETTIMEOFDAY 1" >>confdefs.h
 
 
-    { $as_echo "$as_me:$LINENO: result: one argument" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: one argument" >&5
 $as_echo "one argument" >&6; }
   elif test "$ac_gettimeofday_args" = 2 ; then
 $as_echo "one argument" >&6; }
   elif test "$ac_gettimeofday_args" = 2 ; then
-    cat >>confdefs.h <<\_ACEOF
-#define HAVE_GETTIMEOFDAY 1
-_ACEOF
+    $as_echo "#define HAVE_GETTIMEOFDAY 1" >>confdefs.h
 
 
-    cat >>confdefs.h <<\_ACEOF
-#define GETTIMEOFDAY_TWO_ARGS 1
-_ACEOF
+    $as_echo "#define GETTIMEOFDAY_TWO_ARGS 1" >>confdefs.h
 
 
-    { $as_echo "$as_me:$LINENO: result: two arguments" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: two arguments" >&5
 $as_echo "two arguments" >&6; }
   else
 $as_echo "two arguments" >&6; }
   else
-    { $as_echo "$as_me:$LINENO: result: unknown" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: unknown" >&5
 $as_echo "unknown" >&6; }
   fi
 
 # Check whether --enable-largefile was given.
 $as_echo "unknown" >&6; }
   fi
 
 # Check whether --enable-largefile was given.
-if test "${enable_largefile+set}" = set; then
+if test "${enable_largefile+set}" = set; then :
   enableval=$enable_largefile;
 fi
 
 if test "$enable_largefile" != no; then
 
   enableval=$enable_largefile;
 fi
 
 if test "$enable_largefile" != no; then
 
-  { $as_echo "$as_me:$LINENO: checking for special C compiler options needed for large files" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5
 $as_echo_n "checking for special C compiler options needed for large files... " >&6; }
 $as_echo_n "checking for special C compiler options needed for large files... " >&6; }
-if test "${ac_cv_sys_largefile_CC+set}" = set; then
+if ${ac_cv_sys_largefile_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_sys_largefile_CC=no
   $as_echo_n "(cached) " >&6
 else
   ac_cv_sys_largefile_CC=no
@@ -5780,11 +4974,7 @@ else
        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.
        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
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <sys/types.h>
  /* Check that off_t can represent 2**63 - 1 correctly.
 /* end confdefs.h.  */
 #include <sys/types.h>
  /* Check that off_t can represent 2**63 - 1 correctly.
@@ -5803,60 +4993,14 @@ main ()
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-        rm -rf conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+        if ac_fn_c_try_compile "$LINENO"; then :
   break
   break
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
 fi
 fi
-
 rm -f core conftest.err conftest.$ac_objext
         CC="$CC -n32"
 rm -f core conftest.err conftest.$ac_objext
         CC="$CC -n32"
-        rm -rf conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+        if ac_fn_c_try_compile "$LINENO"; then :
   ac_cv_sys_largefile_CC=' -n32'; break
   ac_cv_sys_largefile_CC=' -n32'; break
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
 fi
 fi
-
 rm -f core conftest.err conftest.$ac_objext
         break
        done
 rm -f core conftest.err conftest.$ac_objext
         break
        done
@@ -5864,23 +5008,19 @@ rm -f core conftest.err conftest.$ac_objext
        rm -rf conftest.$ac_ext
     fi
 fi
        rm -rf conftest.$ac_ext
     fi
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_sys_largefile_CC" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_CC" >&5
 $as_echo "$ac_cv_sys_largefile_CC" >&6; }
   if test "$ac_cv_sys_largefile_CC" != no; then
     CC=$CC$ac_cv_sys_largefile_CC
   fi
 
 $as_echo "$ac_cv_sys_largefile_CC" >&6; }
   if test "$ac_cv_sys_largefile_CC" != no; then
     CC=$CC$ac_cv_sys_largefile_CC
   fi
 
-  { $as_echo "$as_me:$LINENO: checking for _FILE_OFFSET_BITS value needed for large files" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5
 $as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; }
 $as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; }
-if test "${ac_cv_sys_file_offset_bits+set}" = set; then
+if ${ac_cv_sys_file_offset_bits+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   while :; do
   $as_echo_n "(cached) " >&6
 else
   while :; do
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <sys/types.h>
  /* Check that off_t can represent 2**63 - 1 correctly.
 /* end confdefs.h.  */
 #include <sys/types.h>
  /* Check that off_t can represent 2**63 - 1 correctly.
@@ -5899,38 +5039,11 @@ main ()
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+if ac_fn_c_try_compile "$LINENO"; then :
   ac_cv_sys_file_offset_bits=no; break
   ac_cv_sys_file_offset_bits=no; break
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
 fi
 fi
-
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #define _FILE_OFFSET_BITS 64
 #include <sys/types.h>
 /* end confdefs.h.  */
 #define _FILE_OFFSET_BITS 64
 #include <sys/types.h>
@@ -5950,38 +5063,15 @@ main ()
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+if ac_fn_c_try_compile "$LINENO"; then :
   ac_cv_sys_file_offset_bits=64; break
   ac_cv_sys_file_offset_bits=64; break
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
 fi
 fi
-
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   ac_cv_sys_file_offset_bits=unknown
   break
 done
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   ac_cv_sys_file_offset_bits=unknown
   break
 done
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_sys_file_offset_bits" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_file_offset_bits" >&5
 $as_echo "$ac_cv_sys_file_offset_bits" >&6; }
 case $ac_cv_sys_file_offset_bits in #(
   no | unknown) ;;
 $as_echo "$ac_cv_sys_file_offset_bits" >&6; }
 case $ac_cv_sys_file_offset_bits in #(
   no | unknown) ;;
@@ -5993,17 +5083,13 @@ _ACEOF
 esac
 rm -rf conftest*
   if test $ac_cv_sys_file_offset_bits = unknown; then
 esac
 rm -rf conftest*
   if test $ac_cv_sys_file_offset_bits = unknown; then
-    { $as_echo "$as_me:$LINENO: checking for _LARGE_FILES value needed for large files" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5
 $as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; }
 $as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; }
-if test "${ac_cv_sys_large_files+set}" = set; then
+if ${ac_cv_sys_large_files+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   while :; do
   $as_echo_n "(cached) " >&6
 else
   while :; do
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <sys/types.h>
  /* Check that off_t can represent 2**63 - 1 correctly.
 /* end confdefs.h.  */
 #include <sys/types.h>
  /* Check that off_t can represent 2**63 - 1 correctly.
@@ -6022,38 +5108,11 @@ main ()
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+if ac_fn_c_try_compile "$LINENO"; then :
   ac_cv_sys_large_files=no; break
   ac_cv_sys_large_files=no; break
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
 fi
 fi
-
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #define _LARGE_FILES 1
 #include <sys/types.h>
 /* end confdefs.h.  */
 #define _LARGE_FILES 1
 #include <sys/types.h>
@@ -6073,38 +5132,15 @@ main ()
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+if ac_fn_c_try_compile "$LINENO"; then :
   ac_cv_sys_large_files=1; break
   ac_cv_sys_large_files=1; break
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
 fi
 fi
-
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   ac_cv_sys_large_files=unknown
   break
 done
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   ac_cv_sys_large_files=unknown
   break
 done
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_sys_large_files" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_large_files" >&5
 $as_echo "$ac_cv_sys_large_files" >&6; }
 case $ac_cv_sys_large_files in #(
   no | unknown) ;;
 $as_echo "$ac_cv_sys_large_files" >&6; }
 case $ac_cv_sys_large_files in #(
   no | unknown) ;;
@@ -6116,421 +5152,113 @@ _ACEOF
 esac
 rm -rf conftest*
   fi
 esac
 rm -rf conftest*
   fi
-fi
-
 
 
 
 
+fi
 
 
+for ac_func in select fcntl uname nice setpriority getcwd getwd putenv sbrk
+do :
+  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
+  cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
 
 
+fi
+done
 
 
+for ac_func in sigaction syslog realpath setrlimit
+do :
+  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
+  cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
 
 
+fi
+done
 
 
+for ac_func in setlocale
+do :
+  ac_fn_c_check_func "$LINENO" "setlocale" "ac_cv_func_setlocale"
+if test "x$ac_cv_func_setlocale" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_SETLOCALE 1
+_ACEOF
 
 
+fi
+done
 
 
-for ac_func in select fcntl uname nice setpriority getcwd getwd putenv sbrk
-do
-as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
-$as_echo_n "checking for $ac_func... " >&6; }
-if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct icmp" >&5
+$as_echo_n "checking for struct icmp... " >&6; }
+if ${ac_cv_have_icmp+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   $as_echo_n "(cached) " >&6
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 /* end confdefs.h.  */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
-   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char $ac_func (); below.
-    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-    <limits.h> exists even on freestanding compilers.  */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char $ac_func ();
-/* The GNU C library defines this 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
-choke me
-#endif
-
+#include <stdlib.h>
+                   #include <stdio.h>
+                   #include <math.h>
+                   #include <unistd.h>
+                   #include <limits.h>
+                   #include <signal.h>
+                   #include <fcntl.h>
+                   #include <sys/types.h>
+                   #include <sys/time.h>
+                   #include <sys/ipc.h>
+                   #include <sys/shm.h>
+                   #include <sys/socket.h>
+                   #include <netinet/in_systm.h>
+                   #include <netinet/in.h>
+                   #include <netinet/ip.h>
+                   #include <netinet/ip_icmp.h>
+                   #include <netinet/udp.h>
+                   #include <arpa/inet.h>
+                   #include <netdb.h>
 int
 main ()
 {
 int
 main ()
 {
-return $ac_func ();
+struct icmp i;
+                   struct sockaddr s;
+                   struct sockaddr_in si;
+                   struct ip ip;
+                   i.icmp_type = ICMP_ECHO;
+                   i.icmp_code = 0;
+                   i.icmp_cksum = 0;
+                   i.icmp_id = 0;
+                   i.icmp_seq = 0;
+                   si.sin_family = AF_INET;
+                   #if defined(__DECC) || defined(_IP_VHL)
+                   ip.ip_vhl = 0;
+                   #else
+                   ip.ip_hl = 0;
+                   #endif
+
   ;
   return 0;
 }
 _ACEOF
   ;
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then
-  eval "$as_ac_var=yes"
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_have_icmp=yes
 else
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       eval "$as_ac_var=no"
-fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
+  ac_cv_have_icmp=no
 fi
 fi
-ac_res=`eval 'as_val=${'$as_ac_var'}
-                $as_echo "$as_val"'`
-              { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-as_val=`eval 'as_val=${'$as_ac_var'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 fi
-done
-
-
-
-
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_icmp" >&5
+$as_echo "$ac_cv_have_icmp" >&6; }
+ if test "$ac_cv_have_icmp" = yes ; then
+   $as_echo "#define HAVE_ICMP 1" >>confdefs.h
 
 
-for ac_func in sigaction syslog realpath setrlimit
-do
-as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
-$as_echo_n "checking for $ac_func... " >&6; }
-if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+ fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct icmphdr" >&5
+$as_echo_n "checking for struct icmphdr... " >&6; }
+if ${ac_cv_have_icmphdr+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   $as_echo_n "(cached) " >&6
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
-   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char $ac_func (); below.
-    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-    <limits.h> exists even on freestanding compilers.  */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char $ac_func ();
-/* The GNU C library defines this 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
-choke me
-#endif
-
-int
-main ()
-{
-return $ac_func ();
-  ;
-  return 0;
-}
-_ACEOF
-rm -rf conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then
-  eval "$as_ac_var=yes"
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       eval "$as_ac_var=no"
-fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-fi
-ac_res=`eval 'as_val=${'$as_ac_var'}
-                $as_echo "$as_val"'`
-              { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-as_val=`eval 'as_val=${'$as_ac_var'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-
-for ac_func in setlocale
-do
-as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
-$as_echo_n "checking for $ac_func... " >&6; }
-if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
-  $as_echo_n "(cached) " >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
-   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char $ac_func (); below.
-    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-    <limits.h> exists even on freestanding compilers.  */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char $ac_func ();
-/* The GNU C library defines this 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
-choke me
-#endif
-
-int
-main ()
-{
-return $ac_func ();
-  ;
-  return 0;
-}
-_ACEOF
-rm -rf conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then
-  eval "$as_ac_var=yes"
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       eval "$as_ac_var=no"
-fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-fi
-ac_res=`eval 'as_val=${'$as_ac_var'}
-                $as_echo "$as_val"'`
-              { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-as_val=`eval 'as_val=${'$as_ac_var'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-{ $as_echo "$as_me:$LINENO: checking for struct icmp" >&5
-$as_echo_n "checking for struct icmp... " >&6; }
-if test "${ac_cv_have_icmp+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <stdlib.h>
-                   #include <stdio.h>
-                   #include <math.h>
-                   #include <unistd.h>
-                   #include <limits.h>
-                   #include <signal.h>
-                   #include <fcntl.h>
-                   #include <sys/types.h>
-                   #include <sys/time.h>
-                   #include <sys/ipc.h>
-                   #include <sys/shm.h>
-                   #include <sys/socket.h>
-                   #include <netinet/in_systm.h>
-                   #include <netinet/in.h>
-                   #include <netinet/ip.h>
-                   #include <netinet/ip_icmp.h>
-                   #include <netinet/udp.h>
-                   #include <arpa/inet.h>
-                   #include <netdb.h>
-int
-main ()
-{
-struct icmp i;
-                   struct sockaddr s;
-                   struct sockaddr_in si;
-                   struct ip ip;
-                   i.icmp_type = ICMP_ECHO;
-                   i.icmp_code = 0;
-                   i.icmp_cksum = 0;
-                   i.icmp_id = 0;
-                   i.icmp_seq = 0;
-                   si.sin_family = AF_INET;
-                   #if defined(__DECC) || defined(_IP_VHL)
-                   ip.ip_vhl = 0;
-                   #else
-                   ip.ip_hl = 0;
-                   #endif
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -rf conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_have_icmp=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_have_icmp=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_icmp" >&5
-$as_echo "$ac_cv_have_icmp" >&6; }
- if test "$ac_cv_have_icmp" = yes ; then
-   cat >>confdefs.h <<\_ACEOF
-#define HAVE_ICMP 1
-_ACEOF
-
- fi
-{ $as_echo "$as_me:$LINENO: checking for struct icmphdr" >&5
-$as_echo_n "checking for struct icmphdr... " >&6; }
-if test "${ac_cv_have_icmphdr+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <stdlib.h>
                    #include <stdio.h>
 /* end confdefs.h.  */
 #include <stdlib.h>
                    #include <stdio.h>
@@ -6569,52 +5297,25 @@ struct icmphdr i;
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+if ac_fn_c_try_compile "$LINENO"; then :
   ac_cv_have_icmphdr=yes
 else
   ac_cv_have_icmphdr=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_have_icmphdr=no
+  ac_cv_have_icmphdr=no
 fi
 fi
-
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_icmphdr" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_icmphdr" >&5
 $as_echo "$ac_cv_have_icmphdr" >&6; }
  if test "$ac_cv_have_icmphdr" = yes ; then
 $as_echo "$ac_cv_have_icmphdr" >&6; }
  if test "$ac_cv_have_icmphdr" = yes ; then
-   cat >>confdefs.h <<\_ACEOF
-#define HAVE_ICMPHDR 1
-_ACEOF
+   $as_echo "#define HAVE_ICMPHDR 1" >>confdefs.h
 
  fi
 
  fi
-{ $as_echo "$as_me:$LINENO: checking for getifaddrs" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for getifaddrs" >&5
 $as_echo_n "checking for getifaddrs... " >&6; }
 $as_echo_n "checking for getifaddrs... " >&6; }
-if test "${ac_cv_have_getifaddrs+set}" = set; then
+if ${ac_cv_have_getifaddrs+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   $as_echo_n "(cached) " >&6
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <stdlib.h>
                    #include <unistd.h>
 /* end confdefs.h.  */
 #include <stdlib.h>
                    #include <unistd.h>
@@ -6631,196 +5332,39 @@ struct ifaddrs *ifa;
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+if ac_fn_c_try_compile "$LINENO"; then :
   ac_cv_have_getifaddrs=yes
 else
   ac_cv_have_getifaddrs=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_have_getifaddrs=no
+  ac_cv_have_getifaddrs=no
 fi
 fi
-
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_getifaddrs" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_getifaddrs" >&5
 $as_echo "$ac_cv_have_getifaddrs" >&6; }
  if test "$ac_cv_have_getifaddrs" = yes ; then
 $as_echo "$ac_cv_have_getifaddrs" >&6; }
  if test "$ac_cv_have_getifaddrs" = yes ; then
-   cat >>confdefs.h <<\_ACEOF
-#define HAVE_GETIFADDRS 1
-_ACEOF
+   $as_echo "#define HAVE_GETIFADDRS 1" >>confdefs.h
 
  fi
 
  fi
-
-
 for ac_header in crypt.h sys/select.h
 for ac_header in crypt.h sys/select.h
-do
-as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-  { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
-$as_echo_n "checking for $ac_header... " >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-  $as_echo_n "(cached) " >&6
-fi
-ac_res=`eval 'as_val=${'$as_ac_Header'}
-                $as_echo "$as_val"'`
-              { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-else
-  # Is the header compilable?
-{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5
-$as_echo_n "checking $ac_header usability... " >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-#include <$ac_header>
+do :
+  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
+  cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
 _ACEOF
-rm -rf conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_header_compiler=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
 
-       ac_header_compiler=no
 fi
 
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-$as_echo "$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5
-$as_echo_n "checking $ac_header presence... " >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <$ac_header>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then
-  ac_header_preproc=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-  ac_header_preproc=no
-fi
-
-rm -rf conftest.err conftest.$ac_ext
-{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-$as_echo "$ac_header_preproc" >&6; }
-
-# So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
-  yes:no: )
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
-    ac_header_preproc=yes
-    ;;
-  no:yes:* )
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
-$as_echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
-$as_echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-
-    ;;
-esac
-{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
-$as_echo_n "checking for $ac_header... " >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-  $as_echo_n "(cached) " >&6
-else
-  eval "$as_ac_Header=\$ac_header_preproc"
-fi
-ac_res=`eval 'as_val=${'$as_ac_Header'}
-                $as_echo "$as_val"'`
-              { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-
-fi
-as_val=`eval 'as_val=${'$as_ac_Header'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
+done
 
 for ac_prog in perl5 perl
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 
 for ac_prog in perl5 perl
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_PERL+set}" = set; then
+if ${ac_cv_path_PERL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $PERL in
   $as_echo_n "(cached) " >&6
 else
   case $PERL in
@@ -6833,14 +5377,14 @@ for as_dir in $PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_path_PERL="$as_dir/$ac_word$ac_exec_ext"
     ac_cv_path_PERL="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
     break 2
   fi
 done
-done
+  done
 IFS=$as_save_IFS
 
   ;;
 IFS=$as_save_IFS
 
   ;;
@@ -6848,10 +5392,10 @@ esac
 fi
 PERL=$ac_cv_path_PERL
 if test -n "$PERL"; then
 fi
 PERL=$ac_cv_path_PERL
 if test -n "$PERL"; then
-  { $as_echo "$as_me:$LINENO: result: $PERL" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PERL" >&5
 $as_echo "$PERL" >&6; }
 else
 $as_echo "$PERL" >&6; }
 else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
 
 $as_echo "no" >&6; }
 fi
 
@@ -6862,14 +5406,14 @@ done
   if test -z "$PERL" ; then
     PERL_VERSION=0
   else
   if test -z "$PERL" ; then
     PERL_VERSION=0
   else
-    { $as_echo "$as_me:$LINENO: checking perl version" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking perl version" >&5
 $as_echo_n "checking perl version... " >&6; }
 $as_echo_n "checking perl version... " >&6; }
-if test "${ac_cv_perl_version+set}" = set; then
+if ${ac_cv_perl_version+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_perl_version=`$PERL -e "$perl_version_cmd"`
 fi
   $as_echo_n "(cached) " >&6
 else
   ac_cv_perl_version=`$PERL -e "$perl_version_cmd"`
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_perl_version" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_perl_version" >&5
 $as_echo "$ac_cv_perl_version" >&6; }
     PERL_VERSION=$ac_cv_perl_version
   fi
 $as_echo "$ac_cv_perl_version" >&6; }
     PERL_VERSION=$ac_cv_perl_version
   fi
@@ -6880,12 +5424,12 @@ if test -z "$PERL" ; then
   PERL=/usr/bin/perl
 fi
 
   PERL=/usr/bin/perl
 fi
 
-{ $as_echo "$as_me:$LINENO: checking for X" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for X" >&5
 $as_echo_n "checking for X... " >&6; }
 
 
 # Check whether --with-x was given.
 $as_echo_n "checking for X... " >&6; }
 
 
 # Check whether --with-x was given.
-if test "${with_x+set}" = set; then
+if test "${with_x+set}" = set; then :
   withval=$with_x;
 fi
 
   withval=$with_x;
 fi
 
@@ -6895,10 +5439,8 @@ if test "x$with_x" = xno; then
   have_x=disabled
 else
   case $x_includes,$x_libraries in #(
   have_x=disabled
 else
   case $x_includes,$x_libraries in #(
-    *\'*) { { $as_echo "$as_me:$LINENO: error: cannot use X directory names containing '" >&5
-$as_echo "$as_me: error: cannot use X directory names containing '" >&2;}
-   { (exit 1); exit 1; }; };; #(
-    *,NONE | NONE,*) if test "${ac_cv_have_x+set}" = set; then
+    *\'*) as_fn_error $? "cannot use X directory names containing '" "$LINENO" 5;; #(
+    *,NONE | NONE,*) if ${ac_cv_have_x+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   # One or both of the vars are not set, and there is no cached value.
   $as_echo_n "(cached) " >&6
 else
   # One or both of the vars are not set, and there is no cached value.
@@ -6915,7 +5457,7 @@ libdir:
        @echo libdir='${LIBDIR}'
 _ACEOF
   if (export CC; ${XMKMF-xmkmf}) >/dev/null 2>/dev/null && test -f Makefile; then
        @echo libdir='${LIBDIR}'
 _ACEOF
   if (export CC; ${XMKMF-xmkmf}) >/dev/null 2>/dev/null && test -f Makefile; then
-    # GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+    # GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
     for ac_var in incroot usrlibdir libdir; do
       eval "ac_im_$ac_var=\`\${MAKE-make} $ac_var 2>/dev/null | sed -n 's/^$ac_var=//p'\`"
     done
     for ac_var in incroot usrlibdir libdir; do
       eval "ac_im_$ac_var=\`\${MAKE-make} $ac_var 2>/dev/null | sed -n 's/^$ac_var=//p'\`"
     done
@@ -6946,21 +5488,25 @@ fi
 # Check X11 before X11Rn because it is often a symlink to the current release.
 ac_x_header_dirs='
 /usr/X11/include
 # 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
 
 /usr/include/X11
 /usr/X11R6/include
 /usr/X11R5/include
 /usr/X11R4/include
 
 /usr/include/X11
+/usr/include/X11R7
 /usr/include/X11R6
 /usr/include/X11R5
 /usr/include/X11R4
 
 /usr/local/X11/include
 /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/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/local/include/X11R6
 /usr/local/include/X11R5
 /usr/local/include/X11R4
@@ -6982,37 +5528,14 @@ ac_x_header_dirs='
 if test "$ac_x_includes" = no; then
   # Guess where to find include files, by looking for Xlib.h.
   # First, try using that file with no special directory specified.
 if test "$ac_x_includes" = no; then
   # Guess where to find include files, by looking for Xlib.h.
   # First, try using that file with no special directory specified.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <X11/Xlib.h>
 _ACEOF
 /* end confdefs.h.  */
 #include <X11/Xlib.h>
 _ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then
+if ac_fn_c_try_cpp "$LINENO"; then :
   # We can compile using X headers with no special include directory.
 ac_x_includes=
 else
   # We can compile using X headers with no special include directory.
 ac_x_includes=
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
   for ac_dir in $ac_x_header_dirs; do
   if test -r "$ac_dir/X11/Xlib.h"; then
     ac_x_includes=$ac_dir
   for ac_dir in $ac_x_header_dirs; do
   if test -r "$ac_dir/X11/Xlib.h"; then
     ac_x_includes=$ac_dir
@@ -7020,8 +5543,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
   fi
 done
 fi
   fi
 done
 fi
-
-rm -rf conftest.err conftest.$ac_ext
+rm -rf conftest.err conftest.i conftest.$ac_ext
 fi # $ac_x_includes = no
 
 if test "$ac_x_libraries" = no; then
 fi # $ac_x_includes = no
 
 if test "$ac_x_libraries" = no; then
@@ -7030,11 +5552,7 @@ if test "$ac_x_libraries" = no; then
   # Don't add to $LIBS permanently.
   ac_save_LIBS=$LIBS
   LIBS="-lX11 $LIBS"
   # Don't add to $LIBS permanently.
   ac_save_LIBS=$LIBS
   LIBS="-lX11 $LIBS"
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <X11/Xlib.h>
 int
 /* end confdefs.h.  */
 #include <X11/Xlib.h>
 int
@@ -7045,35 +5563,12 @@ XrmInitialize ()
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then
+if ac_fn_c_try_link "$LINENO"; then :
   LIBS=$ac_save_LIBS
 # We can link X programs with no special library path.
 ac_x_libraries=
 else
   LIBS=$ac_save_LIBS
 # We can link X programs with no special library path.
 ac_x_libraries=
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       LIBS=$ac_save_LIBS
+  LIBS=$ac_save_LIBS
 for ac_dir in `$as_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_dir in `$as_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!
@@ -7085,10 +5580,8 @@ do
   done
 done
 fi
   done
 done
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
 fi # $ac_x_libraries = no
 
 case $ac_x_includes,$ac_x_libraries in #(
 fi # $ac_x_libraries = no
 
 case $ac_x_includes,$ac_x_libraries in #(
@@ -7109,7 +5602,7 @@ fi
 fi # $with_x != no
 
 if test "$have_x" != yes; then
 fi # $with_x != no
 
 if test "$have_x" != yes; then
-  { $as_echo "$as_me:$LINENO: result: $have_x" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_x" >&5
 $as_echo "$have_x" >&6; }
   no_x=yes
 else
 $as_echo "$have_x" >&6; }
   no_x=yes
 else
@@ -7120,16 +5613,14 @@ else
   ac_cv_have_x="have_x=yes\
        ac_x_includes='$x_includes'\
        ac_x_libraries='$x_libraries'"
   ac_cv_have_x="have_x=yes\
        ac_x_includes='$x_includes'\
        ac_x_libraries='$x_libraries'"
-  { $as_echo "$as_me:$LINENO: result: libraries $x_libraries, headers $x_includes" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: libraries $x_libraries, headers $x_includes" >&5
 $as_echo "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.
 
 $as_echo "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 <<\_ACEOF
-#define X_DISPLAY_MISSING 1
-_ACEOF
+$as_echo "#define X_DISPLAY_MISSING 1" >>confdefs.h
 
   X_CFLAGS= X_PRE_LIBS= X_LIBS= X_EXTRA_LIBS=
 else
 
   X_CFLAGS= X_PRE_LIBS= X_LIBS= X_EXTRA_LIBS=
 else
@@ -7142,16 +5633,12 @@ else
     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 . . . .
     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 . . . .
-    { $as_echo "$as_me:$LINENO: checking whether -R must be followed by a space" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -R must be followed by a space" >&5
 $as_echo_n "checking whether -R must be followed by a space... " >&6; }
     ac_xsave_LIBS=$LIBS; LIBS="$LIBS -R$x_libraries"
     ac_xsave_c_werror_flag=$ac_c_werror_flag
     ac_c_werror_flag=yes
 $as_echo_n "checking whether -R must be followed by a space... " >&6; }
     ac_xsave_LIBS=$LIBS; LIBS="$LIBS -R$x_libraries"
     ac_xsave_c_werror_flag=$ac_c_werror_flag
     ac_c_werror_flag=yes
-    cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
 /* end confdefs.h.  */
 
 int
@@ -7162,40 +5649,13 @@ main ()
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then
-  { $as_echo "$as_me:$LINENO: result: no" >&5
+if ac_fn_c_try_link "$LINENO"; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
        X_LIBS="$X_LIBS -R$x_libraries"
 else
 $as_echo "no" >&6; }
        X_LIBS="$X_LIBS -R$x_libraries"
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       LIBS="$ac_xsave_LIBS -R $x_libraries"
-       cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  LIBS="$ac_xsave_LIBS -R $x_libraries"
+       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
 /* end confdefs.h.  */
 
 int
@@ -7206,46 +5666,19 @@ main ()
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then
-  { $as_echo "$as_me:$LINENO: result: yes" >&5
+if ac_fn_c_try_link "$LINENO"; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
          X_LIBS="$X_LIBS -R $x_libraries"
 else
 $as_echo "yes" >&6; }
          X_LIBS="$X_LIBS -R $x_libraries"
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       { $as_echo "$as_me:$LINENO: result: neither works" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: neither works" >&5
 $as_echo "neither works" >&6; }
 fi
 $as_echo "neither works" >&6; }
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
 fi
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
     ac_c_werror_flag=$ac_xsave_c_werror_flag
     LIBS=$ac_xsave_LIBS
   fi
     ac_c_werror_flag=$ac_xsave_c_werror_flag
     LIBS=$ac_xsave_LIBS
   fi
@@ -7261,11 +5694,7 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
     # 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"
     # 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
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
@@ -7283,44 +5712,17 @@ return XOpenDisplay ();
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then
-  :
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+if ac_fn_c_try_link "$LINENO"; then :
 
 
-       { $as_echo "$as_me:$LINENO: checking for dnet_ntoa in -ldnet" >&5
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dnet_ntoa in -ldnet" >&5
 $as_echo_n "checking for dnet_ntoa in -ldnet... " >&6; }
 $as_echo_n "checking for dnet_ntoa in -ldnet... " >&6; }
-if test "${ac_cv_lib_dnet_dnet_ntoa+set}" = set; then
+if ${ac_cv_lib_dnet_dnet_ntoa+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-ldnet  $LIBS"
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-ldnet  $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
@@ -7338,59 +5740,30 @@ return dnet_ntoa ();
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then
+if ac_fn_c_try_link "$LINENO"; then :
   ac_cv_lib_dnet_dnet_ntoa=yes
 else
   ac_cv_lib_dnet_dnet_ntoa=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_lib_dnet_dnet_ntoa=no
+  ac_cv_lib_dnet_dnet_ntoa=no
 fi
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dnet_dnet_ntoa" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dnet_dnet_ntoa" >&5
 $as_echo "$ac_cv_lib_dnet_dnet_ntoa" >&6; }
 $as_echo "$ac_cv_lib_dnet_dnet_ntoa" >&6; }
-if test "x$ac_cv_lib_dnet_dnet_ntoa" = x""yes; then
+if test "x$ac_cv_lib_dnet_dnet_ntoa" = xyes; then :
   X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet"
 fi
 
     if test $ac_cv_lib_dnet_dnet_ntoa = no; then
   X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet"
 fi
 
     if test $ac_cv_lib_dnet_dnet_ntoa = no; then
-      { $as_echo "$as_me:$LINENO: checking for dnet_ntoa in -ldnet_stub" >&5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dnet_ntoa in -ldnet_stub" >&5
 $as_echo_n "checking for dnet_ntoa in -ldnet_stub... " >&6; }
 $as_echo_n "checking for dnet_ntoa in -ldnet_stub... " >&6; }
-if test "${ac_cv_lib_dnet_stub_dnet_ntoa+set}" = set; then
+if ${ac_cv_lib_dnet_stub_dnet_ntoa+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-ldnet_stub  $LIBS"
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-ldnet_stub  $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
@@ -7408,52 +5781,25 @@ return dnet_ntoa ();
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then
+if ac_fn_c_try_link "$LINENO"; then :
   ac_cv_lib_dnet_stub_dnet_ntoa=yes
 else
   ac_cv_lib_dnet_stub_dnet_ntoa=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_lib_dnet_stub_dnet_ntoa=no
+  ac_cv_lib_dnet_stub_dnet_ntoa=no
 fi
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dnet_stub_dnet_ntoa" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dnet_stub_dnet_ntoa" >&5
 $as_echo "$ac_cv_lib_dnet_stub_dnet_ntoa" >&6; }
 $as_echo "$ac_cv_lib_dnet_stub_dnet_ntoa" >&6; }
-if test "x$ac_cv_lib_dnet_stub_dnet_ntoa" = x""yes; then
+if test "x$ac_cv_lib_dnet_stub_dnet_ntoa" = xyes; then :
   X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub"
 fi
 
     fi
 fi
   X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub"
 fi
 
     fi
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err 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,
     LIBS="$ac_xsave_LIBS"
 
     # msh@cis.ufl.edu says -lnsl (and -lsocket) are needed for his 386/AT,
@@ -7464,105 +5810,20 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
     # 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.
     # 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.
-    { $as_echo "$as_me:$LINENO: checking for gethostbyname" >&5
-$as_echo_n "checking for gethostbyname... " >&6; }
-if test "${ac_cv_func_gethostbyname+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-/* Define gethostbyname to an innocuous variant, in case <limits.h> declares gethostbyname.
-   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
-#define gethostbyname innocuous_gethostbyname
-
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char gethostbyname (); below.
-    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-    <limits.h> exists even on freestanding compilers.  */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef gethostbyname
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char gethostbyname ();
-/* The GNU C library defines this 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
-choke me
-#endif
-
-int
-main ()
-{
-return gethostbyname ();
-  ;
-  return 0;
-}
-_ACEOF
-rm -rf conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then
-  ac_cv_func_gethostbyname=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_func_gethostbyname=no
-fi
+    ac_fn_c_check_func "$LINENO" "gethostbyname" "ac_cv_func_gethostbyname"
+if test "x$ac_cv_func_gethostbyname" = xyes; then :
 
 
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
 fi
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_gethostbyname" >&5
-$as_echo "$ac_cv_func_gethostbyname" >&6; }
 
     if test $ac_cv_func_gethostbyname = no; then
 
     if test $ac_cv_func_gethostbyname = no; then
-      { $as_echo "$as_me:$LINENO: checking for gethostbyname in -lnsl" >&5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lnsl" >&5
 $as_echo_n "checking for gethostbyname in -lnsl... " >&6; }
 $as_echo_n "checking for gethostbyname in -lnsl... " >&6; }
-if test "${ac_cv_lib_nsl_gethostbyname+set}" = set; then
+if ${ac_cv_lib_nsl_gethostbyname+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lnsl  $LIBS"
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lnsl  $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
@@ -7580,59 +5841,30 @@ return gethostbyname ();
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then
+if ac_fn_c_try_link "$LINENO"; then :
   ac_cv_lib_nsl_gethostbyname=yes
 else
   ac_cv_lib_nsl_gethostbyname=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_lib_nsl_gethostbyname=no
+  ac_cv_lib_nsl_gethostbyname=no
 fi
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_nsl_gethostbyname" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_gethostbyname" >&5
 $as_echo "$ac_cv_lib_nsl_gethostbyname" >&6; }
 $as_echo "$ac_cv_lib_nsl_gethostbyname" >&6; }
-if test "x$ac_cv_lib_nsl_gethostbyname" = x""yes; then
+if test "x$ac_cv_lib_nsl_gethostbyname" = xyes; then :
   X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl"
 fi
 
       if test $ac_cv_lib_nsl_gethostbyname = no; then
   X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl"
 fi
 
       if test $ac_cv_lib_nsl_gethostbyname = no; then
-       { $as_echo "$as_me:$LINENO: checking for gethostbyname in -lbsd" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lbsd" >&5
 $as_echo_n "checking for gethostbyname in -lbsd... " >&6; }
 $as_echo_n "checking for gethostbyname in -lbsd... " >&6; }
-if test "${ac_cv_lib_bsd_gethostbyname+set}" = set; then
+if ${ac_cv_lib_bsd_gethostbyname+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lbsd  $LIBS"
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lbsd  $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
@@ -7650,43 +5882,18 @@ return gethostbyname ();
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then
+if ac_fn_c_try_link "$LINENO"; then :
   ac_cv_lib_bsd_gethostbyname=yes
 else
   ac_cv_lib_bsd_gethostbyname=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_lib_bsd_gethostbyname=no
+  ac_cv_lib_bsd_gethostbyname=no
 fi
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_bsd_gethostbyname" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bsd_gethostbyname" >&5
 $as_echo "$ac_cv_lib_bsd_gethostbyname" >&6; }
 $as_echo "$ac_cv_lib_bsd_gethostbyname" >&6; }
-if test "x$ac_cv_lib_bsd_gethostbyname" = x""yes; then
+if test "x$ac_cv_lib_bsd_gethostbyname" = xyes; then :
   X_EXTRA_LIBS="$X_EXTRA_LIBS -lbsd"
 fi
 
   X_EXTRA_LIBS="$X_EXTRA_LIBS -lbsd"
 fi
 
@@ -7700,33 +5907,21 @@ fi
     # variants that don't use the name server (or something).  -lsocket
     # must be given before -lnsl if both are needed.  We assume that
     # if connect needs -lnsl, so does gethostbyname.
     # variants that don't use the name server (or something).  -lsocket
     # must be given before -lnsl if both are needed.  We assume that
     # if connect needs -lnsl, so does gethostbyname.
-    { $as_echo "$as_me:$LINENO: checking for connect" >&5
-$as_echo_n "checking for connect... " >&6; }
-if test "${ac_cv_func_connect+set}" = set; then
+    ac_fn_c_check_func "$LINENO" "connect" "ac_cv_func_connect"
+if test "x$ac_cv_func_connect" = xyes; then :
+
+fi
+
+    if test $ac_cv_func_connect = no; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for connect in -lsocket" >&5
+$as_echo_n "checking for connect in -lsocket... " >&6; }
+if ${ac_cv_lib_socket_connect+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   $as_echo_n "(cached) " >&6
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lsocket $X_EXTRA_LIBS $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 /* end confdefs.h.  */
-/* Define connect to an innocuous variant, in case <limits.h> declares connect.
-   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
-#define connect innocuous_connect
-
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char connect (); below.
-    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-    <limits.h> exists even on freestanding compilers.  */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef connect
 
 /* Override any GCC internal prototype to avoid an error.
    Use char because int might match the return type of a GCC
 
 /* Override any GCC internal prototype to avoid an error.
    Use char because int might match the return type of a GCC
@@ -7735,13 +5930,6 @@ cat >>conftest.$ac_ext <<_ACEOF
 extern "C"
 #endif
 char connect ();
 extern "C"
 #endif
 char connect ();
-/* The GNU C library defines this 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
-choke me
-#endif
-
 int
 main ()
 {
 int
 main ()
 {
@@ -7750,214 +5938,38 @@ return connect ();
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then
-  ac_cv_func_connect=yes
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_socket_connect=yes
 else
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_func_connect=no
+  ac_cv_lib_socket_connect=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_connect" >&5
+$as_echo "$ac_cv_lib_socket_connect" >&6; }
+if test "x$ac_cv_lib_socket_connect" = xyes; then :
+  X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS"
 fi
 
 fi
 
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
+    fi
+
+    # Guillermo Gomez says -lposix is necessary on A/UX.
+    ac_fn_c_check_func "$LINENO" "remove" "ac_cv_func_remove"
+if test "x$ac_cv_func_remove" = xyes; then :
+
 fi
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_connect" >&5
-$as_echo "$ac_cv_func_connect" >&6; }
-
-    if test $ac_cv_func_connect = no; then
-      { $as_echo "$as_me:$LINENO: checking for connect in -lsocket" >&5
-$as_echo_n "checking for connect in -lsocket... " >&6; }
-if test "${ac_cv_lib_socket_connect+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lsocket $X_EXTRA_LIBS $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char connect ();
-int
-main ()
-{
-return connect ();
-  ;
-  return 0;
-}
-_ACEOF
-rm -rf conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then
-  ac_cv_lib_socket_connect=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_lib_socket_connect=no
-fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_socket_connect" >&5
-$as_echo "$ac_cv_lib_socket_connect" >&6; }
-if test "x$ac_cv_lib_socket_connect" = x""yes; then
-  X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS"
-fi
-
-    fi
-
-    # Guillermo Gomez says -lposix is necessary on A/UX.
-    { $as_echo "$as_me:$LINENO: checking for remove" >&5
-$as_echo_n "checking for remove... " >&6; }
-if test "${ac_cv_func_remove+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-/* Define remove to an innocuous variant, in case <limits.h> declares remove.
-   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
-#define remove innocuous_remove
-
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char remove (); below.
-    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-    <limits.h> exists even on freestanding compilers.  */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef remove
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char remove ();
-/* The GNU C library defines this 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
-choke me
-#endif
-
-int
-main ()
-{
-return remove ();
-  ;
-  return 0;
-}
-_ACEOF
-rm -rf conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then
-  ac_cv_func_remove=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_func_remove=no
-fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_remove" >&5
-$as_echo "$ac_cv_func_remove" >&6; }
 
     if test $ac_cv_func_remove = no; then
 
     if test $ac_cv_func_remove = no; then
-      { $as_echo "$as_me:$LINENO: checking for remove in -lposix" >&5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for remove in -lposix" >&5
 $as_echo_n "checking for remove in -lposix... " >&6; }
 $as_echo_n "checking for remove in -lposix... " >&6; }
-if test "${ac_cv_lib_posix_remove+set}" = set; then
+if ${ac_cv_lib_posix_remove+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lposix  $LIBS"
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lposix  $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
@@ -7975,148 +5987,38 @@ return remove ();
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then
+if ac_fn_c_try_link "$LINENO"; then :
   ac_cv_lib_posix_remove=yes
 else
   ac_cv_lib_posix_remove=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_lib_posix_remove=no
+  ac_cv_lib_posix_remove=no
 fi
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_posix_remove" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_posix_remove" >&5
 $as_echo "$ac_cv_lib_posix_remove" >&6; }
 $as_echo "$ac_cv_lib_posix_remove" >&6; }
-if test "x$ac_cv_lib_posix_remove" = x""yes; then
+if test "x$ac_cv_lib_posix_remove" = xyes; then :
   X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix"
 fi
 
     fi
 
     # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay.
   X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix"
 fi
 
     fi
 
     # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay.
-    { $as_echo "$as_me:$LINENO: checking for shmat" >&5
-$as_echo_n "checking for shmat... " >&6; }
-if test "${ac_cv_func_shmat+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-/* Define shmat to an innocuous variant, in case <limits.h> declares shmat.
-   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
-#define shmat innocuous_shmat
-
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char shmat (); below.
-    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-    <limits.h> exists even on freestanding compilers.  */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef shmat
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char shmat ();
-/* The GNU C library defines this 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
-choke me
-#endif
-
-int
-main ()
-{
-return shmat ();
-  ;
-  return 0;
-}
-_ACEOF
-rm -rf conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then
-  ac_cv_func_shmat=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+    ac_fn_c_check_func "$LINENO" "shmat" "ac_cv_func_shmat"
+if test "x$ac_cv_func_shmat" = xyes; then :
 
 
-       ac_cv_func_shmat=no
 fi
 
 fi
 
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_shmat" >&5
-$as_echo "$ac_cv_func_shmat" >&6; }
-
     if test $ac_cv_func_shmat = no; then
     if test $ac_cv_func_shmat = no; then
-      { $as_echo "$as_me:$LINENO: checking for shmat in -lipc" >&5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shmat in -lipc" >&5
 $as_echo_n "checking for shmat in -lipc... " >&6; }
 $as_echo_n "checking for shmat in -lipc... " >&6; }
-if test "${ac_cv_lib_ipc_shmat+set}" = set; then
+if ${ac_cv_lib_ipc_shmat+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lipc  $LIBS"
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lipc  $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
@@ -8134,43 +6036,18 @@ return shmat ();
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then
+if ac_fn_c_try_link "$LINENO"; then :
   ac_cv_lib_ipc_shmat=yes
 else
   ac_cv_lib_ipc_shmat=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_lib_ipc_shmat=no
+  ac_cv_lib_ipc_shmat=no
 fi
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_ipc_shmat" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ipc_shmat" >&5
 $as_echo "$ac_cv_lib_ipc_shmat" >&6; }
 $as_echo "$ac_cv_lib_ipc_shmat" >&6; }
-if test "x$ac_cv_lib_ipc_shmat" = x""yes; then
+if test "x$ac_cv_lib_ipc_shmat" = xyes; then :
   X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc"
 fi
 
   X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc"
 fi
 
@@ -8186,18 +6063,14 @@ fi
   # 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
   # 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
-  { $as_echo "$as_me:$LINENO: checking for IceConnectionNumber in -lICE" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for IceConnectionNumber in -lICE" >&5
 $as_echo_n "checking for IceConnectionNumber in -lICE... " >&6; }
 $as_echo_n "checking for IceConnectionNumber in -lICE... " >&6; }
-if test "${ac_cv_lib_ICE_IceConnectionNumber+set}" = set; then
+if ${ac_cv_lib_ICE_IceConnectionNumber+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lICE $X_EXTRA_LIBS $LIBS"
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lICE $X_EXTRA_LIBS $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
@@ -8215,43 +6088,18 @@ return IceConnectionNumber ();
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then
+if ac_fn_c_try_link "$LINENO"; then :
   ac_cv_lib_ICE_IceConnectionNumber=yes
 else
   ac_cv_lib_ICE_IceConnectionNumber=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_lib_ICE_IceConnectionNumber=no
+  ac_cv_lib_ICE_IceConnectionNumber=no
 fi
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_ICE_IceConnectionNumber" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ICE_IceConnectionNumber" >&5
 $as_echo "$ac_cv_lib_ICE_IceConnectionNumber" >&6; }
 $as_echo "$ac_cv_lib_ICE_IceConnectionNumber" >&6; }
-if test "x$ac_cv_lib_ICE_IceConnectionNumber" = x""yes; then
+if test "x$ac_cv_lib_ICE_IceConnectionNumber" = xyes; then :
   X_PRE_LIBS="$X_PRE_LIBS -lSM -lICE"
 fi
 
   X_PRE_LIBS="$X_PRE_LIBS -lSM -lICE"
 fi
 
@@ -8261,15 +6109,13 @@ fi
 
 
 if test "$have_x" != yes; then
 
 
 if test "$have_x" != yes; then
-  { { $as_echo "$as_me:$LINENO: error: Couldn't find X11 headers/libs.  Try \`$0 --help'." >&5
-$as_echo "$as_me: error: Couldn't find X11 headers/libs.  Try \`$0 --help'." >&2;}
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "Couldn't find X11 headers/libs.  Try \`$0 --help'." "$LINENO" 5
 fi
 
 
 fi
 
 
-    { $as_echo "$as_me:$LINENO: checking for X app-defaults directory" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for X app-defaults directory" >&5
 $as_echo_n "checking for X app-defaults directory... " >&6; }
 $as_echo_n "checking for X app-defaults directory... " >&6; }
-if test "${ac_cv_x_app_defaults+set}" = set; then
+if ${ac_cv_x_app_defaults+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
   $as_echo_n "(cached) " >&6
 else
 
@@ -8355,7 +6201,7 @@ EOF
         ac_cv_x_app_defaults="$ac_x_app_defaults"
       fi
 fi
         ac_cv_x_app_defaults="$ac_x_app_defaults"
       fi
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_x_app_defaults" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_x_app_defaults" >&5
 $as_echo "$ac_cv_x_app_defaults" >&6; }
     eval ac_x_app_defaults="$ac_cv_x_app_defaults"
 case "$host" in
 $as_echo "$ac_cv_x_app_defaults" >&6; }
     eval ac_x_app_defaults="$ac_cv_x_app_defaults"
 case "$host" in
@@ -8474,18 +6320,14 @@ case "$host" in
         MOTIF_LIBS="$MOTIF_LIBS -L/usr/dt/lib -R/usr/dt/lib"
 
         # Some versions of Slowlaris Motif require -lgen.  But not all.  Why?
         MOTIF_LIBS="$MOTIF_LIBS -L/usr/dt/lib -R/usr/dt/lib"
 
         # Some versions of Slowlaris Motif require -lgen.  But not all.  Why?
-        { $as_echo "$as_me:$LINENO: checking for regcmp in -lgen" >&5
+        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for regcmp in -lgen" >&5
 $as_echo_n "checking for regcmp in -lgen... " >&6; }
 $as_echo_n "checking for regcmp in -lgen... " >&6; }
-if test "${ac_cv_lib_gen_regcmp+set}" = set; then
+if ${ac_cv_lib_gen_regcmp+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lgen  $LIBS"
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lgen  $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
@@ -8503,43 +6345,18 @@ return regcmp ();
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then
+if ac_fn_c_try_link "$LINENO"; then :
   ac_cv_lib_gen_regcmp=yes
 else
   ac_cv_lib_gen_regcmp=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_lib_gen_regcmp=no
+  ac_cv_lib_gen_regcmp=no
 fi
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_gen_regcmp" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gen_regcmp" >&5
 $as_echo "$ac_cv_lib_gen_regcmp" >&6; }
 $as_echo "$ac_cv_lib_gen_regcmp" >&6; }
-if test "x$ac_cv_lib_gen_regcmp" = x""yes; then
+if test "x$ac_cv_lib_gen_regcmp" = xyes; then :
   MOTIF_LIBS="$MOTIF_LIBS -lgen"
 fi
 
   MOTIF_LIBS="$MOTIF_LIBS -lgen"
 fi
 
@@ -8556,9 +6373,9 @@ fi
       fi
     ;;
   esac
       fi
     ;;
   esac
-{ $as_echo "$as_me:$LINENO: checking for XPointer" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for XPointer" >&5
 $as_echo_n "checking for XPointer... " >&6; }
 $as_echo_n "checking for XPointer... " >&6; }
-if test "${ac_cv_xpointer+set}" = set; then
+if ${ac_cv_xpointer+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
   $as_echo_n "(cached) " >&6
 else
 
@@ -8568,11 +6385,7 @@ else
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <X11/Xlib.h>
 int
 /* end confdefs.h.  */
 #include <X11/Xlib.h>
 int
@@ -8583,45 +6396,22 @@ XPointer foo = (XPointer) 0;
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+if ac_fn_c_try_compile "$LINENO"; then :
   ac_cv_xpointer=yes
 else
   ac_cv_xpointer=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_xpointer=no
+  ac_cv_xpointer=no
 fi
 fi
-
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_xpointer" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_xpointer" >&5
 $as_echo "$ac_cv_xpointer" >&6; }
   if test "$ac_cv_xpointer" != yes; then
 $as_echo "$ac_cv_xpointer" >&6; }
   if test "$ac_cv_xpointer" != yes; then
-   cat >>confdefs.h <<\_ACEOF
-#define XPointer char*
-_ACEOF
+   $as_echo "#define XPointer char*" >>confdefs.h
 
   fi
 
 
   fi
 
-{ $as_echo "$as_me:$LINENO: checking whether this is MacOS X" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether this is MacOS X" >&5
 $as_echo_n "checking whether this is MacOS X... " >&6; }
   ac_macosx=no
   case "$host" in
 $as_echo_n "checking whether this is MacOS X... " >&6; }
   ac_macosx=no
   case "$host" in
@@ -8629,7 +6419,7 @@ $as_echo_n "checking whether this is MacOS X... " >&6; }
       ac_macosx=yes
     ;;
   esac
       ac_macosx=yes
     ;;
   esac
-{ $as_echo "$as_me:$LINENO: result: $ac_macosx" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_macosx" >&5
 $as_echo "$ac_macosx" >&6; }
 
 
 $as_echo "$ac_macosx" >&6; }
 
 
@@ -8642,7 +6432,7 @@ $as_echo "$ac_macosx" >&6; }
 
 
 if test -n ""; then
 
 
 if test -n ""; then
-    { $as_echo "$as_me:$LINENO: checking for intltool >= " >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for intltool >= " >&5
 $as_echo_n "checking for intltool >= ... " >&6; }
 
     INTLTOOL_REQUIRED_VERSION_AS_INT=`echo  | awk -F. '{ printf "%d", $1 * 100 + $2; }'`
 $as_echo_n "checking for intltool >= ... " >&6; }
 
     INTLTOOL_REQUIRED_VERSION_AS_INT=`echo  | awk -F. '{ printf "%d", $1 * 100 + $2; }'`
@@ -8652,10 +6442,10 @@ $as_echo_n "checking for intltool >= ... " >&6; }
 
 
     if test "$INTLTOOL_APPLIED_VERSION_AS_INT" -ge "$INTLTOOL_REQUIRED_VERSION_AS_INT"; then
 
 
     if test "$INTLTOOL_APPLIED_VERSION_AS_INT" -ge "$INTLTOOL_REQUIRED_VERSION_AS_INT"; then
-       { $as_echo "$as_me:$LINENO: result: $INTLTOOL_APPLIED_VERSION found" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INTLTOOL_APPLIED_VERSION found" >&5
 $as_echo "$INTLTOOL_APPLIED_VERSION found" >&6; }
     else
 $as_echo "$INTLTOOL_APPLIED_VERSION found" >&6; }
     else
-       { $as_echo "$as_me:$LINENO: result: $INTLTOOL_APPLIED_VERSION found. Your intltool is too old.  You need intltool  or later." >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INTLTOOL_APPLIED_VERSION found. Your intltool is too old.  You need intltool  or later." >&5
 $as_echo "$INTLTOOL_APPLIED_VERSION found. Your intltool is too old.  You need intltool  or later." >&6; }
        exit 1
     fi
 $as_echo "$INTLTOOL_APPLIED_VERSION found. Your intltool is too old.  You need intltool  or later." >&6; }
        exit 1
     fi
@@ -8697,9 +6487,9 @@ INTLTOOL_UPDATE='$(top_builddir)/intltool-update'
 
 # Extract the first word of "perl", so it can be a program name with args.
 set dummy perl; ac_word=$2
 
 # Extract the first word of "perl", so it can be a program name with args.
 set dummy perl; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_INTLTOOL_PERL+set}" = set; then
+if ${ac_cv_path_INTLTOOL_PERL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $INTLTOOL_PERL in
   $as_echo_n "(cached) " >&6
 else
   case $INTLTOOL_PERL in
@@ -8712,14 +6502,14 @@ for as_dir in $PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_path_INTLTOOL_PERL="$as_dir/$ac_word$ac_exec_ext"
     ac_cv_path_INTLTOOL_PERL="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
     break 2
   fi
 done
-done
+  done
 IFS=$as_save_IFS
 
   ;;
 IFS=$as_save_IFS
 
   ;;
@@ -8727,23 +6517,19 @@ esac
 fi
 INTLTOOL_PERL=$ac_cv_path_INTLTOOL_PERL
 if test -n "$INTLTOOL_PERL"; then
 fi
 INTLTOOL_PERL=$ac_cv_path_INTLTOOL_PERL
 if test -n "$INTLTOOL_PERL"; then
-  { $as_echo "$as_me:$LINENO: result: $INTLTOOL_PERL" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INTLTOOL_PERL" >&5
 $as_echo "$INTLTOOL_PERL" >&6; }
 else
 $as_echo "$INTLTOOL_PERL" >&6; }
 else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
 
 
 if test -z "$INTLTOOL_PERL"; then
 $as_echo "no" >&6; }
 fi
 
 
 if test -z "$INTLTOOL_PERL"; then
-   { { $as_echo "$as_me:$LINENO: error: perl not found; required for intltool" >&5
-$as_echo "$as_me: error: perl not found; required for intltool" >&2;}
-   { (exit 1); exit 1; }; }
+   as_fn_error $? "perl not found; required for intltool" "$LINENO" 5
 fi
 if test -z "`$INTLTOOL_PERL -v | fgrep '5.' 2> /dev/null`"; then
 fi
 if test -z "`$INTLTOOL_PERL -v | fgrep '5.' 2> /dev/null`"; then
-   { { $as_echo "$as_me:$LINENO: error: perl 5.x required for intltool" >&5
-$as_echo "$as_me: error: perl 5.x required for intltool" >&2;}
-   { (exit 1); exit 1; }; }
+   as_fn_error $? "perl 5.x required for intltool" "$LINENO" 5
 fi
 
 # Remove file type tags (using []) from po/POTFILES.
 fi
 
 # Remove file type tags (using []) from po/POTFILES.
@@ -8777,9 +6563,9 @@ ALL_LINGUAS="ca da de es et fi fr hu it ja ko nb nl pl pt pt_BR ru sk sv vi wa z
 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
 if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_RANLIB+set}" = set; then
+if ${ac_cv_prog_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$RANLIB"; then
   $as_echo_n "(cached) " >&6
 else
   if test -n "$RANLIB"; then
@@ -8790,24 +6576,24 @@ for as_dir in $PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
     ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
     break 2
   fi
 done
-done
+  done
 IFS=$as_save_IFS
 
 fi
 fi
 RANLIB=$ac_cv_prog_RANLIB
 if test -n "$RANLIB"; then
 IFS=$as_save_IFS
 
 fi
 fi
 RANLIB=$ac_cv_prog_RANLIB
 if test -n "$RANLIB"; then
-  { $as_echo "$as_me:$LINENO: result: $RANLIB" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
 $as_echo "$RANLIB" >&6; }
 else
 $as_echo "$RANLIB" >&6; }
 else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
 
 $as_echo "no" >&6; }
 fi
 
@@ -8817,9 +6603,9 @@ 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
   ac_ct_RANLIB=$RANLIB
   # Extract the first word of "ranlib", so it can be a program name with args.
 set dummy ranlib; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_RANLIB"; then
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_RANLIB"; then
@@ -8830,24 +6616,24 @@ for as_dir in $PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_RANLIB="ranlib"
     ac_cv_prog_ac_ct_RANLIB="ranlib"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
     break 2
   fi
 done
-done
+  done
 IFS=$as_save_IFS
 
 fi
 fi
 ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
 if test -n "$ac_ct_RANLIB"; then
 IFS=$as_save_IFS
 
 fi
 fi
 ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
 if test -n "$ac_ct_RANLIB"; then
-  { $as_echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
 $as_echo "$ac_ct_RANLIB" >&6; }
 else
 $as_echo "$ac_ct_RANLIB" >&6; }
 else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
 
 $as_echo "no" >&6; }
 fi
 
@@ -8856,7 +6642,7 @@ fi
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
-{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
 ac_tool_warned=yes ;;
 esac
 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
 ac_tool_warned=yes ;;
 esac
@@ -8866,186 +6652,58 @@ else
   RANLIB="$ac_cv_prog_RANLIB"
 fi
 
   RANLIB="$ac_cv_prog_RANLIB"
 fi
 
-{ $as_echo "$as_me:$LINENO: checking for off_t" >&5
-$as_echo_n "checking for off_t... " >&6; }
-if test "${ac_cv_type_off_t+set}" = set; then
-  $as_echo_n "(cached) " >&6
+ac_fn_c_check_type "$LINENO" "off_t" "ac_cv_type_off_t" "$ac_includes_default"
+if test "x$ac_cv_type_off_t" = xyes; then :
+
 else
 else
-  ac_cv_type_off_t=no
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
+
+cat >>confdefs.h <<_ACEOF
+#define off_t long int
 _ACEOF
 _ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+
+fi
+
+# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
+# for constant arguments.  Useless!
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5
+$as_echo_n "checking for working alloca.h... " >&6; }
+if ${ac_cv_working_alloca_h+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 /* end confdefs.h.  */
-$ac_includes_default
+#include <alloca.h>
 int
 main ()
 {
 int
 main ()
 {
-if (sizeof (off_t))
-       return 0;
+char *p = (char *) alloca (2 * sizeof (int));
+                         if (p) return 0;
   ;
   return 0;
 }
 _ACEOF
   ;
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-if (sizeof ((off_t)))
-         return 0;
-  ;
-  return 0;
-}
-_ACEOF
-rm -rf conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  :
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_type_off_t=yes
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_off_t" >&5
-$as_echo "$ac_cv_type_off_t" >&6; }
-if test "x$ac_cv_type_off_t" = x""yes; then
-  :
-else
-
-cat >>confdefs.h <<_ACEOF
-#define off_t long int
-_ACEOF
-
-fi
-
-# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
-# for constant arguments.  Useless!
-{ $as_echo "$as_me:$LINENO: checking for working alloca.h" >&5
-$as_echo_n "checking for working alloca.h... " >&6; }
-if test "${ac_cv_working_alloca_h+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <alloca.h>
-int
-main ()
-{
-char *p = (char *) alloca (2 * sizeof (int));
-                         if (p) return 0;
-  ;
-  return 0;
-}
-_ACEOF
-rm -rf conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then
+if ac_fn_c_try_link "$LINENO"; then :
   ac_cv_working_alloca_h=yes
 else
   ac_cv_working_alloca_h=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_working_alloca_h=no
+  ac_cv_working_alloca_h=no
 fi
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
 fi
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_working_alloca_h" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_working_alloca_h" >&5
 $as_echo "$ac_cv_working_alloca_h" >&6; }
 if test $ac_cv_working_alloca_h = yes; then
 
 $as_echo "$ac_cv_working_alloca_h" >&6; }
 if test $ac_cv_working_alloca_h = yes; then
 
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_ALLOCA_H 1
-_ACEOF
+$as_echo "#define HAVE_ALLOCA_H 1" >>confdefs.h
 
 fi
 
 
 fi
 
-{ $as_echo "$as_me:$LINENO: checking for alloca" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5
 $as_echo_n "checking for alloca... " >&6; }
 $as_echo_n "checking for alloca... " >&6; }
-if test "${ac_cv_func_alloca_works+set}" = set; then
+if ${ac_cv_func_alloca_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   $as_echo_n "(cached) " >&6
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #ifdef __GNUC__
 # define alloca __builtin_alloca
 /* end confdefs.h.  */
 #ifdef __GNUC__
 # define alloca __builtin_alloca
@@ -9061,7 +6719,7 @@ cat >>conftest.$ac_ext <<_ACEOF
  #pragma alloca
 #   else
 #    ifndef alloca /* predefined by HP cc +Olibcalls */
  #pragma alloca
 #   else
 #    ifndef alloca /* predefined by HP cc +Olibcalls */
-char *alloca ();
+void *alloca (size_t);
 #    endif
 #   endif
 #  endif
 #    endif
 #   endif
 #  endif
@@ -9077,47 +6735,20 @@ char *p = (char *) alloca (1);
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then
+if ac_fn_c_try_link "$LINENO"; then :
   ac_cv_func_alloca_works=yes
 else
   ac_cv_func_alloca_works=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_func_alloca_works=no
+  ac_cv_func_alloca_works=no
 fi
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
 fi
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_alloca_works" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_alloca_works" >&5
 $as_echo "$ac_cv_func_alloca_works" >&6; }
 
 if test $ac_cv_func_alloca_works = yes; then
 
 $as_echo "$ac_cv_func_alloca_works" >&6; }
 
 if test $ac_cv_func_alloca_works = yes; then
 
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_ALLOCA 1
-_ACEOF
+$as_echo "#define HAVE_ALLOCA 1" >>confdefs.h
 
 else
   # The SVR3 libPW and SVR4 libucb both contain incompatible functions
 
 else
   # The SVR3 libPW and SVR4 libucb both contain incompatible functions
@@ -9127,21 +6758,15 @@ else
 
 ALLOCA=\${LIBOBJDIR}alloca.$ac_objext
 
 
 ALLOCA=\${LIBOBJDIR}alloca.$ac_objext
 
-cat >>confdefs.h <<\_ACEOF
-#define C_ALLOCA 1
-_ACEOF
+$as_echo "#define C_ALLOCA 1" >>confdefs.h
 
 
 
 
-{ $as_echo "$as_me:$LINENO: checking whether \`alloca.c' needs Cray hooks" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`alloca.c' needs Cray hooks" >&5
 $as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; }
 $as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; }
-if test "${ac_cv_os_cray+set}" = set; then
+if ${ac_cv_os_cray+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   $as_echo_n "(cached) " >&6
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #if defined CRAY && ! defined CRAY2
 webecray
 /* end confdefs.h.  */
 #if defined CRAY && ! defined CRAY2
 webecray
@@ -9151,7 +6776,7 @@ wenotbecray
 
 _ACEOF
 if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
 
 _ACEOF
 if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "webecray" >/dev/null 2>&1; then
+  $EGREP "webecray" >/dev/null 2>&1; then :
   ac_cv_os_cray=yes
 else
   ac_cv_os_cray=no
   ac_cv_os_cray=yes
 else
   ac_cv_os_cray=no
 rm -rf conftest*
 
 fi
 rm -rf conftest*
 
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_os_cray" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_os_cray" >&5
 $as_echo "$ac_cv_os_cray" >&6; }
 if test $ac_cv_os_cray = yes; then
   for ac_func in _getb67 GETB67 getb67; do
     as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 $as_echo "$ac_cv_os_cray" >&6; }
 if test $ac_cv_os_cray = yes; then
   for ac_func in _getb67 GETB67 getb67; do
     as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
-$as_echo_n "checking for $ac_func... " >&6; }
-if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
-  $as_echo_n "(cached) " >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
-   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char $ac_func (); below.
-    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-    <limits.h> exists even on freestanding compilers.  */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char $ac_func ();
-/* The GNU C library defines this 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
-choke me
-#endif
-
-int
-main ()
-{
-return $ac_func ();
-  ;
-  return 0;
-}
-_ACEOF
-rm -rf conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then
-  eval "$as_ac_var=yes"
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       eval "$as_ac_var=no"
-fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-fi
-ac_res=`eval 'as_val=${'$as_ac_var'}
-                $as_echo "$as_val"'`
-              { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-as_val=`eval 'as_val=${'$as_ac_var'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
+ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
 
 cat >>confdefs.h <<_ACEOF
 #define CRAY_STACKSEG_END $ac_func
 
 cat >>confdefs.h <<_ACEOF
 #define CRAY_STACKSEG_END $ac_func
@@ -9265,81 +6802,46 @@ fi
   done
 fi
 
   done
 fi
 
-{ $as_echo "$as_me:$LINENO: checking stack direction for C alloca" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5
 $as_echo_n "checking stack direction for C alloca... " >&6; }
 $as_echo_n "checking stack direction for C alloca... " >&6; }
-if test "${ac_cv_c_stack_direction+set}" = set; then
+if ${ac_cv_c_stack_direction+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   $as_echo_n "(cached) " >&6
 else
-  if test "$cross_compiling" = yes; then
+  if test "$cross_compiling" = yes; then :
   ac_cv_c_stack_direction=0
 else
   ac_cv_c_stack_direction=0
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 $ac_includes_default
 int
 /* end confdefs.h.  */
 $ac_includes_default
 int
-find_stack_direction ()
+find_stack_direction (int *addr, int depth)
 {
 {
-  static char *addr = 0;
-  auto char dummy;
-  if (addr == 0)
-    {
-      addr = &dummy;
-      return find_stack_direction ();
-    }
-  else
-    return (&dummy > addr) ? 1 : -1;
+  int dir, dummy = 0;
+  if (! addr)
+    addr = &dummy;
+  *addr = addr < &dummy ? 1 : addr == &dummy ? 0 : -1;
+  dir = depth ? find_stack_direction (addr, depth - 1) : 0;
+  return dir + dummy;
 }
 
 int
 }
 
 int
-main ()
+main (int argc, char **argv)
 {
 {
-  return find_stack_direction () < 0;
+  return find_stack_direction (0, argc + !argv + 20) < 0;
 }
 _ACEOF
 }
 _ACEOF
-rm -rf conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+if ac_fn_c_try_run "$LINENO"; then :
   ac_cv_c_stack_direction=1
 else
   ac_cv_c_stack_direction=1
 else
-  $as_echo "$as_me: program exited with status $ac_status" >&5
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-ac_cv_c_stack_direction=-1
+  ac_cv_c_stack_direction=-1
 fi
 fi
-rm -rf conftest.dSYM
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
 
 fi
 
-
 fi
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_stack_direction" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_stack_direction" >&5
 $as_echo "$ac_cv_c_stack_direction" >&6; }
 $as_echo "$ac_cv_c_stack_direction" >&6; }
-
 cat >>confdefs.h <<_ACEOF
 #define STACK_DIRECTION $ac_cv_c_stack_direction
 _ACEOF
 cat >>confdefs.h <<_ACEOF
 #define STACK_DIRECTION $ac_cv_c_stack_direction
 _ACEOF
 
 
 
 
 
 
-for ac_header in stdlib.h unistd.h
-do
-as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-  { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
-$as_echo_n "checking for $ac_header... " >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-  $as_echo_n "(cached) " >&6
-fi
-ac_res=`eval 'as_val=${'$as_ac_Header'}
-                $as_echo "$as_val"'`
-              { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-else
-  # Is the header compilable?
-{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5
-$as_echo_n "checking $ac_header usability... " >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-#include <$ac_header>
+
+  for ac_header in $ac_header_list
+do :
+  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
+"
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
+  cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
 _ACEOF
-rm -rf conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_header_compiler=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
 
-       ac_header_compiler=no
 fi
 
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-$as_echo "$ac_header_compiler" >&6; }
+done
 
 
-# Is the header present?
-{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5
-$as_echo_n "checking $ac_header presence... " >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <$ac_header>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then
-  ac_header_preproc=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
 
-  ac_header_preproc=no
-fi
 
 
-rm -rf conftest.err conftest.$ac_ext
-{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-$as_echo "$ac_header_preproc" >&6; }
 
 
-# So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
-  yes:no: )
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
-    ac_header_preproc=yes
-    ;;
-  no:yes:* )
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
-$as_echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
-$as_echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
 
 
-    ;;
-esac
-{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
-$as_echo_n "checking for $ac_header... " >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-  $as_echo_n "(cached) " >&6
-else
-  eval "$as_ac_Header=\$ac_header_preproc"
-fi
-ac_res=`eval 'as_val=${'$as_ac_Header'}
-                $as_echo "$as_val"'`
-              { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
 
 
-fi
-as_val=`eval 'as_val=${'$as_ac_Header'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
+
+
+for ac_func in getpagesize
+do :
+  ac_fn_c_check_func "$LINENO" "getpagesize" "ac_cv_func_getpagesize"
+if test "x$ac_cv_func_getpagesize" = xyes; then :
   cat >>confdefs.h <<_ACEOF
   cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+#define HAVE_GETPAGESIZE 1
 _ACEOF
 
 fi
 _ACEOF
 
 fi
-
 done
 
 done
 
-
-for ac_func in getpagesize
-do
-as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
-$as_echo_n "checking for $ac_func... " >&6; }
-if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working mmap" >&5
+$as_echo_n "checking for working mmap... " >&6; }
+if ${ac_cv_func_mmap_fixed_mapped+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   $as_echo_n "(cached) " >&6
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  if test "$cross_compiling" = yes; then :
+  ac_cv_func_mmap_fixed_mapped=no
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 /* end confdefs.h.  */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
-   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char $ac_func (); below.
-    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-    <limits.h> exists even on freestanding compilers.  */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char $ac_func ();
-/* The GNU C library defines this 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
-choke me
-#endif
-
-int
-main ()
-{
-return $ac_func ();
-  ;
-  return 0;
-}
-_ACEOF
-rm -rf conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then
-  eval "$as_ac_var=yes"
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       eval "$as_ac_var=no"
-fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-fi
-ac_res=`eval 'as_val=${'$as_ac_var'}
-                $as_echo "$as_val"'`
-              { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-as_val=`eval 'as_val=${'$as_ac_var'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-{ $as_echo "$as_me:$LINENO: checking for working mmap" >&5
-$as_echo_n "checking for working mmap... " >&6; }
-if test "${ac_cv_func_mmap_fixed_mapped+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  if test "$cross_compiling" = yes; then
-  ac_cv_func_mmap_fixed_mapped=no
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-/* malloc might have been renamed as rpl_malloc. */
-#undef malloc
+$ac_includes_default
+/* malloc might have been renamed as rpl_malloc. */
+#undef malloc
 
 /* Thanks to Mike Haertel and Jim Avera for this test.
    Here is a matrix of mmap possibilities:
 
 /* Thanks to Mike Haertel and Jim Avera for this test.
    Here is a matrix of mmap possibilities:
@@ -9644,11 +6929,6 @@ char *malloc ();
 
 /* This mess was copied from the GNU getpagesize.h.  */
 #ifndef HAVE_GETPAGESIZE
 
 /* This mess was copied from the GNU getpagesize.h.  */
 #ifndef HAVE_GETPAGESIZE
-/* Assume that all systems that can run configure have sys/param.h.  */
-# ifndef HAVE_SYS_PARAM_H
-#  define HAVE_SYS_PARAM_H 1
-# endif
-
 # ifdef _SC_PAGESIZE
 #  define getpagesize() sysconf(_SC_PAGESIZE)
 # else /* no _SC_PAGESIZE */
 # ifdef _SC_PAGESIZE
 #  define getpagesize() sysconf(_SC_PAGESIZE)
 # else /* no _SC_PAGESIZE */
@@ -9683,8 +6963,9 @@ int
 main ()
 {
   char *data, *data2, *data3;
 main ()
 {
   char *data, *data2, *data3;
+  const char *cdata2;
   int i, pagesize;
   int i, pagesize;
-  int fd;
+  int fd, fd2;
 
   pagesize = getpagesize ();
 
 
   pagesize = getpagesize ();
 
@@ -9697,27 +6978,41 @@ main ()
   umask (0);
   fd = creat ("conftest.mmap", 0600);
   if (fd < 0)
   umask (0);
   fd = creat ("conftest.mmap", 0600);
   if (fd < 0)
-    return 1;
+    return 2;
   if (write (fd, data, pagesize) != pagesize)
   if (write (fd, data, pagesize) != pagesize)
-    return 1;
+    return 3;
   close (fd);
 
   close (fd);
 
+  /* Next, check that the tail of a page is zero-filled.  File must have
+     non-zero length, otherwise we risk SIGBUS for entire page.  */
+  fd2 = open ("conftest.txt", O_RDWR | O_CREAT | O_TRUNC, 0600);
+  if (fd2 < 0)
+    return 4;
+  cdata2 = "";
+  if (write (fd2, cdata2, 1) != 1)
+    return 5;
+  data2 = (char *) mmap (0, pagesize, PROT_READ | PROT_WRITE, MAP_SHARED, fd2, 0L);
+  if (data2 == MAP_FAILED)
+    return 6;
+  for (i = 0; i < pagesize; ++i)
+    if (*(data2 + i))
+      return 7;
+  close (fd2);
+  if (munmap (data2, pagesize))
+    return 8;
+
   /* 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)
   /* 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)
-    return 1;
-  data2 = (char *) malloc (2 * pagesize);
-  if (!data2)
-    return 1;
-  data2 += (pagesize - ((long int) data2 & (pagesize - 1))) & (pagesize - 1);
+    return 9;
   if (data2 != mmap (data2, pagesize, PROT_READ | PROT_WRITE,
                     MAP_PRIVATE | MAP_FIXED, fd, 0L))
   if (data2 != mmap (data2, pagesize, PROT_READ | PROT_WRITE,
                     MAP_PRIVATE | MAP_FIXED, fd, 0L))
-    return 1;
+    return 10;
   for (i = 0; i < pagesize; ++i)
     if (*(data + i) != *(data2 + i))
   for (i = 0; i < pagesize; ++i)
     if (*(data + i) != *(data2 + i))
-      return 1;
+      return 11;
 
   /* 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
 
   /* 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
@@ -9726,545 +7021,116 @@ main ()
     *(data2 + i) = *(data2 + i) + 1;
   data3 = (char *) malloc (pagesize);
   if (!data3)
     *(data2 + i) = *(data2 + i) + 1;
   data3 = (char *) malloc (pagesize);
   if (!data3)
-    return 1;
+    return 12;
   if (read (fd, data3, pagesize) != pagesize)
   if (read (fd, data3, pagesize) != pagesize)
-    return 1;
+    return 13;
   for (i = 0; i < pagesize; ++i)
     if (*(data + i) != *(data3 + i))
   for (i = 0; i < pagesize; ++i)
     if (*(data + i) != *(data3 + i))
-      return 1;
+      return 14;
   close (fd);
   return 0;
 }
 _ACEOF
   close (fd);
   return 0;
 }
 _ACEOF
-rm -rf conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+if ac_fn_c_try_run "$LINENO"; then :
   ac_cv_func_mmap_fixed_mapped=yes
 else
   ac_cv_func_mmap_fixed_mapped=yes
 else
-  $as_echo "$as_me: program exited with status $ac_status" >&5
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-ac_cv_func_mmap_fixed_mapped=no
+  ac_cv_func_mmap_fixed_mapped=no
 fi
 fi
-rm -rf conftest.dSYM
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
 
 fi
 
-
 fi
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_mmap_fixed_mapped" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_fixed_mapped" >&5
 $as_echo "$ac_cv_func_mmap_fixed_mapped" >&6; }
 if test $ac_cv_func_mmap_fixed_mapped = yes; then
 
 $as_echo "$ac_cv_func_mmap_fixed_mapped" >&6; }
 if test $ac_cv_func_mmap_fixed_mapped = yes; then
 
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_MMAP 1
-_ACEOF
+$as_echo "#define HAVE_MMAP 1" >>confdefs.h
 
 fi
 
 fi
-rm -rf conftest.mmap
-
-
-
+rm -rf conftest.mmap conftest.txt
 
 
 
 
-
-
-
-
-
-for ac_header in argz.h limits.h locale.h nl_types.h malloc.h string.h \
+   for ac_header in argz.h limits.h locale.h nl_types.h malloc.h string.h \
 unistd.h sys/param.h
 unistd.h sys/param.h
-do
-as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-  { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
-$as_echo_n "checking for $ac_header... " >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-  $as_echo_n "(cached) " >&6
-fi
-ac_res=`eval 'as_val=${'$as_ac_Header'}
-                $as_echo "$as_val"'`
-              { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-else
-  # Is the header compilable?
-{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5
-$as_echo_n "checking $ac_header usability... " >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -rf conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_header_compiler=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_header_compiler=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-$as_echo "$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5
-$as_echo_n "checking $ac_header presence... " >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <$ac_header>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then
-  ac_header_preproc=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-  ac_header_preproc=no
-fi
-
-rm -rf conftest.err conftest.$ac_ext
-{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-$as_echo "$ac_header_preproc" >&6; }
-
-# So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
-  yes:no: )
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
-    ac_header_preproc=yes
-    ;;
-  no:yes:* )
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
-$as_echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
-$as_echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-
-    ;;
-esac
-{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
-$as_echo_n "checking for $ac_header... " >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-  $as_echo_n "(cached) " >&6
-else
-  eval "$as_ac_Header=\$ac_header_preproc"
-fi
-ac_res=`eval 'as_val=${'$as_ac_Header'}
-                $as_echo "$as_val"'`
-              { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-
-fi
-as_val=`eval 'as_val=${'$as_ac_Header'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-
-
-
-
-
-
-
-
-
-
-for ac_func in getcwd munmap putenv setenv setlocale strchr strcasecmp \
-strdup __argz_count __argz_stringify __argz_next
-do
-as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
-$as_echo_n "checking for $ac_func... " >&6; }
-if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
-  $as_echo_n "(cached) " >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
-   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char $ac_func (); below.
-    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-    <limits.h> exists even on freestanding compilers.  */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char $ac_func ();
-/* The GNU C library defines this 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
-choke me
-#endif
-
-int
-main ()
-{
-return $ac_func ();
-  ;
-  return 0;
-}
-_ACEOF
-rm -rf conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then
-  eval "$as_ac_var=yes"
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       eval "$as_ac_var=no"
-fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-fi
-ac_res=`eval 'as_val=${'$as_ac_var'}
-                $as_echo "$as_val"'`
-              { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-as_val=`eval 'as_val=${'$as_ac_var'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-
-   if test $ac_cv_header_locale_h = yes; then
-    { $as_echo "$as_me:$LINENO: checking for LC_MESSAGES" >&5
-$as_echo_n "checking for LC_MESSAGES... " >&6; }
-if test "${am_cv_val_LC_MESSAGES+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <locale.h>
-int
-main ()
-{
-return LC_MESSAGES
-  ;
-  return 0;
-}
-_ACEOF
-rm -rf conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then
-  am_cv_val_LC_MESSAGES=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       am_cv_val_LC_MESSAGES=no
-fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:$LINENO: result: $am_cv_val_LC_MESSAGES" >&5
-$as_echo "$am_cv_val_LC_MESSAGES" >&6; }
-    if test $am_cv_val_LC_MESSAGES = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_LC_MESSAGES 1
-_ACEOF
-
-    fi
-  fi
-     USE_NLS=yes
-
-
-        nls_cv_force_use_gnu_gettext="no"
-
-    nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
-    if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
-                              nls_cv_header_intl=
-      nls_cv_header_libgt=
-      CATOBJEXT=NONE
-
-      if test "${ac_cv_header_libintl_h+set}" = set; then
-  { $as_echo "$as_me:$LINENO: checking for libintl.h" >&5
-$as_echo_n "checking for libintl.h... " >&6; }
-if test "${ac_cv_header_libintl_h+set}" = set; then
-  $as_echo_n "(cached) " >&6
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_libintl_h" >&5
-$as_echo "$ac_cv_header_libintl_h" >&6; }
-else
-  # Is the header compilable?
-{ $as_echo "$as_me:$LINENO: checking libintl.h usability" >&5
-$as_echo_n "checking libintl.h usability... " >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-#include <libintl.h>
-_ACEOF
-rm -rf conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_header_compiler=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_header_compiler=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-$as_echo "$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ $as_echo "$as_me:$LINENO: checking libintl.h presence" >&5
-$as_echo_n "checking libintl.h presence... " >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <libintl.h>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then
-  ac_header_preproc=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+do :
+  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
+  cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
 
 
-  ac_header_preproc=no
 fi
 
 fi
 
-rm -rf conftest.err conftest.$ac_ext
-{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-$as_echo "$ac_header_preproc" >&6; }
+done
 
 
-# So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
-  yes:no: )
-    { $as_echo "$as_me:$LINENO: WARNING: libintl.h: accepted by the compiler, rejected by the preprocessor!" >&5
-$as_echo "$as_me: WARNING: libintl.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: libintl.h: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: libintl.h: proceeding with the compiler's result" >&2;}
-    ac_header_preproc=yes
-    ;;
-  no:yes:* )
-    { $as_echo "$as_me:$LINENO: WARNING: libintl.h: present but cannot be compiled" >&5
-$as_echo "$as_me: WARNING: libintl.h: present but cannot be compiled" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: libintl.h:     check for missing prerequisite headers?" >&5
-$as_echo "$as_me: WARNING: libintl.h:     check for missing prerequisite headers?" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: libintl.h: see the Autoconf documentation" >&5
-$as_echo "$as_me: WARNING: libintl.h: see the Autoconf documentation" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: libintl.h:     section \"Present But Cannot Be Compiled\"" >&5
-$as_echo "$as_me: WARNING: libintl.h:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: libintl.h: proceeding with the preprocessor's result" >&5
-$as_echo "$as_me: WARNING: libintl.h: proceeding with the preprocessor's result" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: libintl.h: in the future, the compiler will take precedence" >&5
-$as_echo "$as_me: WARNING: libintl.h: in the future, the compiler will take precedence" >&2;}
+   for ac_func in getcwd munmap putenv setenv setlocale strchr strcasecmp \
+strdup __argz_count __argz_stringify __argz_next
+do :
+  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
+  cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
 
 
-    ;;
-esac
-{ $as_echo "$as_me:$LINENO: checking for libintl.h" >&5
-$as_echo_n "checking for libintl.h... " >&6; }
-if test "${ac_cv_header_libintl_h+set}" = set; then
+fi
+done
+
+
+   if test $ac_cv_header_locale_h = yes; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LC_MESSAGES" >&5
+$as_echo_n "checking for LC_MESSAGES... " >&6; }
+if ${am_cv_val_LC_MESSAGES+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   $as_echo_n "(cached) " >&6
 else
-  ac_cv_header_libintl_h=$ac_header_preproc
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <locale.h>
+int
+main ()
+{
+return LC_MESSAGES
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  am_cv_val_LC_MESSAGES=yes
+else
+  am_cv_val_LC_MESSAGES=no
 fi
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_libintl_h" >&5
-$as_echo "$ac_cv_header_libintl_h" >&6; }
-
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
 fi
 fi
-if test "x$ac_cv_header_libintl_h" = x""yes; then
-  { $as_echo "$as_me:$LINENO: checking for dgettext in libc" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_val_LC_MESSAGES" >&5
+$as_echo "$am_cv_val_LC_MESSAGES" >&6; }
+    if test $am_cv_val_LC_MESSAGES = yes; then
+
+$as_echo "#define HAVE_LC_MESSAGES 1" >>confdefs.h
+
+    fi
+  fi
+     USE_NLS=yes
+
+
+        nls_cv_force_use_gnu_gettext="no"
+
+    nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
+    if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
+                              nls_cv_header_intl=
+      nls_cv_header_libgt=
+      CATOBJEXT=NONE
+
+      ac_fn_c_check_header_mongrel "$LINENO" "libintl.h" "ac_cv_header_libintl_h" "$ac_includes_default"
+if test "x$ac_cv_header_libintl_h" = xyes; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dgettext in libc" >&5
 $as_echo_n "checking for dgettext in libc... " >&6; }
 $as_echo_n "checking for dgettext in libc... " >&6; }
-if test "${gt_cv_func_dgettext_libc+set}" = set; then
+if ${gt_cv_func_dgettext_libc+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   $as_echo_n "(cached) " >&6
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <libintl.h>
 int
 /* end confdefs.h.  */
 #include <libintl.h>
 int
@@ -10275,55 +7141,26 @@ return (int) dgettext ("","")
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then
+if ac_fn_c_try_link "$LINENO"; then :
   gt_cv_func_dgettext_libc=yes
 else
   gt_cv_func_dgettext_libc=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       gt_cv_func_dgettext_libc=no
+  gt_cv_func_dgettext_libc=no
 fi
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
 fi
 fi
-{ $as_echo "$as_me:$LINENO: result: $gt_cv_func_dgettext_libc" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_dgettext_libc" >&5
 $as_echo "$gt_cv_func_dgettext_libc" >&6; }
 
          if test "$gt_cv_func_dgettext_libc" != "yes"; then
 $as_echo "$gt_cv_func_dgettext_libc" >&6; }
 
          if test "$gt_cv_func_dgettext_libc" != "yes"; then
-           { $as_echo "$as_me:$LINENO: checking for bindtextdomain in -lintl" >&5
+           { $as_echo "$as_me:${as_lineno-$LINENO}: checking for bindtextdomain in -lintl" >&5
 $as_echo_n "checking for bindtextdomain in -lintl... " >&6; }
 $as_echo_n "checking for bindtextdomain in -lintl... " >&6; }
-if test "${ac_cv_lib_intl_bindtextdomain+set}" = set; then
+if ${ac_cv_lib_intl_bindtextdomain+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lintl  $LIBS"
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lintl  $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
@@ -10341,60 +7178,31 @@ return bindtextdomain ();
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then
+if ac_fn_c_try_link "$LINENO"; then :
   ac_cv_lib_intl_bindtextdomain=yes
 else
   ac_cv_lib_intl_bindtextdomain=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_lib_intl_bindtextdomain=no
+  ac_cv_lib_intl_bindtextdomain=no
 fi
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_intl_bindtextdomain" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_intl_bindtextdomain" >&5
 $as_echo "$ac_cv_lib_intl_bindtextdomain" >&6; }
 $as_echo "$ac_cv_lib_intl_bindtextdomain" >&6; }
-if test "x$ac_cv_lib_intl_bindtextdomain" = x""yes; then
-  { $as_echo "$as_me:$LINENO: checking for dgettext in libintl" >&5
+if test "x$ac_cv_lib_intl_bindtextdomain" = xyes; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dgettext in libintl" >&5
 $as_echo_n "checking for dgettext in libintl... " >&6; }
 $as_echo_n "checking for dgettext in libintl... " >&6; }
-if test "${gt_cv_func_dgettext_libintl+set}" = set; then
+if ${gt_cv_func_dgettext_libintl+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   $as_echo_n "(cached) " >&6
 else
-  { $as_echo "$as_me:$LINENO: checking for dgettext in -lintl" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dgettext in -lintl" >&5
 $as_echo_n "checking for dgettext in -lintl... " >&6; }
 $as_echo_n "checking for dgettext in -lintl... " >&6; }
-if test "${ac_cv_lib_intl_dgettext+set}" = set; then
+if ${ac_cv_lib_intl_dgettext+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lintl  $LIBS"
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lintl  $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
@@ -10412,50 +7220,25 @@ return dgettext ();
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then
+if ac_fn_c_try_link "$LINENO"; then :
   ac_cv_lib_intl_dgettext=yes
 else
   ac_cv_lib_intl_dgettext=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_lib_intl_dgettext=no
+  ac_cv_lib_intl_dgettext=no
 fi
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_intl_dgettext" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_intl_dgettext" >&5
 $as_echo "$ac_cv_lib_intl_dgettext" >&6; }
 $as_echo "$ac_cv_lib_intl_dgettext" >&6; }
-if test "x$ac_cv_lib_intl_dgettext" = x""yes; then
+if test "x$ac_cv_lib_intl_dgettext" = xyes; then :
   gt_cv_func_dgettext_libintl=yes
 else
   gt_cv_func_dgettext_libintl=no
 fi
 
 fi
   gt_cv_func_dgettext_libintl=yes
 else
   gt_cv_func_dgettext_libintl=no
 fi
 
 fi
-{ $as_echo "$as_me:$LINENO: result: $gt_cv_func_dgettext_libintl" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_dgettext_libintl" >&5
 $as_echo "$gt_cv_func_dgettext_libintl" >&6; }
 fi
 
 $as_echo "$gt_cv_func_dgettext_libintl" >&6; }
 fi
 
          if test "$gt_cv_func_dgettext_libc" = "yes" \
            || test "$gt_cv_func_dgettext_libintl" = "yes"; then
 
          if test "$gt_cv_func_dgettext_libc" = "yes" \
            || test "$gt_cv_func_dgettext_libintl" = "yes"; then
 
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_GETTEXT 1
-_ACEOF
+$as_echo "#define HAVE_GETTEXT 1" >>confdefs.h
 
            # Extract the first word of "msgfmt", so it can be a program name with args.
 set dummy msgfmt; ac_word=$2
 
            # Extract the first word of "msgfmt", so it can be a program name with args.
 set dummy msgfmt; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_MSGFMT+set}" = set; then
+if ${ac_cv_path_MSGFMT+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case "$MSGFMT" in
   $as_echo_n "(cached) " >&6
 else
   case "$MSGFMT" in
@@ -10501,109 +7282,19 @@ esac
 fi
 MSGFMT="$ac_cv_path_MSGFMT"
 if test -n "$MSGFMT"; then
 fi
 MSGFMT="$ac_cv_path_MSGFMT"
 if test -n "$MSGFMT"; then
-  { $as_echo "$as_me:$LINENO: result: $MSGFMT" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGFMT" >&5
 $as_echo "$MSGFMT" >&6; }
 else
 $as_echo "$MSGFMT" >&6; }
 else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
            if test "$MSGFMT" != "no"; then
 $as_echo "no" >&6; }
 fi
            if test "$MSGFMT" != "no"; then
-
-for ac_func in dcgettext
-do
-as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
-$as_echo_n "checking for $ac_func... " >&6; }
-if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
-  $as_echo_n "(cached) " >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
-   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char $ac_func (); below.
-    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-    <limits.h> exists even on freestanding compilers.  */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char $ac_func ();
-/* The GNU C library defines this 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
-choke me
-#endif
-
-int
-main ()
-{
-return $ac_func ();
-  ;
-  return 0;
-}
-_ACEOF
-rm -rf conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then
-  eval "$as_ac_var=yes"
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       eval "$as_ac_var=no"
-fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-fi
-ac_res=`eval 'as_val=${'$as_ac_var'}
-                $as_echo "$as_val"'`
-              { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-as_val=`eval 'as_val=${'$as_ac_var'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
+             for ac_func in dcgettext
+do :
+  ac_fn_c_check_func "$LINENO" "dcgettext" "ac_cv_func_dcgettext"
+if test "x$ac_cv_func_dcgettext" = xyes; then :
   cat >>confdefs.h <<_ACEOF
   cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+#define HAVE_DCGETTEXT 1
 _ACEOF
 
 fi
 _ACEOF
 
 fi
@@ -10611,9 +7302,9 @@ done
 
              # Extract the first word of "gmsgfmt", so it can be a program name with args.
 set dummy gmsgfmt; ac_word=$2
 
              # Extract the first word of "gmsgfmt", so it can be a program name with args.
 set dummy gmsgfmt; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_GMSGFMT+set}" = set; then
+if ${ac_cv_path_GMSGFMT+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $GMSGFMT in
   $as_echo_n "(cached) " >&6
 else
   case $GMSGFMT in
@@ -10626,14 +7317,14 @@ for as_dir in $PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext"
     ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
     break 2
   fi
 done
-done
+  done
 IFS=$as_save_IFS
 
   test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT"
 IFS=$as_save_IFS
 
   test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT"
@@ -10642,19 +7333,19 @@ esac
 fi
 GMSGFMT=$ac_cv_path_GMSGFMT
 if test -n "$GMSGFMT"; then
 fi
 GMSGFMT=$ac_cv_path_GMSGFMT
 if test -n "$GMSGFMT"; then
-  { $as_echo "$as_me:$LINENO: result: $GMSGFMT" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GMSGFMT" >&5
 $as_echo "$GMSGFMT" >&6; }
 else
 $as_echo "$GMSGFMT" >&6; }
 else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
 
 
              # Extract the first word of "xgettext", so it can be a program name with args.
 set dummy xgettext; ac_word=$2
 $as_echo "no" >&6; }
 fi
 
 
              # Extract the first word of "xgettext", so it can be a program name with args.
 set dummy xgettext; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_XGETTEXT+set}" = set; then
+if ${ac_cv_path_XGETTEXT+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case "$XGETTEXT" in
   $as_echo_n "(cached) " >&6
 else
   case "$XGETTEXT" in
@@ -10679,18 +7370,14 @@ esac
 fi
 XGETTEXT="$ac_cv_path_XGETTEXT"
 if test -n "$XGETTEXT"; then
 fi
 XGETTEXT="$ac_cv_path_XGETTEXT"
 if test -n "$XGETTEXT"; then
-  { $as_echo "$as_me:$LINENO: result: $XGETTEXT" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XGETTEXT" >&5
 $as_echo "$XGETTEXT" >&6; }
 else
 $as_echo "$XGETTEXT" >&6; }
 else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
 
 $as_echo "no" >&6; }
 fi
 
-             cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+             cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
 /* end confdefs.h.  */
 
 int
@@ -10702,40 +7389,15 @@ extern int _nl_msg_cat_cntr;
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then
+if ac_fn_c_try_link "$LINENO"; then :
   CATOBJEXT=.gmo
                 DATADIRNAME=share
 else
   CATOBJEXT=.gmo
                 DATADIRNAME=share
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       CATOBJEXT=.mo
+  CATOBJEXT=.mo
                 DATADIRNAME=lib
 fi
                 DATADIRNAME=lib
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
              INSTOBJEXT=.mo
            fi
          fi
              INSTOBJEXT=.mo
            fi
          fi
@@ -10758,9 +7420,7 @@ fi
 
     if test "$nls_cv_use_gnu_gettext" != "yes"; then
 
 
     if test "$nls_cv_use_gnu_gettext" != "yes"; then
 
-cat >>confdefs.h <<\_ACEOF
-#define ENABLE_NLS 1
-_ACEOF
+$as_echo "#define ENABLE_NLS 1" >>confdefs.h
 
     else
             CATOBJEXT=
 
     else
             CATOBJEXT=
@@ -10770,7 +7430,7 @@ _ACEOF
                   if $XGETTEXT --omit-header /dev/null 2> /dev/null; then
         : ;
       else
                   if $XGETTEXT --omit-header /dev/null 2> /dev/null; then
         : ;
       else
-        { $as_echo "$as_me:$LINENO: result: found xgettext program is not GNU xgettext; ignore it" >&5
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: found xgettext program is not GNU xgettext; ignore it" >&5
 $as_echo "found xgettext program is not GNU xgettext; ignore it" >&6; }
         XGETTEXT=":"
       fi
 $as_echo "found xgettext program is not GNU xgettext; ignore it" >&6; }
         XGETTEXT=":"
       fi
@@ -10803,7 +7463,7 @@ $as_echo "found xgettext program is not GNU xgettext; ignore it" >&6; }
      if test "x$ALL_LINGUAS" = "x"; then
        LINGUAS=
      else
      if test "x$ALL_LINGUAS" = "x"; then
        LINGUAS=
      else
-       { $as_echo "$as_me:$LINENO: checking for catalogs to be installed" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: checking for catalogs to be installed" >&5
 $as_echo_n "checking for catalogs to be installed... " >&6; }
        NEW_LINGUAS=
        for lang in ${LINGUAS=$ALL_LINGUAS}; do
 $as_echo_n "checking for catalogs to be installed... " >&6; }
        NEW_LINGUAS=
        for lang in ${LINGUAS=$ALL_LINGUAS}; do
@@ -10812,7 +7472,7 @@ $as_echo_n "checking for catalogs to be installed... " >&6; }
          esac
        done
        LINGUAS=$NEW_LINGUAS
          esac
        done
        LINGUAS=$NEW_LINGUAS
-       { $as_echo "$as_me:$LINENO: result: $LINGUAS" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LINGUAS" >&5
 $as_echo "$LINGUAS" >&6; }
      fi
 
 $as_echo "$LINGUAS" >&6; }
      fi
 
@@ -10823,134 +7483,8 @@ $as_echo "$LINGUAS" >&6; }
 
             test -d po || mkdir po
    if test "$CATOBJEXT" = ".cat"; then
 
             test -d po || mkdir po
    if test "$CATOBJEXT" = ".cat"; then
-     if test "${ac_cv_header_linux_version_h+set}" = set; then
-  { $as_echo "$as_me:$LINENO: checking for linux/version.h" >&5
-$as_echo_n "checking for linux/version.h... " >&6; }
-if test "${ac_cv_header_linux_version_h+set}" = set; then
-  $as_echo_n "(cached) " >&6
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_linux_version_h" >&5
-$as_echo "$ac_cv_header_linux_version_h" >&6; }
-else
-  # Is the header compilable?
-{ $as_echo "$as_me:$LINENO: checking linux/version.h usability" >&5
-$as_echo_n "checking linux/version.h usability... " >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-#include <linux/version.h>
-_ACEOF
-rm -rf conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_header_compiler=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_header_compiler=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-$as_echo "$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ $as_echo "$as_me:$LINENO: checking linux/version.h presence" >&5
-$as_echo_n "checking linux/version.h presence... " >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <linux/version.h>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then
-  ac_header_preproc=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-  ac_header_preproc=no
-fi
-
-rm -rf conftest.err conftest.$ac_ext
-{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-$as_echo "$ac_header_preproc" >&6; }
-
-# So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
-  yes:no: )
-    { $as_echo "$as_me:$LINENO: WARNING: linux/version.h: accepted by the compiler, rejected by the preprocessor!" >&5
-$as_echo "$as_me: WARNING: linux/version.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: linux/version.h: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: linux/version.h: proceeding with the compiler's result" >&2;}
-    ac_header_preproc=yes
-    ;;
-  no:yes:* )
-    { $as_echo "$as_me:$LINENO: WARNING: linux/version.h: present but cannot be compiled" >&5
-$as_echo "$as_me: WARNING: linux/version.h: present but cannot be compiled" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: linux/version.h:     check for missing prerequisite headers?" >&5
-$as_echo "$as_me: WARNING: linux/version.h:     check for missing prerequisite headers?" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: linux/version.h: see the Autoconf documentation" >&5
-$as_echo "$as_me: WARNING: linux/version.h: see the Autoconf documentation" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: linux/version.h:     section \"Present But Cannot Be Compiled\"" >&5
-$as_echo "$as_me: WARNING: linux/version.h:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: linux/version.h: proceeding with the preprocessor's result" >&5
-$as_echo "$as_me: WARNING: linux/version.h: proceeding with the preprocessor's result" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: linux/version.h: in the future, the compiler will take precedence" >&5
-$as_echo "$as_me: WARNING: linux/version.h: in the future, the compiler will take precedence" >&2;}
-
-    ;;
-esac
-{ $as_echo "$as_me:$LINENO: checking for linux/version.h" >&5
-$as_echo_n "checking for linux/version.h... " >&6; }
-if test "${ac_cv_header_linux_version_h+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_header_linux_version_h=$ac_header_preproc
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_linux_version_h" >&5
-$as_echo "$ac_cv_header_linux_version_h" >&6; }
-
-fi
-if test "x$ac_cv_header_linux_version_h" = x""yes; then
+     ac_fn_c_check_header_mongrel "$LINENO" "linux/version.h" "ac_cv_header_linux_version_h" "$ac_includes_default"
+if test "x$ac_cv_header_linux_version_h" = xyes; then :
   msgformat=linux
 else
   msgformat=xopen
   msgformat=linux
 else
   msgformat=xopen
@@ -11001,64 +7535,21 @@ MKINSTALLDIRS="$INSTALL_DIRS"
 #
 #       Check for -lXmu (some fucked up vendors don't ship it...)
 #
 #
 #       Check for -lXmu (some fucked up vendors don't ship it...)
 #
-###############################################################################
-
-have_xmu=no
-
-  ac_save_CPPFLAGS="$CPPFLAGS"
-  if test \! -z "$includedir" ; then
-    CPPFLAGS="$CPPFLAGS -I$includedir"
-  fi
-  CPPFLAGS="$CPPFLAGS $X_CFLAGS"
-  CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
-  { $as_echo "$as_me:$LINENO: checking for X11/Xmu/Error.h" >&5
-$as_echo_n "checking for X11/Xmu/Error.h... " >&6; }
-if test "${ac_cv_header_X11_Xmu_Error_h+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <stdlib.h>
-                   #include <stdio.h>
-                   #include <X11/Intrinsic.h>
-
-#include <X11/Xmu/Error.h>
-_ACEOF
-rm -rf conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_header_X11_Xmu_Error_h=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+###############################################################################
 
 
-       ac_cv_header_X11_Xmu_Error_h=no
-fi
+have_xmu=no
 
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_X11_Xmu_Error_h" >&5
-$as_echo "$ac_cv_header_X11_Xmu_Error_h" >&6; }
-if test "x$ac_cv_header_X11_Xmu_Error_h" = x""yes; then
+  ac_save_CPPFLAGS="$CPPFLAGS"
+  if test \! -z "$includedir" ; then
+    CPPFLAGS="$CPPFLAGS -I$includedir"
+  fi
+  CPPFLAGS="$CPPFLAGS $X_CFLAGS"
+  CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
+  ac_fn_c_check_header_compile "$LINENO" "X11/Xmu/Error.h" "ac_cv_header_X11_Xmu_Error_h" "#include <stdlib.h>
+                   #include <stdio.h>
+                   #include <X11/Intrinsic.h>
+"
+if test "x$ac_cv_header_X11_Xmu_Error_h" = xyes; then :
   have_xmu=yes
 fi
 
   have_xmu=yes
 fi
 
@@ -11072,9 +7563,7 @@ else
   XMU_SRCS=''
   XMU_OBJS=''
   XMU_LIBS='-lXmu'
   XMU_SRCS=''
   XMU_OBJS=''
   XMU_LIBS='-lXmu'
-  cat >>confdefs.h <<\_ACEOF
-#define HAVE_XMU 1
-_ACEOF
+  $as_echo "#define HAVE_XMU 1" >>confdefs.h
 
 fi
 
 
 fi
 
@@ -11090,9 +7579,9 @@ fi
 if test "$have_xmu" = yes ; then
   case "$host" in
     *-sunos4*)
 if test "$have_xmu" = yes ; then
   case "$host" in
     *-sunos4*)
-    { $as_echo "$as_me:$LINENO: checking for the SunOS 4.1.x _get_wmShellWidgetClass bug" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for the SunOS 4.1.x _get_wmShellWidgetClass bug" >&5
 $as_echo_n "checking for the SunOS 4.1.x _get_wmShellWidgetClass bug... " >&6; }
 $as_echo_n "checking for the SunOS 4.1.x _get_wmShellWidgetClass bug... " >&6; }
-if test "${ac_cv_sunos_xmu_bug+set}" = set; then
+if ${ac_cv_sunos_xmu_bug+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_save_LDFLAGS="$LDFLAGS"
   $as_echo_n "(cached) " >&6
 else
   ac_save_LDFLAGS="$LDFLAGS"
@@ -11103,11 +7592,7 @@ else
                     # We're only getting away with using AC_TRY_LINK
                     # with X libraries because we know it's SunOS.
                     LDFLAGS="$LDFLAGS -lXmu -lXt -lX11 -lXext -lm"
                     # We're only getting away with using AC_TRY_LINK
                     # with X libraries because we know it's SunOS.
                     LDFLAGS="$LDFLAGS -lXmu -lXt -lX11 -lXext -lm"
-                    cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+                    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
 /* end confdefs.h.  */
 
 int
@@ -11118,55 +7603,26 @@ main ()
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then
+if ac_fn_c_try_link "$LINENO"; then :
   ac_cv_sunos_xmu_bug=no
 else
   ac_cv_sunos_xmu_bug=no
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_sunos_xmu_bug=yes
+  ac_cv_sunos_xmu_bug=yes
 fi
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
                     LDFLAGS="$ac_save_LDFLAGS"
 fi
                     LDFLAGS="$ac_save_LDFLAGS"
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_sunos_xmu_bug" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sunos_xmu_bug" >&5
 $as_echo "$ac_cv_sunos_xmu_bug" >&6; }
     if test "$ac_cv_sunos_xmu_bug" = yes ; then
 $as_echo "$ac_cv_sunos_xmu_bug" >&6; }
     if test "$ac_cv_sunos_xmu_bug" = yes ; then
-      { $as_echo "$as_me:$LINENO: checking whether the compiler understands -static" >&5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler understands -static" >&5
 $as_echo_n "checking whether the compiler understands -static... " >&6; }
 $as_echo_n "checking whether the compiler understands -static... " >&6; }
-if test "${ac_cv_ld_static+set}" = set; then
+if ${ac_cv_ld_static+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_save_LDFLAGS="$LDFLAGS"
                       LDFLAGS="$LDFLAGS -static"
   $as_echo_n "(cached) " >&6
 else
   ac_save_LDFLAGS="$LDFLAGS"
                       LDFLAGS="$LDFLAGS -static"
-                      cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+                      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
 /* end confdefs.h.  */
 
 int
@@ -11177,41 +7633,16 @@ main ()
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then
+if ac_fn_c_try_link "$LINENO"; then :
   ac_cv_ld_static=yes
 else
   ac_cv_ld_static=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_ld_static=no
+  ac_cv_ld_static=no
 fi
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
                     LDFLAGS="$ac_save_LDFLAGS"
 fi
                     LDFLAGS="$ac_save_LDFLAGS"
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_ld_static" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_ld_static" >&5
 $as_echo "$ac_cv_ld_static" >&6; }
       if test "$ac_cv_ld_static" = yes ; then
         LDFLAGS="$LDFLAGS -static"
 $as_echo "$ac_cv_ld_static" >&6; }
       if test "$ac_cv_ld_static" = yes ; then
         LDFLAGS="$LDFLAGS -static"
@@ -11234,7 +7665,7 @@ have_hackdir=yes
 with_hackdir_req=unspecified
 
 # Check whether --with-hackdir was given.
 with_hackdir_req=unspecified
 
 # Check whether --with-hackdir was given.
-if test "${with_hackdir+set}" = set; then
+if test "${with_hackdir+set}" = set; then :
   withval=$with_hackdir; with_hackdir="$withval"; with_hackdir_req="$withval"
 else
   with_hackdir=yes
   withval=$with_hackdir; with_hackdir="$withval"; with_hackdir_req="$withval"
 else
   with_hackdir=yes
@@ -11260,7 +7691,7 @@ HACKDIR_FULL=`eval eval eval eval eval eval eval eval eval echo $HACKDIR`
 
 obsolete_enable=
 # Check whether --enable-subdir was given.
 
 obsolete_enable=
 # Check whether --enable-subdir was given.
-if test "${enable_subdir+set}" = set; then
+if test "${enable_subdir+set}" = set; then :
   enableval=$enable_subdir; obsolete_enable=yes
 fi
 
   enableval=$enable_subdir; obsolete_enable=yes
 fi
 
@@ -11283,7 +7714,7 @@ have_configdir=yes
 with_configdir_req=unspecified
 
 # Check whether --with-configdir was given.
 with_configdir_req=unspecified
 
 # Check whether --with-configdir was given.
-if test "${with_configdir+set}" = set; then
+if test "${with_configdir+set}" = set; then :
   withval=$with_configdir; with_configdir="$withval"; with_configdir_req="$withval"
 else
   with_configdir=yes
   withval=$with_configdir; with_configdir="$withval"; with_configdir_req="$withval"
 else
   with_configdir=yes
@@ -11422,7 +7853,7 @@ have_dpms=no
 with_dpms_req=unspecified
 
 # Check whether --with-dpms-ext was given.
 with_dpms_req=unspecified
 
 # Check whether --with-dpms-ext was given.
-if test "${with_dpms_ext+set}" = set; then
+if test "${with_dpms_ext+set}" = set; then :
   withval=$with_dpms_ext; with_dpms="$withval"; with_dpms_req="$withval"
 else
   with_dpms=yes
   withval=$with_dpms_ext; with_dpms="$withval"; with_dpms_req="$withval"
 else
   with_dpms=yes
     no)  ;;
 
     /*)
     no)  ;;
 
     /*)
-     { $as_echo "$as_me:$LINENO: checking for DPMS headers" >&5
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for DPMS headers" >&5
 $as_echo_n "checking for DPMS headers... " >&6; }
      d=$with_dpms/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
 $as_echo_n "checking for DPMS headers... " >&6; }
      d=$with_dpms/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
-       { $as_echo "$as_me:$LINENO: result: $d" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $d" >&5
 $as_echo "$d" >&6; }
      else
 $as_echo "$d" >&6; }
      else
-       { $as_echo "$as_me:$LINENO: result: not found ($d: no such directory)" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found ($d: no such directory)" >&5
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
-     { $as_echo "$as_me:$LINENO: checking for DPMS libs" >&5
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for DPMS libs" >&5
 $as_echo_n "checking for DPMS libs... " >&6; }
      d=$with_dpms/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
 $as_echo_n "checking for DPMS libs... " >&6; }
      d=$with_dpms/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
-       { $as_echo "$as_me:$LINENO: result: $d" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $d" >&5
 $as_echo "$d" >&6; }
      else
 $as_echo "$d" >&6; }
      else
-       { $as_echo "$as_me:$LINENO: result: not found ($d: no such directory)" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found ($d: no such directory)" >&5
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
@@ -11484,53 +7915,10 @@ if test "$with_dpms" = yes; then
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
-  { $as_echo "$as_me:$LINENO: checking for X11/extensions/dpms.h" >&5
-$as_echo_n "checking for X11/extensions/dpms.h... " >&6; }
-if test "${ac_cv_header_X11_extensions_dpms_h+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <X11/Xlib.h>
+  ac_fn_c_check_header_compile "$LINENO" "X11/extensions/dpms.h" "ac_cv_header_X11_extensions_dpms_h" "#include <X11/Xlib.h>
                     #include <X11/Xmd.h>
                     #include <X11/Xmd.h>
-
-#include <X11/extensions/dpms.h>
-_ACEOF
-rm -rf conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_header_X11_extensions_dpms_h=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_header_X11_extensions_dpms_h=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_X11_extensions_dpms_h" >&5
-$as_echo "$ac_cv_header_X11_extensions_dpms_h" >&6; }
-if test "x$ac_cv_header_X11_extensions_dpms_h" = x""yes; then
+"
+if test "x$ac_cv_header_X11_extensions_dpms_h" = xyes; then :
   have_dpms=yes
 fi
 
   have_dpms=yes
 fi
 
 
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
 
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
-  { $as_echo "$as_me:$LINENO: checking for DPMSInfo in -lXext" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for DPMSInfo in -lXext" >&5
 $as_echo_n "checking for DPMSInfo in -lXext... " >&6; }
 $as_echo_n "checking for DPMSInfo in -lXext... " >&6; }
-if test "${ac_cv_lib_Xext_DPMSInfo+set}" = set; then
+if ${ac_cv_lib_Xext_DPMSInfo+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lXext -lXext -lX11 $LIBS"
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lXext -lXext -lX11 $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
@@ -11590,43 +7974,18 @@ return DPMSInfo ();
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then
+if ac_fn_c_try_link "$LINENO"; then :
   ac_cv_lib_Xext_DPMSInfo=yes
 else
   ac_cv_lib_Xext_DPMSInfo=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_lib_Xext_DPMSInfo=no
+  ac_cv_lib_Xext_DPMSInfo=no
 fi
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_Xext_DPMSInfo" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_Xext_DPMSInfo" >&5
 $as_echo "$ac_cv_lib_Xext_DPMSInfo" >&6; }
 $as_echo "$ac_cv_lib_Xext_DPMSInfo" >&6; }
-if test "x$ac_cv_lib_Xext_DPMSInfo" = x""yes; then
+if test "x$ac_cv_lib_Xext_DPMSInfo" = xyes; then :
   have_dpms=yes
 else
   true
   have_dpms=yes
 else
   true
 
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
 
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
-  { $as_echo "$as_me:$LINENO: checking for DPMSInfo in -lXdpms" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for DPMSInfo in -lXdpms" >&5
 $as_echo_n "checking for DPMSInfo in -lXdpms... " >&6; }
 $as_echo_n "checking for DPMSInfo in -lXdpms... " >&6; }
-if test "${ac_cv_lib_Xdpms_DPMSInfo+set}" = set; then
+if ${ac_cv_lib_Xdpms_DPMSInfo+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lXdpms -lXext -lX11 $LIBS"
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lXdpms -lXext -lX11 $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
@@ -11687,43 +8042,18 @@ return DPMSInfo ();
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then
+if ac_fn_c_try_link "$LINENO"; then :
   ac_cv_lib_Xdpms_DPMSInfo=yes
 else
   ac_cv_lib_Xdpms_DPMSInfo=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_lib_Xdpms_DPMSInfo=no
+  ac_cv_lib_Xdpms_DPMSInfo=no
 fi
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_Xdpms_DPMSInfo" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_Xdpms_DPMSInfo" >&5
 $as_echo "$ac_cv_lib_Xdpms_DPMSInfo" >&6; }
 $as_echo "$ac_cv_lib_Xdpms_DPMSInfo" >&6; }
-if test "x$ac_cv_lib_Xdpms_DPMSInfo" = x""yes; then
+if test "x$ac_cv_lib_Xdpms_DPMSInfo" = xyes; then :
   have_dpms=yes; XDPMS_LIBS="-lXdpms"
 else
   true
   have_dpms=yes; XDPMS_LIBS="-lXdpms"
 else
   true
@@ -11739,9 +8069,7 @@ fi
 
   # if that succeeded, then we've really got it.
   if test "$have_dpms" = yes; then
 
   # if that succeeded, then we've really got it.
   if test "$have_dpms" = yes; then
-    cat >>confdefs.h <<\_ACEOF
-#define HAVE_DPMS_EXTENSION 1
-_ACEOF
+    $as_echo "#define HAVE_DPMS_EXTENSION 1" >>confdefs.h
 
   fi
 
 
   fi
 
@@ -11761,7 +8089,7 @@ have_xinerama=no
 with_xinerama_req=unspecified
 
 # Check whether --with-xinerama-ext was given.
 with_xinerama_req=unspecified
 
 # Check whether --with-xinerama-ext was given.
-if test "${with_xinerama_ext+set}" = set; then
+if test "${with_xinerama_ext+set}" = set; then :
   withval=$with_xinerama_ext; with_xinerama="$withval"; with_xinerama_req="$withval"
 else
   with_xinerama=yes
   withval=$with_xinerama_ext; with_xinerama="$withval"; with_xinerama_req="$withval"
 else
   with_xinerama=yes
     no)  ;;
 
     /*)
     no)  ;;
 
     /*)
-     { $as_echo "$as_me:$LINENO: checking for XINERAMA headers" >&5
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XINERAMA headers" >&5
 $as_echo_n "checking for XINERAMA headers... " >&6; }
      d=$with_xinerama/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
 $as_echo_n "checking for XINERAMA headers... " >&6; }
      d=$with_xinerama/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
-       { $as_echo "$as_me:$LINENO: result: $d" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $d" >&5
 $as_echo "$d" >&6; }
      else
 $as_echo "$d" >&6; }
      else
-       { $as_echo "$as_me:$LINENO: result: not found ($d: no such directory)" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found ($d: no such directory)" >&5
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
-     { $as_echo "$as_me:$LINENO: checking for XINERAMA libs" >&5
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XINERAMA libs" >&5
 $as_echo_n "checking for XINERAMA libs... " >&6; }
      d=$with_xinerama/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
 $as_echo_n "checking for XINERAMA libs... " >&6; }
      d=$with_xinerama/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
-       { $as_echo "$as_me:$LINENO: result: $d" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $d" >&5
 $as_echo "$d" >&6; }
      else
 $as_echo "$d" >&6; }
      else
-       { $as_echo "$as_me:$LINENO: result: not found ($d: no such directory)" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found ($d: no such directory)" >&5
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
@@ -11823,52 +8151,9 @@ if test "$with_xinerama" = yes; then
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
-  { $as_echo "$as_me:$LINENO: checking for X11/extensions/Xinerama.h" >&5
-$as_echo_n "checking for X11/extensions/Xinerama.h... " >&6; }
-if test "${ac_cv_header_X11_extensions_Xinerama_h+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <X11/Xlib.h>
-
-#include <X11/extensions/Xinerama.h>
-_ACEOF
-rm -rf conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_header_X11_extensions_Xinerama_h=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_header_X11_extensions_Xinerama_h=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_X11_extensions_Xinerama_h" >&5
-$as_echo "$ac_cv_header_X11_extensions_Xinerama_h" >&6; }
-if test "x$ac_cv_header_X11_extensions_Xinerama_h" = x""yes; then
+  ac_fn_c_check_header_compile "$LINENO" "X11/extensions/Xinerama.h" "ac_cv_header_X11_extensions_Xinerama_h" "#include <X11/Xlib.h>
+"
+if test "x$ac_cv_header_X11_extensions_Xinerama_h" = xyes; then :
   have_xinerama=yes
 fi
 
   have_xinerama=yes
 fi
 
 
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
 
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
-  { $as_echo "$as_me:$LINENO: checking for XineramaQueryScreens in -lXext" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XineramaQueryScreens in -lXext" >&5
 $as_echo_n "checking for XineramaQueryScreens in -lXext... " >&6; }
 $as_echo_n "checking for XineramaQueryScreens in -lXext... " >&6; }
-if test "${ac_cv_lib_Xext_XineramaQueryScreens+set}" = set; then
+if ${ac_cv_lib_Xext_XineramaQueryScreens+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lXext -lXext -lX11 $LIBS"
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lXext -lXext -lX11 $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
@@ -11928,43 +8209,18 @@ return XineramaQueryScreens ();
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then
+if ac_fn_c_try_link "$LINENO"; then :
   ac_cv_lib_Xext_XineramaQueryScreens=yes
 else
   ac_cv_lib_Xext_XineramaQueryScreens=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_lib_Xext_XineramaQueryScreens=no
+  ac_cv_lib_Xext_XineramaQueryScreens=no
 fi
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_Xext_XineramaQueryScreens" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_Xext_XineramaQueryScreens" >&5
 $as_echo "$ac_cv_lib_Xext_XineramaQueryScreens" >&6; }
 $as_echo "$ac_cv_lib_Xext_XineramaQueryScreens" >&6; }
-if test "x$ac_cv_lib_Xext_XineramaQueryScreens" = x""yes; then
+if test "x$ac_cv_lib_Xext_XineramaQueryScreens" = xyes; then :
   have_xinerama=yes
 else
   true
   have_xinerama=yes
 else
   true
 
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
 
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
-  { $as_echo "$as_me:$LINENO: checking for XineramaQueryScreens in -lXinerama" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XineramaQueryScreens in -lXinerama" >&5
 $as_echo_n "checking for XineramaQueryScreens in -lXinerama... " >&6; }
 $as_echo_n "checking for XineramaQueryScreens in -lXinerama... " >&6; }
-if test "${ac_cv_lib_Xinerama_XineramaQueryScreens+set}" = set; then
+if ${ac_cv_lib_Xinerama_XineramaQueryScreens+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lXinerama -lXext -lX11 $LIBS"
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lXinerama -lXext -lX11 $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
@@ -12025,43 +8277,18 @@ return XineramaQueryScreens ();
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then
+if ac_fn_c_try_link "$LINENO"; then :
   ac_cv_lib_Xinerama_XineramaQueryScreens=yes
 else
   ac_cv_lib_Xinerama_XineramaQueryScreens=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_lib_Xinerama_XineramaQueryScreens=no
+  ac_cv_lib_Xinerama_XineramaQueryScreens=no
 fi
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_Xinerama_XineramaQueryScreens" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_Xinerama_XineramaQueryScreens" >&5
 $as_echo "$ac_cv_lib_Xinerama_XineramaQueryScreens" >&6; }
 $as_echo "$ac_cv_lib_Xinerama_XineramaQueryScreens" >&6; }
-if test "x$ac_cv_lib_Xinerama_XineramaQueryScreens" = x""yes; then
+if test "x$ac_cv_lib_Xinerama_XineramaQueryScreens" = xyes; then :
   have_xinerama=yes; XINERAMA_LIBS="-lXinerama"
 else
   true
   have_xinerama=yes; XINERAMA_LIBS="-lXinerama"
 else
   true
@@ -12076,9 +8303,7 @@ fi
 
   # if that succeeded, then we've really got it.
   if test "$have_xinerama" = yes; then
 
   # if that succeeded, then we've really got it.
   if test "$have_xinerama" = yes; then
-    cat >>confdefs.h <<\_ACEOF
-#define HAVE_XINERAMA 1
-_ACEOF
+    $as_echo "#define HAVE_XINERAMA 1" >>confdefs.h
 
   fi
 
 
   fi
 
@@ -12098,7 +8323,7 @@ have_xinput=no
 with_xinput_req=unspecified
 
 # Check whether --with-xinput-ext was given.
 with_xinput_req=unspecified
 
 # Check whether --with-xinput-ext was given.
-if test "${with_xinput_ext+set}" = set; then
+if test "${with_xinput_ext+set}" = set; then :
   withval=$with_xinput_ext; with_xinput="$withval"; with_xinput_req="$withval"
 else
   with_xinput=yes
   withval=$with_xinput_ext; with_xinput="$withval"; with_xinput_req="$withval"
 else
   with_xinput=yes
     no)  ;;
 
     /*)
     no)  ;;
 
     /*)
-     { $as_echo "$as_me:$LINENO: checking for XINPUT headers" >&5
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XINPUT headers" >&5
 $as_echo_n "checking for XINPUT headers... " >&6; }
      d=$with_xinput/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
 $as_echo_n "checking for XINPUT headers... " >&6; }
      d=$with_xinput/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
-       { $as_echo "$as_me:$LINENO: result: $d" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $d" >&5
 $as_echo "$d" >&6; }
      else
 $as_echo "$d" >&6; }
      else
-       { $as_echo "$as_me:$LINENO: result: not found ($d: no such directory)" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found ($d: no such directory)" >&5
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
-     { $as_echo "$as_me:$LINENO: checking for XINPUT libs" >&5
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XINPUT libs" >&5
 $as_echo_n "checking for XINPUT libs... " >&6; }
      d=$with_xinput/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
 $as_echo_n "checking for XINPUT libs... " >&6; }
      d=$with_xinput/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
-       { $as_echo "$as_me:$LINENO: result: $d" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $d" >&5
 $as_echo "$d" >&6; }
      else
 $as_echo "$d" >&6; }
      else
-       { $as_echo "$as_me:$LINENO: result: not found ($d: no such directory)" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found ($d: no such directory)" >&5
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
@@ -12160,52 +8385,9 @@ if test "$with_xinput" = yes; then
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
-  { $as_echo "$as_me:$LINENO: checking for X11/extensions/XInput.h" >&5
-$as_echo_n "checking for X11/extensions/XInput.h... " >&6; }
-if test "${ac_cv_header_X11_extensions_XInput_h+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <X11/Xlib.h>
-
-#include <X11/extensions/XInput.h>
-_ACEOF
-rm -rf conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_header_X11_extensions_XInput_h=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_header_X11_extensions_XInput_h=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_X11_extensions_XInput_h" >&5
-$as_echo "$ac_cv_header_X11_extensions_XInput_h" >&6; }
-if test "x$ac_cv_header_X11_extensions_XInput_h" = x""yes; then
+  ac_fn_c_check_header_compile "$LINENO" "X11/extensions/XInput.h" "ac_cv_header_X11_extensions_XInput_h" "#include <X11/Xlib.h>
+"
+if test "x$ac_cv_header_X11_extensions_XInput_h" = xyes; then :
   have_xinput=yes
 fi
 
   have_xinput=yes
 fi
 
 
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
 
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
-  { $as_echo "$as_me:$LINENO: checking for XListInputDevices in -lXi" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XListInputDevices in -lXi" >&5
 $as_echo_n "checking for XListInputDevices in -lXi... " >&6; }
 $as_echo_n "checking for XListInputDevices in -lXi... " >&6; }
-if test "${ac_cv_lib_Xi_XListInputDevices+set}" = set; then
+if ${ac_cv_lib_Xi_XListInputDevices+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lXi -lXext -lX11 $LIBS"
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lXi -lXext -lX11 $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
@@ -12263,43 +8441,18 @@ return XListInputDevices ();
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then
+if ac_fn_c_try_link "$LINENO"; then :
   ac_cv_lib_Xi_XListInputDevices=yes
 else
   ac_cv_lib_Xi_XListInputDevices=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_lib_Xi_XListInputDevices=no
+  ac_cv_lib_Xi_XListInputDevices=no
 fi
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_Xi_XListInputDevices" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_Xi_XListInputDevices" >&5
 $as_echo "$ac_cv_lib_Xi_XListInputDevices" >&6; }
 $as_echo "$ac_cv_lib_Xi_XListInputDevices" >&6; }
-if test "x$ac_cv_lib_Xi_XListInputDevices" = x""yes; then
+if test "x$ac_cv_lib_Xi_XListInputDevices" = xyes; then :
   have_xinput=yes; SAVER_LIBS="$SAVER_LIBS -lXi"
 else
   true
   have_xinput=yes; SAVER_LIBS="$SAVER_LIBS -lXi"
 else
   true
@@ -12313,9 +8466,7 @@ fi
 
   # if that succeeded, then we've really got it.
   if test "$have_xinput" = yes; then
 
   # if that succeeded, then we've really got it.
   if test "$have_xinput" = yes; then
-    cat >>confdefs.h <<\_ACEOF
-#define HAVE_XINPUT 1
-_ACEOF
+    $as_echo "#define HAVE_XINPUT 1" >>confdefs.h
 
   fi
 
 
   fi
 
@@ -12335,7 +8486,7 @@ have_xf86vmode=no
 with_xf86vmode_req=unspecified
 
 # Check whether --with-xf86vmode-ext was given.
 with_xf86vmode_req=unspecified
 
 # Check whether --with-xf86vmode-ext was given.
-if test "${with_xf86vmode_ext+set}" = set; then
+if test "${with_xf86vmode_ext+set}" = set; then :
   withval=$with_xf86vmode_ext; with_xf86vmode="$withval"; with_xf86vmode_req="$withval"
 else
   with_xf86vmode=yes
   withval=$with_xf86vmode_ext; with_xf86vmode="$withval"; with_xf86vmode_req="$withval"
 else
   with_xf86vmode=yes
     no)  ;;
 
     /*)
     no)  ;;
 
     /*)
-     { $as_echo "$as_me:$LINENO: checking for xf86vmode headers" >&5
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for xf86vmode headers" >&5
 $as_echo_n "checking for xf86vmode headers... " >&6; }
      d=$with_xf86vmode/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
 $as_echo_n "checking for xf86vmode headers... " >&6; }
      d=$with_xf86vmode/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
-       { $as_echo "$as_me:$LINENO: result: $d" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $d" >&5
 $as_echo "$d" >&6; }
      else
 $as_echo "$d" >&6; }
      else
-       { $as_echo "$as_me:$LINENO: result: not found ($d: no such directory)" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found ($d: no such directory)" >&5
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
-     { $as_echo "$as_me:$LINENO: checking for xf86vmode libs" >&5
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for xf86vmode libs" >&5
 $as_echo_n "checking for xf86vmode libs... " >&6; }
      d=$with_xf86vmode/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
 $as_echo_n "checking for xf86vmode libs... " >&6; }
      d=$with_xf86vmode/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
-       { $as_echo "$as_me:$LINENO: result: $d" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $d" >&5
 $as_echo "$d" >&6; }
      else
 $as_echo "$d" >&6; }
      else
-       { $as_echo "$as_me:$LINENO: result: not found ($d: no such directory)" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found ($d: no such directory)" >&5
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
@@ -12399,52 +8550,9 @@ if test "$with_xf86vmode" = yes; then
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
-  { $as_echo "$as_me:$LINENO: checking for X11/extensions/xf86vmode.h" >&5
-$as_echo_n "checking for X11/extensions/xf86vmode.h... " >&6; }
-if test "${ac_cv_header_X11_extensions_xf86vmode_h+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <X11/Xlib.h>
-
-#include <X11/extensions/xf86vmode.h>
-_ACEOF
-rm -rf conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_header_X11_extensions_xf86vmode_h=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_header_X11_extensions_xf86vmode_h=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_X11_extensions_xf86vmode_h" >&5
-$as_echo "$ac_cv_header_X11_extensions_xf86vmode_h" >&6; }
-if test "x$ac_cv_header_X11_extensions_xf86vmode_h" = x""yes; then
+  ac_fn_c_check_header_compile "$LINENO" "X11/extensions/xf86vmode.h" "ac_cv_header_X11_extensions_xf86vmode_h" "#include <X11/Xlib.h>
+"
+if test "x$ac_cv_header_X11_extensions_xf86vmode_h" = xyes; then :
   have_xf86vmode=yes
 fi
 
   have_xf86vmode=yes
 fi
 
 
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
 
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
-  { $as_echo "$as_me:$LINENO: checking for XF86VidModeGetViewPort in -lXxf86vm" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XF86VidModeGetViewPort in -lXxf86vm" >&5
 $as_echo_n "checking for XF86VidModeGetViewPort in -lXxf86vm... " >&6; }
 $as_echo_n "checking for XF86VidModeGetViewPort in -lXxf86vm... " >&6; }
-if test "${ac_cv_lib_Xxf86vm_XF86VidModeGetViewPort+set}" = set; then
+if ${ac_cv_lib_Xxf86vm_XF86VidModeGetViewPort+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lXxf86vm -lXext -lX11 $LIBS"
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lXxf86vm -lXext -lX11 $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
@@ -12502,43 +8606,18 @@ return XF86VidModeGetViewPort ();
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then
+if ac_fn_c_try_link "$LINENO"; then :
   ac_cv_lib_Xxf86vm_XF86VidModeGetViewPort=yes
 else
   ac_cv_lib_Xxf86vm_XF86VidModeGetViewPort=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_lib_Xxf86vm_XF86VidModeGetViewPort=no
+  ac_cv_lib_Xxf86vm_XF86VidModeGetViewPort=no
 fi
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_Xxf86vm_XF86VidModeGetViewPort" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_Xxf86vm_XF86VidModeGetViewPort" >&5
 $as_echo "$ac_cv_lib_Xxf86vm_XF86VidModeGetViewPort" >&6; }
 $as_echo "$ac_cv_lib_Xxf86vm_XF86VidModeGetViewPort" >&6; }
-if test "x$ac_cv_lib_Xxf86vm_XF86VidModeGetViewPort" = x""yes; then
+if test "x$ac_cv_lib_Xxf86vm_XF86VidModeGetViewPort" = xyes; then :
   have_xf86vmode=yes;
                    VIDMODE_LIBS="-lXxf86vm";
                    SAVER_LIBS="$SAVER_LIBS $VIDMODE_LIBS"
   have_xf86vmode=yes;
                    VIDMODE_LIBS="-lXxf86vm";
                    SAVER_LIBS="$SAVER_LIBS $VIDMODE_LIBS"
@@ -12554,9 +8633,7 @@ fi
 
   # if that succeeded, then we've really got it.
   if test "$have_xf86vmode" = yes; then
 
   # if that succeeded, then we've really got it.
   if test "$have_xf86vmode" = yes; then
-    cat >>confdefs.h <<\_ACEOF
-#define HAVE_XF86VMODE 1
-_ACEOF
+    $as_echo "#define HAVE_XF86VMODE 1" >>confdefs.h
 
   fi
 
 
   fi
 
@@ -12577,7 +8654,7 @@ have_xf86gamma_ramp=no
 with_xf86gamma_req=unspecified
 
 # Check whether --with-xf86gamma-ext was given.
 with_xf86gamma_req=unspecified
 
 # Check whether --with-xf86gamma-ext was given.
-if test "${with_xf86gamma_ext+set}" = set; then
+if test "${with_xf86gamma_ext+set}" = set; then :
   withval=$with_xf86gamma_ext; with_xf86gamma="$withval"; with_xf86gamma_req="$withval"
 else
   with_xf86gamma=yes
   withval=$with_xf86gamma_ext; with_xf86gamma="$withval"; with_xf86gamma_req="$withval"
 else
   with_xf86gamma=yes
     no)  ;;
 
     /*)
     no)  ;;
 
     /*)
-     { $as_echo "$as_me:$LINENO: checking for xf86gamma headers" >&5
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for xf86gamma headers" >&5
 $as_echo_n "checking for xf86gamma headers... " >&6; }
      d=$with_xf86gamma/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
 $as_echo_n "checking for xf86gamma headers... " >&6; }
      d=$with_xf86gamma/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
-       { $as_echo "$as_me:$LINENO: result: $d" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $d" >&5
 $as_echo "$d" >&6; }
      else
 $as_echo "$d" >&6; }
      else
-       { $as_echo "$as_me:$LINENO: result: not found ($d: no such directory)" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found ($d: no such directory)" >&5
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
-     { $as_echo "$as_me:$LINENO: checking for xf86gamma libs" >&5
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for xf86gamma libs" >&5
 $as_echo_n "checking for xf86gamma libs... " >&6; }
      d=$with_xf86gamma/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
 $as_echo_n "checking for xf86gamma libs... " >&6; }
      d=$with_xf86gamma/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
-       { $as_echo "$as_me:$LINENO: result: $d" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $d" >&5
 $as_echo "$d" >&6; }
      else
 $as_echo "$d" >&6; }
      else
-       { $as_echo "$as_me:$LINENO: result: not found ($d: no such directory)" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found ($d: no such directory)" >&5
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
@@ -12642,52 +8719,9 @@ if test "$with_xf86gamma" = yes; then
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
-  { $as_echo "$as_me:$LINENO: checking for X11/extensions/xf86vmode.h" >&5
-$as_echo_n "checking for X11/extensions/xf86vmode.h... " >&6; }
-if test "${ac_cv_header_X11_extensions_xf86vmode_h+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <X11/Xlib.h>
-
-#include <X11/extensions/xf86vmode.h>
-_ACEOF
-rm -rf conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_header_X11_extensions_xf86vmode_h=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_header_X11_extensions_xf86vmode_h=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_X11_extensions_xf86vmode_h" >&5
-$as_echo "$ac_cv_header_X11_extensions_xf86vmode_h" >&6; }
-if test "x$ac_cv_header_X11_extensions_xf86vmode_h" = x""yes; then
+  ac_fn_c_check_header_compile "$LINENO" "X11/extensions/xf86vmode.h" "ac_cv_header_X11_extensions_xf86vmode_h" "#include <X11/Xlib.h>
+"
+if test "x$ac_cv_header_X11_extensions_xf86vmode_h" = xyes; then :
   have_xf86gamma=yes
 fi
 
   have_xf86gamma=yes
 fi
 
 
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
 
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
-  { $as_echo "$as_me:$LINENO: checking for XF86VidModeSetGamma in -lXxf86vm" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XF86VidModeSetGamma in -lXxf86vm" >&5
 $as_echo_n "checking for XF86VidModeSetGamma in -lXxf86vm... " >&6; }
 $as_echo_n "checking for XF86VidModeSetGamma in -lXxf86vm... " >&6; }
-if test "${ac_cv_lib_Xxf86vm_XF86VidModeSetGamma+set}" = set; then
+if ${ac_cv_lib_Xxf86vm_XF86VidModeSetGamma+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lXxf86vm -lXext -lX11 $LIBS"
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lXxf86vm -lXext -lX11 $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
@@ -12746,43 +8776,18 @@ return XF86VidModeSetGamma ();
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then
+if ac_fn_c_try_link "$LINENO"; then :
   ac_cv_lib_Xxf86vm_XF86VidModeSetGamma=yes
 else
   ac_cv_lib_Xxf86vm_XF86VidModeSetGamma=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_lib_Xxf86vm_XF86VidModeSetGamma=no
+  ac_cv_lib_Xxf86vm_XF86VidModeSetGamma=no
 fi
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_Xxf86vm_XF86VidModeSetGamma" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_Xxf86vm_XF86VidModeSetGamma" >&5
 $as_echo "$ac_cv_lib_Xxf86vm_XF86VidModeSetGamma" >&6; }
 $as_echo "$ac_cv_lib_Xxf86vm_XF86VidModeSetGamma" >&6; }
-if test "x$ac_cv_lib_Xxf86vm_XF86VidModeSetGamma" = x""yes; then
+if test "x$ac_cv_lib_Xxf86vm_XF86VidModeSetGamma" = xyes; then :
   have_xf86gamma=yes
 else
   true
   have_xf86gamma=yes
 else
   true
 
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
 
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
-  { $as_echo "$as_me:$LINENO: checking for XF86VidModeSetGammaRamp in -lXxf86vm" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XF86VidModeSetGammaRamp in -lXxf86vm" >&5
 $as_echo_n "checking for XF86VidModeSetGammaRamp in -lXxf86vm... " >&6; }
 $as_echo_n "checking for XF86VidModeSetGammaRamp in -lXxf86vm... " >&6; }
-if test "${ac_cv_lib_Xxf86vm_XF86VidModeSetGammaRamp+set}" = set; then
+if ${ac_cv_lib_Xxf86vm_XF86VidModeSetGammaRamp+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lXxf86vm -lXext -lX11 $LIBS"
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lXxf86vm -lXext -lX11 $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
@@ -12845,43 +8846,18 @@ return XF86VidModeSetGammaRamp ();
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then
+if ac_fn_c_try_link "$LINENO"; then :
   ac_cv_lib_Xxf86vm_XF86VidModeSetGammaRamp=yes
 else
   ac_cv_lib_Xxf86vm_XF86VidModeSetGammaRamp=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_lib_Xxf86vm_XF86VidModeSetGammaRamp=no
+  ac_cv_lib_Xxf86vm_XF86VidModeSetGammaRamp=no
 fi
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_Xxf86vm_XF86VidModeSetGammaRamp" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_Xxf86vm_XF86VidModeSetGammaRamp" >&5
 $as_echo "$ac_cv_lib_Xxf86vm_XF86VidModeSetGammaRamp" >&6; }
 $as_echo "$ac_cv_lib_Xxf86vm_XF86VidModeSetGammaRamp" >&6; }
-if test "x$ac_cv_lib_Xxf86vm_XF86VidModeSetGammaRamp" = x""yes; then
+if test "x$ac_cv_lib_Xxf86vm_XF86VidModeSetGammaRamp" = xyes; then :
   have_xf86gamma_ramp=yes
 else
   true
   have_xf86gamma_ramp=yes
 else
   true
 
   # if those tests succeeded, then we've really got the functions.
   if test "$have_xf86gamma" = yes; then
 
   # if those tests succeeded, then we've really got the functions.
   if test "$have_xf86gamma" = yes; then
-    cat >>confdefs.h <<\_ACEOF
-#define HAVE_XF86VMODE_GAMMA 1
-_ACEOF
+    $as_echo "#define HAVE_XF86VMODE_GAMMA 1" >>confdefs.h
 
   fi
 
   if test "$have_xf86gamma_ramp" = yes; then
 
   fi
 
   if test "$have_xf86gamma_ramp" = yes; then
-    cat >>confdefs.h <<\_ACEOF
-#define HAVE_XF86VMODE_GAMMA_RAMP 1
-_ACEOF
+    $as_echo "#define HAVE_XF86VMODE_GAMMA_RAMP 1" >>confdefs.h
 
   fi
 
 
   fi
 
@@ -12933,7 +8905,7 @@ have_randr=no
 with_randr_req=unspecified
 
 # Check whether --with-randr-ext was given.
 with_randr_req=unspecified
 
 # Check whether --with-randr-ext was given.
-if test "${with_randr_ext+set}" = set; then
+if test "${with_randr_ext+set}" = set; then :
   withval=$with_randr_ext; with_randr="$withval"; with_randr_req="$withval"
 else
   with_randr=yes
   withval=$with_randr_ext; with_randr="$withval"; with_randr_req="$withval"
 else
   with_randr=yes
     no)  ;;
 
     /*)
     no)  ;;
 
     /*)
-     { $as_echo "$as_me:$LINENO: checking for RANDR headers" >&5
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for RANDR headers" >&5
 $as_echo_n "checking for RANDR headers... " >&6; }
      d=$with_randr/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
 $as_echo_n "checking for RANDR headers... " >&6; }
      d=$with_randr/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
-       { $as_echo "$as_me:$LINENO: result: $d" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $d" >&5
 $as_echo "$d" >&6; }
      else
 $as_echo "$d" >&6; }
      else
-       { $as_echo "$as_me:$LINENO: result: not found ($d: no such directory)" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found ($d: no such directory)" >&5
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
-     { $as_echo "$as_me:$LINENO: checking for RANDR libs" >&5
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for RANDR libs" >&5
 $as_echo_n "checking for RANDR libs... " >&6; }
      d=$with_randr/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
 $as_echo_n "checking for RANDR libs... " >&6; }
      d=$with_randr/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
-       { $as_echo "$as_me:$LINENO: result: $d" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $d" >&5
 $as_echo "$d" >&6; }
      else
 $as_echo "$d" >&6; }
      else
-       { $as_echo "$as_me:$LINENO: result: not found ($d: no such directory)" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found ($d: no such directory)" >&5
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
@@ -12995,52 +8967,9 @@ if test "$with_randr" = yes; then
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
-  { $as_echo "$as_me:$LINENO: checking for X11/extensions/Xrandr.h" >&5
-$as_echo_n "checking for X11/extensions/Xrandr.h... " >&6; }
-if test "${ac_cv_header_X11_extensions_Xrandr_h+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <X11/Xlib.h>
-
-#include <X11/extensions/Xrandr.h>
-_ACEOF
-rm -rf conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_header_X11_extensions_Xrandr_h=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_header_X11_extensions_Xrandr_h=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_X11_extensions_Xrandr_h" >&5
-$as_echo "$ac_cv_header_X11_extensions_Xrandr_h" >&6; }
-if test "x$ac_cv_header_X11_extensions_Xrandr_h" = x""yes; then
+  ac_fn_c_check_header_compile "$LINENO" "X11/extensions/Xrandr.h" "ac_cv_header_X11_extensions_Xrandr_h" "#include <X11/Xlib.h>
+"
+if test "x$ac_cv_header_X11_extensions_Xrandr_h" = xyes; then :
   have_randr=yes
 fi
 
   have_randr=yes
 fi
 
 
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
 
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
-  { $as_echo "$as_me:$LINENO: checking for XRenderSetSubpixelOrder in -lXrender" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XRenderSetSubpixelOrder in -lXrender" >&5
 $as_echo_n "checking for XRenderSetSubpixelOrder in -lXrender... " >&6; }
 $as_echo_n "checking for XRenderSetSubpixelOrder in -lXrender... " >&6; }
-if test "${ac_cv_lib_Xrender_XRenderSetSubpixelOrder+set}" = set; then
+if ${ac_cv_lib_Xrender_XRenderSetSubpixelOrder+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lXrender -lXext -lX11 $LIBS"
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lXrender -lXext -lX11 $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
@@ -13100,43 +9025,18 @@ return XRenderSetSubpixelOrder ();
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then
+if ac_fn_c_try_link "$LINENO"; then :
   ac_cv_lib_Xrender_XRenderSetSubpixelOrder=yes
 else
   ac_cv_lib_Xrender_XRenderSetSubpixelOrder=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_lib_Xrender_XRenderSetSubpixelOrder=no
+  ac_cv_lib_Xrender_XRenderSetSubpixelOrder=no
 fi
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_Xrender_XRenderSetSubpixelOrder" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_Xrender_XRenderSetSubpixelOrder" >&5
 $as_echo "$ac_cv_lib_Xrender_XRenderSetSubpixelOrder" >&6; }
 $as_echo "$ac_cv_lib_Xrender_XRenderSetSubpixelOrder" >&6; }
-if test "x$ac_cv_lib_Xrender_XRenderSetSubpixelOrder" = x""yes; then
+if test "x$ac_cv_lib_Xrender_XRenderSetSubpixelOrder" = xyes; then :
   xrender_libs="-lXrender"
 else
   true
   xrender_libs="-lXrender"
 else
   true
 
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
 
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
-  { $as_echo "$as_me:$LINENO: checking for XRRGetScreenInfo in -lXext" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XRRGetScreenInfo in -lXext" >&5
 $as_echo_n "checking for XRRGetScreenInfo in -lXext... " >&6; }
 $as_echo_n "checking for XRRGetScreenInfo in -lXext... " >&6; }
-if test "${ac_cv_lib_Xext_XRRGetScreenInfo+set}" = set; then
+if ${ac_cv_lib_Xext_XRRGetScreenInfo+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lXext $xrender_libs -lXext -lX11 $LIBS"
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lXext $xrender_libs -lXext -lX11 $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
@@ -13197,43 +9093,18 @@ return XRRGetScreenInfo ();
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then
+if ac_fn_c_try_link "$LINENO"; then :
   ac_cv_lib_Xext_XRRGetScreenInfo=yes
 else
   ac_cv_lib_Xext_XRRGetScreenInfo=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_lib_Xext_XRRGetScreenInfo=no
+  ac_cv_lib_Xext_XRRGetScreenInfo=no
 fi
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_Xext_XRRGetScreenInfo" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_Xext_XRRGetScreenInfo" >&5
 $as_echo "$ac_cv_lib_Xext_XRRGetScreenInfo" >&6; }
 $as_echo "$ac_cv_lib_Xext_XRRGetScreenInfo" >&6; }
-if test "x$ac_cv_lib_Xext_XRRGetScreenInfo" = x""yes; then
+if test "x$ac_cv_lib_Xext_XRRGetScreenInfo" = xyes; then :
   have_randr=yes; SAVER_LIBS="$SAVER_LIBS $xrender_libs"
 else
   true
   have_randr=yes; SAVER_LIBS="$SAVER_LIBS $xrender_libs"
 else
   true
 
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
 
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
-  { $as_echo "$as_me:$LINENO: checking for XRRGetScreenInfo in -lXrandr" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XRRGetScreenInfo in -lXrandr" >&5
 $as_echo_n "checking for XRRGetScreenInfo in -lXrandr... " >&6; }
 $as_echo_n "checking for XRRGetScreenInfo in -lXrandr... " >&6; }
-if test "${ac_cv_lib_Xrandr_XRRGetScreenInfo+set}" = set; then
+if ${ac_cv_lib_Xrandr_XRRGetScreenInfo+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lXrandr $xrender_libs -lXext -lX11 $LIBS"
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lXrandr $xrender_libs -lXext -lX11 $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
@@ -13294,43 +9161,18 @@ return XRRGetScreenInfo ();
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then
+if ac_fn_c_try_link "$LINENO"; then :
   ac_cv_lib_Xrandr_XRRGetScreenInfo=yes
 else
   ac_cv_lib_Xrandr_XRRGetScreenInfo=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_lib_Xrandr_XRRGetScreenInfo=no
+  ac_cv_lib_Xrandr_XRRGetScreenInfo=no
 fi
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_Xrandr_XRRGetScreenInfo" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_Xrandr_XRRGetScreenInfo" >&5
 $as_echo "$ac_cv_lib_Xrandr_XRRGetScreenInfo" >&6; }
 $as_echo "$ac_cv_lib_Xrandr_XRRGetScreenInfo" >&6; }
-if test "x$ac_cv_lib_Xrandr_XRRGetScreenInfo" = x""yes; then
+if test "x$ac_cv_lib_Xrandr_XRRGetScreenInfo" = xyes; then :
   have_randr=yes; SAVER_LIBS="$SAVER_LIBS -lXrandr $xrender_libs"
 else
   true
   have_randr=yes; SAVER_LIBS="$SAVER_LIBS -lXrandr $xrender_libs"
 else
   true
 
   # if that succeeded, then we've really got it.
   if test "$have_randr" = yes; then
 
   # if that succeeded, then we've really got it.
   if test "$have_randr" = yes; then
-    cat >>confdefs.h <<\_ACEOF
-#define HAVE_RANDR 1
-_ACEOF
+    $as_echo "#define HAVE_RANDR 1" >>confdefs.h
 
 
     # Now check for version 1.2 in the same libs.
     # Try to compile, since on MacOS 10.5.7, headers are older than libs!
 
 
     # Now check for version 1.2 in the same libs.
     # Try to compile, since on MacOS 10.5.7, headers are older than libs!
-    { $as_echo "$as_me:$LINENO: checking for XRRGetScreenResources" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XRRGetScreenResources" >&5
 $as_echo_n "checking for XRRGetScreenResources... " >&6; }
 $as_echo_n "checking for XRRGetScreenResources... " >&6; }
-if test "${ac_cv_randr_12+set}" = set; then
+if ${ac_cv_randr_12+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_randr_12=no
   $as_echo_n "(cached) " >&6
 else
   ac_cv_randr_12=no
@@ -13365,11 +9205,7 @@ else
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <stdlib.h>
                          #include <X11/Xlib.h>
 /* end confdefs.h.  */
 #include <stdlib.h>
                          #include <X11/Xlib.h>
@@ -13383,41 +9219,18 @@ XRRScreenResources *res =
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+if ac_fn_c_try_compile "$LINENO"; then :
   ac_cv_randr_12=yes
 else
   ac_cv_randr_12=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_randr_12=no
+  ac_cv_randr_12=no
 fi
 fi
-
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_randr_12" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_randr_12" >&5
 $as_echo "$ac_cv_randr_12" >&6; }
     if test "$ac_cv_randr_12" = yes ; then
 $as_echo "$ac_cv_randr_12" >&6; }
     if test "$ac_cv_randr_12" = yes ; then
-      cat >>confdefs.h <<\_ACEOF
-#define HAVE_RANDR_12 1
-_ACEOF
+      $as_echo "#define HAVE_RANDR_12 1" >>confdefs.h
 
     fi
 #   AC_CHECK_X_LIB(c, XRRGetOutputInfo, [AC_DEFINE(HAVE_RANDR_12)],
 
     fi
 #   AC_CHECK_X_LIB(c, XRRGetOutputInfo, [AC_DEFINE(HAVE_RANDR_12)],
@@ -13459,18 +9272,14 @@ if test "$have_xf86gamma" = yes -o "$have_xf86vmode" = yes; then
 
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
 
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
-  { $as_echo "$as_me:$LINENO: checking for XF86MiscSetGrabKeysState in -lXxf86misc" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XF86MiscSetGrabKeysState in -lXxf86misc" >&5
 $as_echo_n "checking for XF86MiscSetGrabKeysState in -lXxf86misc... " >&6; }
 $as_echo_n "checking for XF86MiscSetGrabKeysState in -lXxf86misc... " >&6; }
-if test "${ac_cv_lib_Xxf86misc_XF86MiscSetGrabKeysState+set}" = set; then
+if ${ac_cv_lib_Xxf86misc_XF86MiscSetGrabKeysState+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lXxf86misc -lXext -lX11 $LIBS"
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lXxf86misc -lXext -lX11 $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
@@ -13488,43 +9297,18 @@ return XF86MiscSetGrabKeysState ();
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then
+if ac_fn_c_try_link "$LINENO"; then :
   ac_cv_lib_Xxf86misc_XF86MiscSetGrabKeysState=yes
 else
   ac_cv_lib_Xxf86misc_XF86MiscSetGrabKeysState=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_lib_Xxf86misc_XF86MiscSetGrabKeysState=no
+  ac_cv_lib_Xxf86misc_XF86MiscSetGrabKeysState=no
 fi
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_Xxf86misc_XF86MiscSetGrabKeysState" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_Xxf86misc_XF86MiscSetGrabKeysState" >&5
 $as_echo "$ac_cv_lib_Xxf86misc_XF86MiscSetGrabKeysState" >&6; }
 $as_echo "$ac_cv_lib_Xxf86misc_XF86MiscSetGrabKeysState" >&6; }
-if test "x$ac_cv_lib_Xxf86misc_XF86MiscSetGrabKeysState" = x""yes; then
+if test "x$ac_cv_lib_Xxf86misc_XF86MiscSetGrabKeysState" = xyes; then :
   have_xf86miscsetgrabkeysstate=yes
 else
   true
   have_xf86miscsetgrabkeysstate=yes
 else
   true
@@ -13536,9 +9320,7 @@ fi
 
   if test "$have_xf86miscsetgrabkeysstate" = yes ; then
     SAVER_LIBS="$SAVER_LIBS -lXxf86misc"
 
   if test "$have_xf86miscsetgrabkeysstate" = yes ; then
     SAVER_LIBS="$SAVER_LIBS -lXxf86misc"
-    cat >>confdefs.h <<\_ACEOF
-#define HAVE_XF86MISCSETGRABKEYSSTATE 1
-_ACEOF
+    $as_echo "#define HAVE_XF86MISCSETGRABKEYSSTATE 1" >>confdefs.h
 
   fi
 fi
 
   fi
 fi
@@ -13550,7 +9332,7 @@ fi
 #
 ###############################################################################
 
 #
 ###############################################################################
 
-{ $as_echo "$as_me:$LINENO: checking for XHPDisableReset in X11/XHPlib.h" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for XHPDisableReset in X11/XHPlib.h" >&5
 $as_echo_n "checking for XHPDisableReset in X11/XHPlib.h... " >&6; }
 
   ac_save_CPPFLAGS="$CPPFLAGS"
 $as_echo_n "checking for XHPDisableReset in X11/XHPlib.h... " >&6; }
 
   ac_save_CPPFLAGS="$CPPFLAGS"
@@ -13559,26 +9341,20 @@ $as_echo_n "checking for XHPDisableReset in X11/XHPlib.h... " >&6; }
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <X11/XHPlib.h>
 
 _ACEOF
 if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
 /* end confdefs.h.  */
 #include <X11/XHPlib.h>
 
 _ACEOF
 if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "XHPDisableReset" >/dev/null 2>&1; then
-  cat >>confdefs.h <<\_ACEOF
-#define HAVE_XHPDISABLERESET 1
-_ACEOF
+  $EGREP "XHPDisableReset" >/dev/null 2>&1; then :
+  $as_echo "#define HAVE_XHPDISABLERESET 1" >>confdefs.h
 
                    SAVER_LIBS="-lXhp11 $SAVER_LIBS"
 
                    SAVER_LIBS="-lXhp11 $SAVER_LIBS"
-                   { $as_echo "$as_me:$LINENO: result: yes" >&5
+                   { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
 else
 $as_echo "yes" >&6; }
 else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
 rm -rf conftest*
 $as_echo "no" >&6; }
 fi
 rm -rf conftest*
@@ -13596,7 +9372,7 @@ have_proc_interrupts=no
 with_proc_interrupts_req=unspecified
 
 # Check whether --with-proc-interrupts was given.
 with_proc_interrupts_req=unspecified
 
 # Check whether --with-proc-interrupts was given.
-if test "${with_proc_interrupts+set}" = set; then
+if test "${with_proc_interrupts+set}" = set; then :
   withval=$with_proc_interrupts; with_proc_interrupts="$withval"; with_proc_interrupts_req="$withval"
 else
   with_proc_interrupts=yes
   withval=$with_proc_interrupts; with_proc_interrupts="$withval"; with_proc_interrupts_req="$withval"
 else
   with_proc_interrupts=yes
@@ -13612,9 +9388,9 @@ if test "$with_proc_interrupts" = yes; then
   have_proc_interrupts=yes
 
   if test -f /proc/interrupts; then
   have_proc_interrupts=yes
 
   if test -f /proc/interrupts; then
-   { $as_echo "$as_me:$LINENO: checking whether /proc/interrupts contains keyboard data" >&5
+   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether /proc/interrupts contains keyboard data" >&5
 $as_echo_n "checking whether /proc/interrupts contains keyboard data... " >&6; }
 $as_echo_n "checking whether /proc/interrupts contains keyboard data... " >&6; }
-if test "${ac_cv_have_proc_interrupts+set}" = set; then
+if ${ac_cv_have_proc_interrupts+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_have_proc_interrupts=no
   $as_echo_n "(cached) " >&6
 else
   ac_cv_have_proc_interrupts=no
@@ -13623,15 +9399,13 @@ else
      fi
 
 fi
      fi
 
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_proc_interrupts" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_proc_interrupts" >&5
 $as_echo "$ac_cv_have_proc_interrupts" >&6; }
    have_proc_interrupts=$ac_cv_have_proc_interrupts
   fi
 
   if test "$have_proc_interrupts" = yes; then
 $as_echo "$ac_cv_have_proc_interrupts" >&6; }
    have_proc_interrupts=$ac_cv_have_proc_interrupts
   fi
 
   if test "$have_proc_interrupts" = yes; then
-    cat >>confdefs.h <<\_ACEOF
-#define HAVE_PROC_INTERRUPTS 1
-_ACEOF
+    $as_echo "#define HAVE_PROC_INTERRUPTS 1" >>confdefs.h
 
   fi
 
 
   fi
 
@@ -13648,7 +9422,7 @@ fi
 ###############################################################################
 
 # Check whether --enable-locking was given.
 ###############################################################################
 
 # Check whether --enable-locking was given.
-if test "${enable_locking+set}" = set; then
+if test "${enable_locking+set}" = set; then :
   enableval=$enable_locking; enable_locking="$enableval"
 else
   if test "$ac_macosx" = yes; then
   enableval=$enable_locking; enable_locking="$enableval"
 else
   if test "$ac_macosx" = yes; then
@@ -13664,9 +9438,7 @@ fi
 if test "$enable_locking" = yes; then
   true
 elif test "$enable_locking" = no; then
 if test "$enable_locking" = yes; then
   true
 elif test "$enable_locking" = no; then
-  cat >>confdefs.h <<\_ACEOF
-#define NO_LOCKING 1
-_ACEOF
+  $as_echo "#define NO_LOCKING 1" >>confdefs.h
 
 else
   echo "error: must be yes or no: --enable-locking=$enable_locking"
 
 else
   echo "error: must be yes or no: --enable-locking=$enable_locking"
 #
 ###############################################################################
 # Check whether --enable-root-passwd was given.
 #
 ###############################################################################
 # Check whether --enable-root-passwd was given.
-if test "${enable_root_passwd+set}" = set; then
+if test "${enable_root_passwd+set}" = set; then :
   enableval=$enable_root_passwd; enable_root_passwd="$enableval"
 else
   enable_root_passwd=yes
 fi
 
 if test "$enable_root_passwd" = yes; then
   enableval=$enable_root_passwd; enable_root_passwd="$enableval"
 else
   enable_root_passwd=yes
 fi
 
 if test "$enable_root_passwd" = yes; then
-  cat >>confdefs.h <<\_ACEOF
-#define ALLOW_ROOT_PASSWD 1
-_ACEOF
+  $as_echo "#define ALLOW_ROOT_PASSWD 1" >>confdefs.h
 
   true
 elif test "$enable_root_passwd" != no; then
 
   true
 elif test "$enable_root_passwd" != no; then
@@ -13720,7 +9490,7 @@ with_pam_req=unspecified
 
 
 # Check whether --with-pam was given.
 
 
 # Check whether --with-pam was given.
-if test "${with_pam+set}" = set; then
+if test "${with_pam+set}" = set; then :
   withval=$with_pam; with_pam="$withval"; with_pam_req="$withval"
 else
   with_pam=$with_pam_default
   withval=$with_pam; with_pam="$withval"; with_pam_req="$withval"
 else
   with_pam=$with_pam_default
@@ -13729,7 +9499,7 @@ fi
 
 
 # Check whether --with-pam_service_name was given.
 
 
 # Check whether --with-pam_service_name was given.
-if test "${with_pam_service_name+set}" = set; then
+if test "${with_pam_service_name+set}" = set; then :
   withval=$with_pam_service_name; pam_service_name="$withval"
 else
   pam_service_name="xscreensaver"
   withval=$with_pam_service_name; pam_service_name="$withval"
 else
   pam_service_name="xscreensaver"
 
 
 # Check whether --enable-pam-check-account-type was given.
 
 
 # Check whether --enable-pam-check-account-type was given.
-if test "${enable_pam_check_account_type+set}" = set; then
+if test "${enable_pam_check_account_type+set}" = set; then :
   enableval=$enable_pam_check_account_type; enable_pam_check_account_type="$enableval"
 else
   enable_pam_check_account_type=no
 fi
 
 if test "$enable_pam_check_account_type" = yes ; then
   enableval=$enable_pam_check_account_type; enable_pam_check_account_type="$enableval"
 else
   enable_pam_check_account_type=no
 fi
 
 if test "$enable_pam_check_account_type" = yes ; then
-  cat >>confdefs.h <<\_ACEOF
-#define PAM_CHECK_ACCOUNT_TYPE 1
-_ACEOF
+  $as_echo "#define PAM_CHECK_ACCOUNT_TYPE 1" >>confdefs.h
 
   true
 elif test "$enable_pam_check_account_type" != no ; then
 
   true
 elif test "$enable_pam_check_account_type" != no ; then
     no)  ;;
 
     /*)
     no)  ;;
 
     /*)
-     { $as_echo "$as_me:$LINENO: checking for PAM headers" >&5
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for PAM headers" >&5
 $as_echo_n "checking for PAM headers... " >&6; }
      d=$with_pam/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
 $as_echo_n "checking for PAM headers... " >&6; }
      d=$with_pam/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
-       { $as_echo "$as_me:$LINENO: result: $d" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $d" >&5
 $as_echo "$d" >&6; }
      else
 $as_echo "$d" >&6; }
      else
-       { $as_echo "$as_me:$LINENO: result: not found ($d: no such directory)" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found ($d: no such directory)" >&5
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
-     { $as_echo "$as_me:$LINENO: checking for PAM libs" >&5
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for PAM libs" >&5
 $as_echo_n "checking for PAM libs... " >&6; }
      d=$with_pam/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
 $as_echo_n "checking for PAM libs... " >&6; }
      d=$with_pam/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
-       { $as_echo "$as_me:$LINENO: result: $d" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $d" >&5
 $as_echo "$d" >&6; }
      else
 $as_echo "$d" >&6; }
      else
-       { $as_echo "$as_me:$LINENO: result: not found ($d: no such directory)" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found ($d: no such directory)" >&5
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
@@ -13800,9 +9568,9 @@ $as_echo "not found ($d: no such directory)" >&6; }
 
 
 if test "$enable_locking" = yes -a "$with_pam" = yes; then
 
 
 if test "$enable_locking" = yes -a "$with_pam" = yes; then
-  { $as_echo "$as_me:$LINENO: checking for PAM" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for PAM" >&5
 $as_echo_n "checking for PAM... " >&6; }
 $as_echo_n "checking for PAM... " >&6; }
-if test "${ac_cv_pam+set}" = set; then
+if ${ac_cv_pam+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
   $as_echo_n "(cached) " >&6
 else
 
@@ -13812,11 +9580,7 @@ else
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <security/pam_appl.h>
 int
 /* end confdefs.h.  */
 #include <security/pam_appl.h>
 int
@@ -13827,42 +9591,19 @@ main ()
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+if ac_fn_c_try_compile "$LINENO"; then :
   ac_cv_pam=yes
 else
   ac_cv_pam=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_pam=no
+  ac_cv_pam=no
 fi
 fi
-
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_pam" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_pam" >&5
 $as_echo "$ac_cv_pam" >&6; }
   if test "$ac_cv_pam" = yes ; then
     have_pam=yes
 $as_echo "$ac_cv_pam" >&6; }
   if test "$ac_cv_pam" = yes ; then
     have_pam=yes
-    cat >>confdefs.h <<\_ACEOF
-#define HAVE_PAM 1
-_ACEOF
+    $as_echo "#define HAVE_PAM 1" >>confdefs.h
 
     cat >>confdefs.h <<_ACEOF
 #define PAM_SERVICE_NAME "$pam_service_name"
 
     cat >>confdefs.h <<_ACEOF
 #define PAM_SERVICE_NAME "$pam_service_name"
@@ -13873,18 +9614,14 @@ _ACEOF
 
     # libpam typically requires dlopen and dlsym.  On FreeBSD,
     # those are in libc.  On Linux and Solaris, they're in libdl.
 
     # libpam typically requires dlopen and dlsym.  On FreeBSD,
     # those are in libc.  On Linux and Solaris, they're in libdl.
-    { $as_echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
 $as_echo_n "checking for dlopen in -ldl... " >&6; }
 $as_echo_n "checking for dlopen in -ldl... " >&6; }
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then
+if ${ac_cv_lib_dl_dlopen+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-ldl  $LIBS"
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-ldl  $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
@@ -13902,61 +9639,32 @@ return dlopen ();
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then
+if ac_fn_c_try_link "$LINENO"; then :
   ac_cv_lib_dl_dlopen=yes
 else
   ac_cv_lib_dl_dlopen=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_lib_dl_dlopen=no
+  ac_cv_lib_dl_dlopen=no
 fi
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
 $as_echo "$ac_cv_lib_dl_dlopen" >&6; }
 $as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = x""yes; then
+if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
   PASSWD_LIBS="${PASSWD_LIBS} -ldl"
 fi
 
 
     # On Linux, sigtimedwait() is in libc; on Solaris, it's in librt.
     have_timedwait=no
   PASSWD_LIBS="${PASSWD_LIBS} -ldl"
 fi
 
 
     # On Linux, sigtimedwait() is in libc; on Solaris, it's in librt.
     have_timedwait=no
-    { $as_echo "$as_me:$LINENO: checking for sigtimedwait in -lc" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sigtimedwait in -lc" >&5
 $as_echo_n "checking for sigtimedwait in -lc... " >&6; }
 $as_echo_n "checking for sigtimedwait in -lc... " >&6; }
-if test "${ac_cv_lib_c_sigtimedwait+set}" = set; then
+if ${ac_cv_lib_c_sigtimedwait+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lc  $LIBS"
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lc  $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
@@ -13974,63 +9682,32 @@ return sigtimedwait ();
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then
+if ac_fn_c_try_link "$LINENO"; then :
   ac_cv_lib_c_sigtimedwait=yes
 else
   ac_cv_lib_c_sigtimedwait=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_lib_c_sigtimedwait=no
+  ac_cv_lib_c_sigtimedwait=no
 fi
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_c_sigtimedwait" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_c_sigtimedwait" >&5
 $as_echo "$ac_cv_lib_c_sigtimedwait" >&6; }
 $as_echo "$ac_cv_lib_c_sigtimedwait" >&6; }
-if test "x$ac_cv_lib_c_sigtimedwait" = x""yes; then
+if test "x$ac_cv_lib_c_sigtimedwait" = xyes; then :
   have_timedwait=yes
   have_timedwait=yes
-                  cat >>confdefs.h <<\_ACEOF
-#define HAVE_SIGTIMEDWAIT 1
-_ACEOF
+                  $as_echo "#define HAVE_SIGTIMEDWAIT 1" >>confdefs.h
 
 fi
 
     if test "$have_timedwait" = no ; then
 
 fi
 
     if test "$have_timedwait" = no ; then
-      { $as_echo "$as_me:$LINENO: checking for sigtimedwait in -lrt" >&5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sigtimedwait in -lrt" >&5
 $as_echo_n "checking for sigtimedwait in -lrt... " >&6; }
 $as_echo_n "checking for sigtimedwait in -lrt... " >&6; }
-if test "${ac_cv_lib_rt_sigtimedwait+set}" = set; then
+if ${ac_cv_lib_rt_sigtimedwait+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lrt  $LIBS"
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lrt  $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
@@ -14048,56 +9725,29 @@ return sigtimedwait ();
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then
+if ac_fn_c_try_link "$LINENO"; then :
   ac_cv_lib_rt_sigtimedwait=yes
 else
   ac_cv_lib_rt_sigtimedwait=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_lib_rt_sigtimedwait=no
+  ac_cv_lib_rt_sigtimedwait=no
 fi
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_rt_sigtimedwait" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_rt_sigtimedwait" >&5
 $as_echo "$ac_cv_lib_rt_sigtimedwait" >&6; }
 $as_echo "$ac_cv_lib_rt_sigtimedwait" >&6; }
-if test "x$ac_cv_lib_rt_sigtimedwait" = x""yes; then
+if test "x$ac_cv_lib_rt_sigtimedwait" = xyes; then :
   have_timedwait=yes
   have_timedwait=yes
-                                      cat >>confdefs.h <<\_ACEOF
-#define HAVE_SIGTIMEDWAIT 1
-_ACEOF
+                                      $as_echo "#define HAVE_SIGTIMEDWAIT 1" >>confdefs.h
 
                                       PASSWD_LIBS="${PASSWD_LIBS} -lrt"
 fi
 
     fi
 
 
                                       PASSWD_LIBS="${PASSWD_LIBS} -lrt"
 fi
 
     fi
 
-    { $as_echo "$as_me:$LINENO: checking how to call pam_strerror" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to call pam_strerror" >&5
 $as_echo_n "checking how to call pam_strerror... " >&6; }
 $as_echo_n "checking how to call pam_strerror... " >&6; }
-    if test "${ac_cv_pam_strerror_args+set}" = set; then
+    if ${ac_cv_pam_strerror_args+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
   $as_echo_n "(cached) " >&6
 else
 
@@ -14107,11 +9757,7 @@ else
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <stdio.h>
                         #include <stdlib.h>
 /* end confdefs.h.  */
 #include <stdio.h>
                         #include <stdlib.h>
@@ -14125,29 +9771,9 @@ pam_handle_t *pamh = 0;
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+if ac_fn_c_try_compile "$LINENO"; then :
   ac_pam_strerror_args=2
 else
   ac_pam_strerror_args=2
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
 
   ac_save_CPPFLAGS="$CPPFLAGS"
   if test \! -z "$includedir" ; then
 
   ac_save_CPPFLAGS="$CPPFLAGS"
   if test \! -z "$includedir" ; then
@@ -14155,11 +9781,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <stdio.h>
                                           #include <stdlib.h>
 /* end confdefs.h.  */
 #include <stdio.h>
                                           #include <stdlib.h>
@@ -14173,36 +9795,14 @@ char *s =
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+if ac_fn_c_try_compile "$LINENO"; then :
   ac_pam_strerror_args=1
 else
   ac_pam_strerror_args=1
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_pam_strerror_args=0
+  ac_pam_strerror_args=0
 fi
 fi
-
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
 fi
-
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
       ac_cv_pam_strerror_args=$ac_pam_strerror_args
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
       ac_cv_pam_strerror_args=$ac_pam_strerror_args
 
     ac_pam_strerror_args=$ac_cv_pam_strerror_args
     if test "$ac_pam_strerror_args" = 1 ; then
 
     ac_pam_strerror_args=$ac_cv_pam_strerror_args
     if test "$ac_pam_strerror_args" = 1 ; then
-      { $as_echo "$as_me:$LINENO: result: one argument" >&5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: one argument" >&5
 $as_echo "one argument" >&6; }
     elif test "$ac_pam_strerror_args" = 2 ; then
 $as_echo "one argument" >&6; }
     elif test "$ac_pam_strerror_args" = 2 ; then
-      cat >>confdefs.h <<\_ACEOF
-#define PAM_STRERROR_TWO_ARGS 1
-_ACEOF
+      $as_echo "#define PAM_STRERROR_TWO_ARGS 1" >>confdefs.h
 
 
-      { $as_echo "$as_me:$LINENO: result: two arguments" >&5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: two arguments" >&5
 $as_echo "two arguments" >&6; }
     else
 $as_echo "two arguments" >&6; }
     else
-      { $as_echo "$as_me:$LINENO: result: unknown" >&5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: unknown" >&5
 $as_echo "unknown" >&6; }
     fi
 
 # Check pam_fail_delay
 $as_echo "unknown" >&6; }
     fi
 
 # Check pam_fail_delay
-    { $as_echo "$as_me:$LINENO: checking pam_fail_delay in -lpam" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking pam_fail_delay in -lpam" >&5
 $as_echo_n "checking pam_fail_delay in -lpam... " >&6; }
 $as_echo_n "checking pam_fail_delay in -lpam... " >&6; }
-    if test "${ac_cv_pam_fail_delay+set}" = set; then
+    if ${ac_cv_pam_fail_delay+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_save_LDFLAGS="$LDFLAGS"
       LDFLAGS="-lpam"
   $as_echo_n "(cached) " >&6
 else
   ac_save_LDFLAGS="$LDFLAGS"
       LDFLAGS="-lpam"
-      cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <security/pam_appl.h>
 int
 /* end confdefs.h.  */
 #include <security/pam_appl.h>
 int
@@ -14249,52 +9843,25 @@ pam_handle_t *pamh = 0;
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then
+if ac_fn_c_try_link "$LINENO"; then :
   ac_pam_fail_delay=yes
 else
   ac_pam_fail_delay=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_pam_fail_delay=no
+  ac_pam_fail_delay=no
 fi
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
       ac_cv_pam_fail_delay=$ac_pam_fail_delay,
       LDFLAGS=$ac_save_LDFLAGS
 fi
 
 
       if test "$ac_pam_fail_delay" = yes ; then
       ac_cv_pam_fail_delay=$ac_pam_fail_delay,
       LDFLAGS=$ac_save_LDFLAGS
 fi
 
 
       if test "$ac_pam_fail_delay" = yes ; then
-        { $as_echo "$as_me:$LINENO: result: yes" >&5
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
 $as_echo "yes" >&6; }
-        cat >>confdefs.h <<\_ACEOF
-#define HAVE_PAM_FAIL_DELAY 1
-_ACEOF
+        $as_echo "#define HAVE_PAM_FAIL_DELAY 1" >>confdefs.h
 
       else
 
       else
-        { $as_echo "$as_me:$LINENO: result: no" >&5
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
       fi
 
 $as_echo "no" >&6; }
       fi
 
@@ -14314,7 +9881,7 @@ with_kerberos_req=unspecified
 
 
 # Check whether --with-kerberos was given.
 
 
 # Check whether --with-kerberos was given.
-if test "${with_kerberos+set}" = set; then
+if test "${with_kerberos+set}" = set; then :
   withval=$with_kerberos; with_kerberos="$withval"; with_kerberos_req="$withval"
 else
   with_kerberos=yes
   withval=$with_kerberos; with_kerberos="$withval"; with_kerberos_req="$withval"
 else
   with_kerberos=yes
     no)  ;;
 
     /*)
     no)  ;;
 
     /*)
-     { $as_echo "$as_me:$LINENO: checking for Kerberos headers" >&5
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Kerberos headers" >&5
 $as_echo_n "checking for Kerberos headers... " >&6; }
      d=$with_kerberos/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
 $as_echo_n "checking for Kerberos headers... " >&6; }
      d=$with_kerberos/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
-       { $as_echo "$as_me:$LINENO: result: $d" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $d" >&5
 $as_echo "$d" >&6; }
      else
 $as_echo "$d" >&6; }
      else
-       { $as_echo "$as_me:$LINENO: result: not found ($d: no such directory)" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found ($d: no such directory)" >&5
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
-     { $as_echo "$as_me:$LINENO: checking for Kerberos libs" >&5
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Kerberos libs" >&5
 $as_echo_n "checking for Kerberos libs... " >&6; }
      d=$with_kerberos/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
 $as_echo_n "checking for Kerberos libs... " >&6; }
      d=$with_kerberos/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
-       { $as_echo "$as_me:$LINENO: result: $d" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $d" >&5
 $as_echo "$d" >&6; }
      else
 $as_echo "$d" >&6; }
      else
-       { $as_echo "$as_me:$LINENO: result: not found ($d: no such directory)" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found ($d: no such directory)" >&5
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
@@ -14367,9 +9934,9 @@ $as_echo "not found ($d: no such directory)" >&6; }
 
 
 if test "$enable_locking" = yes -a "$with_kerberos" = yes; then
 
 
 if test "$enable_locking" = yes -a "$with_kerberos" = yes; then
-  { $as_echo "$as_me:$LINENO: checking for Kerberos 4" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Kerberos 4" >&5
 $as_echo_n "checking for Kerberos 4... " >&6; }
 $as_echo_n "checking for Kerberos 4... " >&6; }
-if test "${ac_cv_kerberos+set}" = set; then
+if ${ac_cv_kerberos+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
   $as_echo_n "(cached) " >&6
 else
 
@@ -14379,11 +9946,7 @@ else
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <krb.h>
 int
 /* end confdefs.h.  */
 #include <krb.h>
 int
@@ -14394,40 +9957,19 @@ main ()
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+if ac_fn_c_try_compile "$LINENO"; then :
   ac_cv_kerberos=yes
 else
   ac_cv_kerberos=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_kerberos=no
+  ac_cv_kerberos=no
 fi
 fi
-
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_kerberos" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_kerberos" >&5
 $as_echo "$ac_cv_kerberos" >&6; }
 $as_echo "$ac_cv_kerberos" >&6; }
-  { $as_echo "$as_me:$LINENO: checking for Kerberos 5" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Kerberos 5" >&5
 $as_echo_n "checking for Kerberos 5... " >&6; }
 $as_echo_n "checking for Kerberos 5... " >&6; }
-if test "${ac_cv_kerberos5+set}" = set; then
+if ${ac_cv_kerberos5+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
   $as_echo_n "(cached) " >&6
 else
 
@@ -14437,11 +9979,7 @@ else
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <kerberosIV/krb.h>
 int
 /* end confdefs.h.  */
 #include <kerberosIV/krb.h>
 int
@@ -14452,43 +9990,20 @@ main ()
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+if ac_fn_c_try_compile "$LINENO"; then :
   ac_cv_kerberos5=yes
 else
   ac_cv_kerberos5=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_kerberos5=no
+  ac_cv_kerberos5=no
 fi
 fi
-
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_kerberos5" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_kerberos5" >&5
 $as_echo "$ac_cv_kerberos5" >&6; }
 
   if test "$ac_cv_kerberos" = yes ; then
     have_kerberos=yes
 $as_echo "$ac_cv_kerberos5" >&6; }
 
   if test "$ac_cv_kerberos" = yes ; then
     have_kerberos=yes
-    cat >>confdefs.h <<\_ACEOF
-#define HAVE_KERBEROS 1
-_ACEOF
+    $as_echo "#define HAVE_KERBEROS 1" >>confdefs.h
 
   fi
 
 
   fi
 
@@ -14523,18 +10038,14 @@ _ACEOF
 
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
 
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
-  { $as_echo "$as_me:$LINENO: checking for krb_get_tf_realm in -lkrb4" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for krb_get_tf_realm in -lkrb4" >&5
 $as_echo_n "checking for krb_get_tf_realm in -lkrb4... " >&6; }
 $as_echo_n "checking for krb_get_tf_realm in -lkrb4... " >&6; }
-if test "${ac_cv_lib_krb4_krb_get_tf_realm+set}" = set; then
+if ${ac_cv_lib_krb4_krb_get_tf_realm+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lkrb4  $LIBS"
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lkrb4  $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
@@ -14552,43 +10063,18 @@ return krb_get_tf_realm ();
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then
+if ac_fn_c_try_link "$LINENO"; then :
   ac_cv_lib_krb4_krb_get_tf_realm=yes
 else
   ac_cv_lib_krb4_krb_get_tf_realm=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_lib_krb4_krb_get_tf_realm=no
+  ac_cv_lib_krb4_krb_get_tf_realm=no
 fi
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_krb4_krb_get_tf_realm" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_krb4_krb_get_tf_realm" >&5
 $as_echo "$ac_cv_lib_krb4_krb_get_tf_realm" >&6; }
 $as_echo "$ac_cv_lib_krb4_krb_get_tf_realm" >&6; }
-if test "x$ac_cv_lib_krb4_krb_get_tf_realm" = x""yes; then
+if test "x$ac_cv_lib_krb4_krb_get_tf_realm" = xyes; then :
   have_kerberos=yes
 else
   have_kerberos=no
   have_kerberos=yes
 else
   have_kerberos=no
 
     if test "$have_kerberos" = yes ; then
       have_kerberos5=yes
 
     if test "$have_kerberos" = yes ; then
       have_kerberos5=yes
-      cat >>confdefs.h <<\_ACEOF
-#define HAVE_KERBEROS 1
-_ACEOF
+      $as_echo "#define HAVE_KERBEROS 1" >>confdefs.h
 
 
-      cat >>confdefs.h <<\_ACEOF
-#define HAVE_KERBEROS5 1
-_ACEOF
+      $as_echo "#define HAVE_KERBEROS5 1" >>confdefs.h
 
     else
       have_kerberos5=no
 
     else
       have_kerberos5=no
-      { $as_echo "$as_me:$LINENO: WARNING: Cannot find compat lib (libkrb4) needed to use Kerberos 5" >&5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Cannot find compat lib (libkrb4) needed to use Kerberos 5" >&5
 $as_echo "$as_me: WARNING: Cannot find compat lib (libkrb4) needed to use Kerberos 5" >&2;}
     fi
 
 $as_echo "$as_me: WARNING: Cannot find compat lib (libkrb4) needed to use Kerberos 5" >&2;}
     fi
 
@@ -14642,18 +10124,14 @@ $as_echo "$as_me: WARNING: Cannot find compat lib (libkrb4) needed to use Kerber
 
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
 
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
-  { $as_echo "$as_me:$LINENO: checking for crypt in -lcrypt" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for crypt in -lcrypt" >&5
 $as_echo_n "checking for crypt in -lcrypt... " >&6; }
 $as_echo_n "checking for crypt in -lcrypt... " >&6; }
-if test "${ac_cv_lib_crypt_crypt+set}" = set; then
+if ${ac_cv_lib_crypt_crypt+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lcrypt  $LIBS"
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lcrypt  $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
@@ -14671,43 +10149,18 @@ return crypt ();
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then
+if ac_fn_c_try_link "$LINENO"; then :
   ac_cv_lib_crypt_crypt=yes
 else
   ac_cv_lib_crypt_crypt=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_lib_crypt_crypt=no
+  ac_cv_lib_crypt_crypt=no
 fi
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_crypt_crypt" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_crypt_crypt" >&5
 $as_echo "$ac_cv_lib_crypt_crypt" >&6; }
 $as_echo "$ac_cv_lib_crypt_crypt" >&6; }
-if test "x$ac_cv_lib_crypt_crypt" = x""yes; then
+if test "x$ac_cv_lib_crypt_crypt" = xyes; then :
   PASSWD_LIBS="$PASSWD_LIBS -lcrypt"
 fi
 
   PASSWD_LIBS="$PASSWD_LIBS -lcrypt"
 fi
 
   fi
 
   if test "$have_kerberos" = yes ; then
   fi
 
   if test "$have_kerberos" = yes ; then
-    { $as_echo "$as_me:$LINENO: checking for res_search" >&5
-$as_echo_n "checking for res_search... " >&6; }
-if test "${ac_cv_func_res_search+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-/* Define res_search to an innocuous variant, in case <limits.h> declares res_search.
-   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
-#define res_search innocuous_res_search
-
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char res_search (); below.
-    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-    <limits.h> exists even on freestanding compilers.  */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef res_search
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char res_search ();
-/* The GNU C library defines this 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_res_search || defined __stub___res_search
-choke me
-#endif
-
-int
-main ()
-{
-return res_search ();
-  ;
-  return 0;
-}
-_ACEOF
-rm -rf conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then
-  ac_cv_func_res_search=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_func_res_search=no
-fi
+    ac_fn_c_check_func "$LINENO" "res_search" "ac_cv_func_res_search"
+if test "x$ac_cv_func_res_search" = xyes; then :
 
 
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_res_search" >&5
-$as_echo "$ac_cv_func_res_search" >&6; }
-if test "x$ac_cv_func_res_search" = x""yes; then
-  :
 else
 else
-  { $as_echo "$as_me:$LINENO: checking for res_search in -lresolv" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for res_search in -lresolv" >&5
 $as_echo_n "checking for res_search in -lresolv... " >&6; }
 $as_echo_n "checking for res_search in -lresolv... " >&6; }
-if test "${ac_cv_lib_resolv_res_search+set}" = set; then
+if ${ac_cv_lib_resolv_res_search+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lresolv  $LIBS"
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lresolv  $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
@@ -14839,46 +10204,21 @@ return res_search ();
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then
+if ac_fn_c_try_link "$LINENO"; then :
   ac_cv_lib_resolv_res_search=yes
 else
   ac_cv_lib_resolv_res_search=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_lib_resolv_res_search=no
+  ac_cv_lib_resolv_res_search=no
 fi
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_resolv_res_search" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_resolv_res_search" >&5
 $as_echo "$ac_cv_lib_resolv_res_search" >&6; }
 $as_echo "$ac_cv_lib_resolv_res_search" >&6; }
-if test "x$ac_cv_lib_resolv_res_search" = x""yes; then
+if test "x$ac_cv_lib_resolv_res_search" = xyes; then :
   PASSWD_LIBS="${PASSWD_LIBS} -lresolv"
 else
   PASSWD_LIBS="${PASSWD_LIBS} -lresolv"
 else
-  { $as_echo "$as_me:$LINENO: WARNING: Can't find DNS resolver libraries needed for Kerberos" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Can't find DNS resolver libraries needed for Kerberos" >&5
 $as_echo "$as_me: WARNING: Can't find DNS resolver libraries needed for Kerberos" >&2;}
 
 fi
 $as_echo "$as_me: WARNING: Can't find DNS resolver libraries needed for Kerberos" >&2;}
 
 fi
@@ -14902,7 +10242,7 @@ with_shadow_req=unspecified
 
 
 # Check whether --with-shadow was given.
 
 
 # Check whether --with-shadow was given.
-if test "${with_shadow+set}" = set; then
+if test "${with_shadow+set}" = set; then :
   withval=$with_shadow; with_shadow="$withval"; with_shadow_req="$withval"
 else
   with_shadow=yes
   withval=$with_shadow; with_shadow="$withval"; with_shadow_req="$withval"
 else
   with_shadow=yes
     no)  ;;
 
     /*)
     no)  ;;
 
     /*)
-     { $as_echo "$as_me:$LINENO: checking for shadow password headers" >&5
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shadow password headers" >&5
 $as_echo_n "checking for shadow password headers... " >&6; }
      d=$with_shadow/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
 $as_echo_n "checking for shadow password headers... " >&6; }
      d=$with_shadow/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
-       { $as_echo "$as_me:$LINENO: result: $d" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $d" >&5
 $as_echo "$d" >&6; }
      else
 $as_echo "$d" >&6; }
      else
-       { $as_echo "$as_me:$LINENO: result: not found ($d: no such directory)" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found ($d: no such directory)" >&5
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
-     { $as_echo "$as_me:$LINENO: checking for shadow password libs" >&5
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shadow password libs" >&5
 $as_echo_n "checking for shadow password libs... " >&6; }
      d=$with_shadow/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
 $as_echo_n "checking for shadow password libs... " >&6; }
      d=$with_shadow/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
-       { $as_echo "$as_me:$LINENO: result: $d" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $d" >&5
 $as_echo "$d" >&6; }
      else
 $as_echo "$d" >&6; }
      else
-       { $as_echo "$as_me:$LINENO: result: not found ($d: no such directory)" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found ($d: no such directory)" >&5
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
@@ -14967,9 +10307,9 @@ fi
 ###############################################################################
 
 if test "$with_shadow" = yes ; then
 ###############################################################################
 
 if test "$with_shadow" = yes ; then
-  { $as_echo "$as_me:$LINENO: checking for Sun-style shadow passwords" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Sun-style shadow passwords" >&5
 $as_echo_n "checking for Sun-style shadow passwords... " >&6; }
 $as_echo_n "checking for Sun-style shadow passwords... " >&6; }
-if test "${ac_cv_sun_adjunct+set}" = set; then
+if ${ac_cv_sun_adjunct+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
   $as_echo_n "(cached) " >&6
 else
 
@@ -14979,11 +10319,7 @@ else
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <stdlib.h>
                                     #include <unistd.h>
 /* end confdefs.h.  */
 #include <stdlib.h>
                                     #include <unistd.h>
@@ -15000,36 +10336,15 @@ struct passwd_adjunct *p = getpwanam("nobody");
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+if ac_fn_c_try_compile "$LINENO"; then :
   ac_cv_sun_adjunct=yes
 else
   ac_cv_sun_adjunct=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_sun_adjunct=no
+  ac_cv_sun_adjunct=no
 fi
 fi
-
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_sun_adjunct" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sun_adjunct" >&5
 $as_echo "$ac_cv_sun_adjunct" >&6; }
   if test "$ac_cv_sun_adjunct" = yes; then
     have_shadow_adjunct=yes
 $as_echo "$ac_cv_sun_adjunct" >&6; }
   if test "$ac_cv_sun_adjunct" = yes; then
     have_shadow_adjunct=yes
@@ -15046,9 +10361,9 @@ fi
 ###############################################################################
 
 if test "$with_shadow" = yes ; then
 ###############################################################################
 
 if test "$with_shadow" = yes ; then
-  { $as_echo "$as_me:$LINENO: checking for DEC-style shadow passwords" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for DEC-style shadow passwords" >&5
 $as_echo_n "checking for DEC-style shadow passwords... " >&6; }
 $as_echo_n "checking for DEC-style shadow passwords... " >&6; }
-if test "${ac_cv_enhanced_passwd+set}" = set; then
+if ${ac_cv_enhanced_passwd+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
   $as_echo_n "(cached) " >&6
 else
 
@@ -15058,11 +10373,7 @@ else
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <stdlib.h>
                                     #include <unistd.h>
 /* end confdefs.h.  */
 #include <stdlib.h>
                                     #include <unistd.h>
@@ -15083,36 +10394,15 @@ struct pr_passwd *p;
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+if ac_fn_c_try_compile "$LINENO"; then :
   ac_cv_enhanced_passwd=yes
 else
   ac_cv_enhanced_passwd=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_enhanced_passwd=no
+  ac_cv_enhanced_passwd=no
 fi
 fi
-
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_enhanced_passwd" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_enhanced_passwd" >&5
 $as_echo "$ac_cv_enhanced_passwd" >&6; }
   if test $ac_cv_enhanced_passwd = yes; then
     have_shadow_enhanced=yes
 $as_echo "$ac_cv_enhanced_passwd" >&6; }
   if test $ac_cv_enhanced_passwd = yes; then
     have_shadow_enhanced=yes
@@ -15123,18 +10413,14 @@ $as_echo "$ac_cv_enhanced_passwd" >&6; }
     # (I'm told it needs -lcurses too, but I don't understand why.)
     # But on DEC, it's in -lsecurity.
     #
     # (I'm told it needs -lcurses too, but I don't understand why.)
     # But on DEC, it's in -lsecurity.
     #
-    { $as_echo "$as_me:$LINENO: checking for getprpwnam in -lprot" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getprpwnam in -lprot" >&5
 $as_echo_n "checking for getprpwnam in -lprot... " >&6; }
 $as_echo_n "checking for getprpwnam in -lprot... " >&6; }
-if test "${ac_cv_lib_prot_getprpwnam+set}" = set; then
+if ${ac_cv_lib_prot_getprpwnam+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lprot -lx $LIBS"
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lprot -lx $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
@@ -15152,57 +10438,28 @@ return getprpwnam ();
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then
+if ac_fn_c_try_link "$LINENO"; then :
   ac_cv_lib_prot_getprpwnam=yes
 else
   ac_cv_lib_prot_getprpwnam=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_lib_prot_getprpwnam=no
+  ac_cv_lib_prot_getprpwnam=no
 fi
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_prot_getprpwnam" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_prot_getprpwnam" >&5
 $as_echo "$ac_cv_lib_prot_getprpwnam" >&6; }
 $as_echo "$ac_cv_lib_prot_getprpwnam" >&6; }
-if test "x$ac_cv_lib_prot_getprpwnam" = x""yes; then
+if test "x$ac_cv_lib_prot_getprpwnam" = xyes; then :
   PASSWD_LIBS="$PASSWD_LIBS -lprot -lcurses -lx"
 else
   PASSWD_LIBS="$PASSWD_LIBS -lprot -lcurses -lx"
 else
-  { $as_echo "$as_me:$LINENO: checking for getprpwnam in -lsecurity" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getprpwnam in -lsecurity" >&5
 $as_echo_n "checking for getprpwnam in -lsecurity... " >&6; }
 $as_echo_n "checking for getprpwnam in -lsecurity... " >&6; }
-if test "${ac_cv_lib_security_getprpwnam+set}" = set; then
+if ${ac_cv_lib_security_getprpwnam+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lsecurity  $LIBS"
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lsecurity  $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
@@ -15220,43 +10477,18 @@ return getprpwnam ();
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then
+if ac_fn_c_try_link "$LINENO"; then :
   ac_cv_lib_security_getprpwnam=yes
 else
   ac_cv_lib_security_getprpwnam=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_lib_security_getprpwnam=no
+  ac_cv_lib_security_getprpwnam=no
 fi
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_security_getprpwnam" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_security_getprpwnam" >&5
 $as_echo "$ac_cv_lib_security_getprpwnam" >&6; }
 $as_echo "$ac_cv_lib_security_getprpwnam" >&6; }
-if test "x$ac_cv_lib_security_getprpwnam" = x""yes; then
+if test "x$ac_cv_lib_security_getprpwnam" = xyes; then :
   PASSWD_LIBS="$PASSWD_LIBS -lsecurity"
 fi
 
   PASSWD_LIBS="$PASSWD_LIBS -lsecurity"
 fi
 
@@ -15272,9 +10504,9 @@ fi
 ###############################################################################
 
 if test "$with_shadow" = yes ; then
 ###############################################################################
 
 if test "$with_shadow" = yes ; then
-  { $as_echo "$as_me:$LINENO: checking for HP-style shadow passwords" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for HP-style shadow passwords" >&5
 $as_echo_n "checking for HP-style shadow passwords... " >&6; }
 $as_echo_n "checking for HP-style shadow passwords... " >&6; }
-if test "${ac_cv_hpux_passwd+set}" = set; then
+if ${ac_cv_hpux_passwd+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
   $as_echo_n "(cached) " >&6
 else
 
@@ -15284,11 +10516,7 @@ else
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <stdlib.h>
                                     #include <unistd.h>
 /* end confdefs.h.  */
 #include <stdlib.h>
                                     #include <unistd.h>
@@ -15305,36 +10533,15 @@ struct s_passwd *p = getspwnam("nobody");
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+if ac_fn_c_try_compile "$LINENO"; then :
   ac_cv_hpux_passwd=yes
 else
   ac_cv_hpux_passwd=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_hpux_passwd=no
+  ac_cv_hpux_passwd=no
 fi
 fi
-
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_hpux_passwd" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_hpux_passwd" >&5
 $as_echo "$ac_cv_hpux_passwd" >&6; }
   if test "$ac_cv_hpux_passwd" = yes; then
     have_shadow_hpux=yes
 $as_echo "$ac_cv_hpux_passwd" >&6; }
   if test "$ac_cv_hpux_passwd" = yes; then
     have_shadow_hpux=yes
@@ -15342,18 +10549,14 @@ $as_echo "$ac_cv_hpux_passwd" >&6; }
     need_setuid=yes
 
     # on HPUX, bigcrypt is in -lsec
     need_setuid=yes
 
     # on HPUX, bigcrypt is in -lsec
-    { $as_echo "$as_me:$LINENO: checking for bigcrypt in -lsec" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for bigcrypt in -lsec" >&5
 $as_echo_n "checking for bigcrypt in -lsec... " >&6; }
 $as_echo_n "checking for bigcrypt in -lsec... " >&6; }
-if test "${ac_cv_lib_sec_bigcrypt+set}" = set; then
+if ${ac_cv_lib_sec_bigcrypt+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lsec  $LIBS"
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lsec  $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
@@ -15371,43 +10574,18 @@ return bigcrypt ();
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then
+if ac_fn_c_try_link "$LINENO"; then :
   ac_cv_lib_sec_bigcrypt=yes
 else
   ac_cv_lib_sec_bigcrypt=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_lib_sec_bigcrypt=no
+  ac_cv_lib_sec_bigcrypt=no
 fi
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_sec_bigcrypt" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sec_bigcrypt" >&5
 $as_echo "$ac_cv_lib_sec_bigcrypt" >&6; }
 $as_echo "$ac_cv_lib_sec_bigcrypt" >&6; }
-if test "x$ac_cv_lib_sec_bigcrypt" = x""yes; then
+if test "x$ac_cv_lib_sec_bigcrypt" = xyes; then :
   PASSWD_LIBS="$PASSWD_LIBS -lsec"
 fi
 
   PASSWD_LIBS="$PASSWD_LIBS -lsec"
 fi
 
@@ -15428,9 +10606,9 @@ fi
 ###############################################################################
 
 if test "$with_shadow" = yes ; then
 ###############################################################################
 
 if test "$with_shadow" = yes ; then
-  { $as_echo "$as_me:$LINENO: checking for FreeBSD-style shadow passwords" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for FreeBSD-style shadow passwords" >&5
 $as_echo_n "checking for FreeBSD-style shadow passwords... " >&6; }
 $as_echo_n "checking for FreeBSD-style shadow passwords... " >&6; }
-if test "${ac_cv_master_passwd+set}" = set; then
+if ${ac_cv_master_passwd+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -f /etc/master.passwd ; then
   $as_echo_n "(cached) " >&6
 else
   if test -f /etc/master.passwd ; then
@@ -15439,7 +10617,7 @@ else
                     ac_cv_master_passwd=no
                   fi
 fi
                     ac_cv_master_passwd=no
                   fi
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_master_passwd" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_master_passwd" >&5
 $as_echo "$ac_cv_master_passwd" >&6; }
   if test "$ac_cv_master_passwd" = yes; then
     need_setuid=yes
 $as_echo "$ac_cv_master_passwd" >&6; }
   if test "$ac_cv_master_passwd" = yes; then
     need_setuid=yes
@@ -15454,9 +10632,9 @@ fi
 ###############################################################################
 
 if test "$with_shadow" = yes ; then
 ###############################################################################
 
 if test "$with_shadow" = yes ; then
-  { $as_echo "$as_me:$LINENO: checking for generic shadow passwords" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for generic shadow passwords" >&5
 $as_echo_n "checking for generic shadow passwords... " >&6; }
 $as_echo_n "checking for generic shadow passwords... " >&6; }
-if test "${ac_cv_shadow+set}" = set; then
+if ${ac_cv_shadow+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
   $as_echo_n "(cached) " >&6
 else
 
@@ -15466,11 +10644,7 @@ else
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <stdlib.h>
                                     #include <unistd.h>
 /* end confdefs.h.  */
 #include <stdlib.h>
                                     #include <unistd.h>
@@ -15486,36 +10660,15 @@ struct spwd *p = getspnam("nobody");
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+if ac_fn_c_try_compile "$LINENO"; then :
   ac_cv_shadow=yes
 else
   ac_cv_shadow=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_shadow=no
+  ac_cv_shadow=no
 fi
 fi
-
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_shadow" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_shadow" >&5
 $as_echo "$ac_cv_shadow" >&6; }
   if test "$ac_cv_shadow" = yes; then
     have_shadow=yes
 $as_echo "$ac_cv_shadow" >&6; }
   if test "$ac_cv_shadow" = yes; then
     have_shadow=yes
@@ -15523,18 +10676,14 @@ $as_echo "$ac_cv_shadow" >&6; }
 
     # On some systems (UnixWare 2.1), getspnam() is in -lgen instead of -lc.
     have_getspnam=no
 
     # On some systems (UnixWare 2.1), getspnam() is in -lgen instead of -lc.
     have_getspnam=no
-    { $as_echo "$as_me:$LINENO: checking for getspnam in -lc" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getspnam in -lc" >&5
 $as_echo_n "checking for getspnam in -lc... " >&6; }
 $as_echo_n "checking for getspnam in -lc... " >&6; }
-if test "${ac_cv_lib_c_getspnam+set}" = set; then
+if ${ac_cv_lib_c_getspnam+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lc  $LIBS"
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lc  $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
@@ -15552,59 +10701,30 @@ return getspnam ();
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then
+if ac_fn_c_try_link "$LINENO"; then :
   ac_cv_lib_c_getspnam=yes
 else
   ac_cv_lib_c_getspnam=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_lib_c_getspnam=no
+  ac_cv_lib_c_getspnam=no
 fi
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_c_getspnam" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_c_getspnam" >&5
 $as_echo "$ac_cv_lib_c_getspnam" >&6; }
 $as_echo "$ac_cv_lib_c_getspnam" >&6; }
-if test "x$ac_cv_lib_c_getspnam" = x""yes; then
+if test "x$ac_cv_lib_c_getspnam" = xyes; then :
   have_getspnam=yes
 fi
 
     if test "$have_getspnam" = no ; then
   have_getspnam=yes
 fi
 
     if test "$have_getspnam" = no ; then
-      { $as_echo "$as_me:$LINENO: checking for getspnam in -lgen" >&5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getspnam in -lgen" >&5
 $as_echo_n "checking for getspnam in -lgen... " >&6; }
 $as_echo_n "checking for getspnam in -lgen... " >&6; }
-if test "${ac_cv_lib_gen_getspnam+set}" = set; then
+if ${ac_cv_lib_gen_getspnam+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lgen  $LIBS"
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lgen  $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
@@ -15622,43 +10742,18 @@ return getspnam ();
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then
+if ac_fn_c_try_link "$LINENO"; then :
   ac_cv_lib_gen_getspnam=yes
 else
   ac_cv_lib_gen_getspnam=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_lib_gen_getspnam=no
+  ac_cv_lib_gen_getspnam=no
 fi
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_gen_getspnam" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gen_getspnam" >&5
 $as_echo "$ac_cv_lib_gen_getspnam" >&6; }
 $as_echo "$ac_cv_lib_gen_getspnam" >&6; }
-if test "x$ac_cv_lib_gen_getspnam" = x""yes; then
+if test "x$ac_cv_lib_gen_getspnam" = xyes; then :
   have_getspnam=yes; PASSWD_LIBS="$PASSWD_LIBS -lgen"
 fi
 
   have_getspnam=yes; PASSWD_LIBS="$PASSWD_LIBS -lgen"
 fi
 
@@ -15677,18 +10772,14 @@ if test "$enable_locking" = yes ; then
 
   # On some systems (UnixWare 2.1), crypt() is in -lcrypt instead of -lc.
   have_crypt=no
 
   # On some systems (UnixWare 2.1), crypt() is in -lcrypt instead of -lc.
   have_crypt=no
-  { $as_echo "$as_me:$LINENO: checking for crypt in -lc" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for crypt in -lc" >&5
 $as_echo_n "checking for crypt in -lc... " >&6; }
 $as_echo_n "checking for crypt in -lc... " >&6; }
-if test "${ac_cv_lib_c_crypt+set}" = set; then
+if ${ac_cv_lib_c_crypt+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lc  $LIBS"
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lc  $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
@@ -15706,59 +10797,30 @@ return crypt ();
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then
+if ac_fn_c_try_link "$LINENO"; then :
   ac_cv_lib_c_crypt=yes
 else
   ac_cv_lib_c_crypt=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_lib_c_crypt=no
+  ac_cv_lib_c_crypt=no
 fi
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_c_crypt" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_c_crypt" >&5
 $as_echo "$ac_cv_lib_c_crypt" >&6; }
 $as_echo "$ac_cv_lib_c_crypt" >&6; }
-if test "x$ac_cv_lib_c_crypt" = x""yes; then
+if test "x$ac_cv_lib_c_crypt" = xyes; then :
   have_crypt=yes
 fi
 
   if test "$have_crypt" = no ; then
   have_crypt=yes
 fi
 
   if test "$have_crypt" = no ; then
-    { $as_echo "$as_me:$LINENO: checking for crypt in -lcrypt" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for crypt in -lcrypt" >&5
 $as_echo_n "checking for crypt in -lcrypt... " >&6; }
 $as_echo_n "checking for crypt in -lcrypt... " >&6; }
-if test "${ac_cv_lib_crypt_crypt+set}" = set; then
+if ${ac_cv_lib_crypt_crypt+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lcrypt  $LIBS"
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lcrypt  $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
@@ -15776,43 +10838,18 @@ return crypt ();
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then
+if ac_fn_c_try_link "$LINENO"; then :
   ac_cv_lib_crypt_crypt=yes
 else
   ac_cv_lib_crypt_crypt=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_lib_crypt_crypt=no
+  ac_cv_lib_crypt_crypt=no
 fi
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_crypt_crypt" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_crypt_crypt" >&5
 $as_echo "$ac_cv_lib_crypt_crypt" >&6; }
 $as_echo "$ac_cv_lib_crypt_crypt" >&6; }
-if test "x$ac_cv_lib_crypt_crypt" = x""yes; then
+if test "x$ac_cv_lib_crypt_crypt" = xyes; then :
   have_crypt=yes; PASSWD_LIBS="$PASSWD_LIBS -lcrypt"
 fi
 
   have_crypt=yes; PASSWD_LIBS="$PASSWD_LIBS -lcrypt"
 fi
 
 
 
 if test "$have_shadow_adjunct" = yes ; then
 
 
 if test "$have_shadow_adjunct" = yes ; then
-  cat >>confdefs.h <<\_ACEOF
-#define HAVE_ADJUNCT_PASSWD 1
-_ACEOF
+  $as_echo "#define HAVE_ADJUNCT_PASSWD 1" >>confdefs.h
 
 elif test "$have_shadow_enhanced" = yes ; then
 
 elif test "$have_shadow_enhanced" = yes ; then
-  cat >>confdefs.h <<\_ACEOF
-#define HAVE_ENHANCED_PASSWD 1
-_ACEOF
+  $as_echo "#define HAVE_ENHANCED_PASSWD 1" >>confdefs.h
 
 elif test "$have_shadow_hpux" = yes ; then
 
 elif test "$have_shadow_hpux" = yes ; then
-  cat >>confdefs.h <<\_ACEOF
-#define HAVE_HPUX_PASSWD 1
-_ACEOF
+  $as_echo "#define HAVE_HPUX_PASSWD 1" >>confdefs.h
 
 elif test "$have_shadow" = yes ; then
 
 elif test "$have_shadow" = yes ; then
-  cat >>confdefs.h <<\_ACEOF
-#define HAVE_SHADOW_PASSWD 1
-_ACEOF
+  $as_echo "#define HAVE_SHADOW_PASSWD 1" >>confdefs.h
 
 fi
 
 
 fi
 
@@ -15874,7 +10903,7 @@ with_passwd_helper_req=unspecified
 
 
 # Check whether --with-passwd-helper was given.
 
 
 # Check whether --with-passwd-helper was given.
-if test "${with_passwd_helper+set}" = set; then
+if test "${with_passwd_helper+set}" = set; then :
   withval=$with_passwd_helper; with_passwd_helper="$withval"; with_passwd_helper_req="$withval"
 else
   with_passwd_helper=no
   withval=$with_passwd_helper; with_passwd_helper="$withval"; with_passwd_helper_req="$withval"
 else
   with_passwd_helper=no
@@ -15914,7 +10943,7 @@ default_login_manager_2='kdmctl reserve'
 
 
 # Check whether --with-login-manager was given.
 
 
 # Check whether --with-login-manager was given.
-if test "${with_login_manager+set}" = set; then
+if test "${with_login_manager+set}" = set; then :
   withval=$with_login_manager; with_login_manager="$withval"; with_login_manager_req="$withval"
 else
   with_login_manager=yes
   withval=$with_login_manager; with_login_manager="$withval"; with_login_manager_req="$withval"
 else
   with_login_manager=yes
@@ -15939,9 +10968,9 @@ case "$with_login_manager_req" in
     unset ac_cv_path_login_manager_tmp  # don't cache
     # Extract the first word of "$login_manager_tmp", so it can be a program name with args.
 set dummy $login_manager_tmp; ac_word=$2
     unset ac_cv_path_login_manager_tmp  # don't cache
     # Extract the first word of "$login_manager_tmp", so it can be a program name with args.
 set dummy $login_manager_tmp; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_login_manager_tmp+set}" = set; then
+if ${ac_cv_path_login_manager_tmp+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $login_manager_tmp in
   $as_echo_n "(cached) " >&6
 else
   case $login_manager_tmp in
@@ -15954,14 +10983,14 @@ for as_dir in $PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_path_login_manager_tmp="$as_dir/$ac_word$ac_exec_ext"
     ac_cv_path_login_manager_tmp="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
     break 2
   fi
 done
-done
+  done
 IFS=$as_save_IFS
 
   ;;
 IFS=$as_save_IFS
 
   ;;
@@ -15969,10 +10998,10 @@ esac
 fi
 login_manager_tmp=$ac_cv_path_login_manager_tmp
 if test -n "$login_manager_tmp"; then
 fi
 login_manager_tmp=$ac_cv_path_login_manager_tmp
 if test -n "$login_manager_tmp"; then
-  { $as_echo "$as_me:$LINENO: result: $login_manager_tmp" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $login_manager_tmp" >&5
 $as_echo "$login_manager_tmp" >&6; }
 else
 $as_echo "$login_manager_tmp" >&6; }
 else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
 
 $as_echo "no" >&6; }
 fi
 
@@ -15984,9 +11013,9 @@ fi
       unset ac_cv_path_login_manager_tmp  # don't cache
       # Extract the first word of "$login_manager_tmp", so it can be a program name with args.
 set dummy $login_manager_tmp; ac_word=$2
       unset ac_cv_path_login_manager_tmp  # don't cache
       # Extract the first word of "$login_manager_tmp", so it can be a program name with args.
 set dummy $login_manager_tmp; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_login_manager_tmp+set}" = set; then
+if ${ac_cv_path_login_manager_tmp+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $login_manager_tmp in
   $as_echo_n "(cached) " >&6
 else
   case $login_manager_tmp in
@@ -15999,14 +11028,14 @@ for as_dir in $PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_path_login_manager_tmp="$as_dir/$ac_word$ac_exec_ext"
     ac_cv_path_login_manager_tmp="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
     break 2
   fi
 done
-done
+  done
 IFS=$as_save_IFS
 
   ;;
 IFS=$as_save_IFS
 
   ;;
@@ -16014,10 +11043,10 @@ esac
 fi
 login_manager_tmp=$ac_cv_path_login_manager_tmp
 if test -n "$login_manager_tmp"; then
 fi
 login_manager_tmp=$ac_cv_path_login_manager_tmp
 if test -n "$login_manager_tmp"; then
-  { $as_echo "$as_me:$LINENO: result: $login_manager_tmp" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $login_manager_tmp" >&5
 $as_echo "$login_manager_tmp" >&6; }
 else
 $as_echo "$login_manager_tmp" >&6; }
 else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
 
 $as_echo "no" >&6; }
 fi
 
   /*)
     # absolute path specified on cmd line
     set dummy $with_login_manager_req ; login_manager_tmp=$2
   /*)
     # absolute path specified on cmd line
     set dummy $with_login_manager_req ; login_manager_tmp=$2
-    { $as_echo "$as_me:$LINENO: checking for $login_manager_tmp" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $login_manager_tmp" >&5
 $as_echo_n "checking for $login_manager_tmp... " >&6; }
     if test -x "$login_manager_tmp" ; then
 $as_echo_n "checking for $login_manager_tmp... " >&6; }
     if test -x "$login_manager_tmp" ; then
-      { $as_echo "$as_me:$LINENO: result: yes" >&5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
     else
 $as_echo "yes" >&6; }
     else
-      { $as_echo "$as_me:$LINENO: result: no" >&5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
       with_login_manager=""
     fi
 $as_echo "no" >&6; }
       with_login_manager=""
     fi
@@ -16051,9 +11080,9 @@ $as_echo "no" >&6; }
     unset ac_cv_path_login_manager_tmp    # don't cache
     # Extract the first word of "$login_manager_tmp", so it can be a program name with args.
 set dummy $login_manager_tmp; ac_word=$2
     unset ac_cv_path_login_manager_tmp    # don't cache
     # Extract the first word of "$login_manager_tmp", so it can be a program name with args.
 set dummy $login_manager_tmp; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_login_manager_tmp+set}" = set; then
+if ${ac_cv_path_login_manager_tmp+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $login_manager_tmp in
   $as_echo_n "(cached) " >&6
 else
   case $login_manager_tmp in
@@ -16066,14 +11095,14 @@ for as_dir in $PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_path_login_manager_tmp="$as_dir/$ac_word$ac_exec_ext"
     ac_cv_path_login_manager_tmp="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
     break 2
   fi
 done
-done
+  done
 IFS=$as_save_IFS
 
   ;;
 IFS=$as_save_IFS
 
   ;;
@@ -16081,10 +11110,10 @@ esac
 fi
 login_manager_tmp=$ac_cv_path_login_manager_tmp
 if test -n "$login_manager_tmp"; then
 fi
 login_manager_tmp=$ac_cv_path_login_manager_tmp
 if test -n "$login_manager_tmp"; then
-  { $as_echo "$as_me:$LINENO: result: $login_manager_tmp" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $login_manager_tmp" >&5
 $as_echo "$login_manager_tmp" >&6; }
 else
 $as_echo "$login_manager_tmp" >&6; }
 else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
 
 $as_echo "no" >&6; }
 fi
 
@@ -16101,15 +11130,15 @@ ac_cv_login_manager_program="$with_login_manager"
 NEW_LOGIN_COMMAND_P=''
 NEW_LOGIN_COMMAND="$ac_cv_login_manager_program"
 
 NEW_LOGIN_COMMAND_P=''
 NEW_LOGIN_COMMAND="$ac_cv_login_manager_program"
 
-{ $as_echo "$as_me:$LINENO: checking for login manager" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for login manager" >&5
 $as_echo_n "checking for login manager... " >&6; }
 if test -z "$NEW_LOGIN_COMMAND" ; then
   NEW_LOGIN_COMMAND="$default_login_manager_1"
   NEW_LOGIN_COMMAND_P='! '
 $as_echo_n "checking for login manager... " >&6; }
 if test -z "$NEW_LOGIN_COMMAND" ; then
   NEW_LOGIN_COMMAND="$default_login_manager_1"
   NEW_LOGIN_COMMAND_P='! '
-  { $as_echo "$as_me:$LINENO: result: $NEW_LOGIN_COMMAND (disabled)" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NEW_LOGIN_COMMAND (disabled)" >&5
 $as_echo "$NEW_LOGIN_COMMAND (disabled)" >&6; }
 else
 $as_echo "$NEW_LOGIN_COMMAND (disabled)" >&6; }
 else
-  { $as_echo "$as_me:$LINENO: result: $NEW_LOGIN_COMMAND" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NEW_LOGIN_COMMAND" >&5
 $as_echo "$NEW_LOGIN_COMMAND" >&6; }
 fi
 
 $as_echo "$NEW_LOGIN_COMMAND" >&6; }
 fi
 
@@ -16124,7 +11153,7 @@ have_gtk=no
 with_gtk_req=unspecified
 
 # Check whether --with-gtk was given.
 with_gtk_req=unspecified
 
 # Check whether --with-gtk was given.
-if test "${with_gtk+set}" = set; then
+if test "${with_gtk+set}" = set; then :
   withval=$with_gtk; with_gtk="$withval"; with_gtk_req="$withval"
 else
   with_gtk=yes
   withval=$with_gtk; with_gtk="$withval"; with_gtk_req="$withval"
 else
   with_gtk=yes
@@ -16148,27 +11177,27 @@ esac
     no)  ;;
 
     /*)
     no)  ;;
 
     /*)
-     { $as_echo "$as_me:$LINENO: checking for Gtk headers" >&5
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Gtk headers" >&5
 $as_echo_n "checking for Gtk headers... " >&6; }
      d=$with_gtk/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
 $as_echo_n "checking for Gtk headers... " >&6; }
      d=$with_gtk/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
-       { $as_echo "$as_me:$LINENO: result: $d" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $d" >&5
 $as_echo "$d" >&6; }
      else
 $as_echo "$d" >&6; }
      else
-       { $as_echo "$as_me:$LINENO: result: not found ($d: no such directory)" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found ($d: no such directory)" >&5
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
-     { $as_echo "$as_me:$LINENO: checking for Gtk libs" >&5
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Gtk libs" >&5
 $as_echo_n "checking for Gtk libs... " >&6; }
      d=$with_gtk/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
 $as_echo_n "checking for Gtk libs... " >&6; }
      d=$with_gtk/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
-       { $as_echo "$as_me:$LINENO: result: $d" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $d" >&5
 $as_echo "$d" >&6; }
      else
 $as_echo "$d" >&6; }
      else
-       { $as_echo "$as_me:$LINENO: result: not found ($d: no such directory)" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found ($d: no such directory)" >&5
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
@@ -16220,9 +11249,9 @@ for ac_prog in pkg-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
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_pkg_config+set}" = set; then
+if ${ac_cv_path_pkg_config+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $pkg_config in
   $as_echo_n "(cached) " >&6
 else
   case $pkg_config in
@@ -16235,14 +11264,14 @@ for as_dir in $gtk_path
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_path_pkg_config="$as_dir/$ac_word$ac_exec_ext"
     ac_cv_path_pkg_config="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
     break 2
   fi
 done
-done
+  done
 IFS=$as_save_IFS
 
   ;;
 IFS=$as_save_IFS
 
   ;;
@@ -16250,10 +11279,10 @@ esac
 fi
 pkg_config=$ac_cv_path_pkg_config
 if test -n "$pkg_config"; then
 fi
 pkg_config=$ac_cv_path_pkg_config
 if test -n "$pkg_config"; then
-  { $as_echo "$as_me:$LINENO: result: $pkg_config" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $pkg_config" >&5
 $as_echo "$pkg_config" >&6; }
 else
 $as_echo "$pkg_config" >&6; }
 else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
 
 $as_echo "no" >&6; }
 fi
 
@@ -16263,7 +11292,7 @@ done
 
 
 if test -z "$pkg_config" ; then
 
 
 if test -z "$pkg_config" ; then
-  { $as_echo "$as_me:$LINENO: WARNING: pkg-config not found!" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: pkg-config not found!" >&5
 $as_echo "$as_me: WARNING: pkg-config not found!" >&2;}
   pkg_config="false"
 fi
 $as_echo "$as_me: WARNING: pkg-config not found!" >&2;}
   pkg_config="false"
 fi
@@ -16276,23 +11305,23 @@ pkg_check_version() {
   if test "$ok" = yes ; then
     req="$1"
     min="$2"
   if test "$ok" = yes ; then
     req="$1"
     min="$2"
-    { $as_echo "$as_me:$LINENO: checking for $req" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $req" >&5
 $as_echo_n "checking for $req... " >&6; }
     if $pkg_config --exists "$req" ; then
       vers=`$pkg_config --modversion "$req"`
       if $pkg_config --exists "$req >= $min" ; then
 $as_echo_n "checking for $req... " >&6; }
     if $pkg_config --exists "$req" ; then
       vers=`$pkg_config --modversion "$req"`
       if $pkg_config --exists "$req >= $min" ; then
-        { $as_echo "$as_me:$LINENO: result: $vers" >&5
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: $vers" >&5
 $as_echo "$vers" >&6; }
         pkgs="$pkgs $req"
         return 1
       else
 $as_echo "$vers" >&6; }
         pkgs="$pkgs $req"
         return 1
       else
-        { $as_echo "$as_me:$LINENO: result: $vers (wanted >= $min)" >&5
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: $vers (wanted >= $min)" >&5
 $as_echo "$vers (wanted >= $min)" >&6; }
         ok=no
         return 0
       fi
     else
 $as_echo "$vers (wanted >= $min)" >&6; }
         ok=no
         return 0
       fi
     else
-      { $as_echo "$as_me:$LINENO: result: no" >&5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
       ok=no
       return 0
 $as_echo "no" >&6; }
       ok=no
       return 0
@@ -16329,23 +11358,23 @@ if test "$with_gtk" = yes; then
   fi
 
   if test "$have_gtk" = yes; then
   fi
 
   if test "$have_gtk" = yes; then
-    { $as_echo "$as_me:$LINENO: checking for Gtk includes" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Gtk includes" >&5
 $as_echo_n "checking for Gtk includes... " >&6; }
 $as_echo_n "checking for Gtk includes... " >&6; }
-if test "${ac_cv_gtk_config_cflags+set}" = set; then
+if ${ac_cv_gtk_config_cflags+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_gtk_config_cflags=`$pkg_config --cflags $pkgs`
 fi
   $as_echo_n "(cached) " >&6
 else
   ac_cv_gtk_config_cflags=`$pkg_config --cflags $pkgs`
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_gtk_config_cflags" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_gtk_config_cflags" >&5
 $as_echo "$ac_cv_gtk_config_cflags" >&6; }
 $as_echo "$ac_cv_gtk_config_cflags" >&6; }
-    { $as_echo "$as_me:$LINENO: checking for Gtk libs" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Gtk libs" >&5
 $as_echo_n "checking for Gtk libs... " >&6; }
 $as_echo_n "checking for Gtk libs... " >&6; }
-if test "${ac_cv_gtk_config_libs+set}" = set; then
+if ${ac_cv_gtk_config_libs+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_gtk_config_libs=`$pkg_config --libs $pkgs`
 fi
   $as_echo_n "(cached) " >&6
 else
   ac_cv_gtk_config_libs=`$pkg_config --libs $pkgs`
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_gtk_config_libs" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_gtk_config_libs" >&5
 $as_echo "$ac_cv_gtk_config_libs" >&6; }
   fi
 
 $as_echo "$ac_cv_gtk_config_libs" >&6; }
   fi
 
@@ -16362,17 +11391,11 @@ $as_echo "$ac_cv_gtk_config_libs" >&6; }
   if test "$have_gtk" = yes; then
     INCLUDES="$INCLUDES $ac_gtk_config_cflags"
     GTK_LIBS="$GTK_LIBS $ac_gtk_config_libs"
   if test "$have_gtk" = yes; then
     INCLUDES="$INCLUDES $ac_gtk_config_cflags"
     GTK_LIBS="$GTK_LIBS $ac_gtk_config_libs"
-    cat >>confdefs.h <<\_ACEOF
-#define HAVE_GTK 1
-_ACEOF
+    $as_echo "#define HAVE_GTK 1" >>confdefs.h
 
 
-    cat >>confdefs.h <<\_ACEOF
-#define HAVE_GTK2 1
-_ACEOF
+    $as_echo "#define HAVE_GTK2 1" >>confdefs.h
 
 
-    cat >>confdefs.h <<\_ACEOF
-#define HAVE_XML 1
-_ACEOF
+    $as_echo "#define HAVE_XML 1" >>confdefs.h
 
   fi
 
 
   fi
 
@@ -16387,9 +11410,9 @@ if test "$have_gtk" = yes; then
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_gnome_open_program+set}" = set; then
+if ${ac_cv_prog_gnome_open_program+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$gnome_open_program"; then
   $as_echo_n "(cached) " >&6
 else
   if test -n "$gnome_open_program"; then
@@ -16400,24 +11423,24 @@ for as_dir in $PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_gnome_open_program="$ac_prog"
     ac_cv_prog_gnome_open_program="$ac_prog"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
     break 2
   fi
 done
-done
+  done
 IFS=$as_save_IFS
 
 fi
 fi
 gnome_open_program=$ac_cv_prog_gnome_open_program
 if test -n "$gnome_open_program"; then
 IFS=$as_save_IFS
 
 fi
 fi
 gnome_open_program=$ac_cv_prog_gnome_open_program
 if test -n "$gnome_open_program"; then
-  { $as_echo "$as_me:$LINENO: result: $gnome_open_program" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gnome_open_program" >&5
 $as_echo "$gnome_open_program" >&6; }
 else
 $as_echo "$gnome_open_program" >&6; }
 else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
 
 $as_echo "no" >&6; }
 fi
 
@@ -16429,9 +11452,9 @@ done
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_gnome_url_show_program+set}" = set; then
+if ${ac_cv_prog_gnome_url_show_program+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$gnome_url_show_program"; then
   $as_echo_n "(cached) " >&6
 else
   if test -n "$gnome_url_show_program"; then
@@ -16442,24 +11465,24 @@ for as_dir in $PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_gnome_url_show_program="$ac_prog"
     ac_cv_prog_gnome_url_show_program="$ac_prog"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
     break 2
   fi
 done
-done
+  done
 IFS=$as_save_IFS
 
 fi
 fi
 gnome_url_show_program=$ac_cv_prog_gnome_url_show_program
 if test -n "$gnome_url_show_program"; then
 IFS=$as_save_IFS
 
 fi
 fi
 gnome_url_show_program=$ac_cv_prog_gnome_url_show_program
 if test -n "$gnome_url_show_program"; then
-  { $as_echo "$as_me:$LINENO: result: $gnome_url_show_program" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gnome_url_show_program" >&5
 $as_echo "$gnome_url_show_program" >&6; }
 else
 $as_echo "$gnome_url_show_program" >&6; }
 else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
 
 $as_echo "no" >&6; }
 fi
 
@@ -16480,7 +11503,7 @@ have_motif=no
 with_motif_req=unspecified
 
 # Check whether --with-motif was given.
 with_motif_req=unspecified
 
 # Check whether --with-motif was given.
-if test "${with_motif+set}" = set; then
+if test "${with_motif+set}" = set; then :
   withval=$with_motif; with_motif="$withval"; with_motif_req="$withval"
 else
   with_motif=no
   withval=$with_motif; with_motif="$withval"; with_motif_req="$withval"
 else
   with_motif=no
     no)  ;;
 
     /*)
     no)  ;;
 
     /*)
-     { $as_echo "$as_me:$LINENO: checking for Motif headers" >&5
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Motif headers" >&5
 $as_echo_n "checking for Motif headers... " >&6; }
      d=$with_motif/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
 $as_echo_n "checking for Motif headers... " >&6; }
      d=$with_motif/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
-       { $as_echo "$as_me:$LINENO: result: $d" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $d" >&5
 $as_echo "$d" >&6; }
      else
 $as_echo "$d" >&6; }
      else
-       { $as_echo "$as_me:$LINENO: result: not found ($d: no such directory)" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found ($d: no such directory)" >&5
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
-     { $as_echo "$as_me:$LINENO: checking for Motif libs" >&5
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Motif libs" >&5
 $as_echo_n "checking for Motif libs... " >&6; }
      d=$with_motif/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
 $as_echo_n "checking for Motif libs... " >&6; }
      d=$with_motif/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
-       { $as_echo "$as_me:$LINENO: result: $d" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $d" >&5
 $as_echo "$d" >&6; }
      else
 $as_echo "$d" >&6; }
      else
-       { $as_echo "$as_me:$LINENO: result: not found ($d: no such directory)" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found ($d: no such directory)" >&5
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
@@ -16546,58 +11569,13 @@ if test "$with_motif" = yes; then
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
-  { $as_echo "$as_me:$LINENO: checking for Xm/Xm.h" >&5
-$as_echo_n "checking for Xm/Xm.h... " >&6; }
-if test "${ac_cv_header_Xm_Xm_h+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <stdlib.h>
+  ac_fn_c_check_header_compile "$LINENO" "Xm/Xm.h" "ac_cv_header_Xm_Xm_h" "#include <stdlib.h>
                      #include <stdio.h>
                      #include <X11/Intrinsic.h>
                      #include <stdio.h>
                      #include <X11/Intrinsic.h>
-
-#include <Xm/Xm.h>
-_ACEOF
-rm -rf conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_header_Xm_Xm_h=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_header_Xm_Xm_h=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_Xm_Xm_h" >&5
-$as_echo "$ac_cv_header_Xm_Xm_h" >&6; }
-if test "x$ac_cv_header_Xm_Xm_h" = x""yes; then
+"
+if test "x$ac_cv_header_Xm_Xm_h" = xyes; then :
   have_motif=yes
   have_motif=yes
-                     cat >>confdefs.h <<\_ACEOF
-#define HAVE_MOTIF 1
-_ACEOF
+                     $as_echo "#define HAVE_MOTIF 1" >>confdefs.h
 
                      MOTIF_LIBS="$MOTIF_LIBS -lXm"
 fi
 
                      MOTIF_LIBS="$MOTIF_LIBS -lXm"
 fi
@@ -16615,57 +11593,12 @@ if test "$have_motif" = yes; then
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
-  { $as_echo "$as_me:$LINENO: checking for Xm/ComboBox.h" >&5
-$as_echo_n "checking for Xm/ComboBox.h... " >&6; }
-if test "${ac_cv_header_Xm_ComboBox_h+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <stdlib.h>
+  ac_fn_c_check_header_compile "$LINENO" "Xm/ComboBox.h" "ac_cv_header_Xm_ComboBox_h" "#include <stdlib.h>
                      #include <stdio.h>
                      #include <X11/Intrinsic.h>
                      #include <stdio.h>
                      #include <X11/Intrinsic.h>
-
-#include <Xm/ComboBox.h>
-_ACEOF
-rm -rf conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_header_Xm_ComboBox_h=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_header_Xm_ComboBox_h=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_Xm_ComboBox_h" >&5
-$as_echo "$ac_cv_header_Xm_ComboBox_h" >&6; }
-if test "x$ac_cv_header_Xm_ComboBox_h" = x""yes; then
-  cat >>confdefs.h <<\_ACEOF
-#define HAVE_XMCOMBOBOX 1
-_ACEOF
+"
+if test "x$ac_cv_header_Xm_ComboBox_h" = xyes; then :
+  $as_echo "#define HAVE_XMCOMBOBOX 1" >>confdefs.h
 
 fi
 
 
 fi
 
@@ -16682,9 +11615,9 @@ fi
 
 have_lesstif=no
 if test "$have_motif" = yes ; then
 
 have_lesstif=no
 if test "$have_motif" = yes ; then
-  { $as_echo "$as_me:$LINENO: checking whether Motif is really LessTif" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether Motif is really LessTif" >&5
 $as_echo_n "checking whether Motif is really LessTif... " >&6; }
 $as_echo_n "checking whether Motif is really LessTif... " >&6; }
-if test "${ac_cv_have_lesstif+set}" = set; then
+if ${ac_cv_have_lesstif+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
   $as_echo_n "(cached) " >&6
 else
 
@@ -16694,11 +11627,7 @@ else
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <Xm/Xm.h>
 int
 /* end confdefs.h.  */
 #include <Xm/Xm.h>
 int
@@ -16709,36 +11638,15 @@ long vers = LesstifVersion;
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+if ac_fn_c_try_compile "$LINENO"; then :
   ac_cv_have_lesstif=yes
 else
   ac_cv_have_lesstif=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_have_lesstif=no
+  ac_cv_have_lesstif=no
 fi
 fi
-
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_lesstif" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_lesstif" >&5
 $as_echo "$ac_cv_have_lesstif" >&6; }
   have_lesstif=$ac_cv_have_lesstif
 fi
 $as_echo "$ac_cv_have_lesstif" >&6; }
   have_lesstif=$ac_cv_have_lesstif
 fi
@@ -16750,9 +11658,9 @@ lesstif_version_string=unknown
 if test "$have_lesstif" = yes ; then
   ltv=unknown
   echo unknown > conftest-lt
 if test "$have_lesstif" = yes ; then
   ltv=unknown
   echo unknown > conftest-lt
-  { $as_echo "$as_me:$LINENO: checking LessTif version number" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking LessTif version number" >&5
 $as_echo_n "checking LessTif version number... " >&6; }
 $as_echo_n "checking LessTif version number... " >&6; }
-if test "${ac_cv_lesstif_version_string+set}" = set; then
+if ${ac_cv_lesstif_version_string+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
   $as_echo_n "(cached) " >&6
 else
 
@@ -16762,15 +11670,11 @@ else
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
-  if test "$cross_compiling" = yes; then
+  if test "$cross_compiling" = yes; then :
   ac_cv_lesstif_version=unknown
                      ac_cv_lesstif_version_string=unknown
 else
   ac_cv_lesstif_version=unknown
                      ac_cv_lesstif_version_string=unknown
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <stdio.h>
                      #include <Xm/Xm.h>
 /* end confdefs.h.  */
 #include <stdio.h>
                      #include <Xm/Xm.h>
@@ -16783,48 +11687,21 @@ cat >>conftest.$ac_ext <<_ACEOF
                        exit(0);
                      }
 _ACEOF
                        exit(0);
                      }
 _ACEOF
-rm -rf conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+if ac_fn_c_try_run "$LINENO"; then :
   ltv=`cat conftest-lt`
                      ac_cv_lesstif_version=`echo $ltv | sed 's/ .*//'`
                      ac_cv_lesstif_version_string=`echo $ltv | sed 's/.* //'`
 else
   ltv=`cat conftest-lt`
                      ac_cv_lesstif_version=`echo $ltv | sed 's/ .*//'`
                      ac_cv_lesstif_version_string=`echo $ltv | sed 's/.* //'`
 else
-  $as_echo "$as_me: program exited with status $ac_status" >&5
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-ac_cv_lesstif_version=unknown
+  ac_cv_lesstif_version=unknown
                      ac_cv_lesstif_version_string=unknown
 fi
                      ac_cv_lesstif_version_string=unknown
 fi
-rm -rf conftest.dSYM
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
 
 fi
 
-
   CPPFLAGS="$ac_save_CPPFLAGS"
 fi
   CPPFLAGS="$ac_save_CPPFLAGS"
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_lesstif_version_string" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lesstif_version_string" >&5
 $as_echo "$ac_cv_lesstif_version_string" >&6; }
   rm -rf conftest-lt
   lesstif_version=$ac_cv_lesstif_version
 $as_echo "$ac_cv_lesstif_version_string" >&6; }
   rm -rf conftest-lt
   lesstif_version=$ac_cv_lesstif_version
@@ -16836,9 +11713,9 @@ fi
 if test "$have_motif" = yes ; then
   mtv=unknown
   echo unknown > conftest-mt
 if test "$have_motif" = yes ; then
   mtv=unknown
   echo unknown > conftest-mt
-  { $as_echo "$as_me:$LINENO: checking Motif version number" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking Motif version number" >&5
 $as_echo_n "checking Motif version number... " >&6; }
 $as_echo_n "checking Motif version number... " >&6; }
-if test "${ac_cv_motif_version_string+set}" = set; then
+if ${ac_cv_motif_version_string+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
   $as_echo_n "(cached) " >&6
 else
 
@@ -16848,15 +11725,11 @@ else
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
-  if test "$cross_compiling" = yes; then
+  if test "$cross_compiling" = yes; then :
   ac_cv_motif_version=unknown
                      ac_cv_motif_version_string=unknown
 else
   ac_cv_motif_version=unknown
                      ac_cv_motif_version_string=unknown
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <stdio.h>
                      #include <Xm/Xm.h>
 /* end confdefs.h.  */
 #include <stdio.h>
                      #include <Xm/Xm.h>
@@ -16869,48 +11742,21 @@ cat >>conftest.$ac_ext <<_ACEOF
                        exit(0);
                      }
 _ACEOF
                        exit(0);
                      }
 _ACEOF
-rm -rf conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+if ac_fn_c_try_run "$LINENO"; then :
   mtv=`cat conftest-mt`
                      ac_cv_motif_version=`echo $mtv | sed 's/ .*//'`
                      ac_cv_motif_version_string=`echo $mtv | sed 's/.* //'`
 else
   mtv=`cat conftest-mt`
                      ac_cv_motif_version=`echo $mtv | sed 's/ .*//'`
                      ac_cv_motif_version_string=`echo $mtv | sed 's/.* //'`
 else
-  $as_echo "$as_me: program exited with status $ac_status" >&5
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-ac_cv_motif_version=unknown
+  ac_cv_motif_version=unknown
                      ac_cv_motif_version_string=unknown
 fi
                      ac_cv_motif_version_string=unknown
 fi
-rm -rf conftest.dSYM
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
 
 fi
 
-
   CPPFLAGS="$ac_save_CPPFLAGS"
 fi
   CPPFLAGS="$ac_save_CPPFLAGS"
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_motif_version_string" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_motif_version_string" >&5
 $as_echo "$ac_cv_motif_version_string" >&6; }
   rm -rf conftest-mt
   motif_version=$ac_cv_motif_version
 $as_echo "$ac_cv_motif_version_string" >&6; }
   rm -rf conftest-mt
   motif_version=$ac_cv_motif_version
 
 motif_requires_xpm=no
 if test "$have_motif" = yes ; then
 
 motif_requires_xpm=no
 if test "$have_motif" = yes ; then
-   { $as_echo "$as_me:$LINENO: checking whether Motif requires XPM" >&5
+   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether Motif requires XPM" >&5
 $as_echo_n "checking whether Motif requires XPM... " >&6; }
    if test "$motif_version" = "unknown" || test "$motif_version" -ge 2000
    then
      motif_requires_xpm=yes
 $as_echo_n "checking whether Motif requires XPM... " >&6; }
    if test "$motif_version" = "unknown" || test "$motif_version" -ge 2000
    then
      motif_requires_xpm=yes
-     { $as_echo "$as_me:$LINENO: result: maybe" >&5
+     { $as_echo "$as_me:${as_lineno-$LINENO}: result: maybe" >&5
 $as_echo "maybe" >&6; }
    else
 $as_echo "maybe" >&6; }
    else
-     { $as_echo "$as_me:$LINENO: result: no" >&5
+     { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
    fi
 fi
 $as_echo "no" >&6; }
    fi
 fi
@@ -16982,18 +11828,14 @@ if test "$have_motif" = yes ; then
 
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
 
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
-  { $as_echo "$as_me:$LINENO: checking for XpQueryExtension in -lXp" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XpQueryExtension in -lXp" >&5
 $as_echo_n "checking for XpQueryExtension in -lXp... " >&6; }
 $as_echo_n "checking for XpQueryExtension in -lXp... " >&6; }
-if test "${ac_cv_lib_Xp_XpQueryExtension+set}" = set; then
+if ${ac_cv_lib_Xp_XpQueryExtension+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lXp -lX11 -lXext -lm $LIBS"
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lXp -lX11 -lXext -lm $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
@@ -17011,43 +11853,18 @@ return XpQueryExtension ();
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then
+if ac_fn_c_try_link "$LINENO"; then :
   ac_cv_lib_Xp_XpQueryExtension=yes
 else
   ac_cv_lib_Xp_XpQueryExtension=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_lib_Xp_XpQueryExtension=no
+  ac_cv_lib_Xp_XpQueryExtension=no
 fi
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_Xp_XpQueryExtension" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_Xp_XpQueryExtension" >&5
 $as_echo "$ac_cv_lib_Xp_XpQueryExtension" >&6; }
 $as_echo "$ac_cv_lib_Xp_XpQueryExtension" >&6; }
-if test "x$ac_cv_lib_Xp_XpQueryExtension" = x""yes; then
+if test "x$ac_cv_lib_Xp_XpQueryExtension" = xyes; then :
   have_xp_ext=yes; MOTIF_LIBS="$MOTIF_LIBS -lXp"
 else
   true
   have_xp_ext=yes; MOTIF_LIBS="$MOTIF_LIBS -lXp"
 else
   true
@@ -17087,18 +11904,14 @@ if test "$have_motif" = yes ; then
 
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
 
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
-  { $as_echo "$as_me:$LINENO: checking for _Xsetlocale in -lXintl" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _Xsetlocale in -lXintl" >&5
 $as_echo_n "checking for _Xsetlocale in -lXintl... " >&6; }
 $as_echo_n "checking for _Xsetlocale in -lXintl... " >&6; }
-if test "${ac_cv_lib_Xintl__Xsetlocale+set}" = set; then
+if ${ac_cv_lib_Xintl__Xsetlocale+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lXintl -lX11 -lXext -lm $LIBS"
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lXintl -lX11 -lXext -lm $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
@@ -17116,43 +11929,18 @@ return _Xsetlocale ();
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then
+if ac_fn_c_try_link "$LINENO"; then :
   ac_cv_lib_Xintl__Xsetlocale=yes
 else
   ac_cv_lib_Xintl__Xsetlocale=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_lib_Xintl__Xsetlocale=no
+  ac_cv_lib_Xintl__Xsetlocale=no
 fi
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_Xintl__Xsetlocale" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_Xintl__Xsetlocale" >&5
 $as_echo "$ac_cv_lib_Xintl__Xsetlocale" >&6; }
 $as_echo "$ac_cv_lib_Xintl__Xsetlocale" >&6; }
-if test "x$ac_cv_lib_Xintl__Xsetlocale" = x""yes; then
+if test "x$ac_cv_lib_Xintl__Xsetlocale" = xyes; then :
   have_xintl=yes
 else
   have_xintl=no
   have_xintl=yes
 else
   have_xintl=no
@@ -17180,7 +11968,7 @@ with_gl_req=unspecified
 gl_halfassed=no
 
 # Check whether --with-gl was given.
 gl_halfassed=no
 
 # Check whether --with-gl was given.
-if test "${with_gl+set}" = set; then
+if test "${with_gl+set}" = set; then :
   withval=$with_gl; with_gl="$withval"; with_gl_req="$withval"
 else
   with_gl=yes
   withval=$with_gl; with_gl="$withval"; with_gl_req="$withval"
 else
   with_gl=yes
     no)  ;;
 
     /*)
     no)  ;;
 
     /*)
-     { $as_echo "$as_me:$LINENO: checking for GL headers" >&5
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GL headers" >&5
 $as_echo_n "checking for GL headers... " >&6; }
      d=$with_gl/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
 $as_echo_n "checking for GL headers... " >&6; }
      d=$with_gl/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
-       { $as_echo "$as_me:$LINENO: result: $d" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $d" >&5
 $as_echo "$d" >&6; }
      else
 $as_echo "$d" >&6; }
      else
-       { $as_echo "$as_me:$LINENO: result: not found ($d: no such directory)" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found ($d: no such directory)" >&5
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
-     { $as_echo "$as_me:$LINENO: checking for GL libs" >&5
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GL libs" >&5
 $as_echo_n "checking for GL libs... " >&6; }
      d=$with_gl/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
 $as_echo_n "checking for GL libs... " >&6; }
      d=$with_gl/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
-       { $as_echo "$as_me:$LINENO: result: $d" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $d" >&5
 $as_echo "$d" >&6; }
      else
 $as_echo "$d" >&6; }
      else
-       { $as_echo "$as_me:$LINENO: result: not found ($d: no such directory)" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found ($d: no such directory)" >&5
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
@@ -17243,134 +12031,8 @@ if test "$with_gl" = yes; then
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
-  if test "${ac_cv_header_GL_gl_h+set}" = set; then
-  { $as_echo "$as_me:$LINENO: checking for GL/gl.h" >&5
-$as_echo_n "checking for GL/gl.h... " >&6; }
-if test "${ac_cv_header_GL_gl_h+set}" = set; then
-  $as_echo_n "(cached) " >&6
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_GL_gl_h" >&5
-$as_echo "$ac_cv_header_GL_gl_h" >&6; }
-else
-  # Is the header compilable?
-{ $as_echo "$as_me:$LINENO: checking GL/gl.h usability" >&5
-$as_echo_n "checking GL/gl.h usability... " >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-#include <GL/gl.h>
-_ACEOF
-rm -rf conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_header_compiler=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_header_compiler=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-$as_echo "$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ $as_echo "$as_me:$LINENO: checking GL/gl.h presence" >&5
-$as_echo_n "checking GL/gl.h presence... " >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <GL/gl.h>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then
-  ac_header_preproc=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-  ac_header_preproc=no
-fi
-
-rm -rf conftest.err conftest.$ac_ext
-{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-$as_echo "$ac_header_preproc" >&6; }
-
-# So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
-  yes:no: )
-    { $as_echo "$as_me:$LINENO: WARNING: GL/gl.h: accepted by the compiler, rejected by the preprocessor!" >&5
-$as_echo "$as_me: WARNING: GL/gl.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: GL/gl.h: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: GL/gl.h: proceeding with the compiler's result" >&2;}
-    ac_header_preproc=yes
-    ;;
-  no:yes:* )
-    { $as_echo "$as_me:$LINENO: WARNING: GL/gl.h: present but cannot be compiled" >&5
-$as_echo "$as_me: WARNING: GL/gl.h: present but cannot be compiled" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: GL/gl.h:     check for missing prerequisite headers?" >&5
-$as_echo "$as_me: WARNING: GL/gl.h:     check for missing prerequisite headers?" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: GL/gl.h: see the Autoconf documentation" >&5
-$as_echo "$as_me: WARNING: GL/gl.h: see the Autoconf documentation" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: GL/gl.h:     section \"Present But Cannot Be Compiled\"" >&5
-$as_echo "$as_me: WARNING: GL/gl.h:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: GL/gl.h: proceeding with the preprocessor's result" >&5
-$as_echo "$as_me: WARNING: GL/gl.h: proceeding with the preprocessor's result" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: GL/gl.h: in the future, the compiler will take precedence" >&5
-$as_echo "$as_me: WARNING: GL/gl.h: in the future, the compiler will take precedence" >&2;}
-
-    ;;
-esac
-{ $as_echo "$as_me:$LINENO: checking for GL/gl.h" >&5
-$as_echo_n "checking for GL/gl.h... " >&6; }
-if test "${ac_cv_header_GL_gl_h+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_header_GL_gl_h=$ac_header_preproc
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_GL_gl_h" >&5
-$as_echo "$ac_cv_header_GL_gl_h" >&6; }
-
-fi
-if test "x$ac_cv_header_GL_gl_h" = x""yes; then
+  ac_fn_c_check_header_mongrel "$LINENO" "GL/gl.h" "ac_cv_header_GL_gl_h" "$ac_includes_default"
+if test "x$ac_cv_header_GL_gl_h" = xyes; then :
   have_gl=yes
 else
   have_gl=no
   have_gl=yes
 else
   have_gl=no
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
-  { $as_echo "$as_me:$LINENO: checking for GL/glx.h" >&5
-$as_echo_n "checking for GL/glx.h... " >&6; }
-if test "${ac_cv_header_GL_glx_h+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <GL/gl.h>
-
-#include <GL/glx.h>
-_ACEOF
-rm -rf conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_header_GL_glx_h=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_header_GL_glx_h=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_GL_glx_h" >&5
-$as_echo "$ac_cv_header_GL_glx_h" >&6; }
-if test "x$ac_cv_header_GL_glx_h" = x""yes; then
+  ac_fn_c_check_header_compile "$LINENO" "GL/glx.h" "ac_cv_header_GL_glx_h" "#include <GL/gl.h>
+"
+if test "x$ac_cv_header_GL_glx_h" = xyes; then :
   have_gl=yes
 else
   have_gl=no
   have_gl=yes
 else
   have_gl=no
@@ -17448,9 +12067,9 @@ fi
     # We need to know whether it's MesaGL so that we know which libraries
     # to link against.
     #
     # We need to know whether it's MesaGL so that we know which libraries
     # to link against.
     #
-    { $as_echo "$as_me:$LINENO: checking whether GL is really MesaGL" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether GL is really MesaGL" >&5
 $as_echo_n "checking whether GL is really MesaGL... " >&6; }
 $as_echo_n "checking whether GL is really MesaGL... " >&6; }
-if test "${ac_cv_have_mesa_gl+set}" = set; then
+if ${ac_cv_have_mesa_gl+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_have_mesa_gl=no
   $as_echo_n "(cached) " >&6
 else
   ac_cv_have_mesa_gl=no
@@ -17464,17 +12083,13 @@ else
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <GL/glx.h>
 
 _ACEOF
 if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
 /* end confdefs.h.  */
 #include <GL/glx.h>
 
 _ACEOF
 if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "Mesa|MESA" >/dev/null 2>&1; then
+  $EGREP "Mesa|MESA" >/dev/null 2>&1; then :
   ac_cv_have_mesa_gl=yes
 fi
 rm -rf conftest*
   ac_cv_have_mesa_gl=yes
 fi
 rm -rf conftest*
@@ -17482,7 +12097,7 @@ rm -rf conftest*
   CPPFLAGS="$ac_save_CPPFLAGS"
        fi
 fi
   CPPFLAGS="$ac_save_CPPFLAGS"
        fi
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_mesa_gl" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_mesa_gl" >&5
 $as_echo "$ac_cv_have_mesa_gl" >&6; }
     ac_have_mesa_gl=$ac_cv_have_mesa_gl
 
 $as_echo "$ac_cv_have_mesa_gl" >&6; }
     ac_have_mesa_gl=$ac_cv_have_mesa_gl
 
@@ -17495,7 +12110,7 @@ $as_echo "$ac_cv_have_mesa_gl" >&6; }
       # warnings.
       #
       osx_crud="-bind_at_load -multiply_defined suppress"
       # warnings.
       #
       osx_crud="-bind_at_load -multiply_defined suppress"
-      { $as_echo "$as_me:$LINENO: result: adding \"$osx_crud\" to GL_LIBS" >&5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: adding \"$osx_crud\" to GL_LIBS" >&5
 $as_echo "adding \"$osx_crud\" to GL_LIBS" >&6; }
       GL_LIBS="$GL_LIBS $osx_crud"
       unset osx_crud
 $as_echo "adding \"$osx_crud\" to GL_LIBS" >&6; }
       GL_LIBS="$GL_LIBS $osx_crud"
       unset osx_crud
@@ -17506,7 +12121,7 @@ $as_echo "adding \"$osx_crud\" to GL_LIBS" >&6; }
       osx_crud="/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib"
       osx_crud="-Wl,-dylib_file,${osx_crud}:${osx_crud}"
 
       osx_crud="/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib"
       osx_crud="-Wl,-dylib_file,${osx_crud}:${osx_crud}"
 
-      { $as_echo "$as_me:$LINENO: result: adding \"$osx_crud\" to GL_LIBS" >&5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: adding \"$osx_crud\" to GL_LIBS" >&5
 $as_echo "adding \"$osx_crud\" to GL_LIBS" >&6; }
       GL_LIBS="$GL_LIBS $osx_crud"
       unset osx_crud
 $as_echo "adding \"$osx_crud\" to GL_LIBS" >&6; }
       GL_LIBS="$GL_LIBS $osx_crud"
       unset osx_crud
@@ -17516,7 +12131,7 @@ $as_echo "adding \"$osx_crud\" to GL_LIBS" >&6; }
       # of library version skew.  Libs must come from /usr/X11/lib even if
       # $prefix and/or $exec_prefix are set to /opt/local/.
       #
       # of library version skew.  Libs must come from /usr/X11/lib even if
       # $prefix and/or $exec_prefix are set to /opt/local/.
       #
-      { $as_echo "$as_me:$LINENO: result: omitting \"$libdir\" from LDFLAGS" >&5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: omitting \"$libdir\" from LDFLAGS" >&5
 $as_echo "omitting \"$libdir\" from LDFLAGS" >&6; }
       libdir=''
 
 $as_echo "omitting \"$libdir\" from LDFLAGS" >&6; }
       libdir=''
 
@@ -17528,18 +12143,14 @@ $as_echo "omitting \"$libdir\" from LDFLAGS" >&6; }
     # link -lpthread after the Mesa libs (be they named -lGL or -lMesaGL.)
     #
     if test "$ac_have_mesa_gl" = yes; then
     # link -lpthread after the Mesa libs (be they named -lGL or -lMesaGL.)
     #
     if test "$ac_have_mesa_gl" = yes; then
-      { $as_echo "$as_me:$LINENO: checking for pthread_create in -lpthread" >&5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_create in -lpthread" >&5
 $as_echo_n "checking for pthread_create in -lpthread... " >&6; }
 $as_echo_n "checking for pthread_create in -lpthread... " >&6; }
-if test "${ac_cv_lib_pthread_pthread_create+set}" = set; then
+if ${ac_cv_lib_pthread_pthread_create+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lpthread  $LIBS"
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lpthread  $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
@@ -17557,43 +12168,18 @@ return pthread_create ();
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then
+if ac_fn_c_try_link "$LINENO"; then :
   ac_cv_lib_pthread_pthread_create=yes
 else
   ac_cv_lib_pthread_pthread_create=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_lib_pthread_pthread_create=no
+  ac_cv_lib_pthread_pthread_create=no
 fi
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_pthread_pthread_create" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pthread_pthread_create" >&5
 $as_echo "$ac_cv_lib_pthread_pthread_create" >&6; }
 $as_echo "$ac_cv_lib_pthread_pthread_create" >&6; }
-if test "x$ac_cv_lib_pthread_pthread_create" = x""yes; then
+if test "x$ac_cv_lib_pthread_pthread_create" = xyes; then :
   GL_LIBS="-lpthread"
 fi
 
   GL_LIBS="-lpthread"
 fi
 
 
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
 
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
-  { $as_echo "$as_me:$LINENO: checking for glXCreateContext in -lMesaGL" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for glXCreateContext in -lMesaGL" >&5
 $as_echo_n "checking for glXCreateContext in -lMesaGL... " >&6; }
 $as_echo_n "checking for glXCreateContext in -lMesaGL... " >&6; }
-if test "${ac_cv_lib_MesaGL_glXCreateContext+set}" = set; then
+if ${ac_cv_lib_MesaGL_glXCreateContext+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lMesaGL -lMesaGLU $GL_LIBS -lX11 -lXext $VIDMODE_LIBS -lm $LIBS"
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lMesaGL -lMesaGLU $GL_LIBS -lX11 -lXext $VIDMODE_LIBS -lm $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
@@ -17654,43 +12236,18 @@ return glXCreateContext ();
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then
+if ac_fn_c_try_link "$LINENO"; then :
   ac_cv_lib_MesaGL_glXCreateContext=yes
 else
   ac_cv_lib_MesaGL_glXCreateContext=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_lib_MesaGL_glXCreateContext=no
+  ac_cv_lib_MesaGL_glXCreateContext=no
 fi
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_MesaGL_glXCreateContext" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_MesaGL_glXCreateContext" >&5
 $as_echo "$ac_cv_lib_MesaGL_glXCreateContext" >&6; }
 $as_echo "$ac_cv_lib_MesaGL_glXCreateContext" >&6; }
-if test "x$ac_cv_lib_MesaGL_glXCreateContext" = x""yes; then
+if test "x$ac_cv_lib_MesaGL_glXCreateContext" = xyes; then :
   gl_lib_1="MesaGL"
                       GL_LIBS="-lMesaGL -lMesaGLU $VIDMODE_LIBS $GL_LIBS"
 fi
   gl_lib_1="MesaGL"
                       GL_LIBS="-lMesaGL -lMesaGLU $VIDMODE_LIBS $GL_LIBS"
 fi
 
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
 
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
-  { $as_echo "$as_me:$LINENO: checking for glXCreateContext in -lGL" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for glXCreateContext in -lGL" >&5
 $as_echo_n "checking for glXCreateContext in -lGL... " >&6; }
 $as_echo_n "checking for glXCreateContext in -lGL... " >&6; }
-if test "${ac_cv_lib_GL_glXCreateContext+set}" = set; then
+if ${ac_cv_lib_GL_glXCreateContext+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lGL -lGLU $GL_LIBS -lX11 -lXext $VIDMODE_LIBS -lm $LIBS"
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lGL -lGLU $GL_LIBS -lX11 -lXext $VIDMODE_LIBS -lm $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
@@ -17742,51 +12295,26 @@ cat >>conftest.$ac_ext <<_ACEOF
 extern "C"
 #endif
 char glXCreateContext ();
 extern "C"
 #endif
 char glXCreateContext ();
-int
-main ()
-{
-return glXCreateContext ();
-  ;
-  return 0;
-}
-_ACEOF
-rm -rf conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then
+int
+main ()
+{
+return glXCreateContext ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
   ac_cv_lib_GL_glXCreateContext=yes
 else
   ac_cv_lib_GL_glXCreateContext=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_lib_GL_glXCreateContext=no
+  ac_cv_lib_GL_glXCreateContext=no
 fi
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_GL_glXCreateContext" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_GL_glXCreateContext" >&5
 $as_echo "$ac_cv_lib_GL_glXCreateContext" >&6; }
 $as_echo "$ac_cv_lib_GL_glXCreateContext" >&6; }
-if test "x$ac_cv_lib_GL_glXCreateContext" = x""yes; then
+if test "x$ac_cv_lib_GL_glXCreateContext" = xyes; then :
   gl_lib_1="GL"
                       GL_LIBS="-lGL -lGLU $VIDMODE_LIBS $GL_LIBS"
 fi
   gl_lib_1="GL"
                       GL_LIBS="-lGL -lGLU $VIDMODE_LIBS $GL_LIBS"
 fi
       gl_halfassed=yes
     else
       # linking works -- we can build the GL hacks.
       gl_halfassed=yes
     else
       # linking works -- we can build the GL hacks.
-      cat >>confdefs.h <<\_ACEOF
-#define HAVE_GL 1
-_ACEOF
+      $as_echo "#define HAVE_GL 1" >>confdefs.h
 
       if test "$ac_have_mesa_gl" = yes ; then
 
       if test "$ac_have_mesa_gl" = yes ; then
-        cat >>confdefs.h <<\_ACEOF
-#define HAVE_MESA_GL 1
-_ACEOF
+        $as_echo "#define HAVE_MESA_GL 1" >>confdefs.h
 
       fi
     fi
 
       fi
     fi
@@ -17827,13 +12351,13 @@ _ACEOF
     #
     if test "$ac_have_mesa_gl" = yes; then
 
     #
     if test "$ac_have_mesa_gl" = yes; then
 
-      { $as_echo "$as_me:$LINENO: checking MesaGL version number" >&5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking MesaGL version number" >&5
 $as_echo_n "checking MesaGL version number... " >&6; }
 $as_echo_n "checking MesaGL version number... " >&6; }
-if test "${ac_cv_mesagl_version_string+set}" = set; then
+if ${ac_cv_mesagl_version_string+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat > conftest.$ac_ext <<EOF
   $as_echo_n "(cached) " >&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 17840 "configure"
+#line 12364 "configure"
 #include "confdefs.h"
 #include <GL/gl.h>
 #ifndef MESA_MAJOR_VERSION
 #include "confdefs.h"
 #include <GL/gl.h>
 #ifndef MESA_MAJOR_VERSION
@@ -17903,7 +12427,7 @@ EOF
          ac_cv_mesagl_version_string=$ac_mesagl_version_string
 
 fi
          ac_cv_mesagl_version_string=$ac_mesagl_version_string
 
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_mesagl_version_string" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_mesagl_version_string" >&5
 $as_echo "$ac_cv_mesagl_version_string" >&6; }
       ac_mesagl_version=$ac_cv_mesagl_version
       ac_mesagl_version_string=$ac_cv_mesagl_version_string
 $as_echo "$ac_cv_mesagl_version_string" >&6; }
       ac_mesagl_version=$ac_cv_mesagl_version
       ac_mesagl_version_string=$ac_cv_mesagl_version_string
@@ -17932,18 +12456,14 @@ $as_echo "$ac_cv_mesagl_version_string" >&6; }
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
   as_ac_Lib=`$as_echo "ac_cv_lib_$gl_lib_1''_glBindTexture" | $as_tr_sh`
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
   as_ac_Lib=`$as_echo "ac_cv_lib_$gl_lib_1''_glBindTexture" | $as_tr_sh`
-{ $as_echo "$as_me:$LINENO: checking for glBindTexture in -l$gl_lib_1" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for glBindTexture in -l$gl_lib_1" >&5
 $as_echo_n "checking for glBindTexture in -l$gl_lib_1... " >&6; }
 $as_echo_n "checking for glBindTexture in -l$gl_lib_1... " >&6; }
-if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then
+if eval \${$as_ac_Lib+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-l$gl_lib_1 $GL_LIBS -lX11 -lXext -lm $LIBS"
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-l$gl_lib_1 $GL_LIBS -lX11 -lXext -lm $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
@@ -17961,50 +12481,20 @@ return glBindTexture ();
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then
+if ac_fn_c_try_link "$LINENO"; then :
   eval "$as_ac_Lib=yes"
 else
   eval "$as_ac_Lib=yes"
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       eval "$as_ac_Lib=no"
+  eval "$as_ac_Lib=no"
 fi
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
 LIBS=$ac_check_lib_save_LIBS
 fi
-ac_res=`eval 'as_val=${'$as_ac_Lib'}
-                $as_echo "$as_val"'`
-              { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+eval ac_res=\$$as_ac_Lib
+              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
 $as_echo "$ac_res" >&6; }
-as_val=`eval 'as_val=${'$as_ac_Lib'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
-  cat >>confdefs.h <<\_ACEOF
-#define HAVE_GLBINDTEXTURE 1
-_ACEOF
+if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then :
+  $as_echo "#define HAVE_GLBINDTEXTURE 1" >>confdefs.h
 
 else
   true
 
 else
   true
@@ -18033,7 +12523,7 @@ with_gle_req=unspecified
 gle_halfassed=no
 
 # Check whether --with-gle was given.
 gle_halfassed=no
 
 # Check whether --with-gle was given.
-if test "${with_gle+set}" = set; then
+if test "${with_gle+set}" = set; then :
   withval=$with_gle; with_gle="$withval"; with_gle_req="$withval"
 else
   with_gle=yes
   withval=$with_gle; with_gle="$withval"; with_gle_req="$withval"
 else
   with_gle=yes
     no)  ;;
 
     /*)
     no)  ;;
 
     /*)
-     { $as_echo "$as_me:$LINENO: checking for GLE headers" >&5
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GLE headers" >&5
 $as_echo_n "checking for GLE headers... " >&6; }
      d=$with_gle/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
 $as_echo_n "checking for GLE headers... " >&6; }
      d=$with_gle/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
-       { $as_echo "$as_me:$LINENO: result: $d" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $d" >&5
 $as_echo "$d" >&6; }
      else
 $as_echo "$d" >&6; }
      else
-       { $as_echo "$as_me:$LINENO: result: not found ($d: no such directory)" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found ($d: no such directory)" >&5
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
-     { $as_echo "$as_me:$LINENO: checking for GLE libs" >&5
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GLE libs" >&5
 $as_echo_n "checking for GLE libs... " >&6; }
      d=$with_gle/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
 $as_echo_n "checking for GLE libs... " >&6; }
      d=$with_gle/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
-       { $as_echo "$as_me:$LINENO: result: $d" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $d" >&5
 $as_echo "$d" >&6; }
      else
 $as_echo "$d" >&6; }
      else
-       { $as_echo "$as_me:$LINENO: result: not found ($d: no such directory)" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found ($d: no such directory)" >&5
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
@@ -18098,52 +12588,9 @@ elif test "$with_gle" = yes; then
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
-  { $as_echo "$as_me:$LINENO: checking for GL/gle.h" >&5
-$as_echo_n "checking for GL/gle.h... " >&6; }
-if test "${ac_cv_header_GL_gle_h+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <GL/gl.h>
-
-#include <GL/gle.h>
-_ACEOF
-rm -rf conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_header_GL_gle_h=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_header_GL_gle_h=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_GL_gle_h" >&5
-$as_echo "$ac_cv_header_GL_gle_h" >&6; }
-if test "x$ac_cv_header_GL_gle_h" = x""yes; then
+  ac_fn_c_check_header_compile "$LINENO" "GL/gle.h" "ac_cv_header_GL_gle_h" "#include <GL/gl.h>
+"
+if test "x$ac_cv_header_GL_gle_h" = xyes; then :
   have_gle3=yes
 else
   have_gle3=no
   have_gle3=yes
 else
   have_gle3=no
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
-  { $as_echo "$as_me:$LINENO: checking for GL/gutil.h" >&5
-$as_echo_n "checking for GL/gutil.h... " >&6; }
-if test "${ac_cv_header_GL_gutil_h+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <GL/gl.h>
-
-#include <GL/gutil.h>
-_ACEOF
-rm -rf conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_header_GL_gutil_h=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_header_GL_gutil_h=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_GL_gutil_h" >&5
-$as_echo "$ac_cv_header_GL_gutil_h" >&6; }
-if test "x$ac_cv_header_GL_gutil_h" = x""yes; then
+  ac_fn_c_check_header_compile "$LINENO" "GL/gutil.h" "ac_cv_header_GL_gutil_h" "#include <GL/gl.h>
+"
+if test "x$ac_cv_header_GL_gutil_h" = xyes; then :
   have_gle=yes
 else
   have_gle=no
   have_gle=yes
 else
   have_gle=no
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
-  { $as_echo "$as_me:$LINENO: checking for GL/tube.h" >&5
-$as_echo_n "checking for GL/tube.h... " >&6; }
-if test "${ac_cv_header_GL_tube_h+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <GL/gl.h>
-
-#include <GL/tube.h>
-_ACEOF
-rm -rf conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_header_GL_tube_h=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_header_GL_tube_h=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_GL_tube_h" >&5
-$as_echo "$ac_cv_header_GL_tube_h" >&6; }
-if test "x$ac_cv_header_GL_tube_h" = x""yes; then
+  ac_fn_c_check_header_compile "$LINENO" "GL/tube.h" "ac_cv_header_GL_tube_h" "#include <GL/gl.h>
+"
+if test "x$ac_cv_header_GL_tube_h" = xyes; then :
   have_gle=yes
 else
   have_gle=no
   have_gle=yes
 else
   have_gle=no
 
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
 
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
-  { $as_echo "$as_me:$LINENO: checking for gleCreateGC in -lgle" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gleCreateGC in -lgle" >&5
 $as_echo_n "checking for gleCreateGC in -lgle... " >&6; }
 $as_echo_n "checking for gleCreateGC in -lgle... " >&6; }
-if test "${ac_cv_lib_gle_gleCreateGC+set}" = set; then
+if ${ac_cv_lib_gle_gleCreateGC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lgle $GL_LIBS -lX11 -lXext -lm $LIBS"
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lgle $GL_LIBS -lX11 -lXext -lm $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
@@ -18329,43 +12686,18 @@ return gleCreateGC ();
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then
+if ac_fn_c_try_link "$LINENO"; then :
   ac_cv_lib_gle_gleCreateGC=yes
 else
   ac_cv_lib_gle_gleCreateGC=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_lib_gle_gleCreateGC=no
+  ac_cv_lib_gle_gleCreateGC=no
 fi
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_gle_gleCreateGC" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gle_gleCreateGC" >&5
 $as_echo "$ac_cv_lib_gle_gleCreateGC" >&6; }
 $as_echo "$ac_cv_lib_gle_gleCreateGC" >&6; }
-if test "x$ac_cv_lib_gle_gleCreateGC" = x""yes; then
+if test "x$ac_cv_lib_gle_gleCreateGC" = xyes; then :
   have_gle=yes; gle_halfassed=no; GLE_LIBS="-lgle"
 fi
 
   have_gle=yes; gle_halfassed=no; GLE_LIBS="-lgle"
 fi
 
 
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
 
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
-  { $as_echo "$as_me:$LINENO: checking for uview_direction in -lgle" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for uview_direction in -lgle" >&5
 $as_echo_n "checking for uview_direction in -lgle... " >&6; }
 $as_echo_n "checking for uview_direction in -lgle... " >&6; }
-if test "${ac_cv_lib_gle_uview_direction+set}" = set; then
+if ${ac_cv_lib_gle_uview_direction+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lgle $GL_LIBS -lX11 -lXext -lm $LIBS"
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lgle $GL_LIBS -lX11 -lXext -lm $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
@@ -18439,43 +12767,18 @@ return uview_direction ();
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then
+if ac_fn_c_try_link "$LINENO"; then :
   ac_cv_lib_gle_uview_direction=yes
 else
   ac_cv_lib_gle_uview_direction=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_lib_gle_uview_direction=no
+  ac_cv_lib_gle_uview_direction=no
 fi
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_gle_uview_direction" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gle_uview_direction" >&5
 $as_echo "$ac_cv_lib_gle_uview_direction" >&6; }
 $as_echo "$ac_cv_lib_gle_uview_direction" >&6; }
-if test "x$ac_cv_lib_gle_uview_direction" = x""yes; then
+if test "x$ac_cv_lib_gle_uview_direction" = xyes; then :
   have_gle=yes; gle_halfassed=no
 fi
 
   have_gle=yes; gle_halfassed=no
 fi
 
 
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
 
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
-  { $as_echo "$as_me:$LINENO: checking for uview_direction_d in -lmatrix" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for uview_direction_d in -lmatrix" >&5
 $as_echo_n "checking for uview_direction_d in -lmatrix... " >&6; }
 $as_echo_n "checking for uview_direction_d in -lmatrix... " >&6; }
-if test "${ac_cv_lib_matrix_uview_direction_d+set}" = set; then
+if ${ac_cv_lib_matrix_uview_direction_d+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lmatrix $GL_LIBS -lX11 -lXext -lm $LIBS"
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lmatrix $GL_LIBS -lX11 -lXext -lm $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
@@ -18534,43 +12833,18 @@ return uview_direction_d ();
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then
+if ac_fn_c_try_link "$LINENO"; then :
   ac_cv_lib_matrix_uview_direction_d=yes
 else
   ac_cv_lib_matrix_uview_direction_d=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_lib_matrix_uview_direction_d=no
+  ac_cv_lib_matrix_uview_direction_d=no
 fi
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_matrix_uview_direction_d" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_matrix_uview_direction_d" >&5
 $as_echo "$ac_cv_lib_matrix_uview_direction_d" >&6; }
 $as_echo "$ac_cv_lib_matrix_uview_direction_d" >&6; }
-if test "x$ac_cv_lib_matrix_uview_direction_d" = x""yes; then
+if test "x$ac_cv_lib_matrix_uview_direction_d" = xyes; then :
   have_gle=yes; gle_halfassed=no;
                       GLE_LIBS="$GLE_LIBS -lmatrix"
 fi
   have_gle=yes; gle_halfassed=no;
                       GLE_LIBS="$GLE_LIBS -lmatrix"
 fi
   fi
 
   if test "$have_gle" = yes ; then
   fi
 
   if test "$have_gle" = yes ; then
-    cat >>confdefs.h <<\_ACEOF
-#define HAVE_GLE 1
-_ACEOF
+    $as_echo "#define HAVE_GLE 1" >>confdefs.h
 
     if test "$have_gle3" = yes ; then
 
     if test "$have_gle3" = yes ; then
-      cat >>confdefs.h <<\_ACEOF
-#define HAVE_GLE3 1
-_ACEOF
+      $as_echo "#define HAVE_GLE3 1" >>confdefs.h
 
     fi
   fi
 
     fi
   fi
@@ -18611,7 +12881,7 @@ fi
 with_gles_req=unspecified
 
 # Check whether --with-gles was given.
 with_gles_req=unspecified
 
 # Check whether --with-gles was given.
-if test "${with_gles+set}" = set; then
+if test "${with_gles+set}" = set; then :
   withval=$with_gles; with_gles="$withval"; with_gles_req="$withval"
 else
   with_gles=no
   withval=$with_gles; with_gles="$withval"; with_gles_req="$withval"
 else
   with_gles=no
     no)  ;;
 
     /*)
     no)  ;;
 
     /*)
-     { $as_echo "$as_me:$LINENO: checking for JWZGLES headers" >&5
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for JWZGLES headers" >&5
 $as_echo_n "checking for JWZGLES headers... " >&6; }
      d=$with_gles/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
 $as_echo_n "checking for JWZGLES headers... " >&6; }
      d=$with_gles/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
-       { $as_echo "$as_me:$LINENO: result: $d" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $d" >&5
 $as_echo "$d" >&6; }
      else
 $as_echo "$d" >&6; }
      else
-       { $as_echo "$as_me:$LINENO: result: not found ($d: no such directory)" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found ($d: no such directory)" >&5
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
-     { $as_echo "$as_me:$LINENO: checking for JWZGLES libs" >&5
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for JWZGLES libs" >&5
 $as_echo_n "checking for JWZGLES libs... " >&6; }
      d=$with_gles/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
 $as_echo_n "checking for JWZGLES libs... " >&6; }
      d=$with_gles/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
-       { $as_echo "$as_me:$LINENO: result: $d" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $d" >&5
 $as_echo "$d" >&6; }
      else
 $as_echo "$d" >&6; }
      else
-       { $as_echo "$as_me:$LINENO: result: not found ($d: no such directory)" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found ($d: no such directory)" >&5
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
@@ -18665,12 +12935,10 @@ $as_echo "not found ($d: no such directory)" >&6; }
 
 if test "$with_gles" = yes; then
   have_gles=yes
 
 if test "$with_gles" = yes; then
   have_gles=yes
-  cat >>confdefs.h <<\_ACEOF
-#define HAVE_JWZGLES 1
-_ACEOF
+  $as_echo "#define HAVE_JWZGLES 1" >>confdefs.h
 
   JWZGLES_OBJS="jwzgles.o"
 
   JWZGLES_OBJS="jwzgles.o"
-  { $as_echo "$as_me:$LINENO: result: using OpenGL ES compatiblity shim" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: using OpenGL ES compatiblity shim" >&5
 $as_echo "using OpenGL ES compatiblity shim" >&6; }
 elif test "$with_gles" != no; then
   echo "error: must be yes or no: --with-gles=$with_xpm"
 $as_echo "using OpenGL ES compatiblity shim" >&6; }
 elif test "$with_gles" != no; then
   echo "error: must be yes or no: --with-gles=$with_xpm"
@@ -18683,9 +12951,7 @@ if test "$have_gles" = yes; then
   GLFPS_OBJS="fps-gl.o glxfonts.o texfont.o"
   GLFONT_OBJS=""
 else
   GLFPS_OBJS="fps-gl.o glxfonts.o texfont.o"
   GLFONT_OBJS=""
 else
-  cat >>confdefs.h <<\_ACEOF
-#define HAVE_GLBITMAP 1
-_ACEOF
+  $as_echo "#define HAVE_GLBITMAP 1" >>confdefs.h
 
   GLFPS_OBJS="fps-gl.o glxfonts.o"
   GLFONT_OBJS="texfont.o"
 
   GLFPS_OBJS="fps-gl.o glxfonts.o"
   GLFONT_OBJS="texfont.o"
@@ -18706,7 +12972,7 @@ have_gdk_pixbuf=no
 with_gdk_pixbuf_req=unspecified
 
 # Check whether --with-pixbuf was given.
 with_gdk_pixbuf_req=unspecified
 
 # Check whether --with-pixbuf was given.
-if test "${with_pixbuf+set}" = set; then
+if test "${with_pixbuf+set}" = set; then :
   withval=$with_pixbuf; with_gdk_pixbuf="$withval"; with_gdk_pixbuf_req="$withval"
 else
   with_gdk_pixbuf=yes
   withval=$with_pixbuf; with_gdk_pixbuf="$withval"; with_gdk_pixbuf_req="$withval"
 else
   with_gdk_pixbuf=yes
@@ -18730,27 +12996,27 @@ esac
     no)  ;;
 
     /*)
     no)  ;;
 
     /*)
-     { $as_echo "$as_me:$LINENO: checking for GDK_PIXBUF headers" >&5
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GDK_PIXBUF headers" >&5
 $as_echo_n "checking for GDK_PIXBUF headers... " >&6; }
      d=$with_gdk_pixbuf/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
 $as_echo_n "checking for GDK_PIXBUF headers... " >&6; }
      d=$with_gdk_pixbuf/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
-       { $as_echo "$as_me:$LINENO: result: $d" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $d" >&5
 $as_echo "$d" >&6; }
      else
 $as_echo "$d" >&6; }
      else
-       { $as_echo "$as_me:$LINENO: result: not found ($d: no such directory)" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found ($d: no such directory)" >&5
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
-     { $as_echo "$as_me:$LINENO: checking for GDK_PIXBUF libs" >&5
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GDK_PIXBUF libs" >&5
 $as_echo_n "checking for GDK_PIXBUF libs... " >&6; }
      d=$with_gdk_pixbuf/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
 $as_echo_n "checking for GDK_PIXBUF libs... " >&6; }
      d=$with_gdk_pixbuf/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
-       { $as_echo "$as_me:$LINENO: result: $d" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $d" >&5
 $as_echo "$d" >&6; }
      else
 $as_echo "$d" >&6; }
      else
-       { $as_echo "$as_me:$LINENO: result: not found ($d: no such directory)" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found ($d: no such directory)" >&5
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
@@ -18785,23 +13051,23 @@ if test "$with_gdk_pixbuf" = yes; then
   have_gdk_pixbuf="$ok"
 
   if test "$have_gdk_pixbuf" = yes; then
   have_gdk_pixbuf="$ok"
 
   if test "$have_gdk_pixbuf" = yes; then
-    { $as_echo "$as_me:$LINENO: checking for gdk-pixbuf includes" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gdk-pixbuf includes" >&5
 $as_echo_n "checking for gdk-pixbuf includes... " >&6; }
 $as_echo_n "checking for gdk-pixbuf includes... " >&6; }
-if test "${ac_cv_gdk_pixbuf_config_cflags+set}" = set; then
+if ${ac_cv_gdk_pixbuf_config_cflags+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_gdk_pixbuf_config_cflags=`$pkg_config --cflags $pkgs`
 fi
   $as_echo_n "(cached) " >&6
 else
   ac_cv_gdk_pixbuf_config_cflags=`$pkg_config --cflags $pkgs`
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_gdk_pixbuf_config_cflags" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_gdk_pixbuf_config_cflags" >&5
 $as_echo "$ac_cv_gdk_pixbuf_config_cflags" >&6; }
 $as_echo "$ac_cv_gdk_pixbuf_config_cflags" >&6; }
-    { $as_echo "$as_me:$LINENO: checking for gdk-pixbuf libs" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gdk-pixbuf libs" >&5
 $as_echo_n "checking for gdk-pixbuf libs... " >&6; }
 $as_echo_n "checking for gdk-pixbuf libs... " >&6; }
-if test "${ac_cv_gdk_pixbuf_config_libs+set}" = set; then
+if ${ac_cv_gdk_pixbuf_config_libs+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_gdk_pixbuf_config_libs=`$pkg_config --libs $pkgs`
 fi
   $as_echo_n "(cached) " >&6
 else
   ac_cv_gdk_pixbuf_config_libs=`$pkg_config --libs $pkgs`
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_gdk_pixbuf_config_libs" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_gdk_pixbuf_config_libs" >&5
 $as_echo "$ac_cv_gdk_pixbuf_config_libs" >&6; }
   fi
 
 $as_echo "$ac_cv_gdk_pixbuf_config_libs" >&6; }
   fi
 
@@ -18809,296 +13075,44 @@ $as_echo "$ac_cv_gdk_pixbuf_config_libs" >&6; }
   ac_gdk_pixbuf_config_libs=$ac_cv_gdk_pixbuf_config_libs
 
 
   ac_gdk_pixbuf_config_libs=$ac_cv_gdk_pixbuf_config_libs
 
 
-  if test "$have_gdk_pixbuf" = yes; then
-    #
-    # we appear to have pixbuf; check for headers/libs to be sure.
-    #
-    ac_save_gdk_pixbuf_CPPFLAGS="$CPPFLAGS"
-    CPPFLAGS="$CPPFLAGS $ac_gdk_pixbuf_config_cflags"
-
-    have_gdk_pixbuf=no
-
-    # check for header A...
-
-  ac_save_CPPFLAGS="$CPPFLAGS"
-  if test \! -z "$includedir" ; then
-    CPPFLAGS="$CPPFLAGS -I$includedir"
-  fi
-  CPPFLAGS="$CPPFLAGS $X_CFLAGS"
-  CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
-  if test "${ac_cv_header_gdk_pixbuf_gdk_pixbuf_h+set}" = set; then
-  { $as_echo "$as_me:$LINENO: checking for gdk-pixbuf/gdk-pixbuf.h" >&5
-$as_echo_n "checking for gdk-pixbuf/gdk-pixbuf.h... " >&6; }
-if test "${ac_cv_header_gdk_pixbuf_gdk_pixbuf_h+set}" = set; then
-  $as_echo_n "(cached) " >&6
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_gdk_pixbuf_gdk_pixbuf_h" >&5
-$as_echo "$ac_cv_header_gdk_pixbuf_gdk_pixbuf_h" >&6; }
-else
-  # Is the header compilable?
-{ $as_echo "$as_me:$LINENO: checking gdk-pixbuf/gdk-pixbuf.h usability" >&5
-$as_echo_n "checking gdk-pixbuf/gdk-pixbuf.h usability... " >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-#include <gdk-pixbuf/gdk-pixbuf.h>
-_ACEOF
-rm -rf conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_header_compiler=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_header_compiler=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-$as_echo "$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ $as_echo "$as_me:$LINENO: checking gdk-pixbuf/gdk-pixbuf.h presence" >&5
-$as_echo_n "checking gdk-pixbuf/gdk-pixbuf.h presence... " >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <gdk-pixbuf/gdk-pixbuf.h>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then
-  ac_header_preproc=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-  ac_header_preproc=no
-fi
-
-rm -rf conftest.err conftest.$ac_ext
-{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-$as_echo "$ac_header_preproc" >&6; }
-
-# So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
-  yes:no: )
-    { $as_echo "$as_me:$LINENO: WARNING: gdk-pixbuf/gdk-pixbuf.h: accepted by the compiler, rejected by the preprocessor!" >&5
-$as_echo "$as_me: WARNING: gdk-pixbuf/gdk-pixbuf.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: gdk-pixbuf/gdk-pixbuf.h: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: gdk-pixbuf/gdk-pixbuf.h: proceeding with the compiler's result" >&2;}
-    ac_header_preproc=yes
-    ;;
-  no:yes:* )
-    { $as_echo "$as_me:$LINENO: WARNING: gdk-pixbuf/gdk-pixbuf.h: present but cannot be compiled" >&5
-$as_echo "$as_me: WARNING: gdk-pixbuf/gdk-pixbuf.h: present but cannot be compiled" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: gdk-pixbuf/gdk-pixbuf.h:     check for missing prerequisite headers?" >&5
-$as_echo "$as_me: WARNING: gdk-pixbuf/gdk-pixbuf.h:     check for missing prerequisite headers?" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: gdk-pixbuf/gdk-pixbuf.h: see the Autoconf documentation" >&5
-$as_echo "$as_me: WARNING: gdk-pixbuf/gdk-pixbuf.h: see the Autoconf documentation" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: gdk-pixbuf/gdk-pixbuf.h:     section \"Present But Cannot Be Compiled\"" >&5
-$as_echo "$as_me: WARNING: gdk-pixbuf/gdk-pixbuf.h:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: gdk-pixbuf/gdk-pixbuf.h: proceeding with the preprocessor's result" >&5
-$as_echo "$as_me: WARNING: gdk-pixbuf/gdk-pixbuf.h: proceeding with the preprocessor's result" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: gdk-pixbuf/gdk-pixbuf.h: in the future, the compiler will take precedence" >&5
-$as_echo "$as_me: WARNING: gdk-pixbuf/gdk-pixbuf.h: in the future, the compiler will take precedence" >&2;}
-
-    ;;
-esac
-{ $as_echo "$as_me:$LINENO: checking for gdk-pixbuf/gdk-pixbuf.h" >&5
-$as_echo_n "checking for gdk-pixbuf/gdk-pixbuf.h... " >&6; }
-if test "${ac_cv_header_gdk_pixbuf_gdk_pixbuf_h+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_header_gdk_pixbuf_gdk_pixbuf_h=$ac_header_preproc
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_gdk_pixbuf_gdk_pixbuf_h" >&5
-$as_echo "$ac_cv_header_gdk_pixbuf_gdk_pixbuf_h" >&6; }
-
-fi
-if test "x$ac_cv_header_gdk_pixbuf_gdk_pixbuf_h" = x""yes; then
-  have_gdk_pixbuf=yes
-fi
-
-
-  CPPFLAGS="$ac_save_CPPFLAGS"
-
-    # if that worked, check for header B...
-    if test "$have_gdk_pixbuf" = yes; then
-      have_gdk_pixbuf=no
-      gdk_pixbuf_halfassed=yes
-
-  ac_save_CPPFLAGS="$CPPFLAGS"
-  if test \! -z "$includedir" ; then
-    CPPFLAGS="$CPPFLAGS -I$includedir"
-  fi
-  CPPFLAGS="$CPPFLAGS $X_CFLAGS"
-  CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
-  if test "${ac_cv_header_gdk_pixbuf_gdk_pixbuf_xlib_h+set}" = set; then
-  { $as_echo "$as_me:$LINENO: checking for gdk-pixbuf/gdk-pixbuf-xlib.h" >&5
-$as_echo_n "checking for gdk-pixbuf/gdk-pixbuf-xlib.h... " >&6; }
-if test "${ac_cv_header_gdk_pixbuf_gdk_pixbuf_xlib_h+set}" = set; then
-  $as_echo_n "(cached) " >&6
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_gdk_pixbuf_gdk_pixbuf_xlib_h" >&5
-$as_echo "$ac_cv_header_gdk_pixbuf_gdk_pixbuf_xlib_h" >&6; }
-else
-  # Is the header compilable?
-{ $as_echo "$as_me:$LINENO: checking gdk-pixbuf/gdk-pixbuf-xlib.h usability" >&5
-$as_echo_n "checking gdk-pixbuf/gdk-pixbuf-xlib.h usability... " >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-#include <gdk-pixbuf/gdk-pixbuf-xlib.h>
-_ACEOF
-rm -rf conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_header_compiler=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_header_compiler=no
-fi
+  if test "$have_gdk_pixbuf" = yes; then
+    #
+    # we appear to have pixbuf; check for headers/libs to be sure.
+    #
+    ac_save_gdk_pixbuf_CPPFLAGS="$CPPFLAGS"
+    CPPFLAGS="$CPPFLAGS $ac_gdk_pixbuf_config_cflags"
 
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-$as_echo "$ac_header_compiler" >&6; }
+    have_gdk_pixbuf=no
 
 
-# Is the header present?
-{ $as_echo "$as_me:$LINENO: checking gdk-pixbuf/gdk-pixbuf-xlib.h presence" >&5
-$as_echo_n "checking gdk-pixbuf/gdk-pixbuf-xlib.h presence... " >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <gdk-pixbuf/gdk-pixbuf-xlib.h>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then
-  ac_header_preproc=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+    # check for header A...
 
 
-  ac_header_preproc=no
+  ac_save_CPPFLAGS="$CPPFLAGS"
+  if test \! -z "$includedir" ; then
+    CPPFLAGS="$CPPFLAGS -I$includedir"
+  fi
+  CPPFLAGS="$CPPFLAGS $X_CFLAGS"
+  CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
+  ac_fn_c_check_header_mongrel "$LINENO" "gdk-pixbuf/gdk-pixbuf.h" "ac_cv_header_gdk_pixbuf_gdk_pixbuf_h" "$ac_includes_default"
+if test "x$ac_cv_header_gdk_pixbuf_gdk_pixbuf_h" = xyes; then :
+  have_gdk_pixbuf=yes
 fi
 
 fi
 
-rm -rf conftest.err conftest.$ac_ext
-{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-$as_echo "$ac_header_preproc" >&6; }
 
 
-# So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
-  yes:no: )
-    { $as_echo "$as_me:$LINENO: WARNING: gdk-pixbuf/gdk-pixbuf-xlib.h: accepted by the compiler, rejected by the preprocessor!" >&5
-$as_echo "$as_me: WARNING: gdk-pixbuf/gdk-pixbuf-xlib.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: gdk-pixbuf/gdk-pixbuf-xlib.h: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: gdk-pixbuf/gdk-pixbuf-xlib.h: proceeding with the compiler's result" >&2;}
-    ac_header_preproc=yes
-    ;;
-  no:yes:* )
-    { $as_echo "$as_me:$LINENO: WARNING: gdk-pixbuf/gdk-pixbuf-xlib.h: present but cannot be compiled" >&5
-$as_echo "$as_me: WARNING: gdk-pixbuf/gdk-pixbuf-xlib.h: present but cannot be compiled" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: gdk-pixbuf/gdk-pixbuf-xlib.h:     check for missing prerequisite headers?" >&5
-$as_echo "$as_me: WARNING: gdk-pixbuf/gdk-pixbuf-xlib.h:     check for missing prerequisite headers?" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: gdk-pixbuf/gdk-pixbuf-xlib.h: see the Autoconf documentation" >&5
-$as_echo "$as_me: WARNING: gdk-pixbuf/gdk-pixbuf-xlib.h: see the Autoconf documentation" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: gdk-pixbuf/gdk-pixbuf-xlib.h:     section \"Present But Cannot Be Compiled\"" >&5
-$as_echo "$as_me: WARNING: gdk-pixbuf/gdk-pixbuf-xlib.h:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: gdk-pixbuf/gdk-pixbuf-xlib.h: proceeding with the preprocessor's result" >&5
-$as_echo "$as_me: WARNING: gdk-pixbuf/gdk-pixbuf-xlib.h: proceeding with the preprocessor's result" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: gdk-pixbuf/gdk-pixbuf-xlib.h: in the future, the compiler will take precedence" >&5
-$as_echo "$as_me: WARNING: gdk-pixbuf/gdk-pixbuf-xlib.h: in the future, the compiler will take precedence" >&2;}
+  CPPFLAGS="$ac_save_CPPFLAGS"
 
 
-    ;;
-esac
-{ $as_echo "$as_me:$LINENO: checking for gdk-pixbuf/gdk-pixbuf-xlib.h" >&5
-$as_echo_n "checking for gdk-pixbuf/gdk-pixbuf-xlib.h... " >&6; }
-if test "${ac_cv_header_gdk_pixbuf_gdk_pixbuf_xlib_h+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_header_gdk_pixbuf_gdk_pixbuf_xlib_h=$ac_header_preproc
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_gdk_pixbuf_gdk_pixbuf_xlib_h" >&5
-$as_echo "$ac_cv_header_gdk_pixbuf_gdk_pixbuf_xlib_h" >&6; }
+    # if that worked, check for header B...
+    if test "$have_gdk_pixbuf" = yes; then
+      have_gdk_pixbuf=no
+      gdk_pixbuf_halfassed=yes
 
 
-fi
-if test "x$ac_cv_header_gdk_pixbuf_gdk_pixbuf_xlib_h" = x""yes; then
+  ac_save_CPPFLAGS="$CPPFLAGS"
+  if test \! -z "$includedir" ; then
+    CPPFLAGS="$CPPFLAGS -I$includedir"
+  fi
+  CPPFLAGS="$CPPFLAGS $X_CFLAGS"
+  CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
+  ac_fn_c_check_header_mongrel "$LINENO" "gdk-pixbuf/gdk-pixbuf-xlib.h" "ac_cv_header_gdk_pixbuf_gdk_pixbuf_xlib_h" "$ac_includes_default"
+if test "x$ac_cv_header_gdk_pixbuf_gdk_pixbuf_xlib_h" = xyes; then :
   have_gdk_pixbuf=yes
                          gdk_pixbuf_halfassed=no
 fi
   have_gdk_pixbuf=yes
                          gdk_pixbuf_halfassed=no
 fi
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
-  if test "${ac_cv_header_gdk_pixbuf_xlib_gdk_pixbuf_xlib_h+set}" = set; then
-  { $as_echo "$as_me:$LINENO: checking for gdk-pixbuf-xlib/gdk-pixbuf-xlib.h" >&5
-$as_echo_n "checking for gdk-pixbuf-xlib/gdk-pixbuf-xlib.h... " >&6; }
-if test "${ac_cv_header_gdk_pixbuf_xlib_gdk_pixbuf_xlib_h+set}" = set; then
-  $as_echo_n "(cached) " >&6
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_gdk_pixbuf_xlib_gdk_pixbuf_xlib_h" >&5
-$as_echo "$ac_cv_header_gdk_pixbuf_xlib_gdk_pixbuf_xlib_h" >&6; }
-else
-  # Is the header compilable?
-{ $as_echo "$as_me:$LINENO: checking gdk-pixbuf-xlib/gdk-pixbuf-xlib.h usability" >&5
-$as_echo_n "checking gdk-pixbuf-xlib/gdk-pixbuf-xlib.h usability... " >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-#include <gdk-pixbuf-xlib/gdk-pixbuf-xlib.h>
-_ACEOF
-rm -rf conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_header_compiler=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_header_compiler=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-$as_echo "$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ $as_echo "$as_me:$LINENO: checking gdk-pixbuf-xlib/gdk-pixbuf-xlib.h presence" >&5
-$as_echo_n "checking gdk-pixbuf-xlib/gdk-pixbuf-xlib.h presence... " >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <gdk-pixbuf-xlib/gdk-pixbuf-xlib.h>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then
-  ac_header_preproc=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-  ac_header_preproc=no
-fi
-
-rm -rf conftest.err conftest.$ac_ext
-{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-$as_echo "$ac_header_preproc" >&6; }
-
-# So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
-  yes:no: )
-    { $as_echo "$as_me:$LINENO: WARNING: gdk-pixbuf-xlib/gdk-pixbuf-xlib.h: accepted by the compiler, rejected by the preprocessor!" >&5
-$as_echo "$as_me: WARNING: gdk-pixbuf-xlib/gdk-pixbuf-xlib.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: gdk-pixbuf-xlib/gdk-pixbuf-xlib.h: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: gdk-pixbuf-xlib/gdk-pixbuf-xlib.h: proceeding with the compiler's result" >&2;}
-    ac_header_preproc=yes
-    ;;
-  no:yes:* )
-    { $as_echo "$as_me:$LINENO: WARNING: gdk-pixbuf-xlib/gdk-pixbuf-xlib.h: present but cannot be compiled" >&5
-$as_echo "$as_me: WARNING: gdk-pixbuf-xlib/gdk-pixbuf-xlib.h: present but cannot be compiled" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: gdk-pixbuf-xlib/gdk-pixbuf-xlib.h:     check for missing prerequisite headers?" >&5
-$as_echo "$as_me: WARNING: gdk-pixbuf-xlib/gdk-pixbuf-xlib.h:     check for missing prerequisite headers?" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: gdk-pixbuf-xlib/gdk-pixbuf-xlib.h: see the Autoconf documentation" >&5
-$as_echo "$as_me: WARNING: gdk-pixbuf-xlib/gdk-pixbuf-xlib.h: see the Autoconf documentation" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: gdk-pixbuf-xlib/gdk-pixbuf-xlib.h:     section \"Present But Cannot Be Compiled\"" >&5
-$as_echo "$as_me: WARNING: gdk-pixbuf-xlib/gdk-pixbuf-xlib.h:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: gdk-pixbuf-xlib/gdk-pixbuf-xlib.h: proceeding with the preprocessor's result" >&5
-$as_echo "$as_me: WARNING: gdk-pixbuf-xlib/gdk-pixbuf-xlib.h: proceeding with the preprocessor's result" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: gdk-pixbuf-xlib/gdk-pixbuf-xlib.h: in the future, the compiler will take precedence" >&5
-$as_echo "$as_me: WARNING: gdk-pixbuf-xlib/gdk-pixbuf-xlib.h: in the future, the compiler will take precedence" >&2;}
-
-    ;;
-esac
-{ $as_echo "$as_me:$LINENO: checking for gdk-pixbuf-xlib/gdk-pixbuf-xlib.h" >&5
-$as_echo_n "checking for gdk-pixbuf-xlib/gdk-pixbuf-xlib.h... " >&6; }
-if test "${ac_cv_header_gdk_pixbuf_xlib_gdk_pixbuf_xlib_h+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_header_gdk_pixbuf_xlib_gdk_pixbuf_xlib_h=$ac_header_preproc
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_gdk_pixbuf_xlib_gdk_pixbuf_xlib_h" >&5
-$as_echo "$ac_cv_header_gdk_pixbuf_xlib_gdk_pixbuf_xlib_h" >&6; }
-
-fi
-if test "x$ac_cv_header_gdk_pixbuf_xlib_gdk_pixbuf_xlib_h" = x""yes; then
+  ac_fn_c_check_header_mongrel "$LINENO" "gdk-pixbuf-xlib/gdk-pixbuf-xlib.h" "ac_cv_header_gdk_pixbuf_xlib_gdk_pixbuf_xlib_h" "$ac_includes_default"
+if test "x$ac_cv_header_gdk_pixbuf_xlib_gdk_pixbuf_xlib_h" = xyes; then :
   have_gdk_pixbuf=yes
                            gdk_pixbuf_halfassed=no
 fi
   have_gdk_pixbuf=yes
                            gdk_pixbuf_halfassed=no
 fi
@@ -19261,7 +13149,7 @@ fi
     have_gdk_pixbuf=no
     gdk_pixbuf_halfassed=yes
 
     have_gdk_pixbuf=no
     gdk_pixbuf_halfassed=yes
 
-    { $as_echo "$as_me:$LINENO: result: checking for gdk_pixbuf usability..." >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: checking for gdk_pixbuf usability..." >&5
 $as_echo "checking for gdk_pixbuf usability..." >&6; }
 
     # library A...
 $as_echo "checking for gdk_pixbuf usability..." >&6; }
 
     # library A...
@@ -19284,18 +13172,14 @@ $as_echo "checking for gdk_pixbuf usability..." >&6; }
 
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
 
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
-  { $as_echo "$as_me:$LINENO: checking for gdk_pixbuf_new_from_file in -lc" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gdk_pixbuf_new_from_file in -lc" >&5
 $as_echo_n "checking for gdk_pixbuf_new_from_file in -lc... " >&6; }
 $as_echo_n "checking for gdk_pixbuf_new_from_file in -lc... " >&6; }
-if test "${ac_cv_lib_c_gdk_pixbuf_new_from_file+set}" = set; then
+if ${ac_cv_lib_c_gdk_pixbuf_new_from_file+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lc $ac_gdk_pixbuf_config_libs -lX11 -lXext -lm $LIBS"
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lc $ac_gdk_pixbuf_config_libs -lX11 -lXext -lm $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
@@ -19313,43 +13197,18 @@ return gdk_pixbuf_new_from_file ();
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then
+if ac_fn_c_try_link "$LINENO"; then :
   ac_cv_lib_c_gdk_pixbuf_new_from_file=yes
 else
   ac_cv_lib_c_gdk_pixbuf_new_from_file=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_lib_c_gdk_pixbuf_new_from_file=no
+  ac_cv_lib_c_gdk_pixbuf_new_from_file=no
 fi
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_c_gdk_pixbuf_new_from_file" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_c_gdk_pixbuf_new_from_file" >&5
 $as_echo "$ac_cv_lib_c_gdk_pixbuf_new_from_file" >&6; }
 $as_echo "$ac_cv_lib_c_gdk_pixbuf_new_from_file" >&6; }
-if test "x$ac_cv_lib_c_gdk_pixbuf_new_from_file" = x""yes; then
+if test "x$ac_cv_lib_c_gdk_pixbuf_new_from_file" = xyes; then :
   have_gdk_pixbuf=yes
 fi
 
   have_gdk_pixbuf=yes
 fi
 
 
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
 
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
-  { $as_echo "$as_me:$LINENO: checking for gdk_pixbuf_xlib_init in -lc" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gdk_pixbuf_xlib_init in -lc" >&5
 $as_echo_n "checking for gdk_pixbuf_xlib_init in -lc... " >&6; }
 $as_echo_n "checking for gdk_pixbuf_xlib_init in -lc... " >&6; }
-if test "${ac_cv_lib_c_gdk_pixbuf_xlib_init+set}" = set; then
+if ${ac_cv_lib_c_gdk_pixbuf_xlib_init+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lc $ac_gdk_pixbuf_config_libs -lX11 -lXext -lm $LIBS"
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lc $ac_gdk_pixbuf_config_libs -lX11 -lXext -lm $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
@@ -19408,43 +13263,18 @@ return gdk_pixbuf_xlib_init ();
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then
+if ac_fn_c_try_link "$LINENO"; then :
   ac_cv_lib_c_gdk_pixbuf_xlib_init=yes
 else
   ac_cv_lib_c_gdk_pixbuf_xlib_init=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_lib_c_gdk_pixbuf_xlib_init=no
+  ac_cv_lib_c_gdk_pixbuf_xlib_init=no
 fi
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_c_gdk_pixbuf_xlib_init" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_c_gdk_pixbuf_xlib_init" >&5
 $as_echo "$ac_cv_lib_c_gdk_pixbuf_xlib_init" >&6; }
 $as_echo "$ac_cv_lib_c_gdk_pixbuf_xlib_init" >&6; }
-if test "x$ac_cv_lib_c_gdk_pixbuf_xlib_init" = x""yes; then
+if test "x$ac_cv_lib_c_gdk_pixbuf_xlib_init" = xyes; then :
   have_gdk_pixbuf=yes
                       gdk_pixbuf_halfassed=no
 fi
   have_gdk_pixbuf=yes
                       gdk_pixbuf_halfassed=no
 fi
   if test "$have_gdk_pixbuf" = yes; then
     INCLUDES="$INCLUDES $ac_gdk_pixbuf_config_cflags"
     XPM_LIBS="$ac_gdk_pixbuf_config_libs"
   if test "$have_gdk_pixbuf" = yes; then
     INCLUDES="$INCLUDES $ac_gdk_pixbuf_config_cflags"
     XPM_LIBS="$ac_gdk_pixbuf_config_libs"
-    cat >>confdefs.h <<\_ACEOF
-#define HAVE_GDK_PIXBUF 1
-_ACEOF
+    $as_echo "#define HAVE_GDK_PIXBUF 1" >>confdefs.h
 
   else
 
   else
-    { $as_echo "$as_me:$LINENO: result: checking for gdk_pixbuf usability... no" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: checking for gdk_pixbuf usability... no" >&5
 $as_echo "checking for gdk_pixbuf usability... no" >&6; }
   fi
 
 $as_echo "checking for gdk_pixbuf usability... no" >&6; }
   fi
 
@@ -19488,18 +13316,14 @@ $as_echo "checking for gdk_pixbuf usability... no" >&6; }
 
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
 
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
-  { $as_echo "$as_me:$LINENO: checking for gdk_pixbuf_apply_embedded_orientation in -lc" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gdk_pixbuf_apply_embedded_orientation in -lc" >&5
 $as_echo_n "checking for gdk_pixbuf_apply_embedded_orientation in -lc... " >&6; }
 $as_echo_n "checking for gdk_pixbuf_apply_embedded_orientation in -lc... " >&6; }
-if test "${ac_cv_lib_c_gdk_pixbuf_apply_embedded_orientation+set}" = set; then
+if ${ac_cv_lib_c_gdk_pixbuf_apply_embedded_orientation+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lc $ac_gdk_pixbuf_config_libs -lX11 -lXext -lm $LIBS"
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lc $ac_gdk_pixbuf_config_libs -lX11 -lXext -lm $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
@@ -19517,46 +13341,19 @@ return gdk_pixbuf_apply_embedded_orientation ();
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then
+if ac_fn_c_try_link "$LINENO"; then :
   ac_cv_lib_c_gdk_pixbuf_apply_embedded_orientation=yes
 else
   ac_cv_lib_c_gdk_pixbuf_apply_embedded_orientation=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_lib_c_gdk_pixbuf_apply_embedded_orientation=no
+  ac_cv_lib_c_gdk_pixbuf_apply_embedded_orientation=no
 fi
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_c_gdk_pixbuf_apply_embedded_orientation" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_c_gdk_pixbuf_apply_embedded_orientation" >&5
 $as_echo "$ac_cv_lib_c_gdk_pixbuf_apply_embedded_orientation" >&6; }
 $as_echo "$ac_cv_lib_c_gdk_pixbuf_apply_embedded_orientation" >&6; }
-if test "x$ac_cv_lib_c_gdk_pixbuf_apply_embedded_orientation" = x""yes; then
-  cat >>confdefs.h <<\_ACEOF
-#define HAVE_GDK_PIXBUF_APPLY_EMBEDDED_ORIENTATION 1
-_ACEOF
+if test "x$ac_cv_lib_c_gdk_pixbuf_apply_embedded_orientation" = xyes; then :
+  $as_echo "#define HAVE_GDK_PIXBUF_APPLY_EMBEDDED_ORIENTATION 1" >>confdefs.h
 
 fi
 
 
 fi
 
@@ -19578,7 +13375,7 @@ have_xpm=no
 with_xpm_req=unspecified
 
 # Check whether --with-xpm was given.
 with_xpm_req=unspecified
 
 # Check whether --with-xpm was given.
-if test "${with_xpm+set}" = set; then
+if test "${with_xpm+set}" = set; then :
   withval=$with_xpm; with_xpm="$withval"; with_xpm_req="$withval"
 else
   with_xpm=yes
   withval=$with_xpm; with_xpm="$withval"; with_xpm_req="$withval"
 else
   with_xpm=yes
     no)  ;;
 
     /*)
     no)  ;;
 
     /*)
-     { $as_echo "$as_me:$LINENO: checking for XPM headers" >&5
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XPM headers" >&5
 $as_echo_n "checking for XPM headers... " >&6; }
      d=$with_xpm/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
 $as_echo_n "checking for XPM headers... " >&6; }
      d=$with_xpm/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
-       { $as_echo "$as_me:$LINENO: result: $d" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $d" >&5
 $as_echo "$d" >&6; }
      else
 $as_echo "$d" >&6; }
      else
-       { $as_echo "$as_me:$LINENO: result: not found ($d: no such directory)" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found ($d: no such directory)" >&5
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
-     { $as_echo "$as_me:$LINENO: checking for XPM libs" >&5
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XPM libs" >&5
 $as_echo_n "checking for XPM libs... " >&6; }
      d=$with_xpm/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
 $as_echo_n "checking for XPM libs... " >&6; }
      d=$with_xpm/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
-       { $as_echo "$as_me:$LINENO: result: $d" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $d" >&5
 $as_echo "$d" >&6; }
      else
 $as_echo "$d" >&6; }
      else
-       { $as_echo "$as_me:$LINENO: result: not found ($d: no such directory)" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found ($d: no such directory)" >&5
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
@@ -19638,56 +13435,11 @@ if test "$with_xpm" = yes; then
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
-  { $as_echo "$as_me:$LINENO: checking for X11/xpm.h" >&5
-$as_echo_n "checking for X11/xpm.h... " >&6; }
-if test "${ac_cv_header_X11_xpm_h+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <X11/Xlib.h>
-
-#include <X11/xpm.h>
-_ACEOF
-rm -rf conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_header_X11_xpm_h=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_header_X11_xpm_h=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_X11_xpm_h" >&5
-$as_echo "$ac_cv_header_X11_xpm_h" >&6; }
-if test "x$ac_cv_header_X11_xpm_h" = x""yes; then
+  ac_fn_c_check_header_compile "$LINENO" "X11/xpm.h" "ac_cv_header_X11_xpm_h" "#include <X11/Xlib.h>
+"
+if test "x$ac_cv_header_X11_xpm_h" = xyes; then :
   have_xpm=yes
   have_xpm=yes
-                    cat >>confdefs.h <<\_ACEOF
-#define HAVE_XPM 1
-_ACEOF
+                    $as_echo "#define HAVE_XPM 1" >>confdefs.h
 
                     XPM_LIBS="-lXpm $XPM_LIBS"
 fi
 
                     XPM_LIBS="-lXpm $XPM_LIBS"
 fi
@@ -19724,7 +13476,7 @@ with_jpeg_req=unspecified
 jpeg_halfassed=no
 
 # Check whether --with-jpeg was given.
 jpeg_halfassed=no
 
 # Check whether --with-jpeg was given.
-if test "${with_jpeg+set}" = set; then
+if test "${with_jpeg+set}" = set; then :
   withval=$with_jpeg; with_jpeg="$withval"; with_jpeg_req="$withval"
 else
   with_jpeg=yes
   withval=$with_jpeg; with_jpeg="$withval"; with_jpeg_req="$withval"
 else
   with_jpeg=yes
     no)  ;;
 
     /*)
     no)  ;;
 
     /*)
-     { $as_echo "$as_me:$LINENO: checking for JPEG headers" >&5
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for JPEG headers" >&5
 $as_echo_n "checking for JPEG headers... " >&6; }
      d=$with_jpeg/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
 $as_echo_n "checking for JPEG headers... " >&6; }
      d=$with_jpeg/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
-       { $as_echo "$as_me:$LINENO: result: $d" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $d" >&5
 $as_echo "$d" >&6; }
      else
 $as_echo "$d" >&6; }
      else
-       { $as_echo "$as_me:$LINENO: result: not found ($d: no such directory)" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found ($d: no such directory)" >&5
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
-     { $as_echo "$as_me:$LINENO: checking for JPEG libs" >&5
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for JPEG libs" >&5
 $as_echo_n "checking for JPEG libs... " >&6; }
      d=$with_jpeg/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
 $as_echo_n "checking for JPEG libs... " >&6; }
      d=$with_jpeg/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
-       { $as_echo "$as_me:$LINENO: result: $d" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $d" >&5
 $as_echo "$d" >&6; }
      else
 $as_echo "$d" >&6; }
      else
-       { $as_echo "$as_me:$LINENO: result: not found ($d: no such directory)" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found ($d: no such directory)" >&5
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
@@ -19791,134 +13543,8 @@ if test "$with_jpeg" = yes; then
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
-  if test "${ac_cv_header_jpeglib_h+set}" = set; then
-  { $as_echo "$as_me:$LINENO: checking for jpeglib.h" >&5
-$as_echo_n "checking for jpeglib.h... " >&6; }
-if test "${ac_cv_header_jpeglib_h+set}" = set; then
-  $as_echo_n "(cached) " >&6
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_jpeglib_h" >&5
-$as_echo "$ac_cv_header_jpeglib_h" >&6; }
-else
-  # Is the header compilable?
-{ $as_echo "$as_me:$LINENO: checking jpeglib.h usability" >&5
-$as_echo_n "checking jpeglib.h usability... " >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-#include <jpeglib.h>
-_ACEOF
-rm -rf conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_header_compiler=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_header_compiler=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-$as_echo "$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ $as_echo "$as_me:$LINENO: checking jpeglib.h presence" >&5
-$as_echo_n "checking jpeglib.h presence... " >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <jpeglib.h>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then
-  ac_header_preproc=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-  ac_header_preproc=no
-fi
-
-rm -rf conftest.err conftest.$ac_ext
-{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-$as_echo "$ac_header_preproc" >&6; }
-
-# So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
-  yes:no: )
-    { $as_echo "$as_me:$LINENO: WARNING: jpeglib.h: accepted by the compiler, rejected by the preprocessor!" >&5
-$as_echo "$as_me: WARNING: jpeglib.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: jpeglib.h: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: jpeglib.h: proceeding with the compiler's result" >&2;}
-    ac_header_preproc=yes
-    ;;
-  no:yes:* )
-    { $as_echo "$as_me:$LINENO: WARNING: jpeglib.h: present but cannot be compiled" >&5
-$as_echo "$as_me: WARNING: jpeglib.h: present but cannot be compiled" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: jpeglib.h:     check for missing prerequisite headers?" >&5
-$as_echo "$as_me: WARNING: jpeglib.h:     check for missing prerequisite headers?" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: jpeglib.h: see the Autoconf documentation" >&5
-$as_echo "$as_me: WARNING: jpeglib.h: see the Autoconf documentation" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: jpeglib.h:     section \"Present But Cannot Be Compiled\"" >&5
-$as_echo "$as_me: WARNING: jpeglib.h:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: jpeglib.h: proceeding with the preprocessor's result" >&5
-$as_echo "$as_me: WARNING: jpeglib.h: proceeding with the preprocessor's result" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: jpeglib.h: in the future, the compiler will take precedence" >&5
-$as_echo "$as_me: WARNING: jpeglib.h: in the future, the compiler will take precedence" >&2;}
-
-    ;;
-esac
-{ $as_echo "$as_me:$LINENO: checking for jpeglib.h" >&5
-$as_echo_n "checking for jpeglib.h... " >&6; }
-if test "${ac_cv_header_jpeglib_h+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_header_jpeglib_h=$ac_header_preproc
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_jpeglib_h" >&5
-$as_echo "$ac_cv_header_jpeglib_h" >&6; }
-
-fi
-if test "x$ac_cv_header_jpeglib_h" = x""yes; then
+  ac_fn_c_check_header_mongrel "$LINENO" "jpeglib.h" "ac_cv_header_jpeglib_h" "$ac_includes_default"
+if test "x$ac_cv_header_jpeglib_h" = xyes; then :
   have_jpeg=yes
 fi
 
   have_jpeg=yes
 fi
 
 
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
 
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
-  { $as_echo "$as_me:$LINENO: checking for jpeg_start_compress in -ljpeg" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for jpeg_start_compress in -ljpeg" >&5
 $as_echo_n "checking for jpeg_start_compress in -ljpeg... " >&6; }
 $as_echo_n "checking for jpeg_start_compress in -ljpeg... " >&6; }
-if test "${ac_cv_lib_jpeg_jpeg_start_compress+set}" = set; then
+if ${ac_cv_lib_jpeg_jpeg_start_compress+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-ljpeg  $LIBS"
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-ljpeg  $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
@@ -19971,55 +13593,28 @@ extern "C"
 char jpeg_start_compress ();
 int
 main ()
 char jpeg_start_compress ();
 int
 main ()
-{
-return jpeg_start_compress ();
-  ;
-  return 0;
-}
-_ACEOF
-rm -rf conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then
+{
+return jpeg_start_compress ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
   ac_cv_lib_jpeg_jpeg_start_compress=yes
 else
   ac_cv_lib_jpeg_jpeg_start_compress=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_lib_jpeg_jpeg_start_compress=no
+  ac_cv_lib_jpeg_jpeg_start_compress=no
 fi
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_jpeg_jpeg_start_compress" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_jpeg_jpeg_start_compress" >&5
 $as_echo "$ac_cv_lib_jpeg_jpeg_start_compress" >&6; }
 $as_echo "$ac_cv_lib_jpeg_jpeg_start_compress" >&6; }
-if test "x$ac_cv_lib_jpeg_jpeg_start_compress" = x""yes; then
+if test "x$ac_cv_lib_jpeg_jpeg_start_compress" = xyes; then :
   have_jpeg=yes
                     jpeg_halfassed=no
                     JPEG_LIBS="-ljpeg"
   have_jpeg=yes
                     jpeg_halfassed=no
                     JPEG_LIBS="-ljpeg"
-                    cat >>confdefs.h <<\_ACEOF
-#define HAVE_JPEGLIB 1
-_ACEOF
+                    $as_echo "#define HAVE_JPEGLIB 1" >>confdefs.h
 
 fi
 
 
 fi
 
 ###############################################################################
 
 PTY_LIBS=
 ###############################################################################
 
 PTY_LIBS=
-
-
 for ac_header in pty.h util.h
 for ac_header in pty.h util.h
-do
-as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-  { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
-$as_echo_n "checking for $ac_header... " >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-  $as_echo_n "(cached) " >&6
-fi
-ac_res=`eval 'as_val=${'$as_ac_Header'}
-                $as_echo "$as_val"'`
-              { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-else
-  # Is the header compilable?
-{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5
-$as_echo_n "checking $ac_header usability... " >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -rf conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_header_compiler=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_header_compiler=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-$as_echo "$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5
-$as_echo_n "checking $ac_header presence... " >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <$ac_header>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then
-  ac_header_preproc=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-  ac_header_preproc=no
-fi
-
-rm -rf conftest.err conftest.$ac_ext
-{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-$as_echo "$ac_header_preproc" >&6; }
-
-# So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
-  yes:no: )
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
-    ac_header_preproc=yes
-    ;;
-  no:yes:* )
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
-$as_echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
-$as_echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-
-    ;;
-esac
-{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
-$as_echo_n "checking for $ac_header... " >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-  $as_echo_n "(cached) " >&6
-else
-  eval "$as_ac_Header=\$ac_header_preproc"
-fi
-ac_res=`eval 'as_val=${'$as_ac_Header'}
-                $as_echo "$as_val"'`
-              { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-
-fi
-as_val=`eval 'as_val=${'$as_ac_Header'}
-                $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
+do :
+  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -20205,18 +13666,14 @@ done
 
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
 
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
-  { $as_echo "$as_me:$LINENO: checking for forkpty in -lutil" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for forkpty in -lutil" >&5
 $as_echo_n "checking for forkpty in -lutil... " >&6; }
 $as_echo_n "checking for forkpty in -lutil... " >&6; }
-if test "${ac_cv_lib_util_forkpty+set}" = set; then
+if ${ac_cv_lib_util_forkpty+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lutil  $LIBS"
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lutil  $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
@@ -20234,48 +13691,21 @@ return forkpty ();
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then
+if ac_fn_c_try_link "$LINENO"; then :
   ac_cv_lib_util_forkpty=yes
 else
   ac_cv_lib_util_forkpty=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_lib_util_forkpty=no
+  ac_cv_lib_util_forkpty=no
 fi
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_util_forkpty" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_util_forkpty" >&5
 $as_echo "$ac_cv_lib_util_forkpty" >&6; }
 $as_echo "$ac_cv_lib_util_forkpty" >&6; }
-if test "x$ac_cv_lib_util_forkpty" = x""yes; then
+if test "x$ac_cv_lib_util_forkpty" = xyes; then :
   PTY_LIBS="-lutil"
                 ac_have_forkpty=yes
   PTY_LIBS="-lutil"
                 ac_have_forkpty=yes
-                cat >>confdefs.h <<\_ACEOF
-#define HAVE_FORKPTY 1
-_ACEOF
+                $as_echo "#define HAVE_FORKPTY 1" >>confdefs.h
 
 fi
 
 
 fi
 
@@ -20305,18 +13735,14 @@ if test "$ac_have_forkpty" != yes ; then
 
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
 
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
-  { $as_echo "$as_me:$LINENO: checking for forkpty in -lc" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for forkpty in -lc" >&5
 $as_echo_n "checking for forkpty in -lc... " >&6; }
 $as_echo_n "checking for forkpty in -lc... " >&6; }
-if test "${ac_cv_lib_c_forkpty+set}" = set; then
+if ${ac_cv_lib_c_forkpty+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lc  $LIBS"
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lc  $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
@@ -20334,47 +13760,20 @@ return forkpty ();
   return 0;
 }
 _ACEOF
   return 0;
 }
 _ACEOF
-rm -rf conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then
+if ac_fn_c_try_link "$LINENO"; then :
   ac_cv_lib_c_forkpty=yes
 else
   ac_cv_lib_c_forkpty=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_lib_c_forkpty=no
+  ac_cv_lib_c_forkpty=no
 fi
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_c_forkpty" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_c_forkpty" >&5
 $as_echo "$ac_cv_lib_c_forkpty" >&6; }
 $as_echo "$ac_cv_lib_c_forkpty" >&6; }
-if test "x$ac_cv_lib_c_forkpty" = x""yes; then
+if test "x$ac_cv_lib_c_forkpty" = xyes; then :
   PTY_LIBS=""
   PTY_LIBS=""
-                  cat >>confdefs.h <<\_ACEOF
-#define HAVE_FORKPTY 1
-_ACEOF
+                  $as_echo "#define HAVE_FORKPTY 1" >>confdefs.h
 
 fi
 
 
 fi
 
@@ -20394,7 +13793,7 @@ have_xshm=no
 with_xshm_req=unspecified
 
 # Check whether --with-xshm-ext was given.
 with_xshm_req=unspecified
 
 # Check whether --with-xshm-ext was given.
-if test "${with_xshm_ext+set}" = set; then
+if test "${with_xshm_ext+set}" = set; then :
   withval=$with_xshm_ext; with_xshm="$withval"; with_xshm_req="$withval"
 else
   with_xshm=yes
   withval=$with_xshm_ext; with_xshm="$withval"; with_xshm_req="$withval"
 else
   with_xshm=yes
     no)  ;;
 
     /*)
     no)  ;;
 
     /*)
-     { $as_echo "$as_me:$LINENO: checking for XSHM headers" >&5
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XSHM headers" >&5
 $as_echo_n "checking for XSHM headers... " >&6; }
      d=$with_xshm/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
 $as_echo_n "checking for XSHM headers... " >&6; }
      d=$with_xshm/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
-       { $as_echo "$as_me:$LINENO: result: $d" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $d" >&5
 $as_echo "$d" >&6; }
      else
 $as_echo "$d" >&6; }
      else
-       { $as_echo "$as_me:$LINENO: result: not found ($d: no such directory)" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found ($d: no such directory)" >&5
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
-     { $as_echo "$as_me:$LINENO: checking for XSHM libs" >&5
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XSHM libs" >&5
 $as_echo_n "checking for XSHM libs... " >&6; }
      d=$with_xshm/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
 $as_echo_n "checking for XSHM libs... " >&6; }
      d=$with_xshm/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
-       { $as_echo "$as_me:$LINENO: result: $d" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $d" >&5
 $as_echo "$d" >&6; }
      else
 $as_echo "$d" >&6; }
      else
-       { $as_echo "$as_me:$LINENO: result: not found ($d: no such directory)" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found ($d: no such directory)" >&5
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
@@ -20456,52 +13855,9 @@ if test "$with_xshm" = yes; then
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
-  { $as_echo "$as_me:$LINENO: checking for X11/extensions/XShm.h" >&5
-$as_echo_n "checking for X11/extensions/XShm.h... " >&6; }
-if test "${ac_cv_header_X11_extensions_XShm_h+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <X11/Xlib.h>
-
-#include <X11/extensions/XShm.h>
-_ACEOF
-rm -rf conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_header_X11_extensions_XShm_h=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_header_X11_extensions_XShm_h=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_X11_extensions_XShm_h" >&5
-$as_echo "$ac_cv_header_X11_extensions_XShm_h" >&6; }
-if test "x$ac_cv_header_X11_extensions_XShm_h" = x""yes; then
+  ac_fn_c_check_header_compile "$LINENO" "X11/extensions/XShm.h" "ac_cv_header_X11_extensions_XShm_h" "#include <X11/Xlib.h>
+"
+if test "x$ac_cv_header_X11_extensions_XShm_h" = xyes; then :
   have_xshm=yes
 fi
 
   have_xshm=yes
 fi
 
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
-  if test "${ac_cv_header_sys_ipc_h+set}" = set; then
-  { $as_echo "$as_me:$LINENO: checking for sys/ipc.h" >&5
-$as_echo_n "checking for sys/ipc.h... " >&6; }
-if test "${ac_cv_header_sys_ipc_h+set}" = set; then
-  $as_echo_n "(cached) " >&6
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_sys_ipc_h" >&5
-$as_echo "$ac_cv_header_sys_ipc_h" >&6; }
-else
-  # Is the header compilable?
-{ $as_echo "$as_me:$LINENO: checking sys/ipc.h usability" >&5
-$as_echo_n "checking sys/ipc.h usability... " >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-#include <sys/ipc.h>
-_ACEOF
-rm -rf conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_header_compiler=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_header_compiler=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-$as_echo "$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ $as_echo "$as_me:$LINENO: checking sys/ipc.h presence" >&5
-$as_echo_n "checking sys/ipc.h presence... " >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <sys/ipc.h>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then
-  ac_header_preproc=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-  ac_header_preproc=no
-fi
-
-rm -rf conftest.err conftest.$ac_ext
-{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-$as_echo "$ac_header_preproc" >&6; }
-
-# So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
-  yes:no: )
-    { $as_echo "$as_me:$LINENO: WARNING: sys/ipc.h: accepted by the compiler, rejected by the preprocessor!" >&5
-$as_echo "$as_me: WARNING: sys/ipc.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: sys/ipc.h: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: sys/ipc.h: proceeding with the compiler's result" >&2;}
-    ac_header_preproc=yes
-    ;;
-  no:yes:* )
-    { $as_echo "$as_me:$LINENO: WARNING: sys/ipc.h: present but cannot be compiled" >&5
-$as_echo "$as_me: WARNING: sys/ipc.h: present but cannot be compiled" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: sys/ipc.h:     check for missing prerequisite headers?" >&5
-$as_echo "$as_me: WARNING: sys/ipc.h:     check for missing prerequisite headers?" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: sys/ipc.h: see the Autoconf documentation" >&5
-$as_echo "$as_me: WARNING: sys/ipc.h: see the Autoconf documentation" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: sys/ipc.h:     section \"Present But Cannot Be Compiled\"" >&5
-$as_echo "$as_me: WARNING: sys/ipc.h:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: sys/ipc.h: proceeding with the preprocessor's result" >&5
-$as_echo "$as_me: WARNING: sys/ipc.h: proceeding with the preprocessor's result" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: sys/ipc.h: in the future, the compiler will take precedence" >&5
-$as_echo "$as_me: WARNING: sys/ipc.h: in the future, the compiler will take precedence" >&2;}
-
-    ;;
-esac
-{ $as_echo "$as_me:$LINENO: checking for sys/ipc.h" >&5
-$as_echo_n "checking for sys/ipc.h... " >&6; }
-if test "${ac_cv_header_sys_ipc_h+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_header_sys_ipc_h=$ac_header_preproc
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_sys_ipc_h" >&5
-$as_echo "$ac_cv_header_sys_ipc_h" >&6; }
-
-fi
-if test "x$ac_cv_header_sys_ipc_h" = x""yes; then
+  ac_fn_c_check_header_mongrel "$LINENO" "sys/ipc.h" "ac_cv_header_sys_ipc_h" "$ac_includes_default"
+if test "x$ac_cv_header_sys_ipc_h" = xyes; then :
   have_xshm=yes
 fi
 
   have_xshm=yes
 fi
 
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
-  if test "${ac_cv_header_sys_shm_h+set}" = set; then
-  { $as_echo "$as_me:$LINENO: checking for sys/shm.h" >&5
-$as_echo_n "checking for sys/shm.h... " >&6; }
-if test "${ac_cv_header_sys_shm_h+set}" = set; then
-  $as_echo_n "(cached) " >&6
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_sys_shm_h" >&5
-$as_echo "$ac_cv_header_sys_shm_h" >&6; }
-else
-  # Is the header compilable?
-{ $as_echo "$as_me:$LINENO: checking sys/shm.h usability" >&5
-$as_echo_n "checking sys/shm.h usability... " >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-#include <sys/shm.h>
-_ACEOF
-rm -rf conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_header_compiler=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_header_compiler=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-$as_echo "$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ $as_echo "$as_me:$LINENO: checking sys/shm.h presence" >&5
-$as_echo_n "checking sys/shm.h presence... " >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <sys/shm.h>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then
-  ac_header_preproc=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-  ac_header_preproc=no
-fi
-
-rm -rf conftest.err conftest.$ac_ext
-{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-$as_echo "$ac_header_preproc" >&6; }
-
-# So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
-  yes:no: )
-    { $as_echo "$as_me:$LINENO: WARNING: sys/shm.h: accepted by the compiler, rejected by the preprocessor!" >&5
-$as_echo "$as_me: WARNING: sys/shm.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: sys/shm.h: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: sys/shm.h: proceeding with the compiler's result" >&2;}
-    ac_header_preproc=yes
-    ;;
-  no:yes:* )
-    { $as_echo "$as_me:$LINENO: WARNING: sys/shm.h: present but cannot be compiled" >&5
-$as_echo "$as_me: WARNING: sys/shm.h: present but cannot be compiled" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: sys/shm.h:     check for missing prerequisite headers?" >&5
-$as_echo "$as_me: WARNING: sys/shm.h:     check for missing prerequisite headers?" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: sys/shm.h: see the Autoconf documentation" >&5
-$as_echo "$as_me: WARNING: sys/shm.h: see the Autoconf documentation" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: sys/shm.h:     section \"Present But Cannot Be Compiled\"" >&5
-$as_echo "$as_me: WARNING: sys/shm.h:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: sys/shm.h: proceeding with the preprocessor's result" >&5
-$as_echo "$as_me: WARNING: sys/shm.h: proceeding with the preprocessor's result" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: sys/shm.h: in the future, the compiler will take precedence" >&5
-$as_echo "$as_me: WARNING: sys/shm.h: in the future, the compiler will take precedence" >&2;}
-
-    ;;
-esac
-{ $as_echo "$as_me:$LINENO: checking for sys/shm.h" >&5
-$as_echo_n "checking for sys/shm.h... " >&6; }
-if test "${ac_cv_header_sys_shm_h+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_header_sys_shm_h=$ac_header_preproc
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_sys_shm_h" >&5
-$as_echo "$ac_cv_header_sys_shm_h" >&6; }
-
-fi
-if test "x$ac_cv_header_sys_shm_h" = x""yes; then
+  ac_fn_c_check_header_mongrel "$LINENO" "sys/shm.h" "ac_cv_header_sys_shm_h" "$ac_includes_default"
+if test "x$ac_cv_header_sys_shm_h" = xyes; then :
   have_xshm=yes
 fi
 
   have_xshm=yes
 fi
 
 
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
 
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   LDFLAGS=`eval eval eval eval eval eval eval eval eval echo $LDFLAGS`
-  { $as_echo "$as_me:$LINENO: checking for XShmQueryExtension in -lXextSam" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XShmQueryExtension in -lXextSam" >&5
 $as_echo_n "checking for XShmQueryExtension in -lXextSam... " >&6; }
 $as_echo_n "checking for XShmQueryExtension in -lXextSam... " >&6; }
-if test "${ac_cv_lib_XextSam_XShmQueryExtension+set}" = set; then
+if ${ac_cv_lib_XextSam_XShmQueryExtension+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lXextSam -lX11 -lXext -lm $LIBS"
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lXextSam -lX11 -lXext -lm $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
@@ -20853,46 +13953,21 @@ main ()
 {
 return XShmQueryExtension ();
   ;
 {
 return XShmQueryExtension ();
   ;
-  return 0;
-}
-_ACEOF
-rm -rf conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
-       }; then
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
   ac_cv_lib_XextSam_XShmQueryExtension=yes
 else
   ac_cv_lib_XextSam_XShmQueryExtension=yes
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_lib_XextSam_XShmQueryExtension=no
+  ac_cv_lib_XextSam_XShmQueryExtension=no
 fi
 fi
-
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_XextSam_XShmQueryExtension" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_XextSam_XShmQueryExtension" >&5
 $as_echo "$ac_cv_lib_XextSam_XShmQueryExtension" >&6; }
 $as_echo "$ac_cv_lib_XextSam_XShmQueryExtension" >&6; }
-if test "x$ac_cv_lib_XextSam_XShmQueryExtension" = x""yes; then
+if test "x$ac_cv_lib_XextSam_XShmQueryExtension" = xyes; then :
   have_xshm=yes; X_EXTRA_LIBS="$X_EXTRA_LIBS -lXextSam"
 else
   true
   have_xshm=yes; X_EXTRA_LIBS="$X_EXTRA_LIBS -lXextSam"
 else
   true
@@ -20908,9 +13983,7 @@ fi
 
   # if that succeeded, then we've really got it.
   if test "$have_xshm" = yes; then
 
   # if that succeeded, then we've really got it.
   if test "$have_xshm" = yes; then
-    cat >>confdefs.h <<\_ACEOF
-#define HAVE_XSHM_EXTENSION 1
-_ACEOF
+    $as_echo "#define HAVE_XSHM_EXTENSION 1" >>confdefs.h
 
   fi
 
 
   fi
 
@@ -20930,7 +14003,7 @@ have_xdbe=no
 with_xdbe_req=unspecified
 
 # Check whether --with-xdbe-ext was given.
 with_xdbe_req=unspecified
 
 # Check whether --with-xdbe-ext was given.
-if test "${with_xdbe_ext+set}" = set; then
+if test "${with_xdbe_ext+set}" = set; then :
   withval=$with_xdbe_ext; with_xdbe="$withval"; with_xdbe_req="$withval"
 else
   with_xdbe=yes
   withval=$with_xdbe_ext; with_xdbe="$withval"; with_xdbe_req="$withval"
 else
   with_xdbe=yes
     no)  ;;
 
     /*)
     no)  ;;
 
     /*)
-     { $as_echo "$as_me:$LINENO: checking for DOUBLE-BUFFER headers" >&5
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for DOUBLE-BUFFER headers" >&5
 $as_echo_n "checking for DOUBLE-BUFFER headers... " >&6; }
      d=$with_xdbe/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
 $as_echo_n "checking for DOUBLE-BUFFER headers... " >&6; }
      d=$with_xdbe/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
-       { $as_echo "$as_me:$LINENO: result: $d" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $d" >&5
 $as_echo "$d" >&6; }
      else
 $as_echo "$d" >&6; }
      else
-       { $as_echo "$as_me:$LINENO: result: not found ($d: no such directory)" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found ($d: no such directory)" >&5
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
-     { $as_echo "$as_me:$LINENO: checking for DOUBLE-BUFFER libs" >&5
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for DOUBLE-BUFFER libs" >&5
 $as_echo_n "checking for DOUBLE-BUFFER libs... " >&6; }
      d=$with_xdbe/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
 $as_echo_n "checking for DOUBLE-BUFFER libs... " >&6; }
      d=$with_xdbe/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
-       { $as_echo "$as_me:$LINENO: result: $d" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $d" >&5
 $as_echo "$d" >&6; }
      else
 $as_echo "$d" >&6; }
      else
-       { $as_echo "$as_me:$LINENO: result: not found ($d: no such directory)" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found ($d: no such directory)" >&5
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
@@ -20991,61 +14064,16 @@ if test "$with_xdbe" = yes; then
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
-  { $as_echo "$as_me:$LINENO: checking for X11/extensions/Xdbe.h" >&5
-$as_echo_n "checking for X11/extensions/Xdbe.h... " >&6; }
-if test "${ac_cv_header_X11_extensions_Xdbe_h+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <X11/Xlib.h>
-
-#include <X11/extensions/Xdbe.h>
-_ACEOF
-rm -rf conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_header_X11_extensions_Xdbe_h=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_header_X11_extensions_Xdbe_h=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_X11_extensions_Xdbe_h" >&5
-$as_echo "$ac_cv_header_X11_extensions_Xdbe_h" >&6; }
-if test "x$ac_cv_header_X11_extensions_Xdbe_h" = x""yes; then
+  ac_fn_c_check_header_compile "$LINENO" "X11/extensions/Xdbe.h" "ac_cv_header_X11_extensions_Xdbe_h" "#include <X11/Xlib.h>
+"
+if test "x$ac_cv_header_X11_extensions_Xdbe_h" = xyes; then :
   have_xdbe=yes
 fi
 
 
   CPPFLAGS="$ac_save_CPPFLAGS"
   if test "$have_xdbe" = yes; then
   have_xdbe=yes
 fi
 
 
   CPPFLAGS="$ac_save_CPPFLAGS"
   if test "$have_xdbe" = yes; then
-    cat >>confdefs.h <<\_ACEOF
-#define HAVE_DOUBLE_BUFFER_EXTENSION 1
-_ACEOF
+    $as_echo "#define HAVE_DOUBLE_BUFFER_EXTENSION 1" >>confdefs.h
 
   fi
 
 
   fi
 
@@ -21069,7 +14097,7 @@ have_readdisplay=no
 with_readdisplay_req=unspecified
 
 # Check whether --with-readdisplay was given.
 with_readdisplay_req=unspecified
 
 # Check whether --with-readdisplay was given.
-if test "${with_readdisplay+set}" = set; then
+if test "${with_readdisplay+set}" = set; then :
   withval=$with_readdisplay; with_readdisplay="$withval"; with_readdisplay_req="$withval"
 else
   with_readdisplay=yes
   withval=$with_readdisplay; with_readdisplay="$withval"; with_readdisplay_req="$withval"
 else
   with_readdisplay=yes
     no)  ;;
 
     /*)
     no)  ;;
 
     /*)
-     { $as_echo "$as_me:$LINENO: checking for XReadDisplay headers" >&5
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XReadDisplay headers" >&5
 $as_echo_n "checking for XReadDisplay headers... " >&6; }
      d=$with_readdisplay/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
 $as_echo_n "checking for XReadDisplay headers... " >&6; }
      d=$with_readdisplay/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
-       { $as_echo "$as_me:$LINENO: result: $d" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $d" >&5
 $as_echo "$d" >&6; }
      else
 $as_echo "$d" >&6; }
      else
-       { $as_echo "$as_me:$LINENO: result: not found ($d: no such directory)" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found ($d: no such directory)" >&5
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
-     { $as_echo "$as_me:$LINENO: checking for XReadDisplay libs" >&5
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XReadDisplay libs" >&5
 $as_echo_n "checking for XReadDisplay libs... " >&6; }
      d=$with_readdisplay/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
 $as_echo_n "checking for XReadDisplay libs... " >&6; }
      d=$with_readdisplay/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
-       { $as_echo "$as_me:$LINENO: result: $d" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $d" >&5
 $as_echo "$d" >&6; }
      else
 $as_echo "$d" >&6; }
      else
-       { $as_echo "$as_me:$LINENO: result: not found ($d: no such directory)" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found ($d: no such directory)" >&5
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
@@ -21129,55 +14157,10 @@ if test "$with_readdisplay" = yes; then
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
   fi
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   CPPFLAGS=`eval eval eval eval eval eval eval eval eval echo $CPPFLAGS`
-  { $as_echo "$as_me:$LINENO: checking for X11/extensions/readdisplay.h" >&5
-$as_echo_n "checking for X11/extensions/readdisplay.h... " >&6; }
-if test "${ac_cv_header_X11_extensions_readdisplay_h+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <X11/Xlib.h>
-
-#include <X11/extensions/readdisplay.h>
-_ACEOF
-rm -rf conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -rf conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_header_X11_extensions_readdisplay_h=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_header_X11_extensions_readdisplay_h=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_X11_extensions_readdisplay_h" >&5
-$as_echo "$ac_cv_header_X11_extensions_readdisplay_h" >&6; }
-if test "x$ac_cv_header_X11_extensions_readdisplay_h" = x""yes; then
-  cat >>confdefs.h <<\_ACEOF
-#define HAVE_READ_DISPLAY_EXTENSION 1
-_ACEOF
+  ac_fn_c_check_header_compile "$LINENO" "X11/extensions/readdisplay.h" "ac_cv_header_X11_extensions_readdisplay_h" "#include <X11/Xlib.h>
+"
+if test "x$ac_cv_header_X11_extensions_readdisplay_h" = xyes; then :
+  $as_echo "#define HAVE_READ_DISPLAY_EXTENSION 1" >>confdefs.h
 
 fi
 
 
 fi
 
@@ -21201,7 +14184,7 @@ with_imagedir_req=unspecified
 
 
 # Check whether --with-image-directory was given.
 
 
 # Check whether --with-image-directory was given.
-if test "${with_image_directory+set}" = set; then
+if test "${with_image_directory+set}" = set; then :
   withval=$with_image_directory; with_imagedir="$withval"; with_imagedir_req="$withval"
 else
   with_imagedir=yes
   withval=$with_image_directory; with_imagedir="$withval"; with_imagedir_req="$withval"
 else
   with_imagedir=yes
 case "$with_imagedir" in
   /*)
     # absolute path
 case "$with_imagedir" in
   /*)
     # absolute path
-    { $as_echo "$as_me:$LINENO: checking for image directory $with_imagedir" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for image directory $with_imagedir" >&5
 $as_echo_n "checking for image directory $with_imagedir... " >&6; }
     if test -d "$with_imagedir" ; then
 $as_echo_n "checking for image directory $with_imagedir... " >&6; }
     if test -d "$with_imagedir" ; then
-      { $as_echo "$as_me:$LINENO: result: yes" >&5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
     else
 $as_echo "yes" >&6; }
     else
-      { $as_echo "$as_me:$LINENO: result: no" >&5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
       with_imagedir=""
     fi
 $as_echo "no" >&6; }
       with_imagedir=""
     fi
@@ -21233,14 +14216,14 @@ $as_echo "no" >&6; }
       "/Library/Desktop Pictures/"              \
     ; do
       if test -z "$with_imagedir"; then
       "/Library/Desktop Pictures/"              \
     ; do
       if test -z "$with_imagedir"; then
-        { $as_echo "$as_me:$LINENO: checking for image directory $dd" >&5
+        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for image directory $dd" >&5
 $as_echo_n "checking for image directory $dd... " >&6; }
         if test -d "$dd" ; then
 $as_echo_n "checking for image directory $dd... " >&6; }
         if test -d "$dd" ; then
-          { $as_echo "$as_me:$LINENO: result: yes" >&5
+          { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
           with_imagedir="$dd"
         else
 $as_echo "yes" >&6; }
           with_imagedir="$dd"
         else
-          { $as_echo "$as_me:$LINENO: result: no" >&5
+          { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
         fi
       fi
 $as_echo "no" >&6; }
         fi
       fi
@@ -21279,7 +14262,7 @@ with_textfile_req=unspecified
 
 
 # Check whether --with-text-file was given.
 
 
 # Check whether --with-text-file was given.
-if test "${with_text_file+set}" = set; then
+if test "${with_text_file+set}" = set; then :
   withval=$with_text_file; with_textfile="$withval"; with_textfile_req="$withval"
 else
   with_textfile=yes
   withval=$with_text_file; with_textfile="$withval"; with_textfile_req="$withval"
 else
   with_textfile=yes
 case "$with_textfile" in
   /*)
     # absolute path
 case "$with_textfile" in
   /*)
     # absolute path
-    { $as_echo "$as_me:$LINENO: checking for text file $with_textfile" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for text file $with_textfile" >&5
 $as_echo_n "checking for text file $with_textfile... " >&6; }
     if test -f "$with_textfile" ; then
 $as_echo_n "checking for text file $with_textfile... " >&6; }
     if test -f "$with_textfile" ; then
-      { $as_echo "$as_me:$LINENO: result: yes" >&5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
     else
 $as_echo "yes" >&6; }
     else
-      { $as_echo "$as_me:$LINENO: result: no" >&5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
       with_textfile=""
     fi
 $as_echo "no" >&6; }
       with_textfile=""
     fi
@@ -21315,15 +14298,15 @@ $as_echo "no" >&6; }
       "/usr/share/doc/debian/debian-manifesto"     \
     ; do
       if test -z "$with_textfile"; then
       "/usr/share/doc/debian/debian-manifesto"     \
     ; do
       if test -z "$with_textfile"; then
-        { $as_echo "$as_me:$LINENO: checking for text file $f" >&5
+        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for text file $f" >&5
 $as_echo_n "checking for text file $f... " >&6; }
        f=`/bin/ls $f 2>&- | head -1`
         if test -f "$f" ; then
 $as_echo_n "checking for text file $f... " >&6; }
        f=`/bin/ls $f 2>&- | head -1`
         if test -f "$f" ; then
-          { $as_echo "$as_me:$LINENO: result: yes" >&5
+          { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
           with_textfile="$f"
         else
 $as_echo "yes" >&6; }
           with_textfile="$f"
         else
-          { $as_echo "$as_me:$LINENO: result: no" >&5
+          { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
         fi
       fi
 $as_echo "no" >&6; }
         fi
       fi
@@ -21355,7 +14338,7 @@ with_browser_req=unspecified
 
 
 # Check whether --with-browser was given.
 
 
 # Check whether --with-browser was given.
-if test "${with_browser+set}" = set; then
+if test "${with_browser+set}" = set; then :
   withval=$with_browser; with_browser="$withval"; with_browser_req="$withval"
 else
   with_browser=no
   withval=$with_browser; with_browser="$withval"; with_browser_req="$withval"
 else
   with_browser=no
@@ -21369,17 +14352,17 @@ case "$with_browser" in
   * )
     WITH_BROWSER=$with_browser
     gnome_open_program=$with_browser
   * )
     WITH_BROWSER=$with_browser
     gnome_open_program=$with_browser
-    { $as_echo "$as_me:$LINENO: checking for browser $with_browser" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for browser $with_browser" >&5
 $as_echo_n "checking for browser $with_browser... " >&6; }
     with_browser_fullpath=`which $with_browser 2>/dev/null`
     case $with_browser_fullpath in
         /* )
 $as_echo_n "checking for browser $with_browser... " >&6; }
     with_browser_fullpath=`which $with_browser 2>/dev/null`
     case $with_browser_fullpath in
         /* )
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
+               { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
                 have_browser=yes
                 ;;
        * )
 $as_echo "yes" >&6; }
                 have_browser=yes
                 ;;
        * )
-              { $as_echo "$as_me:$LINENO: result: no" >&5
+              { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 # Only warning: we don't want to install all packages for the
 # dependency of the browser in building stage...
 $as_echo "no" >&6; }
 # Only warning: we don't want to install all packages for the
 # dependency of the browser in building stage...
@@ -21401,7 +14384,7 @@ setuid_hacks_default=no
 setuid_hacks="$setuid_hacks_default"
 
 # Check whether --with-setuid-hacks was given.
 setuid_hacks="$setuid_hacks_default"
 
 # Check whether --with-setuid-hacks was given.
-if test "${with_setuid_hacks+set}" = set; then
+if test "${with_setuid_hacks+set}" = set; then :
   withval=$with_setuid_hacks; setuid_hacks="$withval"
 else
   setuid_hacks="$setuid_hacks_default"
   withval=$with_setuid_hacks; setuid_hacks="$withval"
 else
   setuid_hacks="$setuid_hacks_default"
     no)  ;;
 
     /*)
     no)  ;;
 
     /*)
-     { $as_echo "$as_me:$LINENO: checking for setuid hacks headers" >&5
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for setuid hacks headers" >&5
 $as_echo_n "checking for setuid hacks headers... " >&6; }
      d=$setuid_hacks/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
 $as_echo_n "checking for setuid hacks headers... " >&6; }
      d=$setuid_hacks/include
      if test -d $d; then
        X_CFLAGS="-I$d $X_CFLAGS"
-       { $as_echo "$as_me:$LINENO: result: $d" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $d" >&5
 $as_echo "$d" >&6; }
      else
 $as_echo "$d" >&6; }
      else
-       { $as_echo "$as_me:$LINENO: result: not found ($d: no such directory)" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found ($d: no such directory)" >&5
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
-     { $as_echo "$as_me:$LINENO: checking for setuid hacks libs" >&5
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for setuid hacks libs" >&5
 $as_echo_n "checking for setuid hacks libs... " >&6; }
      d=$setuid_hacks/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
 $as_echo_n "checking for setuid hacks libs... " >&6; }
      d=$setuid_hacks/lib
      if test -d $d; then
        X_LIBS="-L$d $X_LIBS"
-       { $as_echo "$as_me:$LINENO: result: $d" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $d" >&5
 $as_echo "$d" >&6; }
      else
 $as_echo "$d" >&6; }
      else
-       { $as_echo "$as_me:$LINENO: result: not found ($d: no such directory)" >&5
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found ($d: no such directory)" >&5
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
 $as_echo "not found ($d: no such directory)" >&6; }
      fi
 
@@ -21592,7 +14575,7 @@ fi
 
 # Set PO_DATADIR to something sensible.
 #
 
 # Set PO_DATADIR to something sensible.
 #
-{ $as_echo "$as_me:$LINENO: checking for locale directory" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for locale directory" >&5
 $as_echo_n "checking for locale directory... " >&6; }
 if test -n "$GTK_DATADIR" ; then
   PO_DATADIR="$GTK_DATADIR"
 $as_echo_n "checking for locale directory... " >&6; }
 if test -n "$GTK_DATADIR" ; then
   PO_DATADIR="$GTK_DATADIR"
@@ -21611,7 +14594,7 @@ if test -z "$PO_DATADIR" ; then
   PO_DATADIR=`echo $dd | sed 's@/X11R6/@/@'`
 fi
 
   PO_DATADIR=`echo $dd | sed 's@/X11R6/@/@'`
 fi
 
-{ $as_echo "$as_me:$LINENO: result: $PO_DATADIR/locale" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $PO_DATADIR/locale" >&5
 $as_echo "$PO_DATADIR/locale" >&6; }
 
 
 $as_echo "$PO_DATADIR/locale" >&6; }
 
 
@@ -21740,13 +14723,13 @@ _ACEOF
     case $ac_val in #(
     *${as_nl}*)
       case $ac_var in #(
     case $ac_val in #(
     *${as_nl}*)
       case $ac_var in #(
-      *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5
+      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
       esac
       case $ac_var in #(
       _ | IFS | as_nl) ;; #(
       BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
       esac
       case $ac_var in #(
       _ | IFS | as_nl) ;; #(
       BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
-      *) $as_unset $ac_var ;;
+      *) { eval $ac_var=; unset $ac_var;} ;;
       esac ;;
     esac
   done
       esac ;;
     esac
   done
@@ -21754,8 +14737,8 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
   (set) 2>&1 |
     case $as_nl`(ac_space=' '; set) 2>&1` in #(
     *${as_nl}ac_space=\ *)
   (set) 2>&1 |
     case $as_nl`(ac_space=' '; set) 2>&1` in #(
     *${as_nl}ac_space=\ *)
-      # `set' does not quote correctly, so add quotes (double-quote
-      # substitution turns \\\\ into \\, and sed turns \\ into \).
+      # `set' does not quote correctly, so add quotesdouble-quote
+      # substitution turns \\\\ into \\, and sed turns \\ into \.
       sed -n \
        "s/'/'\\\\''/g;
          s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
       sed -n \
        "s/'/'\\\\''/g;
          s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
@@ -21777,12 +14760,23 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
      :end' >>confcache
 if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
   if test -w "$cache_file"; then
      :end' >>confcache
 if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
   if test -w "$cache_file"; then
-    test "x$cache_file" != "x/dev/null" &&
-      { $as_echo "$as_me:$LINENO: updating cache $cache_file" >&5
+    if test "x$cache_file" != "x/dev/null"; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
 $as_echo "$as_me: updating cache $cache_file" >&6;}
 $as_echo "$as_me: updating cache $cache_file" >&6;}
-    cat confcache >$cache_file
+      if test ! -f "$cache_file" || test -h "$cache_file"; then
+       cat confcache >"$cache_file"
+      else
+        case $cache_file in #(
+        */* | ?:*)
+         mv -f confcache "$cache_file"$$ &&
+         mv -f "$cache_file"$$ "$cache_file" ;; #(
+        *)
+         mv -f confcache "$cache_file" ;;
+       esac
+      fi
+    fi
   else
   else
-    { $as_echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
   fi
 fi
 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
   fi
 fi
@@ -21796,14 +14790,15 @@ DEFS=-DHAVE_CONFIG_H
 
 ac_libobjs=
 ac_ltlibobjs=
 
 ac_libobjs=
 ac_ltlibobjs=
+U=
 for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
   # 1. Remove the extension, and $U if already installed.
   ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
   ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
   # 2. Prepend LIBOBJDIR.  When used with automake>=1.10 LIBOBJDIR
   #    will be set to the directory where LIBOBJS objects are built.
 for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
   # 1. Remove the extension, and $U if already installed.
   ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
   ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
   # 2. Prepend LIBOBJDIR.  When used with automake>=1.10 LIBOBJDIR
   #    will be set to the directory where LIBOBJS objects are built.
-  ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext"
-  ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo'
+  as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
+  as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
 done
 LIBOBJS=$ac_libobjs
 
 done
 LIBOBJS=$ac_libobjs
 
@@ -21818,13 +14813,14 @@ LTLIBOBJS=$ac_ltlibobjs
 
 
 
 
 
 
-: ${CONFIG_STATUS=./config.status}
+: "${CONFIG_STATUS=./config.status}"
 ac_write_fail=0
 ac_clean_files_save=$ac_clean_files
 ac_clean_files="$ac_clean_files $CONFIG_STATUS"
 ac_write_fail=0
 ac_clean_files_save=$ac_clean_files
 ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ $as_echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
 $as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
 $as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
-cat >$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+as_write_fail=0
+cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
 #! $SHELL
 # Generated by $as_me.
 # Run this file to recreate the current configuration.
 #! $SHELL
 # Generated by $as_me.
 # Run this file to recreate the current configuration.
@@ -21834,17 +14830,18 @@ cat >$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 debug=false
 ac_cs_recheck=false
 ac_cs_silent=false
 debug=false
 ac_cs_recheck=false
 ac_cs_silent=false
-SHELL=\${CONFIG_SHELL-$SHELL}
-_ACEOF
 
 
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-## --------------------- ##
-## M4sh Initialization.  ##
-## --------------------- ##
+SHELL=\${CONFIG_SHELL-$SHELL}
+export SHELL
+_ASEOF
+cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
+## -------------------- ##
+## M4sh Initialization. ##
+## -------------------- ##
 
 # Be more Bourne compatible
 DUALCASE=1; export DUALCASE # for MKS sh
 
 # Be more Bourne compatible
 DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
   emulate sh
   NULLCMD=:
   # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
   emulate sh
   NULLCMD=:
   # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
@@ -21852,23 +14849,15 @@ if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
   alias -g '${1+"$@"}'='"$@"'
   setopt NO_GLOB_SUBST
 else
   alias -g '${1+"$@"}'='"$@"'
   setopt NO_GLOB_SUBST
 else
-  case `(set -o) 2>/dev/null` in
-  *posix*) set -o posix ;;
+  case `(set -o) 2>/dev/null` in #(
+  *posix*) :
+    set -o posix ;; #(
+  *) :
+     ;;
 esac
 esac
-
 fi
 
 
 fi
 
 
-
-
-# PATH needs CR
-# 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
-
 as_nl='
 '
 export as_nl
 as_nl='
 '
 export as_nl
@@ -21876,7 +14865,13 @@ export as_nl
 as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
 as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
 as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
 as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
 as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
 as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+# Prefer a ksh shell builtin over an external printf program on Solaris,
+# but without wasting forks for bash or zsh.
+if test -z "$BASH_VERSION$ZSH_VERSION" \
+    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
+  as_echo='print -r --'
+  as_echo_n='print -rn --'
+elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
   as_echo='printf %s\n'
   as_echo_n='printf %s'
 else
   as_echo='printf %s\n'
   as_echo_n='printf %s'
 else
@@ -21887,7 +14882,7 @@ else
     as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
     as_echo_n_body='eval
       arg=$1;
     as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
     as_echo_n_body='eval
       arg=$1;
-      case $arg in
+      case $arg in #(
       *"$as_nl"*)
        expr "X$arg" : "X\\(.*\\)$as_nl";
        arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
       *"$as_nl"*)
        expr "X$arg" : "X\\(.*\\)$as_nl";
        arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
@@ -21910,13 +14905,6 @@ if test "${PATH_SEPARATOR+set}" != set; then
   }
 fi
 
   }
 fi
 
-# Support unset when possible.
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
-  as_unset=unset
-else
-  as_unset=false
-fi
-
 
 # IFS
 # We need space, tab and new line, in precisely that order.  Quoting is
 
 # IFS
 # We need space, tab and new line, in precisely that order.  Quoting is
 IFS=" ""       $as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
 IFS=" ""       $as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
-case $0 in
+as_myself=
+case $0 in #((
   *[\\/]* ) as_myself=$0 ;;
   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   *[\\/]* ) as_myself=$0 ;;
   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-done
+    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+  done
 IFS=$as_save_IFS
 
      ;;
 IFS=$as_save_IFS
 
      ;;
@@ -21946,12 +14935,16 @@ if test "x$as_myself" = x; then
 fi
 if test ! -f "$as_myself"; then
   $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
 fi
 if test ! -f "$as_myself"; then
   $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
-  { (exit 1); exit 1; }
+  exit 1
 fi
 
 fi
 
-# Work around bugs in pre-3.0 UWIN ksh.
-for as_var in ENV MAIL MAILPATH
-do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+# Unset variables that we do not need and which cause bugs (e.g. in
+# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
+# suppresses any "Segmentation fault" message there.  '((' could
+# trigger a bug in pdksh 5.2.14.
+for as_var in BASH_ENV ENV MAIL MAILPATH
+do eval test x\${$as_var+set} = xset \
+  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
 done
 PS1='$ '
 PS2='> '
 done
 PS1='$ '
 PS2='> '
@@ -21963,7 +14956,89 @@ export LC_ALL
 LANGUAGE=C
 export LANGUAGE
 
 LANGUAGE=C
 export LANGUAGE
 
-# Required to use basename.
+# CDPATH.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
+# script with STATUS, using 1 if that was 0.
+as_fn_error ()
+{
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
+  fi
+  $as_echo "$as_me: error: $2" >&2
+  as_fn_exit $as_status
+} # as_fn_error
+
+
+# as_fn_set_status STATUS
+# -----------------------
+# Set $? to STATUS, without forking.
+as_fn_set_status ()
+{
+  return $1
+} # as_fn_set_status
+
+# as_fn_exit STATUS
+# -----------------
+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
+as_fn_exit ()
+{
+  set +e
+  as_fn_set_status $1
+  exit $1
+} # as_fn_exit
+
+# as_fn_unset VAR
+# ---------------
+# Portably unset VAR.
+as_fn_unset ()
+{
+  { eval $1=; unset $1;}
+}
+as_unset=as_fn_unset
+# as_fn_append VAR VALUE
+# ----------------------
+# Append the text in VALUE to the end of the definition contained in VAR. Take
+# advantage of any shell optimizations that allow amortized linear growth over
+# repeated appends, instead of the typical quadratic growth present in naive
+# implementations.
+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
+  eval 'as_fn_append ()
+  {
+    eval $1+=\$2
+  }'
+else
+  as_fn_append ()
+  {
+    eval $1=\$$1\$2
+  }
+fi # as_fn_append
+
+# as_fn_arith ARG...
+# ------------------
+# Perform arithmetic evaluation on the ARGs, and store the result in the
+# global $as_val. Take advantage of shells that can avoid forks. The arguments
+# must be portable across $(()) and expr.
+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
+  eval 'as_fn_arith ()
+  {
+    as_val=$(( $* ))
+  }'
+else
+  as_fn_arith ()
+  {
+    as_val=`expr "$@" || test $? -eq 1`
+  }
+fi # as_fn_arith
+
+
 if expr a : '\(a\)' >/dev/null 2>&1 &&
    test "X`expr 00001 : '.*\(...\)'`" = X001; then
   as_expr=expr
 if expr a : '\(a\)' >/dev/null 2>&1 &&
    test "X`expr 00001 : '.*\(...\)'`" = X001; then
   as_expr=expr
@@ -21977,8 +15052,12 @@ else
   as_basename=false
 fi
 
   as_basename=false
 fi
 
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+  as_dirname=dirname
+else
+  as_dirname=false
+fi
 
 
-# Name of the executable.
 as_me=`$as_basename -- "$0" ||
 $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
         X"$0" : 'X\(//\)$' \| \
 as_me=`$as_basename -- "$0" ||
 $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
         X"$0" : 'X\(//\)$' \| \
@@ -21998,76 +15077,25 @@ $as_echo X/"$0" |
          }
          s/.*/./; q'`
 
          }
          s/.*/./; q'`
 
-# CDPATH.
-$as_unset CDPATH
-
-
-
-  as_lineno_1=$LINENO
-  as_lineno_2=$LINENO
-  test "x$as_lineno_1" != "x$as_lineno_2" &&
-  test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
-
-  # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
-  # uniformly replaced by the line number.  The first 'sed' inserts a
-  # line-number line after each line using $LINENO; the second 'sed'
-  # does the real work.  The second script uses 'N' to pair each
-  # line-number line with the line containing $LINENO, and appends
-  # trailing '-' during substitution so that $LINENO is not a special
-  # case at line end.
-  # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
-  # scripts with optimization help from Paolo Bonzini.  Blame Lee
-  # E. McMahon (1931-1989) for sed's syntax.  :-)
-  sed -n '
-    p
-    /[$]LINENO/=
-  ' <$as_myself |
-    sed '
-      s/[$]LINENO.*/&-/
-      t lineno
-      b
-      :lineno
-      N
-      :loop
-      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
-      t loop
-      s/-\n.*//
-    ' >$as_me.lineno &&
-  chmod +x "$as_me.lineno" ||
-    { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
-   { (exit 1); exit 1; }; }
-
-  # Don't try to exec as it changes $[0], causing all sort of problems
-  # (the dirname of $[0] is not the place where we might find the
-  # original and so on.  Autoconf is especially sensitive to this).
-  . "./$as_me.lineno"
-  # Exit status is that of the last command.
-  exit
-}
-
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
-  as_dirname=dirname
-else
-  as_dirname=false
-fi
+# 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
 
 ECHO_C= ECHO_N= ECHO_T=
 
 ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in
+case `echo -n x` in #(((((
 -n*)
 -n*)
-  case `echo 'x\c'` in
+  case `echo 'xy\c'` in
   *c*) ECHO_T='        ';;     # ECHO_T is single tab character.
   *c*) ECHO_T='        ';;     # ECHO_T is single tab character.
-  *)   ECHO_C='\c';;
+  xy)  ECHO_C='\c';;
+  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
+       ECHO_T='        ';;
   esac;;
 *)
   ECHO_N='-n';;
 esac
   esac;;
 *)
   ECHO_N='-n';;
 esac
-if expr a : '\(a\)' >/dev/null 2>&1 &&
-   test "X`expr 00001 : '.*\(...\)'`" = X001; then
-  as_expr=expr
-else
-  as_expr=false
-fi
 
 rm -f conf$$ conf$$.exe conf$$.file
 if test -d conf$$.dir; then
 
 rm -f conf$$ conf$$.exe conf$$.file
 if test -d conf$$.dir; then
@@ -22082,49 +15110,85 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
 
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
 
+
+# as_fn_mkdir_p
+# -------------
+# Create "$as_dir" as a directory, including parents if necessary.
+as_fn_mkdir_p ()
+{
+
+  case $as_dir in #(
+  -*) as_dir=./$as_dir;;
+  esac
+  test -d "$as_dir" || eval $as_mkdir_p || {
+    as_dirs=
+    while :; do
+      case $as_dir in #(
+      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+      *) as_qdir=$as_dir;;
+      esac
+      as_dirs="'$as_qdir' $as_dirs"
+      as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+        X"$as_dir" : 'X\(//\)[^/]' \| \
+        X"$as_dir" : 'X\(//\)$' \| \
+        X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_dir" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)[^/].*/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\).*/{
+           s//\1/
+           q
+         }
+         s/.*/./; q'`
+      test -d "$as_dir" && break
+    done
+    test -z "$as_dirs" || eval "mkdir $as_dirs"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
+
+
+} # as_fn_mkdir_p
 if mkdir -p . 2>/dev/null; then
 if mkdir -p . 2>/dev/null; then
-  as_mkdir_p=:
+  as_mkdir_p='mkdir -p "$as_dir"'
 else
   test -d ./-p && rmdir ./-p
   as_mkdir_p=false
 fi
 
 else
   test -d ./-p && rmdir ./-p
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-       test -d "$1/.";
-      else
-       case $1 in
-       -*)set "./$1";;
-       esac;
-       case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
-       ???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -22134,13 +15198,19 @@ as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
 
 
 exec 6>&1
 
 
 exec 6>&1
+## ----------------------------------- ##
+## Main body of $CONFIG_STATUS script. ##
+## ----------------------------------- ##
+_ASEOF
+test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
 
 
-# Save the log message, to keep $[0] and so on meaningful, and to
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# Save the log message, to keep $0 and so on meaningful, and to
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
 This file was extended by $as_me, which was
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
 This file was extended by $as_me, which was
-generated by GNU Autoconf 2.63.  Invocation command line was
+generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
   CONFIG_HEADERS  = $CONFIG_HEADERS
 
   CONFIG_FILES    = $CONFIG_FILES
   CONFIG_HEADERS  = $CONFIG_HEADERS
@@ -22172,13 +15242,15 @@ _ACEOF
 
 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 ac_cs_usage="\
 
 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 ac_cs_usage="\
-\`$as_me' instantiates files from templates according to the
-current configuration.
+\`$as_me' instantiates files and other configuration actions
+from templates according to the current configuration.  Unless the files
+and actions are specified as TAGs, all are instantiated by default.
 
 
-Usage: $0 [OPTION]... [FILE]...
+Usage: $0 [OPTION]... [TAG]...
 
   -h, --help       print this help, then exit
   -V, --version    print version number and configuration settings, then exit
 
   -h, --help       print this help, then exit
   -V, --version    print version number and configuration settings, then exit
+      --config     print configuration, then exit
   -q, --quiet, --silent
                    do not print progress messages
   -d, --debug      don't remove temporary files
   -q, --quiet, --silent
                    do not print progress messages
   -d, --debug      don't remove temporary files
@@ -22197,16 +15269,17 @@ $config_headers
 Configuration commands:
 $config_commands
 
 Configuration commands:
 $config_commands
 
-Report bugs to <bug-autoconf@gnu.org>."
+Report bugs to the package provider."
 
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
 config.status
 ac_cs_version="\\
 config.status
-configured by $0, generated by GNU Autoconf 2.63,
-  with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
+configured by $0, generated by GNU Autoconf 2.69,
+  with options \\"\$ac_cs_config\\"
 
 
-Copyright (C) 2008 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
 This config.status script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it."
 
 This config.status script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it."
 
@@ -22222,11 +15295,16 @@ ac_need_defaults=:
 while test $# != 0
 do
   case $1 in
 while test $# != 0
 do
   case $1 in
-  --*=*)
+  --*=?*)
     ac_option=`expr "X$1" : 'X\([^=]*\)='`
     ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
     ac_shift=:
     ;;
     ac_option=`expr "X$1" : 'X\([^=]*\)='`
     ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
     ac_shift=:
     ;;
+  --*=)
+    ac_option=`expr "X$1" : 'X\([^=]*\)='`
+    ac_optarg=
+    ac_shift=:
+    ;;
   *)
     ac_option=$1
     ac_optarg=$2
   *)
     ac_option=$1
     ac_optarg=$2
     ac_cs_recheck=: ;;
   --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
     $as_echo "$ac_cs_version"; exit ;;
     ac_cs_recheck=: ;;
   --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
     $as_echo "$ac_cs_version"; exit ;;
+  --config | --confi | --conf | --con | --co | --c )
+    $as_echo "$ac_cs_config"; exit ;;
   --debug | --debu | --deb | --de | --d | -d )
     debug=: ;;
   --file | --fil | --fi | --f )
     $ac_shift
     case $ac_optarg in
     *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
   --debug | --debu | --deb | --de | --d | -d )
     debug=: ;;
   --file | --fil | --fi | --f )
     $ac_shift
     case $ac_optarg in
     *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    '') as_fn_error $? "missing file argument" ;;
     esac
     esac
-    CONFIG_FILES="$CONFIG_FILES '$ac_optarg'"
+    as_fn_append CONFIG_FILES " '$ac_optarg'"
     ac_need_defaults=false;;
   --header | --heade | --head | --hea )
     $ac_shift
     case $ac_optarg in
     *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
     esac
     ac_need_defaults=false;;
   --header | --heade | --head | --hea )
     $ac_shift
     case $ac_optarg in
     *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
     esac
-    CONFIG_HEADERS="$CONFIG_HEADERS '$ac_optarg'"
+    as_fn_append CONFIG_HEADERS " '$ac_optarg'"
     ac_need_defaults=false;;
   --he | --h)
     # Conflict between --help and --header
     ac_need_defaults=false;;
   --he | --h)
     # Conflict between --help and --header
-    { $as_echo "$as_me: error: ambiguous option: $1
-Try \`$0 --help' for more information." >&2
-   { (exit 1); exit 1; }; };;
+    as_fn_error $? "ambiguous option: \`$1'
+Try \`$0 --help' for more information.";;
   --help | --hel | -h )
     $as_echo "$ac_cs_usage"; exit ;;
   -q | -quiet | --quiet | --quie | --qui | --qu | --q \
   --help | --hel | -h )
     $as_echo "$ac_cs_usage"; exit ;;
   -q | -quiet | --quiet | --quie | --qui | --qu | --q \
@@ -22268,11 +15348,10 @@ Try \`$0 --help' for more information." >&2
     ac_cs_silent=: ;;
 
   # This is an error.
     ac_cs_silent=: ;;
 
   # This is an error.
-  -*) { $as_echo "$as_me: error: unrecognized option: $1
-Try \`$0 --help' for more information." >&2
-   { (exit 1); exit 1; }; } ;;
+  -*) as_fn_error $? "unrecognized option: \`$1'
+Try \`$0 --help' for more information." ;;
 
 
-  *) ac_config_targets="$ac_config_targets $1"
+  *) as_fn_append ac_config_targets " $1"
      ac_need_defaults=false ;;
 
   esac
      ac_need_defaults=false ;;
 
   esac
@@ -22289,7 +15368,7 @@ fi
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 if \$ac_cs_recheck; then
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 if \$ac_cs_recheck; then
-  set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+  set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
   shift
   \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
   CONFIG_SHELL='$SHELL'
   shift
   \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
   CONFIG_SHELL='$SHELL'
@@ -22336,9 +15415,7 @@ do
     "po/Makefile.in") CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;;
     "driver/XScreenSaver.ad") CONFIG_FILES="$CONFIG_FILES driver/XScreenSaver.ad" ;;
 
     "po/Makefile.in") CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;;
     "driver/XScreenSaver.ad") CONFIG_FILES="$CONFIG_FILES driver/XScreenSaver.ad" ;;
 
-  *) { { $as_echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
-$as_echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
-   { (exit 1); exit 1; }; };;
+  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
   esac
 done
 
   esac
 done
 
 # after its creation but before its name has been assigned to `$tmp'.
 $debug ||
 {
 # after its creation but before its name has been assigned to `$tmp'.
 $debug ||
 {
-  tmp=
+  tmp= ac_tmp=
   trap 'exit_status=$?
   trap 'exit_status=$?
-  { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
+  : "${ac_tmp:=$tmp}"
+  { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
 ' 0
 ' 0
-  trap '{ (exit 1); exit 1; }' 1 2 13 15
+  trap 'as_fn_exit 1' 1 2 13 15
 }
 # Create a (secure) tmp directory for tmp files.
 
 {
   tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
 }
 # Create a (secure) tmp directory for tmp files.
 
 {
   tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
-  test -n "$tmp" && test -d "$tmp"
+  test -d "$tmp"
 }  ||
 {
   tmp=./conf$$-$RANDOM
   (umask 077 && mkdir "$tmp")
 }  ||
 {
   tmp=./conf$$-$RANDOM
   (umask 077 && mkdir "$tmp")
-} ||
-{
-   $as_echo "$as_me: cannot create a temporary directory in ." >&2
-   { (exit 1); exit 1; }
-}
+} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
+ac_tmp=$tmp
 
 # Set up the scripts for CONFIG_FILES section.
 # No need to generate them if there are no CONFIG_FILES.
 
 # Set up the scripts for CONFIG_FILES section.
 # No need to generate them if there are no CONFIG_FILES.
@@ -22388,7 +15463,13 @@ $debug ||
 if test -n "$CONFIG_FILES"; then
 
 
 if test -n "$CONFIG_FILES"; then
 
 
-ac_cr='\r'
+ac_cr=`echo X | tr X '\015'`
+# On cygwin, bash can eat \r inside `` if the user requested igncr.
+# But we know of no other shell where ac_cr would be empty at this
+# point, so we can use a bashism as a fallback.
+if test "x$ac_cr" = x; then
+  eval ac_cr=\$\'\\r\'
+fi
 ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
 if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
   ac_cs_awk_cr='\\r'
 ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
 if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
   ac_cs_awk_cr='\\r'
@@ -22396,7 +15477,7 @@ else
   ac_cs_awk_cr=$ac_cr
 fi
 
   ac_cs_awk_cr=$ac_cr
 fi
 
-echo 'BEGIN {' >"$tmp/subs1.awk" &&
+echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
 _ACEOF
 
 
 _ACEOF
 
 
@@ -22405,24 +15486,18 @@ _ACEOF
   echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
   echo "_ACEOF"
 } >conf$$subs.sh ||
   echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
   echo "_ACEOF"
 } >conf$$subs.sh ||
-  { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
-$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
-   { (exit 1); exit 1; }; }
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'`
+  as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
 ac_delim='%!_!# '
 for ac_last_try in false false false false false :; do
   . ./conf$$subs.sh ||
 ac_delim='%!_!# '
 for ac_last_try in false false false false false :; do
   . ./conf$$subs.sh ||
-    { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
-$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
-   { (exit 1); exit 1; }; }
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
 
   ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
   if test $ac_delim_n = $ac_delim_num; then
     break
   elif $ac_last_try; then
 
   ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
   if test $ac_delim_n = $ac_delim_num; then
     break
   elif $ac_last_try; then
-    { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
-$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
-   { (exit 1); exit 1; }; }
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
   else
     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
   else
     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
@@ -22430,7 +15505,7 @@ done
 rm -f conf$$subs.sh
 
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 rm -f conf$$subs.sh
 
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
 _ACEOF
 sed -n '
 h
 _ACEOF
 sed -n '
 h
@@ -22444,7 +15519,7 @@ s/'"$ac_delim"'$//
 t delim
 :nl
 h
 t delim
 :nl
 h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
 t more1
 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
 p
 t more1
 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
 p
@@ -22458,7 +15533,7 @@ s/.\{148\}//
 t nl
 :delim
 h
 t nl
 :delim
 h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
 t more2
 s/["\\]/\\&/g; s/^/"/; s/$/"/
 p
 t more2
 s/["\\]/\\&/g; s/^/"/; s/$/"/
 p
@@ -22478,7 +15553,7 @@ t delim
 rm -f conf$$subs.awk
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 _ACAWK
 rm -f conf$$subs.awk
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 _ACAWK
-cat >>"\$tmp/subs1.awk" <<_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
   for (key in S) S_is_set[key] = 1
   FS = "\a"
 
   for (key in S) S_is_set[key] = 1
   FS = "\a"
 
@@ -22510,23 +15585,29 @@ if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
   sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
 else
   cat
   sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
 else
   cat
-fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
-  || { { $as_echo "$as_me:$LINENO: error: could not setup config files machinery" >&5
-$as_echo "$as_me: error: could not setup config files machinery" >&2;}
-   { (exit 1); exit 1; }; }
+fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
+  || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
 _ACEOF
 
 _ACEOF
 
-# VPATH may cause trouble with some makes, so we remove $(srcdir),
-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
+# ${srcdir} and @srcdir@ entries 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
 # 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/
+  ac_vpsub='/^[         ]*VPATH[        ]*=[    ]*/{
+h
+s///
+s/^/:/
+s/[     ]*$/:/
+s/:\$(srcdir):/:/g
+s/:\${srcdir}:/:/g
+s/:@srcdir@:/:/g
+s/^:*//
 s/:*$//
 s/:*$//
+x
+s/\(=[  ]*\).*/\1/
+G
+s/\n//
 s/^[^=]*=[      ]*$//
 }'
 fi
 s/^[^=]*=[      ]*$//
 }'
 fi
@@ -22538,7 +15619,7 @@ fi # test -n "$CONFIG_FILES"
 # No need to generate them if there are no CONFIG_HEADERS.
 # This happens for instance with `./config.status Makefile'.
 if test -n "$CONFIG_HEADERS"; then
 # No need to generate them if there are no CONFIG_HEADERS.
 # This happens for instance with `./config.status Makefile'.
 if test -n "$CONFIG_HEADERS"; then
-cat >"$tmp/defines.awk" <<\_ACAWK ||
+cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
 BEGIN {
 _ACEOF
 
 BEGIN {
 _ACEOF
 
@@ -22550,13 +15631,11 @@ _ACEOF
 # handling of long lines.
 ac_delim='%!_!# '
 for ac_last_try in false false :; do
 # handling of long lines.
 ac_delim='%!_!# '
 for ac_last_try in false false :; do
-  ac_t=`sed -n "/$ac_delim/p" confdefs.h`
-  if test -z "$ac_t"; then
+  ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
+  if test -z "$ac_tt"; then
     break
   elif $ac_last_try; then
     break
   elif $ac_last_try; then
-    { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_HEADERS" >&5
-$as_echo "$as_me: error: could not make $CONFIG_HEADERS" >&2;}
-   { (exit 1); exit 1; }; }
+    as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
   else
     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
   else
     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
@@ -22641,9 +15720,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 _ACAWK
 _ACEOF
 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 _ACAWK
 _ACEOF
 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-  { { $as_echo "$as_me:$LINENO: error: could not setup config headers machinery" >&5
-$as_echo "$as_me: error: could not setup config headers machinery" >&2;}
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
 fi # test -n "$CONFIG_HEADERS"
 
 
 fi # test -n "$CONFIG_HEADERS"
 
 
@@ -22656,9 +15733,7 @@ do
   esac
   case $ac_mode$ac_tag in
   :[FHL]*:*);;
   esac
   case $ac_mode$ac_tag in
   :[FHL]*:*);;
-  :L* | :C*:*) { { $as_echo "$as_me:$LINENO: error: invalid tag $ac_tag" >&5
-$as_echo "$as_me: error: invalid tag $ac_tag" >&2;}
-   { (exit 1); exit 1; }; };;
+  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
   :[FH]-) ac_tag=-:-;;
   :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
   esac
   :[FH]-) ac_tag=-:-;;
   :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
   esac
@@ -22677,7 +15752,7 @@ $as_echo "$as_me: error: invalid tag $ac_tag" >&2;}
     for ac_f
     do
       case $ac_f in
     for ac_f
     do
       case $ac_f in
-      -) ac_f="$tmp/stdin";;
+      -) ac_f="$ac_tmp/stdin";;
       *) # Look for the file first in the build tree, then in the source tree
         # (if the path is not absolute).  The absolute path cannot be DOS-style,
         # because $ac_f cannot contain `:'.
       *) # Look for the file first in the build tree, then in the source tree
         # (if the path is not absolute).  The absolute path cannot be DOS-style,
         # because $ac_f cannot contain `:'.
@@ -22686,12 +15761,10 @@ $as_echo "$as_me: error: invalid tag $ac_tag" >&2;}
           [\\/$]*) false;;
           *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
           esac ||
           [\\/$]*) false;;
           *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
           esac ||
-          { { $as_echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5
-$as_echo "$as_me: error: cannot find input file: $ac_f" >&2;}
-   { (exit 1); exit 1; }; };;
+          as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
       esac
       case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
       esac
       case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
-      ac_file_inputs="$ac_file_inputs '$ac_f'"
+      as_fn_append ac_file_inputs " '$ac_f'"
     done
 
     # Let's still pretend it is `configure' which instantiates (i.e., don't
     done
 
     # Let's still pretend it is `configure' which instantiates (i.e., don't
@@ -22702,7 +15775,7 @@ $as_echo "$as_me: error: cannot find input file: $ac_f" >&2;}
        `' by configure.'
     if test x"$ac_file" != x-; then
       configure_input="$ac_file.  $configure_input"
        `' by configure.'
     if test x"$ac_file" != x-; then
       configure_input="$ac_file.  $configure_input"
-      { $as_echo "$as_me:$LINENO: creating $ac_file" >&5
+      { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
 $as_echo "$as_me: creating $ac_file" >&6;}
     fi
     # Neutralize special characters interpreted by sed in replacement strings.
 $as_echo "$as_me: creating $ac_file" >&6;}
     fi
     # Neutralize special characters interpreted by sed in replacement strings.
@@ -22714,10 +15787,8 @@ $as_echo "$as_me: creating $ac_file" >&6;}
     esac
 
     case $ac_tag in
     esac
 
     case $ac_tag in
-    *:-:* | *:-) cat >"$tmp/stdin" \
-      || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
-$as_echo "$as_me: error: could not create $ac_file" >&2;}
-   { (exit 1); exit 1; }; } ;;
+    *:-:* | *:-) cat >"$ac_tmp/stdin" \
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
     esac
     ;;
   esac
     esac
     ;;
   esac
@@ -22745,47 +15816,7 @@ $as_echo X"$ac_file" |
            q
          }
          s/.*/./; q'`
            q
          }
          s/.*/./; q'`
-  { as_dir="$ac_dir"
-  case $as_dir in #(
-  -*) as_dir=./$as_dir;;
-  esac
-  test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
-    as_dirs=
-    while :; do
-      case $as_dir in #(
-      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
-      *) as_qdir=$as_dir;;
-      esac
-      as_dirs="'$as_qdir' $as_dirs"
-      as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$as_dir" : 'X\(//\)[^/]' \| \
-        X"$as_dir" : 'X\(//\)$' \| \
-        X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-      test -d "$as_dir" && break
-    done
-    test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
-$as_echo "$as_me: error: cannot create directory $as_dir" >&2;}
-   { (exit 1); exit 1; }; }; }
+  as_dir="$ac_dir"; as_fn_mkdir_p
   ac_builddir=.
 
 case "$ac_dir" in
   ac_builddir=.
 
 case "$ac_dir" in
@@ -22837,7 +15868,6 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # If the template does not know about datarootdir, expand it.
 # FIXME: This hack should be removed a few years after 2.60.
 ac_datarootdir_hack=; ac_datarootdir_seen=
 # If the template does not know about datarootdir, expand it.
 # FIXME: This hack should be removed a few years after 2.60.
 ac_datarootdir_hack=; ac_datarootdir_seen=
-
 ac_sed_dataroot='
 /datarootdir/ {
   p
 ac_sed_dataroot='
 /datarootdir/ {
   p
@@ -22847,12 +15877,11 @@ ac_sed_dataroot='
 /@docdir@/p
 /@infodir@/p
 /@localedir@/p
 /@docdir@/p
 /@infodir@/p
 /@localedir@/p
-/@mandir@/p
-'
+/@mandir@/p'
 case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
 *datarootdir*) ac_datarootdir_seen=yes;;
 *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
 case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
 *datarootdir*) ac_datarootdir_seen=yes;;
 *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
-  { $as_echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
 $as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 $as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
@@ -22862,7 +15891,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
   s&@infodir@&$infodir&g
   s&@localedir@&$localedir&g
   s&@mandir@&$mandir&g
   s&@infodir@&$infodir&g
   s&@localedir@&$localedir&g
   s&@mandir@&$mandir&g
-    s&\\\${datarootdir}&$datarootdir&g' ;;
+  s&\\\${datarootdir}&$datarootdir&g' ;;
 esac
 _ACEOF
 
 esac
 _ACEOF
 
@@ -22889,27 +15918,24 @@ s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
 s&@INSTALL@&$ac_INSTALL&;t t
 $ac_datarootdir_hack
 "
 s&@INSTALL@&$ac_INSTALL&;t t
 $ac_datarootdir_hack
 "
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
-  || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
-$as_echo "$as_me: error: could not create $ac_file" >&2;}
-   { (exit 1); exit 1; }; }
+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
+  >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
 
 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
 
 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
-  { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
-  { ac_out=`sed -n '/^[         ]*datarootdir[  ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
-  { $as_echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&5
+  { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
+  { ac_out=`sed -n '/^[         ]*datarootdir[  ]*:*=/p' \
+      "$ac_tmp/out"`; test -z "$ac_out"; } &&
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined.  Please make sure it is defined" >&5
 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&2;}
+which seems to be undefined.  Please make sure it is defined" >&2;}
 
 
-  rm -f "$tmp/stdin"
+  rm -f "$ac_tmp/stdin"
   case $ac_file in
   case $ac_file in
-  -) cat "$tmp/out" && rm -f "$tmp/out";;
-  *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
+  -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
+  *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
   esac \
   esac \
-  || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
-$as_echo "$as_me: error: could not create $ac_file" >&2;}
-   { (exit 1); exit 1; }; }
+  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
  ;;
   :H)
   #
  ;;
   :H)
   #
@@ -22918,31 +15944,25 @@ $as_echo "$as_me: error: could not create $ac_file" >&2;}
   if test x"$ac_file" != x-; then
     {
       $as_echo "/* $configure_input  */" \
   if test x"$ac_file" != x-; then
     {
       $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
-    } >"$tmp/config.h" \
-      || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
-$as_echo "$as_me: error: could not create $ac_file" >&2;}
-   { (exit 1); exit 1; }; }
-    if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
-      { $as_echo "$as_me:$LINENO: $ac_file is unchanged" >&5
+      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
+    } >"$ac_tmp/config.h" \
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+    if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
 $as_echo "$as_me: $ac_file is unchanged" >&6;}
     else
       rm -f "$ac_file"
 $as_echo "$as_me: $ac_file is unchanged" >&6;}
     else
       rm -f "$ac_file"
-      mv "$tmp/config.h" "$ac_file" \
-       || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
-$as_echo "$as_me: error: could not create $ac_file" >&2;}
-   { (exit 1); exit 1; }; }
+      mv "$ac_tmp/config.h" "$ac_file" \
+       || as_fn_error $? "could not create $ac_file" "$LINENO" 5
     fi
   else
     $as_echo "/* $configure_input  */" \
     fi
   else
     $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \
-      || { { $as_echo "$as_me:$LINENO: error: could not create -" >&5
-$as_echo "$as_me: error: could not create -" >&2;}
-   { (exit 1); exit 1; }; }
+      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
+      || as_fn_error $? "could not create -" "$LINENO" 5
   fi
  ;;
 
   fi
  ;;
 
-  :C)  { $as_echo "$as_me:$LINENO: executing $ac_file commands" >&5
+  :C)  { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
 $as_echo "$as_me: executing $ac_file commands" >&6;}
  ;;
   esac
 $as_echo "$as_me: executing $ac_file commands" >&6;}
  ;;
   esac
@@ -22990,15 +16010,12 @@ chmod u+w intltool-update
 done # for ac_tag
 
 
 done # for ac_tag
 
 
-{ (exit 0); exit 0; }
+as_fn_exit 0
 _ACEOF
 _ACEOF
-chmod +x $CONFIG_STATUS
 ac_clean_files=$ac_clean_files_save
 
 test $ac_write_fail = 0 ||
 ac_clean_files=$ac_clean_files_save
 
 test $ac_write_fail = 0 ||
-  { { $as_echo "$as_me:$LINENO: error: write failure creating $CONFIG_STATUS" >&5
-$as_echo "$as_me: error: write failure creating $CONFIG_STATUS" >&2;}
-   { (exit 1); exit 1; }; }
+  as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
 
 
 # configure is writing to config.log, and then calls config.status.
 
 
 # configure is writing to config.log, and then calls config.status.
@@ -23019,10 +16036,10 @@ if test "$no_create" != yes; then
   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.
   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; }
+  $ac_cs_success || as_fn_exit 1
 fi
 if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
 fi
 if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
-  { $as_echo "$as_me:$LINENO: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
 $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
 fi
 
 $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
 fi
 
@@ -23433,15 +16450,10 @@ HACK_CONF_DIR=`echo "${HACK_CONF_DIR}" | sed 's@/$@@;s@//*@/@g'`
 for bad_choice in xscreensaver xscreensaver-demo xscreensaver-command ; do
   if test "${HACKDIR}" = "${bindir}/${bad_choice}" ; then
     echo ""
 for bad_choice in xscreensaver xscreensaver-demo xscreensaver-command ; do
   if test "${HACKDIR}" = "${bindir}/${bad_choice}" ; then
     echo ""
-    { { $as_echo "$as_me:$LINENO: error: \"--with-hackdir=${bindir}/${bad_choice}\" won't work.
-                   There will be an executable installed with that name, so
-                   that can't be the name of a directory as well.  Please
-                   re-configure with a different directory name." >&5
-$as_echo "$as_me: error: \"--with-hackdir=${bindir}/${bad_choice}\" won't work.
+    as_fn_error $? "\"--with-hackdir=${bindir}/${bad_choice}\" won't work.
                    There will be an executable installed with that name, so
                    that can't be the name of a directory as well.  Please
                    There will be an executable installed with that name, so
                    that can't be the name of a directory as well.  Please
-                   re-configure with a different directory name." >&2;}
-   { (exit 1); exit 1; }; }
+                   re-configure with a different directory name." "$LINENO" 5
   fi
 done
 
   fi
 done
 
index 4cff8fa4ffbe4033e4f9ea8cc942274384bf47aa..748879558d5ea3a0967201433bad0ee939cfc7e5 100644 (file)
@@ -338,7 +338,7 @@ done
 ###############################################################################
 
 AC_DEFUN(AC_PROG_CC_ANSI,
 ###############################################################################
 
 AC_DEFUN(AC_PROG_CC_ANSI,
- [AC_PROG_CC
+ [AC_REQUIRE([AC_PROG_CC])
 
   if test -z "$GCC"; then
     # not using GCC
 
   if test -z "$GCC"; then
     # not using GCC
index 9faa3ef7c61bbcdf98be1a3c1665ff0c90ef3805..af077ca935b8e53891451325b13af824868895e6 100644 (file)
@@ -736,30 +736,30 @@ $(SAVER_UTIL_OBJS):
 
 # How we build object files in this directory.
 .c.o:
 
 # How we build object files in this directory.
 .c.o:
-       $(CC) -c $(INCLUDES) $(DEFS) $(CFLAGS) $(X_CFLAGS) $<
+       $(CC) -c $(INCLUDES) $(DEFS) $(CPPFLAGS) $(CFLAGS) $(X_CFLAGS) $<
 
 .m.o:
 
 .m.o:
-       $(OBJCC) -c $(INCLUDES) $(DEFS) $(CFLAGS) $(X_CFLAGS) $<
+       $(OBJCC) -c $(INCLUDES) $(DEFS) $(CPPFLAGS) $(CFLAGS) $(X_CFLAGS) $<
 
 # subprocs takes an extra -D option.
 subprocs.o: subprocs.c
 
 # subprocs takes an extra -D option.
 subprocs.o: subprocs.c
-       $(CC) -c $(INCLUDES) $(SUBP_DEFS) $(CFLAGS) $(X_CFLAGS) \
+       $(CC) -c $(INCLUDES) $(SUBP_DEFS) $(CPPFLAGS) $(CFLAGS) $(X_CFLAGS) \
          $(srcdir)/subprocs.c
 
 # xscreensaver takes an extra -D option.
 xscreensaver.o: xscreensaver.c
          $(srcdir)/subprocs.c
 
 # xscreensaver takes an extra -D option.
 xscreensaver.o: xscreensaver.c
-       $(CC) -c $(INCLUDES) $(DEFS) $(INTL_DEFS) $(CFLAGS) $(X_CFLAGS) \
+       $(CC) -c $(INCLUDES) $(DEFS) $(INTL_DEFS) $(CPPFLAGS) $(CFLAGS) $(X_CFLAGS) \
          $(srcdir)/xscreensaver.c
 
 # demo-Gtk takes extra -D options, and an extra -I option.
 demo-Gtk.o: demo-Gtk.c
        $(CC) -c $(INCLUDES) $(SUBP_DEFS) -I$(ICON_SRC) \
          $(srcdir)/xscreensaver.c
 
 # demo-Gtk takes extra -D options, and an extra -I option.
 demo-Gtk.o: demo-Gtk.c
        $(CC) -c $(INCLUDES) $(SUBP_DEFS) -I$(ICON_SRC) \
-         $(GTK_DEFS) $(INTL_DEFS) $(CFLAGS) $(X_CFLAGS) \
+         $(GTK_DEFS) $(INTL_DEFS) $(CPPFLAGS) $(CFLAGS) $(X_CFLAGS) \
          $(srcdir)/demo-Gtk.c
 
 # demo-Gtk-conf takes an extra -D option.
 demo-Gtk-conf.o: demo-Gtk-conf.c
          $(srcdir)/demo-Gtk.c
 
 # demo-Gtk-conf takes an extra -D option.
 demo-Gtk-conf.o: demo-Gtk-conf.c
-       $(CC) -c $(INCLUDES) $(CONF_DEFS) $(GTK_DEFS) $(CFLAGS) $(X_CFLAGS) \
+       $(CC) -c $(INCLUDES) $(CONF_DEFS) $(GTK_DEFS) $(CPPFLAGS) $(CFLAGS) $(X_CFLAGS) \
          $(srcdir)/demo-Gtk-conf.c
 
 
          $(srcdir)/demo-Gtk-conf.c
 
 
@@ -862,7 +862,7 @@ test-screens: test-screens.o
 
 
 xdpyinfo.o: xdpyinfo.c
 
 
 xdpyinfo.o: xdpyinfo.c
-       $(CC) -c $(INCLUDES) -DHAVE_GLX $(CFLAGS) $(X_CFLAGS) \
+       $(CC) -c $(INCLUDES) -DHAVE_GLX $(CPPFLAGS) $(CFLAGS) $(X_CFLAGS) \
          $(srcdir)/xdpyinfo.c
 
 xdpyinfo: xdpyinfo.o
          $(srcdir)/xdpyinfo.c
 
 xdpyinfo: xdpyinfo.o
index 013109208cd7065d09bc8c6b7047466230da20db..35bf033d26850d7f7448e7732e9a9c9529c8f59e 100644 (file)
@@ -4,8 +4,8 @@
 !            a screen saver and locker for the X window system
 !                            by Jamie Zawinski
 !
 !            a screen saver and locker for the X window system
 !                            by Jamie Zawinski
 !
-!                              version 5.23
-!                              09-Nov-2013
+!                              version 5.24
+!                              07-Dec-2013
 !
 ! See "man xscreensaver" for more info.  The latest version is always
 ! available at http://www.jwz.org/xscreensaver/
 !
 ! See "man xscreensaver" for more info.  The latest version is always
 ! available at http://www.jwz.org/xscreensaver/
index ae68ab9ac6d322e773e017364c43c83827e94562..678ae443acc61bc2955ee17ede85297a0c6729f3 100644 (file)
@@ -53,7 +53,7 @@
 "*installColormap:     True",
 "*programs:                                                                  \
                                maze -root                                  \\n\
 "*installColormap:     True",
 "*programs:                                                                  \
                                maze -root                                  \\n\
-  GL:                          superquadrics -root                         \\n\
+- GL:                          superquadrics -root                         \\n\
                                attraction -root                            \\n\
                                blitspin -root                              \\n\
                                greynetic -root                             \\n\
                                attraction -root                            \\n\
                                blitspin -root                              \\n\
                                greynetic -root                             \\n\
                                goop -root                                  \\n\
                                grav -root                                  \\n\
                                ifs -root                                   \\n\
                                goop -root                                  \\n\
                                grav -root                                  \\n\
                                ifs -root                                   \\n\
-  GL:                          jigsaw -root                                \\n\
+- GL:                          jigsaw -root                                \\n\
                                julia -root                                 \\n\
 -                              kaleidescope -root                          \\n\
                                julia -root                                 \\n\
 -                              kaleidescope -root                          \\n\
-  GL:                          moebius -root                               \\n\
+- GL:                          moebius -root                               \\n\
                                moire -root                                 \\n\
                                moire -root                                 \\n\
-  GL:                          morph3d -root                               \\n\
+- GL:                          morph3d -root                               \\n\
                                mountain -root                              \\n\
                                munch -root                                 \\n\
                                penrose -root                               \\n\
                                mountain -root                              \\n\
                                munch -root                                 \\n\
                                penrose -root                               \\n\
-  GL:                          pipes -root                                 \\n\
+- GL:                          pipes -root                                 \\n\
                                rd-bomb -root                               \\n\
                                rd-bomb -root                               \\n\
-  GL:                          rubik -root                                 \\n\
+- GL:                          rubik -root                                 \\n\
 -                              sierpinski -root                            \\n\
                                slip -root                                  \\n\
 -                              sierpinski -root                            \\n\
                                slip -root                                  \\n\
-  GL:                          sproingies -root                            \\n\
+- GL:                          sproingies -root                            \\n\
                                starfish -root                              \\n\
                                strange -root                               \\n\
                                swirl -root                                 \\n\
                                triangle -root                              \\n\
                                xjack -root                                 \\n\
                                xlyap -root                                 \\n\
                                starfish -root                              \\n\
                                strange -root                               \\n\
                                swirl -root                                 \\n\
                                triangle -root                              \\n\
                                xjack -root                                 \\n\
                                xlyap -root                                 \\n\
-  GL:                          atlantis -root                              \\n\
+- GL:                          atlantis -root                              \\n\
                                bsod -root                                  \\n\
                                bsod -root                                  \\n\
-  GL:                          bubble3d -root                              \\n\
-  GL:                          cage -root                                  \\n\
+- GL:                          bubble3d -root                              \\n\
+- GL:                          cage -root                                  \\n\
 -                              crystal -root                               \\n\
                                cynosure -root                              \\n\
                                discrete -root                              \\n\
 -                              crystal -root                               \\n\
                                cynosure -root                              \\n\
                                discrete -root                              \\n\
 - GL:                          glplanet -root                              \\n\
                                interference -root                          \\n\
                                kumppa -root                                \\n\
 - GL:                          glplanet -root                              \\n\
                                interference -root                          \\n\
                                kumppa -root                                \\n\
-  GL:                          lament -root                                \\n\
+- GL:                          lament -root                                \\n\
                                moire2 -root                                \\n\
                                moire2 -root                                \\n\
-  GL:                          sonar -root                                 \\n\
-  GL:                          stairs -root                                \\n\
+- GL:                          sonar -root                                 \\n\
+- GL:                          stairs -root                                \\n\
                                truchet -root                               \\n\
 -                              vidwhacker -root                            \\n\
                                blaster -root                               \\n\
                                truchet -root                               \\n\
 -                              vidwhacker -root                            \\n\
                                blaster -root                               \\n\
                                penetrate -root                             \\n\
                                petri -root                                 \\n\
                                phosphor -root                              \\n\
                                penetrate -root                             \\n\
                                petri -root                                 \\n\
                                phosphor -root                              \\n\
-  GL:                          pulsar -root                                \\n\
+- GL:                          pulsar -root                                \\n\
                                ripples -root                               \\n\
                                shadebobs -root                             \\n\
                                ripples -root                               \\n\
                                shadebobs -root                             \\n\
-  GL:                          sierpinski3d -root                          \\n\
+- GL:                          sierpinski3d -root                          \\n\
                                spotlight -root                             \\n\
                                squiral -root                               \\n\
                                wander -root                                \\n\
 -                              webcollage -root                            \\n\
                                xflame -root                                \\n\
                                xmatrix -root                               \\n\
                                spotlight -root                             \\n\
                                squiral -root                               \\n\
                                wander -root                                \\n\
 -                              webcollage -root                            \\n\
                                xflame -root                                \\n\
                                xmatrix -root                               \\n\
-  GL:                          gflux -root                                 \\n\
+- GL:                          gflux -root                                 \\n\
 -                              nerverot -root                              \\n\
                                xrayswarm -root                             \\n\
                                xspirograph -root                           \\n\
 -                              nerverot -root                              \\n\
                                xrayswarm -root                             \\n\
                                xspirograph -root                           \\n\
-  GL:                          circuit -root                               \\n\
-  GL:                          dangerball -root                            \\n\
+- GL:                          circuit -root                               \\n\
+- GL:                          dangerball -root                            \\n\
 - GL:                          dnalogo -root                               \\n\
 - GL:                          dnalogo -root                               \\n\
-  GL:                          engine -root                                \\n\
-  GL:                          flipscreen3d -root                          \\n\
-  GL:                          gltext -root                                \\n\
-  GL:                          menger -root                                \\n\
-  GL:                          molecule -root                              \\n\
+- GL:                          engine -root                                \\n\
+- GL:                          flipscreen3d -root                          \\n\
+- GL:                          gltext -root                                \\n\
+- GL:                          menger -root                                \\n\
+- GL:                          molecule -root                              \\n\
                                rotzoomer -root                             \\n\
                                speedmine -root                             \\n\
                                rotzoomer -root                             \\n\
                                speedmine -root                             \\n\
-  GL:                          starwars -root                              \\n\
-  GL:                          stonerview -root                            \\n\
+- GL:                          starwars -root                              \\n\
+- GL:                          stonerview -root                            \\n\
                                vermiculate -root                           \\n\
                                whirlwindwarp -root                         \\n\
                                zoom -root                                  \\n\
                                anemone -root                               \\n\
                                apollonian -root                            \\n\
                                vermiculate -root                           \\n\
                                whirlwindwarp -root                         \\n\
                                zoom -root                                  \\n\
                                anemone -root                               \\n\
                                apollonian -root                            \\n\
-  GL:                          boxed -root                                 \\n\
-  GL:                          cubenetic -root                             \\n\
-  GL:                          endgame -root                               \\n\
+- GL:                          boxed -root                                 \\n\
+- GL:                          cubenetic -root                             \\n\
+- GL:                          endgame -root                               \\n\
                                euler2d -root                               \\n\
                                fluidballs -root                            \\n\
                                euler2d -root                               \\n\
                                fluidballs -root                            \\n\
-  GL:                          flurry -root                                \\n\
+- GL:                          flurry -root                                \\n\
 - GL:                          glblur -root                                \\n\
 - GL:                          glblur -root                                \\n\
-  GL:                          glsnake -root                               \\n\
+- GL:                          glsnake -root                               \\n\
                                halftone -root                              \\n\
                                halftone -root                              \\n\
-  GL:                          juggler3d -root                             \\n\
-  GL:                          lavalite -root                              \\n\
+- GL:                          juggler3d -root                             \\n\
+- GL:                          lavalite -root                              \\n\
 -                              polyominoes -root                           \\n\
 -                              polyominoes -root                           \\n\
-  GL:                          queens -root                                \\n\
+- GL:                          queens -root                                \\n\
 - GL:                          sballs -root                                \\n\
 - GL:                          sballs -root                                \\n\
-  GL:                          spheremonics -root                          \\n\
+- GL:                          spheremonics -root                          \\n\
 -                              thornbird -root                             \\n\
                                twang -root                                 \\n\
 - GL:                          antspotlight -root                          \\n\
                                apple2 -root                                \\n\
 -                              thornbird -root                             \\n\
                                twang -root                                 \\n\
 - GL:                          antspotlight -root                          \\n\
                                apple2 -root                                \\n\
-  GL:                          atunnel -root                               \\n\
+- GL:                          atunnel -root                               \\n\
                                barcode -root                               \\n\
                                barcode -root                               \\n\
-  GL:                          blinkbox -root                              \\n\
-  GL:                          blocktube -root                             \\n\
-  GL:                          bouncingcow -root                           \\n\
+- GL:                          blinkbox -root                              \\n\
+- GL:                          blocktube -root                             \\n\
+- GL:                          bouncingcow -root                           \\n\
                                cloudlife -root                             \\n\
                                cloudlife -root                             \\n\
-  GL:                          cubestorm -root                             \\n\
+- GL:                          cubestorm -root                             \\n\
                                eruption -root                              \\n\
                                eruption -root                              \\n\
-  GL:                          flipflop -root                              \\n\
-  GL:                          flyingtoasters -root                        \\n\
+- GL:                          flipflop -root                              \\n\
+- GL:                          flyingtoasters -root                        \\n\
                                fontglide -root                             \\n\
                                fontglide -root                             \\n\
-  GL:                          gleidescope -root                           \\n\
-  GL:                          glknots -root                               \\n\
-  GL:                          glmatrix -root                              \\n\
+- GL:                          gleidescope -root                           \\n\
+- GL:                          glknots -root                               \\n\
+- GL:                          glmatrix -root                              \\n\
 - GL:                          glslideshow -root                           \\n\
 - GL:                          glslideshow -root                           \\n\
-  GL:                          hypertorus -root                            \\n\
+- GL:                          hypertorus -root                            \\n\
 - GL:                          jigglypuff -root                            \\n\
                                metaballs -root                             \\n\
 - GL:                          jigglypuff -root                            \\n\
                                metaballs -root                             \\n\
-  GL:                          mirrorblob -root                            \\n\
+- GL:                          mirrorblob -root                            \\n\
                                piecewise -root                             \\n\
                                piecewise -root                             \\n\
-  GL:                          polytopes -root                             \\n\
+- GL:                          polytopes -root                             \\n\
                                pong -root                                  \\n\
                                popsquares -root                            \\n\
                                pong -root                                  \\n\
                                popsquares -root                            \\n\
-  GL:                          surfaces -root                              \\n\
+- GL:                          surfaces -root                              \\n\
                                xanalogtv -root                             \\n\
 -                              abstractile -root                           \\n\
                                anemotaxis -root                            \\n\
                                xanalogtv -root                             \\n\
 -                              abstractile -root                           \\n\
                                anemotaxis -root                            \\n\
                                interaggregate -root                        \\n\
                                intermomentary -root                        \\n\
                                memscroller -root                           \\n\
                                interaggregate -root                        \\n\
                                intermomentary -root                        \\n\
                                memscroller -root                           \\n\
-  GL:                          noof -root                                  \\n\
+- GL:                          noof -root                                  \\n\
                                pacman -root                                \\n\
                                pacman -root                                \\n\
-  GL:                          pinion -root                                \\n\
-  GL:                          polyhedra -root                             \\n\
+- GL:                          pinion -root                                \\n\
+- GL:                          polyhedra -root                             \\n\
 - GL:                          providence -root                            \\n\
                                substrate -root                             \\n\
                                wormhole -root                              \\n\
 - GL:                          antmaze -root                               \\n\
 - GL:                          providence -root                            \\n\
                                substrate -root                             \\n\
                                wormhole -root                              \\n\
 - GL:                          antmaze -root                               \\n\
-  GL:                          boing -root                                 \\n\
+- GL:                          boing -root                                 \\n\
                                boxfit -root                                \\n\
                                boxfit -root                                \\n\
-  GL:                          carousel -root                              \\n\
+- GL:                          carousel -root                              \\n\
                                celtic -root                                \\n\
                                celtic -root                                \\n\
-  GL:                          crackberg -root                             \\n\
-  GL:                          cube21 -root                                \\n\
+- GL:                          crackberg -root                             \\n\
+- GL:                          cube21 -root                                \\n\
                                fiberlamp -root                             \\n\
                                fiberlamp -root                             \\n\
-  GL:                          fliptext -root                              \\n\
-  GL:                          glhanoi -root                               \\n\
-  GL:                          tangram -root                               \\n\
-  GL:                          timetunnel -root                            \\n\
-  GL:                          glschool -root                              \\n\
-  GL:                          topblock -root                              \\n\
-  GL:                          cubicgrid -root                             \\n\
+- GL:                          fliptext -root                              \\n\
+- GL:                          glhanoi -root                               \\n\
+- GL:                          tangram -root                               \\n\
+- GL:                          timetunnel -root                            \\n\
+- GL:                          glschool -root                              \\n\
+- GL:                          topblock -root                              \\n\
+- GL:                          cubicgrid -root                             \\n\
                                cwaves -root                                \\n\
                                cwaves -root                                \\n\
-  GL:                          gears -root                                 \\n\
-  GL:                          glcells -root                               \\n\
-  GL:                          lockward -root                              \\n\
+- GL:                          gears -root                                 \\n\
+- GL:                          glcells -root                               \\n\
+- GL:                          lockward -root                              \\n\
                                m6502 -root                                 \\n\
                                m6502 -root                                 \\n\
-  GL:                          moebiusgears -root                          \\n\
-  GL:                          voronoi -root                               \\n\
-  GL:                          hypnowheel -root                            \\n\
-  GL:                          klein -root                                 \\n\
+- GL:                          moebiusgears -root                          \\n\
+- GL:                          voronoi -root                               \\n\
+- GL:                          hypnowheel -root                            \\n\
+- GL:                          klein -root                                 \\n\
 -                              lcdscrub -root                              \\n\
 -                              lcdscrub -root                              \\n\
-  GL:                          photopile -root                             \\n\
-  GL:                          skytentacles -root                          \\n\
-  GL:                          rubikblocks -root                           \\n\
-  GL:                          companioncube -root                         \\n\
-  GL:                          hilbert -root                               \\n\
-  GL:                          tronbit -root                               \\n\
-  GL:                          geodesic -root                              \\n\
+- GL:                          photopile -root                             \\n\
+- GL:                          skytentacles -root                          \\n\
+- GL:                          rubikblocks -root                           \\n\
+- GL:                          companioncube -root                         \\n\
+- GL:                          hilbert -root                               \\n\
+- GL:                          tronbit -root                               \\n\
+- GL:                          geodesic -root                              \\n\
                                hexadrop -root                              \\n\
                                hexadrop -root                              \\n\
-  GL:                          kaleidocycle -root                          \\n\
-  GL:                          quasicrystal -root                          \\n\
-  GL:                          unknownpleasures -root                      \\n",
+- GL:                          kaleidocycle -root                          \\n\
+- GL:                          quasicrystal -root                          \\n\
+- GL:                          unknownpleasures -root                      \\n",
 "XScreenSaver.pointerPollTime:         0:00:05",
 "XScreenSaver.pointerHysteresis:               10",
 "XScreenSaver.initialDelay:            0:00:00",
 "XScreenSaver.pointerPollTime:         0:00:05",
 "XScreenSaver.pointerHysteresis:               10",
 "XScreenSaver.initialDelay:            0:00:00",
index b9c9479ceecd9eaa984ca292fc1d7bd340a13765..2f03a12f04e20870e152ece5d6e37c8b9a54e31b 100644 (file)
@@ -1,5 +1,5 @@
 /* demo-Gtk-conf.c --- implements the dynamic configuration dialogs.
 /* demo-Gtk-conf.c --- implements the dynamic configuration dialogs.
- * xscreensaver, Copyright (c) 2001-2008 Jamie Zawinski <jwz@jwz.org>
+ * xscreensaver, Copyright (c) 2001-2013 Jamie Zawinski <jwz@jwz.org>
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * documentation for any purpose is hereby granted without fee, provided that
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * documentation for any purpose is hereby granted without fee, provided that
@@ -298,8 +298,9 @@ make_parameter (const char *filename, xmlNodePtr node)
   else if (!strcmp (name, "number"))       p->type = SPINBUTTON;
   else if (!strcmp (name, "select"))       p->type = SELECT;
 
   else if (!strcmp (name, "number"))       p->type = SPINBUTTON;
   else if (!strcmp (name, "select"))       p->type = SELECT;
 
-  else if (!strcmp (name, "xscreensaver-text") ||   /* these are ignored in X11 */
-           !strcmp (name, "xscreensaver-image"))    /* (they are used in Cocoa) */
+  else if (!strcmp (name, "xscreensaver-text") ||   /* ignored in X11; */
+           !strcmp (name, "xscreensaver-image") ||  /* used in Cocoa. */
+           !strcmp (name, "xscreensaver-updater"))
     {
       free (p);
       return 0;
     {
       free (p);
       return 0;
index ff5d0bd7887bf5a150ee4944dd04d99c15420736..0dee348fbdfdad605831f59c578a1d7139de6404 100644 (file)
@@ -11,7 +11,7 @@
 .if n .sp 1
 .if t .sp .5
 ..
 .if n .sp 1
 .if t .sp .5
 ..
-.TH XScreenSaver 1 "20-Mar-2005 (4.21)" "X Version 11"
+.TH XScreenSaver 1 "09-Nov-2013 (5.23)" "X Version 11"
 .SH NAME
 xscreensaver-command - control a running xscreensaver process
 .SH SYNOPSIS
 .SH NAME
 xscreensaver-command - control a running xscreensaver process
 .SH SYNOPSIS
@@ -249,15 +249,15 @@ and related tools can always be found at http://www.jwz.org/xscreensaver/
 .BR xscreensaver\-demo (1),
 .BR xset (1)
 .SH COPYRIGHT
 .BR xscreensaver\-demo (1),
 .BR xset (1)
 .SH COPYRIGHT
-Copyright \(co 1992, 1993, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
-by Jamie Zawinski.  Permission to use, copy, modify, distribute, and sell
-this software and its documentation for any purpose is hereby granted without
-fee, provided that the above copyright notice appear in all copies and that
-both that copyright notice and this permission notice appear in supporting
-documentation.  No representations are made about the suitability of this
-software for any purpose.  It is provided "as is" without express or implied
-warranty.
+Copyright \(co 1992-2013 by Jamie Zawinski.
+Permission to use, copy, modify, distribute, and sell this software
+and its documentation for any purpose is hereby granted without fee,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation.  No representations are made about the
+suitability of this software for any purpose.  It is provided "as is"
+without express or implied warranty.
 .SH AUTHOR
 .SH AUTHOR
-Jamie Zawinski <jwz@jwz.org>, 13-aug-92.
+Jamie Zawinski <jwz@jwz.org>, 13-aug-1992.
 
 Please let me know if you find any bugs or make any improvements.
 
 Please let me know if you find any bugs or make any improvements.
index 090c47057111bd93b225339c438307eadb67cfd5..07104be6fce7d087df9787f87b616b2c1976fcf5 100644 (file)
@@ -11,7 +11,7 @@
 .if n .sp 1
 .if t .sp .5
 ..
 .if n .sp 1
 .if t .sp .5
 ..
-.TH XScreenSaver 1 "20-Mar-2005 (4.21)" "X Version 11"
+.TH XScreenSaver 1 "09-Nov-2013 (5.23)" "X Version 11"
 .SH NAME
 xscreensaver-demo - interactively control the background xscreensaver daemon
 .SH SYNOPSIS
 .SH NAME
 xscreensaver-demo - interactively control the background xscreensaver daemon
 .SH SYNOPSIS
@@ -384,7 +384,7 @@ and a FAQ can always be found at http://www.jwz.org/xscreensaver/
 .BR xscreensaver\-getimage (1),
 .BR xscreensaver\-text (1)
 .SH COPYRIGHT
 .BR xscreensaver\-getimage (1),
 .BR xscreensaver\-text (1)
 .SH COPYRIGHT
-Copyright \(co 1992-2011 by Jamie Zawinski.
+Copyright \(co 1992-2013 by Jamie Zawinski.
 Permission to use, copy, modify, distribute, and sell this software
 and its documentation for any purpose is hereby granted without fee,
 provided that the above copyright notice appear in all copies and that
 Permission to use, copy, modify, distribute, and sell this software
 and its documentation for any purpose is hereby granted without fee,
 provided that the above copyright notice appear in all copies and that
index be772267e3f24dd22cdba706764f173cc656d123..ee06a79a10407321113f68692351ceb14b499564 100755 (executable)
@@ -57,7 +57,7 @@ BEGIN { eval 'use LWP::Simple;' }
 
 
 my $progname = $0; $progname =~ s@.*/@@g;
 
 
 my $progname = $0; $progname =~ s@.*/@@g;
-my $version = q{ $Revision: 1.36 $ }; $version =~ s/^[^0-9]+([0-9.]+).*$/$1/;
+my $version = q{ $Revision: 1.37 $ }; $version =~ s/^[^0-9]+([0-9.]+).*$/$1/;
 
 my $verbose = 0;
 
 
 my $verbose = 0;
 
@@ -250,7 +250,11 @@ sub read_cache($) {
   my $dd = "$ENV{HOME}/Library/Caches";    # MacOS location
   if (-d $dd) {
     $cache_file_name = "$dd/org.jwz.xscreensaver.getimage.cache";
   my $dd = "$ENV{HOME}/Library/Caches";    # MacOS location
   if (-d $dd) {
     $cache_file_name = "$dd/org.jwz.xscreensaver.getimage.cache";
-  } elsif (-d "$ENV{HOME}/tmp") {
+  } elsif (-d "$ENV{HOME}/.cache") {      # Gnome "FreeDesktop XDG" location
+    $dd = "$ENV{HOME}/.cache/xscreensaver";
+    if (! -d $dd) { mkdir ($dd) || error ("mkdir $dd: $!"); }
+    $cache_file_name = "$dd/xscreensaver-getimage.cache"
+  } elsif (-d "$ENV{HOME}/tmp") {         # If ~/.tmp/ exists, use it.
     $cache_file_name = "$ENV{HOME}/tmp/.xscreensaver-getimage.cache";
   } else {
     $cache_file_name = "$ENV{HOME}/.xscreensaver-getimage.cache";
     $cache_file_name = "$ENV{HOME}/tmp/.xscreensaver-getimage.cache";
   } else {
     $cache_file_name = "$ENV{HOME}/.xscreensaver-getimage.cache";
@@ -312,7 +316,7 @@ sub write_cache($) {
       print $cache_fd "$dir\n";
       foreach (@all_files) {
         my $f = $_; # stupid Perl. do this to avoid modifying @all_files!
       print $cache_fd "$dir\n";
       foreach (@all_files) {
         my $f = $_; # stupid Perl. do this to avoid modifying @all_files!
-        $f =~ s@^\Q$dir\L/@@so || die;  # remove $dir from front
+        $f =~ s@^\Q$dir/@@so || die;  # remove $dir from front
         print $cache_fd "$f\n";
       }
     }
         print $cache_fd "$f\n";
       }
     }
@@ -400,6 +404,10 @@ sub parse_feed($) {
   if ($body !~ m@^<\?xml\s@si) {
     # Not an RSS/Atom feed.  Try RSS autodiscovery.
 
   if ($body !~ m@^<\?xml\s@si) {
     # Not an RSS/Atom feed.  Try RSS autodiscovery.
 
+    # (Great news, everybody: Flickr no longer provides RSS for "Sets",
+    # only for "Photostreams", and only the first 20 images of those.
+    # Thanks, assholes.)
+
     error ("not an RSS or Atom feed, or HTML: $url")
       unless ($body =~ m@<(HEAD|BODY|A|IMG)\b@si);
 
     error ("not an RSS or Atom feed, or HTML: $url")
       unless ($body =~ m@<(HEAD|BODY|A|IMG)\b@si);
 
@@ -412,6 +420,10 @@ sub parse_feed($) {
           $p =~ m! \b HREF \s* = \s* ['"]  ( [^<>'"]+ ) !six
          ) {
         my $u2 = html_unquote ($1);
           $p =~ m! \b HREF \s* = \s* ['"]  ( [^<>'"]+ ) !six
          ) {
         my $u2 = html_unquote ($1);
+        if ($u2 =~ m!^/!s) {
+          my ($h) = ($url =~ m!^([a-z]+://[^/]+)!si);
+          $u2 = "$h$u2";
+        }
         print STDERR "$progname: found feed: $u2\n"
           if ($verbose);
         return parse_feed ($u2);
         print STDERR "$progname: found feed: $u2\n"
           if ($verbose);
         return parse_feed ($u2);
@@ -585,10 +597,22 @@ sub download_image($$$) {
 
   # Special-case kludge for Flickr:
   # Their RSS feeds sometimes include only the small versions of the images.
 
   # Special-case kludge for Flickr:
   # Their RSS feeds sometimes include only the small versions of the images.
-  # So if the URL ends in "s" (75x75), "t" (100x100) or "m" (240x240),then
-  # munge it to be "b" (1024x1024).
+  # So if the URL ends in one of the "small-size" letters, change it to "b".
+  #
+  #     _o  orig,  1600 +
+  #     _k  large, 2048 max
+  #     _h  large, 1600 max
+  #     _b  large, 1024 max
+  #     _c  medium, 800 max
+  #     _z  medium, 640 max
+  #     ""  medium, 500 max
+  #     _n  small,  320 max
+  #     _m  small,  240 max
+  #     _t  thumb,  100 max
+  #     _q  square, 150x150
+  #     _s  square,  75x75
   #
   #
-  $url =~ s@_[stm](\.[a-z]+)$@_b$1@si
+  $url =~ s@_[sqtmnzc](\.[a-z]+)$@_b$1@si
     if ($url =~ m@^https?://[^/?#&]*?flickr\.com/@si);
 
   print STDERR "$progname: downloading: $dir/$file for $uid / $url\n" 
     if ($url =~ m@^https?://[^/?#&]*?flickr\.com/@si);
 
   print STDERR "$progname: downloading: $dir/$file for $uid / $url\n" 
@@ -614,7 +638,12 @@ sub mirror_feed($) {
   my $dir = "$ENV{HOME}/Library/Caches";    # MacOS location
   if (-d $dir) {
     $dir = "$dir/org.jwz.xscreensaver.feeds";
   my $dir = "$ENV{HOME}/Library/Caches";    # MacOS location
   if (-d $dir) {
     $dir = "$dir/org.jwz.xscreensaver.feeds";
-  } elsif (-d "$ENV{HOME}/tmp") {
+  } elsif (-d "$ENV{HOME}/.cache") {      # Gnome "FreeDesktop XDG" location
+    $dir = "$ENV{HOME}/.cache/xscreensaver";
+    if (! -d $dir) { mkdir ($dir) || error ("mkdir $dir: $!"); }
+    $dir .= "/feeds";
+    if (! -d $dir) { mkdir ($dir) || error ("mkdir $dir: $!"); }
+  } elsif (-d "$ENV{HOME}/tmp") {         # If ~/.tmp/ exists, use it.
     $dir = "$ENV{HOME}/tmp/.xscreensaver-feeds";
   } else {
     $dir = "$ENV{HOME}/.xscreensaver-feeds";
     $dir = "$ENV{HOME}/tmp/.xscreensaver-feeds";
   } else {
     $dir = "$ENV{HOME}/.xscreensaver-feeds";
@@ -818,7 +847,7 @@ sub find_random_file($) {
     my $file = $all_files[$n];
     if (large_enough_p ($file)) {
       if (! $url) {
     my $file = $all_files[$n];
     if (large_enough_p ($file)) {
       if (! $url) {
-        $file =~ s@^\Q$dir\L/@@so || die;  # remove $dir from front
+        $file =~ s@^\Q$dir/@@so || die;  # remove $dir from front
       }
       return $file;
     }
       }
       return $file;
     }
index 766bd13ede7dfe4e203a74fc40afdc51eed892b7..0f80e9f468cd004905007139a8e8406c3e63558b 100644 (file)
@@ -11,9 +11,9 @@
 .if n .sp 1
 .if t .sp .5
 ..
 .if n .sp 1
 .if t .sp .5
 ..
-.TH XScreenSaver 1 "20-Mar-2005 (4.21)" "X Version 11"
+.TH XScreenSaver 1 "09-Nov-2013 (5.23)" "X Version 11"
 .SH NAME
 .SH NAME
-xscreensaver - extensible screen saver framework, plus locking
+xscreensaver - extensible screen saver and screen locking framework
 .SH SYNOPSIS
 .B xscreensaver
 [\-display \fIhost:display.screen\fP] \
 .SH SYNOPSIS
 .B xscreensaver
 [\-display \fIhost:display.screen\fP] \
@@ -884,7 +884,7 @@ and a FAQ can always be found at http://www.jwz.org/xscreensaver/
 .BR xscreensaver\-getimage (1),
 .BR xscreensaver\-text (1).
 .SH COPYRIGHT
 .BR xscreensaver\-getimage (1),
 .BR xscreensaver\-text (1).
 .SH COPYRIGHT
-Copyright \(co 1991-2011 by Jamie Zawinski.
+Copyright \(co 1991-2013 by Jamie Zawinski.
 Permission to use, copy, modify, distribute, and sell this software
 and its documentation for any purpose is hereby granted without fee,
 provided that the above copyright notice appear in all copies and that
 Permission to use, copy, modify, distribute, and sell this software
 and its documentation for any purpose is hereby granted without fee,
 provided that the above copyright notice appear in all copies and that
index 36b2aebfed3a2bf895a9472638b03bcf41e9686f..5a66e60beb1e854358ddada8006fe7670f1343e8 100644 (file)
@@ -521,7 +521,7 @@ $(UTIL_OBJS):
 
 # How we build object files in this directory.
 .c.o:
 
 # How we build object files in this directory.
 .c.o:
-       $(CC) -c $(INCLUDES) $(DEFS) $(CFLAGS) $(X_CFLAGS) $<
+       $(CC) -c $(INCLUDES) $(DEFS) $(CPPFLAGS) $(CFLAGS) $(X_CFLAGS) $<
 
 
 # Make sure these are regenerated when the version number ticks.
 
 
 # Make sure these are regenerated when the version number ticks.
index 382ce4b06d8950acf22cdd8a9f199d280f2a5187..94c8fd4fa2e5adfc89a51c06707dba166296d476 100755 (executable)
@@ -19,7 +19,7 @@ use diagnostics;
 use strict;
 
 my $progname = $0; $progname =~ s@.*/@@g;
 use strict;
 
 my $progname = $0; $progname =~ s@.*/@@g;
-my $version = q{ $Revision: 1.6 $ }; $version =~ s/^[^\d]+([\d.]+).*/$1/;
+my $version = q{ $Revision: 1.7 $ }; $version =~ s/^[^\d]+([\d.]+).*/$1/;
 
 my $verbose = 0;
 
 
 my $verbose = 0;
 
@@ -193,7 +193,7 @@ sub parse_xml($$) {
     error ("$progname: $file: unparsable: $_") unless $type;
     next if ($type =~ m@^/@);
 
     error ("$progname: $file: unparsable: $_") unless $type;
     next if ($type =~ m@^/@);
 
-    if ($type =~ m/^([hv]group|\?xml|command|string|file|_description|xscreensaver-(image|text))/s) {
+    if ($type =~ m/^([hv]group|\?xml|command|string|file|_description|xscreensaver-(image|text|updater))/s) {
 
     } elsif ($type eq 'screensaver') {
       my ($name) = ($args =~ m/\b_label\s*=\s*\"([^\"]+)\"/);
 
     } elsif ($type eq 'screensaver') {
       my ($name) = ($args =~ m/\b_label\s*=\s*\"([^\"]+)\"/);
index e5f7829e30c27aa47a078b778e79e52427f89f6c..afc457566741ecce1ff8db6883932068cb334881 100644 (file)
@@ -4,8 +4,8 @@
             a screen saver and locker for the X window system
                             by Jamie Zawinski
 
             a screen saver and locker for the X window system
                             by Jamie Zawinski
 
-                              version 5.23
-                               09-Nov-2013
+                              version 5.24
+                               07-Dec-2013
 
                      http://www.jwz.org/xscreensaver/
 
 
                      http://www.jwz.org/xscreensaver/
 
@@ -196,6 +196,13 @@ The tags and parameters used here are:
         In the MacOS version, the image-related preferences appear
         in this pane, and this tag emits those several controls.
 
         In the MacOS version, the image-related preferences appear
         in this pane, and this tag emits those several controls.
 
+-----------------------------------------------------------------------
+
+  <xscreensaver-updater />
+
+        Where to position the "Check for Updates" options.
+        This is used on MacOS and ignored on X11.
+
 -----------------------------------------------------------------------
 
   <hgroup>
 -----------------------------------------------------------------------
 
   <hgroup>
index 879da91c270f6ca51baad46fe58fc68365279da7..71b9df3546188295c6e8e454a1bb9c8093ce9b61 100644 (file)
@@ -24,6 +24,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 Generates mosaic patterns of interlocking tiles.  
 
   <_description>
 Generates mosaic patterns of interlocking tiles.  
 
index d951149ec7188257dd1b2e121cf41b784030629f..d2f97899c88d8d67168a07d811f439d18f85c7df 100644 (file)
@@ -9,39 +9,48 @@
  -turnspeed 50
 -->
 
  -turnspeed 50
 -->
 
-  <number id="delay" type="slider" arg="-delay %"
-          _label="Speed" _low-label="Slow" _high-label="Fast"
-          low="0" high="80000" default="40000"
-          convert="invert"/>
-
-  <number id="arms" type="slider" arg="-arms %"
-           _label="Arms" _low-label="Few" _high-label="Many"
-          low="2" high="500" default="128"/>
-
-  <number id="finpoints" type="slider" arg="-finpoints %"
-           _label="Tentacles" _low-label="Few" _high-label="Many"
-          low="3" high="200" default="64"/>
-
-  <number id="width" type="slider" arg="-width %"
-           _label="Thickness" _low-label="Thin" _high-label="Thick"
-          low="1" high="10" default="2"/>
-
-  <number id="withdraw" type="slider" arg="-withdraw %"
-           _label="Withdraw freqency" _low-label="Often" _high-label="Rarely"
-          low="12" high="10000" default="1200"/>
-
-  <number id="turnspeed" type="slider" arg="-turnspeed %"
-           _label="Turn speed" _low-label="Slow" _high-label="Fast"
-          low="0" high="1000" default="50"/>
-
-<!--
-  <number id="ncolors" type="slider" arg="-ncolors %"
-            _label="Number of colors" _low-label="Two" _high-label="Many"
-            low="2" high="255" default="64"/>
--->
+  <hgroup>
+   <vgroup>
+    <number id="delay" type="slider" arg="-delay %"
+            _label="Speed" _low-label="Slow" _high-label="Fast"
+            low="0" high="80000" default="40000"
+            convert="invert"/>
+
+    <number id="arms" type="slider" arg="-arms %"
+             _label="Arms" _low-label="Few" _high-label="Many"
+            low="2" high="500" default="128"/>
+
+    <number id="finpoints" type="slider" arg="-finpoints %"
+             _label="Tentacles" _low-label="Few" _high-label="Many"
+            low="3" high="200" default="64"/>
+   </vgroup>
+
+   <vgroup>
+    <number id="width" type="slider" arg="-width %"
+             _label="Thickness" _low-label="Thin" _high-label="Thick"
+            low="1" high="10" default="2"/>
+
+    <number id="withdraw" type="slider" arg="-withdraw %"
+             _label="Withdraw freqency" _low-label="Often" _high-label="Rarely"
+            low="12" high="10000" default="1200"/>
+
+    <number id="turnspeed" type="slider" arg="-turnspeed %"
+             _label="Turn speed" _low-label="Slow" _high-label="Fast"
+            low="0" high="1000" default="50"/>
+
+  <!--
+    <number id="ncolors" type="slider" arg="-ncolors %"
+              _label="Number of colors" _low-label="Two" _high-label="Many"
+              low="2" high="255" default="64"/>
+  -->
+
+   </vgroup>
+  </hgroup>
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 Wiggling tentacles.
 
   <_description>
 Wiggling tentacles.
 
index a89862f72d2965e648ef6ec22511e5f80f74856b..0332f94c1bb7a2ab25dbcf949b8b6b26541aaa79 100644 (file)
@@ -23,6 +23,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 This demonstrates a search algorithm designed for locating a source of
 odor in turbulent atmosphere.  The searcher is able to sense the odor
   <_description>
 This demonstrates a search algorithm designed for locating a source of
 odor in turbulent atmosphere.  The searcher is able to sense the odor
index 76fc447504ab616ff2879c2f4b6bb274657fe66b..88a9ff7feb383718027bbe8aea8e89cdd47f754b 100644 (file)
@@ -4,47 +4,56 @@
 
   <command arg="-root"/>
 
 
   <command arg="-root"/>
 
-  <number id="delay" type="slider" arg="-delay %"
-          _label="Frame rate" _low-label="Low" _high-label="High"
-          low="0" high="100000" default="20000"
-          convert="invert"/>
+  <hgroup>
+   <vgroup>
+    <number id="delay" type="slider" arg="-delay %"
+            _label="Frame rate" _low-label="Low" _high-label="High"
+            low="0" high="100000" default="20000"
+            convert="invert"/>
 
 
-  <number id="cycles" type="slider" arg="-cycles %"
-           _label="Timeout" _low-label="Small" _high-label="Large"
-          low="0" high="800000" default="40000"/>
+    <number id="cycles" type="slider" arg="-cycles %"
+             _label="Timeout" _low-label="Small" _high-label="Large"
+            low="0" high="800000" default="40000"/>
 
 
-  <hgroup>
-   <boolean id="sharpturn" _label="Sharp turns" arg-set="-sharpturn"/>
-   <boolean id="truchet" _label="Truchet lines" arg-set="-truchet"/>
-   <boolean id="eyes" _label="Draw eyes" arg-set="-eyes"/>
-  </hgroup>
+    <hgroup>
+     <boolean id="sharpturn" _label="Sharp turns" arg-set="-sharpturn"/>
+     <boolean id="truchet" _label="Truchet lines" arg-set="-truchet"/>
+     <boolean id="eyes" _label="Draw eyes" arg-set="-eyes"/>
+    </hgroup>
+   </vgroup>
 
 
-  <hgroup>
-   <number id="count" type="spinbutton" arg="-count %"
-           _label="Ants count" low="-20" high="20" default="-3"/>
-   <number id="size" type="spinbutton" arg="-size %"
-            _label="Ant size" low="-18" high="18" default="-12"/>
+   <vgroup>
+    <number id="ncolors" type="slider" arg="-ncolors %"
+              _label="Number of colors" _low-label="Three" _high-label="Many"
+              low="3" high="255" default="64"/>
+
+
+    <hgroup>
+     <number id="count" type="spinbutton" arg="-count %"
+             _label="Ants count" low="-20" high="20" default="-3"/>
+     <number id="size" type="spinbutton" arg="-size %"
+              _label="Ant size" low="-18" high="18" default="-12"/>
+    </hgroup>
+
+    <select id="neighbors">
+      <option id="rand" _label="Random cell shape"/>
+      <option id="three" _label="Three sided cells"
+              arg-set="-neighbors 3"/>
+      <option id="four" _label="Four sided cells"
+              arg-set="-neighbors 4"/>
+      <option id="six" _label="Six sided cells"
+              arg-set="-neighbors 6"/>
+      <option id="nine" _label="Nine sided cells"
+              arg-set="-neighbors 9"/>
+      <option id="twelve" _label="Twelve sided cells"
+              arg-set="-neighbors 12"/>
+    </select>
+
+    <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
+   </vgroup>
   </hgroup>
 
   </hgroup>
 
-  <select id="neighbors">
-    <option id="rand" _label="Random cell shape"/>
-    <option id="three" _label="Three sided cells"
-            arg-set="-neighbors 3"/>
-    <option id="four" _label="Four sided cells"
-            arg-set="-neighbors 4"/>
-    <option id="six" _label="Six sided cells"
-            arg-set="-neighbors 6"/>
-    <option id="nine" _label="Nine sided cells"
-            arg-set="-neighbors 9"/>
-    <option id="twelve" _label="Twelve sided cells"
-            arg-set="-neighbors 12"/>
-  </select>
-
-  <number id="ncolors" type="slider" arg="-ncolors %"
-            _label="Number of colors" _low-label="Three" _high-label="Many"
-            low="3" high="255" default="64"/>
-
-  <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
+  <xscreensaver-updater />
 
   <_description>
 This screen saver was removed from the XScreenSaver distribution as of
 
   <_description>
 This screen saver was removed from the XScreenSaver distribution as of
index 3558d6532589129eff71bc3ee629e7d7cb9ac5ff..dcc8f8520d4603955d186c09a8b3cd163841a25b 100644 (file)
@@ -13,6 +13,8 @@
 
   <boolean id="shadows" _label="Draw shadows" arg-set="-shadows"/>
 
 
   <boolean id="shadows" _label="Draw shadows" arg-set="-shadows"/>
 
+  <xscreensaver-updater />
+
   <_description>
 Draws a trio of ants moving their spheres around a circle.
 
   <_description>
 Draws a trio of ants moving their spheres around a circle.
 
index feadfe32af6f62bbb3e060804918b26a89acc3c8..465ac4f7e7069563328cd82158b7cc0092476baf 100644 (file)
@@ -11,6 +11,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 Draws a few views of a few ants walking around in a simple maze. 
 
   <_description>
 Draws a few views of a few ants walking around in a simple maze. 
 
index 368d24a158ea3c14475ce87616ac8c1015dd48cf..5037aecff378880046a9d2618f505c0b5ba851fd 100644 (file)
@@ -13,6 +13,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 Draws an ant (with a headlight) who walks around on top of a loaded image.
 
   <_description>
 Draws an ant (with a headlight) who walks around on top of a loaded image.
 
index a563fcd530153e6f0426e4b9bf162637d5c2c5f7..471875212bef6e6ccc0a93f95ecd905314f7c9a3 100644 (file)
@@ -26,6 +26,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 Draws an Apollonian gasket: a fractal packing of circles with
 smaller circles, demonstrating Descartes's theorem.
   <_description>
 Draws an Apollonian gasket: a fractal packing of circles with
 smaller circles, demonstrating Descartes's theorem.
index 46e065533734332accdfccd966a0e52c7fb8fece..e0966aecf2ce5fc5ed2acd63b375800b0c5a682c 100644 (file)
@@ -4,15 +4,15 @@
 
  <command arg="-root"/>
 
 
  <command arg="-root"/>
 
- <select id="mode">
-  <option id="random"    _label="Choose display mode randomly"/>
-  <option id="text"      _label="Display scrolling text" arg-set="-mode text"/>
-  <option id="slideshow" _label="Display images"         arg-set="-mode slideshow"/>
-  <option id="basic"     _label="Run basic programs"     arg-set="-mode basic"/>
- </select>
-
  <hgroup>
   <vgroup>
  <hgroup>
   <vgroup>
+   <select id="mode">
+    <option id="random"    _label="Choose display mode randomly"/>
+    <option id="text"      _label="Display scrolling text" arg-set="-mode text"/>
+    <option id="slideshow" _label="Display images"         arg-set="-mode slideshow"/>
+    <option id="basic"     _label="Run basic programs"     arg-set="-mode basic"/>
+   </select>
+
    <xscreensaver-text />
   </vgroup>
   <vgroup>
    <xscreensaver-text />
   </vgroup>
   <vgroup>
 
    <xscreensaver-image />
    <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
    <xscreensaver-image />
    <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
+   <xscreensaver-updater />
   </vgroup>
   </vgroup>
- </hgroup>
 
 
-  <hgroup>
    <vgroup>
     <number id="tvcolor" type="slider" arg="-tv-color %"
             _label="Color Knob" _low-label="Low" _high-label="High"
    <vgroup>
     <number id="tvcolor" type="slider" arg="-tv-color %"
             _label="Color Knob" _low-label="Low" _high-label="High"
@@ -33,8 +32,6 @@
     <number id="tvtint" type="slider" arg="-tv-tint %"
             _label="Tint Knob" _low-label="Low" _high-label="High"
             low="0" high="100" default="5"/>
     <number id="tvtint" type="slider" arg="-tv-tint %"
             _label="Tint Knob" _low-label="Low" _high-label="High"
             low="0" high="100" default="5"/>
-   </vgroup>
-   <vgroup>
     <number id="tvbrightness" type="slider" arg="-tv-brightness %"
             _label="Brightness Knob" _low-label="Low" _high-label="High"
             low="0" high="200" default="150"/>
     <number id="tvbrightness" type="slider" arg="-tv-brightness %"
             _label="Brightness Knob" _low-label="Low" _high-label="High"
             low="0" high="200" default="150"/>
index fffa06af965a1c4283701d3cdf1dbec79046f909..4c25de3168c8e04525b61df28ae3e6539ca61581 100644 (file)
@@ -38,6 +38,8 @@
    <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
   </hgroup>
 
    <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
   </hgroup>
 
+  <xscreensaver-updater />
+
   <_description>
 A 3D animation of a number of sharks, dolphins, and whales.
 
   <_description>
 A 3D animation of a number of sharks, dolphins, and whales.
 
index c4646eefc4b676f238f7bad3ae206b9387490a81..fc64c82e72f07ee979085d23dfabcc723c6d05f4 100644 (file)
@@ -71,6 +71,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 
 Points attract each other up to a certain distance, and then begin to
   <_description>
 
 Points attract each other up to a certain distance, and then begin to
index 7e1e282625056ffe3b2532813615a41e80b05d37..dedf88c48b23e1a4c48811d2d1567a154a1a035f 100644 (file)
@@ -14,6 +14,8 @@
   <boolean id="wire"    _label="Wireframe"   arg-set="-wireframe"/>
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
   <boolean id="wire"    _label="Wireframe"   arg-set="-wireframe"/>
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 Zooming through a textured tunnel.
 
   <_description>
 Zooming through a textured tunnel.
 
index 13564ce61dc7d1f0e2ef4623fc7d32320bf15d79..ccdebd56097626cd6d72a265e09a909fc92e4a84 100644 (file)
@@ -18,6 +18,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 Draws a random sequence of colorful barcodes scrolling across your
 screen.  CONSUME!
   <_description>
 Draws a random sequence of colorful barcodes scrolling across your
 screen.  CONSUME!
index c03c135cff1c5796300f48d9c5f6f769c061f420..97692bf335d2d52f8a3b033f727e2f82d4694a8f 100644 (file)
@@ -50,6 +50,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 Draws a simulation of flying space-combat robots (cleverly disguised
 as colored circles) doing battle in front of a moving star field.
   <_description>
 Draws a simulation of flying space-combat robots (cleverly disguised
 as colored circles) doing battle in front of a moving star field.
index e04da27dc39c63be0aec6b1215bdd920642b804d..6a91ea0e93b85225ee0a332b9b6e4cb58dff2bb8 100644 (file)
@@ -22,6 +22,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 A motion-blurred ball bounces inside a box whose tiles only become
 visible upon impact.
   <_description>
 A motion-blurred ball bounces inside a box whose tiles only become
 visible upon impact.
index 00cfacccb89407011f04cae6fbf5e4c4f2de0853..022515ff0c7a361f43f2b8e80e9829713289798c 100644 (file)
@@ -4,25 +4,31 @@
 
   <command arg="-root"/>
 
 
   <command arg="-root"/>
 
-  <number id="delay" type="slider" arg="-delay %"
-          _label="Fuzzy rotation speed" _low-label="Slow" _high-label="Fast"
-          low="1" high="800000" default="500000"
-          convert="invert"/>
-
-  <number id="delay2" type="slider" arg="-delay2 %"
-          _label="90 degree rotation speed" _low-label="Slow" _high-label="Fast"
-          low="1" high="800000" default="500000"
-          convert="invert"/>
-
-  <number id="duration" type="slider" arg="-duration %"
-          _label="Duration" _low-label="10 seconds" _high-label="10 minutes"
-          low="10" high="600" default="120"/>
-
-<!--  <file id="bitmap" _label="Bitmap to rotate" arg="-bitmap %"/> -->
-
-  <xscreensaver-image />
-
-  <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
+  <hgroup>
+   <vgroup>
+    <number id="delay" type="slider" arg="-delay %"
+            _label="Fuzzy rotation speed" _low-label="Slow" _high-label="Fast"
+            low="1" high="800000" default="500000"
+            convert="invert"/>
+
+    <number id="delay2" type="slider" arg="-delay2 %"
+            _label="90 degree rotation speed" _low-label="Slow" _high-label="Fast"
+            low="1" high="800000" default="500000"
+            convert="invert"/>
+
+    <number id="duration" type="slider" arg="-duration %"
+            _label="Duration" _low-label="10 seconds" _high-label="10 minutes"
+            low="10" high="600" default="120"/>
+   </vgroup>
+
+   <vgroup>
+    <!--  <file id="bitmap" _label="Bitmap to rotate" arg="-bitmap %"/> -->
+    <xscreensaver-image />
+    <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
+   </vgroup>
+  </hgroup>
+
+  <xscreensaver-updater />
 
   <_description>
 
 
   <_description>
 
index 9a9743c8cc893d1d159b9f6011381eb6b067a57f..3e583906be09cb16d135bdf654eed7828137bedd 100644 (file)
@@ -21,6 +21,8 @@
   <boolean id="wire"    _label="Wireframe"   arg-set="-wireframe"/>
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
   <boolean id="wire"    _label="Wireframe"   arg-set="-wireframe"/>
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 Draws a swirling, falling tunnel of reflective slabs. They fade from
 hue to hue.
   <_description>
 Draws a swirling, falling tunnel of reflective slabs. They fade from
 hue to hue.
index 1d877aa7286623b651f660997c554b11a96590e4..4ab8fab9b4a2bb299796617571fe63a65874834c 100644 (file)
@@ -30,6 +30,8 @@
    </hgroup>
   </vgroup>
 
    </hgroup>
   </vgroup>
 
+  <xscreensaver-updater />
+
   <_description>
 
 This bouncing ball is a clone of the first graphics demo for the Amiga
   <_description>
 
 This bouncing ball is a clone of the first graphics demo for the Amiga
index 237646a316561365883e0cd79c284c3ad9619cc7..8e283dd189ec3748c3b04d68aeed401f8680b369 100644 (file)
@@ -21,6 +21,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 This draws what looks like a spinning, deforming balloon with
 varying-sized spots painted on its invisible surface.
   <_description>
 This draws what looks like a spinning, deforming balloon with
 varying-sized spots painted on its invisible surface.
index 1bb9f97b5b3bb7230b3864e6d4d739c4dd79384b..be8baa6ee557665b65b80a23401b630fc246409b 100644 (file)
@@ -20,6 +20,8 @@
   <boolean id="wire"    _label="Wireframe"              arg-set="-wireframe"/>
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
   <boolean id="wire"    _label="Wireframe"              arg-set="-wireframe"/>
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 A Cow.  A Trampoline.  Together, they fight crime.
 
   <_description>
 A Cow.  A Trampoline.  Together, they fight crime.
 
index e00c974b98e5b2f16468e7724ac6e0bb7989cd9a..594afc4bdc49da3db8eb4f199b384104021321b7 100644 (file)
@@ -46,6 +46,8 @@
   </hgroup>
 
 
   </hgroup>
 
 
+  <xscreensaver-updater />
+
   <_description>
 Draws a box full of 3D bouncing balls that explode.
 
   <_description>
 Draws a box full of 3D bouncing balls that explode.
 
index a7d35bf94ed9a807382d0221cfc1ebea3c8ed48e..55cae0d0b2cd76f3e08ae2de79b02a45b57c6582 100644 (file)
@@ -4,45 +4,53 @@
 
   <command arg="-root"/>
 
 
   <command arg="-root"/>
 
-  <number id="delay" type="slider" arg="-delay %"
-          _label="Frame rate" _low-label="Low" _high-label="High"
-          low="0" high="100000" default="20000"
-          convert="invert"/>
-
-  <hgroup>
-   <number id="count" type="spinbutton" arg="-count %"
-           _label="Boxes" low="1" high="1000" default="50"/>
-
-   <number id="growby" type="spinbutton" arg="-growby %"
-           _label="Grow by" low="1" high="10" default="1"/>
-  </hgroup>
-
   <hgroup>
   <hgroup>
-   <number id="spacing" type="spinbutton" arg="-spacing %"
-           _label="Spacing" low="1" high="10" default="1"/>
-
-   <number id="border" type="spinbutton" arg="-border %"
-           _label="Border" low="1" high="10" default="1"/>
+   <vgroup>
+    <number id="delay" type="slider" arg="-delay %"
+            _label="Frame rate" _low-label="Low" _high-label="High"
+            low="0" high="100000" default="20000"
+            convert="invert"/>
+
+    <hgroup>
+     <number id="count" type="spinbutton" arg="-count %"
+             _label="Boxes" low="1" high="1000" default="50"/>
+
+     <number id="growby" type="spinbutton" arg="-growby %"
+             _label="Grow by" low="1" high="10" default="1"/>
+    </hgroup>
+
+    <hgroup>
+     <number id="spacing" type="spinbutton" arg="-spacing %"
+             _label="Spacing" low="1" high="10" default="1"/>
+
+     <number id="border" type="spinbutton" arg="-border %"
+             _label="Border" low="1" high="10" default="1"/>
+    </hgroup>
+
+    <hgroup>
+     <select id="mode">
+       <option id="random"  _label="Boxes or circles"/>
+       <option id="boxes"   _label="Boxes only"   arg-set="-mode squares"/>
+       <option id="circles" _label="Circles only" arg-set="-mode circles"/>
+     </select>
+
+     <select id="mode2">
+       <option id="gradient" _label="Color gradient"/>
+       <option id="image"    _label="Grab images" arg-set="-grab"/>
+     </select>
+    </hgroup>
+   </vgroup>
+
+   <vgroup>
+    <xscreensaver-image />
+
+    <boolean id="peek" _label="Peek at underlying images" arg-set="-peek"/>
+
+    <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
+   </vgroup>
   </hgroup>
 
   </hgroup>
 
-  <hgroup>
-   <select id="mode">
-     <option id="random"  _label="Boxes or circles"/>
-     <option id="boxes"   _label="Boxes only"   arg-set="-mode squares"/>
-     <option id="circles" _label="Circles only" arg-set="-mode circles"/>
-   </select>
-
-   <select id="mode2">
-     <option id="gradient" _label="Color gradient"/>
-     <option id="image"    _label="Grab images" arg-set="-grab"/>
-   </select>
-  </hgroup>
-
-  <xscreensaver-image />
-
-  <boolean id="peek" _label="Peek at underlying images" arg-set="-peek"/>
-
-  <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
+  <xscreensaver-updater />
 
   <_description>
 Packs the screen with growing squares or circles, colored according to
 
   <_description>
 Packs the screen with growing squares or circles, colored according to
index f9cfa54d85ead74aa6642832c0e9a60260c0d7a1..6c154c422850506b74e779af1b2d6cce6c6db1af 100644 (file)
@@ -27,6 +27,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 Draws random color-cycling inter-braided concentric circles.
 
   <_description>
 Draws random color-cycling inter-braided concentric circles.
 
index ac2e600cd327c3568e78ae131683a524c1881af9..76fb69ff8226169d634c4e0dbeacbd02c754934f 100644 (file)
    <boolean id="nt"         _label="Windows NT"     arg-unset="-no-nt"/>
    <boolean id="2k"         _label="Windows 2000  " arg-unset="-no-2k"/>
    <boolean id="msdos"      _label="MS-DOS"         arg-unset="-no-msdos"/>
    <boolean id="nt"         _label="Windows NT"     arg-unset="-no-nt"/>
    <boolean id="2k"         _label="Windows 2000  " arg-unset="-no-2k"/>
    <boolean id="msdos"      _label="MS-DOS"         arg-unset="-no-msdos"/>
+  </vgroup>
+  <vgroup>
    <boolean id="amiga"      _label="AmigaDOS"       arg-unset="-no-amiga"/>
    <boolean id="glados"     _label="GLaDOS"         arg-unset="-no-glados"/>
    <boolean id="android"    _label="Android"        arg-unset="-no-android"/>
    <boolean id="amiga"      _label="AmigaDOS"       arg-unset="-no-amiga"/>
    <boolean id="glados"     _label="GLaDOS"         arg-unset="-no-glados"/>
    <boolean id="android"    _label="Android"        arg-unset="-no-android"/>
+   <boolean id="apple2"     _label="Apple ]["       arg-unset="-no-apple2"/>
   </vgroup>
   <vgroup>
   </vgroup>
   <vgroup>
-   <boolean id="apple2"     _label="Apple ]["       arg-unset="-no-apple2"/>
    <boolean id="nvidia"     _label="NVidia"         arg-unset="-no-nvidia"/>
    <boolean id="os2"        _label="OS/2"           arg-unset="-no-os2"/>
    <boolean id="mac"        _label="Sad Mac"        arg-unset="-no-mac"/>
    <boolean id="mac1"       _label="Mac bomb"       arg-unset="-no-mac1"/>
    <boolean id="nvidia"     _label="NVidia"         arg-unset="-no-nvidia"/>
    <boolean id="os2"        _label="OS/2"           arg-unset="-no-os2"/>
    <boolean id="mac"        _label="Sad Mac"        arg-unset="-no-mac"/>
    <boolean id="mac1"       _label="Mac bomb"       arg-unset="-no-mac1"/>
-   <boolean id="macsbug"    _label="MacsBug"        arg-unset="-no-macsbug"/>
-   <boolean id="atari"      _label="Atari"          arg-set="-atari"/>
   </vgroup>
   <vgroup>
   </vgroup>
   <vgroup>
+   <boolean id="macsbug"    _label="MacsBug"        arg-unset="-no-macsbug"/>
+   <boolean id="atari"      _label="Atari"          arg-set="-atari"/>
    <boolean id="macx"       _label="MacOS X"        arg-unset="-no-macx"/>
    <boolean id="os390"      _label="OS/390"         arg-unset="-no-os390"/>
    <boolean id="macx"       _label="MacOS X"        arg-unset="-no-macx"/>
    <boolean id="os390"      _label="OS/390"         arg-unset="-no-os390"/>
+  </vgroup>
+  <vgroup>
    <boolean id="vms"        _label="VMS"            arg-unset="-no-vms"/>
    <boolean id="hvx"        _label="HVX/GCOS6"      arg-unset="-no-hvx"/>
    <boolean id="blitdamage" _label="NCD X Terminal  " arg-unset="-no-blitdamage"/>
    <boolean id="atm"        _label="ATM"            arg-unset="-no-atm"/>
    <boolean id="vms"        _label="VMS"            arg-unset="-no-vms"/>
    <boolean id="hvx"        _label="HVX/GCOS6"      arg-unset="-no-hvx"/>
    <boolean id="blitdamage" _label="NCD X Terminal  " arg-unset="-no-blitdamage"/>
    <boolean id="atm"        _label="ATM"            arg-unset="-no-atm"/>
-   <boolean id="bsd"        _label="BSD"            arg-set="-bsd"/>
   </vgroup>
   <vgroup>
   </vgroup>
   <vgroup>
+   <boolean id="bsd"        _label="BSD"            arg-set="-bsd"/>
    <boolean id="linux"      _label="Linux (fsck)"   arg-unset="-no-linux"/>
    <boolean id="sparclinux" _label="Linux (sparc)"  arg-set="-sparclinux"/>
    <boolean id="hppalinux"  _label="Linux (hppa)"   arg-unset="-no-hppalinux"/>
    <boolean id="linux"      _label="Linux (fsck)"   arg-unset="-no-linux"/>
    <boolean id="sparclinux" _label="Linux (sparc)"  arg-set="-sparclinux"/>
    <boolean id="hppalinux"  _label="Linux (hppa)"   arg-unset="-no-hppalinux"/>
+  </vgroup>
+  <vgroup>
    <boolean id="solaris"    _label="Solaris"        arg-unset="-no-solaris"/>
    <boolean id="sco"        _label="SCO"            arg-unset="-no-sco"/>
    <boolean id="hpux"       _label="HPUX"           arg-unset="-no-hpux"/>
    <boolean id="solaris"    _label="Solaris"        arg-unset="-no-solaris"/>
    <boolean id="sco"        _label="SCO"            arg-unset="-no-sco"/>
    <boolean id="hpux"       _label="HPUX"           arg-unset="-no-hpux"/>
   </vgroup>
  </hgroup>
 
   </vgroup>
  </hgroup>
 
- <xscreensaver-image />
+ <hgroup>
+  <vgroup>
+   <xscreensaver-image />
+  </vgroup>
+  <xscreensaver-updater />
+ </hgroup>
 
 <!--
   <hgroup>
 
 <!--
   <hgroup>
index 573763a6409f8b6ee9ad15618b0b2ffeb6e67afc..8185211c8bfa298551b1081a8c2883362fd94045 100644 (file)
@@ -12,6 +12,8 @@
   <boolean id="transp" _label="Transparent bubbles" arg-unset="-no-transparent"/>
   <string id="color"    _label="Bubble color"      arg="-color %"/>
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
   <boolean id="transp" _label="Transparent bubbles" arg-unset="-no-transparent"/>
   <string id="color"    _label="Bubble color"      arg="-color %"/>
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
+  <xscreensaver-updater />
+
   <_description>
 Draws a stream of rising, undulating 3D bubbles, rising toward the
 top of the screen, with transparency and specular reflections. 
   <_description>
 Draws a stream of rising, undulating 3D bubbles, rising toward the
 top of the screen, with transparency and specular reflections. 
index bf6755469a6f6cc58bf9c7c65eba407b3a6cab44..b14df1e89c44bf9eb6ba6b81fe7903a016b23b4d 100644 (file)
@@ -25,6 +25,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 This screen saver was removed from the XScreenSaver distribution as of
 version 5.08.
   <_description>
 This screen saver was removed from the XScreenSaver distribution as of
 version 5.08.
index 5c49021cd32729eb184a76624d7402ba486cebd3..9ce7eb7190fcdef017c297917ddce3a6b1b1ea8b 100644 (file)
@@ -24,6 +24,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 A spotlight roams across an embossed version of a loaded image.
 
   <_description>
 A spotlight roams across an embossed version of a loaded image.
 
index 03b89467178f8fc5478143596d04d5fef26b3bd1..086a756bf06a311b58ec5825cad40c798ffca19e 100644 (file)
@@ -12,6 +12,8 @@
   <boolean id="wire"    _label="Wireframe"   arg-set="-wireframe"/>
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
   <boolean id="wire"    _label="Wireframe"   arg-set="-wireframe"/>
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 This draws Escher's "Impossible Cage", a 3d analog of a moebius
 strip, and rotates it in three dimensions.
   <_description>
 This draws Escher's "Impossible Cage", a 3d analog of a moebius
 strip, and rotates it in three dimensions.
index 87e8fdac93a13581610f402b77892c0cc624b638..e2ca38816d88f93ae77de9caa54cf07b0b92ed4e 100644 (file)
@@ -43,6 +43,8 @@
 
   <xscreensaver-image />
 
 
   <xscreensaver-image />
 
+  <xscreensaver-updater />
+
   <_description>
 Loads several random images, and displays them flying in a circular
 formation.  The formation changes speed and direction randomly, and
   <_description>
 Loads several random images, and displays them flying in a circular
 formation.  The formation changes speed and direction randomly, and
index 203e67460b49f5344086fa8236963c246e1318a7..91938a88961e8687274392f219d16d72befc8915 100644 (file)
@@ -18,6 +18,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 Generates self-similar linear fractals, including the classic "C Curve".
 
   <_description>
 Generates self-similar linear fractals, including the classic "C Curve".
 
index b38040abe074a9de1eefa6328b6c092cddc83e9e..ffe6ea2801a09bbf32b6d1b9851feea73aa1a558 100644 (file)
@@ -17,6 +17,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 Repeatedly draws random Celtic cross-stitch patterns.
 
   <_description>
 Repeatedly draws random Celtic cross-stitch patterns.
 
index 25d6a2ead9bf005b8ef0258a61f39bf3b2d4b2c3..c7edaec904d9c208e794d2d20c60004e7e0e575c 100644 (file)
@@ -25,6 +25,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 Animates a number of 3D electronic components.
 
   <_description>
 Animates a number of 3D electronic components.
 
index 859d15f329318bae4f4a4435370b3b9d6a5926a1..57e89680dc441693641ed3f138297398b5b740af 100644 (file)
@@ -23,6 +23,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 
 Generates cloud-like formations based on a variant of Conway's Life. The
   <_description>
 
 Generates cloud-like formations based on a variant of Conway's Life. The
index e16256eb4ca081728bf356ad69597b0c5d7a6e5c..585d7f9905d38d2bf59fc25590fa41de62503118 100644 (file)
@@ -37,6 +37,8 @@
    </vgroup>
   </hgroup>
 
    </vgroup>
   </hgroup>
 
+  <xscreensaver-updater />
+
   <_description>
 The symptoms most commonly produced by Enrichment Center testing are
 superstition, perceiving inanimate objects as alive, and hallucinations.
   <_description>
 The symptoms most commonly produced by Enrichment Center testing are
 superstition, perceiving inanimate objects as alive, and hallucinations.
index 4e903f0aab871f03b39a9635579cd5b533d10440..a8aee64599e9ad680a8e8437f0080776457a3ed2 100644 (file)
@@ -11,6 +11,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 This draws a compass, with all elements spinning about randomly, for
 that "lost and nauseous" feeling.
   <_description>
 This draws a compass, with all elements spinning about randomly, for
 that "lost and nauseous" feeling.
index e918270234cdae9b84164e919fddac40f033ef78..c5dacac593a04ed71319d7a595a7b97935bedbf1 100644 (file)
@@ -24,6 +24,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 Simulates coral growth, albeit somewhat slowly.
 
   <_description>
 Simulates coral growth, albeit somewhat slowly.
 
index 4abb2018707ad67187a3c7a11e8809e0e6ae0f49..f4acce542e9d291ea747ce2f862498deaf62fdc8 100644 (file)
@@ -39,6 +39,8 @@
     <option id="vomit" _label="Vomitous coloration" arg-set="-color vomit"/>
   </select>  
 
     <option id="vomit" _label="Vomitous coloration" arg-set="-color vomit"/>
   </select>  
 
+  <xscreensaver-updater />
+
   <_description>
 Flies through height maps, optionally animating the creation and
 destruction of generated tiles; tiles `grow' into place.
   <_description>
 Flies through height maps, optionally animating the creation and
 destruction of generated tiles; tiles `grow' into place.
index ceef83260685baa94bcb31a46e2440528438bb3a..a36138da3b326ee831ae283009c87b1c39dae511 100644 (file)
@@ -15,6 +15,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 This screen saver was removed from the XScreenSaver distribution as of
 version 5.08.
   <_description>
 This screen saver was removed from the XScreenSaver distribution as of
 version 5.08.
index 2f2d972fe42cf0e070e3b0208bbf9d51274639a1..17dc5c59839a7f0e19f4e1e514943213eba77eb7 100644 (file)
@@ -33,6 +33,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 Moving polygons, similar to a kaleidoscope.  See also the
 "Kaleidescope" and "GLeidescope" screen savers.
   <_description>
 Moving polygons, similar to a kaleidoscope.  See also the
 "Kaleidescope" and "GLeidescope" screen savers.
index 23e3767541603e3c127a98138488b32c4ca69368..b8351c7dc0f13ccaaebaf53a2acd0330233c559d 100644 (file)
@@ -61,6 +61,8 @@
    </vgroup>
   </hgroup>
 
    </vgroup>
   </hgroup>
 
+  <xscreensaver-updater />
+
   <_description>
 Animates a Rubik-like puzzle known as Cube 21 or Square-1.
 The rotations are chosen randomly.  See also the "Rubik",
   <_description>
 Animates a Rubik-like puzzle known as Cube 21 or Square-1.
 The rotations are chosen randomly.  See also the "Rubik",
index aadbfc37ac866f75534fa77abf1312ff07edb448..3d22cbb0094685d0b8563a36e8a3480f341f759a 100644 (file)
@@ -4,43 +4,49 @@
 
   <command arg="-root"/>
 
 
   <command arg="-root"/>
 
-  <number id="delay" type="slider" arg="-delay %"
-          _label="Frame rate" _low-label="Low" _high-label="High"
-          low="0" high="100000" default="20000"
-          convert="invert"/>
+  <hgroup>
+   <vgroup>
+    <number id="delay" type="slider" arg="-delay %"
+            _label="Frame rate" _low-label="Low" _high-label="High"
+            low="0" high="100000" default="20000"
+            convert="invert"/>
 
 
-  <number id="count" type="slider" arg="-count %"
-          _label="Boxes" _low-label="Few" _high-label="Many"
-          low="1" high="20" default="5"/>
+    <number id="count" type="slider" arg="-count %"
+            _label="Boxes" _low-label="Few" _high-label="Many"
+            low="1" high="20" default="5"/>
 
 
-  <hgroup>
-   <boolean id="wander" _label="Wander" arg-unset="-no-wander"/>
-
-   <select id="rotation">
-     <option id="no"  _label="Don't rotate"               arg-set="-spin 0"/>
-     <option id="x"   _label="Rotate around X axis"       arg-set="-spin X"/>
-     <option id="y"   _label="Rotate around Y axis"       arg-set="-spin Y"/>
-     <option id="z"   _label="Rotate around Z axis"       arg-set="-spin Z"/>
-     <option id="xy"  _label="Rotate around X and Y axes" arg-set="-spin XY"/>
-     <option id="xz"  _label="Rotate around X and Z axes" arg-set="-spin XZ"/>
-     <option id="yz"  _label="Rotate around Y and Z axes" arg-set="-spin YZ"/>
-     <option id="xyz" _label="Rotate around all three axes"/>
-   </select>
-  </hgroup>
+    <hgroup>
+     <boolean id="wander" _label="Wander" arg-unset="-no-wander"/>
 
 
-  <number id="wave-speed" type="slider" arg="-wave-speed %"
-          _label="Surface pattern speed" _low-label="Slow" _high-label="Fast"
-          low="5" high="150" default="80"/>
+     <select id="rotation">
+       <option id="no"  _label="Don't rotate"               arg-set="-spin 0"/>
+       <option id="x"   _label="Rotate around X axis"       arg-set="-spin X"/>
+       <option id="y"   _label="Rotate around Y axis"       arg-set="-spin Y"/>
+       <option id="z"   _label="Rotate around Z axis"       arg-set="-spin Z"/>
+       <option id="xy"  _label="Rotate around X and Y axes" arg-set="-spin XY"/>
+       <option id="xz"  _label="Rotate around X and Z axes" arg-set="-spin XZ"/>
+       <option id="yz"  _label="Rotate around Y and Z axes" arg-set="-spin YZ"/>
+       <option id="xyz" _label="Rotate around all three axes"/>
+     </select>
+    </hgroup>
+   </vgroup>
 
 
-  <number id="wave-radius" type="slider" arg="-wave-radius %"
-          _label="Surface pattern overlap"
-          _low-label="Small" _high-label="Large"
-          low="5" high="600" default="512"/>
+   <vgroup>
+    <number id="wave-speed" type="slider" arg="-wave-speed %"
+            _label="Surface pattern speed" _low-label="Slow" _high-label="Fast"
+            low="5" high="150" default="80"/>
 
 
-  <number id="waves" type="slider" arg="-waves %"
-          _label="Surface pattern complexity"
-          _low-label="Low" _high-label="High"
-          low="1" high="20" default="3"/>
+    <number id="wave-radius" type="slider" arg="-wave-radius %"
+            _label="Surface pattern overlap"
+            _low-label="Small" _high-label="Large"
+            low="5" high="600" default="512"/>
+
+    <number id="waves" type="slider" arg="-waves %"
+            _label="Surface pattern complexity"
+            _low-label="Low" _high-label="High"
+            low="1" high="20" default="3"/>
+   </vgroup>
+  </hgroup>
 
   <hgroup>
    <boolean id="tex"     _label="Textured"  arg-unset="-no-texture"/>
 
   <hgroup>
    <boolean id="tex"     _label="Textured"  arg-unset="-no-texture"/>
@@ -48,6 +54,8 @@
    <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
   </hgroup>
 
    <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
   </hgroup>
 
+  <xscreensaver-updater />
+
   <_description>
 Draws a pulsating set of overlapping boxes with ever-chaning blobby
 patterns undulating across their surfaces.  It's sort of a cubist Lavalite.
   <_description>
 Draws a pulsating set of overlapping boxes with ever-chaning blobby
 patterns undulating across their surfaces.  It's sort of a cubist Lavalite.
index 077aa66015bb809f6f88f109a56ee2cf78082400..434a654aefe84b11c6e15fb7d63ddfca45405cdb 100644 (file)
@@ -29,6 +29,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 Draws a series of rotating 3D boxes that intersect each other and
 eventually fill space.
   <_description>
 Draws a series of rotating 3D boxes that intersect each other and
 eventually fill space.
index 962299b9937474b154243669a9dab4e009b9cac4..ac3ed18cc2ed095d88076fc8d5342d8c7ec9c733 100644 (file)
@@ -19,6 +19,8 @@
   <boolean id="bigdots" _label="Big dots"            arg-unset="-no-bigdots"/>
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
   <boolean id="bigdots" _label="Big dots"            arg-unset="-no-bigdots"/>
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 Draws the view of an observer located inside a rotating 3D lattice of colored 
 points.
   <_description>
 Draws the view of an observer located inside a rotating 3D lattice of colored 
 points.
index 215d9fe8f0150d75ff8020757ba1557016758f31..8620c1c0e9bbcbaec5f93afb4649fbefb9d8e516 100644 (file)
@@ -19,6 +19,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 This generates a languidly-scrolling vertical field of sinusoidal colors.
 
   <_description>
 This generates a languidly-scrolling vertical field of sinusoidal colors.
 
index ac1350e667f606ba4c2ca7db3edc77adfb3bb73c..c71995535aca58f2a6b6c5a9f3c37d8e8536bbde 100644 (file)
@@ -20,6 +20,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 Random dropshadowed rectangles pop onto the screen in lockstep.
 
   <_description>
 Random dropshadowed rectangles pop onto the screen in lockstep.
 
index 41450430275282ed265f3b9d7be6c89a908734ba..c345823ab8f8e449af33736ebf81f51a9818686f 100644 (file)
@@ -25,6 +25,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 Draws a ball that periodically extrudes many random spikes.  Ouch!
 
   <_description>
 Draws a ball that periodically extrudes many random spikes.  Ouch!
 
index b3245fa6e3088c46014e2968d1bf312efc243fa4..7f8c63002c5f65e943911f078ef016db549b7bd6 100644 (file)
@@ -35,6 +35,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 This takes an image and makes it melt, toward a randomly chosen point
 or direction.  Warning, if the effect continues after the screen saver
   <_description>
 This takes an image and makes it melt, toward a randomly chosen point
 or direction.  Warning, if the effect continues after the screen saver
index e2ff33bc4c97a725dc7134a87c42d8aa3529961a..32914ab94838eea5449083268078e7f82f5224c3 100644 (file)
@@ -31,6 +31,8 @@
    </vgroup>
   </hgroup>
 
    </vgroup>
   </hgroup>
 
+  <xscreensaver-updater />
+
   <_description>
 Subdivides and colors rectangles randomly, for a Mondrian-esque effect.
 
   <_description>
 Subdivides and colors rectangles randomly, for a Mondrian-esque effect.
 
index de3b49555db1fee6896cd7e7b9dfe16be590b0ef..f727759bea1f5d820e6b4417b3503bec32dfd848 100644 (file)
@@ -27,6 +27,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 Draws a pulsing sequence of transparent stars, circles, and lines.
 
   <_description>
 Draws a pulsing sequence of transparent stars, circles, and lines.
 
index c99799cf4b06574e7b951be0d587061c944f9f29..320aea83b2f80d9184a4e737372d6ce015aa6260 100644 (file)
@@ -26,6 +26,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 A cellular automaton that starts with a random field, and organizes
 it into stripes and spirals.
   <_description>
 A cellular automaton that starts with a random field, and organizes
 it into stripes and spirals.
index 153f331a8dc436fd15e0e7db3d79a2647dfeaadb..f12789816a749c2ab7055994be74fd5b2e38e97b 100644 (file)
@@ -19,6 +19,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 Discrete map fractal systems, including variants of Hopalong, Julia,
 and others.
   <_description>
 Discrete map fractal systems, including variants of Hopalong, Julia,
 and others.
index b78998dc6364e9883dfef4844b669f3dba89225b..a47b1a65e7a79a8d43ee212674248ddc9a7e0e42 100644 (file)
@@ -41,6 +41,8 @@
 
   <xscreensaver-image />
 
 
   <xscreensaver-image />
 
+  <xscreensaver-updater />
+
   <_description>
 Wandering lenses distort the screen image in various ways.
 
   <_description>
 Wandering lenses distort the screen image in various ways.
 
index 9942905e7df78769163f955b9a550e36cfd9b7a8..516652bbc5ef88e830c89abcf8e41fa022a22760 100644 (file)
@@ -19,6 +19,8 @@
    <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
   </hgroup>
 
    <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
   </hgroup>
 
+  <xscreensaver-updater />
+
   <_description>
 DNA Lounge
 
   <_description>
 DNA Lounge
 
index aacfe0d262df48170a20351f3106a1a5c43147d1..ec75e8bfb2151dedcde5dd114c39bf66a11d46c8 100644 (file)
@@ -19,6 +19,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 Drifting recursive fractal cosmic flames.
 
   <_description>
 Drifting recursive fractal cosmic flames.
 
index a2fa7f3c445fc9ac60ccfe3ec13fef55d350f246..8aeac2006b3462889d98c726376b274c8261e58a 100644 (file)
@@ -12,6 +12,8 @@
   <boolean id="classic" _label="Low resolution chess pieces" arg-set="-classic"/>
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
   <boolean id="classic" _label="Low resolution chess pieces" arg-set="-classic"/>
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 Black slips out of three mating nets, but the fourth one holds him tight!
 A brilliant composition! 
   <_description>
 Black slips out of three mating nets, but the fourth one holds him tight!
 A brilliant composition! 
index ccae48f08f0460d2cbc257b7847d201c7b58a008..c02f70d56b8ade444e0cc2240b1bfb07c959bec4 100644 (file)
@@ -30,6 +30,8 @@
   </hgroup>
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
   </hgroup>
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 Draws a simple model of an engine that floats around the screen.
 
   <_description>
 Draws a simple model of an engine that floats around the screen.
 
index 0d5aecb24c61ccd88d86a513a87e1f0a04a8aee7..09beb9a812b031dc0532f5e78b0ac7965ad2006c 100644 (file)
@@ -39,6 +39,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 This draws the path traced out by a point on the edge of a
 circle.  That circle rotates around a point on the rim of another
   <_description>
 This draws the path traced out by a point on the edge of a
 circle.  That circle rotates around a point on the rim of another
index 86af1667c62e5b816515258b847fdc8903f5fdd5..d0c769a59f3943a3e07e4a26484a71791e8e4261 100644 (file)
@@ -40,6 +40,8 @@
    </vgroup>
   </hgroup>
 
    </vgroup>
   </hgroup>
 
+  <xscreensaver-updater />
+
   <_description>
 Exploding fireworks.  See also the "Fireworkx", "XFlame" and "Pyro"
 screen savers.
   <_description>
 Exploding fireworks.  See also the "Fireworkx", "XFlame" and "Pyro"
 screen savers.
index f69b24a99423718766fda2315f692ddaf9aff3df..1b0bf5f3947ecf2c78b7ad48733771d0a4ed09f2 100644 (file)
@@ -4,34 +4,41 @@
 
   <command arg="-root"/>
 
 
   <command arg="-root"/>
 
-  <number id="delay" type="slider" arg="-delay %"
-          _label="Frame rate" _low-label="Low" _high-label="High"
-          low="0" high="100000" default="10000"
-          convert="invert"/>
-
-  <number id="count" type="slider" arg="-count %"
-           _label="Particles" _low-label="Few" _high-label="Many"
-          low="2" high="5000" default="1024"/>
-
-  <number id="eulertail" type="slider" arg="-eulertail %"
-           _label="Trail length" _low-label="Short" _high-label="Long"
-          low="2" high="500" default="10"/>
-
-<!--
-  <number id="eulerpower" type="slider" arg="-eulerpower %"
-           _label="Power" _low-label="Low" _high-label="High"
-          low="0.5" high="3.0" default="1.0"/>
--->
-
-  <number id="cycles" type="slider" arg="-cycles %"
-           _label="Duration" _low-label="Short" _high-label="Long"
-          low="100" high="5000" default="3000"/>
-
-  <number id="ncolors" type="slider" arg="-ncolors %"
-            _label="Number of colors" _low-label="Two" _high-label="Many"
-            low="2" high="255" default="64"/>
+  <hgroup>
+   <vgroup>
+    <number id="delay" type="slider" arg="-delay %"
+            _label="Frame rate" _low-label="Low" _high-label="High"
+            low="0" high="100000" default="10000"
+            convert="invert"/>
+
+    <number id="count" type="slider" arg="-count %"
+             _label="Particles" _low-label="Few" _high-label="Many"
+            low="2" high="5000" default="1024"/>
+
+    <number id="eulertail" type="slider" arg="-eulertail %"
+             _label="Trail length" _low-label="Short" _high-label="Long"
+            low="2" high="500" default="10"/>
+   </vgroup>
+
+   <vgroup>
+  <!--
+    <number id="eulerpower" type="slider" arg="-eulerpower %"
+             _label="Power" _low-label="Low" _high-label="High"
+            low="0.5" high="3.0" default="1.0"/>
+  -->
+
+    <number id="cycles" type="slider" arg="-cycles %"
+             _label="Duration" _low-label="Short" _high-label="Long"
+            low="100" high="5000" default="3000"/>
+
+    <number id="ncolors" type="slider" arg="-ncolors %"
+              _label="Number of colors" _low-label="Two" _high-label="Many"
+              low="2" high="255" default="64"/>
+   </vgroup>
+  </hgroup>
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
+  <xscreensaver-updater />
 
   <_description>
 Simulates two dimensional incompressible inviscid fluid flow.
 
   <_description>
 Simulates two dimensional incompressible inviscid fluid flow.
index 48d423688aaa526fc15e6bcdc993cb68b748f1e8..52880c1f9e7ca8b8b1729b1f4350e8d05e7c7eb0 100644 (file)
@@ -32,6 +32,8 @@
   <boolean id="wire"    _label="Wireframe" arg-set="-wireframe"/>
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
   <boolean id="wire"    _label="Wireframe" arg-set="-wireframe"/>
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 Draws various rotating extruded shapes that twist around, lengthen,
 and turn inside out.
   <_description>
 Draws various rotating extruded shapes that twist around, lengthen,
 and turn inside out.
index 368224fd29259bbc949375958163c9cefb96143e..1a0ded9398b3609fe76d39944ac956dfe27a5365 100644 (file)
@@ -23,6 +23,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 Draws what looks like a waving ribbon following a sinusoidal path.
 
   <_description>
 Draws what looks like a waving ribbon following a sinusoidal path.
 
index 9357730fbf628047a6b2b04ec34b034b0e0a4102..6c4293f00906c924b8bf99074727b65b2f217719 100644 (file)
@@ -19,6 +19,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 Draws a groovy rotating fiber optic lamp.  
 
   <_description>
 Draws a groovy rotating fiber optic lamp.  
 
index d8bfd441487b0acaef29037cc2de310a81ee24d9..55af1fbe401037dcad685a283f2735092135d39a 100644 (file)
@@ -17,6 +17,8 @@
   <boolean id="shoot" _label="Shells upward" arg-set="-shoot"/>
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
   <boolean id="shoot" _label="Shells upward" arg-set="-shoot"/>
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 Exploding fireworks.  See also the "Eruption", "XFlame" and "Pyro"
 screen savers.
   <_description>
 Exploding fireworks.  See also the "Eruption", "XFlame" and "Pyro"
 screen savers.
index 93155fb2d61f35249b5a78f66a0ac08540677179..c2120cafc06a325e246644018c1f92dd8402de27 100644 (file)
@@ -23,6 +23,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 This screen saver was removed from the XScreenSaver distribution as of
 version 5.08.
   <_description>
 This screen saver was removed from the XScreenSaver distribution as of
 version 5.08.
index 8fce71c29b1aea8408f74cd005b6db499da2dc4c..5fc5670e6d01cff7e05a0deac22f4ad885598bcc 100644 (file)
@@ -27,6 +27,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 Iterative fractals.
 
   <_description>
 Iterative fractals.
 
index 3a7828fe323c0174fc780821e1f5840c17e2ec6a..d96481f6553040f42f88bc35dc58ac0374b8b6cc 100644 (file)
@@ -40,6 +40,8 @@
    </vgroup>
   </hgroup>
 
    </vgroup>
   </hgroup>
 
+  <xscreensaver-updater />
+
   <_description>
 Draws a grid of 3D colored tiles that change positions with each other.  
 
   <_description>
 Draws a grid of 3D colored tiles that change positions with each other.  
 
index 662f8ff233fd1bbaffce9ac6e6b24bd0f2dbdea2..8b3cf62f28bf9015b577ec85a60a4c9dce0ee226 100644 (file)
@@ -15,6 +15,8 @@
 
   <xscreensaver-image />
 
 
   <xscreensaver-image />
 
+  <xscreensaver-updater />
+
   <_description>
 Spins and deforms an image.
 
   <_description>
 Spins and deforms an image.
 
index 7079e6aa10f22b783228de4fafa9526414fe6be2..c07872c1d4da7d22cadde75e2192bae0bd357c80 100644 (file)
@@ -43,6 +43,8 @@
    </vgroup>
   </hgroup>
 
    </vgroup>
   </hgroup>
 
+  <xscreensaver-updater />
+
   <_description>
 Draws successive pages of text.  The lines flip in and out in
 a soothing 3D pattern.
   <_description>
 Draws successive pages of text.  The lines flip in and out in
 a soothing 3D pattern.
index 76d1bf4ca50aed56841c20989ce8321637640782..126068eb01a5a15cef50e71fb92ab94120fd86a0 100644 (file)
@@ -43,6 +43,8 @@
    </vgroup>
   </hgroup>
 
    </vgroup>
   </hgroup>
 
+  <xscreensaver-updater />
+
   <_description>
 Strange attractors formed of flows in a 3D differential equation phase
 space.  Features the popular attractors described by Lorentz,
   <_description>
 Strange attractors formed of flows in a 3D differential equation phase
 space.  Features the popular attractors described by Lorentz,
index 10b342f2a781ead30e0d7646f0c4ae9eb9eceef0..e0e5e25c91d8392cdc4091ab1ce4636b477d2543 100644 (file)
    </vgroup>
   </hgroup>
 
    </vgroup>
   </hgroup>
 
-  <boolean id="random" _label="Various ball sizes"    arg-unset="-no-random"/>
-  <boolean id="shake"  _label="Shake box"             arg-unset="-no-shake"/>
-  <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
+  <hgroup>
+   <boolean id="random" _label="Various ball sizes"    arg-unset="-no-random"/>
+   <boolean id="shake"  _label="Shake box"             arg-unset="-no-shake"/>
+   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
+  </hgroup>
+
+  <xscreensaver-updater />
 
   <_description>
 Models the physics of bouncing balls, or of particles in a gas or
 
   <_description>
 Models the physics of bouncing balls, or of particles in a gas or
index 0c689c162f79db4ff40a539b563053a76a25bd75..2719d66c617e481b1439f051d5c1c543591750eb 100644 (file)
@@ -17,6 +17,8 @@
     <option id="random"  _label="Random"/>
   </select>
 
     <option id="random"  _label="Random"/>
   </select>
 
+  <xscreensaver-updater />
+
   <_description>
 This X11 port of the OSX screensaver of the same name draws a colourful
 star(fish)like flurry of particles.
   <_description>
 This X11 port of the OSX screensaver of the same name draws a colourful
 star(fish)like flurry of particles.
index 45721bfe80b812c6226da536e01f17f02af0f4cf..3d348dd6782cb0b2a12cd2c4c480539bd7763e5b 100644 (file)
@@ -27,6 +27,8 @@
    <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
   </hgroup>
 
    <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
   </hgroup>
 
+  <xscreensaver-updater />
+
   <_description>
 A fleet of 3d space-age jet-powered flying toasters (and toast!)
 Inspired by the ancient Berkeley Systems After Dark flying toasters.
   <_description>
 A fleet of 3d space-age jet-powered flying toasters (and toast!)
 Inspired by the ancient Berkeley Systems After Dark flying toasters.
index 58dadcbfe97c6d0e316b755e79b87ff439a1f8a3..653c1f7c48b65cd577c9d14fed30a664032ae604 100644 (file)
     <number id="speed" type="slider" arg="-speed %"
             _label="Speed" _low-label="Slow" _high-label="Fast"
             low="0.1" high="10.0" default="1.0"/>
     <number id="speed" type="slider" arg="-speed %"
             _label="Speed" _low-label="Slow" _high-label="Fast"
             low="0.1" high="10.0" default="1.0"/>
+
+    <number id="linger" type="slider" arg="-linger %"
+            _label="Page linger" _low-label="Brief" _high-label="Long"
+            low="0.1" high="10.0" default="1.0"/>
+
     <select id="mode">
      <option id="page"   _label="Pages of text"  arg-set="-mode page"/>
      <option id="scroll" _label="Horizontally scrolling text" arg-set="-mode scroll"/>
      <option id="random" _label="Random display style"/>
     </select>
     <select id="mode">
      <option id="page"   _label="Pages of text"  arg-set="-mode page"/>
      <option id="scroll" _label="Horizontally scrolling text" arg-set="-mode scroll"/>
      <option id="random" _label="Random display style"/>
     </select>
+
+    <hgroup>
+     <number id="bw" type="spinbutton" arg="-bw %"
+              _label="Font border thickness" low="0" high="8" default="2"/>
+    </hgroup>
    </vgroup>
    </vgroup>
-   <vgroup>
-    <number id="linger" type="slider" arg="-linger %"
-            _label="Page linger" _low-label="Brief" _high-label="Long"
-            low="0.1" high="10.0" default="1.0"/>
 
 
-    <number id="bw" type="spinbutton" arg="-bw %"
-             _label="Font border thickness" low="0" high="8" default="2"/>
-    <boolean id="trails" _label="Vapor trails"    arg-set="-trails"/>
-    <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
+   <vgroup>
+    <xscreensaver-text />
+    <hgroup>
+     <boolean id="trails" _label="Vapor trails"    arg-set="-trails"/>
+     <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
+    </hgroup>
    </vgroup>
   </hgroup>
 
    </vgroup>
   </hgroup>
 
-  <xscreensaver-text />
+  <xscreensaver-updater />
 
   <_description>
 Puts text on the screen using large characters that glide in from the
 
   <_description>
 Puts text on the screen using large characters that glide in from the
index 2b8d64e99596f8f6b7adbeaa74d0462d75166009..08313995ad663f6434c22751b28d8efa4b9c3b73 100644 (file)
@@ -15,6 +15,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 This screen saver was removed from the XScreenSaver distribution as of
 version 5.08.
   <_description>
 This screen saver was removed from the XScreenSaver distribution as of
 version 5.08.
index 4a94f685a93e1b40b5f2e2ef7d7a2be2eef35837..75c8d7398be2d9e158226e37499724a1a0e46c80 100644 (file)
@@ -52,6 +52,8 @@
    </vgroup>
   </hgroup>
 
    </vgroup>
   </hgroup>
 
+  <xscreensaver-updater />
+
   <_description>
 Falling colored snowflake/flower shapes.
 
   <_description>
 Falling colored snowflake/flower shapes.
 
index bc116cd5627c358c8c96816b92bfb7f03b42cc6c..c056b678a33e781fd6b4d1fc1374380d090b316e 100644 (file)
@@ -24,6 +24,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 This draws spinning galaxies, which then collide and scatter their
 stars to the, uh, four winds or something.
   <_description>
 This draws spinning galaxies, which then collide and scatter their
 stars to the, uh, four winds or something.
index 16b8cf31caa7c7f5e084329543311e7cb1aaa4bb..3dc2b38e8177a46d57dafdf90a0629f5936b1720 100644 (file)
@@ -24,6 +24,8 @@
    <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
   </hgroup>
 
    <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
   </hgroup>
 
+  <xscreensaver-updater />
+
   <_description>
 This draws sets of turning, interlocking gears, rotating in three
 dimensions.  See also the "Pinion" and "MoebiusGears" screen savers.
   <_description>
 This draws sets of turning, interlocking gears, rotating in three
 dimensions.  See also the "Pinion" and "MoebiusGears" screen savers.
index ade711cb510d4cbd01fa0abe7d6a925ca6cd003f..12fdf22ddd7bc300a64d1d1d9002dd036793311f 100644 (file)
@@ -37,6 +37,8 @@
    </vgroup>
   </hgroup>
 
    </vgroup>
   </hgroup>
 
+  <xscreensaver-updater />
+
   <_description>
 Animates a mesh geodesic sphere of increasing and decreasing complexity.
 
   <_description>
 Animates a mesh geodesic sphere of increasing and decreasing complexity.
 
index 0b3c17d427a285482f7f99fd22d325acf7c9102a..4bc48dbbd05f34983f6f6873fe73ab05bd87ec21 100644 (file)
@@ -49,6 +49,8 @@
 
   <xscreensaver-image />
 
 
   <xscreensaver-image />
 
+  <xscreensaver-updater />
+
   <_description>
 Draws undulating waves on a rotating grid.
 
   <_description>
 Draws undulating waves on a rotating grid.
 
index 19a80d3215272c46b857b1a9926ceedb378b6837..45fd4b315047bd2b303f077d2c759a73c7f7b5a4 100644 (file)
@@ -28,6 +28,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 Generates flowing field effects from the vapor trails around a moving
 object.
   <_description>
 Generates flowing field effects from the vapor trails around a moving
 object.
index 7f38d48b2d62cc84f22573e8b939474f0e8254ed..de37ceab79a8ffcc86fbcf20cf2cc9d26ce110d8 100644 (file)
@@ -52,6 +52,8 @@
    <boolean id="wireframe" _label="Wireframe" arg-set="-wireframe"/>
   </hgroup>
 
    <boolean id="wireframe" _label="Wireframe" arg-set="-wireframe"/>
   </hgroup>
 
+  <xscreensaver-updater />
+
   <_description>
 Cells growing, dividing and dying on your screen.  Microscopic pathos.
 
   <_description>
 Cells growing, dividing and dying on your screen.  Microscopic pathos.
 
index 025fec8830397006e531c2292d7b62bdd78fca1e..61ba1aa77330f4367e8ff342d79b2bcc9905243a 100644 (file)
@@ -27,6 +27,8 @@
 
   <xscreensaver-image />
 
 
   <xscreensaver-image />
 
+  <xscreensaver-updater />
+
   <_description>
 A kaleidoscope that operates on a loaded image.
 
   <_description>
 A kaleidoscope that operates on a loaded image.
 
index feec5da5f72d69c1cb445f8dc15e2e208b3161f6..7bb8a9df6f5620e6bcb4e4d1db94d46451241106 100644 (file)
@@ -30,6 +30,8 @@
    </vgroup>
   </hgroup>
 
    </vgroup>
   </hgroup>
 
+  <xscreensaver-updater />
+
   <_description>
 This screen saver was removed from the XScreenSaver distribution as of
 version 5.08.
   <_description>
 This screen saver was removed from the XScreenSaver distribution as of
 version 5.08.
index 81f35d577939fc3ea22dd29ef5a1c84afce008ba..4e05757d3d2c4ef82d95ade8808f176b8372a997 100644 (file)
@@ -2,37 +2,45 @@
                                                                                 
 <screensaver name="glhanoi" _label="GLHanoi" gl="yes">
 
                                                                                 
 <screensaver name="glhanoi" _label="GLHanoi" gl="yes">
 
-       <command arg="-root"/>
-       
-       <number id="delay" type="slider" arg="-delay %"
-         _label="Frame rate" _low-label="Low" _high-label="High"
-          low="0" high="100000" default="15000" convert="invert"/>
-       
-       <number id="count" type="slider" arg="-count %"
-         _label="Number of disks" _low-label="0" _high-label="31"
-           default="0" low="0" high="31"/>
-
-       <number id="poles" type="slider" arg="-poles %"
-         _label="Number of poles" _low-label="0" _high-label="31"
-           default="0" low="3" high="31"/>
-                  
-       <number id="speed" type="slider" arg="-speed %"
-         _label="Speed (of smallest disks)" _low-label="1" _high-label="20"
-           default="1" low="1" high="20"/>
-
-       <number id="trails" type="slider" arg="-trails %"
-         _label="Length of disk trails" _low-label="0" _high-label="10"
-           default="2" low="0" high="10"/>
-                  
-       <boolean id="fog" _label="Enable fog" arg-set="-fog"/>
-
-       <boolean id="wire" _label="Wireframe" arg-set="-wireframe"/>
-
-       <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
-
-       <boolean id="lighting" _label="Enable lighting" arg-unset="-no-light"/>
-
-       <_description>
+ <command arg="-root"/>
+
+  <hgroup>
+   <vgroup>
+    <number id="delay" type="slider" arg="-delay %"
+            _label="Frame rate" _low-label="Low" _high-label="High"
+            low="0" high="100000" default="15000" convert="invert"/>
+
+    <number id="count" type="slider" arg="-count %"
+            _label="Number of disks" _low-label="0" _high-label="31"
+            default="0" low="0" high="31"/>
+
+    <number id="poles" type="slider" arg="-poles %"
+            _label="Number of poles" _low-label="0" _high-label="31"
+            default="0" low="3" high="31"/>
+   </vgroup>
+
+   <vgroup>
+    <number id="speed" type="slider" arg="-speed %"
+            _label="Speed (of smallest disks)" _low-label="1" _high-label="20"
+            default="1" low="1" high="20"/>
+
+    <number id="trails" type="slider" arg="-trails %"
+            _label="Length of disk trails" _low-label="0" _high-label="10"
+            default="2" low="0" high="10"/>
+
+    <boolean id="fog" _label="Enable fog" arg-set="-fog"/>
+
+    <boolean id="wire" _label="Wireframe" arg-set="-wireframe"/>
+
+    <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
+
+    <boolean id="lighting" _label="Enable lighting" arg-unset="-no-light"/>
+   </vgroup>
+  </hgroup>
+
+ <xscreensaver-updater />
+
+ <_description>
 Solves the Towers of Hanoi puzzle. Move N disks from one pole to
 another, one disk at a time, with no disk ever resting on a disk
 smaller than itself.
 Solves the Towers of Hanoi puzzle. Move N disks from one pole to
 another, one disk at a time, with no disk ever resting on a disk
 smaller than itself.
@@ -40,5 +48,5 @@ smaller than itself.
 http://en.wikipedia.org/wiki/Tower_of_Hanoi
 
 Written by Dave Atkinson; 2005.
 http://en.wikipedia.org/wiki/Tower_of_Hanoi
 
 Written by Dave Atkinson; 2005.
      </_description>
+ </_description>
 </screensaver>
 </screensaver>
index e6dd137c828f12e811c8a4e55b0a3e70c5758b33..524654e29a57dc112f787a9ccf5783f525758e2f 100644 (file)
@@ -49,6 +49,8 @@
    </vgroup>
   </hgroup>
 
    </vgroup>
   </hgroup>
 
+  <xscreensaver-updater />
+
   <_description>
 Generates some twisting 3d knot patterns.  Spins 'em around.
 
   <_description>
 Generates some twisting 3d knot patterns.  Spins 'em around.
 
index 2b8ea5a3e54a8c5f176328b3ff4cc283451608e9..01b9710e287772b413c745f29cb3c17dbf290501 100644 (file)
@@ -36,6 +36,8 @@
    <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
   </hgroup>
 
    <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
   </hgroup>
 
+  <xscreensaver-updater />
+
   <_description>
 Draws the 3D "digital rain" effect, as seen in the title sequence
 of "The Matrix".
   <_description>
 Draws the 3D "digital rain" effect, as seen in the title sequence
 of "The Matrix".
index c7d27179eb80050c07c95ec42674b7893e1ce099..254a6cc7b3db75c71426fbf050f149dee0110150 100644 (file)
@@ -27,6 +27,8 @@
    <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
   </hgroup>
 
    <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
   </hgroup>
 
+  <xscreensaver-updater />
+
   <_description>
 Draws the Earth bouncing around in space.
 
   <_description>
 Draws the Earth bouncing around in space.
 
index 8ca0211d903419887cabab70cceb9f3bff83aa67..5d590fdf1fb4d8a360829dd34cafc50175e6dcd8 100644 (file)
@@ -31,6 +31,8 @@
  <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
  </hgroup>
 
  <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
  </hgroup>
 
+  <xscreensaver-updater />
+
  <_description>
 Uses Craig Reynolds' classic "Boids" algorithm to simulate a school of fish.
 
  <_description>
 Uses Craig Reynolds' classic "Boids" algorithm to simulate a school of fish.
 
index 7e30eb9c528b81433db04da6c1720f81df1ecacf..1ef8bb0ca603891481fdf862e3f88d438d50c3de 100644 (file)
@@ -21,8 +21,6 @@
            _low-label="50%" _high-label="100%"
            low="50" high="100" default="75"/>
 
            _low-label="50%" _high-label="100%"
            low="50" high="100" default="75"/>
 
-   </vgroup>
-   <vgroup>
    <number id="pan" type="slider" arg="-pan %"
            _label="Pan/zoom duration"
            _low-label="1 second" _high-label="30 seconds"
    <number id="pan" type="slider" arg="-pan %"
            _label="Pan/zoom duration"
            _low-label="1 second" _high-label="30 seconds"
            _label="Crossfade duration"
            _low-label="None" _high-label="30 seconds"
            low="0" high="30" default="2"/>
            _label="Crossfade duration"
            _low-label="None" _high-label="30 seconds"
            low="0" high="30" default="2"/>
-
    </vgroup>
    </vgroup>
-  </hgroup>
-
-  <hgroup>
    <vgroup>
    <vgroup>
+
     <boolean id="letterbox" _label="Letterbox" arg-unset="-no-letterbox"/>
     <boolean id="titles" _label="Show file names" arg-set="-titles"/>
     <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
     <boolean id="letterbox" _label="Letterbox" arg-unset="-no-letterbox"/>
     <boolean id="titles" _label="Show file names" arg-set="-titles"/>
     <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
-   </vgroup>
-   <vgroup>
+
     <xscreensaver-image />
     <xscreensaver-image />
+
+    <xscreensaver-updater />
+
    </vgroup>
   </hgroup>
 
    </vgroup>
   </hgroup>
 
index 3efc7f49a51ac2d982083ffac386f64f7a08d9dd..96929a3c5423d6dd171a24072450eaff4d44ce56 100644 (file)
@@ -42,6 +42,8 @@
    <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
   </hgroup>
 
    <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
   </hgroup>
 
+  <xscreensaver-updater />
+
   <_description>
 Draws a simulation of the Rubik's Snake puzzle.  See also the "Rubik"
 and "Cube21" screen savers.
   <_description>
 Draws a simulation of the Rubik's Snake puzzle.  See also the "Rubik"
 and "Cube21" screen savers.
index 8a1eb591610c37ab5b4bc184ab96db62d18e3c48..5863453a1ab22e1baaf59649758dc532352f603f 100644 (file)
@@ -37,6 +37,8 @@
   <boolean id="wire"    _label="Wireframe"              arg-set="-wireframe"/>
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
   <boolean id="wire"    _label="Wireframe"              arg-set="-wireframe"/>
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 Displays a few lines of text spinning around in a solid 3D font.
 The text can use strftime() escape codes to display the current 
   <_description>
 Displays a few lines of text spinning around in a solid 3D font.
 The text can use strftime() escape codes to display the current 
index f8b1ab48e76fbf91d2dbf3bc4057c70148f0a912..dd32cfcfb7c1d19f6fc1e53c1821a9ca70d483f6 100644 (file)
@@ -48,6 +48,8 @@
     </select>
   </hgroup>
 
     </select>
   </hgroup>
 
+  <xscreensaver-updater />
+
   <_description>
 This draws set of animating, transparent, amoeba-like blobs.  The blobs
 change shape as they wander around the screen, and they are translucent,
   <_description>
 This draws set of animating, transparent, amoeba-like blobs.  The blobs
 change shape as they wander around the screen, and they are translucent,
index 915e00a215644e90c197e097526ceaa12b36d65b..927409edb7e7004085d12e94d13da3aae9c28cea 100644 (file)
@@ -23,6 +23,8 @@
    <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
   </hgroup>
 
    <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
   </hgroup>
 
+  <xscreensaver-updater />
+
   <_description>
 This draws a simple orbital simulation.  With trails enabled,
 it looks kind of like a cloud-chamber photograph.
   <_description>
 This draws a simple orbital simulation.  With trails enabled,
 it looks kind of like a cloud-chamber photograph.
index 3604dba7dfd06617cf085d9d31774b23458bb626..fc0b0cd252d1406234a95d264a57affb6c7cb695 100644 (file)
@@ -13,6 +13,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 Draws random colored, stippled and transparent rectangles.
 
   <_description>
 Draws random colored, stippled and transparent rectangles.
 
index 4eaef74ba7f2a3bd78775ee189dfb777a4fd1ac5..d8e18228cea740d690f8f9104fe3af44bd24798c 100644 (file)
@@ -43,6 +43,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 Draws the gravity force in each point on the screen seen through a
 halftone dot pattern. The gravity force is calculated from a set of
   <_description>
 Draws the gravity force in each point on the screen seen through a
 halftone dot pattern. The gravity force is calculated from a set of
index dfbaaf0e7209f44d768069380d476aa60f5b4545..c87ae64aebc5bdeedc9670b8d08de4d8db8c5715 100644 (file)
@@ -28,6 +28,8 @@
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
   </hgroup>
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
   </hgroup>
 
+  <xscreensaver-updater />
+
   <_description>
 Draws circular interference patterns that hurt to look at.
 
   <_description>
 Draws circular interference patterns that hurt to look at.
 
index b2eb11d240298ca13ee0d3afd635f8861028247a..4846158a91fdea865ca86acfaf636d91507c9233 100644 (file)
@@ -15,6 +15,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 Spirally string-art-ish patterns.
 
   <_description>
 Spirally string-art-ish patterns.
 
index d44ca841f8349cebd6937f595e9f5e80eb78a00e..5f40a5205beb22d67052d0b03416947c2867c25a 100644 (file)
@@ -46,6 +46,8 @@
    </vgroup>
   </hgroup>
 
    </vgroup>
   </hgroup>
 
+  <xscreensaver-updater />
+
   <_description>
 Draws a grid of hexagons or other shapes and drops them out.
 
   <_description>
 Draws a grid of hexagons or other shapes and drops them out.
 
index e58a8c6c42989325aaedf4d1747b14938e71b34e..abfe72d534ac1523d428d34b0e884bc5b9bb5eb6 100644 (file)
@@ -54,6 +54,8 @@
    </vgroup>
   </hgroup>
 
    </vgroup>
   </hgroup>
 
+  <xscreensaver-updater />
+
   <_description>
 This draws the recursive Hilbert space-filling curve, in both 2D and
 3D variants.  It incrementally animates the growth and recursion to
   <_description>
 This draws the recursive Hilbert space-filling curve, in both 2D and
 3D variants.  It incrementally animates the growth and recursion to
index 4c91dbbafa89e2a65da13f56b7cd8d3fe22e119e..8e90bd0bac8928058cdefadc89b87857d9f082d5 100644 (file)
@@ -4,47 +4,54 @@
 
   <command arg="-root"/>
 
 
   <command arg="-root"/>
 
-  <number id="delay" type="slider" arg="-delay %"
-          _label="Frame rate" _low-label="Low" _high-label="High"
-          low="0" high="100000" default="10000"
-          convert="invert"/>
-
-  <number id="cycles" type="slider" arg="-cycles %"
-           _label="Duration" _low-label="Small" _high-label="Large"
-          low="0" high="800000" default="2500"/>
-
-  <number id="count" type="slider" arg="-count %"
-          _label="Color contrast" _low-label="Low" _high-label="High"
-          low="100" high="10000" default="1000"/>
-
-  <number id="ncolors" type="slider" arg="-ncolors %"
-            _label="Number of colors" _low-label="Two" _high-label="Many"
-            low="1" high="255" default="200"/>
+  <hgroup>
+   <vgroup>
+    <number id="delay" type="slider" arg="-delay %"
+            _label="Frame rate" _low-label="Low" _high-label="High"
+            low="0" high="100000" default="10000"
+            convert="invert"/>
+
+    <number id="cycles" type="slider" arg="-cycles %"
+             _label="Duration" _low-label="Small" _high-label="Large"
+            low="0" high="800000" default="2500"/>
+   </vgroup>
+
+   <vgroup>
+    <number id="count" type="slider" arg="-count %"
+            _label="Color contrast" _low-label="Low" _high-label="High"
+            low="100" high="10000" default="1000"/>
+
+    <number id="ncolors" type="slider" arg="-ncolors %"
+              _label="Number of colors" _low-label="Two" _high-label="Many"
+              low="1" high="255" default="200"/>
+   </vgroup>
+  </hgroup>
 
   <hgroup>
     <vgroup>
       <boolean id="sine"    _label="Sine"    arg-set="-sine"/>
       <boolean id="martin"  _label="Martin"  arg-set="-martin"/>
       <boolean id="popcorn" _label="Popcorn" arg-set="-popcorn"/>
 
   <hgroup>
     <vgroup>
       <boolean id="sine"    _label="Sine"    arg-set="-sine"/>
       <boolean id="martin"  _label="Martin"  arg-set="-martin"/>
       <boolean id="popcorn" _label="Popcorn" arg-set="-popcorn"/>
-      <boolean id="jong"    _label="Jong"    arg-set="-jong"/>
     </vgroup>
     <vgroup>
     </vgroup>
     <vgroup>
+      <boolean id="jong"    _label="Jong"    arg-set="-jong"/>
       <boolean id="rr"      _label="RR"      arg-set="-rr"/>
       <boolean id="ejk1"    _label="EJK1"    arg-set="-ejk1"/>
       <boolean id="rr"      _label="RR"      arg-set="-rr"/>
       <boolean id="ejk1"    _label="EJK1"    arg-set="-ejk1"/>
+    </vgroup>
+    <vgroup>
       <boolean id="ejk2"    _label="EJK2"    arg-set="-ejk2"/>
       <boolean id="ejk3"    _label="EJK3"    arg-set="-ejk3"/>
       <boolean id="ejk2"    _label="EJK2"    arg-set="-ejk2"/>
       <boolean id="ejk3"    _label="EJK3"    arg-set="-ejk3"/>
+      <boolean id="ejk4"    _label="EJK4"    arg-set="-ejk4"/>
     </vgroup>
     <vgroup>
     </vgroup>
     <vgroup>
-      <boolean id="ejk4"    _label="EJK4"    arg-set="-ejk4"/>
       <boolean id="ejk5"    _label="EJK5"    arg-set="-ejk5"/>
       <boolean id="ejk6"    _label="EJK6"    arg-set="-ejk6"/>
       <boolean id="ejk5"    _label="EJK5"    arg-set="-ejk5"/>
       <boolean id="ejk6"    _label="EJK6"    arg-set="-ejk6"/>
-    </vgroup>
-
-    <vgroup>
-     <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
+      <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
     </vgroup>
   </hgroup>
 
     </vgroup>
   </hgroup>
 
+  <xscreensaver-updater />
+
   <_description>
 This draws lacy fractal patterns based on iteration in the imaginary
 plane, from a 1986 Scientific American article.  See also the
   <_description>
 This draws lacy fractal patterns based on iteration in the imaginary
 plane, from a 1986 Scientific American article.  See also the
index 5d80bd911fae7123f16757adc50bc27120e931dd..70748612d6721f7a9b1f1f64c0ce01ae6208a0c0 100644 (file)
@@ -4,18 +4,21 @@
 
   <command arg="-root"/>
 
 
   <command arg="-root"/>
 
-  <number id="delay" type="slider" arg="-delay %"
-          _label="Frame rate" _low-label="Low" _high-label="High"
-          low="0" high="100000" default="20000"
-          convert="invert"/>
+  <hgroup>
+    <vgroup>
+     <number id="delay" type="slider" arg="-delay %"
+             _label="Frame rate" _low-label="Low" _high-label="High"
+             low="0" high="100000" default="20000"
+             convert="invert"/>
 
 
-<!--
-  <number id="z" type="slider" arg="-observer-z %"
-          _label="Zoom" _low-label="Near" _high-label="Far"
-          low="1.125" high="10.0" default="3.0"/>
--->
 
 
-  <hgroup>
+      <number id="z" type="slider" arg="-observer-z %"
+              _label="Zoom" _low-label="Near" _high-label="Far"
+              low="1.125" high="10.0" default="3.0"/>
+
+     <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
+    </vgroup>
+
     <vgroup>
       <number id="xw" type="slider" arg="-xw %"
               _label="XW rotation" _low-label="Slow" _high-label="Fast"
     <vgroup>
       <number id="xw" type="slider" arg="-xw %"
               _label="XW rotation" _low-label="Slow" _high-label="Fast"
@@ -40,7 +43,7 @@
     </vgroup>
   </hgroup>
 
     </vgroup>
   </hgroup>
 
-  <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
+  <xscreensaver-updater />
 
   <_description>
 This screen saver was removed from the XScreenSaver distribution as of
 
   <_description>
 This screen saver was removed from the XScreenSaver distribution as of
index 472430e2e130f843c560c96cd75bd77ff3084917..41cd0ca9732d1855426f4e2e04a2d001b6a57136 100644 (file)
               low="0" high="100000" default="10000"
               convert="invert"/>
 
               low="0" high="100000" default="10000"
               convert="invert"/>
 
+      <number id="z" type="slider" arg="-observer-z %"
+              _label="Zoom" _low-label="Near" _high-label="Far"
+              low="1.125" high="10.0" default="3.0"/>
+
+     <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
+    </vgroup>
+
+    <vgroup>
       <number id="xw" type="slider" arg="-xw %"
               _label="XW rotation" _low-label="Slow" _high-label="Fast"
               low="0" high="20" default="0"/>
       <number id="xw" type="slider" arg="-xw %"
               _label="XW rotation" _low-label="Slow" _high-label="Fast"
               low="0" high="20" default="0"/>
               low="0" high="20" default="5"/>
     </vgroup>
     <vgroup>
               low="0" high="20" default="5"/>
     </vgroup>
     <vgroup>
-      <number id="z" type="slider" arg="-observer-z %"
-              _label="Zoom" _low-label="Near" _high-label="Far"
-              low="1.125" high="10.0" default="3.0"/>
-
       <number id="yw" type="slider" arg="-yw %"
               _label="YW rotation" _low-label="Slow" _high-label="Fast"
               low="0" high="20" default="10"/>
       <number id="yw" type="slider" arg="-yw %"
               _label="YW rotation" _low-label="Slow" _high-label="Fast"
               low="0" high="20" default="10"/>
@@ -47,7 +51,7 @@
   <!-- #### -color6 [#00D0FF] -->
   <!-- #### -color7 [#00FFD0] -->
 
   <!-- #### -color6 [#00D0FF] -->
   <!-- #### -color7 [#00FFD0] -->
 
-  <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
+  <xscreensaver-updater />
 
   <_description>
 This screen saver was removed from the XScreenSaver distribution as of
 
   <_description>
 This screen saver was removed from the XScreenSaver distribution as of
index 2d0619596e2fc76d37ad059e92055914732c422e..8ed026f42375442920913e3f92939fbf9a70f5ba 100644 (file)
 
   <hgroup>
     <select id="display-mode">
 
   <hgroup>
     <select id="display-mode">
-      <option id="wire"        _label="Wireframe mesh"
+      <option id="wire"        _label="Wireframe"
               arg-set="-mode wireframe"/>
               arg-set="-mode wireframe"/>
-      <option id="surface"     _label="Solid surface"/>
-      <option id="transparent" _label="Transparent surface"
+      <option id="surface"     _label="Solid"/>
+      <option id="transparent" _label="Transparent"
               arg-set="-mode transparent"/>
     </select>
 
     <select id="appearance">
       <option id="solid" _label="Solid object"
               arg-set="-appearance solid"/>
               arg-set="-mode transparent"/>
     </select>
 
     <select id="appearance">
       <option id="solid" _label="Solid object"
               arg-set="-appearance solid"/>
-      <option id="bands" _label="See-through bands"/>
-      <option id="bands" _label="See-through spirals (1 spiral)"
+      <option id="bands" _label="Transparent bands"/>
+      <option id="bands" _label="1 transparent spiral"
               arg-set="-appearance spirals-1"/>
               arg-set="-appearance spirals-1"/>
-      <option id="bands" _label="See-through spirals (2 spirals)"
+      <option id="bands" _label="2 transparent spirals"
               arg-set="-appearance spirals-2"/>
               arg-set="-appearance spirals-2"/>
-      <option id="bands" _label="See-through spirals (4 spirals)"
+      <option id="bands" _label="4 transparent spirals"
               arg-set="-appearance spirals-4"/>
               arg-set="-appearance spirals-4"/>
-      <option id="bands" _label="See-through spirals (8 spirals)"
+      <option id="bands" _label="8 transparent spirals"
               arg-set="-appearance spirals-8"/>
               arg-set="-appearance spirals-8"/>
-      <option id="bands" _label="See-through spirals (16 spirals)"
+      <option id="bands" _label="16 Transparent spirals"
               arg-set="-appearance spirals-16"/>
     </select>
               arg-set="-appearance spirals-16"/>
     </select>
-  </hgroup>
 
 
-  <hgroup>
     <select id="colors">
       <option id="twosided" _label="Two-sided" arg-set="-twosided"/>
       <option id="colorwheel" _label="Color wheel"/>
     <select id="colors">
       <option id="twosided" _label="Two-sided" arg-set="-twosided"/>
       <option id="colorwheel" _label="Color wheel"/>
@@ -99,6 +97,8 @@
 
   </hgroup>
 
 
   </hgroup>
 
+  <xscreensaver-updater />
+
   <_description>
 This shows a rotating Clifford Torus: a torus lying on the
 "surface" of a 4D hypersphere.  Inspired by Thomas Banchoff's book
   <_description>
 This shows a rotating Clifford Torus: a torus lying on the
 "surface" of a 4D hypersphere.  Inspired by Thomas Banchoff's book
index 68d9a9a120e9ce5dd56f5f8db629e6676428dd3d..c332a9993ee40dbba71e806c024a01402f0d368a 100644 (file)
@@ -39,6 +39,8 @@
    </vgroup>
   </hgroup>
 
    </vgroup>
   </hgroup>
 
+  <xscreensaver-updater />
+
   <_description>
 Draws a series of overlapping, translucent spiral patterns.
 The tightness of their spirals fluctuates in and out.
   <_description>
 Draws a series of overlapping, translucent spiral patterns.
 The tightness of their spirals fluctuates in and out.
index fda3119cb4cfa0c7dcee1d5432e3cf122efffd95..488fd3bc21c5668b21936373d087941a7cccaa56 100644 (file)
@@ -47,6 +47,8 @@
    <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
   </hgroup>
 
    <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
   </hgroup>
 
+  <xscreensaver-updater />
+
   <_description>
 
 Clouds of iterated function systems spin and collide.
   <_description>
 
 Clouds of iterated function systems spin and collide.
index 51adcfe7a4952115644db471094a966bc6823350..e613fb7cf492a81cb638344a9d4d5da6447e7916 100644 (file)
@@ -30,6 +30,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 This generates random cloud-like patterns.  The idea is to take four
 points on the edge of the image, and assign each a random "elevation".
   <_description>
 This generates random cloud-like patterns.  The idea is to take four
 points on the edge of the image, and assign each a random "elevation".
index 7335d750b85eec9e24a655830e98976b4ccc69e2..43d4e933a2e00dac694677d9c86d08a361c7e1ef 100644 (file)
@@ -14,6 +14,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 Pale pencil-like scribbles slowly fill the screen.
 
   <_description>
 Pale pencil-like scribbles slowly fill the screen.
 
index eed84c44327d965feec90728f52cc0199d0eb6cb..a6eb75edd8ef52a798d0bd503f75952773e39d2b 100644 (file)
@@ -45,6 +45,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 Color field based on computing decaying sinusoidal waves.
 
   <_description>
 Color field based on computing decaying sinusoidal waves.
 
index d5a437144d726fc7a212ba176f0efb3d9d28d561..195088b9b98f7ba6e6589e1226315c6565cc2e4a 100644 (file)
@@ -14,6 +14,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 Blinking dots interact with each other circularly.
 
   <_description>
 Blinking dots interact with each other circularly.
 
index 219fb49774f055b41101a75e1b501dd93e31bdb4..45634466162ebfb7d43e7bb9e16b0940068f586f 100644 (file)
@@ -4,7 +4,25 @@
 
   <command arg="-root"/>
 
 
   <command arg="-root"/>
 
- <boolean id="random" _label="Randomize almost everything" arg-unset="-no-random"/>
+  <hgroup>
+   <boolean id="random" _label="Randomize almost everything" arg-unset="-no-random"/>
+
+   <select id="color">
+    <option id="cycle"     _label="Cycle" />
+    <option id="flowerbox" _label="Flower box" arg-set="-color flowerbox"/>
+    <option id="clownbarf" _label="Clown barf" arg-set="-color clownbarf"/>
+    <option id="chrome" _label="Chrome" arg-set="-color chrome"/>
+   </select>
+
+   <select id="start">
+    <option id="sphere" _label="Sphere" />
+    <option id="tetrahedron" _label="Tetrahedron" arg-set="-tetra"/>
+   </select>
+
+   <boolean id="wireframe" _label="Wireframe" arg-set="-wireframe"/>
+   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
+
+  </hgroup>
 
   <hgroup>
    <vgroup>
 
   <hgroup>
    <vgroup>
       <number id="damping" type="slider" arg="-damping %"
                _label="Inertial damping" _low-label="Low" _high-label="High"
                low="10" high="1000" default="500" convert="invert"/>
       <number id="damping" type="slider" arg="-damping %"
                _label="Inertial damping" _low-label="Low" _high-label="High"
                low="10" high="1000" default="500" convert="invert"/>
+   </vgroup>
 
 
+   <vgroup>
       <number id="hold" type="slider" arg="-hold %"
                _label="Vertex-vertex force" _low-label="None" _high-label="Strong"
                low="0" high="1000" default="800"/>
       <number id="hold" type="slider" arg="-hold %"
                _label="Vertex-vertex force" _low-label="None" _high-label="Strong"
                low="0" high="1000" default="800"/>
-    </vgroup>
-    <vgroup>
+
       <number id="complexity" type="slider" arg="-complexity %"
               _label="Complexity" _low-label="Low" _high-label="High"
               low="1" high="3" default="2"/>
       <number id="complexity" type="slider" arg="-complexity %"
               _label="Complexity" _low-label="Low" _high-label="High"
               low="1" high="3" default="2"/>
@@ -33,7 +52,9 @@
       <number id="spherism" type="slider" arg="-spherism %"
                _label="Sphere strength" _low-label="None" _high-label="Strong"
                low="0" high="1000" default="75"/>
       <number id="spherism" type="slider" arg="-spherism %"
                _label="Sphere strength" _low-label="None" _high-label="Strong"
                low="0" high="1000" default="75"/>
+    </vgroup>
 
 
+    <vgroup>
       <number id="distance" type="slider" arg="-distance %"
                _label="Vertex-vertex behavior" _low-label="Expand"
                _high-label="Collapse" low="0" high="1000" default="100"/>
       <number id="distance" type="slider" arg="-distance %"
                _label="Vertex-vertex behavior" _low-label="Expand"
                _high-label="Collapse" low="0" high="1000" default="100"/>
     </vgroup>
   </hgroup>
 
     </vgroup>
   </hgroup>
 
-  <hgroup>
-   <select id="color">
-    <option id="cycle"     _label="Cycle" />
-    <option id="flowerbox" _label="Flower box" arg-set="-color flowerbox"/>
-    <option id="clownbarf" _label="Clown barf" arg-set="-color clownbarf"/>
-    <option id="chrome" _label="Chrome" arg-set="-color chrome"/>
-   </select>
-
-   <select id="start">
-    <option id="sphere" _label="Sphere" />
-    <option id="tetrahedron" _label="Tetrahedron" arg-set="-tetra"/>
-   </select>
-
-   <boolean id="wireframe" _label="Wireframe" arg-set="-wireframe"/>
-   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
-
-  </hgroup>
+  <xscreensaver-updater />
 
   <_description>
 This does bad things with quasi-spherical objects.
 
   <_description>
 This does bad things with quasi-spherical objects.
index 6e665499531b325692aa458b36be1ce2745a5289..388af6fb79a5d5c12fa0d28c49a2266b63580ca1 100644 (file)
@@ -36,6 +36,8 @@
    </vgroup>
   </hgroup>
 
    </vgroup>
   </hgroup>
 
+  <xscreensaver-updater />
+
   <_description>
 This carves an image up into a jigsaw puzzle, shuffles it, and solves it.
 
   <_description>
 This carves an image up into a jigsaw puzzle, shuffles it, and solves it.
 
index ade836e7425b9d96258c8aca73609284cce396bd..260d64dc8facb9b6bb0d5ecf7f483d1075f3f20a 100644 (file)
@@ -47,6 +47,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 This screen saver was removed from the XScreenSaver distribution as of
 version 5.09.  It has been replaced by the "Juggler3D" screen saver.
   <_description>
 This screen saver was removed from the XScreenSaver distribution as of
 version 5.09.  It has been replaced by the "Juggler3D" screen saver.
index 9247cc403e9c18b9666836a6842b42dcd03d488b..b6fc4663bb3bac7979a4941e30533158b4e5a929 100644 (file)
@@ -40,6 +40,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 Draws a 3D juggling stick-man, with Cambridge juggling pattern
 notation used to describe the patterns he juggles.
   <_description>
 Draws a 3D juggling stick-man, with Cambridge juggling pattern
 notation used to describe the patterns he juggles.
index 7213412e119db53fe488846ff2e4ef92ee24d1bb..83d44481d9af823d0fefe22030a2ce88c04fd064 100644 (file)
@@ -23,6 +23,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 Animates the Julia set (a close relative of the Mandelbrot set).  The
 small moving dot indicates the control point from which the rest of
   <_description>
 Animates the Julia set (a close relative of the Mandelbrot set).  The
 small moving dot indicates the control point from which the rest of
index 25df7fda8e327038214b9e4393c6c152f49525a1..6e60bf8d4c58d0555feda562b855123075b5664b 100644 (file)
@@ -27,6 +27,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 A simple kaleidoscope made of line segments.  See "GLeidescope"
 for a more sophisticated take.
   <_description>
 A simple kaleidoscope made of line segments.  See "GLeidescope"
 for a more sophisticated take.
index 7266e5481460c58141cc59127fb7f8c800a68d5d..098d7e7e8027971e537eb00909e281347bec1324 100644 (file)
@@ -4,34 +4,42 @@
 
   <command arg="-root"/>
 
 
   <command arg="-root"/>
 
-  <number id="delay" type="slider" arg="-delay %"
-          _label="Frame rate" _low-label="Low" _high-label="High"
-          low="0" high="100000" default="30000"
-          convert="invert"/>
-
-  <number id="count" type="slider" arg="-count %"
-          _label="Count" _low-label="8" _high-label="64"
-          low="8" high="64" default="16"/>
-
-  <number id="speed" type="slider" arg="-speed %"
-          _label="Speed" _low-label="Slow" _high-label="Fast"
-          low="0.1" high="8.0" default="1.0"/>
-
-  <boolean id="wander" _label="Wander" arg-set="-wander"/>
-
-  <select id="rotation">
-    <option id="no"  _label="Don't rotate"               arg-set="-spin 0"/>
-    <option id="x"   _label="Rotate around X axis"       arg-set="-spin X"/>
-    <option id="y"   _label="Rotate around Y axis"       arg-set="-spin Y"/>
-    <option id="z"   _label="Rotate around Z axis"/>
-    <option id="xy"  _label="Rotate around X and Y axes" arg-set="-spin XY"/>
-    <option id="xz"  _label="Rotate around X and Z axes" arg-set="-spin XZ"/>
-    <option id="yz"  _label="Rotate around Y and Z axes" arg-set="-spin YZ"/>
-    <option id="xyz" _label="Rotate around all three axes" arg-set="-spin YZ"/>
-  </select>
-
-  <boolean id="wire"    _label="Wireframe"              arg-set="-wireframe"/>
-  <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
+  <hgroup>
+   <vgroup>
+    <number id="delay" type="slider" arg="-delay %"
+            _label="Frame rate" _low-label="Low" _high-label="High"
+            low="0" high="100000" default="30000"
+            convert="invert"/>
+
+    <number id="count" type="slider" arg="-count %"
+            _label="Count" _low-label="8" _high-label="64"
+            low="8" high="64" default="16"/>
+
+    <number id="speed" type="slider" arg="-speed %"
+            _label="Speed" _low-label="Slow" _high-label="Fast"
+            low="0.1" high="8.0" default="1.0"/>
+   </vgroup>
+
+   <vgroup>
+    <select id="rotation">
+      <option id="no"  _label="Don't rotate"               arg-set="-spin 0"/>
+      <option id="x"   _label="Rotate around X axis"       arg-set="-spin X"/>
+      <option id="y"   _label="Rotate around Y axis"       arg-set="-spin Y"/>
+      <option id="z"   _label="Rotate around Z axis"/>
+      <option id="xy"  _label="Rotate around X and Y axes" arg-set="-spin XY"/>
+      <option id="xz"  _label="Rotate around X and Z axes" arg-set="-spin XZ"/>
+      <option id="yz"  _label="Rotate around Y and Z axes" arg-set="-spin YZ"/>
+      <option id="xyz" _label="Rotate around all three axes" arg-set="-spin YZ"/>
+    </select>
+
+    <boolean id="wander" _label="Wander" arg-set="-wander"/>
+
+    <boolean id="wire"    _label="Wireframe"              arg-set="-wireframe"/>
+    <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
+   </vgroup>
+  </hgroup>
+
+  <xscreensaver-updater />
 
   <_description>
 Draw a ring composed of tetrahedra connected at the edges that twists
 
   <_description>
 Draw a ring composed of tetrahedra connected at the edges that twists
index 64d7301a6395b3b16a2c1f10f1d310c84f38deed..63052bf900daec4395abd5b8a2e91f2b2275acf7 100644 (file)
@@ -4,23 +4,15 @@
 
   <command arg="-root"/>
 
 
   <command arg="-root"/>
 
-  <hgroup>
-  <number id="delay" type="slider" arg="-delay %"
-          _label="Frame rate" _low-label="Low" _high-label="High"
-          low="0" high="100000" default="10000"
-          convert="invert"/>
-  <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
-  </hgroup>
-
   <hgroup>
     <select id="kleinbottle">
   <hgroup>
     <select id="kleinbottle">
-      <option id="random"   _label="Random"/>
+      <option id="random"   _label="Random shape"/>
       <option id="figure-8" _label="Figure 8" arg-set="-klein-bottle figure-8"/>
       <option id="lawson"   _label="Lawson"   arg-set="-klein-bottle lawson"/>
     </select>
 
     <select id="view-mode">
       <option id="figure-8" _label="Figure 8" arg-set="-klein-bottle figure-8"/>
       <option id="lawson"   _label="Lawson"   arg-set="-klein-bottle lawson"/>
     </select>
 
     <select id="view-mode">
-      <option id="walk"      _label="Random"/>
+      <option id="walk"      _label="Random motion"/>
       <option id="walk"      _label="Walk"          arg-set="-view-mode walk"/>
       <option id="turn"      _label="Turn"          arg-set="-view-mode turn"/>
       <option id="walk-turn" _label="Walk and turn" arg-set="-view-mode walk-turn"/>
       <option id="walk"      _label="Walk"          arg-set="-view-mode walk"/>
       <option id="turn"      _label="Turn"          arg-set="-view-mode turn"/>
       <option id="walk-turn" _label="Walk and turn" arg-set="-view-mode walk-turn"/>
 
   <hgroup>
     <select id="display-mode">
 
   <hgroup>
     <select id="display-mode">
-      <option id="random"      _label="Random"/>
+      <option id="random"      _label="Random surface"/>
       <option id="wire"        _label="Wireframe mesh"      arg-set="-mode wireframe"/>
       <option id="surface"     _label="Solid surface"       arg-set="-mode surface"/>
       <option id="transparent" _label="Transparent surface" arg-set="-mode transparent"/>
     </select>
 
     <select id="appearance">
       <option id="wire"        _label="Wireframe mesh"      arg-set="-mode wireframe"/>
       <option id="surface"     _label="Solid surface"       arg-set="-mode surface"/>
       <option id="transparent" _label="Transparent surface" arg-set="-mode transparent"/>
     </select>
 
     <select id="appearance">
-      <option id="random" _label="Random"/>
+      <option id="random" _label="Random pattern"/>
       <option id="solid"  _label="Solid object"       arg-set="-appearance solid"/>
       <option id="bands"  _label="See-through bands"  arg-set="-appearance bands"/>
     </select>
       <option id="solid"  _label="Solid object"       arg-set="-appearance solid"/>
       <option id="bands"  _label="See-through bands"  arg-set="-appearance bands"/>
     </select>
-  </hgroup>
 
 
-  <hgroup>
     <select id="colors">
     <select id="colors">
-      <option id="random"   _label="Random"/>
+      <option id="random"   _label="Random coloration"/>
       <option id="twosided" _label="Two-sided"       arg-set="-colors two-sided"/>
       <option id="rainbow"  _label="Rainbow colors"  arg-set="-colors rainbow"/>
       <option id="depth"    _label="4d depth colors" arg-set="-colors depth"/>
     </select>
 
     <select id="projection3d">
       <option id="twosided" _label="Two-sided"       arg-set="-colors two-sided"/>
       <option id="rainbow"  _label="Rainbow colors"  arg-set="-colors rainbow"/>
       <option id="depth"    _label="4d depth colors" arg-set="-colors depth"/>
     </select>
 
     <select id="projection3d">
-      <option id="random"          _label="Random"/>
+      <option id="random"          _label="Random 3D"/>
       <option id="perspective-3d"  _label="Perspective 3D"  arg-set="-projection-3d perspective"/>
       <option id="orthographic-3d" _label="Orthographic 3D" arg-set="-projection-3d orthographic"/>
     </select>
 
     <select id="projection4d">
       <option id="perspective-3d"  _label="Perspective 3D"  arg-set="-projection-3d perspective"/>
       <option id="orthographic-3d" _label="Orthographic 3D" arg-set="-projection-3d orthographic"/>
     </select>
 
     <select id="projection4d">
-      <option id="random"          _label="Random"/>
+      <option id="random"          _label="Random 4D"/>
       <option id="perspective-4d"  _label="Perspective 4D"  arg-set="-projection-4d perspective"/>
       <option id="orthographic-4d" _label="Orthographic 4D" arg-set="-projection-4d orthographic"/>
     </select>
       <option id="perspective-4d"  _label="Perspective 4D"  arg-set="-projection-4d perspective"/>
       <option id="orthographic-4d" _label="Orthographic 4D" arg-set="-projection-4d orthographic"/>
     </select>
               _label="WZ rotation speed"
               _low-label="-4.0" _high-label="4.0"
               low="-4.0" high="4.0" default="1.5"/>
               _label="WZ rotation speed"
               _low-label="-4.0" _high-label="4.0"
               low="-4.0" high="4.0" default="1.5"/>
-
-    <number id="walk-direction" type="slider" arg="-walk-direction %"
-            _label="Walking direction"
-            _low-label="-180.0" _high-label="180.0"
-            low="-180.0" high="180.0" default="7.0"/>
     </vgroup>
 
     <vgroup>
     </vgroup>
 
     <vgroup>
               _label="YZ rotation speed"
               _low-label="-4.0" _high-label="4.0"
               low="-4.0" high="4.0" default="2.1"/>
               _label="YZ rotation speed"
               _low-label="-4.0" _high-label="4.0"
               low="-4.0" high="4.0" default="2.1"/>
+    </vgroup>
 
 
-    <number id="walk-speed" type="slider" arg="-walk-speed %"
-            _label="Walking speed"
-            _low-label="1.0" _high-label="100.0"
-            low="1.0" high="100.0" default="20.0"/>
+    <vgroup>
+     <number id="walk-direction" type="slider" arg="-walk-direction %"
+             _label="Walking direction"
+             _low-label="-180.0" _high-label="180.0"
+             low="-180.0" high="180.0" default="7.0"/>
+
+     <number id="walk-speed" type="slider" arg="-walk-speed %"
+             _label="Walking speed"
+             _low-label="1.0" _high-label="100.0"
+             low="1.0" high="100.0" default="20.0"/>
+
+     <number id="delay" type="slider" arg="-delay %"
+             _label="Frame rate" _low-label="Low" _high-label="High"
+             low="0" high="100000" default="10000"
+             convert="invert"/>
+
+     <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
     </vgroup>
   </hgroup>
 
     </vgroup>
   </hgroup>
 
+  <xscreensaver-updater />
+
   <_description>
 This animates a Klein bottle, the 4D analog of a moebius strip.
 
   <_description>
 This animates a Klein bottle, the 4D analog of a moebius strip.
 
index 192b4266bc7ace0b9414ba084f8d6258b188069d..ae4d04dd96e7e232d599ea75ba1043f917fc7f6b 100644 (file)
@@ -19,6 +19,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 Spiraling, spinning, and very, very fast splashes of color rush
 toward the screen.
   <_description>
 Spiraling, spinning, and very, very fast splashes of color rush
 toward the screen.
index 5010744747954c2302c7133c18e581964b363a78..827a55bf02852197ca2ab33bc25800b9ce4e5b08 100644 (file)
@@ -13,6 +13,8 @@
   <boolean id="wire"    _label="Wireframe"   arg-set="-wireframe"/>
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
   <boolean id="wire"    _label="Wireframe"   arg-set="-wireframe"/>
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 Animates a simulation of Lemarchand's Box, the Lament Configuration,
 repeatedly solving itself.  
   <_description>
 Animates a simulation of Lemarchand's Box, the Lament Configuration,
 repeatedly solving itself.  
index 5ef6eecd93644465c41f3decb075bffac6559ef1..b1b11c4c861ba5db5d72486faf3e3c2869d81011 100644 (file)
@@ -22,6 +22,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 This screen saver was removed from the XScreenSaver distribution as of
 version 5.08.
   <_description>
 This screen saver was removed from the XScreenSaver distribution as of
 version 5.08.
index c6e4d488b07c63c94aa6a88204f41b5e4fb5974f..9dc82edd52c7edb027d2283db82ad00e7152b7ae 100644 (file)
@@ -65,6 +65,8 @@
    </vgroup>
   </hgroup>
 
    </vgroup>
   </hgroup>
 
+  <xscreensaver-updater />
+
   <_description>
 Draws a 3D Simulation a Lava Lite(r).  Odd-shaped blobs of a mysterious
 substance are heated, slowly rise to the top of the bottle, and then
   <_description>
 Draws a 3D Simulation a Lava Lite(r).  Odd-shaped blobs of a mysterious
 substance are heated, slowly rise to the top of the bottle, and then
index c1accafcdfe405a74a77067738ffb3fe0b8b24d7..e71f9b14b24ca04b92b2a777c15c2850b315c694 100644 (file)
     <boolean id="hw"  _label="Horizontal white" arg-unset="-no-hw"/>
     <boolean id="vw"  _label="Vertical white"   arg-unset="-no-vw"/>
     <boolean id="dw"  _label="Diagonal white"   arg-unset="-no-dw"/>
     <boolean id="hw"  _label="Horizontal white" arg-unset="-no-hw"/>
     <boolean id="vw"  _label="Vertical white"   arg-unset="-no-vw"/>
     <boolean id="dw"  _label="Diagonal white"   arg-unset="-no-dw"/>
+   </vgroup>
+   <vgroup>
     <boolean id="w"   _label="Solid white"      arg-unset="-no-w"/>
     <boolean id="rgb" _label="Primary colors"   arg-unset="-no-rgb"/>
     <boolean id="w"   _label="Solid white"      arg-unset="-no-w"/>
     <boolean id="rgb" _label="Primary colors"   arg-unset="-no-rgb"/>
+    <boolean id="hb"  _label="Horizontal black" arg-unset="-no-hb"/>
    </vgroup>
    <vgroup>
    </vgroup>
    <vgroup>
-    <boolean id="hb"  _label="Horizontal black" arg-unset="-no-hb"/>
     <boolean id="vb"  _label="Vertical black"   arg-unset="-no-vb"/>
     <boolean id="db"  _label="Diagonal black"   arg-unset="-no-db"/>
     <boolean id="b"   _label="Solid black"      arg-unset="-no-b"/>
    </vgroup>
   </hgroup>
 
     <boolean id="vb"  _label="Vertical black"   arg-unset="-no-vb"/>
     <boolean id="db"  _label="Diagonal black"   arg-unset="-no-db"/>
     <boolean id="b"   _label="Solid black"      arg-unset="-no-b"/>
    </vgroup>
   </hgroup>
 
+  <xscreensaver-updater />
+
   <_description>
 This screen saver is not meant to look pretty, but rather, to
 repair burn-in on LCD monitors.
   <_description>
 This screen saver is not meant to look pretty, but rather, to
 repair burn-in on LCD monitors.
index 9633a617f0f19748f3b064dc23546a9510828e7e..c5cb6a432d78fc56d88edf19859f86973bb819a6 100644 (file)
@@ -15,6 +15,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 This screen saver was removed from the XScreenSaver distribution as of
 version 5.08.
   <_description>
 This screen saver was removed from the XScreenSaver distribution as of
 version 5.08.
index 8d3d35f1c7578d05af9cb118b8407fc0d90f12be..82ab4daaafaedc50c4fd5f803cb97fae5de12c85 100644 (file)
@@ -4,28 +4,36 @@
 
   <command arg="-root"/>
 
 
   <command arg="-root"/>
 
-  <number id="delay" type="slider" arg="-delay %"
-          _label="Frame rate" _low-label="Low" _high-label="High"
-          low="0" high="50000" default="17000"
-          convert="invert"/>
-
-  <number id="cycles" type="slider" arg="-cycles %"
-           _label="Steps" _low-label="Few" _high-label="Many"
-          low="1" high="1000" default="768"/>
-
-  <number id="ncolors" type="slider" arg="-ncolors %"
-            _label="Number of colors" _low-label="Two" _high-label="Many"
-            low="1" high="255" default="64"/>
-
-  <number id="size" type="slider" arg="-size %"
-            _label="Size" _low-label="Small" _high-label="Large"
-            low="10" high="500" default="500"/>
-
-  <number id="count" type="slider" arg="-count %"
-          _label="Count" _low-label="1" _high-label="20"
-           low="0" high="20" default="1"/>
-
-  <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
+  <hgroup>
+   <vgroup>
+    <number id="delay" type="slider" arg="-delay %"
+            _label="Frame rate" _low-label="Low" _high-label="High"
+            low="0" high="50000" default="17000"
+            convert="invert"/>
+
+    <number id="cycles" type="slider" arg="-cycles %"
+             _label="Steps" _low-label="Few" _high-label="Many"
+            low="1" high="1000" default="768"/>
+
+    <number id="ncolors" type="slider" arg="-ncolors %"
+              _label="Number of colors" _low-label="Two" _high-label="Many"
+              low="1" high="255" default="64"/>
+   </vgroup>
+
+   <vgroup>
+    <number id="size" type="slider" arg="-size %"
+              _label="Size" _low-label="Small" _high-label="Large"
+              low="10" high="500" default="500"/>
+
+    <number id="count" type="slider" arg="-count %"
+            _label="Count" _low-label="1" _high-label="20"
+             low="0" high="20" default="1"/>
+
+    <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
+   </vgroup>
+  </hgroup>
+
+  <xscreensaver-updater />
 
   <_description>
 This screen saver was removed from the XScreenSaver distribution as of
 
   <_description>
 This screen saver was removed from the XScreenSaver distribution as of
index 18ad4d222252f465ef0d1eadba9de6d5c591c8b6..fa8a9dec33123143b96549ce5f7ac92d503fcba4 100644 (file)
@@ -4,27 +4,38 @@
 
   <command arg="-root"/>
 
 
   <command arg="-root"/>
 
-  <number id="delay" type="slider" arg="-delay %"
-          _label="Frame rate" _low-label="Low" _high-label="High"
-          low="0" high="100000" default="10000"
-          convert="invert"/>
-
-  <number id="cycles" type="slider" arg="-cycles %"
-           _label="Timeout" _low-label="Small" _high-label="Large"
-          low="0" high="80000" default="20000"/>
-
-  <number id="ncolors" type="slider" arg="-ncolors %"
-            _label="Number of colors" _low-label="Two" _high-label="Many"
-            low="1" high="255" default="200"/>
-
-  <number id="count" type="slider" arg="-count %"
-          _label="Count" _low-label="1" _high-label="20"
-           low="0" high="20" default="1"/>
-
-  <number id="size" type="spinbutton" arg="-size %"
-           _label="Size" low="-500" high="500" default="-200"/>
-
-  <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
+  <hgroup>
+   <vgroup>
+    <number id="delay" type="slider" arg="-delay %"
+            _label="Frame rate" _low-label="Low" _high-label="High"
+            low="0" high="100000" default="10000"
+            convert="invert"/>
+
+    <number id="cycles" type="slider" arg="-cycles %"
+             _label="Timeout" _low-label="Small" _high-label="Large"
+            low="0" high="80000" default="20000"/>
+   </vgroup>
+
+   <vgroup>
+    <number id="ncolors" type="slider" arg="-ncolors %"
+              _label="Number of colors" _low-label="Two" _high-label="Many"
+              low="1" high="255" default="200"/>
+
+    <number id="count" type="slider" arg="-count %"
+            _label="Count" _low-label="1" _high-label="20"
+             low="0" high="20" default="1"/>
+   </vgroup>
+  </hgroup>
+
+  <hgroup>
+   <vgroup>
+    <number id="size" type="spinbutton" arg="-size %"
+             _label="Size" low="-500" high="500" default="-200"/>
+   </vgroup>
+   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
+  </hgroup>
+
+  <xscreensaver-updater />
 
   <_description>
 This screen saver was removed from the XScreenSaver distribution as of
 
   <_description>
 This screen saver was removed from the XScreenSaver distribution as of
index 1fa654de24932f2d05e3cb09914a3ccf457945a5..2893773f4e84e9862e6d2e6d5fa49f89a964136c 100644 (file)
@@ -4,22 +4,28 @@
 
   <command arg="-root"/>
 
 
   <command arg="-root"/>
 
-  <number id="delay" type="slider" arg="-delay %"
-        _label="Frame rate" _low-label="Low" _high-label="High"
-        low="0" high="100000" default="70000"
-        convert="invert"/>
-
-  <number id="points" type="slider" arg="-points %"
-          _label="Control points" _low-label="Few" _high-label="Many"
-          low="10" high="1000" default="200"/>
-
-  <number id="steps" type="slider" arg="-steps %"
-          _label="Interpolation steps" _low-label="Less" _high-label="More"
-          low="100" high="500" default="150"/>
-
-  <number id="thickness" type="slider" arg="-linewidth %"
-          _label="Lines" _low-label="Thin" _high-label="Thick"
-          low="1" high="50" default="5"/>
+  <hgroup>
+   <vgroup>
+    <number id="delay" type="slider" arg="-delay %"
+          _label="Frame rate" _low-label="Low" _high-label="High"
+          low="0" high="100000" default="70000"
+          convert="invert"/>
+
+    <number id="points" type="slider" arg="-points %"
+            _label="Control points" _low-label="Few" _high-label="Many"
+            low="10" high="1000" default="200"/>
+   </vgroup>
+
+   <vgroup>
+    <number id="steps" type="slider" arg="-steps %"
+            _label="Interpolation steps" _low-label="Less" _high-label="More"
+            low="100" high="500" default="150"/>
+
+    <number id="thickness" type="slider" arg="-linewidth %"
+            _label="Lines" _low-label="Thin" _high-label="Thick"
+            low="1" high="50" default="5"/>
+   </vgroup>
+  </hgroup>
 
   <select id="type">
     <option id="random" _label="Open and closed figures"/>
 
   <select id="type">
     <option id="random" _label="Open and closed figures"/>
@@ -29,6 +35,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 This screen saver was removed from the XScreenSaver distribution as of
 version 5.08.
   <_description>
 This screen saver was removed from the XScreenSaver distribution as of
 version 5.08.
index 55ff54c78e032d0e200a586134fd74c59043fe89..f326d0956af14ccdd235593431045eafe2ce64d9 100644 (file)
@@ -53,6 +53,8 @@
    </vgroup>
   </hgroup>
 
    </vgroup>
   </hgroup>
 
+  <xscreensaver-updater />
+
   <_description> 
 A translucent spinning, blinking thing.  Sort of a cross between the wards
 in an old combination lock and those old backlit information displays that
   <_description> 
 A translucent spinning, blinking thing.  Sort of a cross between the wards
 in an old combination lock and those old backlit information displays that
index 01d658eea36c180b542d642ad967232308f0b408..ede1a90a84943a0ad0688fb6e7f3f2e8653bf902 100644 (file)
@@ -22,6 +22,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 A cellular automaton that generates loop-shaped colonies that spawn,
 age, and eventually die.
   <_description>
 A cellular automaton that generates loop-shaped colonies that spawn,
 age, and eventually die.
index 6340824b265b2dd0451bcf5a20e44302cf1d844c..b7e0fe8957e32ec19572a877bb48eedfc74c06f0 100644 (file)
@@ -32,6 +32,8 @@
    </vgroup>
   </hgroup>
 
    </vgroup>
   </hgroup>
 
+  <xscreensaver-updater />
+
   <_description> 
 This emulates a 6502 microprocessor, and runs some example programs on
 it.
   <_description> 
 This emulates a 6502 microprocessor, and runs some example programs on
 it.
index 0de676afcbdc43636a59ea1d0663f5145abb7bc2..faaabc0b6a9df243a2353cdaf895f2e212897224 100644 (file)
@@ -4,44 +4,57 @@
 
   <command arg="-root"/>
 
 
   <command arg="-root"/>
 
-  <number id="delay" type="slider" arg="-solve-delay %"
-          _label="Frame rate" _low-label="Low" _high-label="High"
-          low="0" high="100000" default="10000"
-          convert="invert"/>
-
-  <number id="pre-delay" type="slider" arg="-pre-delay %"
-          _label="Linger before solving"
-          _low-label="0 seconds" _high-label="10 seconds"
-          low="0" high="10000000" default="2000000"/>
-
-  <number id="post-delay" type="slider" arg="-post-delay %"
-          _label="Linger after solving"
-          _low-label="0 seconds" _high-label="10 seconds"
-          low="0" high="10000000" default="4000000"/>
-
-  <number id="grid-size" type="spinbutton" arg="-grid-size %"
-          _label="Grid size" low="0" high="100" default="0"/>
-
-  <select id="generator">
-    <option id="mrandom" _label="Random maze generator"/>
-    <option id="m0"      _label="Depth-first backtracking maze generator"
-                         arg-set="-generator 0"/>
-    <option id="m1"      _label="Wall-building maze generator (Prim)"
-                         arg-set="-generator 1"/>
-    <option id="m2"      _label="Set-joining maze generator (Kruskal)"
-                         arg-set="-generator 2"/>
-  </select>
-
   <hgroup>
   <hgroup>
-   <select id="ignorance">
-     <option id="smart" _label="Head toward exit"/>
-     <option id="dumb"  _label="Ignorant of exit direction"
-             arg-set="-ignorant"/>
-   </select>
+   <vgroup>
+    <number id="delay" type="slider" arg="-solve-delay %"
+            _label="Frame rate" _low-label="Low" _high-label="High"
+            low="0" high="100000" default="10000"
+            convert="invert"/>
+
+    <select id="generator">
+      <option id="mrandom" _label="Random maze generator"/>
+      <option id="m0"      _label="Depth-first backtracking maze generator"
+                           arg-set="-generator 0"/>
+      <option id="m1"      _label="Wall-building maze generator (Prim)"
+                           arg-set="-generator 1"/>
+      <option id="m2"      _label="Set-joining maze generator (Kruskal)"
+                           arg-set="-generator 2"/>
+    </select>
+
+    <hgroup>
+     <select id="ignorance">
+       <option id="smart" _label="Head toward exit"/>
+       <option id="dumb"  _label="Ignorant of exit direction"
+               arg-set="-ignorant"/>
+     </select>
+
+    </hgroup>
+
+    <hgroup>
+     <number id="grid-size" type="spinbutton" arg="-grid-size %"
+             _label="Grid size" low="0" high="100" default="0"/>
+     <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
+    </hgroup>
 
 
-   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
+   </vgroup>
+
+   <vgroup>
+    <number id="pre-delay" type="slider" arg="-pre-delay %"
+            _label="Linger before solving"
+            _low-label="0 seconds" _high-label="10 seconds"
+            low="0" high="10000000" default="2000000"/>
+
+    <number id="post-delay" type="slider" arg="-post-delay %"
+            _label="Linger after solving"
+            _low-label="0 seconds" _high-label="10 seconds"
+            low="0" high="10000000" default="4000000"/>
+
+    <xscreensaver-updater />
+
+   </vgroup>
   </hgroup>
 
   </hgroup>
 
+
   <_description>
 This generates random mazes, with three different algorithms: Kruskal,
 Prim, and a depth-first recursive backtracker.  It also solves them.
   <_description>
 This generates random mazes, with three different algorithms: Kruskal,
 Prim, and a depth-first recursive backtracker.  It also solves them.
index bf56694ca2383fb5b78c602afbd198faa6dccbd1..cdd370f4c312c6bbab16f78a776b4e89f32ecc6d 100644 (file)
@@ -9,18 +9,22 @@
           low="0" high="100000" default="10000"
           convert="invert"/>
 
           low="0" high="100000" default="10000"
           convert="invert"/>
 
-  <select id="seedMode">
-    <option id="ram"    _label="Dump memory"/>
-    <option id="random" _label="Draw random numbers" arg-set="-random"/>
-  </select>
-
-  <select id="drawMode">
-    <option id="color" _label="Draw in RGB"/>
-    <option id="mono"  _label="Draw green" arg-set="-mono"/>
-  </select>
+  <hgroup>
+   <select id="seedMode">
+     <option id="ram"    _label="Dump memory"/>
+     <option id="random" _label="Draw random numbers" arg-set="-random"/>
+   </select>
+
+   <select id="drawMode">
+     <option id="color" _label="Draw in RGB"/>
+     <option id="mono"  _label="Draw green" arg-set="-mono"/>
+   </select>
+  </hgroup>
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 This draws a dump of its own process memory scrolling across the screen
 in three windows at three different rates.
   <_description>
 This draws a dump of its own process memory scrolling across the screen
 in three windows at three different rates.
index a39d49a2243994a6057bec9ba01868baf375d984..a4426a2581d3b4735b80861961a619eb98b34e02 100644 (file)
@@ -35,6 +35,8 @@
   <boolean id="wire"    _label="Wireframe"              arg-set="-wireframe"/>
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
   <boolean id="wire"    _label="Wireframe"              arg-set="-wireframe"/>
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 This draws the recursive Menger Gasket, a cube-based fractal object
 analagous to the Sierpinski Tetrahedron.
   <_description>
 This draws the recursive Menger Gasket, a cube-based fractal object
 analagous to the Sierpinski Tetrahedron.
index 899272af144531dc1476c67b16282b74c18e57e3..408f28d1f58ab99ea12de4e8abd5ce731a6a335b 100644 (file)
@@ -39,6 +39,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 
 Draws two dimensional metaballs: overlapping and merging balls with
   <_description>
 
 Draws two dimensional metaballs: overlapping and merging balls with
index 3521a42ad33cf5ab1528bc3bed95ebf5bc4ade4a..24468da0c19ea1023d0355063bb3290b74b0c6f9 100644 (file)
@@ -62,6 +62,8 @@
 
   </hgroup>
 
 
   </hgroup>
 
+  <xscreensaver-updater />
+
   <_description>
 Draws a wobbly blob that distorts the image behind it.
 
   <_description>
 Draws a wobbly blob that distorts the image behind it.
 
index dd47c0fee14bbd95771f0e51f2cfd2cd729dc201..ed17cb897d9ee6db58f3e3a0c35ea2b211d81c11 100644 (file)
@@ -24,6 +24,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 This screen saver was removed from the XScreenSaver distribution as of
 version 5.08.  It was merged with the "Munch" screen saver.
   <_description>
 This screen saver was removed from the XScreenSaver distribution as of
 version 5.08.  It was merged with the "Munch" screen saver.
index 804395a13e4510d76b5078147689b6f621973ec4..b67a70a0e37dd4608c60acb76b39db50cffcb067 100644 (file)
@@ -13,6 +13,8 @@
   <boolean id="ants" _label="Draw ants" arg-unset="-no-ants"/>
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
   <boolean id="ants" _label="Draw ants" arg-unset="-no-ants"/>
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 This animates a 3D rendition M.C. Escher's "Moebius Strip II",
 an image of ants walking along the surface of a moebius strip.
   <_description>
 This animates a 3D rendition M.C. Escher's "Moebius Strip II",
 an image of ants walking along the surface of a moebius strip.
index bd6f0d70ad29d972e433b77e8fee7e5efb4a01bd..a94e6e41cc06dbcae7344b1fc3d7ae87ca71e3d6 100644 (file)
@@ -30,6 +30,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 Draws a closed, interlinked chain of rotating gears.  The layout of
 the gears follows the path of a moebius strip.  See also the "Pinion"
   <_description>
 Draws a closed, interlinked chain of rotating gears.  The layout of
 the gears follows the path of a moebius strip.  See also the "Pinion"
index 6e4c9b9d2b0893625c264f72135654fdeae5ba3b..e94e54bdecc0d7d4bb484cb0ae38ce03239c0254 100644 (file)
@@ -22,6 +22,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
   When the lines on the screen
   Make more lines in between,
   <_description>
   When the lines on the screen
   Make more lines in between,
index 1c5d7f14df0e3df4c99831e99be54f74947b843b..c2496fe6c566a90499819a44229f393d223ac114 100644 (file)
@@ -18,6 +18,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 Generates fields of concentric circles or ovals, and combines the
 planes with various operations.  The planes are moving independently
   <_description>
 Generates fields of concentric circles or ovals, and combines the
 planes with various operations.  The planes are moving independently
index 9195353e3e6719171c81c57dce90d7fe778505cc..dcbbc78a8382100bb47b9b2876b8202dbd56d9f1 100644 (file)
@@ -45,6 +45,8 @@
 
   <file id="molecule" _label="PDB file or directory" arg="-molecule %"/>
 
 
   <file id="molecule" _label="PDB file or directory" arg="-molecule %"/>
 
+  <xscreensaver-updater />
+
   <_description>
 Draws several different representations of molecules.  Some common
 molecules are built in, and it can also read PDB (Protein Data Bank)
   <_description>
 Draws several different representations of molecules.  Some common
 molecules are built in, and it can also read PDB (Protein Data Bank)
index 58b2b00dde17355c4b5b57fd1eb6fdb7a757ccf1..829cd5448823cf9cce02aed804b3cff8d85dc2a4 100644 (file)
@@ -20,6 +20,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 Platonic solids that turn inside out and get spikey.
 
   <_description>
 Platonic solids that turn inside out and get spikey.
 
index 252a28d5846011afd08e239bcafde650e22b5014..103c2b8782921cbfdc705181e6ce6a55c3350588 100644 (file)
@@ -19,6 +19,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 Generates random 3D plots that look vaguely mountainous.
 
   <_description>
 Generates random 3D plots that look vaguely mountainous.
 
index df7f92eebf41931967fcc0889fd66dac761cf9a8..0a21a552f106670b1996746d9b7bde1085a63125 100644 (file)
@@ -32,6 +32,9 @@
     </select>
 
     <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
     </select>
 
     <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
+
+    <xscreensaver-updater />
+
    </vgroup>
   </hgroup>
 
    </vgroup>
   </hgroup>
 
index 2b97b68941d90fbb23f6a061e2debff90e37bdad..ec479bdfdda4cf03bf780e313916232eb25081f4 100644 (file)
@@ -50,6 +50,8 @@
   <!-- #### -min-radius [3] -->
   <!-- #### -max-radius [25] -->
 
   <!-- #### -min-radius [3] -->
   <!-- #### -max-radius [25] -->
 
+  <xscreensaver-updater />
+
   <_description>
 Draws different shapes composed of nervously vibrating squiggles,
 as if seen through a camera operated by a monkey on crack.
   <_description>
 Draws different shapes composed of nervously vibrating squiggles,
 as if seen through a camera operated by a monkey on crack.
index 04bed8c8a80da6db5a20643ce399aac51a925264..9fe6f40f5e20159e202d05b39d8c1007286f05b6 100644 (file)
@@ -11,6 +11,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 Draws some flowery, rotatey patterns.
 
   <_description>
 Draws some flowery, rotatey patterns.
 
index 4ef79577782ead929b1f19ab202ad4ac3ebe6112..533fc8e6d8fa98617ec384071179c2a9cbf39423 100644 (file)
@@ -7,6 +7,8 @@
   <xscreensaver-text />
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
   <xscreensaver-text />
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 A little man with a big nose wanders around your screen saying things.
 
   <_description>
 A little man with a big nose wanders around your screen saying things.
 
index c43daf96b0ed11eb2de7411d69a73301b7cb4e34..f88cf09eff172c1edcdf1d92a34c972b02b339fb 100644 (file)
@@ -14,6 +14,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 Simulates a game of Pac-Man on a randomly-created level.
 
   <_description>
 Simulates a game of Pac-Man on a randomly-created level.
 
index 6f08472069aa474afa842f6b511bf8bb07f9c7f9..7540e7c82a407fd4fa4f597b612c671aba877edd 100644 (file)
@@ -18,6 +18,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 A demonstration of the even-odd winding rule.
 
   <_description>
 A demonstration of the even-odd winding rule.
 
index 23b545d2dbcb378193c6b4c91674d63eafdcc9b3..a78fd0ad587d7d6b945aab6409e2fa77ef118535 100644 (file)
@@ -20,6 +20,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 Simulates (something like) the classic arcade game Missile Command.
 
   <_description>
 Simulates (something like) the classic arcade game Missile Command.
 
index c298dd5e5c957d1f21bcefa3f9d996d2d9e73ef7..49bf00fb2812a7a733f56bfbf236f0d7e7da1f44 100644 (file)
@@ -26,6 +26,8 @@
    </hgroup>
   
 
    </hgroup>
   
 
+  <xscreensaver-updater />
+
   <_description>
 Draws quasiperiodic tilings; think of the implications on modern
 formica technology.
   <_description>
 Draws quasiperiodic tilings; think of the implications on modern
 formica technology.
index a51b6c34e9dfe3c96c925dd92e6ddab5cb1ba6fd..c0cf65c90c496500e7fdcd52591aa4282f94603e 100644 (file)
@@ -2,78 +2,76 @@
 
 <screensaver name="petri" _label="Petri">
 
 
 <screensaver name="petri" _label="Petri">
 
 <command arg="-root"/>
+ <command arg="-root"/>
 
 
-  <vgroup>
-    <hgroup>
-      <number id="delay" type="slider" arg="-delay %"
-              _label="Frame rate" _low-label="Low" _high-label="High"
-              low="0" high="100000" default="10000"
-              convert="invert"/>
-      <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
-    </hgroup>
-  </vgroup>
-
-  <hgroup>
-    <number id="size" type="spinbutton" arg="-size %"
-             _label="Cell size" low="0" high="100" default="2"/>
-
-    <number id="count" type="spinbutton" arg="-count %"
-            _label="Mold varieties" low="0" high="20" default="20"/>
-  </hgroup>
-
-<hgroup>
- <vgroup>
-
-  <number id="diaglim" type="slider" arg="-diaglim %"
-          _label="Colony shape" _low-label="Square" _high-label="Diamond"
-          low="1.0" high="2.0" default="1.414"
+ <hgroup>
+  <number id="delay" type="slider" arg="-delay %"
+          _label="Frame rate" _low-label="Low" _high-label="High"
+          low="0" high="100000" default="10000"
           convert="invert"/>
           convert="invert"/>
+  <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
+ </hgroup>
 
 
-  <number id="anychan" type="slider" arg="-anychan %"
-          _label="Fertility" _low-label="Low" _high-label="High"
-          low="0.0" high="0.25" default="0.0015"/>
-
-  <number id="minorchan" type="slider" arg="-minorchan %"
-          _label="Offspring" _low-label="Few" _high-label="Many"
-          low="0.0" high="1.0" default="0.5"/>
+ <hgroup>
+  <vgroup>
+   <number id="diaglim" type="slider" arg="-diaglim %"
+           _label="Colony shape" _low-label="Square" _high-label="Diamond"
+           low="1.0" high="2.0" default="1.414"
+           convert="invert"/>
+
+   <number id="anychan" type="slider" arg="-anychan %"
+           _label="Fertility" _low-label="Low" _high-label="High"
+           low="0.0" high="0.25" default="0.0015"/>
+
+   <number id="minorchan" type="slider" arg="-minorchan %"
+           _label="Offspring" _low-label="Few" _high-label="Many"
+           low="0.0" high="1.0" default="0.5"/>
+
+   <number id="instantdeathchan" type="slider" arg="-instantdeathchan %"
+           _label="Death comes" _low-label="Slowly" _high-label="Quickly"
+           low="0.0" high="1.0" default="0.2"/>
+  </vgroup>
 
 
-  <number id="instantdeathchan" type="slider" arg="-instantdeathchan %"
-          _label="Death comes" _low-label="Slowly" _high-label="Quickly"
-          low="0.0" high="1.0" default="0.2"/>
+  <vgroup>
+   <number id="minlifespeed" type="slider" arg="-minlifespeed %"
+           _label="Minimum rate of growth" _low-label="Slow" _high-label="Fast"
+           low="0.0" high="1.0" default="0.04"/>
 
 
-  <number id="minlifespeed" type="slider" arg="-minlifespeed %"
-          _label="Minimum rate of growth" _low-label="Slow" _high-label="Fast"
-          low="0.0" high="1.0" default="0.04"/>
+   <number id="maxlifespeed" type="slider" arg="-maxlifespeed %"
+           _label="Maximum rate of growth" _low-label="Slow" _high-label="Fast"
+           low="0.0" high="1.0" default="0.13"/>
 
 
-    </vgroup>
-    <vgroup>
+   <number id="mindeathspeed" type="slider" arg="-mindeathspeed %"
+           _label="Minimum rate of death" _low-label="Slow" _high-label="Fast"
+           low="0.0" high="1.0" default="0.42"/>
 
 
-  <number id="maxlifespeed" type="slider" arg="-maxlifespeed %"
-          _label="Maximum rate of growth" _low-label="Slow" _high-label="Fast"
-          low="0.0" high="1.0" default="0.13"/>
+   <number id="maxdeathspeed" type="slider" arg="-maxdeathspeed %"
+           _label="Maximum rate of death" _low-label="Slow" _high-label="Fast"
+           low="0.0" high="1.0" default="0.46"/>
+  </vgroup>
 
 
-  <number id="mindeathspeed" type="slider" arg="-mindeathspeed %"
-          _label="Minimum rate of death" _low-label="Slow" _high-label="Fast"
-          low="0.0" high="1.0" default="0.42"/>
+  <vgroup>
+   <number id="minlifespan" type="slider" arg="-minlifespan %"
+           _label="Minimum lifespan" _low-label="Short" _high-label="Long"
+           low="0" high="3000" default="500"/>
 
 
-  <number id="maxdeathspeed" type="slider" arg="-maxdeathspeed %"
-          _label="Maximum rate of death" _low-label="Slow" _high-label="Fast"
-          low="0.0" high="1.0" default="0.46"/>
+   <number id="maxlifespan" type="slider" arg="-maxlifespan %"
+           _label="Maximum lifespan" _low-label="Short" _high-label="Long"
+           low="0" high="3000" default="1500"/>
 
 
-  <number id="minlifespan" type="slider" arg="-minlifespan %"
-          _label="Minimum lifespan" _low-label="Short" _high-label="Long"
-          low="0" high="3000" default="500"/>
+   <number id="size" type="spinbutton" arg="-size %"
+             _label="Cell size" low="0" high="100" default="2"/>
 
 
-  <number id="maxlifespan" type="slider" arg="-maxlifespan %"
-          _label="Maximum lifespan" _low-label="Short" _high-label="Long"
-          low="0" high="3000" default="1500"/>
+   <number id="count" type="spinbutton" arg="-count %"
+           _label="Mold varieties" low="0" high="20" default="20"/>
 
 
-    </vgroup>
 </hgroup>
+  </vgroup>
+ </hgroup>
 
   <!-- #### -mem-throttle [22M] -->
 
 
   <!-- #### -mem-throttle [22M] -->
 
+  <xscreensaver-updater />
+
   <_description>
 This simulates colonies of mold growing in a petri dish.  Growing
 colored circles overlap and leave spiral interference in their wake.
   <_description>
 This simulates colonies of mold growing in a petri dish.  Growing
 colored circles overlap and leave spiral interference in their wake.
index bc268e3b2f35f0453f12a4f2bd5c9c81a0c546dc..e2d2951918b78221c9f419b2b239ed228774aa6f 100644 (file)
@@ -33,6 +33,8 @@
   </vgroup>
  </hgroup>
 
   </vgroup>
  </hgroup>
 
+  <xscreensaver-updater />
+
   <_description>
 Draws a simulation of an old terminal, with large pixels and
 long-sustain phosphor.
   <_description>
 Draws a simulation of an old terminal, with large pixels and
 long-sustain phosphor.
index bd9c5bf5d5ba741551b4ae0921aa361bb107b70e..7939cbbd31f51f2c64ede9dca831e0de83d5f1df 100644 (file)
@@ -51,6 +51,7 @@
   </hgroup>
 
   <xscreensaver-image />
   </hgroup>
 
   <xscreensaver-image />
+  <xscreensaver-updater />
 
   <_description>
 Loads several random images, and displays them as if lying in a random pile.
 
   <_description>
 Loads several random images, and displays them as if lying in a random pile.
index 3cf4782900b32d0c75481cccc0031929dea1fd10..63c656ef827c23c521a6719f01bb63feffcd7f82 100644 (file)
@@ -33,6 +33,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 This draws a bunch of moving circles which switch from visibility to
 invisibility at intersection points.
   <_description>
 This draws a bunch of moving circles which switch from visibility to
 invisibility at intersection points.
index 229a722a58355ec466b594d3b8437269c0044045..5694584f33f445de4da4c0f9fc9b0a916172abb1 100644 (file)
@@ -34,6 +34,8 @@
    </vgroup>
   </hgroup>
 
    </vgroup>
   </hgroup>
 
+  <xscreensaver-updater />
+
   <_description>
 Draws an interconnected set of gears moving across the screen.
 See also the "Gears" and "MoebiusGears" screen savers.
   <_description>
 Draws an interconnected set of gears moving across the screen.
 See also the "Gears" and "MoebiusGears" screen savers.
index 2fa82e23f5d06f75b9fadb38abce7f54708f6656..b2e034acaa8e0d7ba1d066792d8b569e204a0a6a 100644 (file)
@@ -37,6 +37,8 @@
    <boolean id="wire"    _label="Wireframe" arg-set="-wireframe"/>
   </hgroup>
 
    <boolean id="wire"    _label="Wireframe" arg-set="-wireframe"/>
   </hgroup>
 
+  <xscreensaver-updater />
+
   <_description>
 A growing plumbing system, with bolts and valves.
 
   <_description>
 A growing plumbing system, with bolts and valves.
 
index 978328f8f8147fe64c39cdb85a7bb85923a2ebc2..fdf0871216800244d5e6200c8d94034b365f4dd0 100644 (file)
    <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
   </hgroup>
 
    <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
   </hgroup>
 
+  <xscreensaver-updater />
+
   <_description>
 Displays the 75 uniform polyhedra and their duals, plus 5 prisms
 and antiprisms, and some information about each.
   <_description>
 Displays the 75 uniform polyhedra and their duals, plus 5 prisms
 and antiprisms, and some information about each.
index 6601a218df9606762c9dba707d38baa3a2cd6700..f9fd0fad7490e0b4d676a8f044b8c961d51aaf9a 100644 (file)
@@ -21,6 +21,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 Repeatedly attempts to completely fill a rectangle with
 irregularly-shaped puzzle pieces.
   <_description>
 Repeatedly attempts to completely fill a rectangle with
 irregularly-shaped puzzle pieces.
index 204e1b96586249b6f5fa2bf1169973cf25f196cb..84af6e38c60730c7250111716192f30cc6ff8b80 100644 (file)
@@ -5,51 +5,52 @@
  <command arg="-root"/>
 
  <hgroup>
  <command arg="-root"/>
 
  <hgroup>
-  <select id="display-mode">
-   <option id="wire" _label="Wireframe mesh"
-           arg-set="-mode wireframe"/>
-   <option id="surface" _label="Solid surface"
-           arg-set="-mode surface"/>
-   <option id="transparent" _label="Transparent surface"/>
-  </select>
-
-  <select id="polytope">
-   <option id="random" _label="Random object"/>
-   <option id="cell-5" _label="5-cell (hyper-tetrahedron)"
-           arg-set="-polytope 5-cell"/>
-   <option id="cell-8" _label="8-cell (hypercube / tesseract)"
-           arg-set="-polytope 8-cell"/>
-   <option id="cell-16" _label="16-cell (hyper-octahedron)"
-           arg-set="-polytope 16-cell"/>
-   <option id="cell-24" _label="24-cell"
-           arg-set="-polytope 24-cell"/>
-   <option id="cell-120" _label="120-cell"
-           arg-set="-polytope 120-cell"/>
-   <option id="cell-600" _label="600-cell"
-           arg-set="-polytope 600-cell"/>
-  </select>
-</hgroup>
-
-<hgroup>
-  <select id="colors">
-   <option id="single" _label="Single color" arg-set="-single-color"/>
-   <option id="depth" _label="Colors By 4D Depth"/>
-  </select>
-
-  <select id="projection3d">
-   <option id="perspective-3d" _label="Perspective 3D"/>
-   <option id="orthographic-3d" _label="Orthographic 3D"
-           arg-set="-orthographic-3d"/>
-  </select>
-
-  <select id="projection4d">
-   <option id="perspective-4d" _label="Perspective 4D"/>
-   <option id="orthographic-4d" _label="Orthographic 4D"
-           arg-set="-orthographic-4d"/>
-  </select>
-</hgroup>
-
-<hgroup>
+  <vgroup>
+   <select id="display-mode">
+    <option id="wire" _label="Wireframe mesh"
+            arg-set="-mode wireframe"/>
+    <option id="surface" _label="Solid surface"
+            arg-set="-mode surface"/>
+    <option id="transparent" _label="Transparent surface"/>
+   </select>
+
+   <select id="polytope">
+    <option id="random" _label="Random object"/>
+    <option id="cell-5" _label="5-cell (hyper-tetrahedron)"
+            arg-set="-polytope 5-cell"/>
+    <option id="cell-8" _label="8-cell (hypercube / tesseract)"
+            arg-set="-polytope 8-cell"/>
+    <option id="cell-16" _label="16-cell (hyper-octahedron)"
+            arg-set="-polytope 16-cell"/>
+    <option id="cell-24" _label="24-cell"
+            arg-set="-polytope 24-cell"/>
+    <option id="cell-120" _label="120-cell"
+            arg-set="-polytope 120-cell"/>
+    <option id="cell-600" _label="600-cell"
+            arg-set="-polytope 600-cell"/>
+   </select>
+
+   <select id="colors">
+    <option id="single" _label="Single color" arg-set="-single-color"/>
+    <option id="depth" _label="Colors By 4D Depth"/>
+   </select>
+
+   <select id="projection3d">
+    <option id="perspective-3d" _label="Perspective 3D"/>
+    <option id="orthographic-3d" _label="Orthographic 3D"
+            arg-set="-orthographic-3d"/>
+   </select>
+
+   <select id="projection4d">
+    <option id="perspective-4d" _label="Perspective 4D"/>
+    <option id="orthographic-4d" _label="Orthographic 4D"
+            arg-set="-orthographic-4d"/>
+   </select>
+
+   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
+
+  </vgroup>
+
   <vgroup>
    <number id="speed-wx" type="slider" arg="-speed-wx %"
            _label="WX rotation speed"
   <vgroup>
    <number id="speed-wx" type="slider" arg="-speed-wx %"
            _label="WX rotation speed"
@@ -71,6 +72,7 @@
            low="0" high="100000" default="25000"
            convert="invert"/>
   </vgroup>
            low="0" high="100000" default="25000"
            convert="invert"/>
   </vgroup>
+
   <vgroup>
    <number id="speed-xy" type="slider" arg="-speed-xy %"
            _label="XY rotation speed"
   <vgroup>
    <number id="speed-xy" type="slider" arg="-speed-xy %"
            _label="XY rotation speed"
            _label="YZ rotation speed"
            _low-label="-4.0" _high-label="4.0"
            low="-4.0" high="4.0" default="2.1"/>
            _label="YZ rotation speed"
            _low-label="-4.0" _high-label="4.0"
            low="-4.0" high="4.0" default="2.1"/>
-
-   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
   </vgroup>
  </hgroup>
 
   </vgroup>
  </hgroup>
 
+  <xscreensaver-updater />
+
  <_description>
 
 This shows one of the six regular 4D polytopes rotating in 4D.
  <_description>
 
 This shows one of the six regular 4D polytopes rotating in 4D.
index a8c332954b6aabf2a4f3aeb9c97e5b3412b43272..2edd1bd4cff8283084eb83c3fab21f2789992450 100644 (file)
@@ -4,24 +4,34 @@
 
   <command arg="-root"/>
 
 
   <command arg="-root"/>
 
-  <number id="speed" type="slider" arg="-speed %"
-          _label="Game speed" _low-label="Slow" _high-label="Fast"
-          low="1" high="20" default="6"/>
-
- <number id="noise" type="slider" arg="-noise %"
-          _label="Noise" _low-label="Crisp" _high-label="Noisy"
-          low="0.00" high="5.00" default="0.04"/>
-
-  <boolean id="clock" _label="Clock mode" arg-set="-clock"/>
-
-  <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
-
-  <number id="tvbrightness" type="slider" arg="-tv-brightness %"
-          _label="Brightness Knob" _low-label="Low" _high-label="High"
-          low="0" high="200" default="150"/>
-  <number id="tvcontrast" type="slider" arg="-tv-contrast %"
-          _label="Contrast Knob" _low-label="Low" _high-label="High"
-          low="0" high="1500" default="1000"/>
+  <hgroup>
+   <vgroup>
+    <number id="speed" type="slider" arg="-speed %"
+            _label="Game speed" _low-label="Slow" _high-label="Fast"
+            low="1" high="20" default="6"/>
+
+    <number id="noise" type="slider" arg="-noise %"
+             _label="Noise" _low-label="Crisp" _high-label="Noisy"
+             low="0.00" high="5.00" default="0.04"/>
+
+    <hgroup>
+     <boolean id="clock" _label="Clock mode" arg-set="-clock"/>
+     <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
+    </hgroup>
+   </vgroup>
+
+   <vgroup>
+    <number id="tvbrightness" type="slider" arg="-tv-brightness %"
+            _label="Brightness Knob" _low-label="Low" _high-label="High"
+            low="0" high="200" default="150"/>
+
+    <number id="tvcontrast" type="slider" arg="-tv-contrast %"
+            _label="Contrast Knob" _low-label="Low" _high-label="High"
+            low="0" high="1500" default="1000"/>
+   </vgroup>
+  </hgroup>
+
+  <xscreensaver-updater />
 
   <_description>
 This simulates the 1971 Pong home video game, as well as
 
   <_description>
 This simulates the 1971 Pong home video game, as well as
index 514a1808cd2ca56f2a2cf736d00cac02dbeec244..66bc67ce687b66e63d61ca93a80fe749c50503a0 100644 (file)
@@ -44,6 +44,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 This draws a pop-art-ish looking grid of pulsing colors.
 
   <_description>
 This draws a pop-art-ish looking grid of pulsing colors.
 
index 5cc40628a990454048529934a1f9815362707b4d..22ea2bfac9b156ec859992d2464d43cc26464b66 100644 (file)
@@ -14,6 +14,8 @@
   <boolean id="wire"    _label="Wireframe"              arg-set="-wireframe"/>
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
   <boolean id="wire"    _label="Wireframe"              arg-set="-wireframe"/>
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 "A pyramid unfinished. In the zenith an eye in a triangle, surrounded
 by a glory, proper."
   <_description>
 "A pyramid unfinished. In the zenith an eye in a triangle, surrounded
 by a glory, proper."
index 6c3acbe5f8b12b4352f4d597a7fff1ca813763bd..224c779f87d33459f31e035d340f1fcd18a9135d 100644 (file)
@@ -30,6 +30,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 Draws some intersecting planes, making use of alpha blending, fog,
 textures, and mipmaps.
   <_description>
 Draws some intersecting planes, making use of alpha blending, fog,
 textures, and mipmaps.
index 96983a4363f605bcf81cb70eec9db89618e93361..351583b09d45d40cd0433d533594af24a4d14057 100644 (file)
@@ -24,6 +24,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 Exploding fireworks.  See also the "Fireworkx", "Eruption", and
 "XFlame" screen savers.
   <_description>
 Exploding fireworks.  See also the "Fireworkx", "Eruption", and
 "XFlame" screen savers.
index 4a3ad75c4d32e3383d9fe8523092228059661909..cbdfb600ab8f418423d3eb3d00f5df7ca58bee2f 100644 (file)
@@ -57,6 +57,8 @@
    <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
   </hgroup>
 
    <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
   </hgroup>
 
+  <xscreensaver-updater />
+
   <_description>
 Bounces a series of line segments around the screen, and uses
 variations on this basic motion pattern to produce all sorts of
   <_description>
 Bounces a series of line segments around the screen, and uses
 variations on this basic motion pattern to produce all sorts of
index 9fd78c82d342d82d3da15d008dc1838a11bffa02..87c3ac8a56151502ef8e92b476272e376b1ecb4c 100644 (file)
@@ -33,6 +33,8 @@
    <boolean id="showfps"   _label="Show frame rate" arg-set="-fps"/>
   </hgroup>
 
    <boolean id="showfps"   _label="Show frame rate" arg-set="-fps"/>
   </hgroup>
 
+  <xscreensaver-updater />
+
   <_description>
 A quasicrystal is a structure that is ordered but aperiodic.
 Two-dimensional quasicrystals can be generated by adding a set of
   <_description>
 A quasicrystal is a structure that is ordered but aperiodic.
 Two-dimensional quasicrystals can be generated by adding a set of
index 80061edf709858a8ec30e3410b9395341a28ba47..a9b91849a666a9dfa9d3b957e98313e4b6d9128b 100644 (file)
@@ -14,6 +14,8 @@
    <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
   </hgroup>
 
    <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
   </hgroup>
 
+  <xscreensaver-updater />
+
   <_description>
 The N-Queens problem: how to place N queens on an NxN chessboard
 such that no queen can attack a sister?
   <_description>
 The N-Queens problem: how to place N queens on an NxN chessboard
 such that no queen can attack a sister?
index d33a82784486c07b121ab692fcc377593a6d9b0e..c489776dd66c9a42d509cbb178879a56fab1f59a 100644 (file)
@@ -53,6 +53,8 @@
 
   </hgroup>
 
 
   </hgroup>
 
+  <xscreensaver-updater />
+
   <_description>
 Reaction-diffusion: draws a grid of growing square-like shapes that,
 once they overtake each other, react in unpredictable ways.
   <_description>
 Reaction-diffusion: draws a grid of growing square-like shapes that,
 once they overtake each other, react in unpredictable ways.
index d33a82784486c07b121ab692fcc377593a6d9b0e..da187ee6ce1471bceda3d87021d65b85de00cb2c 100644 (file)
     <number id="ncolors" type="slider" arg="-ncolors %"
               _label="Number of colors" _low-label="Two" _high-label="Many"
               low="1" high="255" default="255"/>
     <number id="ncolors" type="slider" arg="-ncolors %"
               _label="Number of colors" _low-label="Two" _high-label="Many"
               low="1" high="255" default="255"/>
+
+    <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
+
+    <xscreensaver-updater />
+
    </vgroup>
   </hgroup>
 
    </vgroup>
   </hgroup>
 
@@ -49,8 +54,6 @@
 
    </vgroup>
 
 
    </vgroup>
 
-  <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
-
   </hgroup>
 
   <_description>
   </hgroup>
 
   <_description>
index 9d750f3dc30935b8f685f0aa366e0ef892bb0070..8bc60dbf2f5531f271d8db7d3be0ae66b38b216e 100644 (file)
@@ -39,6 +39,8 @@
             _label="Magic lighting effect" low="0" high="8" default="4"/>
     <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
             _label="Magic lighting effect" low="0" high="8" default="4"/>
     <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+    <xscreensaver-updater />
+
    </vgroup>
   </hgroup>
 
    </vgroup>
   </hgroup>
 
index 3a253ae663fb3a139422e6497a87cf340ed8e8cc..701952f466e44160b06225e6abb7259a81867792 100644 (file)
@@ -33,6 +33,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 This draws an animation of flight through an asteroid field, with
 changes in rotation and direction.
   <_description>
 This draws an animation of flight through an asteroid field, with
 changes in rotation and direction.
index ad7051a8f05893952f88c32a19918aa461c211fe..0ddee8b46d465ede00cf2eb54d9c599b5cade4e9 100644 (file)
@@ -21,6 +21,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 This generates random inkblot patterns via a reflected random walk.
 Any deep-seated neurotic tendencies which this program reveals
   <_description>
 This generates random inkblot patterns via a reflected random walk.
 Any deep-seated neurotic tendencies which this program reveals
index b3c3e5d381dbeb8f39c3977f93752312594d035a..d4436f1a56efeb7ffc04e6fccbade1c6e7976cde 100644 (file)
@@ -25,6 +25,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 This screen saver was removed from the XScreenSaver distribution as of
 version 5.08.
   <_description>
 This screen saver was removed from the XScreenSaver distribution as of
 version 5.08.
index c2d5d8c52e4c4db860c4212d951778352f146926..2bcae86ca2b40870dfbe168c9111d6fef59a1b44 100644 (file)
@@ -29,6 +29,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 Distorts an image by rotating and scaling random sections of it.
 
   <_description>
 Distorts an image by rotating and scaling random sections of it.
 
index 029afdededf41c0b58be4c279cb47eba1cf19f95..8d2349a591a693b886e2d6d2adfab82aa5509739 100644 (file)
@@ -24,6 +24,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 Draws a Rubik's Cube that rotates in three dimensions and repeatedly
 shuffles and solves itself.  See also the "GLSnake" and "Cube21"
   <_description>
 Draws a Rubik's Cube that rotates in three dimensions and repeatedly
 shuffles and solves itself.  See also the "GLSnake" and "Cube21"
index e728d9cfa26c61ca0dd58fcee357ead6b1ac61f2..e25f16faaae535deee90b513c9c46f121912d7a6 100644 (file)
@@ -52,6 +52,8 @@
    </vgroup>
   </hgroup>
 
    </vgroup>
   </hgroup>
 
+  <xscreensaver-updater />
+
   <_description>
 Animates the Rubik's Mirror Blocks puzzle.
 See also the "Rubik", "Cube21", and "GLSnake" screen savers.
   <_description>
 Animates the Rubik's Mirror Blocks puzzle.
 See also the "Rubik", "Cube21", and "GLSnake" screen savers.
index 892851cf763d2b22a051408cdf498037aa2d2d8c..7f1d90cc35f6f5d3cf6e81b863e067f9f690d587 100644 (file)
@@ -25,6 +25,8 @@
   <boolean id="wire"    _label="Wireframe"   arg-set="-wireframe"/>
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
   <boolean id="wire"    _label="Wireframe"   arg-set="-wireframe"/>
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 Draws an animation of textured balls spinning like crazy.
 
   <_description>
 Draws an animation of textured balls spinning like crazy.
 
index 9ed9ec11fbb56fe170e9757ff40e86efacc0f6b5..0fbc59abc88515aa687c985aab115df55c5dcc18 100644 (file)
@@ -26,6 +26,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 This draws smoothly-shaded oscillating oval patterns that look
 something like vapor trails or neon tubes.
   <_description>
 This draws smoothly-shaded oscillating oval patterns that look
 something like vapor trails or neon tubes.
index 2d2431805e2bbd6620fb8f6ecfaa690e187910b8..4249c974021adba6ac88e05db5a7b7f36198f184 100644 (file)
@@ -23,6 +23,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 This draws the two-dimensional variant of the recursive Sierpinski
 triangle fractal.  See also the "Sierpinski3D" screen saver.
   <_description>
 This draws the two-dimensional variant of the recursive Sierpinski
 triangle fractal.  See also the "Sierpinski3D" screen saver.
index cf2c50f0935fdb57977e621bbf8a8c4e1b340bb8..419468650dbbf9d72a442a6d67f4729b35b84f24 100644 (file)
@@ -20,6 +20,8 @@
   <boolean id="wire"    _label="Wireframe"              arg-set="-wireframe"/>
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
   <boolean id="wire"    _label="Wireframe"              arg-set="-wireframe"/>
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 The recursive Sierpinski tetrahedron fractal.
 
   <_description>
 The recursive Sierpinski tetrahedron fractal.
 
index 4dd12e9036ab9c098f2042adb93bafdab6ee3aa5..132cb317fff0d26e1f30d885bd2587e05540d115 100644 (file)
@@ -59,6 +59,8 @@
  </hgroup>
 
 
  </hgroup>
 
 
+  <xscreensaver-updater />
+
  <_description>
 There is a tentacled abomination in the sky.   From above you it devours.
 
  <_description>
 There is a tentacled abomination in the sky.   From above you it devours.
 
index efa1091b6362957481001284cfbe0936a4a5ca21..b9b66864d340067254c134e43672e017f05f4137 100644 (file)
@@ -19,6 +19,8 @@
            _label="Duration" _low-label="10 seconds" _high-label="10 minutes"
            low="10" high="600" default="120"/>
 
            _label="Duration" _low-label="10 seconds" _high-label="10 minutes"
            low="10" high="600" default="120"/>
 
+    <xscreensaver-image />
+
    </vgroup>
    <vgroup>
    <number id="increment" type="slider" arg="-increment %"
    </vgroup>
    <vgroup>
    <number id="increment" type="slider" arg="-increment %"
 
    <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
    <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+   <xscreensaver-updater />
+
    </vgroup>
   </hgroup>
 
    </vgroup>
   </hgroup>
 
-  <xscreensaver-image />
-
   <_description>
 A variant on a "fifteen puzzle", operating on the screen or an image.
 It divides the image into a grid and randomly shuffles the squares.
   <_description>
 A variant on a "fifteen puzzle", operating on the screen or an image.
 It divides the image into a grid and randomly shuffles the squares.
index 4eb704f2f00b3dd2b4a2dfc30e6e1f5dd1fa951f..8c977852753f7684b505c2e0c4545b66d836e598 100644 (file)
@@ -31,6 +31,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 This throws some random bits on the screen, then sucks them
 through a jet engine and spews them out the other side.  To avoid
   <_description>
 This throws some random bits on the screen, then sucks them
 through a jet engine and spews them out the other side.  To avoid
index 21fcc28f2b2c523d3dd0c0c16a9604377f86c002..10d798ea13c18b289701ce2210f484df63299bd1 100644 (file)
@@ -66,6 +66,8 @@
    <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
   </hgroup>
 
    <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
   </hgroup>
 
+  <xscreensaver-updater />
+
   <_description>
 This draws a sonar screen that pings (get it?) the hosts on
 your local network, and plots their distance (response time) from you.
   <_description>
 This draws a sonar screen that pings (get it?) the hosts on
 your local network, and plots their distance (response time) from you.
@@ -74,9 +76,6 @@ milliseconds respectively.
 
 Alternately, it can run a simulation that doesn't involve hosts.
 
 
 Alternately, it can run a simulation that doesn't involve hosts.
 
-(If pinging doesn't work on Linux, you may need to make the executable
-be setuid.)
-
 http://en.wikipedia.org/wiki/Ping#History
 
 Written by Jamie Zawinski and Stephen Martin; 1998.
 http://en.wikipedia.org/wiki/Ping#History
 
 Written by Jamie Zawinski and Stephen Martin; 1998.
index 5da9e14efc2875c09ff822b972fe221038542b0f..0f2d9a4acba4721b11637875ff1ff3e49551e78f 100644 (file)
@@ -50,6 +50,8 @@
   <!-- #### -no-widening -->
   <!-- #### -psychedelic -->
 
   <!-- #### -no-widening -->
   <!-- #### -psychedelic -->
 
+  <xscreensaver-updater />
+
   <_description>
 Simulates speeding down a rocky mineshaft, or a funky dancing worm.
 
   <_description>
 Simulates speeding down a rocky mineshaft, or a funky dancing worm.
 
index a48ca2fb52d88460af949e465d4af67dc1235574..cb43fc0c5f824ee0c085f91242ecd2ad72750dcb 100644 (file)
@@ -15,6 +15,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 This screen saver was removed from the XScreenSaver distribution as of
 version 5.08.
   <_description>
 This screen saver was removed from the XScreenSaver distribution as of
 version 5.08.
index 10b67c9f3bff15fbda4b5beb057b9f10f4b349dd..7e36102d37beb1d707ae0f6cbcfef7e6784b87c3 100644 (file)
@@ -43,6 +43,8 @@
   </vgroup>
   </hgroup>
 
   </vgroup>
   </hgroup>
 
+  <xscreensaver-updater />
+
   <_description>
 These closed objects are commonly called spherical harmonics,
 although they are only remotely related to the mathematical
   <_description>
 These closed objects are commonly called spherical harmonics,
 although they are only remotely related to the mathematical
index f43a6eadc592f8322a48be04bc59727a901ac88e..5864e9e922c2bb406a1c902bb891f5357b44b2d2 100644 (file)
@@ -23,6 +23,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 This screen saver was removed from the XScreenSaver distribution as of
 version 5.08.
   <_description>
 This screen saver was removed from the XScreenSaver distribution as of
 version 5.08.
index 8c283a39540a4a3a8b0f721e0899dbf27b233ba3..f80537cdb03ef5d5b2f376954f924b11ddd67f92 100644 (file)
@@ -21,6 +21,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 A spotlight scanning across a black screen, illuminating a loaded
 image when it passes.
   <_description>
 A spotlight scanning across a black screen, illuminating a loaded
 image when it passes.
index c7b5b51d35901e2693830c9b8fda9d6254d0d35e..1967e658314b5662266f0bcec6f31a0e54d1545a 100644 (file)
@@ -19,6 +19,8 @@
    <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
   </hgroup>
 
    <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
   </hgroup>
 
+  <xscreensaver-updater />
+
   <_description>
 Slinky-like creatures walk down an infinite staircase and 
 occasionally explode!
   <_description>
 Slinky-like creatures walk down an infinite staircase and 
 occasionally explode!
index b302dadae9899a66c1414c56ac3f2706f18786cf..fe719351dabd07469039ce9a7d81f4a08fd19636 100644 (file)
@@ -38,6 +38,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 Draws a set of interacting, square-spiral-producing automata.  The
 spirals grow outward until they hit something, then they go around it.
   <_description>
 Draws a set of interacting, square-spiral-producing automata.  The
 spirals grow outward until they hit something, then they go around it.
index 15f0150d59fc9edcc19d4c753a3c1fbe9b0784e5..997e78ce4c22d60270d6edc46b61e77d5e1a66d8 100644 (file)
@@ -11,6 +11,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 Escher's infinite staircase.
 
   <_description>
 Escher's infinite staircase.
 
index 522f859eeef8e5f28ec6ea829c48577d4b3b8a5f..432f59ff5130ac24b0c9a21e265203b87169aea7 100644 (file)
@@ -29,6 +29,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 Undulating, throbbing, star-like patterns pulsate, rotate, and turn
 inside out.  Another display mode uses these shapes to lay down a
   <_description>
 Undulating, throbbing, star-like patterns pulsate, rotate, and turn
 inside out.  Another display mode uses these shapes to lay down a
index 6a15c00fc629bee878acd55a9897841b514666b1..4e1b41948bfec4c429999b886bdd4c2060f5613f 100644 (file)
@@ -47,6 +47,8 @@
    </vgroup>
   </hgroup>
 
    </vgroup>
   </hgroup>
 
+  <xscreensaver-updater />
+
   <_description>
 Draws a stream of text slowly scrolling into the distance at an
 angle, over a star field, like at the beginning of the movie of the
   <_description>
 Draws a stream of text slowly scrolling into the distance at an
 angle, over a star field, like at the beginning of the movie of the
index 89fe906782bcd34d73dc3244e82974499827c14e..7fbc41586121af7caa81615601fe695779a507c7 100644 (file)
@@ -13,6 +13,8 @@
   <boolean id="trans"   _label="Translucent"     arg-unset="-no-transparent"/>
   <boolean id="showfps" _label="Show frame rate"   arg-set="-fps"/>
 
   <boolean id="trans"   _label="Translucent"     arg-unset="-no-transparent"/>
   <boolean id="showfps" _label="Show frame rate"   arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 Chains of colorful squares dance around each other in complex spiral
 patterns.  Inspired by David Tristram's `electropaint' screen saver,
   <_description>
 Chains of colorful squares dance around each other in complex spiral
 patterns.  Inspired by David Tristram's `electropaint' screen saver,
index 43e23865444065d816975edf12632014e943fe99..53e67dfe33afdd40b1592e107143b4dbfbffd0f7 100644 (file)
@@ -19,6 +19,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 This draws iterations to strange attractors: it's a colorful,
 unpredictably-animating swarm of dots that swoops and twists around.
   <_description>
 This draws iterations to strange attractors: it's a colorful,
 unpredictably-animating swarm of dots that swoops and twists around.
index 7c9ac57addf0de621024a4ae59ee80462ab6d8b6..94f2ade854aa463ef32bb6ce1717ccd58569cc92 100644 (file)
@@ -32,6 +32,8 @@
    </vgroup>
   </hgroup>
 
    </vgroup>
   </hgroup>
 
+  <xscreensaver-updater />
+
   <_description>
 Crystalline lines grow on a computational substrate.  A simple
 perpendicular growth rule creates intricate city-like structures.
   <_description>
 Crystalline lines grow on a computational substrate.  A simple
 perpendicular growth rule creates intricate city-like structures.
index 265e00057ef159e228e3539655cdc59416dcf9f5..0574fb72feb8b3a49ce143e77f72306a2949a51e 100644 (file)
@@ -24,6 +24,8 @@
   <boolean id="wire"    _label="Wireframe"              arg-set="-wireframe"/>
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
   <boolean id="wire"    _label="Wireframe"              arg-set="-wireframe"/>
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 Morphing 3D shapes.
 
   <_description>
 Morphing 3D shapes.
 
index d7922242c72e051f1e2ac9840decaea29b6a810a..da325f9c597f6e234aac7adeb20ef6ea8b68c2a6 100644 (file)
@@ -4,47 +4,53 @@
 
   <command arg="-root"/>
 
 
   <command arg="-root"/>
 
-  <number id="delay" type="slider" arg="-delay %"
-          _label="Frame rate" _low-label="Low" _high-label="High"
-          low="0" high="100000" default="20000"
-          convert="invert"/>
+  <hgroup>
+   <vgroup>
+    <number id="delay" type="slider" arg="-delay %"
+            _label="Frame rate" _low-label="Low" _high-label="High"
+            low="0" high="100000" default="20000"
+            convert="invert"/>
 
 
-  <number id="descent" type="slider" arg="-speed %"
-          _label="Duration" _low-label="Short" _high-label="Long"
-          low="2" high="2000" default="300"
-          convert="invert"/>
+    <number id="descent" type="slider" arg="-speed %"
+            _label="Duration" _low-label="Short" _high-label="Long"
+            low="2" high="2000" default="300"
+            convert="invert"/>
+   </vgroup>
 
 
-  <hgroup>
-   <select id="surface">
-    <option id="random"    _label="Random Surface"/>
-    <option id="dini"      _label="Dini's Surface"      arg-set="-surface dini"/>
-    <option id="enneper"   _label="Enneper's Surface"   arg-set="-surface enneper"/>
-    <option id="kuen"      _label="Kuen Surface"        arg-set="-surface kuen"/>
-    <option id="moebius"   _label="Moebius Strip"       arg-set="-surface moebius"/>
-    <option id="seashell"  _label="Seashell"            arg-set="-surface seashell"/>
-    <option id="swallow"   _label="Swallowtail"         arg-set="-surface swallowtail"/>
-    <option id="bohemian"  _label="Bohemian Dome"       arg-set="-surface bohemian"/>
-    <option id="whitney"   _label="Whitney Umbrella"    arg-set="-surface whitney"/>
-    <option id="pluecker"  _label="Pluecker's Conoid"   arg-set="-surface pluecker"/>
-    <option id="henneberg" _label="Henneberg's Surface" arg-set="-surface henneberg"/>
-    <option id="catalan"   _label="Catalan's Surface"   arg-set="-surface catalan"/>
-    <option id="corkscrew" _label="Corkscrew Surface"   arg-set="-surface corkscrew"/>
-   </select>
+   <vgroup>
+    <select id="surface">
+     <option id="random"    _label="Random Surface"/>
+     <option id="dini"      _label="Dini's Surface"      arg-set="-surface dini"/>
+     <option id="enneper"   _label="Enneper's Surface"   arg-set="-surface enneper"/>
+     <option id="kuen"      _label="Kuen Surface"        arg-set="-surface kuen"/>
+     <option id="moebius"   _label="Moebius Strip"       arg-set="-surface moebius"/>
+     <option id="seashell"  _label="Seashell"            arg-set="-surface seashell"/>
+     <option id="swallow"   _label="Swallowtail"         arg-set="-surface swallowtail"/>
+     <option id="bohemian"  _label="Bohemian Dome"       arg-set="-surface bohemian"/>
+     <option id="whitney"   _label="Whitney Umbrella"    arg-set="-surface whitney"/>
+     <option id="pluecker"  _label="Pluecker's Conoid"   arg-set="-surface pluecker"/>
+     <option id="henneberg" _label="Henneberg's Surface" arg-set="-surface henneberg"/>
+     <option id="catalan"   _label="Catalan's Surface"   arg-set="-surface catalan"/>
+     <option id="corkscrew" _label="Corkscrew Surface"   arg-set="-surface corkscrew"/>
+    </select>
 
 
-   <select id="mode">
-     <option id="random"    _label="Random Display Mode"/>
-     <option id="points"    _label="Points"     arg-set="-mode points"/>
-     <option id="lines"     _label="Lines"      arg-set="-mode lines"/>
-     <option id="line_loop" _label="Line Loops" arg-set="-mode line-loops"/>
-   </select>
-  </hgroup>
+    <select id="mode">
+      <option id="random"    _label="Random Display Mode"/>
+      <option id="points"    _label="Points"     arg-set="-mode points"/>
+      <option id="lines"     _label="Lines"      arg-set="-mode lines"/>
+      <option id="line_loop" _label="Line Loops" arg-set="-mode line-loops"/>
+    </select>
 
 
-  <hgroup>
-   <boolean id="wander"  _label="Wander" arg-set="-wander"/>
-   <boolean id="spin"    _label="Spin" arg-unset="-no-spin"/>
-   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
+    <hgroup>
+     <boolean id="wander"  _label="Wander" arg-set="-wander"/>
+     <boolean id="spin"    _label="Spin" arg-unset="-no-spin"/>
+     <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
+    </hgroup>
+   </vgroup>
   </hgroup>
 
   </hgroup>
 
+  <xscreensaver-updater />
+
   <_description>
 This draws a visualization of several interesting parametric surfaces.
 
   <_description>
 This draws a visualization of several interesting parametric surfaces.
 
index ec69fb52f64196d8ee64d3bbd25ee31ed227b5aa..e099da20e84402b44d7e32c17704d6527cb695ad 100644 (file)
@@ -21,6 +21,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 Flowing, swirly patterns.
 
   <_description>
 Flowing, swirly patterns.
 
index abf8534375bd8d3651de8f954920f3ca1fa1e4eb..4bbd25bb666076f25756782c5f316ac4ed78fa09 100644 (file)
@@ -4,31 +4,40 @@
 
   <command arg="-root"/>
 
 
   <command arg="-root"/>
 
-  <number id="delay" type="slider" arg="-delay %"
-          _label="Frame rate" _low-label="Low" _high-label="High"
-          low="0" high="100000" default="40000"
-          convert="invert"/>
+  <hgroup>
+   <vgroup>
+    <number id="delay" type="slider" arg="-delay %"
+            _label="Frame rate" _low-label="Low" _high-label="High"
+            low="0" high="100000" default="40000"
+            convert="invert"/>
 
 
-  <number id="move" type="slider" arg="-move %"
-          _label="Turn side-to-side" _low-label="0 deg" _high-label="90 deg"
-          low="0.0" high="3.0" default="0.5"/>
+    <number id="move" type="slider" arg="-move %"
+            _label="Turn side-to-side" _low-label="0 deg" _high-label="90 deg"
+            low="0.0" high="3.0" default="0.5"/>
 
 
-  <number id="wobble" type="slider" arg="-wobble %"
-          _label="Wobbliness" _low-label="Low" _high-label="High"
-          low="0.0" high="3.0" default="2.0"/>
+    <number id="wobble" type="slider" arg="-wobble %"
+            _label="Wobbliness" _low-label="Low" _high-label="High"
+            low="0.0" high="3.0" default="2.0"/>
+   </vgroup>
 
 
-  <number id="cycle" type="slider" arg="-cycle %"
-          _label="Cycle seconds" _low-label="Low" _high-label="High"
-          low="0.0" high="60.0" default="10.0"/>
+   <vgroup>
+    <number id="cycle" type="slider" arg="-cycle %"
+            _label="Cycle seconds" _low-label="Low" _high-label="High"
+            low="0.0" high="60.0" default="10.0"/>
 
 
-  <number id="mag" type="slider" arg="-mag %"
-          _label="Magnification" _low-label="Smaller" _high-label="Bigger"
-          low="0.1" high="4.0" default="1.0"/>
+    <number id="mag" type="slider" arg="-mag %"
+            _label="Magnification" _low-label="Smaller" _high-label="Bigger"
+            low="0.1" high="4.0" default="1.0"/>
 
 
-  <select id="mins">
-    <option id="min2" _label="Minute tick marks" arg-set="-minutes"/>
-    <option id="min5" _label="5 minute tick marks"/>
-  </select>
+    <select id="mins">
+      <option id="min2" _label="Minute tick marks" arg-set="-minutes"/>
+      <option id="min5" _label="5 minute tick marks"/>
+    </select>
+
+    <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
+
+   </vgroup>
+  </hgroup>
 
   <!-- #### -fast [50] -->
   <!-- #### -colcycle [?] -->
 
   <!-- #### -fast [50] -->
   <!-- #### -colcycle [?] -->
@@ -36,7 +45,7 @@
   <!-- #### -rgb [?] -->
   <!-- #### -hsv [?] -->
 
   <!-- #### -rgb [?] -->
   <!-- #### -hsv [?] -->
 
-  <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
+  <xscreensaver-updater />
 
   <_description>
 This screen saver was removed from the XScreenSaver distribution as of
 
   <_description>
 This screen saver was removed from the XScreenSaver distribution as of
index 18b161fa1cf63caba58622fea004fe5f946d5c75..e7186bccc109d33deca48c5e94e94de682477409 100644 (file)
@@ -31,6 +31,8 @@
    <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
   </hgroup>
 
    <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
   </hgroup>
 
+  <xscreensaver-updater />
+
   <_description>
 Solves tangram puzzles.
 
   <_description>
 Solves tangram puzzles.
 
index e3922874600733c91ff4cff902a7761b932d3196..595fb43e0f1d8721bdac6513c5a829ad6b60ad10 100644 (file)
@@ -25,6 +25,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 Displays a view of the "Bird in a Thornbush" fractal.
 
   <_description>
 Displays a view of the "Bird in a Thornbush" fractal.
 
index 7ec879397bc3195662f7a14e9d69d5c96e25e87f..2059e94c69352d991e163f14a2adfff23cabe4b0 100644 (file)
@@ -30,6 +30,8 @@
    </vgroup>
   </hgroup>
 
    </vgroup>
   </hgroup>
 
+  <xscreensaver-updater />
+
   <_description>
 Draws an animation similar to the opening and closing effects on the
 Dr. Who TV show.
   <_description>
 Draws an animation similar to the opening and closing effects on the
 Dr. Who TV show.
index 06d8f92456f6963aaca18804b2e8d9aa4b0c5698..93f95aa40d29d096d68ad6cfb56e4fbbce7fa5ce 100644 (file)
@@ -53,6 +53,8 @@
    <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
   </hgroup>
 
    <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
   </hgroup>
 
+  <xscreensaver-updater />
+
   <_description>
 Creates a 3D world with dropping blocks that build up and up.
 Written by rednuht; 2006.
   <_description>
 Creates a 3D world with dropping blocks that build up and up.
 Written by rednuht; 2006.
index 8e6ac967ec702415993a01d15c0793e9389b82e7..3c9bb1e10b90c42b0b9c8b628bb218668f8690e9 100644 (file)
@@ -15,6 +15,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 Generates random mountain ranges using iterative subdivision of
 triangles.
   <_description>
 Generates random mountain ranges using iterative subdivision of
 triangles.
index fc60f840344b29a5f0096c870ef22562d1d4bd44..1346048bfd08c24da617e874b106610660b0c33d 100644 (file)
@@ -20,6 +20,8 @@
    <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
   </hgroup>
 
    <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
   </hgroup>
 
+  <xscreensaver-updater />
+
   <_description>
 Draws an animation of the character "Bit" from the film, "Tron".
 
   <_description>
 Draws an animation of the character "Bit" from the film, "Tron".
 
index af2e8814db4e5f24a4594425502b8b3f0dba1816..13eca67b5e7df226be0192dc79dc3739fc81966c 100644 (file)
@@ -27,6 +27,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 This draws line- and arc-based truchet patterns that tile the screen.
 
   <_description>
 This draws line- and arc-based truchet patterns that tile the screen.
 
index 9beced7cbebf55d404b7fffadac202f922dd4069..cbb00d0e9a428e223a6a241fa89fed8034d433e1 100644 (file)
@@ -49,6 +49,8 @@
 
   <xscreensaver-image />
 
 
   <xscreensaver-image />
 
+  <xscreensaver-updater />
+
   <_description>
 Divides the screen into a grid, and plucks them.
 
   <_description>
 Divides the screen into a grid, and plucks them.
 
index 655e5b49a6640dc8237a8d74092601110cb1461e..c94632e285e8158ac3f4deee75ee61040849518a 100644 (file)
@@ -4,22 +4,28 @@
 
   <command arg="-root"/>
 
 
   <command arg="-root"/>
 
-  <number id="delay" type="slider" arg="-delay %"
-          _label="Frame rate" _low-label="Low" _high-label="High"
-          low="0" high="100000" default="30000"
-          convert="invert"/>
-
-  <number id="speed" type="slider" arg="-speed %"
-          _label="Speed" _low-label="Slow" _high-label="Fast"
-          low="0.1" high="3.0" default="1.0"/>
-
-  <number id="count" type="slider" arg="-count %"
-          _label="Scanlines" _low-label="Few" _high-label="Many"
-          low="3" high="200" default="80"/>
-
-  <number id="resolution" type="slider" arg="-resolution %"
-          _label="Resolution" _low-label="Low" _high-label="High"
-          low="5" high="300" default="100"/>
+  <hgroup>
+   <vgroup>
+    <number id="delay" type="slider" arg="-delay %"
+            _label="Frame rate" _low-label="Low" _high-label="High"
+            low="0" high="100000" default="30000"
+            convert="invert"/>
+
+    <number id="count" type="slider" arg="-count %"
+            _label="Scanlines" _low-label="Few" _high-label="Many"
+            low="3" high="200" default="80"/>
+   </vgroup>
+
+   <vgroup>
+    <number id="speed" type="slider" arg="-speed %"
+            _label="Speed" _low-label="Slow" _high-label="Fast"
+            low="0.1" high="3.0" default="1.0"/>
+
+    <number id="resolution" type="slider" arg="-resolution %"
+            _label="Resolution" _low-label="Low" _high-label="High"
+            low="5" high="300" default="100"/>
+   </vgroup>
+  </hgroup>
 
   <hgroup>
    <boolean id="ortho" _label="Orthographic Projection" arg-unset="-no-ortho"/>
 
   <hgroup>
    <boolean id="ortho" _label="Orthographic Projection" arg-unset="-no-ortho"/>
@@ -27,6 +33,8 @@
    <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
   </hgroup>
 
    <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
   </hgroup>
 
+  <xscreensaver-updater />
+
   <_description>
 PSR B1919+21 (AKA CP 1919) was the first pulsar ever discovered:
 a spinning neutron star emitting a periodic lighthouse-like beacon.
   <_description>
 PSR B1919+21 (AKA CP 1919) was the first pulsar ever discovered:
 a spinning neutron star emitting a periodic lighthouse-like beacon.
index a3c692f0844ed9ef93f7485f9c3a0517d1f7e909..3921ba672a838c03aeb2a8b91a2de9c94a05fa55 100644 (file)
@@ -10,6 +10,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 Draws squiggly worm-like paths.
 
   <_description>
 Draws squiggly worm-like paths.
 
index da36b834b610106bcd8a49b40b71b06f00e6bc74..6c0a5ac04434bce4066919a292783982bc2e1e65 100644 (file)
@@ -12,6 +12,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 This is a shell script that grabs a frame of video from the system's
 video input, and then uses some PBM filters (chosen at random) to
   <_description>
 This is a shell script that grabs a frame of video from the system's
 video input, and then uses some PBM filters (chosen at random) to
index 6e1605d2f4b2a79944101f027a0360f10ee7255b..2f30de81751d240382c9a1d2b79b61291422c9ea 100644 (file)
@@ -15,6 +15,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 This screen saver was removed from the XScreenSaver distribution as of
 version 5.08.
   <_description>
 This screen saver was removed from the XScreenSaver distribution as of
 version 5.08.
index 2cd4fee1ca665091e21f9cf0bf7683c753fd2ccd..90f410a84442434ab458f9cf47c9a5e7b7332671 100644 (file)
@@ -42,6 +42,8 @@
    </vgroup>
   </hgroup>
 
    </vgroup>
   </hgroup>
 
+  <xscreensaver-updater />
+
   <_description>
 Draws a randomly-colored Voronoi tessellation, and periodically zooms 
 in and adds new points.  The existing points also wander around.
   <_description>
 Draws a randomly-colored Voronoi tessellation, and periodically zooms 
 in and adds new points.  The existing points also wander around.
index 80a770dd6cf6036b673c93b0cc6faea2e72a2496..d4cf37a93dcabd63ff656b6f44a8e094b7cd836e 100644 (file)
@@ -4,36 +4,44 @@
 
   <command arg="-root"/>
 
 
   <command arg="-root"/>
 
-  <number id="delay" type="slider" arg="-delay %"
-          _label="Frame rate" _low-label="Low" _high-label="High"
-          low="0" high="100000" default="20000"
-          convert="invert"/>
-
-  <number id="density" type="slider" arg="-density %"
-          _label="Density" _low-label="Low" _high-label="High"
-          low="1" high="30" default="2"
-          convert="invert"/>
-
-  <number id="reset" type="slider" arg="-reset %"
-          _label="Duration" _low-label="Short" _high-label="Long"
-          low="10000" high="3000000" default="2500000"/>
-
-  <number id="length" type="slider" arg="-length %"
-          _label="Length" _low-label="Short" _high-label="Long"
-          low="100" high="100000" default="25000"/>
-
   <hgroup>
   <hgroup>
-    <boolean id="circles" _label="Draw spots" arg-set="-circles"/>
-
-    <number id="size" type="spinbutton" arg="-size %"
-             _label="Size" low="0" high="100" default="1"/>
+   <vgroup>
+    <number id="delay" type="slider" arg="-delay %"
+            _label="Frame rate" _low-label="Low" _high-label="High"
+            low="0" high="100000" default="20000"
+            convert="invert"/>
+
+    <number id="density" type="slider" arg="-density %"
+            _label="Density" _low-label="Low" _high-label="High"
+            low="1" high="30" default="2"
+            convert="invert"/>
+
+    <number id="reset" type="slider" arg="-reset %"
+            _label="Duration" _low-label="Short" _high-label="Long"
+            low="10000" high="3000000" default="2500000"/>
+   </vgroup>
+
+   <vgroup>
+    <number id="length" type="slider" arg="-length %"
+            _label="Length" _low-label="Short" _high-label="Long"
+            low="100" high="100000" default="25000"/>
+
+    <number id="advance" type="slider" arg="-advance %"
+            _label="Color contrast" _low-label="Low" _high-label="High"
+            low="1" high="100" default="1"/>
+
+    <hgroup>
+      <boolean id="circles" _label="Draw spots" arg-set="-circles"/>
+
+      <number id="size" type="spinbutton" arg="-size %"
+               _label="Size" low="0" high="100" default="1"/>
+    </hgroup>
+
+    <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
+   </vgroup>
   </hgroup>
 
   </hgroup>
 
-  <number id="advance" type="slider" arg="-advance %"
-          _label="Color contrast" _low-label="Low" _high-label="High"
-          low="1" high="100" default="1"/>
-
-  <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
+  <xscreensaver-updater />
 
   <_description>
 Draws a colorful random-walk, in various forms.
 
   <_description>
 Draws a colorful random-walk, in various forms.
index c6f84b5eb79f19a424e566643c5856b32ec626b0..e773cad2a46c6b3f6bbee7851934038621a6c359 100644 (file)
@@ -31,6 +31,8 @@
   <file id="dir" _label="Image directory" arg="-directory %"/>
  -->
 
   <file id="dir" _label="Image directory" arg="-directory %"/>
  -->
 
+  <xscreensaver-updater />
+
   <_description>
 This is what the Internet looks like.
 
   <_description>
 This is what the Internet looks like.
 
index 6c5aec6b5804b31aa5afd863b3e79c36800a4e7f..fdf26f76cff08bf4ec40dc28da286a0f018b53e8 100644 (file)
@@ -14,6 +14,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 Floating stars are acted upon by a mixture of simple 2D
 force  fields.  The strength of each force field changes
   <_description>
 Floating stars are acted upon by a mixture of simple 2D
 force  fields.  The strength of each force field changes
index 3ca0dce2fb031988c951c780b79ae85639719ca7..c4f843ba5c34ed674dc58166a9943f81a4c1309e 100644 (file)
@@ -75,6 +75,8 @@
    <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
   </hgroup>
 
    <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
   </hgroup>
 
+  <xscreensaver-updater />
+
   <_description>
 This screen saver was removed from the XScreenSaver distribution as of
 version 5.08.
   <_description>
 This screen saver was removed from the XScreenSaver distribution as of
 version 5.08.
index 6cf221b6d75dc16e88704f8c0172726e813cdf33..9f5985a2293604509bd12cf567e214ee9c607b53 100644 (file)
@@ -24,6 +24,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 This screen saver was removed from the XScreenSaver distribution as of
 version 5.08.
   <_description>
 This screen saver was removed from the XScreenSaver distribution as of
 version 5.08.
index c137a0fd031d91f4da91f56b93bf91f106a9b3dc..aa4697bc6ccfd73ca2653037db47adce08f76351 100644 (file)
@@ -19,6 +19,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 Flying through a colored wormhole in space. 
 
   <_description>
 Flying through a colored wormhole in space. 
 
index 421880108038eb2b8427a3acefd8774128aa840d..7bad9f6e74bff74686da512accd550d0aa090558 100644 (file)
@@ -27,6 +27,8 @@
    </vgroup>
   </hgroup>
 
    </vgroup>
   </hgroup>
 
+  <xscreensaver-updater />
+
   <_description>
 
 a detailed simulation of an old TV set, including artifacts like snow,
   <_description>
 
 a detailed simulation of an old TV set, including artifacts like snow,
index e9a4686f292b7832386e13135eaf28b2b350fbf2..0724c1eba9a0bbdf53938ac8ed8d206f84acd86e 100644 (file)
@@ -22,6 +22,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 Draws a simulation of pulsing fire.  It can also take an arbitrary
 image and set it on fire too.
   <_description>
 Draws a simulation of pulsing fire.  It can also take an arbitrary
 image and set it on fire too.
index 8d6f9c072710efb9fe0ac7b832defb8ce0e5b82e..f3c4a7dc03f1b07783bcf7552f09518a4de86707 100644 (file)
@@ -13,6 +13,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 This behaves schizophrenically and makes a lot of typos.
 
   <_description>
 This behaves schizophrenically and makes a lot of typos.
 
index 1f4735200616962ca2d8717e1a10efa6508b1c62..5f675e3e25321c1901e7328d99447ac9448062b6 100644 (file)
@@ -38,6 +38,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 The Lyapunov exponent makes pretty fractal pictures.
 
   <_description>
 The Lyapunov exponent makes pretty fractal pictures.
 
index e011f4a0c6babcfe742319dbfffdfb6bf3f9b42a..70512a90dc9608b6062da8c0d96b6263d7dbe74e 100644 (file)
@@ -43,6 +43,9 @@
             low="1" high="100" default="75"/>
 
     <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
             low="1" high="100" default="75"/>
 
     <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
+
+    <xscreensaver-updater />
+
    </vgroup>
    <vgroup>
     <xscreensaver-text />
    </vgroup>
    <vgroup>
     <xscreensaver-text />
index 49fe4559d94f2dc7b47aa11d71d07a28a6a72fe2..b23d15bc734b8b0699de5193442e763337979c25 100644 (file)
@@ -11,6 +11,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 Worm-like swarms of particles with vapor trails.
 
   <_description>
 Worm-like swarms of particles with vapor trails.
 
index ab297adc194376da0c6e353873c698d85dcc75cc..cb83175d332a235c042daf8b79eef5b5d5ab20f4 100644 (file)
@@ -18,6 +18,8 @@
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
 
   <boolean id="showfps" _label="Show frame rate" arg-set="-fps"/>
 
+  <xscreensaver-updater />
+
   <_description>
 Simulates that pen-in-nested-plastic-gears toy from your childhood.
 
   <_description>
 Simulates that pen-in-nested-plastic-gears toy from your childhood.
 
index 4375f5db2da2ac9ef12b78b4aa07691c6ae99d3e..c615faeba66e79934a5e45a2816fd3497e3767cc 100644 (file)
@@ -40,6 +40,8 @@
 
   <xscreensaver-image />
 
 
   <xscreensaver-image />
 
+  <xscreensaver-updater />
+
   <_description>
 Fatbits!  Zooms in on a part of the screen and then moves around.
 With the "Lenses" option, the result is like looking through many
   <_description>
 Fatbits!  Zooms in on a part of the screen and then moves around.
 With the "Lenses" option, the result is like looking through many
index c58c98cc76475989cfa78ab22052c182f632daf9..4950ddce94fbe5fd828a77f923d79330e9c11086 100644 (file)
@@ -446,7 +446,7 @@ check_men:
 
 validate_xml:
        @echo "Validating XML..." ; \
 
 validate_xml:
        @echo "Validating XML..." ; \
-       cd $(HACK_SRC) ; ./check-configs.pl $(EXES)
+       cd $(HACK_SRC) ; ./check-configs.pl $(GL_EXES) $(GLE_EXES) $(SUID_EXES)
 
 distdepend:: check_men validate_xml
 
 
 distdepend:: check_men validate_xml
 
@@ -476,7 +476,7 @@ $(HACK_BIN)/xlockmore.o: $(HACK_SRC)/xlockmore.c
 
 # How we build object files in this directory.
 .c.o:
 
 # How we build object files in this directory.
 .c.o:
-       $(CC) -c $(INCLUDES) $(DEFS) $(CFLAGS) $(X_CFLAGS) $<
+       $(CC) -c $(INCLUDES) $(DEFS) $(CPPFLAGS) $(CFLAGS) $(X_CFLAGS) $<
 
 
 # How to build the "xscreensaver-gl-helper" program, that lets the daemon
 
 
 # How to build the "xscreensaver-gl-helper" program, that lets the daemon
@@ -491,7 +491,7 @@ xscreensaver-gl-helper: $(HELPER_OBJS)
 # These hacks use a slightly-differently-compiled variant of xlockmore.c.
 # This is how to make the the other .o file from it.
 #
 # These hacks use a slightly-differently-compiled variant of xlockmore.c.
 # This is how to make the the other .o file from it.
 #
-XLM_CFLAGS=-DUSE_GL $(INCLUDES) $(DEFS) $(CFLAGS) $(X_CFLAGS)
+XLM_CFLAGS=-DUSE_GL $(INCLUDES) $(DEFS) $(CPPFLAGS) $(CFLAGS) $(X_CFLAGS)
 xlockmore-gl.o: $(HACK_SRC)/xlockmore.c
        $(CC) -o $@ -c $(XLM_CFLAGS) $(HACK_SRC)/xlockmore.c
 
 xlockmore-gl.o: $(HACK_SRC)/xlockmore.c
        $(CC) -o $@ -c $(XLM_CFLAGS) $(HACK_SRC)/xlockmore.c
 
diff --git a/hacks/glx/antinspect.man b/hacks/glx/antinspect.man
deleted file mode 100644 (file)
index 804d7a4..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-.TH XScreenSaver 1 "March 2004"
-.SH NAME
-antinspect \- ant model inspection screenhack
-.SH SYNOPSIS
-.B antinspect
-[\-display \fIhost:display.screen\fP] [\-window] [\-root] [\-install]
-[\-visual \fIvisual\fP] [\-delay \fImicroseconds\fP] [\-fps]
-.SH DESCRIPTION
-The \fIantinspect\fP code displays three ant-powered balls churning in a 
-circle.
-.SH OPTIONS
-.I antinspect
-accepts the following options:
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-install
-Install a private colormap for the window.
-.TP 8
-.B \-shadows
-Draw shadows on ground
-.TP 8
-.B \-visual \fIvisual\fP\fP
-Specify which visual to use.  Legal values are the name of a visual class,
-or the id number (decimal or hex) of a specific visual.
-.B \-fps
-Display the current frame rate, CPU load, and polygon count.
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH SEE ALSO
-.BR X (1),
-.BR xscreensaver (1)
-.BR xscreensaver\-demo (1),
-.BR xscreensaver\-getimage (1)
-.SH COPYRIGHT
-Copyright \(co 2004 by Blair Tennessy.  Permission to use, copy, modify,
-distribute, and sell this software and its documentation for any purpose is
-hereby granted without fee, provided that the above copyright notice appear
-in all copies and that both that copyright notice and this permission notice
-appear in supporting documentation.  No representations are made about the
-suitability of this software for any purpose.  It is provided "as is" without
-express or implied warranty.
-.SH AUTHOR
-Blair Tennessy <tennessy@cs.ubc.ca>, 15-March-2004.
diff --git a/hacks/glx/antmaze.man b/hacks/glx/antmaze.man
deleted file mode 100644 (file)
index 4c4bec8..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-.TH XScreenSaver 1 "May 2005"
-.SH NAME
-antmaze \- ant maze walker
-.SH SYNOPSIS
-.B antmaze
-[\-display \fIhost:display.screen\fP] [\-window] [\-root] [\-install]
-[\-visual \fIvisual\fP] [\-delay \fImicroseconds\fP] [\-fps]
-.SH DESCRIPTION
-The \fIantmaze\fP code displays ants finding their way through a maze.
-.SH OPTIONS
-.I antmaze
-accepts the following options:
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-install
-Install a private colormap for the window.
-.TP 8
-.B \-visual \fIvisual\fP\fP
-Specify which visual to use.  Legal values are the name of a visual class,
-or the id number (decimal or hex) of a specific visual.
-.B \-fps
-Display the current frame rate, CPU load, and polygon count.
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH SEE ALSO
-.BR X (1),
-.BR xscreensaver (1)
-.BR xscreensaver\-demo (1),
-.BR xscreensaver\-getimage (1)
-.SH COPYRIGHT
-Copyright \(co 2005 by Blair Tennessy.  Permission to use, copy, modify,
-distribute, and sell this software and its documentation for any purpose is
-hereby granted without fee, provided that the above copyright notice appear
-in all copies and that both that copyright notice and this permission notice
-appear in supporting documentation.  No representations are made about the
-suitability of this software for any purpose.  It is provided "as is" without
-express or implied warranty.
-.SH AUTHOR
-Blair Tennessy <tennessy@cs.ubc.ca>, 8-May-2005.
diff --git a/hacks/glx/antspotlight.man b/hacks/glx/antspotlight.man
deleted file mode 100644 (file)
index c5f8ed7..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-.TH XScreenSaver 1 "July 2003"
-.SH NAME
-antspotlight \- ant spotlight screenhack
-.SH SYNOPSIS
-.B antspotlight
-[\-display \fIhost:display.screen\fP] [\-window] [\-root] [\-install]
-[\-visual \fIvisual\fP] [\-delay \fImicroseconds\fP] [\-fps]
-.SH DESCRIPTION
-The \fIantspotlight\fP code displays a single ant spotting out a screenshot.
-.SH OPTIONS
-.I antspotlight
-accepts the following options:
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-install
-Install a private colormap for the window.
-.TP 8
-.B \-visual \fIvisual\fP\fP
-Specify which visual to use.  Legal values are the name of a visual class,
-or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-fps
-Display the current frame rate, CPU load, and polygon count.
-.TP 8
-.B \-delay \fImicroseconds\fP
-Per-frame delay.
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH SEE ALSO
-.BR X (1),
-.BR xscreensaver (1)
-.BR xscreensaver\-demo (1),
-.BR xscreensaver\-getimage (1)
-.SH COPYRIGHT
-Copyright \(co 2003 by Blair Tennessy.  Permission to use, copy, modify,
-distribute, and sell this software and its documentation for any purpose is
-hereby granted without fee, provided that the above copyright notice appear
-in all copies and that both that copyright notice and this permission notice
-appear in supporting documentation.  No representations are made about the
-suitability of this software for any purpose.  It is provided "as is" without
-express or implied warranty.
-.SH AUTHOR
-Blair Tennessy <tennessb@unbc.ca>, 20-July-2003.
diff --git a/hacks/glx/atlantis.man b/hacks/glx/atlantis.man
deleted file mode 100644 (file)
index 0c2df5a..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-.TH XScreenSaver 1 "" "X Version 11"
-.SH NAME
-atlantis - draw swimming sharks, whales, and dolphins.
-.SH SYNOPSIS
-.B atlantis
-[\-display \fIhost:display.screen\fP]
-[\-visual \fIvisual\fP]
-[\-window]
-[\-root]
-[\-whalespeed \fInumber\fP]
-[\-delay \fInumber\fP]
-[\-size \fInumber\fP]
-[\-count \fInumber\fP]
-[\-no-texture]
-[\-gradient]
-[\-wireframe]
-[\-fps]
-.SH DESCRIPTION
-This is xfishtank writ large: a GL animation of a number of sharks,
-dolphins, and whales. The swimming motions are great.
-.SH OPTIONS
-.TP 8
-.B \-visual \fIvisual\fP
-Specify which visual to use.  Legal values are the name of a visual class,
-or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-whalespeed \fInumber\fP
-Whale Speed.  0 - 1000.  Default: 250.
-.TP 8
-.B \-cycles \fInumber\fP
-Shark Speed.  Default: 100.
-.TP 8
-.B \-size \fInumber\fP
-Shark Proximity.  100 - 10000. Default: 6000.
-.TP 8
-.B \-count \fInumber\fP
-Number of Sharks.  0 - 20.  Default: 4.
-.TP 8
-.B \-texture | \-no-texture
-Whether to show shimmering water.
-.TP 8
-.B \-gradient
-Whether to draw a gradient on the background, making it darker at the bottom.
-.TP 8
-.B \-wireframe
-Render in wireframe instead of solid.
-.TP 8
-.B \-fps
-Display the current frame rate, CPU load, and polygon count.
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH SEE ALSO
-.BR X (1),
-.BR xscreensaver (1)
-.SH COPYRIGHT
-Copyright \(co 2002 by Mark Kilgard.  Permission to use, copy, modify, 
-distribute, and sell this software and its documentation for any purpose is 
-hereby granted without fee, provided that the above copyright notice appear 
-in all copies and that both that copyright notice and this permission notice
-appear in supporting documentation.  No representations are made about the 
-suitability of this software for any purpose.  It is provided "as is" without
-express or implied warranty.
-.SH AUTHOR
-Mark Kilgard.
-
diff --git a/hacks/glx/atunnel.man b/hacks/glx/atunnel.man
deleted file mode 100644 (file)
index dc19582..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-.de EX         \"Begin example
-.ne 5
-.if n .sp 1
-.if t .sp .5
-.nf
-.in +.5i
-..
-.de EE
-.fi
-.in -.5i
-.if n .sp 1
-.if t .sp .5
-..
-.TH XScreenSaver 1 "12-Feb-03" "X Version 11"
-.SH NAME
-atunnel - hypnotic GL tunnel journey
-.SH SYNOPSIS
-.B sballs
-[\-display \fIhost:display.screen\fP] [\-window] [\-root]
-[\-visual \fIvisual\fP] [\-delay \fImicroseconds\fP]
-[\-light] [\-no-light]
-[\-wire] [\-no-wire]
-[\-texture] [\-no-texture]
-[\-fps]
-.SH DESCRIPTION
-The \fIatunnel\fP program draws an animation of a journey in a GL tunnel.
-.SH OPTIONS
-.I sballs
-accepts the following options:
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-install
-Install a private colormap for the window.
-.TP 8
-.B \-visual \fIvisual\fP
-Specify which visual to use.  Legal values are the name of a visual class,
-or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-fps
-Display the current frame rate, CPU load, and polygon count.
-.TP 8
-.B \-texture
-Show a textured tunnel. This is the default.
-.TP 8
-.B \-no\-texture
-Disables texturing the animation.
-.TP 8
-.B \-wire
-Draw a wireframe rendition of the tunnel.
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH SEE ALSO
-.BR X (1),
-.BR xscreensaver (1)
-.SH COPYRIGHT
-Copyright \(co 2003 by Eric Lassauge.
-Permission to use, copy, modify, distribute, and sell this software and
-its documentation for any purpose is hereby granted without fee,
-provided that the above copyright notice appear in all copies and that
-both that copyright notice and this permission notice appear in
-supporting documentation.  No representations are made about the
-suitability of this software for any purpose.  It is provided "as is"
-without express or implied warranty.
-
-The original code for this mode was written by 
-Roman Podobedov <romka@ut.ee>
-and can be found at http://romka.demonews.com
-
-.SH AUTHOR
-Roman Podobedov <romka@ut.ee> 
-Eric Lassauge <lassauge@users.sourceforge.net>
diff --git a/hacks/glx/blinkbox.man b/hacks/glx/blinkbox.man
deleted file mode 100644 (file)
index 0dc2a3f..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-.TH XScreenSaver 1 "" "X Version 11"
-.SH NAME
-blinkbox \- shows a ball inside a box.
-.SH SYNOPSIS
-.B blinkbox
-[\-display \fIhost:display.screen\fP]
-[\-visual \fIvisual\fP]
-[\-window]
-[\-root]
-[\-delay \fInumber\fP]
-[\-wireframe]
-[\-boxsize \fInumber\fP]
-[\-dissolve]
-[\-fade]
-[\-no\-blur]
-[\-fps]
-.SH DESCRIPTION
-Shows a ball contained inside of a bounding box. Colored blocks blink in
-when the ball hits the edges.
-.SH OPTIONS
-.TP 8
-.B \-visual \fIvisual\fP
-Specify which visual to use.  Legal values are the name of a visual class,
-or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-delay \fInumber\fP
-Per-frame delay, in microseconds.  Default: 30000 (0.03 seconds.).
-.TP 8
-.B \-wireframe | \-no-wireframe
-Render in wireframe instead of solid.
-.TP 8
-.B \-boxsize 
-Sets the size of the colored boxes. Should be between 1 and 8. Default: 2 
-.TP 8
-.B \-dissolve | \-no-dissolve
-Boxes shrink instead of just vanishing.
-.TP 8
-.B \-fade | \-no-fade
-Boxes fade to transparency instead of just vanishing.
-.TP 8
-.B \-blur | \-no-blur
-Enable or disable motion blur on the ball.  Default: blurry.
-.TP 8
-.B \-fps
-Display the current frame rate, CPU load, and polygon count.
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH SEE ALSO
-.BR X (1),
-.BR xscreensaver (1)
-.SH COPYRIGHT
-Copyright \(co 2003 by Jeremy English.  Permission to use, copy, modify, 
-distribute, and sell this software and its documentation for any purpose is 
-hereby granted without fee, provided that the above copyright notice appear 
-in all copies and that both that copyright notice and this permission notice
-appear in supporting documentation.  No representations are made about the 
-suitability of this software for any purpose.  It is provided "as is" without
-express or implied warranty.
-.SH AUTHOR
-Jeremy English.  Motion blur by John Boero.
diff --git a/hacks/glx/blocktube.man b/hacks/glx/blocktube.man
deleted file mode 100644 (file)
index 5d016e0..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-.TH XScreenSaver 1 "" "X Version 11"
-.SH NAME
-blocktube - draws a swirling, falling tunnel of reflective slabs
-.SH SYNOPSIS
-.B blocktube
-[\-display \fIhost:display.screen\fP]
-[\-visual \fIvisual\fP]
-[\-window]
-[\-root]
-[\-delay \fInumber\fP]
-[\-holdtime \fInumber\fP]
-[\-changetime \fInumber\fP]
-[\-no-texture]
-[\-no-fog]
-[\-wireframe]
-[\-fps]
-.SH DESCRIPTION
-Blocktube draws a swirling, falling tunnel of reflective slabs. They fade 
-from hue to hue.
-.SH OPTIONS
-.TP 8
-.B \-visual \fIvisual\fP
-Specify which visual to use.  Legal values are the name of a visual class,
-or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-delay \fInumber\fP
-Per-frame delay, in microseconds.  Default: 40000 (0.04 seconds.).
-.TP 8
-.B \-holdtime \fInumber\fP
-How long to stay on the same color.  Default: 1000 frames.
-.TP 8
-.B \-changetime \fInumber\fP
-How long it takes to fade to a new color.  Default: 200 frames.
-.TP 8
-.B \-no-texture
-Draw solid blocks intstead of reflective blocks.
-.TP 8
-.B \-no-fog
-Do not make blocks in the distance be darker.
-.TP 8
-.B \-wireframe
-Only draw outlines.
-.TP 8
-.B \-fps
-Display the current frame rate, CPU load, and polygon count.
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH SEE ALSO
-.BR X (1),
-.BR xscreensaver (1)
-.SH COPYRIGHT
-Copyright \(co 2003 by Lars Damerow.  Permission to use, copy, modify, 
-distribute, and sell this software and its documentation for any purpose is 
-hereby granted without fee, provided that the above copyright notice appear 
-in all copies and that both that copyright notice and this permission notice
-appear in supporting documentation.  No representations are made about the 
-suitability of this software for any purpose.  It is provided "as is" without
-express or implied warranty.
-.SH AUTHOR
-Lars Damerow <lars@oddment.org>
diff --git a/hacks/glx/boing.man b/hacks/glx/boing.man
deleted file mode 100644 (file)
index 1f00d72..0000000
+++ /dev/null
@@ -1,105 +0,0 @@
-.TH XScreenSaver 1 "30-Oct-99" "X Version 11"
-.SH NAME
-boing - draws a bouncing ball like the ancient Amiga demo
-.SH SYNOPSIS
-.B boing
-[\-display \fIhost:display.screen\fP] [\-window] [\-root] [\-install]
-[\-visual \fIvisual\fP] 
-[\-delay \fIusecs\fP] 
-[\-smooth]
-[\-lighting]
-[\-scanlines]
-[\-speed]
-[\-no\-spin]
-[\-angle \fIdegrees\fP]
-[\-size \fIratio\fP]
-[\-parallels \fIn\fP]
-[\-meridians \fIn\fP]
-[\-wireframe]
-[\-fps]
-.SH DESCRIPTION
-The \fIboing\fP program draws a bouncing checkered ball on a grid.
-
-This is a clone of the first graphics demo for the Amiga 1000, which
-was written by Dale Luck and RJ Mical during a break at the 1984
-Consumer Electronics Show (or so the legend goes.)  The boing ball was
-briefly the official logo of Amiga Inc., until they were bought by
-Commodore later that year.
-
-With no arguments, this program looks a lot like the original Amiga
-demo. With "-smooth -lighting", it looks... less old.
-.SH OPTIONS
-.I boing
-accepts the following options:
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-install
-Install a private colormap for the window.
-.TP 8
-.B \-visual \fIvisual\fP\fP
-Specify which visual to use.  Legal values are the name of a visual class,
-or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-delay \fIusecs\fP
-The delay between frames of the animation, in microseconds: default 15000.
-.TP 8
-.B \-smooth
-Draw a smooth sphere instead of a faceted polyhedron.
-.TP 8
-.B \-lighting
-Do shaded lighting instead of flat colors.
-.TP 8
-.B \-scanlines
-If the window is large enough, draw horizontal lines to simulate the
-scanlines on a low resolution monitor.
-.TP 8
-.B \-speed \fIratio\fP
-Change the animation speed; 0.5 to go half as fast, 2.0 to go twice as fast.
-.TP 8
-.B \-no\-spin
-Don't rotate the ball.
-.TP 8
-.B \-angle \fIdegrees\fP
-The jaunty angle at which the ball sits.  Default 15 degrees.
-.TP 8
-.B \-size \fIratio\fP
-How big the ball is; default 0.5 meaning about half the size of the window.
-.TP 8
-.B \-parallels \fIn\fP
-.B \-meridians \fIn\fP
-The pattern of rectangles on the ball.  Default 8x16.
-.TP 8
-.B \-wireframe
-Look crummy.
-.TP 8
-.B \-fps
-Display the current frame rate, CPU load, and polygon count.
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH SEE ALSO
-.BR bsod (MANSUFFIX),
-.BR pong (MANSUFFIX),
-.BR xscreensaver (1),
-.BR X (1)
-.SH COPYRIGHT
-Copyright \(co 2005 by Jamie Zawinski.  Permission to use, copy, modify, 
-distribute, and sell this software and its documentation for any purpose is 
-hereby granted without fee, provided that the above copyright notice appear 
-in all copies and that both that copyright notice and this permission notice
-appear in supporting documentation.  No representations are made about the 
-suitability of this software for any purpose.  It is provided "as is" without
-express or implied warranty.
-.SH AUTHOR
-Jamie Zawinski <jwz@jwz.org>, 19-Feb-2005.
diff --git a/hacks/glx/bouncingcow.man b/hacks/glx/bouncingcow.man
deleted file mode 100644 (file)
index 516d1de..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-.TH XScreenSaver 1 "" "X Version 11"
-.SH NAME
-bouncingcow - a happy cow on a trampoline in 3D.  Moo.
-.SH SYNOPSIS
-.B bouncingcow
-[\-display \fIhost:display.screen\fP]
-[\-visual \fIvisual\fP]
-[\-window]
-[\-root]
-[\-delay \fInumber\fP]
-[\-speed \fInumber\fP]
-[\-count \fInumber\fP]
-[\-texture \fIfilename\fP]
-[\-wireframe]
-[\-fps]
-.SH DESCRIPTION
-It's very silly.
-.SH OPTIONS
-.TP 8
-.B \-visual \fIvisual\fP
-Specify which visual to use.  Legal values are the name of a visual class,
-or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-delay \fInumber\fP
-Per-frame delay, in microseconds.  Default: 30000 (0.03 seconds.).
-.TP 8
-.B \-speed \fInumber\fP
-How fast the cow bounces.  Larger for faster.  Default: 1.0.
-.TP 8
-.B \-count \fInumber\fP
-How many cows!  Default 1.
-.TP 8
-.B \-texture \fIfilename\fP
-An image file to paint on the cow's hide.
-
-Note that on most systems, GL textures must have dimensions that are a
-power of two.
-.TP 8
-.B \-wireframe
-Render in wireframe instead of solid.
-.TP 8
-.B \-fps
-Display the current frame rate, CPU load, and polygon count.
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH SEE ALSO
-.BR X (1),
-.BR xscreensaver (1)
-.SH COPYRIGHT
-Copyright \(co 2003 by Jamie Zawinski.  Moo.  Permission to use, copy,
-modify, distribute, and sell this software and its documentation for
-any purpose is hereby granted without fee, provided that the above
-copyright notice appear in all copies and that both that copyright
-notice and this permission notice appear in supporting documentation.
-Moo.  No representations are made about the suitability of this
-software for any purpose.  It is provided "as is" without express or
-implied warranty.  Moo.
-.SH AUTHOR
-Jamie Zawinski <jwz@jwz.org>
-
diff --git a/hacks/glx/boxed.man b/hacks/glx/boxed.man
deleted file mode 100644 (file)
index 4233446..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-.TH XScreenSaver 1 "" "X Version 11"
-.SH NAME
-boxed - draws a box full of 3D bouncing balls that explode.
-.SH SYNOPSIS
-.B boxed
-[\-display \fIhost:display.screen\fP]
-[\-visual \fIvisual\fP]
-[\-window]
-[\-root]
-[\-delay \fInumber\fP]
-[\-wireframe]
-[\-fps]
-.SH DESCRIPTION
-Draws a box full of 3D bouncing balls that explode.
-.SH OPTIONS
-.TP 8
-.B \-visual \fIvisual\fP
-Specify which visual to use.  Legal values are the name of a visual class,
-or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-delay \fInumber\fP
-Per-frame delay, in microseconds.  Default: 20000 (0.02 seconds.).
-.TP 8
-.B \-wireframe
-Render in wireframe instead of solid.
-.TP 8
-.B \-fps
-Display the current frame rate, CPU load, and polygon count.
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH SEE ALSO
-.BR X (1),
-.BR xscreensaver (1)
-.SH COPYRIGHT
-Copyright \(co 2002 by Sander van Grieken.  Permission to use, copy, modify, 
-distribute, and sell this software and its documentation for any purpose is 
-hereby granted without fee, provided that the above copyright notice appear 
-in all copies and that both that copyright notice and this permission notice
-appear in supporting documentation.  No representations are made about the 
-suitability of this software for any purpose.  It is provided "as is" without
-express or implied warranty.
-.SH AUTHOR
-Sander van Grieken.
diff --git a/hacks/glx/bubble3d.man b/hacks/glx/bubble3d.man
deleted file mode 100644 (file)
index f847e12..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-.TH XScreenSaver 1 "" "X Version 11"
-.SH NAME
-bubble3d - 3d rising bubbles.
-.SH SYNOPSIS
-.B bubble3d
-[\-display \fIhost:display.screen\fP]
-[\-visual \fIvisual\fP]
-[\-window]
-[\-root]
-[\-delay \fInumber\fP]
-[\-transparent]
-[\-color \fIcolor\fP]
-[\-fps]
-.SH DESCRIPTION
-Draws a stream of rising, undulating 3D bubbles, rising toward the top of
-the screen, with nice specular reflections.
-.SH OPTIONS
-.TP 8
-.B \-visual \fIvisual\fP
-Specify which visual to use.  Legal values are the name of a visual class,
-or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-transparent
-Draw transparent bubbles instead of solid ones.
-.TP 8
-.B \-color \fIcolor\fP
-Draw bubbles of the specified color.  "Random" means a different color
-for each bubble.
-.TP 8
-.B \-delay \fInumber\fP
-Per-frame delay, in microseconds.  Default: 15000 (0.015 seconds.).
-.TP 8
-.B \-fps
-Display the current frame rate, CPU load, and polygon count.
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH SEE ALSO
-.BR X (1),
-.BR xscreensaver (1)
-.SH COPYRIGHT
-Copyright \(co 2002 by Richard Jones.  Permission to use, copy, modify, 
-distribute, and sell this software and its documentation for any purpose is 
-hereby granted without fee, provided that the above copyright notice appear 
-in all copies and that both that copyright notice and this permission notice
-appear in supporting documentation.  No representations are made about the 
-suitability of this software for any purpose.  It is provided "as is" without
-express or implied warranty.
-.SH AUTHOR
-Richard Jones.
diff --git a/hacks/glx/cage.man b/hacks/glx/cage.man
deleted file mode 100644 (file)
index dc5595b..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-.TH XScreenSaver 1 "" "X Version 11"
-.SH NAME
-cage - Escher's impossible cage, for xscreensaver.
-.SH SYNOPSIS
-.B cage
-[\-display \fIhost:display.screen\fP]
-[\-visual \fIvisual\fP]
-[\-window]
-[\-root]
-[\-delay \fInumber\fP]
-[\-mono]
-[\-wireframe]
-[\-fps]
-.SH DESCRIPTION
-This draws Escher's "Impossible Cage", a 3d analog of a moebius strip,
-and rotates it in three dimensions.
-.SH OPTIONS
-.TP 8
-.B \-visual \fIvisual\fP
-Specify which visual to use.  Legal values are the name of a visual class,
-or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-delay \fInumber\fP
-Per-frame delay, in microseconds.  Default: 25000 (0.03 seconds.).
-.TP 8
-.B \-mono
-Render solid instead of textured.
-.TP 8
-.B \-wireframe
-Render in wireframe instead of textured.
-.TP 8
-.B \-fps
-Display the current frame rate, CPU load, and polygon count.
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH SEE ALSO
-.BR X (1),
-.BR xscreensaver (1)
-.SH COPYRIGHT
-Copyright \(co 2002 by Marcelo Vianna.  Permission to use, copy, modify, 
-distribute, and sell this software and its documentation for any purpose is 
-hereby granted without fee, provided that the above copyright notice appear 
-in all copies and that both that copyright notice and this permission notice
-appear in supporting documentation.  No representations are made about the 
-suitability of this software for any purpose.  It is provided "as is" without
-express or implied warranty.
-.SH AUTHOR
-Marcelo Vianna.
diff --git a/hacks/glx/carousel.man b/hacks/glx/carousel.man
deleted file mode 100644 (file)
index d5c9e43..0000000
+++ /dev/null
@@ -1,109 +0,0 @@
-.TH XScreenSaver 1 "" "X Version 11"
-.SH NAME
-carousel - displays multiple images rotating in a circular formation
-.SH SYNOPSIS
-.B carousel
-[\-display \fIhost:display.screen\fP]
-[\-visual \fIvisual\fP]
-[\-window]
-[\-root]
-[\-count \fIint\fP]
-[\-zoom | \-no\-zoom]
-[\-tilt \fIXY\fP]
-[\-titles | \-no\-titles]
-[\-font \fIfont\fP]
-[\-speed \fIratio\fP]
-[\-duration \fIseconds\fP]
-[\-fps]
-[\-debug]
-[\-wireframe]
-.SH DESCRIPTION
-Loads several random images, and displays them flying in a circular
-formation.  The circle changes speed and direction randomly, tilts on
-its axis, and the images move in and out.
-
-This program requires a good video card capable of supporting large
-textures.
-
-To specify the directory that images are loaded from, run
-.BR xscreensaver-demo (1)
-and click on the "Advanced" tab.
-.SH OPTIONS
-.TP 8
-.B \-visual \fIvisual\fP
-Specify which visual to use.  Legal values are the name of a visual class,
-or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-count \fIint\fP
-How many images to display.  Default 7.
-.TP 8
-.B \-zoom \fB| \-no\-zoom\fP
-Whether the images should move in and out (toward and away from the
-axis of rotation).  Default true.
-.TP 8
-.B \-tilt \fIXY\fP \fB| \-no\-tilt\fP
-Whether the axis of rotation should tilt, and how.  \fB-tilt X\fP
-means that it will tilt toward and away from the viewer.  
-\fB-tilt Y\fP means that it will tilt to the left and right of the
-screen.  \fB-tilt XY\fP (the default) means it will do both.
-.TP 8
-.B \-titles \fB| \-no\-titles\fP
-Whether to display the file names of the images beneath them.  Default: yes.
-.TP 8
-.B \-font \fIfont-name\fP
-The font to use for titles.  Note that the size of the font affects
-the clarity of the characters, not their size (it is auto-scaled.)
-.TP 8
-.B \-duration \fIseconds\fP
-Every \fIduration\fP seconds, one of the images will be replaced
-with a new one.  Default 20 seconds.
-.TP 8
-.B \-speed \fIratio\fP
-Speed up or slow down the animation.  0.5 means half as fast as the
-default; 2.0 means twice as fast.
-.TP 8
-.B \-delay \fInumber\fP
-Per-frame delay, in microseconds.  Default: 20000 (0.02 seconds.).
-.TP 8
-.B \-fps
-Display the current frame rate, CPU load, and polygon count.
-.TP 8
-.B \-debug
-Prints debugging info to stderr.
-.TP 8
-.B \-wireframe
-Another debug mode.
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH SEE ALSO
-.BR X (1),
-.BR xscreensaver-demo (1)
-.BR xscreensaver-getimage (1)
-.BR xscreensaver (1)
-.BR glslideshow (MANSUFFIX)
-.BR photopile (MANSUFFIX)
-.SH COPYRIGHT
-Copyright \(co 2005 by Jamie Zawinski.
-
-Permission to use, copy, modify, distribute, and sell this software and
-its documentation for any purpose is hereby granted without fee,
-provided that the above copyright notice appear in all copies and that
-both that copyright notice and this permission notice appear in
-supporting documentation.  No representations are made about the
-suitability of this software for any purpose.  It is provided "as is"
-without express or implied warranty.
-.SH AUTHOR
-Jamie Zawinski.
diff --git a/hacks/glx/circuit.man b/hacks/glx/circuit.man
deleted file mode 100644 (file)
index 794f97b..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-.TH XScreenSaver 1 "5-May-2004" "X Version 11"
-.SH NAME
-circuit - animates a number of 3D electronic components.
-.SH SYNOPSIS
-.B circuit
-[\-display \fIhost:display.screen\fP]
-[\-visual \fIvisual\fP]
-[\-window]
-[\-root]
-[\-delay \fInumber\fP]
-[\-parts \fInumber\fP]
-[\-no-spin]
-[\-rotate]
-[\-speed \fInumber\fP]
-[\-no-light]
-[\-fps]
-.SH DESCRIPTION
-Animates a number of 3D electronic components.
-.SH OPTIONS
-.TP 8
-.B \-visual \fIvisual\fP
-Specify which visual to use.  Legal values are the name of a visual class,
-or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-delay \fInumber\fP
-Per-frame delay, in microseconds.  Default: 20000 (0.02 seconds.).
-.TP 8
-.B \-parts \fInumber\fP
-Number of parts.  Default: 10.
-.TP 8
-.B \-spin | \-no-spin
-Whether the objects should spin.
-.TP 8
-.B \-rotate | \-no-rotate
-Whether the scene should spin.
-.TP 8
-.B \-speed \fInumber\fP
-Rotation speed, 0 - 100.  Default: 1.
-.TP 8
-.B \-light | \-no-light
-Whether to us lighting, or flat coloring.
-.TP 8
-.B \-fps
-Display the current frame rate, CPU load, and polygon count.
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH SEE ALSO
-.BR X (1),
-.BR xscreensaver (1)
-.SH COPYRIGHT
-Copyright \(co 2002 by Ben Buxton.  Permission to use, copy, modify, 
-distribute, and sell this software and its documentation for any purpose is 
-hereby granted without fee, provided that the above copyright notice appear 
-in all copies and that both that copyright notice and this permission notice
-appear in supporting documentation.  No representations are made about the 
-suitability of this software for any purpose.  It is provided "as is" without
-express or implied warranty.
-.SH AUTHOR
-Ben Buxton.
diff --git a/hacks/glx/companioncube.man b/hacks/glx/companioncube.man
deleted file mode 100644 (file)
index e15b15e..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-.TH XScreenSaver 1 "" "X Version 11"
-.SH NAME
-companioncube - a vital aparatus.
-.SH SYNOPSIS
-.B companioncube
-[\-display \fIhost:display.screen\fP]
-[\-visual \fIvisual\fP]
-[\-window]
-[\-root]
-[\-delay \fInumber\fP]
-[\-speed \fIratio\fP]
-[\-spin]
-[\-wander]
-[\-count \fInumber\fP]
-[\-wireframe]
-[\-fps]
-.SH DESCRIPTION
-The symptoms most commonly produced by Enrichment Center testing are
-superstition, perceiving inanimate objects as alive, and hallucinations.
-The Enrichment Center reminds you that the weighted companion cube will
-never threaten to stab you and, in fact, cannot speak.  In the event that
-the Weighted Companion Cube does speak, the Enrichment Center urges you to
-disregard its advice.
-.SH OPTIONS
-.TP 8
-.B \-visual \fIvisual\fP
-Specify which visual to use.  Legal values are the name of a visual class,
-or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-delay \fInumber\fP
-Per-frame delay, in microseconds.  Default: 30000 (0.03 seconds.).
-.TP 8
-.B \-speed \fInumber\fP
-How fast the animation should run.
-Less than 1 for slower, greater than 1 for faster.
-.TP 8
-.B \-count \fInumber\fP
-How many cubes.  Default 3.
-.TP 8
-.B \-spin
-.B \-no\-spin
-Instead of bouncing, float and spin.
-.TP 8
-.B \-wander
-.B \-no\-wander
-Instead of bouncing, float and drift.
-.TP 8
-.B \-wireframe
-Render in wireframe instead of solid.
-.TP 8
-.B \-fps
-Display the current frame rate, CPU load, and polygon count.
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH SEE ALSO
-.BR X (1),
-.BR tronbit (1),
-.BR lament (1),
-.BR dangerball (1),
-.BR xscreensaver (1)
-.SH COPYRIGHT
-Copyright \(co 2011 by Jamie Zawinski.  Permission to use, copy,
-modify, distribute, and sell this software and its documentation for
-any purpose is hereby granted without fee, provided that the above
-copyright notice appear in all copies and that both that copyright
-notice and this permission notice appear in supporting documentation.
-No representations are made about the suitability of this software for
-any purpose.  It is provided "as is" without express or implied
-warranty.
-.SH AUTHOR
-Jamie Zawinski, with apologies to the fine folks at Valve Software
-and Aperture Science.
diff --git a/hacks/glx/crackberg.man b/hacks/glx/crackberg.man
deleted file mode 100644 (file)
index 5183baa..0000000
+++ /dev/null
@@ -1,123 +0,0 @@
-.TH XScreenSaver 1 "" "X Version 11"
-.SH NAME
-crackberg - Lose your way wandering some height fields, and enjoy candy.
-.SH SYNOPSIS
-.B crackberg
-[\-root]
-[\-window]
-[\-install]
-[\-display \fIhost:display.screen\fP]
-[\-visual \fIvisual\fP]
-[\-window-id \fIid\fP]
-[\-delay \fIusecs\fP]
-[\-fps]
-[\-crack]
-[\-lit]
-[\-boring]
-[\-letterbox]
-[\-flat]
-[\-wire]
-[\-nowater]
-[\-visibility \fIfloat\fP]
-[\-color \fIstring\fP]
-[\-nsubdivs \fIinteger\fP]
-.SH DESCRIPTION
-Flies through height maps, optionally animating the instantiation and
-destruction of generated tiles; by default, tiles 'grow' into place (height
-gradually increased up to correct value).  In windowed mode the following key
-controls are available:
-.TP 8
-.B left, right
-Turn left and right.
-.TP 8
-.B a,w,s,d
-Move left, forwards, backwards, and to the right, respectively.
-.TP 8
-.B 1,2
-Decrease and increase manual speed, respectively.
-.TP 8
-.B Spacebar
-Return to automatic control.
-.SH OPTIONS
-.I crackberg
-accepts the following options:
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-install
-Install a private colormap for the window.
-.TP 8
-.B \-visual \fIvisual\fP
-Specify which visual to use.  Legal values are the name of a visual
-class, or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-delay \fImicroseconds\fP
-Delay between frames; default 20000 (1/50th of a second).
-.TP 8
-.B \-fps
-Display the current frame rate, CPU load, and polygon count.
-.TP 8
-.B \-crack
-Use all possible methods to animate tile instantiation.
-.TP 8
-.B \-boring
-Do not animate instatiation at all; use this to get standard landscape 
-generator behavior.
-.TP 8
-.B \-letterbox
-Drawable window region has a 16:9 aspect ratio, regardless of actual
-window size.
-.TP 8
-.B \-lit
-Enable lighting.
-.TP 8
-.B \-flat
-Flat shading (OpenGL will use one color per primitive, rather than
-interpolating betwixt vertices).
-.TP 8
-.B \-wire
-Wireframe.
-.TP 8
-.B \-nowater
-Do not display 'water' (forces negative values to zero, and selects a 
-different coloring method).
-.TP 8
-.B \-visibility \fIfloat\fP
-Value in range [0.2,1.0] (default 0.6) specifying proportion of viewable 
-XY plane which is to be drawn upon.
-.TP 8
-.B \-color \fIstring\fP
-Selects color scheme.  Use with no or bogus argument for current list.
-.TP 8
-.B \-nsubdivs \fIinteger\fP
-Number of times to recursively subdivide each triangular tile.  Each 
-increment increases total triangles by a factor of 4; for instance the default
-setting 4 results in 256 triangles per tile.
-
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH SEE ALSO
-.BR X (1),
-.BR xscreensaver (1)
-.SH COPYRIGHT
-Copyright \(co 2005 by Matus Telgarsky.  Permission to use, copy,
-modify, distribute, and sell this software and its documentation for
-any purpose is hereby granted without fee, provided that the above
-copyright notice appear in all copies and that both that copyright
-notice and this permission notice appear in supporting documentation.
-No representations are made about the suitability of this software for
-any purpose.  It is provided "as is" without express or implied
-warranty.
-.SH AUTHOR
-Matus Telgarsky <catachresis@cmu.edu>, 2005.
diff --git a/hacks/glx/cube21.man b/hacks/glx/cube21.man
deleted file mode 100644 (file)
index d90c0fb..0000000
+++ /dev/null
@@ -1,147 +0,0 @@
-.TH XScreenSaver 1 "30-Aug-05" "X Version 11"
-.SH NAME
-cube21 - animates the Cube 21 puzzle
-.SH SYNOPSIS
-.B cube21
-[\-display \fIhost:display.screen\fP]
-[\-visual \fIvisual\fP]
-[\-window]
-[\-root]
-[\-install]
-[\-delay \fImicroseconds\fP]
-[\-texture] [\-no\-texture]
-[\-mono]
-[\-wireframe]
-[\-spin] [\-no\-spin]
-[\-wander] [\-no\-wander]
-[\-randomize] [\-no\-randomize]
-[\-spinspeed \fInumber\fP]
-[\-rotspeed \fInumber\fP]
-[\-wanderspeed \fInumber\fP]
-[\-wait \fInumber\fP]
-[\-cubesize \fInumber\fP]
-[\-colormode \fIarg\fP]
-[\-fps]
-.SH DESCRIPTION
-This program animates a puzzle known as Cube 21 or Square-1.
-Its moves are chosen randomly.
-.P
-Cube 21 is a Rubik-like puzzle invented in 1992.  Its specialities are that
-it can change its shape and even the number of possible moves.  It can have
-more than 200 different shapes and the total number of configurations
-(assuming colors) is several tens of billions.
-.SH OPTIONS
-.I cube21
-accepts the following options:
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-install
-Install a private colormap for the window.
-.TP 8
-.B \-visual \fIvisual\fP\fP
-Specify which visual to use.  Legal values are the name of a visual class,
-or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-delay \fImicroseconds\fP
-How long to pause between frames.  Default is 20000, or 0.02 second.
-.TP 8
-.B \-texture
-Use texture maps.  This is the default.
-.TP 8
-.B \-no\-texture
-Use solid colors.
-.TP 8
-.B \-mono
-Disable both texture maps and colors.
-.TP 8
-.B \-wireframe
-Only draw outlines.  Outlines of all pieces, not only the whole object, are drawn.
-.TP 8
-.B \-spin
-Spin the whole object around X, Y and Z axes.  This is the default.
-.TP 8
-.B \-no\-spin
-Do not spin, showing the same three faces all the time.
-.TP 8
-.B \-wander
-Move the object around the screen.  This is the default.
-.TP 8
-.B \-no\-wander
-Keep the object centered on the screen.
-.TP 8
-.B \-randomize
-Shuffle the puzzle randomly at startup.  This is the default.
-.TP 8
-.B \-no\-randomize
-Do not shuffle at startup, begin at the shape of cube.
-.TP 8
-.B \-spinspeed \fInumber\fP
-The relative speed of spinning.  Default is 1.0.
-.TP 8
-.B \-rotspeed \fInumber\fP
-The relative speed of the moves.  Default is 3.0.  Setting to \(<= 0.0
-makes the object stay at one configuration.
-.TP 8
-.B \-wanderspeed \fInumber\fP
-The relative speed of wandering around the screen.  Default is 1.0.
-.TP 8
-.B \-wait \fInumber\fP
-How long to stay at ending position after each move.  The meaning of
-the argument is again relative.  Default is 40.0.
-.TP 8
-.B \-cubesize \fInumber\fP
-Size of the object.  Value of 3.0 fills roughly all the screen (its height).  Default is 0.7.
-.TP 8
-.B \-colormode \fIargument\fP
-How many and which colors should the object have.  The colors are put on the piece
-faces so that the puzzle is solvable.  The inner faces are not influenced.
-.RS
-.TP 8
-.BR se " or " silver
-Simulate the "Silver Edition" \- white and one random color.
-.TP 8
-.BR 2 " or " two
-Two random colors.
-.TP 8
-.BR ce " or " classic
-Simulate the "Classic Edition" \- white, yellow, orange, red, green and blue.
-.TP 8
-.BR 6 " or " six
-Six random colors.
-.TP 8
-.BR 1 " or " random " or " rnd
-One random color.
-.TP 8
-Anything else
-All faces white.
-.RE
-.TP 8
-.B \-fps
-Display the current frame rate, CPU load, and polygon count.
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH SEE ALSO
-.BR X (1),
-.BR xscreensaver (1)
-.SH COPYRIGHT
-Copyright \(co 2005 by Vaclav Potocek.  Permission to use, copy, modify, 
-distribute, and sell this software and its documentation for any purpose is 
-hereby granted without fee, provided that the above copyright notice appear 
-in all copies and that both that copyright notice and this permission notice
-appear in supporting documentation.  No representations are made about the 
-suitability of this software for any purpose.  It is provided "as is" without
-express or implied warranty.
-.SH AUTHOR
-Vaclav (Vasek) Potocek <vasek.potocek@post.cz>, 30-Aug-05.
diff --git a/hacks/glx/cubenetic.man b/hacks/glx/cubenetic.man
deleted file mode 100644 (file)
index e11d479..0000000
+++ /dev/null
@@ -1,89 +0,0 @@
-.TH XScreenSaver 1 "" "X Version 11"
-.SH NAME
-cubenetic - cubist 3D undulating blob.
-.SH SYNOPSIS
-.B cubenetic
-[\-display \fIhost:display.screen\fP]
-[\-visual \fIvisual\fP]
-[\-window]
-[\-root]
-[\-delay \fInumber\fP]
-[\-count \fInumber\fP]
-[\-no-wander]
-[\-no-spin]
-[\-spin \fI[XYZ]\fP]
-[\-wireframe]
-[\-no-texture]
-[\-wave-speed \fInumber\fP]
-[\-wave-radius \fInumber\fP]
-[\-waves \fInumber\fP]
-[\-fps]
-.SH DESCRIPTION
-Draws a pulsating set of overlapping boxes with ever-chaning blobby
-patterns undulating across their surfaces.
-.SH OPTIONS
-.TP 8
-.B \-visual \fIvisual\fP
-Specify which visual to use.  Legal values are the name of a visual class,
-or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-delay \fInumber\fP
-Per-frame delay, in microseconds.  Default: 20000 (0.02 seconds.).
-.TP 8
-.B \-count \fInumber\fP
-How many boxes make up the object.  Default: 5.
-.TP 8
-.B \-wander | \-no-wander
-Whether the object should wander around the screen.
-.TP 8
-.B \-spin \fI[XYZ]\fP
-Around which axes should the object spin?
-.TP 8
-.B \-no-spin
-Don't spin.
-.TP 8
-.B \-wireframe
-Render in wireframe instead of solid.
-.TP 8
-.B \-texture | \-no-texture
-Display Solid Colors.
-.TP 8
-.B \-wave-speed \fInumber\fP
-Surface Pattern Speed. 5 - 150.  Default: 80.
-.TP 8
-.B \-wave-radius \fInumber\fP
-Surface Pattern Overlap.  5 - 600.  Default: 512.
-.TP 8
-.B \-waves \fInumber\fP
-Surface Pattern Complexity.  1 - 20.  Default: 3.
-.TP 8
-.B \-fps
-Display the current frame rate, CPU load, and polygon count.
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH SEE ALSO
-.BR X (1),
-.BR xscreensaver (1)
-.SH COPYRIGHT
-Copyright \(co 2002 by Jamie Zawinski.  Permission to use, copy, modify, 
-distribute, and sell this software and its documentation for any purpose is 
-hereby granted without fee, provided that the above copyright notice appear 
-in all copies and that both that copyright notice and this permission notice
-appear in supporting documentation.  No representations are made about the 
-suitability of this software for any purpose.  It is provided "as is" without
-express or implied warranty.
-.SH AUTHOR
-Jamie Zawinski.
diff --git a/hacks/glx/cubestorm.man b/hacks/glx/cubestorm.man
deleted file mode 100644 (file)
index 9d912fd..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-.TH XScreenSaver 1 "" "X Version 11"
-.SH NAME
-cubestorm - a series of 3D boxes that fill space
-.SH SYNOPSIS
-.B cubestorm
-[\-display \fIhost:display.screen\fP]
-[\-visual \fIvisual\fP]
-[\-window]
-[\-root]
-[\-delay \fInumber\fP]
-[\-speed \fIfloat\fP]
-[\-count \fIint\fP]
-[\-thickness \fIfloat\fP]
-[\-no-wander]
-[\-no-spin]
-[\-wireframe]
-[\-fps]
-.SH DESCRIPTION
-Draws a series of rotating 3D boxes that intersect each other and
-eventually fill space.
-.SH OPTIONS
-.TP 8
-.B \-visual \fIvisual\fP
-Specify which visual to use.  Legal values are the name of a visual class,
-or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-delay \fInumber\fP
-Per-frame delay, in microseconds.  Default: 30000 (0.03 seconds.).
-.TP 8
-.B \-speed \fInumber\fP
-Larger numbers mean run faster.  Default: 1.0.
-.TP 8
-.B \-count \fInumber\fP
-Number of cubes.  Default 4.
-.TP 8
-.B \-thickness \fIfloat\fP
-How thick the struts making up the cubes should be (0.0-1.0).  Default 0.06.
-.TP 8
-.B \-wander | \-no-wander
-Whether the cubes should wander around the screen.
-.TP 8
-.B \-spin | \-no-spin
-Whether the cubes should spin.
-.TP 8
-.B \-wireframe | \-no-wireframe
-Render in wireframe instead of solid.
-.TP 8
-.B \-fps
-Display the current frame rate, CPU load, and polygon count.
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH SEE ALSO
-.BR X (1),
-.BR xscreensaver (1)
-.SH COPYRIGHT
-Copyright \(co 2003 by Jamie Zawinski.  Permission to use, copy, modify, 
-distribute, and sell this software and its documentation for any purpose is 
-hereby granted without fee, provided that the above copyright notice appear 
-in all copies and that both that copyright notice and this permission notice
-appear in supporting documentation.  No representations are made about the 
-suitability of this software for any purpose.  It is provided "as is" without
-express or implied warranty.
-.SH AUTHOR
-Jamie Zawinski.
diff --git a/hacks/glx/cubicgrid.man b/hacks/glx/cubicgrid.man
deleted file mode 100644 (file)
index d267bc3..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-.TH XScreenSaver 1 "Dec-28-07" "X Version 11"
-.SH NAME
-cubicgrid - rotating 3D lattice seen from inside
-.SH SYNOPSIS
-.B cubicgrid
-[\-display \fIhost:display.screen\fP]
-[\-visual \fIvisual\fP]
-[\-window]
-[\-root]
-[\-install]
-[\-delay \fImicroseconds\fP]
-[\-mono]
-[\-speed \fInumber\fP]
-[\-zoom \fInumber\fP]
-[\-ticks \fInumber\fP]
-[\-bigdots]
-[\-fps]
-.SH DESCRIPTION
-This program shows the view of an observer located inside a set of points 
-arranged to a 3D lattice.  As the lattice rotates, various view-throughs appear 
-and evolve.  A simple idea with interesting results.
-.SH OPTIONS
-.I cubicgrid
-accepts the following options:
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-install
-Install a private colormap for the window.
-.TP 8
-.B \-visual \fIvisual\fP\fP
-Specify which visual to use.  Legal values are the name of a visual class,
-or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-delay \fImicroseconds\fP
-How long to pause between frames.  Default is 20000, or 0.02 second.
-.TP 8
-.B \-mono
-Draw in black and white.  If not used, a fixed all-color scheme is chosen.
-.TP 8
-.B \-speed \fInumber\fP
-The maximum speed of the rotation.  The actual speed and axis change smoothly 
-for better effect.  0.5 - 10.  The default is 1.0.
-.TP 8
-.B \-zoom \fInumber\fP
-Size of the lattice.  Ideally it should fill all the screen, but one may find 
-other values also interesting.  5 - 50.  The default of 20 should do for common 
-screen aspect ratios.
-.TP 8
-.B \-ticks \fInumber\fP
-The count of points drawn along every axis.  10 - 100.  The default is 30.
-.TP 8
-.B \-bigdots
-Draw the points twice as big.
-.TP 8
-.B \-fps
-Display the current frame rate, CPU load, and polygon count.
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH SEE ALSO
-.BR X (1),
-.BR xscreensaver (1)
-.SH COPYRIGHT
-Copyright \(co 2007 by Vasek Potocek.  Permission to use, copy, modify, 
-distribute, and sell this software and its documentation for any purpose is 
-hereby granted without fee, provided that the above copyright notice appear in 
-all copies and that both that copyright notice and this permission notice
-appear in supporting documentation.  No representations are made about the 
-suitability of this software for any purpose.  It is provided "as is" without
-express or implied warranty.
-.SH AUTHOR
-Vasek Potocek <vasek.potocek@post.cz>, Dec-28-07.
diff --git a/hacks/glx/dangerball.man b/hacks/glx/dangerball.man
deleted file mode 100644 (file)
index 3e33f82..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-.TH XScreenSaver 1 "" "X Version 11"
-.SH NAME
-dangerball - a 3D ball that periodically extrudes spikes. Ouch!
-.SH SYNOPSIS
-.B dangerball
-[\-display \fIhost:display.screen\fP]
-[\-visual \fIvisual\fP]
-[\-window]
-[\-root]
-[\-delay \fInumber\fP]
-[\-speed \fInumber\fP]
-[\-count \fInumber\fP]
-[\-no-wander]
-[\-no-spin]
-[\-wireframe]
-[\-fps]
-.SH DESCRIPTION
-Draws a ball that periodically extrudes many random spikes. Ouch!
-.SH OPTIONS
-.TP 8
-.B \-visual \fIvisual\fP
-Specify which visual to use.  Legal values are the name of a visual class,
-or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-delay \fInumber\fP
-Per-frame delay, in microseconds.  Default: 30000 (0.03 seconds.).
-.TP 8
-.B \-speed \fInumber\fP
-Spike growth frequency.  0.0 - 0.25.  Default: 0.05.
-.TP 8
-.B \-count \fInumber\fP
-Number o spikes.  Default: 30.
-.TP 8
-.B \-wander | \-no-wander
-Whether the object should wander around the screen.
-.TP 8
-.B \-spin | \-no-spin
-Whether the object should spin.
-.TP 8
-.B \-wireframe | \-no-wireframe
-Render in wireframe instead of solid.
-.TP 8
-.B \-fps
-Display the current frame rate, CPU load, and polygon count.
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH SEE ALSO
-.BR X (1),
-.BR xscreensaver (1)
-.SH COPYRIGHT
-Copyright \(co 2002 by Jamie Zawinski.  Permission to use, copy, modify, 
-distribute, and sell this software and its documentation for any purpose is 
-hereby granted without fee, provided that the above copyright notice appear 
-in all copies and that both that copyright notice and this permission notice
-appear in supporting documentation.  No representations are made about the 
-suitability of this software for any purpose.  It is provided "as is" without
-express or implied warranty.
-.SH AUTHOR
-Jamie Zawinski.
index d6c5514830875f26af237260d669a24737e0b35c..075fb55877e9ad3c5e7c2e6fc2a23f4f1a765aee 100644 (file)
@@ -55,6 +55,9 @@
 #undef countof
 #define countof(x) (sizeof((x))/sizeof((*x)))
 
 #undef countof
 #define countof(x) (sizeof((x))/sizeof((*x)))
 
+#undef LINEAR
+#undef DXF_OUTPUT_HACK
+
 #ifdef DXF_OUTPUT_HACK   /* When this is defined, instead of rendering
                             to the screen, we write a DXF CAD file to stdout.
                             This is a kludge of shocking magnitude...
 #ifdef DXF_OUTPUT_HACK   /* When this is defined, instead of rendering
                             to the screen, we write a DXF CAD file to stdout.
                             This is a kludge of shocking magnitude...
@@ -2239,6 +2242,28 @@ draw_logo (ModeInfo *mi)
   tick_spinner (mi, &dc->frame_spinner);
   link_spinners (mi, &dc->scene_spinnerx, &dc->scene_spinnery);
 
   tick_spinner (mi, &dc->frame_spinner);
   link_spinners (mi, &dc->scene_spinnerx, &dc->scene_spinnery);
 
+# ifdef LINEAR
+  {
+    static double i = 0.0;
+    dc->anim_state = HELIX;
+    dc->wire_overlay = 0;
+    dc->gasket_spinnerx.spinning_p = 0;
+    dc->gasket_spinnery.spinning_p = 0;
+    dc->gasket_spinnerz.spinning_p = 0;
+    dc->helix_spinnerz.spinning_p = 0;
+    dc->pizza_spinnery.spinning_p = 0;
+    dc->pizza_spinnerz.spinning_p = 0;
+    dc->scene_spinnerx.spinning_p = 0;
+    dc->scene_spinnery.spinning_p = 0;
+    dc->frame_spinner.spinning_p = 0;
+    dc->frame_spinner.position = 0.3;
+    dc->gasket_spinnerz.position = i;
+    dc->helix_spinnerz.position = i;
+    i += 0.005;
+    if (i > 1) i = 0;
+  }
+# endif /* LINEAR */
+
   switch (dc->anim_state)
     {
     case HELIX:
   switch (dc->anim_state)
     {
     case HELIX:
@@ -2303,9 +2328,11 @@ draw_logo (ModeInfo *mi)
   glPushMatrix ();
   glRotatef(current_device_rotation(), 0, 0, 1);
   {
   glPushMatrix ();
   glRotatef(current_device_rotation(), 0, 0, 1);
   {
-    GLfloat scale = 0;
-    glScalef(3, 3, 3);
-    glScalef (0.6, 0.6, 0.6);
+    GLfloat scale = 1.8;
+# ifdef LINEAR
+    scale = 3.85;
+# endif
+    glScalef(scale, scale, scale);
 
     glColor3f(dc->color[0], dc->color[1], dc->color[2]);
 
 
     glColor3f(dc->color[0], dc->color[1], dc->color[2]);
 
@@ -2350,14 +2377,20 @@ draw_logo (ModeInfo *mi)
     glRotatef(90, 1, 0, 0);
     glRotatef(90, 0, 0, 1);
 
     glRotatef(90, 1, 0, 0);
     glRotatef(90, 0, 0, 1);
 
-    glRotatef (360 * sin (M_PI/2 * dc->scene_spinnerx.position), 0, 1, 0);
-    glRotatef (360 * sin (M_PI/2 * dc->scene_spinnery.position), 0, 0, 1);
+# ifdef LINEAR
+#  define SINIFY(I) (I)
+# else
+#  define SINIFY(I) sin (M_PI/2 * (I))
+# endif
+
+    glRotatef (360 * SINIFY (dc->scene_spinnerx.position), 0, 1, 0);
+    glRotatef (360 * SINIFY (dc->scene_spinnery.position), 0, 0, 1);
 
     glPushMatrix();
     {
 
     glPushMatrix();
     {
-      glRotatef (360 * sin (M_PI/2 * dc->gasket_spinnerx.position), 0, 1, 0);
-      glRotatef (360 * sin (M_PI/2 * dc->gasket_spinnery.position), 0, 0, 1);
-      glRotatef (360 * sin (M_PI/2 * dc->gasket_spinnerz.position), 1, 0, 0);
+      glRotatef (360 * SINIFY (dc->gasket_spinnerx.position), 0, 1, 0);
+      glRotatef (360 * SINIFY (dc->gasket_spinnery.position), 0, 0, 1);
+      glRotatef (360 * SINIFY (dc->gasket_spinnerz.position), 1, 0, 0);
 
       memcpy (gcolor, dc->color, sizeof (dc->color));
       if (dc->wire_overlay != 0)
 
       memcpy (gcolor, dc->color, sizeof (dc->color));
       if (dc->wire_overlay != 0)
@@ -2396,12 +2429,12 @@ draw_logo (ModeInfo *mi)
 
     if (pizza_p)
       {
 
     if (pizza_p)
       {
-        glRotatef (360 * sin (M_PI/2 * dc->pizza_spinnery.position), 1, 0, 0);
-        glRotatef (360 * sin (M_PI/2 * dc->pizza_spinnerz.position), 0, 0, 1);
+        glRotatef (360 * SINIFY (dc->pizza_spinnery.position), 1, 0, 0);
+        glRotatef (360 * SINIFY (dc->pizza_spinnerz.position), 0, 0, 1);
       }
     else
       {
       }
     else
       {
-        glRotatef (360 * sin (M_PI/2 * dc->helix_spinnerz.position), 0, 0, 1);
+        glRotatef (360 * SINIFY (dc->helix_spinnerz.position), 0, 0, 1);
       }
 
     scale = ((dc->anim_state == PIZZA_IN || dc->anim_state == HELIX_IN)
       }
 
     scale = ((dc->anim_state == PIZZA_IN || dc->anim_state == HELIX_IN)
diff --git a/hacks/glx/endgame.man b/hacks/glx/endgame.man
deleted file mode 100644 (file)
index 93ca5c3..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-.TH XScreenSaver 1 "5-May-2004"
-.SH NAME
-endgame \- endgame chess screensaver
-.SH SYNOPSIS
-.B endgame
-[\-display \fIhost:display.screen\fP]
-[\-window]
-[\-root]
-[\-install]
-[\-visual \fIvisual\fP]
-[\-delay \fImicroseconds\fP]
-[\-wireframe]
-[\-fps]
-.SH DESCRIPTION
-endgame replays a brilliant chess ending
-.SH OPTIONS
-.I endgame
-accepts the following options:
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-install
-Install a private colormap for the window.
-.TP 8
-.B \-shadows
-Project pieces against the board with dark blend.
-.TP 8
-.B \-reflections
-Reflect pieces in light board squares.
-.TP 8
-.B \-classic
-Use the original low-polygon piece models.
-.TP 8
-.B \-visual \fIvisual\fP\fP
-Specify which visual to use.  Legal values are the name of a visual class,
-or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-wireframe
-Render in wireframe instead of solid.
-.B \-fps
-Display the current frame rate, CPU load, and polygon count.
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH BUGS
-It's not unknown for this and other OpenGL hacks to fail under hardware accelaration (UtahGLX) and take the X server with them.  Texture images must be 16x16 or 32x32 or 64x64 etc.
-.SH SEE ALSO
-.BR X (1),
-.BR xscreensaver (1)
-.BR xscreensaver\-demo (1),
-.BR xscreensaver\-getimage (1)
-.SH COPYRIGHT
-Copyright \(co 2002 by Blair Tennessy.  Permission to use, copy, modify,
-distribute, and sell this software and its documentation for any purpose is
-hereby granted without fee, provided that the above copyright notice appear
-in all copies and that both that copyright notice and this permission notice
-appear in supporting documentation.  No representations are made about the
-suitability of this software for any purpose.  It is provided "as is" without
-express or implied warranty.
-.SH AUTHOR
-Blair Tennessy <tennessb@unbc.ca>, 20-April-2002.
diff --git a/hacks/glx/engine.man b/hacks/glx/engine.man
deleted file mode 100644 (file)
index af794e5..0000000
+++ /dev/null
@@ -1,80 +0,0 @@
-.TH XScreenSaver 1 "" "X Version 11"
-.SH NAME
-engine - draws a 3D four-stroke engine.
-.SH SYNOPSIS
-.B engine
-[\-display \fIhost:display.screen\fP]
-[\-visual \fIvisual\fP]
-[\-window]
-[\-root]
-[\-engine \fIname\fP]
-[\-delay \fInumber\fP]
-[\-no-move]
-[\-no-spin]
-[\-no-title]
-[\-fps]
-.SH DESCRIPTION
-Draws a simple four-stroke engine that floats around the screen.
-.SH OPTIONS
-.TP 8
-.B \-visual \fIvisual\fP
-Specify which visual to use.  Legal values are the name of a visual class,
-or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-engine \fIname\fP
-What kind of engine to draw.  Default: random.
-Known models are:
-"Honda Insight" (3),
-"BMW M3" (4),
-"VW Beetle" (flat 4),
-"Audi Quattro" (5),
-"BMW M5" (6),
-"Subaru XT" (V6),
-"Porsche 911" (flat 6),
-"Corvette Z06" (V8),
-"Dodge Viper" (V10),
-and
-"Jaguar XKE" (V12).
-.TP 8
-.B \-delay \fInumber\fP
-Per-frame delay, in microseconds.  Default: 10000 (0.01 seconds.).
-.TP 8
-.B \-move | \-no-move
-Whether the object should wander around the screen.
-.TP 8
-.B \-spin | \-no-spin
-Whether the object should spin.
-.TP 8
-.B \-fps
-Display the current frame rate, CPU load, and polygon count.
-.TP 8
-.B \-title | \-no-title
-Whether to display the name of the engine being rendered.
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH SEE ALSO
-.BR X (1),
-.BR xscreensaver (1)
-.SH COPYRIGHT
-Copyright \(co 2002 by Ben Buxton.  Permission to use, copy, modify, 
-distribute, and sell this software and its documentation for any purpose is 
-hereby granted without fee, provided that the above copyright notice appear 
-in all copies and that both that copyright notice and this permission notice
-appear in supporting documentation.  No representations are made about the 
-suitability of this software for any purpose.  It is provided "as is" without
-express or implied warranty.
-.SH AUTHOR
-Ben Buxton.
diff --git a/hacks/glx/extrusion.man b/hacks/glx/extrusion.man
deleted file mode 100644 (file)
index e01d573..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-.TH XScreenSaver 1 "" "X Version 11"
-.SH NAME
-extrusion - various rotating extruded shapes.
-.SH SYNOPSIS
-.B extrusion
-[\-display \fIhost:display.screen\fP]
-[\-visual \fIvisual\fP]
-[\-window]
-[\-root]
-[\-delay \fInumber\fP]
-[\-name \fIwhich\fP]
-[\-no-light]
-[\-wireframe]
-[\-fps]
-.SH DESCRIPTION
-Draws various rotating extruded shapes that twist around, lengthen, and
-turn inside out.
-.SH OPTIONS
-.TP 8
-.B \-visual \fIvisual\fP
-Specify which visual to use.  Legal values are the name of a visual class,
-or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-delay \fInumber\fP
-Per-frame delay, in microseconds.  Default: 10000 (0.01 seconds.).
-.TP 8
-.B \-name \fIwhich\fP
-Which object to draw.  Choices are: helix2, helix3, helix4, joinoffset,
-screw, taper, and twistoid.
-.TP 8
-.B \-light | \-no-light
-Whether to light the scene, or use flat coloring.
-.TP 8
-.B \-bitmap \fIfile\fP
-The texture map to use.
-.TP 8
-.B \-wireframe
-Render in wireframe instead of solid.
-.TP 8
-.B \-fps
-Display the current frame rate, CPU load, and polygon count.
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH SEE ALSO
-.BR X (1),
-.BR xscreensaver (1)
-.SH COPYRIGHT
-Copyright \(co 2002 by Linas Vepstas and David Konerding.  Permission
-to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided
-that the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.  No representations are made about the suitability of
-this software for any purpose.  It is provided "as is" without express
-or implied warranty.
-.SH AUTHOR
-This screensaver was created by David Konerding from the samples that
-come with the GL Extrusion library by Linas Vepstas.
diff --git a/hacks/glx/flipflop.man b/hacks/glx/flipflop.man
deleted file mode 100644 (file)
index 17691bc..0000000
+++ /dev/null
@@ -1,95 +0,0 @@
-.TH XScreenSaver 1 "" "X Version 11"
-.SH NAME
-flipflop - draws a grid of 3D squares that change positions
-.SH SYNOPSIS
-.B flipflop
-[\-display \fIhost:display.screen\fP]
-[\-visual \fIvisual\fP]
-[\-window]
-[\-count \fInumber\fP | \-free \fInumber\fP]
-[\-size \fInumber\fP]
-[\-size-x \fInumber\fP]
-[\-size-y \fInumber\fP]
-[\-spin \fInumber\fP]
-[\-mode sticks | tiles]
-[\-delay \fInumber\fP]
-[\-wireframe]
-[\-fps]
-[\-texture]
-.SH DESCRIPTION
-Flipflop draws a grid of 3D colored tiles that change positions with 
-each other.
-.SH OPTIONS
-.TP 8
-.B \-visual \fIvisual\fP
-Specify which visual to use.  Legal values are the name of a visual class,
-or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-count \fInumber\fP
-Number of tiles on the board. A value of "0" means "default". The
-default number of tiles depends on the size of the board and the mode:
-95% of total tiles for "tiles" mode and 80% of total sticks for
-"sticks" mode (e.g. 76 tiles or 64 sticks for a 9x9 board). 
-.TP 8
-.B \-free \fInumber\fP
-Number of tiles missing from the board. See -count. 
-.TP 8
-.B \-size \fInumber\fP
-Number of tiles on each side of the board. Takes precedence over
--size-x and -size-y. Default: 9.
-.TP 8
-.B \-size-x \fInumber\fP
-Width (in tiles) of the board. Default: 9.
-.TP 8
-.B \-size-y \fInumber\fP
-Length (in tiles) of the board. Default: 9.
-.TP 8
-.B \-spin \fInumber\fP
-Angular velocity for the rotation of the board. 
-.TP 8
-.B \-mode sticks 
-Draw hopping sticks instead of flipping tiles. 
-.TP 8
-.B \-mode tiles 
-Draw flipping tiles. This is the default. 
-.TP 8
-.B \-delay \fInumber\fP
-Per-frame delay, in microseconds.  Default: 20000 (0.02 seconds.).
-.TP 8
-.B \-fps | \-no\-fps
-Display the current frame rate, CPU load, and polygon count.
-.TP 8
-.B \-wireframe
-Only draw outlines.
-.TP 8
-.B \-texture | \-no\-texture
-Whether to texture the tiles with a screen grab or an image.
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH SEE ALSO
-.BR X (1),
-.BR xscreensaver (1)
-.SH COPYRIGHT
-Copyright \(co 2003 by Kevin Ogden.  Permission to use, copy, modify, 
-distribute, and sell this software and its documentation for any purpose is 
-hereby granted without fee, provided that the above copyright notice appear 
-in all copies and that both that copyright notice and this permission notice
-appear in supporting documentation.  No representations are made about the 
-suitability of this software for any purpose.  It is provided "as is" without
-express or implied warranty.
-.SH AUTHOR
-Kevin Ogden <kogden1@hotmail.com>. Some additional code by Sergio
-Gutierrez <sergut@gmail.com>. 
diff --git a/hacks/glx/flipscreen3d.man b/hacks/glx/flipscreen3d.man
deleted file mode 100644 (file)
index fecd005..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-.TH XScreenSaver 1 "" "X Version 11"
-.SH NAME
-flipscreen3d - rotates an image of the screen through 3 dimensions.
-.SH SYNOPSIS
-.B flipscreen3d
-[\-display \fIhost:display.screen\fP]
-[\-visual \fIvisual\fP]
-[\-window]
-[\-root]
-[\-delay \fInumber\fP]
-[\-no-rotate]
-[\-wireframe]
-[\-fps]
-.SH DESCRIPTION
-Grabs an image of the desktop, turns it into a GL texture map, and spins it
-around and deforms it in various ways.
-.SH OPTIONS
-.TP 8
-.B \-visual \fIvisual\fP
-Specify which visual to use.  Legal values are the name of a visual class,
-or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-delay \fInumber\fP
-Per-frame delay, in microseconds.  Default: 20000 (0.02 seconds.).
-.TP 8
-.B \-rotate | \-no-rotate
-Whether to rotate.
-.TP 8
-.B \-wireframe
-Just render boxes instead of textures (for debugging).
-.TP 8
-.B \-fps
-Display the current frame rate, CPU load, and polygon count.
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH SEE ALSO
-.BR X (1),
-.BR xscreensaver (1)
-.SH COPYRIGHT
-Copyright \(co 2002 by Ben Buxton.  Permission to use, copy, modify, 
-distribute, and sell this software and its documentation for any purpose is 
-hereby granted without fee, provided that the above copyright notice appear 
-in all copies and that both that copyright notice and this permission notice
-appear in supporting documentation.  No representations are made about the 
-suitability of this software for any purpose.  It is provided "as is" without
-express or implied warranty.
-.SH AUTHOR
-Ben Buxton.
diff --git a/hacks/glx/fliptext.man b/hacks/glx/fliptext.man
deleted file mode 100644 (file)
index 8d2915e..0000000
+++ /dev/null
@@ -1,114 +0,0 @@
-.TH XScreenSaver 1 "20-Mar-2005" "X Version 11"
-.SH NAME
-fliptext - draws pages of text whose lines transparently flip around
-.SH SYNOPSIS
-.B fliptext
-[\-display \fIhost:display.screen\fP] [\-window] [\-root]
-[\-visual \fIvisual\fP]
-[\-delay \fImicroseconds\fP]
-[\-program \fIcommand\fP]
-[\-size \fIinteger\fP ]
-[\-columns \fIinteger\fP]
-[\-left | \-center | \-right]
-[\-lines \fIinteger\fP]
-[\-speed \fIfloat\fP]
-[\-delay \fIusecs\fP]
-[\-font \fIxlfd\fP]
-[\-wireframe]
-[\-fps]
-.SH DESCRIPTION
-The \fIfliptext\fP program runs another program to generate a stream of
-text, then animates the lines of that text transparently flipping in
-and out in 3D.
-.SH OPTIONS
-.I fliptext
-accepts the following options:
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-install
-Install a private colormap for the window.
-.TP 8
-.B \-visual \fIvisual\fP\fP
-Specify which visual to use.  Legal values are the name of a visual class,
-or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-program \fIsh-command\fP
-This program will be run periodically, and its output will be the text
-that is displayed.  Default \fIxscreensaver\-text\fP.
-
-You can configure the text printed through the "Advanced" tab of
-.BR xscreensaver\-demo (1),
-or by editing your ~/.xscreensaver file.
-.TP 8
-.B \-size \fIinteger\fP
-How large a font to use, in points.  (Well, in some arbitrary unit 
-we're calling "points" for the sake of argument.)  Default: 20.
-.TP 8
-.B \-columns \fIinteger\fP
-At (approximately) what column to wrap lines.  Default 80.  Wrapping is
-done by pixels, not characters, and lines will always wrap at the
-edge of the screen regardless.
-.TP 8
-.B \-left | \-center | \-right
-Whether to align the text flush left, centered, or flush right.
-The default is to choose randomly each time a new screen of text 
-is displayed.
-.TP 8
-.B \-lines \fIinteger\fP
-How many lines of text should be shown at once.  Default 8.
-.TP 8
-.B \-speed \fIratio\fP
-Change the animation speed; 0.5 to go half as fast, 2.0 to go twice as fast.
-.TP 8
-.B \-delay \fIusecs\fP
-The delay between frames of the animation; default is 10000 (1/10th second.)
-.TP 8
-.B \-font \fIfont-name\fP
-The name of the font to use.  For best effect, this should be a large
-font (at least 36 points.)  The bigger the font, the better looking the
-characters will be.  Note that the size of this font affects only the
-clarity of the characters, not their size on the screen: for that, use
-the \fI\-size\fP or \fI\-columns\fP options.
-
-Default: -*-utopia-bold-r-normal-*-*-720-*-*-*-*-iso8859-1
-.TP 8
-.B \-fps
-Display the current frame rate, CPU load, and polygon count.
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH SEE ALSO
-.BR xscreensaver (1),
-.BR xscreensaver-text (1),
-.BR fortune (1),
-.BR phosphor (MANSUFFIX),
-.BR apple2 (MANSUFFIX),
-.BR fontglide (MANSUFFIX),
-.BR ljlatest (MANSUFFIX),
-.BR dadadodo (1),
-.BR webcollage (MANSUFFIX),
-.BR driftnet (1)
-.BR EtherPEG ,
-.BR EtherPeek
-.SH COPYRIGHT
-Copyright \(co 2005 by Jamie Zawinski.
-Permission to use, copy, modify, distribute, and sell this software and
-its documentation for any purpose is hereby granted without fee,
-provided that the above copyright notice appear in all copies and that
-both that copyright notice and this permission notice appear in
-supporting documentation.  No representations are made about the
-suitability of this software for any purpose.  It is provided "as is"
-without express or implied warranty.
-.SH AUTHOR
-Jamie Zawinski <jwz@jwz.org>
diff --git a/hacks/glx/flurry.man b/hacks/glx/flurry.man
deleted file mode 100644 (file)
index bec54d9..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-.TH XScreenSaver 1 "" "X Version 11"
-.SH NAME
-flurry - a colorful particle system
-.SH SYNOPSIS
-.B flurry
-[\-display \fIhost:display.screen\fP]
-[\-visual \fIvisual\fP]
-[\-window]
-[\-root]
-[\-preset <arg>]
-[\-fps]
-.SH DESCRIPTION
-This is a port of the OSX screensaver flurry.
-.SH OPTIONS
-.TP 8
-.B \-visual \fIvisual\fP
-Specify which visual to use.  Legal values are the name of a visual class,
-or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-preset <arg>
-Select a preset (classic, fire, water, psychedelic, rgb, binary, random, insane)
-
-(Insane will never be selected at random, because it requires lots of CPU/GPU
-power)
-
-.TP 8
-.B \-fps
-Display the current frame rate, CPU load, and polygon count.
-.TP 8
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH AUTHORS
-OSX screensaver by Calum Robinson <calumr@mac.com>
-
-http://homepage.mac.com/calumr
-
-xscreensaver port by Tobias Sargeant <tobias.sargeant@bigpond.com>
-
-.SH POSTCARDS
-
-If you really like it, send me a postcard (after all, you're getting this for
-free!). Please check this address by downloading the latest version of Flurry
-just before you send me a postcard - I may have moved. 
-
-.PD 0
-Calum Robinson
-.P
-133 Sydenham Avenue
-.P
-Belfast
-.P
-Northern Ireland
-.P
-BT4 2DQ
-.PD 0
-
-.SH SEE ALSO
-.BR X (1),
-.BR xscreensaver (1)
-.SH COPYRIGHT
diff --git a/hacks/glx/flyingtoasters.man b/hacks/glx/flyingtoasters.man
deleted file mode 100644 (file)
index dbe5d5a..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-.TH XScreenSaver 1 "" "X Version 11"
-.SH NAME
-flyingtoasters - 3d space-age jet-powered flying toasters (and toast)
-.SH SYNOPSIS
-.B flyingtoasters
-[\-display \fIhost:display.screen\fP]
-[\-visual \fIvisual\fP]
-[\-window]
-[\-root]
-[\-delay \fInumber\fP]
-[\-speed \fInumber\fP]
-[\-ntoasters \fInumber\fP]
-[\-nslices \fInumber\fP]
-[\-no-texture]
-[\-wireframe]
-[\-fps]
-.SH DESCRIPTION
-Draws a squadron of shiny 3D space-age jet-powered flying toasters, and
-associated toast, flying across your screen.
-.SH OPTIONS
-.TP 8
-.B \-visual \fIvisual\fP
-Specify which visual to use.  Legal values are the name of a visual class,
-or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-delay \fInumber\fP
-Per-frame delay, in microseconds.  Default: 30000 (0.03 seconds.).
-.TP 8
-.B \-speed \fInumber\fP
-How fast the toasters fly.  Larger for faster.  Default: 1.0.
-.TP 8
-.B \-ntoasters \fInumber\fP
-How many toasters to draw.  Default 20.
-.TP 8
-.B \-nslices \fInumber\fP
-How many slices of toast to draw.  Default 25.
-.TP 8
-.B \-no-texture
-Turn off texture mapping (for slow machines.)
-.TP 8
-.B \-wireframe
-Render in wireframe instead of solid.
-.TP 8
-.B \-fps
-Display the current frame rate, CPU load, and polygon count.
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH SEE ALSO
-.BR X (1),
-.BR xscreensaver (1)
-.BR After Dark
-.SH COPYRIGHT
-Copyright \(co 2003 by Jamie Zawinski.  Permission to use, copy,
-modify, distribute, and sell this software and its documentation for
-any purpose is hereby granted without fee, provided that the above
-copyright notice appear in all copies and that both that copyright
-notice and this permission notice appear in supporting documentation.
-No representations are made about the suitability of this software for
-any purpose.  It is provided "as is" without express or implied
-warranty.
-
-The original After Dark flying toasters, with the fluffy white wings,
-were a trademark of Berkeley Systems.  Berkeley Systems ceased to exist
-some time in 1998, having been gobbled up by Sierra Online, who were
-subsequently gobbled up by Flipside and/or Vivendi (it's hard to tell
-exactly what happened when.)
-
-I doubt anyone even cares any more, but if they do, hopefully this
-homage, with the space-age 3D jet-plane toasters, will be considered
-different enough that whoever still owns the trademark to the
-fluffy-winged 2D bitmapped toasters won't get all huffy at us.
-.SH AUTHOR
-Code by Jamie Zawinski.  Object models by Baconmonkey.
diff --git a/hacks/glx/gears.man b/hacks/glx/gears.man
deleted file mode 100644 (file)
index a54a6af..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-.TH XScreenSaver 1 "" "X Version 11"
-.SH NAME
-gears - draw interlocking gears, for xscreensaver.
-.SH SYNOPSIS
-.B gears
-[\-display \fIhost:display.screen\fP] [\-window] [\-root] [\-install]
-[\-visual \fIvisual\fP]
-[\-delay \fIusecs\fP] 
-[\-speed \fIfloat\fP] 
-[\-no\-spin]
-[\-no\-wander]
-[-count \fIinteger\fP]
-[-wireframe]
-[-fps]
-.SH DESCRIPTION
-This draws a set of rotating gears.
-.SH OPTIONS
-.I gears
-accepts the following options:
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-install
-Install a private colormap for the window.
-.TP 8
-.B \-visual \fIvisual\fP
-Specify which visual to use.  Legal values are the name of a visual class,
-or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-delay \fIusecs\fP
-The delay between frames of the animation, in microseconds.
-Default: 30000 (0.03 seconds.)
-.TP 8
-.B \-speed \fIfloat\fP
-Larger numbers mean run faster.  Default: 1.0.
-.TP 8
-.B \-no\-spin
-Don't rotate the object.
-.TP 8
-.B \-no\-wander
-Don't wander the object around the screen.
-.TP 8
-.B \-count \fIinteger\fP
-How many gears to draw.  Default: 0 for random.
-.TP 8
-.B \-wireframe
-Render in wireframe instead of solid.
-.TP 8
-.B \-fps
-Display the current frame rate, CPU load, and polygon count.
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH SEE ALSO
-.BR X (1),
-.BR xscreensaver (1)
-.SH COPYRIGHT
-Copyright \(co 2007 by Jamie Zawinski.  Permission to use, copy, modify, 
-distribute, and sell this software and its documentation for any purpose is 
-hereby granted without fee, provided that the above copyright notice appear 
-in all copies and that both that copyright notice and this permission notice
-appear in supporting documentation.  No representations are made about the 
-suitability of this software for any purpose.  It is provided "as is" without
-express or implied warranty.
-.SH AUTHOR
-Jamie Zawinski.
-
-An earlier version of this program by Brian Paul was written in 1997;
-this version was rewritten from scratch by jwz in 2007.
diff --git a/hacks/glx/geodesic.man b/hacks/glx/geodesic.man
deleted file mode 100644 (file)
index 4a408ca..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-.TH XScreenSaver 1 "" "X Version 11"
-.SH NAME
-geodesic - animates a mesh geodesic sphere.
-.SH SYNOPSIS
-.B geodesic
-[\-display \fIhost:display.screen\fP]
-[\-visual \fIvisual\fP]
-[\-window]
-[\-root]
-[\-mode \fImode\fP]
-[\-no-wander]
-[\-no-spin]
-[\-fps]
-[\-delay \fInumber\fP]
-[\-speed \fInumber\fP]
-[\-count \fInumber\fP]
-.SH DESCRIPTION
-Animates a mesh geodesic sphere of increasing and decreasing complexity. A
-geodesic sphere is an icosohedron whose equilateral faces are sub-divided
-into non-equilateral triangles to more closely approximate a sphere.
-
-The animation shows the equilateral triangles subdivided into four
-coplanar equilateral triangles; and then inflated outward, causing the
-sub-triangles to no longer be equilateral, but to more closely
-approximate the surface of a sphere.
-.SH OPTIONS
-.TP 8
-.B \-visual \fIvisual\fP
-Specify which visual to use.  Legal values are the name of a visual class,
-or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-mode mesh | solid | stellated | stellated2 | wire
-Face/edge display style. Default mesh.
-.TP 8
-.B \-wander | \-no-wander
-Whether the object should wander around the screen.
-.TP 8
-.B \-spin | \-no-spin
-Whether the object should spin.
-.TP 8
-.B \-fps | \-no-fps
-Whether to show a frames-per-second display at the bottom of the screen.
-.TP 8
-.B \-delay \fInumber\fP
-Per-frame delay, in microseconds.  Default: 30000 (0.03 seconds).
-.TP 8
-.B \-speed \fInumber\fP
-Animation speed.  2.0 means twice as fast, 0.5 means half as fast.
-.TP 8
-.B \-count \fInumber\fP
-Depth (frequency) of the geodesic sphere.  Default: 4.
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH SEE ALSO
-.BR X (1),
-.BR xscreensaver (1)
-.SH COPYRIGHT
-Copyright \(co 2013 by Jamie Zawinski.  Permission to use, copy, modify, 
-distribute, and sell this software and its documentation for any purpose is 
-hereby granted without fee, provided that the above copyright notice appear 
-in all copies and that both that copyright notice and this permission notice
-appear in supporting documentation.  No representations are made about the 
-suitability of this software for any purpose.  It is provided "as is" without
-express or implied warranty.
-.SH AUTHOR
-Jamie Zawinski.
diff --git a/hacks/glx/gflux.man b/hacks/glx/gflux.man
deleted file mode 100644 (file)
index 654aeb4..0000000
+++ /dev/null
@@ -1,111 +0,0 @@
-.TH XScreenSaver 1 "May 2004"
-.SH NAME
-gflux \- rippling surface graphics hack
-.SH SYNOPSIS
-.B gflux
-[\-display \fIhost:display.screen\fP] [\-window] [\-root] [\-install]
-[\-visual \fIvisual\fP] [\-delay \fImicroseconds\fP]
-[\-squares \fInum\fP] [\-resolution \fInum\fP] [\-mode \fImode\fP]
-[\-flat \fInum\fP] [\-speed \fInum\fP]
-[\-rotationx \fInum\fP] [\-rotationy \fInum\fP] [\-rotationz \fInum\fP]
-[\-waves \fInum\fP] [\-waveChange \fInum\fP] [\-waveHeight \fInum\fP]
-[\-waveFreq \fInum\fP] [\-zoom \fInum\fP]
-[\-wireframe]
-[\-fps]
-.SH DESCRIPTION
-The \fIgflux\fP program draws a colourfull animated rippling square rotating in 3D space.
-.SH OPTIONS
-.I gflux
-accepts the following options:
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-install
-Install a private colormap for the window.
-.TP 8
-.B \-visual \fIvisual\fP\fP
-Specify which visual to use.  Legal values are the name of a visual class,
-or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-squares \fInum\fP\fP
-Specifies the size of the grid in squares. default 19
-.TP 8
-.B \-resolution \fInum\fP\fP
-Specifies the wireframe detail of the squares. default 4
-.TP 8
-.B \-mode \fImode\fP\fP
-Specifies the draw method: wireframe; solid (meaning a solid colored
-surface); light (same as solid, but with lighting effects);
-checker (a texture-mapped checkerboard pattern); or grab (meaning
-grab an image to manipulate.)
-
-When grabbing images, the image will be grabbed from the portion of
-the screen underlying the window, or from the system's video input,
-or from a random file on disk, as indicated by
-the \fIgrabDesktopImages\fP, \fIgrabVideoFrames\fP,
-and \fIchooseRandomImages\fP options in the \fI~/.xscreensaver\fP
-file; see
-.BR xscreensaver-demo (1)
-for more details.
-.TP 8
-.B \-wireframe
-Same as "-mode wire".
-.TP 8
-.B \-flat \fInum\fP\fP
-0 for smooth shading 1 for flat. default 0
-.TP 8
-.B \-speed \fInum\fP\fP
-Specifies speed of ripples flowing over the surface. default 0.05
-.TP 8
-.B \-rotationx \fInum\fP \-rotationy \fInum\fP \-rotationz \fInum\fP\fP
-Specifies the speed of rotation of the surface in these axis 
-.TP 8
-.B \-waves \fInum\fP\fP
-Specifies the number of ripple centres at any one time.  Values should be greater than 1.  default 3
-.TP 8
-.B \-waveChange \fInum\fP\fP
-Specifies the duration of a ripple centre.  after this they fade away to be reborn elsewhere with a different frequency. default 50
-.TP 8
-.B \-waveHeight \fInum\fP\fP
-Specifies the height of ripples on the surface. default 1.0
-.TP 8
-.B \-waveFreq \fInum\fP\fP
-Specifies the maximum frequency of ripples. default 3.0
-.TP 8
-.B \-zoom \fInum\fP\fP
-Specifies the size of the viewport. Smaller values fill the screen with rippling surface. default 1.0
-.TP 8
-.B \-delay \fImicroseconds\fP
-How long to pause between frames.  Default is 20000, or 0.02 second.
-.TP 8
-.B \-fps
-Display the current frame rate, CPU load, and polygon count.
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH SEE ALSO
-.BR X (1),
-.BR xscreensaver (1)
-.BR xscreensaver\-demo (1),
-.BR xscreensaver\-getimage (1)
-.SH COPYRIGHT
-Copyright \(co 2000 by Josiah Pease.  Permission to use, copy, modify,
-distribute, and sell this software and its documentation for any purpose is
-hereby granted without fee, provided that the above copyright notice appear
-in all copies and that both that copyright notice and this permission notice
-appear in supporting documentation.  No representations are made about the
-suitability of this software for any purpose.  It is provided "as is" without
-express or implied warranty.
-.SH AUTHOR
-Josiah Pease <gflux@jpease.force9.co.uk>, 10-Jun-2000.
diff --git a/hacks/glx/glblur.man b/hacks/glx/glblur.man
deleted file mode 100644 (file)
index 968f42f..0000000
+++ /dev/null
@@ -1,76 +0,0 @@
-.TH XScreenSaver 1 "" "X Version 11"
-.SH NAME
-glblur - 3D radial blur texture fields
-.SH SYNOPSIS
-.B glblur
-[\-display \fIhost:display.screen\fP]
-[\-visual \fIvisual\fP]
-[\-window]
-[\-root]
-[\-delay \fInumber\fP]
-[\-blursize \fInumber\fP]
-[\-no-wander]
-[\-no-spin]
-[\-spin \fI[XYZ]\fP]
-[\-fps]
-.SH DESCRIPTION
-This program draws a box and a few line segments, and generates a 
-radial blur outward from it.  This creates flowing field effects.
-
-This is done by rendering the scene into a small texture, then
-repeatedly rendering increasingly-enlarged and increasingly-transparent
-versions of that texture onto the frame buffer.  As such, it's quite
-graphics intensive: don't bother trying to run this if you don't have
-hardware-accelerated texture support.  It will hurt your machine bad.
-.SH OPTIONS
-.TP 8
-.B \-visual \fIvisual\fP
-Specify which visual to use.  Legal values are the name of a visual class,
-or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-delay \fInumber\fP
-Per-frame delay, in microseconds.  Default: 10000 (0.01 seconds.).
-.TP 8
-.B \-blursize \fInumber\fP
-How many copies of the scene should be laid down to make the vapor trail.
-Default: 15.  Larger numbers create smoother fields, but are slower.
-.TP 8
-.B \-wander | \-no-wander
-Whether the object should wander around the screen.
-.TP 8
-.B \-spin [XYZ]
-Around which axes should the object spin?
-.TP 8
-.B \-no-spin
-None.
-.TP 8
-.B \-fps
-Display the current frame rate, CPU load, and polygon count.
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH SEE ALSO
-.BR X (1),
-.BR xscreensaver (1)
-.SH COPYRIGHT
-Copyright \(co 2002 by Jamie Zawinski.  Permission to use, copy, modify, 
-distribute, and sell this software and its documentation for any purpose is 
-hereby granted without fee, provided that the above copyright notice appear 
-in all copies and that both that copyright notice and this permission notice
-appear in supporting documentation.  No representations are made about the 
-suitability of this software for any purpose.  It is provided "as is" without
-express or implied warranty.
-.SH AUTHOR
-Jamie Zawinski, with inspiration from a tutorial by Dario Corno.
diff --git a/hacks/glx/glcells.man b/hacks/glx/glcells.man
deleted file mode 100644 (file)
index 6c1e7e9..0000000
+++ /dev/null
@@ -1,97 +0,0 @@
-.TH XScreenSaver 1 "June 2007"
-.SH NAME
-glcells \- growing cells graphics hack
-.SH SYNOPSIS
-.B glcells
-[\-display \fIhost:display.screen\fP] [\-window] [\-root] [\-install]
-[\-visual \fIvisual\fP]
-[\-delay \fInum\fP] [\-pause \fInum\fP] [\-maxcells \fInum\fP]
-[\-radius \fInum\fP] [\-seeds \fInum\fP] [\-quality \fInum\fP]
-[\-minfood \fInum\fP] [\-maxfood \fInum\fP] [\-divideage \fInum\fP]
-[\-mindist \fInum\fP]
-[\-keepold]
-[\-wireframe]
-[\-fps]
-.SH DESCRIPTION
-The \fIglcells\fP program draws cells that divide exponentially, eat and eventually die.
-.SH OPTIONS
-.I glcells
-accepts the following options:
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-install
-Install a private colormap for the window.
-.TP 8
-.B \-visual \fIvisual\fP\fP
-Specify which visual to use.  Legal values are the name of a visual class,
-or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-pause \fInum\fP\fP
-Specifies the pause at the end of the animation (all cells dead or maximum amount of cells reached). Unit is in frames, default 20.
-.TP 8
-.B \-maxcells \fInum\fP\fP
-Specifies the maximum number of cells on screen (dead cells also count, even if invisible). Default is 800.
-.TP 8
-.B \-radius \fInum\fP\fP
-Specifies the radius of the cells. Default is 40.
-.TP 8
-.B \-seeds \fInum\fP\fP
-Specifies the number of cells when animation starts. Default is 1.
-.TP 8
-.B \-quality \fInum\fP\fP
-Specifies subdivision quality of the spheres used to draw the cells [0...5]. Default is 3.
-.TP 8
-.B \-minfood \fInum\fP\fP
-Food is ditributed randomly on the screen (Yes, the cells need to eat). This parameter specifies the
-minimum amount of food per pixel. Default is 5.
-.TP 8
-.B \-maxfood \fInum\fP\fP
-Food is ditributed randomly on the screen (Yes, the cells need to eat). This parameter specifies the
-maximum amount of food per pixel. Default is 20.
-.TP 8
-.B \-divideage \fInum\fP\fP
-Specifies the minimum age in frames a cell needs to have before beeing able to divide. Default is 20
-.TP 8
-.B \-mindist \fInum\fP\fP
-Specifies the minimum distance between cells. Default 1.4
-.TP 8
-.B \-delay \fInum\fP
-How long to pause between frames.  Default is 20000, or 0.02 second.
-.TP 8
-.B \-fps
-Display the current frame rate, CPU load, and polygon count.
-.TP 8
-.B \-wireframe
-Draw wireframe only.
-.TP 8
-.B \-keepold
-Dead cells stay on screen.
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH SEE ALSO
-.BR X (1),
-.BR xscreensaver (1)
-.BR xscreensaver\-demo (1),
-.SH COPYRIGHT
-Copyright \(co 2007 by Matthias Toussaint.  Permission to use, copy, modify,
-distribute, and sell this software and its documentation for any purpose is
-hereby granted without fee, provided that the above copyright notice appear
-in all copies and that both that copyright notice and this permission notice
-appear in supporting documentation.  No representations are made about the
-suitability of this software for any purpose.  It is provided "as is" without
-express or implied warranty.
-.SH AUTHOR
-Matthias Toussaint <glcells@mtoussaint.de>, 17-Jun-2007, http://www.mtoussaint.de/bits.html.
diff --git a/hacks/glx/gleidescope.man b/hacks/glx/gleidescope.man
deleted file mode 100644 (file)
index c0b9b15..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-.TH XScreenSaver 1 "" "X Version 11"
-.SH NAME
-gleidescope - a tiled OpenGL kaleidescope
-.SH SYNOPSIS
-.B gleidescope
-[\-display \fIhost:display.screen\fP]
-[\-visual \fIvisual\fP]
-[\-window]
-[\-root]
-[-delay \fInumber\fP]
-[-move]
-[-rotate]
-[-zoom]
-[-image \fIfile\fP]
-[-fps]
-[-size \fInumber\fP]
-[-duration \fInumber\fP]
-.SH DESCRIPTION
-A tiled kaleidescope using OpenGL.
-.SH OPTIONS
-.TP 8
-.B \-visual \fIvisual\fP
-Specify which visual to use.  Legal values are the name of a visual class,
-or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-delay \fInumber\fP
-Per-frame delay, in microseconds.  Default: 20000 (0.02 seconds.).
-.TP 8
-.B \-move
-Move the camera.
-.TP 8
-.B \-rotate
-Rotate the camera.
-.TP 8
-.B \-zoom
-Zoom the camera in and out.
-.TP 8
-.B \-image \fIfile\fP
-The texture map to use at the end of the kaleidescope.
-.TP 8
-.B \-fps
-Display the current frame rate, CPU load, and polygon count.
-.TP 8
-.B \-size \fInumber\fP
-The size of the hexagons being displayed [1(small)-10(large)]
-.TP 8
-.B \-duration \fInumber\fP
-The time in seconds before another image is chosen.
-.TP 8
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH SEE ALSO
-.BR X (1),
-.BR xscreensaver (1)
-.SH COPYRIGHT
-Copyright \(co 2003 by Andrew Dean  Permission to use, copy, modify, 
-distribute, and sell this software and its documentation for any purpose is 
-hereby granted without fee, provided that the above copyright notice appear 
-in all copies and that both that copyright notice and this permission notice
-appear in supporting documentation.  No representations are made about the 
-suitability of this software for any purpose.  It is provided "as is" without
-express or implied warranty.
-.SH AUTHOR
-Andrew Dean.
diff --git a/hacks/glx/glhanoi.man b/hacks/glx/glhanoi.man
deleted file mode 100644 (file)
index 2060cde..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-.TH XScreenSaver 1 "" "X Version 11"
-.SH NAME
-glhanoi - OpenGL Towers of Hanoi
-.SH SYNOPSIS
-.B glhanoi
-[\-display \fIhost:display.screen\fP]
-[\-visual \fIvisual\fP]
-[\-window]
-[\-root]
-[\-delay \fInumber\fP]
-[\-count \fInumber\fP]
-[\-poles \fInumber\fP]
-[\-speed \fInumber\fP]
-[\-wireframe]
-[\-light]
-[\-texture]
-[\-fog]
-[\-fps]
-.SH DESCRIPTION
-Implementation of Towers of Hanoi in OpenGL
-.SH OPTIONS
-.TP 8
-.B \-visual \fIvisual\fP
-Specify which visual to use.  Legal values are the name of a visual class,
-or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-delay \fInumber\fP
-Per-frame delay, in microseconds.  Default: 30000 (0.03 seconds.).
-.TP 8
-.B \-count \fInumber\fP
-Number of disks.  Default: 7.
-.TP 8
-.B \-poles \fInumber\fP
-Number of poles.  Default: random from 3 to disks+1.
-.TP 8
-.B \-speed \fInumber\fP
-Speed multiplier (for smallest disks).  Default: 1.
-.TP 8
-.B \-trails \fInumber\fP
-Length of disk trails, in seconds.  Default: 2.
-.TP 8
-.B \-wireframe | \-no-wireframe
-Render in wireframe instead of solid.
-.TP 8
-.B \-fog | \-no-fog
-Render in fog.
-.TP 8
-.B \-fps
-Display the current frame rate, CPU load, and polygon count.
-.TP 8
-.B \-light | -no-light
-Whether the scene is lit.
-.TP 8
-.B \-texture | \-no-texture
-Render with textures instead of solid.
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH SEE ALSO
-.BR X (1),
-.BR xscreensaver (1)
-.SH COPYRIGHT
-Copyright \(co 2004 by Dave Atkinson.  Permission to use, copy, modify, 
-distribute, and sell this software and its documentation for any purpose is 
-hereby granted without fee, provided that the above copyright notice appear 
-in all copies and that both that copyright notice and this permission notice
-appear in supporting documentation.  No representations are made about the 
-suitability of this software for any purpose.  It is provided "as is" without
-express or implied warranty.
-.SH AUTHOR
-Dave Atkinson.
diff --git a/hacks/glx/glknots.man b/hacks/glx/glknots.man
deleted file mode 100644 (file)
index c4f1d1a..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-.TH XScreenSaver 1 "" "X Version 11"
-.SH NAME
-glknots - generates some twisting 3d knot patterns
-.SH SYNOPSIS
-.B glknots
-[\-display \fIhost:display.screen\fP]
-[\-visual \fIvisual\fP]
-[\-window]
-[\-root]
-[\-delay \fInumber\fP]
-[\-speed \fIfloat\fP]
-[\-segments \fIint\fP]
-[\-thickness \fIfloat\fP]
-[\-duration \fIseconds\fP]
-[\-no-wander]
-[\-spin \fIXYZ\fP]
-[\-wireframe]
-[\-fps]
-.SH DESCRIPTION
-Generates some twisting 3d knot patterns.  Spins 'em around.
-.SH OPTIONS
-.TP 8
-.B \-visual \fIvisual\fP
-Specify which visual to use.  Legal values are the name of a visual class,
-or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-delay \fInumber\fP
-Per-frame delay, in microseconds.  Default: 30000 (0.03 seconds.).
-.TP 8
-.B \-speed \fInumber\fP
-Larger numbers mean run faster.  Default: 1.0.
-.TP 8
-.B \-segments \fInumber\fP
-Number of segments in each path.  Default 800.  Larger numbers make the
-curves smoother, at the expense of a higher polygon count.
-.TP 8
-.B \-thickness \fIfloat\fP
-How thick the tubes should be.  Default 0.3.
-.TP 8
-.B \-duration \fIseconds\fP
-How long to leave each knot up.  Default 8 seconds.
-.TP 8
-.B \-wander | \-no-wander
-Whether the cubes should wander around the screen.
-.TP 8
-.B \-spin [XYZ] | \-no-spin
-Which axes, if any, to spin around on.
-.TP 8
-.B \-wireframe | \-no-wireframe
-Render in wireframe instead of solid.
-.TP 8
-.B \-fps
-Display the current frame rate, CPU load, and polygon count.
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH SEE ALSO
-.BR X (1),
-.BR xscreensaver (1)
-.SH COPYRIGHT
-Copyright \(co 2003 by Jamie Zawinski.  Permission to use, copy, modify, 
-distribute, and sell this software and its documentation for any purpose is 
-hereby granted without fee, provided that the above copyright notice appear 
-in all copies and that both that copyright notice and this permission notice
-appear in supporting documentation.  No representations are made about the 
-suitability of this software for any purpose.  It is provided "as is" without
-express or implied warranty.
-.SH AUTHOR
-Jamie Zawinski.
diff --git a/hacks/glx/glmatrix.man b/hacks/glx/glmatrix.man
deleted file mode 100644 (file)
index 9290290..0000000
+++ /dev/null
@@ -1,116 +0,0 @@
-.TH XScreenSaver 1 "30-Oct-99" "X Version 11"
-.SH NAME
-glmatrix - simulates the title sequence effect of the movie
-.SH SYNOPSIS
-.B glmatrix
-[\-display \fIhost:display.screen\fP] [\-window] [\-root] [\-install]
-[\-visual \fIvisual\fP] 
-[\-delay \fIusecs\fP] 
-[\-speed \fIratio\fP]
-[\-density \fIpct\fP]
-[\-no\-fog]
-[\-no\-waves]
-[\-no\-rotate]
-[\-binary]
-[\-hexadecimal]
-[\-dna]
-[\-clock]
-[\-timefmt \fIfmt\fP]
-[\-wireframe]
-[\-fps]
-.SH DESCRIPTION
-The \fIglmatrix\fP program draws the 3D "digital rain" effect, as seen
-in the title sequence of the Wachowski brothers' film, "The Matrix".
-
-Also see
-.BR xmatrix (MANSUFFIX)
-for a 2D rendering of the similar effect that appeared on the
-computer monitors actually \fIin\fP the movie.
-.SH OPTIONS
-.I glmatrix
-accepts the following options:
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-install
-Install a private colormap for the window.
-.TP 8
-.B \-visual \fIvisual\fP\fP
-Specify which visual to use.  Legal values are the name of a visual class,
-or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-delay \fIusecs\fP
-The delay between frames of the animation, in microseconds: default 30000.
-.TP 8
-.B \-speed \fIratio\fP
-How fast the glyphs should move; default 1.0.  2.0 means twice as fast,
-0.5 means half as fast.
-.TP 8
-.B \-density \fIpercentage\fP
-The approximate percentage of the screen that should be filled with 
-characters at any given time.  Default 20%.
-.TP 8
-.B \-no\-fog
-By default, glyphs are dimmer the farther away they are.  This 
-argument disables that.
-.TP 8
-.B \-no\-waves
-By default, waves of color roll down the columns of glyphs.  This
-argument disables that.
-.TP 8
-.B \-no-rotate\fP
-By default, the scene slowly tilts and rotates.  This
-argument disables that.
-.TP 8
-.B \-binary\fP
-Instead of displaying Matrix glyphs, only display ones and zeros.
-.TP 8
-.B \-hexadecimal\fP
-Instead of displaying Matrix glyphs, display hexadecimal digits.
-.TP 8
-.B \-dna\fP
-Instead of displaying Matrix glyphs, display genetic code
-(guanine, adenine, thymine, and cytosine.)
-.TP 8
-.B \-clock\fP
-Hide a clock displaying the current time somewhere in the glyphs.
-.TP 8
-.B \-timefmt\fP \fIstrftime-string\fP
-How to format the clock when \fI\-clock\fP is specified.
-Default "\ %l%M%p\ ".
-.TP 8
-.B \-speed \fIratio\fP
-Less than 1 for slower, greater than 1 for faster.  Default 1.
-.TP 8
-.B \-wireframe
-Just draw boxes instead of textured characters.
-.TP 8
-.B \-fps
-Display the current frame rate, CPU load, and polygon count.
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH SEE ALSO
-.BR xmatrix (MANSUFFIX),
-.BR X (1),
-.BR xscreensaver (1)
-.SH COPYRIGHT
-Copyright \(co 1999-2003 by Jamie Zawinski.  Permission to use, copy, modify, 
-distribute, and sell this software and its documentation for any purpose is 
-hereby granted without fee, provided that the above copyright notice appear 
-in all copies and that both that copyright notice and this permission notice
-appear in supporting documentation.  No representations are made about the 
-suitability of this software for any purpose.  It is provided "as is" without
-express or implied warranty.
-.SH AUTHOR
-Jamie Zawinski <jwz@jwz.org>, 8-Jun-2003.
diff --git a/hacks/glx/glplanet.man b/hacks/glx/glplanet.man
deleted file mode 100644 (file)
index a01358e..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-.TH XScreenSaver 1 "" "X Version 11"
-.SH NAME
-glplanet - rotating 3d texture-mapped planet.
-.SH SYNOPSIS
-.B glplanet
-[\-display \fIhost:display.screen\fP]
-[\-visual \fIvisual\fP]
-[\-window]
-[\-root]
-[\-no-light]
-[\-delay \fInumber\fP]
-[\-image \fIfile\fP]
-[\-resolution \fInumber\fP]
-[\-wireframe]
-[\-fps]
-.SH DESCRIPTION
-Draws a planet bouncing around in space.  The built-in image is a map
-of the earth, but you can wrap any texture around the sphere, e.g., the
-planetary textures that come with `ssystem'.
-.SH OPTIONS
-.TP 8
-.B \-visual \fIvisual\fP
-Specify which visual to use.  Legal values are the name of a visual class,
-or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-light | \-no-light
-Use Flat Coloring.
-.TP 8
-.B \-delay \fInumber\fP
-Per-frame delay, in microseconds.  Default: 20000 (0.02 seconds.).
-.TP 8
-.B \-images \fIfile\fP
-The texture map to wrap around the planet's surface.
-.TP 8
-.B \-resolution
-The resolution of the planet. Default: 128.
-.TP 8
-.B \-wireframe
-Render in wireframe instead of solid.
-.TP 8
-.B \-fps
-Display the current frame rate, CPU load, and polygon count.
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH SEE ALSO
-.BR X (1),
-.BR xscreensaver (1)
-.SH COPYRIGHT
-Copyright \(co 2002 by David Konerding.  Permission to use, copy, modify, 
-distribute, and sell this software and its documentation for any purpose is 
-hereby granted without fee, provided that the above copyright notice appear 
-in all copies and that both that copyright notice and this permission notice
-appear in supporting documentation.  No representations are made about the 
-suitability of this software for any purpose.  It is provided "as is" without
-express or implied warranty.
-.SH AUTHOR
-David Konerding. 
diff --git a/hacks/glx/glschool.man b/hacks/glx/glschool.man
deleted file mode 100644 (file)
index 8de00c4..0000000
+++ /dev/null
@@ -1,126 +0,0 @@
-.TH XScreenSaver 1 "" "X Version 11"
-.SH NAME
-glschool - a 3D schooling simulation
-.SH SYNOPSIS
-.B glschool
-[\-display \fIhost:display.screen\fP]
-[\-visual \fIvisual\fP]
-[\-window]
-[\-root]
-[\-wireframe]
-[\-fps]
-[\-delay \fInumber\fP]
-[\-nfish \fInumber\fP]
-[\-maxvel \fInumber\fP]
-[\-minvel \fInumber\fP]
-[\-acclimit \fInumber\fP]
-[\-avoidfact \fInumber\fP]
-[\-matchfact \fInumber\fP]
-[\-centerfact \fInumber\fP]
-[\-targetfact \fInumber\fP]
-[\-minradius \fInumber\fP]
-[\-momentum \fInumber\fP]
-[\-distexp \fInumber\fP]
-[\-goalchgf \fInumber\fP]
-[\-fog]
-[\-drawgoal]
-[\-drawbbox]
-.SH DESCRIPTION
-Uses Craig Reynolds Boids algorithm to simulate a 3d school of
-fish.  See <http://www.red3d.com/cwr/boids> for a description
-of the algorithm and the original paper.  This is a lightly modified
-version of the algorithm that supports goal attraction.
-
-Many different behaviors are possible by tweaking the parameters.  No sanity checking is performed
-on the command line params, so if you want to use negative accelerations or minimum velocity that is
-larger than maximum velocity or that sort of thing, the simulation will try to digest it.
-
-It looks best with the highest number of fish that will give you an FPS of > 25 or so.
-
-.SH OPTIONS
-.TP 8
-.B \-visual \fIvisual\fP
-Specify which visual to use.  Legal values are the name of a visual class,
-or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-delay \fInumber\fP
-Per-frame delay, in microseconds.  Default: 20000 (0.020 seconds.).
-.TP 8
-.B \-wireframe | \-no-wireframe
-Render in wireframe instead of solid.
-.TP 8
-.B \-fps
-Display the current frame rate, CPU load, and polygon count.
-.TP 8
-.B \-fog | \-no-fog
- Whether to show foggy (cloudy) water.
-.TP 8
-.B \-drawgoal | \-no-drawgoal
- Whether to show the school's attraction goal.
-.TP 8
-.B \-drawbbox | \-no-drawbbox
- Whether to show the bounding box.
-.TP 8
-.B \-fog | \-no-fog
- Whether to show foggy (cloudy) water.
-.TP 8
-.B \-nfish \fInumber\fP
-Number of fish.  Defaults to 100
-.TP 8
-.B \-acclimit \fInumber\fP
-Acceleration limit.  Defaults to 8.0
-.TP 8
-.B \-minvel \fInumber\fP
-Minimum velocity.  Defaults to 1.0
-.TP 8
-.B \-maxvel \fInumber\fP
-Minimum velocity.  Defaults to 7.0
-.TP 8
-.B \-goalchgf \fInumber\fP
-Goal change frequency.  Defaults to 50 (frames)
-.TP 8
-.B \-avoidfact \fInumber\fP
-Avoidance acceleration factor.  Defaults to 1.5
-.TP 8
-.B \-matchfact \fInumber\fP
-Match avg velocity acceleration factor.  Defaults to 0.15
-.TP 8
-.B \-centerfact \fInumber\fP
-School centering acceleration factor.  Defaults to 0.1
-.TP 8
-.B \-targetfact \fInumber\fP
-Target attraction acceleration factor.  Defaults to 80
-.TP 8
-.B \-distexp \fInumber\fP
-Distance weighting exponent.  Defaults to 2.2
-.TP 8
-.B \-momentum \fInumber\fP
-Momentum.  Defaults to 0.9
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH SEE ALSO
-.BR X (1),
-.BR xscreensaver (1)
-.SH COPYRIGHT
-Copyright \(co 2005-2006 by David C. Lambert.  Permission to use, copy, modify, 
-distribute, and sell this software and its documentation for any purpose is 
-hereby granted without fee, provided that the above copyright notice appear 
-in all copies and that both that copyright notice and this permission notice
-appear in supporting documentation.  No representations are made about the 
-suitability of this software for any purpose.  It is provided "as is" without
-express or implied warranty.
-.SH AUTHOR
-David C. Lambert
diff --git a/hacks/glx/glslideshow.man b/hacks/glx/glslideshow.man
deleted file mode 100644 (file)
index 4ce4672..0000000
+++ /dev/null
@@ -1,131 +0,0 @@
-.TH XScreenSaver 1 "" "X Version 11"
-.SH NAME
-glslideshow - slideshow of images using smooth zooming and fades
-.SH SYNOPSIS
-.B glslideshow
-[\-display \fIhost:display.screen\fP]
-[\-visual \fIvisual\fP]
-[\-window]
-[\-root]
-[\-duration \fIseconds\fP]
-[\-zoom \fIpercent\fP]
-[\-pan \fIseconds\fP]
-[\-fade \fIseconds\fP]
-[\-titles]
-[\-letterbox | \-clip]
-[\-delay \fIusecs\fP]
-[\-fps]
-[\-debug]
-[\-wireframe]
-[\-cutoff \fIint\fP]
-.SH DESCRIPTION
-Loads a random sequence of images and smoothly scans and zooms around
-in each, fading from pan to pan.  
-
-This program requires a good video card capable of supporting large
-textures.
-
-To specify the directory that images are loaded from, run
-.BR xscreensaver-demo (1)
-and click on the "Advanced" tab.
-.SH OPTIONS
-.TP 8
-.B \-visual \fIvisual\fP
-Specify which visual to use.  Legal values are the name of a visual class,
-or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-duration \fIseconds\fP
-How long each image will be displayed before loading a new one.
-Default 30 seconds.
-.TP 8
-.B \-pan \fIseconds\fP
-How long each pan-and-zoom should last.  Default 6 seconds.
-
-With the default settings of \fI\-pan 6 \-duration 30\fP, each image
-will be displayed five times (30/6), and then a new image will be loaded.
-If you want a new image to be loaded at each fade, then set \fI\-pan\fP
-and \fI\-duration\fP to the same value.
-.TP 8
-.B \-fade \fIseconds\fP
-How long each cross-fade between images should last.  Default 2 seconds.
-If set to 0, then no cross-fading will be done (all transitions
-will be jump-cuts.)
-
-Note that fades are included in the pan time, so \fI\-fade\fP cannot
-be larger than \fI\-pan\fP.
-.TP 8
-.B \-zoom \fInumber\fP
-Amount to zoom and pan as a percentage. Default: 75, meaning that
-75% or more of each image will always be visible.  If set to 100%,
-then the images will always fill the screen, and no panning or 
-zooming will occur.  (Images will still smoothly fade from one
-to another if \fI\-fade\fP is non-zero.)
-.TP 8
-.B \-titles
-Whether to print the file name of the current image in the upper left corner.
-.TP 8
-.B \-letterbox
-In "letterbox" mode, when an image is not the same aspect ratio as the screen,
-black bars will appear at the top/bottom or left/right so that the whole
-image can be displayed.  This is the default.
-.TP 8
-.B \-clip
-In "clip" mode, when an image is not the same aspect ratio as the screen,
-we will zoom in further until the image takes up the whole screen.
-This is the opposite of \fI\-letterbox\fP.
-.TP 8
-.B \-delay \fInumber\fP
-Per-frame delay, in microseconds.  Default: 20000 (0.02 seconds.).
-.TP 8
-.B \-fps
-Display the current frame rate, CPU load, and polygon count.
-.TP 8
-.B \-cutoff \fInumber\fP
-If the frame rate we are achieving is lower than this, then panning,
-fading, and zooming will be disabled.  Default 5 FPS.
-
-The idea here is that if your machine can't maintain a decent frame
-rate, then it must not have fast 3D hardware, so we might as well
-behave in a simpler manner.  Set this to 0 to disable this check.
-.TP 8
-.B \-debug
-Prints debugging info to stderr.
-.TP 8
-.B \-wireframe
-Another debug mode.
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH SEE ALSO
-.BR X (1),
-.BR xscreensaver-demo (1),
-.BR xscreensaver-getimage (1),
-.BR xscreensaver (1),
-.BR carousel (MANSUFFIX)
-.BR photopile (MANSUFFIX)
-.SH COPYRIGHT
-Copyright \(co 2003-2005 by Jamie Zawinski, based on an earlier version
-that was
-Copyright \(co 2002 by Mike Oliphant.
-
-Permission to use, copy, modify, distribute, and sell this software and
-its documentation for any purpose is hereby granted without fee,
-provided that the above copyright notice appear in all copies and that
-both that copyright notice and this permission notice appear in
-supporting documentation.  No representations are made about the
-suitability of this software for any purpose.  It is provided "as is"
-without express or implied warranty.
-.SH AUTHOR
-Jamie Zawinski and Mike Oliphant.
diff --git a/hacks/glx/glsnake.man b/hacks/glx/glsnake.man
deleted file mode 100644 (file)
index 217be2f..0000000
+++ /dev/null
@@ -1,98 +0,0 @@
-.\"                                      Hey, EMACS: -*- nroff -*-
-.TH XScreenSaver 1 "January 15, 2001" "X Version 11"
-.SH NAME
-glsnake \- OpenGL enhanced Rubik's Snake cyclewaster.
-.SH SYNOPSIS
-.B glsnake
-[\-display \fIhost:display.screen\fP] [\-window] [\-root]
-[\-visual \fIvisual\fP] [\-delay \fImicroseconds\fP] [\-fps]
-[\-wireframe] [\-altcolour]
-[\-angvel \fIangular\fP]
-[\-explode \fIdistance\fP]
-[\-statictime \fImilliseconds\fP]
-[\-yangvel \fIangle\fP]
-[\-zangvel \fIangle\fP]
-.SH DESCRIPTION
-.PP
-.B glsnake
-is an imitation of Rubiks\' Snake, using OpenGL.
-.SH OPTIONS
-.I glsnake
-accepts the following options:
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-install
-Install a private colormap for the window.
-.TP 8
-.B \-visual \fIvisual\fP\fP
-Specify which visual to use.  Legal values are the name of a visual class,
-or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-fps
-Display the current frame rate, CPU load, and polygon count.
-.TP 8
-.B \-wireframe
-Display the snake in wireframe mode, rather than the default solid mode.
-.TP 8
-.B \-altcolour
-Use the alternate colour scheme for the snake.  Shape identification using
-colour will be disabled.
-.TP 8
-.B -angvel \fIangular\fP
-Change the speed at which the snake morphs to a new shape.
-.TP 8
-.B -explode \fIdistance\fP
-Change the distance between the nodes of a snake.
-.TP 8
-.B \-statictime \fImilliseconds\fP
-Change the time between morphs.
-.TP 8
-.B \-yangvel \fIangle\fP
-Change the angle of rotation around the Y axis per frame.
-.TP 8
-.B \-zangvel \fIangle\fP
-Change the angle of rotation around the Z axis per frame.
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH FILES
-.TP
-\fB/usr/share/glsnake/*.glsnake\fP
-This XScreenSaver will attempt to read model files installed with the interactive \fBglsnake\fP.
-.SH SEE ALSO
-.BR X (1),
-.BR xscreensaver (1),
-.BR glsnake (MANSUFFIX)
-.PP
-.EX
-http://spacepants.org/src/glsnake/
-.EE
-.SH BUGS
-The snake will happily intersect itself while morphing (this is not a bug).
-.PP
-The rotation/camera position sucks.
-.SH COPYRIGHT
-Copyright \(co 2001,2002 by Jamie Wilkinson, Andrew Bennetts, and Peter Aylett.
-.PP
-This program is free software; you can redistribute it and/or modify it under
-the terms of the GNU General Public License as published by the Free Software
-Foundation; either version 2 of the License, or (at your option) any later
-version.
-.PP
-This program is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
-FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
-.SH AUTHOR
-Jamie Wilkinson <jaq@spacepants.org>, Andrew Bennetts <andrew@puzzling.org>,
-and Peter Aylett <peter@ylett.com>.  Ported to XScreenSaver by Jamie Wilkinson.
diff --git a/hacks/glx/gltext.man b/hacks/glx/gltext.man
deleted file mode 100644 (file)
index 0af1d0a..0000000
+++ /dev/null
@@ -1,123 +0,0 @@
-.de EX         \"Begin example
-.ne 5
-.if n .sp 1
-.if t .sp .5
-.nf
-.in +.5i
-..
-.de EE
-.fi
-.in -.5i
-.if n .sp 1
-.if t .sp .5
-..
-.TH XScreenSaver 1 "25-Jul-98" "X Version 11"
-.SH NAME
-gltext - draws text spinning around in 3D
-.SH SYNOPSIS
-.B gltext
-[\-display \fIhost:display.screen\fP] [\-window] [\-root]
-[\-visual \fIvisual\fP] [\-delay \fImicroseconds\fP]
-[\-text \fIstring\fP]
-[\-program \fIcommand\fP]
-[\-wander] [\-no-wander]
-[\-spin \fIaxes\fP]
-[\-no-spin]
-[\-front] [\-no\-front]
-[\-wireframe]
-[\-fps]
-.SH DESCRIPTION
-The \fIgltext\fP program draws some text spinning around in 3D, using
-a font that appears to be made of solid tubes.  
-.SH OPTIONS
-.I gltext
-accepts the following options:
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-install
-Install a private colormap for the window.
-.TP 8
-.B \-visual \fIvisual\fP\fP
-Specify which visual to use.  Legal values are the name of a visual class,
-or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-text \fIstring\fP
-The text to display.  This may contain newlines, but it shouldn't be
-very long.  The default is to display the machine name and OS version.
-
-This may also be a format string acceptable to
-.BR date (1)
-and
-.BR strftime (3) ,
-in which case, it will be updated once a second.  So to make this
-program display a spinning digital clock, you could do this:
-.EX
-gltext -text "%A%n%d %b %Y%n%l:%M:%S %p"
-.EE
-To include a literal `%', you must double it: `%%'.
-
-See the man page for
-.BR strftime (3)
-for more details.
-.TP 8
-.B \-program \fIcommand\fP
-The given program is run, and its output is displayed.
-If specified, this overrides \fI\-text\fP.
-The program will be re-run every 5 seconds to re-generate the text.
-It should run quickly, and shouldn't generate too much text.
-.TP 8
-.B \-wander
-Move the text around the screen.  This is the default.
-.TP 8
-.B \-no\-wander
-Keep the text centered on the screen.
-.TP 8
-.B \-spin
-Which axes around which the text should spin.  The default is "XYZ",
-meaning rotate it freely in space.  "\fB\-spin Z\fP" would rotate the
-text in the plane of the screen while not rotating it into or out
-of the screen; etc.
-.TP 8
-.B \-no\-spin
-Don't spin the text at all: the same as \fB\-spin ""\fP.
-.TP 8
-.B \-front
-When spinning, never spin all the way around or upside down:
-always face mostly forward so that the text is easily readable.
-.TP 8
-.B \-no\-front
-Allow spins to go all the way around or upside down.  This is the default.
-.TP 8
-.B \-wireframe
-Render in wireframe instead of solid.
-.TP 8
-.B \-fps
-Display the current frame rate, CPU load, and polygon count.
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH SEE ALSO
-.BR X (1),
-.BR xscreensaver (1)
-.SH COPYRIGHT
-Copyright \(co 2001-2005 by Jamie Zawinski.
-Permission to use, copy, modify, distribute, and sell this software and
-its documentation for any purpose is hereby granted without fee,
-provided that the above copyright notice appear in all copies and that
-both that copyright notice and this permission notice appear in
-supporting documentation.  No representations are made about the
-suitability of this software for any purpose.  It is provided "as is"
-without express or implied warranty.
-.SH AUTHOR
-Jamie Zawinski <jwz@jwz.org>
diff --git a/hacks/glx/hilbert.man b/hacks/glx/hilbert.man
deleted file mode 100644 (file)
index 8693dce..0000000
+++ /dev/null
@@ -1,103 +0,0 @@
-.TH XScreenSaver 1 "" "X Version 11"
-.SH NAME
-hilbert - 3D Hilbert fractal.
-.SH SYNOPSIS
-.B hilbert
-[\-display \fIhost:display.screen\fP]
-[\-visual \fIvisual\fP]
-[\-window]
-[\-root]
-[\-delay \fInumber\fP]
-[\-speed \fIratio\fP]
-[\-depth \fInumber\fP]
-[\-spin]
-[\-wander]
-[\-2d]
-[\-3d]
-[\-closed]
-[\-open]
-[\-max\-depth \fInumber\fP]
-[\-thickness \fIratio\fP]
-[\-wireframe]
-[\-fps]
-.SH DESCRIPTION
-This draws the recursive Hilbert space-filling curve, in both 2D and
-3D variants.  It incrementally animates the growth and recursion to
-the maximum depth, then unwinds it back.
-
-The Hilbert path is a single contiguous line that can fill a volume
-without crossing itself.  As a data structure, Hilbert paths are
-useful because ordering along the curve preserves locality: points
-that close together along the curve are also close together in space.
-The converse is often, but not always, true.  The coloration
-reflects this.
-.SH OPTIONS
-.TP 8
-.B \-visual \fIvisual\fP
-Specify which visual to use.  Legal values are the name of a visual class,
-or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-delay \fInumber\fP
-Per-frame delay, in microseconds.  Default: 30000 (0.03 seconds.).
-.TP 8
-.B \-speed \fInumber\fP
-How fast the animation should run.
-Less than 1 for slower, greater than 1 for faster.
-.TP 8
-.B \-max\-depth \fInumber\fP
-Max depth to descend.  Default: 5, which peaks at around half a
-million polygons.
-.TP 8
-.B \-spin
-.B \-no\-spin
-Whether to rotate the object.  Default: true.
-.TP 8
-.B \-wander
-.B \-no\-wander
-Whether to wander the object around on the screen.  Default: false;
-.TP 8
-.B \-2d
-.B \-3d
-Whether to draw the 2D or 3D variant. Default: random.
-.TP 8
-.B \-closed
-.B \-open
-Whether to draw the open or closed-path variant. Default: random.
-.TP 8
-.B \-thickness \fIratio\fP
-How thick the lines should be.  Default: 0.25.
-.TP 8
-.B \-wireframe
-Render in wireframe instead of solid.
-.TP 8
-.B \-fps
-Display the current frame rate, CPU load, and polygon count.
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH SEE ALSO
-.BR X (1),
-.BR xscreensaver (1)
-.SH COPYRIGHT
-Copyright \(co 2011 by Jamie Zawinski.  Permission to use, copy,
-modify, distribute, and sell this software and its documentation for
-any purpose is hereby granted without fee, provided that the above
-copyright notice appear in all copies and that both that copyright
-notice and this permission notice appear in supporting documentation.
-No representations are made about the suitability of this software for
-any purpose.  It is provided "as is" without express or implied
-warranty.
-.SH AUTHOR
-Jamie Zawinski.
diff --git a/hacks/glx/hypertorus.man b/hacks/glx/hypertorus.man
deleted file mode 100644 (file)
index 8c7075f..0000000
+++ /dev/null
@@ -1,188 +0,0 @@
-.TH XScreenSaver 1 "" "X Version 11"
-.SH NAME
-hypertorus - Draws a hypertorus that rotates in 4d
-.SH SYNOPSIS
-.B hypertorus
-[\-display \fIhost:display.screen\fP]
-[\-install]
-[\-visual \fIvisual\fP]
-[\-window]
-[\-root]
-[\-delay \fIusecs\fP]
-[\-fps]
-[\-wireframe]
-[\-surface]
-[\-transparent]
-[\-solid]
-[\-bands]
-[\-spirals-{1,2,4,8,16}]
-[\-twosided]
-[\-colorwheel]
-[\-perspective-3d]
-[\-orthographic-3d]
-[\-perspective-4d]
-[\-orthographic-4d]
-[\-speed-wx \fIfloat\fP]
-[\-speed-wy \fIfloat\fP]
-[\-speed-wz \fIfloat\fP]
-[\-speed-xy \fIfloat\fP]
-[\-speed-xz \fIfloat\fP]
-[\-speed-yz \fIfloat\fP]
-.SH DESCRIPTION
-The \fIhypertorus\fP program shows the Clifford torus as it rotates in
-4d.  The Clifford torus is a torus lies on the "surface" of the
-hypersphere in 4d.  The program projects the 4d torus to 3d using
-either a perspective or an orthographic projection.  Of the two
-alternatives, the perspective projection looks much more appealing.
-In orthographic projections the torus degenerates into a doubly
-covered cylinder for some angles.  The projected 3d torus can then be
-projected to the screen either perspectively or orthographically.
-There are three display modes for the torus: mesh (wireframe), solid,
-or transparent.  Furthermore, the appearance of the torus can be as a
-solid object or as a set of see-through bands or see-through spirals.
-Finally, the colors with with the torus is drawn can be set to either
-two-sided or to a color wheel.  In the first case, the torus is drawn
-with red on the outside and green on the inside.  This mode enables
-you to see that the torus turns inside-out as it rotates in 4d.  The
-second mode draws the torus with a fully saturated color wheel.  This
-gives a very nice effect when combined with the see-through bands or
-see-through spirals mode.  The rotation speed for each of the six
-planes around which the torus rotates can be chosen.  This program is
-very much inspired by Thomas Banchoff's book "Beyond the Third
-Dimension: Geometry, Computer Graphics, and Higher Dimensions",
-Scientific American Library, 1990.
-.SH OPTIONS
-.I hypertorus
-accepts the following options:
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-install
-Install a private colormap for the window.
-.TP 8
-.B \-visual \fIvisual\fP
-Specify which visual to use.  Legal values are the name of a visual
-class, or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-delay \fImicroseconds\fP
-How much of a delay should be introduced between steps of the
-animation.  Default 25000, or 1/40th second.
-.PP
-The following three options are mutually exclusive.  They determine
-how the torus is displayed.
-.TP 8
-.B \-wireframe
-Display the torus as a wireframe mesh.
-.TP 8
-.B \-surface
-Display the torus as a solid surface (default).
-.TP 8
-.B \-transparent
-Display the torus as a transparent surface.
-.PP
-The following seven options are mutually exclusive.  They determine the
-appearance of the torus.
-.TP 8
-.B \-solid
-Display the torus as a solid object.
-.TP 8
-.B \-bands
-Display the torus as see-through bands (default).
-.TP 8
-.B \-spirals-1, \-spirals-2, \-spirals-4, \-spirals-8, \-spirals-16
-Display the torus as see-through spirals with the indicated number of
-spirals.
-.PP
-The following two options are mutually exclusive.  They determine how
-to color the torus.
-.TP 8
-.B \-twosided
-Display the torus with two colors: red on the outside and green on
-the inside.
-.TP 8
-.B \-colorwheel
-Display the torus with a fully saturated color wheel (default).  If
-the torus is displayed as see-through bands each band will be
-displayed with a different color.  Likewise, if the torus is displayed
-as see-through spirals each spiral will receive a different color.
-.PP
-The following two options are mutually exclusive.  They determine how
-the torus is projected from 3d to 2d (i.e., to the screen).
-.TP 8
-.B \-perspective-3d
-Project the torus from 3d to 2d using a perspective projection
-(default).
-.TP 8
-.B \-orthographic-3d
-Project the torus from 3d to 2d using an orthographic projection.
-.PP
-The following two options are mutually exclusive.  They determine how
-the torus is projected from 4d to 3d.
-.TP 8
-.B \-perspective-4d
-Project the torus from 4d to 3d using a perspective projection
-(default).
-.TP 8
-.B \-orthographic-4d
-Project the torus from 4d to 3d using an orthographic projection.
-.PP
-The following six options determine the rotation speed of the torus
-around the six possible hyperplanes.  The rotation speed is measured
-in degrees per frame.  The speeds should be set to relatively small
-values, e.g., less than 4 in magnitude.
-.TP 8
-.B \-speed-wx \fIfloat\fP
-Rotation speed around the wx plane (default: 1.1).
-.TP 8
-.B \-speed-wy \fIfloat\fP
-Rotation speed around the wy plane (default: 1.3).
-.TP 8
-.B \-speed-wz \fIfloat\fP
-Rotation speed around the wz plane (default: 1.5).
-.TP 8
-.B \-speed-xy \fIfloat\fP
-Rotation speed around the xy plane (default: 1.7).
-.TP 8
-.B \-speed-xz \fIfloat\fP
-Rotation speed around the xz plane (default: 1.9).
-.TP 8
-.B \-speed-yz \fIfloat\fP
-Rotation speed around the yz plane (default: 2.1).
-.TP 8
-.B \-fps
-Display the current frame rate, CPU load, and polygon count.
-.SH INTERACTION
-If you run this program in standalone mode you can rotate the
-hypertorus by dragging the mouse while pressing the left mouse button.
-This rotates the hypertorus in 3D, i.e., around the wx, wy, and wz
-planes.  If you press the shift key while dragging the mouse with the
-left button pressed the hypertorus is rotated in 4D, i.e., around the
-xy, xz, and yz planes.  To examine the hypertorus at your leisure, it
-is best to set all speeds to 0.  Otherwise, the hypertorus will rotate
-while the left mouse button is not pressed.
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH SEE ALSO
-.BR X (1),
-.BR xscreensaver (1)
-.SH COPYRIGHT
-Copyright \(co 2003-2005 by Carsten Steger.  Permission to use, copy, modify, 
-distribute, and sell this software and its documentation for any purpose is 
-hereby granted without fee, provided that the above copyright notice appear 
-in all copies and that both that copyright notice and this permission notice
-appear in supporting documentation.  No representations are made about the 
-suitability of this software for any purpose.  It is provided "as is" without
-express or implied warranty.
-.SH AUTHOR
-Carsten Steger <carsten@mirsanmir.org>, 28-sep-2005.
diff --git a/hacks/glx/hypnowheel.man b/hacks/glx/hypnowheel.man
deleted file mode 100644 (file)
index 233c945..0000000
+++ /dev/null
@@ -1,80 +0,0 @@
-.TH XScreenSaver 1 "" "X Version 11"
-.SH NAME
-hypnowheel - draws overlapping, translucent spiral patterns
-.SH SYNOPSIS
-.B hypnowheel
-[\-display \fIhost:display.screen\fP]
-[\-visual \fIvisual\fP]
-[\-window]
-[\-root]
-[\-delay \fIint\fP]
-[\-layers \fIint\fP]
-[\-count \fIint\fP]
-[\-twistiness \fIfloat\fP]
-[\-speed \fIfloat\fP]
-[\-wander\fP]
-[\-symmetric\fP]
-[\-fps]
-.SH DESCRIPTION
-Draws a series of overlapping, translucent spiral patterns.
-The tightness of their spirals fluctuates in and out.
-.SH OPTIONS
-.TP 8
-.B \-visual \fIvisual\fP
-Specify which visual to use.  Legal values are the name of a visual class,
-or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-delay \fIint\fP
-Delay between frames, in microseconds.  Default 20000.
-.TP 8
-.B \-layers \fIint\fP
-How many different spirals to draw at once.  Default 4.
-.TP 8
-.B \-count \fIint\fP
-How many arms each spiral should have.  Default 11.
-.TP 8
-.B \-twistiness \fIfloat\fP
-How tightly wound the spirals can become, measured in rotations.
-Default 4.0 (four times around).
-.TP 8
-.B \-speed \fIratio\fP
-Less than 1 for slower, greater than 1 for faster.  Default 1.
-.TP 8
-.B \-wander
-If specified, then the centers of the spirals will wander around,
-rather than them all having the same origin.
-.TP 8
-.B \-symmetric
-If specified, then each pair of left-wrapping and right-wrapping
-spirals will be mirror images of each other.
-.TP 8
-.B \-fps
-Display the current frame rate, CPU load, and polygon count.
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH SEE ALSO
-.BR X (1),
-.BR xscreensaver (1)
-.SH COPYRIGHT
-Copyright \(co 2008 by Jamie Zawinski.  Permission to use, copy, modify, 
-distribute, and sell this software and its documentation for any purpose is 
-hereby granted without fee, provided that the above copyright notice appear 
-in all copies and that both that copyright notice and this permission notice
-appear in supporting documentation.  No representations are made about the 
-suitability of this software for any purpose.  It is provided "as is" without
-express or implied warranty.
-.SH AUTHOR
-Jamie Zawinski.
diff --git a/hacks/glx/jigglypuff.man b/hacks/glx/jigglypuff.man
deleted file mode 100644 (file)
index 4a5f8bf..0000000
+++ /dev/null
@@ -1,121 +0,0 @@
-.TH XScreenSaver 1 "" "X Version 11"
-.SH NAME
-jigglypuff - save your screen by tormenting your eyes.
-.SH SYNOPSIS
-.B jigglypuff
-[\-display \fIhost:display.screen\fP]
-[\-visual \fIvisual\fP]
-[\-window]
-[\-root]
-[-delay \fInumber\fP]
-[-cycles \fInumber\fP]
-[-wireframe]
-[-fps]
-[-color \fIcolorspec\fP]
-[-spooky]
-[-complexity \fIn\fP]
-[-speed \fIn\fP]
-[-spherism \fIn\fP]
-[-hold \fIn\fP]
-[-distance \fIn\fP]
-[-damping \fIn\fP]
-.SH DESCRIPTION
-This draws all manners of obscene, spastic, puffy, vaguely ball-shaped
-objects orbiting lazily about the screen, with a dizzying array of
-mostly pointless options.
-.SH OPTIONS
-.TP 8
-.B \-visual \fIvisual\fP
-Specify which visual to use.  Legal values are the name of a visual class,
-or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-delay \fInumber\fP
-Per-frame delay, in microseconds.  Default: 20000 (0.02 seconds.).
-.TP 8
-.B \-wireframe
-Render in wireframe instead of solid. Default: render solid.
-.TP 8
-.B \-fps
-Display the current frame rate, CPU load, and polygon count.
-.TP 8
-.B -tetra | -no-tetra
-Whether to start the shape in the form of a tetrahedron. The default
-is to start as a sphere.
-.TP 8
-.B -color \fIcolorspec\fP
-Available options for colorspec are: cycle, flowerbox, clownpuke, chrome
-and #xxxxxx (i.e an (old-style) X color specification.) Default: cycle
-.TP 8
-.B -spooky \fIn\fP
-This option controls a kind of interesting effect obtained by
-using unnormalized normal vectors (how's that for an oxymoron?) in OpenGL.
-A value of zero disables the effect. Other values vary the lengths of
-the normals proportionally.
-Okay, so it's not very spooky. Sue me.
-Default: 0
-.TP 8
-.B -complexity \fIn\fP
-Valid options are 1, 2, and 3. Everything else is treated as though it
-were 2, which is the default. This controls the number of polygons in
-the 'thing'. A value of 1 yields 1024, and the values go up in powers
-of 4. (i.e. 4096, 16384.)
- note: There is an inherent lack of stability
-at lower complexity, which can cause the shape to devolve into a 'flying
-snotrag'.
-.TP 8
-.B -speed \fIn\fP
-Controls how fast the blob moves around the screen. Default: 500.
-.TP 8
-.B -spherism, -hold, -distance, -damping
-These options control the 'jigglyness'. The best way to explain these is
-to explain how jigglypuff works. Basically, the shape is a tetrahedron
-whose faces are subdivided into a number of triangles, forming a mesh.
-Each of the vertices of the mesh has two different forces applied to it:
-one proportional to its distance from the surface of a sphere, and one
-proportional to the difference of the distance to each of its neighbors
-in the mesh to a given ideal distance. In short, one tries to move the
-points into the configuration of a sphere, and the other tries to push
-them back into a tetrahedron. The catch is that the points have inertia,
-so they always overshoot their target, and hence they oscillate. The
-magnitudes of the two forces is controlled by the options 'spherism' and
-\'hold'; 'distance' specifies the distance the vertices seek to keep from
-their neighbors, with 500 corresponding to the size of the start tetrahedron.
-e.g. if you were to give the options '-tetra -spherism 0 -distance 500', you
-would end up with a stable tetrahedron. The 'damping' option can help to
-keep the blob from collapsing or flying apart. The option specifies the
-speed at which damping starts, hence lower values mean more damping.
-Defaults: spherism: 75; hold: 800; distance: 100; damping: 500.
-.TP 8
-.B -random
-Probably the only parameter you'l ever need. Overrides almost all of the
-parameters with random values. The values affected are: speed, spherism,
-hold, distance, damping, spooky, color, wireframe and tetra.
-Default: off
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH SEE ALSO
-.BR X (1),
-.BR xscreensaver (1)
-.SH COPYRIGHT
-Copyright \(co 2003 by Keith Macleod.  Permission to use, copy, modify, 
-distribute, and sell this software and its documentation for any purpose is 
-hereby granted without fee, provided that the above copyright notice appear 
-in all copies and that both that copyright notice and this permission notice
-appear in supporting documentation.  No representations are made about the 
-suitability of this software for any purpose.  It is provided "as is" without
-express or implied warranty.
-.SH AUTHOR
-By Keith Macleod
diff --git a/hacks/glx/jigsaw.man b/hacks/glx/jigsaw.man
deleted file mode 100644 (file)
index c7d3493..0000000
+++ /dev/null
@@ -1,90 +0,0 @@
-.TH XScreenSaver 1 "25-Aug-2008" "X Version 11"
-.SH NAME
-jigsaw - permute an image like a jigsaw puzzle
-.SH SYNOPSIS
-.B jigsaw
-[\-display \fIhost:display.screen\fP]
-[\-delay \fIusecs\fP]
-[\-speed \fIratio\fP]
-[\-complexity \fIratio\fP]
-[\-resolution \fIint\fP]
-[\-thickness \fIfloat\fP]
-[\-no\-wobble]
-[\-fps]
-.SH DESCRIPTION
-The \fIjigsaw\fP program loads an image, carves it up into
-a jigsaw puzzle, shuffles it, and then solves it.
-
-The image that it manipulates will be grabbed from the portion of
-the screen underlying the window, or from the system's video input,
-or from a random file on disk, as indicated by
-the \fIgrabDesktopImages\fP, \fIgrabVideoFrames\fP,
-and \fIchooseRandomImages\fP options in the \fI~/.xscreensaver\fP
-file; see
-.BR xscreensaver-demo (1)
-for more details.
-.SH OPTIONS
-.I jigsaw
-accepts the following options:
-.TP 8
-.B \-delay \fImicroseconds\fP
-How long to wait between animation frames; default 20000.
-.TP 8
-.B \-speed \fIratio\fP
-Less than 1 for slower, greater than 1 for faster.  Default 1.
-.TP 8
-.B \-complexity \fIratio\fP
-Less than 1 for simpler puzzles (fewer pieces), greater than 1 for
-more complex puzzles (more pieces).  Default 1.
-.TP 8
-.B \-resolution \fIratio\fP
-Smoothness of the edges of the pieces.  Less than 1 for rougher pieces
-(fewer polygons), greater than 1 for more smoother pieces (more polygons).
-Default 1.
-.TP 8
-.B \-thickness \fIfloat\fP
-Thickness of the puzzle pieces (relative to their width).
-Default 0.06.
-.TP 8
-.B \-no\-wobble
-Keep the display stationary instead of very slowly wobbling back and forth.
-.TP 8
-.B \-fps
-Display the current frame rate, polygon count, and CPU load.
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-install
-Install a private colormap for the window.
-.TP 8
-.B \-visual \fIvisual\fP
-Specify which visual to use.  Legal values are the name of a visual class,
-or the id number (decimal or hex) of a specific visual.
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH SEE ALSO
-.BR X (1),
-.BR xscreensaver (1),
-.BR xscreensaver\-demo (1),
-.BR xscreensaver\-getimage (1)
-.SH COPYRIGHT
-Copyright \(co 1997 by Jamie Zawinski.  Permission to use, copy, modify, 
-distribute, and sell this software and its documentation for any purpose is 
-hereby granted without fee, provided that the above copyright notice appear 
-in all copies and that both that copyright notice and this permission notice
-appear in supporting documentation.  No representations are made about the 
-suitability of this software for any purpose.  It is provided "as is" without
-express or implied warranty.
-.SH AUTHOR
-Jamie Zawinski <jwz@jwz.org>, 25-Nov-97.
diff --git a/hacks/glx/juggler3d.man b/hacks/glx/juggler3d.man
deleted file mode 100644 (file)
index 48d4716..0000000
+++ /dev/null
@@ -1,183 +0,0 @@
-'\" t
-.\" ** The above line should force tbl to be used as a preprocessor **
-.TH XScreenSaver 1 "" "X Version 11"
-.SH NAME
-juggler3d - juggling man screen saver.
-.SH SYNOPSIS
-.B juggler3d
-[\-display host:display.screen ]
-[\-root ]
-[\-window ]
-[\-mono ]
-[\-install | \-noinstall ]
-[\-visual visual ]
-[\-window\-id id ]
-[\-pattern pattern ]
-[\-tail number ]
-[\-real | \-no\-real ]
-[\-describe | \-no\-describe ]
-[\-balls | \-no\-balls ]
-[\-clubs | \-no\-clubs ]
-[\-torches | \-no\-torches ]
-[\-knives | \-no\-knives ]
-[\-rings | \-no\-rings ]
-[\-bballs | \-no\-bballs ]
-[\-count count ]
-[\-cycles cycles ]
-[\-delay delay ]
-[\-ncolors ncolors ]
-[\-fps]
-.SH DESCRIPTION
-Draws a stick-man juggling various collections of objects.
-.SH OPTIONS
-.I juggler3d
-accepts the following options:
-.TP 8
-.B \-display host:display.screen
-X11 display to use.  Overrides
-.B DISPLAY
-environment variable.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-window
-Draw on a newly-created X window.  This is the default.
-.TP 8
-.B \-mono
-Draw in monochrome.
-.TP 8
-.B \-install | \-noinstall
-Turn on/off installing colormap.
-.TP 8
-.B \-visual visual
-Specify which visual to use.  Legal values are the name of a visual class,
-or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-window\-id id
-Draw on an already existing X window.
-.TP 8
-.B \-pattern\ \(dq pattern \(dq
-Specify juggling pattern in annotated
-.B site-swap
-notation.  In 
-.B site-swap
-notation, the "height" of each throw is given.  E.g., "3" is the height
-needed to juggle a 3\-Cascade.  Note that these sequences need to be
-chosen carefully, to avoid collisions.
-
-Annotations indicate relative hand movements or tricks:
-.TS
-cb l.
-\&\-   Inside throw (default)
-+      Outside throw
-\&=    Cross Throw
-&      Cross Catch
-x      Cross Throw and Catch
-\&_    Bounce
-.TE
-.TP 8
-.B \-pattern\ \(dq[ pattern ]\(dq
-Specify juggling pattern in annotated
-.B Adam
-notation.  Adam notation is a little harder to visualize.  Each
-integer
-.B n
-represents a cyclic permutation of (0...n).  The equivalent
-.B site-swap
-value is determined by calculating how many of the permutations it
-takes to get back to the identity.  The largest number used is the
-same as the number of objects in the pattern.  The advantage of Adam
-notation is that these sequences do not need to be chosen carefully,
-since all possible sequences are juggle-able.  Annotations are the same
-as in
-.B site-swap
-notation.
-
-For example, both of these describe a 3\-Shower:
-.IP
-.B \-pattern\ "+5 1"
-.IP
-.B \-pattern\ "[+3 1]"
-
-For further examples, see the
-.B portfolio
-list in the source code.
-.TP 8
-.B \-tail number
-Minimum Trail Length.  0 \- 100.  Default: 1.  Objects may override
-this, for example flaming torches always leave a trail.
-.TP 8
-.BR \-real | \-no\-real
-Turn on/off real-time juggling.
-.B Deprecated.
-There should be no need to turn off real-time juggling, even on slow
-systems.  Adjust speed using
-.B \-count
-above.
-.TP 8
-.BR \-describe | \-no\-describe
-Turn on/off pattern descriptions.
-.TP 8 
-.BR \-balls | \-no\-balls
-Turn on/off Balls.
-.TP 8
-.BR \-clubs | \-no\-clubs
-Turn on/off Clubs.
-.TP 8
-.BR \-torches | \-no\-torches
-Turn on/off Flaming Torches.
-.TP 8
-.BR \-knives | \-no\-knives
-Turn on/off Knives.
-.TP 8
-.BR \-rings | \-no\-rings
-Turn on/off Rings.
-.TP 8
-.BR \-bballs | \-no\-bballs
-Turn on/off Bowling Balls.
-.TP 8
-.B \-count number
-Speed. 50 \- 1000.  Default: 200.  This determines the expected time
-interval between a throw and the next catch, in milliseconds.
-.TP 8
-.B \-cycles number
-Performance Length. 50 \- 1000.  Default: 1000.  Setting this smaller
-will force the juggler to switch patterns (and objects) more often.
-.TP 8
-.B \-delay delay
-Additional delay between frames, in microseconds.  Default: 10000.
-.B Deprecated.
-Adjust speed using
-.BR \-count .
-.TP 8
-.B \-ncolors ncolors
-Maximum number of colors to use.  Default: 32.
-.TP 8
-.B \-fps
-Display the current frame rate and CPU load.
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH SEE ALSO
-.BR X (1),
-.BR xscreensaver (1)
-.SH COPYRIGHT
-Copyright \(co 1996,2000,2002,2004 by Tim Auckland.  Permission to
-use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided
-that the above copyright notice appear in all copies and that both
-that copyright notice and this permission notice appear in supporting
-documentation.  No representations are made about the suitability of
-this software for any purpose.  It is provided "as is" without express
-or implied warranty.
-.SH AUTHOR
-Tim Auckland.
-
-Converted to OpenGL by Jamie Zawinski, 2009.
diff --git a/hacks/glx/kaleidocycle.man b/hacks/glx/kaleidocycle.man
deleted file mode 100644 (file)
index 874d82d..0000000
+++ /dev/null
@@ -1,96 +0,0 @@
-.de EX         \"Begin example
-.ne 5
-.if n .sp 1
-.if t .sp .5
-.nf
-.in +.5i
-..
-.de EE
-.fi
-.in -.5i
-.if n .sp 1
-.if t .sp .5
-..
-.TH XScreenSaver 1 "25-Jul-98" "X Version 11"
-.SH NAME
-kaleidocycle - draws twistable rings of tetrahedra
-.SH SYNOPSIS
-.B kaleidocycle
-[\-display \fIhost:display.screen\fP] [\-window] [\-root]
-[\-visual \fIvisual\fP] [\-delay \fImicroseconds\fP]
-[\-count \fInumber\fP]
-[\-speed \fInumber\fP]
-[\-wander] [\-no-wander]
-[\-spin \fIaxes\fP]
-[\-no-spin]
-[\-wireframe]
-[\-fps]
-.SH DESCRIPTION
-The \fIkaleidocycle\fP program draws a ring composed of tetrahedra
-connected at the edges that twists and rotates toroidally.  Segments
-are occasionally inserted or removed.
-.SH OPTIONS
-.I kaleidocycle
-accepts the following options:
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-install
-Install a private colormap for the window.
-.TP 8
-.B \-visual \fIvisual\fP\fP
-Specify which visual to use.  Legal values are the name of a visual class,
-or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-count \fInumber\fP
-The initial number of segments. Default 16.  Must be 8 or greater, and
-an even number.
-.TP 8
-.B \-speed \fInumber\fP
-Adjust the animation speed. 0.5 for half as fast, 2.0 for twice as fast.
-.TP 8
-.B \-wander
-Move the text around the screen.  This is the default.
-.TP 8
-.B \-no\-wander
-Keep the text centered on the screen.
-.TP 8
-.B \-spin
-Which axes around which the text should spin.  The default is "Z",
-meaning rotate the object the plane of the screen only.
-.TP 8
-.B \-no\-spin
-Don't spin the text at all: the same as \fB\-spin ""\fP.
-.TP 8
-.B \-wireframe
-Render in wireframe instead of solid.
-.TP 8
-.B \-fps
-Display the current frame rate, CPU load, and polygon count.
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH SEE ALSO
-.BR X (1),
-.BR xscreensaver (1)
-.SH COPYRIGHT
-Copyright \(co 2001-2013 by Jamie Zawinski.
-Permission to use, copy, modify, distribute, and sell this software and
-its documentation for any purpose is hereby granted without fee,
-provided that the above copyright notice appear in all copies and that
-both that copyright notice and this permission notice appear in
-supporting documentation.  No representations are made about the
-suitability of this software for any purpose.  It is provided "as is"
-without express or implied warranty.
-.SH AUTHOR
-Jamie Zawinski <jwz@jwz.org>
diff --git a/hacks/glx/klein.man b/hacks/glx/klein.man
deleted file mode 100644 (file)
index de4fd48..0000000
+++ /dev/null
@@ -1,299 +0,0 @@
-.TH XScreenSaver 1 "" "X Version 11"
-.SH NAME
-kleinbottle - Draws a 4d Klein bottle.
-.SH SYNOPSIS
-.B kleinbottle
-[\-display \fIhost:display.screen\fP]
-[\-install]
-[\-visual \fIvisual\fP]
-[\-window]
-[\-root]
-[\-delay \fIusecs\fP]
-[\-fps]
-[\-klein-bottle \fIbottle-name\fP]
-[-figure-8]
-[-lawson]
-[\-mode \fIdisplay-mode\fP]
-[\-wireframe]
-[\-surface]
-[\-transparent]
-[\-appearance \fIappearance\fP]
-[\-solid]
-[\-bands]
-[\-colors \fIcolor-scheme\fP]
-[\-twosided]
-[\-rainbow]
-[\-depth]
-[\-view-mode \fIview-mode\fP]
-[\-walk]
-[\-turn]
-[\-walk-turn]
-[\-orientation-marks]
-[\-projection-3d \fImode\fP]
-[\-perspective-3d]
-[\-orthographic-3d]
-[\-projection-4d \fImode\fP]
-[\-perspective-4d]
-[\-orthographic-4d]
-[\-speed-wx \fIfloat\fP]
-[\-speed-wy \fIfloat\fP]
-[\-speed-wz \fIfloat\fP]
-[\-speed-xy \fIfloat\fP]
-[\-speed-xz \fIfloat\fP]
-[\-speed-yz \fIfloat\fP]
-[\-walk-direction \fIfloat\fP]
-[\-walk-speed \fIfloat\fP]
-.SH DESCRIPTION
-The \fIkleinbottle\fP program shows two different Klein bottles in 4d:
-the figure-8 Klein bottle or the Lawson Klein bottle.  You can walk on
-the Klein bottle, see it turn in 4d, or walk on it while it turns in
-4d.  The figure-8 Klein bottle is well known in its 3d form.  The 4d
-form used in this program is an extension of the 3d form to 4d that
-does not intersect itself in 4d (which can be seen in the depth colors
-mode).  The Lawson Klein bottle, on the other hand, does intersect
-itself in 4d.  Its primary use is that it has a nice appearance for
-walking and for turning in 3d.  The Klein bottle is a non-orientable
-surface.  To make this apparent, the two-sided color mode can be used.
-Alternatively, orientation markers (curling arrows) can be drawn as a
-texture map on the surface of the Klein bottle.  While walking on the
-Klein bottle, you will notice that the orientation of the curling
-arrows changes (which it must because the Klein bottle is
-non-orientable).  The program projects the 4d Klein bottle to 3d using
-either a perspective or an orthographic projection.  Which of the two
-alternatives looks more appealing depends on the viewing mode and the
-Klein bottle.  For example, the Lawson Klein bottle looks nicest when
-projected perspectively.  The figure-8 Klein bottle, on the other
-hand, looks nicer while walking when projected orthographically from
-4d.  The projected Klein bottle can then be projected to the screen
-either perspectively or orthographically.  When using the walking
-modes, perspective projection to the screen should be used.  There are
-three display modes for the Klein bottle: mesh (wireframe), solid, or
-transparent.  Furthermore, the appearance of the Klein bottle can be
-as a solid object or as a set of see-through bands.  Finally, the
-colors with with the Klein bottle is drawn can be set to two-sided,
-rainbow, or depth.  In the first case, the Klein bottle is drawn with
-red on one "side" and green on the "other side".  Of course, the Klein
-bottle only has one side, so the color jumps from red to green along a
-curve on the surface of the Klein bottle.  This mode enables you to
-see that the Klein bottle is non-orientable.  The second mode draws
-the Klein bottle with fully saturated rainbow colors.  This gives a
-very nice effect when combined with the see-through bands mode or with
-the orientation markers drawn.  The third mode draws the Klein bottle
-with colors that are chosen according to the 4d "depth" of the points.
-This mode enables you to see that the figure-8 Klein bottle does not
-intersect itself in 4d, while the Lawson Klein bottle does intersect
-itself.  The rotation speed for each of the six planes around which
-the Klein bottle rotates can be chosen.  For the walk-and-turn more,
-only the rotation speeds around the true 4d planes are used (the xy,
-xz, and yz planes).  Furthermore, in the walking modes the walking
-direction in the 2d base square of the Klein bottle and the walking
-speed can be chosen.  This program is somewhat inspired by Thomas
-Banchoff's book "Beyond the Third Dimension: Geometry, Computer
-Graphics, and Higher Dimensions", Scientific American Library, 1990.
-.SH OPTIONS
-.I kleinbottle
-accepts the following options:
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-install
-Install a private colormap for the window.
-.TP 8
-.B \-visual \fIvisual\fP
-Specify which visual to use.  Legal values are the name of a visual
-class, or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-delay \fImicroseconds\fP
-How much of a delay should be introduced between steps of the
-animation.  Default 10000, or 1/100th second.
-.TP 8
-.B \-fps
-Display the current frame rate, CPU load, and polygon count.
-.PP
-The following three options are mutually exclusive.  They determine
-which Klein bottle is displayed.
-.TP 8
-.B \-klein-bottle random
-Display a random Klein bottle (default).
-.TP 8
-.B \-klein-bottle figure-8 \fP(Shortcut: \fB\-figure-8\fP)
-Display the figure-8 Klein bottle.
-.TP 8
-.B \-klein-bottle lawson \fP(Shortcut: \fB\-lawson\fP)
-Display the Lawson Klein bottle.
-.PP
-The following four options are mutually exclusive.  They determine
-how the Klein bottle is displayed.
-.TP 8
-.B \-mode random
-Display the Klein bottle in a random display mode (default).
-.TP 8
-.B \-mode wireframe \fP(Shortcut: \fB\-wireframe\fP)
-Display the Klein bottle as a wireframe mesh.
-.TP 8
-.B \-mode surface \fP(Shortcut: \fB\-surface\fP)
-Display the Klein bottle as a solid surface.
-.TP 8
-.B \-mode transparent \fP(Shortcut: \fB\-transparent\fP)
-Display the Klein bottle as a transparent surface.
-.PP
-The following three options are mutually exclusive.  They determine the
-appearance of the Klein bottle.
-.TP 8
-.B \-appearance random
-Display the Klein bottle with a random appearance (default).
-.TP 8
-.B \-appearance solid \fP(Shortcut: \fB\-solid\fP)
-Display the Klein bottle as a solid object.
-.TP 8
-.B \-appearance bands \fP(Shortcut: \fB\-bands\fP)
-Display the Klein bottle as see-through bands.
-.PP
-The following four options are mutually exclusive.  They determine
-how to color the Klein bottle.
-.TP 8
-.B \-colors random
-Display the Klein bottle with a random color scheme (default).
-.TP 8
-.B \-colors twosided \fP(Shortcut: \fB\-twosided\fP)
-Display the Klein bottle with two colors: red on one "side" and green
-on the "other side".
-.TP 8
-.B \-colors rainbow \fP(Shortcut: \fB\-rainbow\fP)
-Display the Klein bottle with fully saturated rainbow colors.  If the
-Klein bottle is displayed as see-through bands, each band will be
-displayed with a different color.
-.TP 8
-.B \-colors depth \fP(Shortcut: \fB\-depth\fP)
-Display the Klein bottle with colors chosen depending on the 4d
-"depth" of the points.
-.PP
-The following four options are mutually exclusive.  They determine
-how to view the Klein bottle.
-.TP 8
-.B \-view-mode random
-View the Klein bottle in a random view mode (default).
-.TP 8
-.B \-view-mode walk \fP(Shortcut: \fB\-walk\fP)
-View the Klein bottle as if walking on its surface.
-.TP 8
-.B \-view-mode turn \fP(Shortcut: \fB\-turn\fP)
-View the Klein bottle while it turns in 4d.
-.TP 8
-.B \-view-mode walk-turn \fP(Shortcut: \fB\-walk-turn\fP)
-View the Klein bottle as if walking on its surface.  Additionally, the
-Klein bottle turns around the true 4d planes (the xy, xz, and yz
-planes).
-.PP
-The following options determine whether orientation marks are shown on
-the Klein bottle.
-.TP 8
-.B \-orientation-marks
-Display orientation marks on the Klein bottle.
-.TP 8
-.B \-no-orientation-marks
-Don't display orientation marks on the Klein bottle (default).
-.PP
-The following three options are mutually exclusive.  They determine
-how the Klein bottle is projected from 3d to 2d (i.e., to the screen).
-.TP 8
-.B \-projection-3d random
-Project the Klein bottle from 3d to 2d using a random projection mode
-(default).
-.TP 8
-.B \-projection-3d perspective \fP(Shortcut: \fB\-perspective-3d\fP)
-Project the Klein bottle from 3d to 2d using a perspective projection.
-.TP 8
-.B \-projection-3d orthographic \fP(Shortcut: \fB\-orthographic-3d\fP)
-Project the Klein bottle from 3d to 2d using an orthographic
-projection.
-.PP
-The following three options are mutually exclusive.  They determine
-how the Klein bottle is projected from 4d to 3d.
-.TP 8
-.B \-projection-4d random
-Project the Klein bottle from 4d to 3d using a random projection mode
-(default).
-.TP 8
-.B \-projection-4d perspective \fP(Shortcut: \fB\-perspective-4d\fP)
-Project the Klein bottle from 4d to 3d using a perspective projection.
-.TP 8
-.B \-projection-4d orthographic \fP(Shortcut: \fB\-orthographic-4d\fP)
-Project the Klein bottle from 4d to 3d using an orthographic
-projection.
-.PP
-The following six options determine the rotation speed of the Klein
-bottle around the six possible hyperplanes.  The rotation speed is
-measured in degrees per frame.  The speeds should be set to relatively
-small values, e.g., less than 4 in magnitude.  In walk mode, all
-speeds are ignored.  In walk-and-turn mode, the 3d rotation speeds are
-ignored (i.e., the wx, wy, and wz speeds).  In walk-and-turn mode,
-smaller speeds must be used than in the turn mode to achieve a nice
-visualization.  Therefore, in walk-and-turn mode the speeds you have
-selected are divided by 5 internally.
-.TP 8
-.B \-speed-wx \fIfloat\fP
-Rotation speed around the wx plane (default: 1.1).
-.TP 8
-.B \-speed-wy \fIfloat\fP
-Rotation speed around the wy plane (default: 1.3).
-.TP 8
-.B \-speed-wz \fIfloat\fP
-Rotation speed around the wz plane (default: 1.5).
-.TP 8
-.B \-speed-xy \fIfloat\fP
-Rotation speed around the xy plane (default: 1.7).
-.TP 8
-.B \-speed-xz \fIfloat\fP
-Rotation speed around the xz plane (default: 1.9).
-.TP 8
-.B \-speed-yz \fIfloat\fP
-Rotation speed around the yz plane (default: 2.1).
-.PP
-The following two options determine the walking speed and direction.
-.TP 8
-.B \-walk-direction \fIfloat\fP
-The walking direction is measured as an angle in degrees in the 2d
-square that forms the coordinate system of the surface of the Klein
-bottle (default: 7.0).
-.TP 8
-.B \-walk-speed \fIfloat\fP
-The walking speed is measured in percent of some sensible maximum
-speed (default: 20.0).
-.SH INTERACTION
-If you run this program in standalone mode in its turn mode, you can
-rotate the Klein bottle by dragging the mouse while pressing the left
-mouse button.  This rotates the Klein bottle in 3D, i.e., around the
-wx, wy, and wz planes.  If you press the shift key while dragging the
-mouse with the left button pressed the Klein bottle is rotated in 4D,
-i.e., around the xy, xz, and yz planes.  To examine the Klein bottle
-at your leisure, it is best to set all speeds to 0.  Otherwise, the
-Klein bottle will rotate while the left mouse button is not pressed.
-This kind of interaction is not available in the two walk modes.
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH SEE ALSO
-.BR X (1),
-.BR xscreensaver (1)
-.SH COPYRIGHT
-Copyright \(co 2005-2009 by Carsten Steger.  Permission to use, copy,
-modify, distribute, and sell this software and its documentation for
-any purpose is hereby granted without fee, provided that the above
-copyright notice appear in all copies and that both that copyright
-notice and this permission notice appear in supporting documentation.
-No representations are made about the suitability of this software for
-any purpose.  It is provided "as is" without express or implied
-warranty.
-.SH AUTHOR
-Carsten Steger <carsten@mirsanmir.org>, 03-aug-2009.
diff --git a/hacks/glx/lament.man b/hacks/glx/lament.man
deleted file mode 100644 (file)
index 2077dd6..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-.TH XScreenSaver 1 "25-Jul-98" "X Version 11"
-.SH NAME
-lament - animates the Lament Configuration
-.SH SYNOPSIS
-.B lament
-[\-display \fIhost:display.screen\fP] [\-window] [\-root] [\-install]
-[\-visual \fIvisual\fP] [\-delay \fImicroseconds\fP] [\-fps]
-[\-texture] [\-no\-texture] [\-wireframe]
-.SH DESCRIPTION
-The \fIlament\fP program draws an animation of a particular puzzle box
-repeatedly solving itself.
-.SH OPTIONS
-.I lament
-accepts the following options:
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-install
-Install a private colormap for the window.
-.TP 8
-.B \-visual \fIvisual\fP\fP
-Specify which visual to use.  Legal values are the name of a visual class,
-or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-texture
-Use texture maps.  This is the default.
-.TP 8
-.B \-no\-texture
-Do not use texture maps.  This is boring and wrong.
-.TP 8
-.B \-wireframe
-Only draw outlines.
-.TP 8
-.B \-delay \fImicroseconds\fP
-How long to pause between frames.  Default is 20000, or 0.02 second.
-.TP 8
-.B \-fps
-Display the current frame rate, CPU load, and polygon count.
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH BUGS
-This hack is glacially slow on machines lacking hardware texture support.
-
-Occasionally opens doors, admitting theologians of the Order of the Gash.
-.SH SEE ALSO
-.BR X (1),
-.BR xscreensaver (1)
-.SH COPYRIGHT
-Copyright \(co 1998 by Jamie Zawinski.  Permission to use, copy, modify, 
-distribute, and sell this software and its documentation for any purpose is 
-hereby granted without fee, provided that the above copyright notice appear 
-in all copies and that both that copyright notice and this permission notice
-appear in supporting documentation.  No representations are made about the 
-suitability of this software for any purpose.  It is provided "as is" without
-express or implied warranty.
-.SH AUTHOR
-Jamie Zawinski <jwz@jwz.org>, 25-Jul-98.
diff --git a/hacks/glx/lavalite.man b/hacks/glx/lavalite.man
deleted file mode 100644 (file)
index 3d7aad5..0000000
+++ /dev/null
@@ -1,160 +0,0 @@
-.de EX         \"Begin example
-.ne 5
-.if n .sp 1
-.if t .sp .5
-.nf
-.in +.5i
-..
-.de EE
-.fi
-.in -.5i
-.if n .sp 1
-.if t .sp .5
-..
-.TH XScreenSaver 1 "18-May-2002" "X Version 11"
-.SH NAME
-lavalite - 3D OpenGL simulation of a Lavalite.
-.SH SYNOPSIS
-.B lavalite
-[\-display \fIhost:display.screen\fP] [\-window] [\-root]
-[\-visual \fIvisual\fP] [\-delay \fImicroseconds\fP] [\-fps]
-[\-style \fIstyle\fP ]
-[\-spin \fIxyz\fP ] [\-no-spin ]
-[\-speed \fIfloat\fP ]
-[\-resolution \fIinteger\fP ]
-[\-count \fIinteger\fP ]
-[\-no-smooth ]
-[\-wireframe ]
-[\-impatient ]
-[\-lava-color \fIcolor\fP ]
-[\-fluid-color \fIcolor\fP ]
-[\-base-color \fIcolor\fP ]
-[\-table-color \fIcolor\fP ]
-[\-fluid-texture \fIfilename\fP ]
-[\-base-texture \fIfilename\fP ]
-[\-table-texture \fIfilename\fP ]
-.SH DESCRIPTION
-The \fIlavalite\fP program displays a 3D simulation of the famous lamp
-of the same name.  It requires a fast computer with fast OpenGL support.
-.SH OPTIONS
-.I lavalite
-accepts the following options:
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-visual \fIvisual\fP\fP
-Specify which visual to use.  Legal values are the name of a visual class,
-or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-style \fIstyle\fP\fP
-Specify which model of lamp to draw.  Available models 
-are: \fBClassic\fP, \fBGiant\fP, \fBCone\fP, and \fBRocket\fP.
-Default: random.
-.TP 8
-.B \-spin \fIxyz\fP
-Around which axes the model should auto-spin.  Defaults to "Z", meaning
-it rotates horizontally, but otherwise pitch or roll.
-.TP 8
-.B \-no-spin
-Same as \fB\-spin ''\fP.
-.TP 8
-.B \-speed \fIfloat\fP
-A number controlling the frequency at which new blobs launch: you can
-think of this as being related to the the heat of the lightbulb in
-the base.  Default: 0.003.
-.TP 8
-.B \-delay \fIusecs\fP
-The delay between steps of the animation; default is 30000 (0.03 second.)
-.TP 8
-.B \-resolution \fIinteger\fP
-The size of the grid from which the mesh is created that is used
-to polygonize the blobs.  higher values will give very smooth looking
-blobs, at the expense of speed.  Default: 40.
-
-The options "-resolution 10 -no-smooth" look kind of interesting.
-.TP 8
-.B \-fps
-Display the current frame rate, CPU load, and polygon count.
-.TP 8
-.B \-count \fIinteger\fP
-The maximum number of blobs that can be in motion at once.
-Default: 3.
-.TP 8
-.B \-no-smooth
-Turn off smoothing: the objects in the scene will be facetted.
-.TP 8
-.B \-wireframe
-Render all objects in wireframe instead of as solids.
-.TP 8
-.B \-impatient
-Provide this option if you are.  This will pre-warm the lamp, so when it
-starts up, the first frame will show a blob already halfway up the lamp.
-.TP 8
-.B \-lava-color \fIcolor\fP
-Specifies the color of the blobbies.  Default: red.
-.TP 8
-.B \-fluid-color \fIcolor\fP
-Specifies the color of the fluid that the blobbies float in.
-Default: light blue.
-.TP 8
-.B \-base-color \fIcolor\fP
-Specifies the color of the lamp base, and the cap on top of the bottle.
-Default: very dark gray.
-.TP 8
-.B \-table-color \fIcolor\fP
-Specifies the color of the table that the lamp is sitting on.
-Default: black (meaning it is invisible.)
-.TP 8
-.B \-fluid-texture \fIfilename\fP
-An image file to wrap around the glass.
-
-Note that on most systems, GL textures must have dimensions that are a
-power of two.
-
-Note also that colors and textures are both applied: so, if you apply a
-texture and it isn't showing up, try specifying the corresponding color
-as "white".  Otherwise, the combination of the two might be too dark to
-see.
-.TP 8
-.B \-base-texture \fIfilename\fP
-An image file to wrap around the base of the lamp, and the cap on top
-of the bottle.
-.TP 8
-.B \-table-texture \fItexture\fP
-An image file to spread across the table that the lamp is sitting on.
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH SEE ALSO
-.BR X (1),
-.BR xscreensaver (1),
- http://www.lavaworld.com/
- http://www.lavarnd.org/
-.SH COPYRIGHT
-Copyright \(co 2002 by Jamie Zawinski.
-Permission to use, copy, modify, distribute, and sell this software and
-its documentation for any purpose is hereby granted without fee,
-provided that the above copyright notice appear in all copies and that
-both that copyright notice and this permission notice appear in
-supporting documentation.  No representations are made about the
-suitability of this software for any purpose.  It is provided "as is"
-without express or implied warranty.
-
-LAVA LITE\(rg and the configuration of the LAVA\(rg brand motion lamp
-are registered trademarks of Haggerty Enterprises, Inc.  The
-configuration of the globe and base of the motion lamp are registered
-trademarks of Haggerty Enterprises, Inc. in the U.S.A. and in other
-countries around the world.
-
-.SH AUTHOR
-Jamie Zawinski <jwz@jwz.org>
diff --git a/hacks/glx/lockward.man b/hacks/glx/lockward.man
deleted file mode 100644 (file)
index f55e5be..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-.TH XScreenSaver 1 "" "X Version 11"
-.SH NAME
-lockward - Rotating spinning color-cycling things
-.SH SYNOPSIS
-.B lockward
-[\-display \fIdisplayspec\fP]
-[\-root]
-[\-window]
-[\-visual \fIarg\fP]
-[\-window-id \fIarg\fP]
-[\-delay \fIusec\fP]
-[\-pair]
-[\-fps]
-[\-blink | \-no-blink]
-[\-rotateidle-min \fImsec\fP]
-[\-rotateidle-max \fImsec\fP]
-[\-blinkidle-min \fImsec\fP]
-[\-blinkidle-max \fImsec\fP]
-[\-blinkdwell-min \fImsec\fP]
-[\-blinkdwell-max \fImsec\fP]
-.SH DESCRIPTION
-.B lockward
-draws a spinning, rotating set of notched wheels overlaid with some flashing
-effects, using OpenGL.  It's a sort of cross between the wards in a
-combination lock and those old information displays that animated via
-polarized light.
-.SH OPTIONS
-.TP 8
-.B \-visual \fIvisual\fP
-Specify which visual to use.  Legal values are the name of a visual class,
-or the ID number (decimal or hex) of a specific visual.
-.TP 8
-.B \-window
-Draw on a newly-created window (default).
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-delay \fImicroseconds\fP
-Per-frame delay, in microseconds.  Default: 20000 (50 frames/sec).
-.TP 8
-.B \-blink | \-no-blink
-Enables/disables the blinking effects.  Default: Enabled.
-.TP 8
-.B \-fps
-Display the current frame rate, CPU load, and polygon count.
-.TP 8
-.B \-rotateidle-min \fImilliseconds
-.TP 8
-.B \-rotateidle-max \fImilliseconds
-The minimum and maximum time each spinner will sit idle, in milliseconds.
-Defaults: Min 1000, max 6000.
-.TP 8
-.B \-blinkidle-min \fImilliseconds
-.TP 8
-.B \-blinkidle-max \fImilliseconds
-The minimum and maximum time between blinking effects, in milliseconds.
-Defaults: Min 1000, max 9000.
-.TP 8
-.B \-blinkdwell-min \fImilliseconds
-.TP 8
-.B \-blinkdwell-max \fImilliseconds
-The minimum and maximum dwell time for the blinking effects, in
-milliseconds.  This affects how quickly the blinks actually happen.
-Defaults: Min 100, max 600.
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-Default host and display number.
-.TP 8
-.B XENVIRONMENT
-Name of a resource file that overrides the global resources stored in the
-RESOURCE_MANAGER property.
-.SH SEE ALSO
-.BR X (1),
-.BR xscreensaver (1)
-.SH AUTHORS
-Leo L. Schwab <ewhac@best.com>
diff --git a/hacks/glx/menger.man b/hacks/glx/menger.man
deleted file mode 100644 (file)
index c2c2141..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-.TH XScreenSaver 1 "" "X Version 11"
-.SH NAME
-menger - 3D menger gasket fractal.
-.SH SYNOPSIS
-.B menger
-[\-display \fIhost:display.screen\fP]
-[\-visual \fIvisual\fP]
-[\-window]
-[\-root]
-[\-delay \fInumber\fP]
-[\-speed \fInumber\fP]
-[\-depth \fInumber\fP]
-[\-no-wander]
-[\-no-spin]
-[\-spin \fI[XYZ]\fP]
-[\-wireframe]
-[\-fps]
-.SH DESCRIPTION
-This draws the three-dimensional variant of the recursive Menger Gasket, a
-cube-based fractal object analagous to the Sierpinski Tetrahedron.
-.SH OPTIONS
-.TP 8
-.B \-visual \fIvisual\fP
-Specify which visual to use.  Legal values are the name of a visual class,
-or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-delay \fInumber\fP
-Per-frame delay, in microseconds.  Default: 30000 (0.03 seconds.).
-.TP 8
-.B \-speed \fInumber\fP
-Number of frames before changing shape.  Default: 150.
-.TP 8
-.B \-depth \fInumber\fP
-Max depth to descend.  Default: 3.  You probably don't have enough
-memory for 6.
-.TP 8
-.B \-wander | \-no-wander
-Whether the object should wander around the screen.
-.TP 8
-.B \-spin [XYZ]
-Around which axes should the object spin?
-.TP 8
-.B \-no-spin
-None.
-.TP 8
-.B \-wireframe
-Render in wireframe instead of solid.
-.TP 8
-.B \-fps
-Display the current frame rate, CPU load, and polygon count.
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH SEE ALSO
-.BR X (1),
-.BR xscreensaver (1)
-.SH COPYRIGHT
-Copyright \(co 2002 by Jamie Zawinski.  Permission to use, copy, modify, 
-distribute, and sell this software and its documentation for any purpose is 
-hereby granted without fee, provided that the above copyright notice appear 
-in all copies and that both that copyright notice and this permission notice
-appear in supporting documentation.  No representations are made about the 
-suitability of this software for any purpose.  It is provided "as is" without
-express or implied warranty.
-.SH AUTHOR
-Jamie Zawinski.
diff --git a/hacks/glx/mirrorblob.man b/hacks/glx/mirrorblob.man
deleted file mode 100644 (file)
index c61f7a6..0000000
+++ /dev/null
@@ -1,107 +0,0 @@
-.TH XScreenSaver 1 "" "X Version 11"
-.SH NAME
-mirrorblob - Draws a wobbly blob that distorts the image behind it.
-.SH SYNOPSIS
-.B mirrorblob
-[\-display \fIhost:display.screen\fP]
-[\-visual \fIvisual\fP]
-[\-window]
-[\-root]
-[\-wire]
-[\-delay \fInumber\fP]
-[\-fog]
-[\-walls]
-[\-colour]
-[\-texture]
-[\-offset-texture]
-[\-blend]
-[\-antialias]
-[\-resolution \fInumber\fP]
-[\-bumps \fInumber\fP]
-[\-fade-time \fInumber\fP]
-[\-hold-time \fInumber\fP]
-[\-zoom \fInumber\fP]
-[\-fps]
-.SH DESCRIPTION
-Draws a wobbling blob, making use of alpha blending, fog,
-textures, and lighting, plus a ``frames per second'' meter so that you can
-tell how fast your graphics card is... Requires OpenGL.
-.SH OPTIONS
-.TP 8
-.B \-visual \fIvisual\fP
-Specify which visual to use.  Legal values are the name of a visual class,
-or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.B \-wire
-Render in wireframe instead of solid.
-.TP 8
-.B \-delay \fInumber\fP
-Per-frame delay, in microseconds.  Default: 10000 (0.01 seconds.).
-.TP 8
-.B \-fog | \-no-fog
-Whether to enable fog.
-.TP 8
-.B \-walls | \-no-walls
-Add walls for blob to hit.
-.TP 8
-.B \-colour | \-no-colour
-Draw coloured blob.  If also textured, the texture will have color mixed in.
-.TP 8
-.B \-texture | \-no-texture
-Whether to wrap a texture image on the blob.
-.TP 8
-.B \-offset_texture | \-no-offset_texture
-Whether to ofset the texture calculations to only use a region of the image
- under the blob.  This works well with a semi-transparent blob.
-.TP 8
-.B \-blend | \-no-blend
-Whether to draw a transparent blob. (see also offset_texture above)
-.TP 8
-.B \-antialias | \-no-antialias
-Whether to antialias lines.
-.TP 8
-.B \-resolution \fInumber\fP
-Resolution of the tessellation used to calculate and draw the blob.  Larger
- numbers give a smoother blob but increase calculation times exponentially.
-.TP 8
-.B \-bumps \fInumber\fP
-Number of bumps used to distort the blob.
-.TP 8
-.B \-hold-time \fInumber\fP
-Time until loading a new image.
-.TP 8
-.B \-fade-time \fInumber\fP
-Time taken to transition between images.
-.TP 8
-.B \-zoom \fInumber\fP
-Size multiplier for blob.
-.TP 8
-.B \-fps
-Display the current frame rate, CPU load, and polygon count.
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH SEE ALSO
-.BR X (1),
-.BR xscreensaver (1)
-.SH COPYRIGHT
-Copyright \(co 2003 by Jon Dowdall.  Permission to use, copy, modify, 
-distribute, and sell this software and its documentation for any purpose is 
-hereby granted without fee, provided that the above copyright notice appear 
-in all copies and that both that copyright notice and this permission notice
-appear in supporting documentation.  No representations are made about the 
-suitability of this software for any purpose.  It is provided "as is" without
-express or implied warranty.
-.SH AUTHOR
-Jon Dowdall.
diff --git a/hacks/glx/moebius.man b/hacks/glx/moebius.man
deleted file mode 100644 (file)
index 696e0d6..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-.TH XScreenSaver 1 "" "X Version 11"
-.SH NAME
-moebius - Escher's Moebuis Strip II, with ants.
-.SH SYNOPSIS
-.B moebius
-[\-display \fIhost:display.screen\fP]
-[\-visual \fIvisual\fP]
-[\-window]
-[\-root]
-[-delay \fInumber\fP]
-[-solidmoebius]
-[-wireframe]
-[-noants]
-[-fps]
-.SH DESCRIPTION
-Another M. C. Escher hack by Marcelo Vianna, this one draws ``Moebius Strip
-II,'' a GL image of ants walking along the surface of a moebius strip. 
-.SH OPTIONS
-.TP 8
-.B \-visual \fIvisual\fP
-Specify which visual to use.  Legal values are the name of a visual class,
-or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-delay \fInumber\fP
-Per-frame delay, in microseconds.  Default: 20000 (0.02 seconds.).
-.TP 8
-.B \-solidmoebius
-Solid Floor.
-.TP 8
-.B \-wireframe
-Render in wireframe instead of solid.
-.TP 8
-.B \-noants | \-no-noants
-Draw Ants.  Boolean.
-.TP 8
-.B \-fps
-Display the current frame rate, CPU load, and polygon count.
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH SEE ALSO
-.BR X (1),
-.BR xscreensaver (1)
-.SH COPYRIGHT
-Copyright \(co 2002 by Marcelo Vianna.  Permission to use, copy, modify, 
-distribute, and sell this software and its documentation for any purpose is 
-hereby granted without fee, provided that the above copyright notice appear 
-in all copies and that both that copyright notice and this permission notice
-appear in supporting documentation.  No representations are made about the 
-suitability of this software for any purpose.  It is provided "as is" without
-express or implied warranty.
-.SH AUTHOR
-Marcelo Vianna.
diff --git a/hacks/glx/moebiusgears.man b/hacks/glx/moebiusgears.man
deleted file mode 100644 (file)
index a45519a..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-.TH XScreenSaver 1 "30-Oct-99" "X Version 11"
-.SH NAME
-moebiusgears - draw a moebius strip of interlocking gears.
-.SH SYNOPSIS
-.B moebiusgears
-[\-display \fIhost:display.screen\fP] [\-window] [\-root] [\-install]
-[\-visual \fIvisual\fP]
-[\-delay \fIusecs\fP] 
-[\-speed \fIfloat\fP] 
-[\-no\-spin]
-[\-no\-wander]
-[\-no\-roll]
-[-count \fIinteger\fP]
-[-teeth \fIinteger\fP]
-[-wireframe]
-[-fps]
-.SH DESCRIPTION
-The \fImoebiusgears\fP program draws a closed, interlinked chain of
-rotating gears. The layout of the gears follows the path of a
-moebius strip.
-.SH OPTIONS
-.I moebiusgears
-accepts the following options:
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-install
-Install a private colormap for the window.
-.TP 8
-.B \-visual \fIvisual\fP
-Specify which visual to use.  Legal values are the name of a visual class,
-or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-delay \fIusecs\fP
-The delay between frames of the animation, in microseconds.
-Default: 30000 (0.03 seconds.)
-.TP 8
-.B \-speed \fIfloat\fP
-Larger numbers mean run faster.  Default: 1.0.
-.TP 8
-.B \-no\-spin
-Don't rotate the object.
-.TP 8
-.B \-no\-wander
-Don't wander the object around the screen.
-.TP 8
-.B \-no\-roll
-Don't slowly roll the moebius strip inside out.
-.TP 8
-.B \-count \fIinteger\fP
-How many gears to draw.  Default: 17.  Minimum 11, must be odd.
-.TP 8
-.B \-teeth \fIinteger\fP
-How many teeth to draw on each draw.  Default: 15.  Minimum 7, must be odd.
-.TP 8
-.B \-wireframe
-Render in wireframe instead of solid.
-.TP 8
-.B \-fps
-Display the current frame rate, CPU load, and polygon count.
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH SEE ALSO
-.BR X (1),
-.BR xscreensaver (1)
-.SH COPYRIGHT
-Copyright \(co 2007 by Jamie Zawinski.  Permission to use, copy, modify, 
-distribute, and sell this software and its documentation for any purpose is 
-hereby granted without fee, provided that the above copyright notice appear 
-in all copies and that both that copyright notice and this permission notice
-appear in supporting documentation.  No representations are made about the 
-suitability of this software for any purpose.  It is provided "as is" without
-express or implied warranty.
-.SH AUTHOR
-Jamie Zawinski.
diff --git a/hacks/glx/molecule.man b/hacks/glx/molecule.man
deleted file mode 100644 (file)
index 6ec8328..0000000
+++ /dev/null
@@ -1,160 +0,0 @@
-.TH XScreenSaver 1 "13-Mar-01" "X Version 11"
-.SH NAME
-molecule - draws 3D molecular structures
-.SH SYNOPSIS
-.B molecule
-[\-display \fIhost:display.screen\fP] [\-window] [\-root]
-[\-visual \fIvisual\fP] [\-delay \fImicroseconds\fP]
-[\-wander] [\-no-wander]
-[\-spin \fIaxes\fP]
-[\-no-spin]
-[\-timeout \fIseconds\fP]
-[\-labels] [\-no-labels]
-[\-titles] [\-no-titles]
-[\-atoms] [\-no-atoms]
-[\-bonds] [\-no-bonds]
-[\-shells] [\-no-shells]
-[\-molecule \fIfile-or-directory\fP]
-[\-verbose]
-[\-wireframe]
-[\-fps]
-.SH DESCRIPTION
-The \fImolecule\fP program draws several different representations of
-molecules.  Some common molecules are built in, and it can read PDB
-(Protein Data Base) files as input.
-.SH OPTIONS
-.I molecule
-accepts the following options:
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-install
-Install a private colormap for the window.
-.TP 8
-.B \-visual \fIvisual\fP\fP
-Specify which visual to use.  Legal values are the name of a visual class,
-or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-fps
-Display the current frame rate, CPU load, and polygon count.
-.TP 8
-.B \-verbose
-Print debugging info on stderr about files being loaded, etc.
-.TP 8
-.B \-wander
-Move the molecules around the screen.
-.TP 8
-.B \-no\-wander
-Keep the molecule centered on the screen.  This is the default.
-.TP 8
-.B \-spin
-Which axes around which the molecule should spin.  The default is "XYZ",
-meaning rotate it freely in space.  "\fB\-spin Z\fP" would rotate the
-molecule in the plane of the screen while not rotating it into or out
-of the screen; etc.
-.TP 8
-.B \-no\-spin
-Don't spin it at all: the same as \fB\-spin ""\fP.
-.TP 8
-.B \-labels
-Draw labels on the atoms (or the spot where the atoms would be.)
-This is the default.
-.TP 8
-.B \-no\-labels
-Do not draw labels on the atoms.
-.TP 8
-.B \-titles
-Print the name of the molecule and its chemical formula at the top of
-the screen.
-.TP 8
-.B \-no\-titles
-Do not print the molecule name.
-.TP 8
-.B \-atoms
-Represent the atoms as shaded spheres of appropriate sizes.
-This is the default.
-.TP 8
-.B \-no\-atoms
-Do not draw spheres for the atoms: only draw bond lines.
-.TP 8
-.B \-bonds
-Represent the atomic bonds as solid tubes of appropriate thicknesses.
-This is the default.
-.TP 8
-.B \-no\-bonds
-Do not draw the bonds: instead, make the spheres for the atoms be
-larger, for a "space-filling" representation of the molecule.
-.TP 8
-.B \-shells
-Draw transparent electron shells around the atoms.  This only works
-if bonds are also being drawn.
-.TP 8
-.B \-no\-shells
-Do not draw electron shells.  This is the default.
-.TP 8
-.B \-shell\-alpha
-When drawing shells, how transparent to make them.  Default 0.4.
-.TP 8
-.B \-wireframe
-Draw a wireframe rendition of the molecule: this will consist only of
-single-pixel lines for the bonds, and text labels where the atoms go.
-This will be very fast.
-.TP 8
-.B \-timeout \fIseconds\fP
-When using the built-in data set, change to a new molecule every
-this-many seconds.  Default is 20 seconds.
-.TP 8
-.B \-molecule \fIfile-or-directory\fP
-Instead of using the built-in molecules, read one from the given file.
-This file must be in PDB (Protein Data Base) format.  (Note that it's
-not uncommon for PDB files to contain only the atoms, with no (or
-little) information about the atomic bonds.)
-
-This can also be a directory, in which case, all of the .pdb files in
-that directory will be loaded.  A new one will be displayed at random
-every few seconds (as per the \fI\-timeout\fP option.)
-.PP
-When the molecule is too large (bigger than about 30 angstroms from
-side to side), the \fI\-label\fP option will be automatically turned
-off, because otherwise, the labels would overlap and completely obscure
-the display.
-
-When the molecule is around 150 angstroms from side to side, wireframe
-mode will be turned on (because otherwise it would be too slow.)
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH SEE ALSO
-.BR X (1),
-.BR xscreensaver (1)
-.PP
-Documentation on the PDB file format:
-
-    http://www.wwpdb.org/docs.html
-    http://www.rcsb.org/pdb/docs/format/pdbguide2.2/guide2.2_frame.html
-
-A good source of PDB files:
-
-    http://www.umass.edu/microbio/rasmol/whereget.htm
-    http://www.wwpdb.org/docs.html
-.SH COPYRIGHT
-Copyright \(co 2001-2005 by Jamie Zawinski.
-Permission to use, copy, modify, distribute, and sell this software and
-its documentation for any purpose is hereby granted without fee,
-provided that the above copyright notice appear in all copies and that
-both that copyright notice and this permission notice appear in
-supporting documentation.  No representations are made about the
-suitability of this software for any purpose.  It is provided "as is"
-without express or implied warranty.
-.SH AUTHOR
-Jamie Zawinski <jwz@jwz.org>
diff --git a/hacks/glx/morph3d.man b/hacks/glx/morph3d.man
deleted file mode 100644 (file)
index 21af78c..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-.TH XScreenSaver 1 "" "X Version 11"
-.SH NAME
-morph3d - 3d morphing objects.
-.SH SYNOPSIS
-.B morph3d
-[\-display \fIhost:display.screen\fP]
-[\-visual \fIvisual\fP]
-[\-window]
-[\-root]
-[\-count \fInumber\fP]
-[\-delay \fInumber\fP]
-[\-fps]
-.SH DESCRIPTION
-Another 3d shape-changing GL hack. It has the same shiny-plastic feel
-as Superquadrics, as many computer-generated objects do... 
-.SH OPTIONS
-.TP 8
-.B \-visual \fIvisual\fP
-Specify which visual to use.  Legal values are the name of a visual class,
-or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-count \fInumber\fP
-0 - 20.  Default: 0.
-.TP 8
-.B \-delay \fInumber\fP
-Per-frame delay, in microseconds.  Default: 40000 (0.04 seconds.).
-.TP 8
-.B \-fps
-Display the current frame rate, CPU load, and polygon count.
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH SEE ALSO
-.BR X (1),
-.BR xscreensaver (1)
-.SH COPYRIGHT
-Copyright \(co 2002 by Marcelo Vianna.  Permission to use, copy, modify, 
-distribute, and sell this software and its documentation for any purpose is 
-hereby granted without fee, provided that the above copyright notice appear 
-in all copies and that both that copyright notice and this permission notice
-appear in supporting documentation.  No representations are made about the 
-suitability of this software for any purpose.  It is provided "as is" without
-express or implied warranty.
-.SH AUTHOR
-Marcelo Vianna.
diff --git a/hacks/glx/noof.man b/hacks/glx/noof.man
deleted file mode 100644 (file)
index f414571..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-.TH XScreenSaver 1 "" "X Version 11"
-.SH NAME
-noof - draw rotatey patterns
-.SH SYNOPSIS
-.B dangerball
-[\-display \fIhost:display.screen\fP]
-[\-visual \fIvisual\fP]
-[\-window]
-[\-root]
-[\-delay \fInumber\fP]
-[\-fps]
-.SH DESCRIPTION
-Draws some rotatey patterns, using OpenGL.
-.SH OPTIONS
-.TP 8
-.B \-visual \fIvisual\fP
-Specify which visual to use.  Legal values are the name of a visual class,
-or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-delay \fInumber\fP
-Per-frame delay, in microseconds.  Default: 10000 (0.01 seconds.).
-.TP 8
-.B \-fps
-Display the current frame rate, CPU load, and polygon count.
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH SEE ALSO
-.BR X (1),
-.BR xscreensaver (1)
-.SH COPYRIGHT
-Copyright \(co 2004 by Mark Kilgard.  Permission to use, copy, modify, 
-distribute, and sell this software and its documentation for any purpose is 
-hereby granted without fee, provided that the above copyright notice appear 
-in all copies and that both that copyright notice and this permission notice
-appear in supporting documentation.  No representations are made about the 
-suitability of this software for any purpose.  It is provided "as is" without
-express or implied warranty.
-.SH AUTHOR
-Mark Kilgard <mjk@nvidia.com>
diff --git a/hacks/glx/photopile.man b/hacks/glx/photopile.man
deleted file mode 100644 (file)
index 277f9dd..0000000
+++ /dev/null
@@ -1,113 +0,0 @@
-.TH XScreenSaver 1 "" "X Version 11"
-.SH NAME
-photopile - displays multiple images in a periodically shuffled pile
-.SH SYNOPSIS
-.B photopile
-[\-display \fIhost:display.screen\fP]
-[\-visual \fIvisual\fP]
-[\-window]
-[\-root]
-[\-count \fIint\fP]
-[\-scale \fIfactor\fP]
-[\-maxTilt \fIdegrees\fP]
-[\-titles | \-no\-titles]
-[\-polaroid | \-no\-polaroid]
-[\-shadows | \-no\-shadows]
-[\-font \fIfont\fP]
-[\-speed \fIratio\fP]
-[\-duration \fIseconds\fP]
-[\-fps]
-[\-debug]
-[\-wireframe]
-.SH DESCRIPTION
-Loads several random images, and displays them as if lying in a random pile.
-The pile is periodically reshuffled, with new images coming in and old ones
-being thrown out.
-
-This program requires a good video card capable of supporting large
-textures.
-
-To specify the directory that images are loaded from, run
-.BR xscreensaver-demo (1)
-and click on the "Advanced" tab.
-.SH OPTIONS
-.TP 8
-.B \-visual \fIvisual\fP
-Specify which visual to use.  Legal values are the name of a visual class,
-or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-count \fIint\fP
-How many images to display.  Default 7.
-.TP 8
-.B \-scale \fIfactor\fP
-Size of images in relation to the size of the window.  Default 0.4.
-.TP 8
-.B \-maxTilt \fIdegrees\fP
-Maximum deviation from vertical.  Default 50 degrees.
-.TP 8
-.B \-duration \fIseconds\fP
-Every \fIduration\fP seconds, one of the images will be replaced
-with a new one.  Default 5 seconds.
-.TP 8
-.B \-speed \fIratio\fP
-Speed up or slow down the animation.  0.5 means half as fast as the
-default; 2.0 means twice as fast.
-.TP 8
-.B \-delay \fInumber\fP
-Per-frame delay, in microseconds.  Default: 10000 (0.01 seconds.).
-.TP 8
-.B \-titles \fB| \-no\-titles\fP
-Whether to display the file names of the images beneath them.  Default: no.
-.TP 8
-.B \-polaroid \fB| \-no\-polaroid\fP
-Whether to simulate images taken by an instant camera.  Default: yes.
-.TP 8
-.B \-shadows \fB| \-no\-shadows\fP
-Whether to draw images with drop shadows.  Default: no.
-.TP 8
-.B \-font \fIfont-name\fP
-The font to use for the initial loading screen.
-.TP 8
-.B \-fps
-Display the current frame rate, CPU load, and polygon count.
-.TP 8
-.B \-debug
-Prints debugging info to stderr.
-.TP 8
-.B \-wireframe
-Another debug mode.
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH SEE ALSO
-.BR X (1),
-.BR xscreensaver-demo (1)
-.BR xscreensaver-getimage (1)
-.BR xscreensaver (1)
-.BR carousel (MANSUFFIX)
-.BR glslideshow (MANSUFFIX)
-.SH COPYRIGHT
-Copyright \(co 2005 by Jamie Zawinski.
-Copyright \(co 2008 by Jens Kilian.
-
-Permission to use, copy, modify, distribute, and sell this software and
-its documentation for any purpose is hereby granted without fee,
-provided that the above copyright notice appear in all copies and that
-both that copyright notice and this permission notice appear in
-supporting documentation.  No representations are made about the
-suitability of this software for any purpose.  It is provided "as is"
-without express or implied warranty.
-.SH AUTHOR
-Jens Kilian.
diff --git a/hacks/glx/pinion.man b/hacks/glx/pinion.man
deleted file mode 100644 (file)
index 3ae6eff..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
-.TH XScreenSaver 1 "30-Oct-99" "X Version 11"
-.SH NAME
-pinion - draws a scrolling sequence of interconnected gears
-.SH SYNOPSIS
-.B pinion
-[\-display \fIhost:display.screen\fP] [\-window] [\-root] [\-install]
-[\-visual \fIvisual\fP] 
-[\-delay \fIusecs\fP] 
-[\-scroll \fIratio\fP]
-[\-spin \fIratio\fP]
-[\-size \fIratio\fP]
-[\-max-rpm \fIint\fP]
-[\-wireframe]
-[\-fps]
-.SH DESCRIPTION
-The \fIpinion\fP program draws an interconnected set of gears moving
-across the screen.
-.SH OPTIONS
-.I pinion
-accepts the following options:
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-install
-Install a private colormap for the window.
-.TP 8
-.B \-visual \fIvisual\fP\fP
-Specify which visual to use.  Legal values are the name of a visual class,
-or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-delay \fIusecs\fP
-The delay between frames of the animation, in microseconds: default 15000.
-.TP 8
-.B \-spin \fIratio\fP
-How fast the gears should spin; default 1.0.  2.0 means twice as fast,
-0.5 means half as fast.
-.TP 8
-.B \-scroll \fIratio\fP
-How fast the gears should scroll past the screen; default 1.0.  
-2.0 means twice as fast, 0.5 means half as fast.
-.TP 8
-.B \-size \fIratio\fP
-How big the gears should be, on average; default 1.0. 
-2.0 means twice as large, 0.5 means half as large.
-.TP 8
-.B \-max\-rpm \fIinteger\fP
-If any gear exceeds the maximum RPM, the current gear train is broken there,
-and we start a new train.  Default: 900 RPM.  (At 30 FPS, that's about half
-a rotation per frame.)
-.TP 8
-.B \-wireframe
-Render in wireframe instead of solid.
-.TP 8
-.B \-fps
-Display the current frame rate, CPU load, and polygon count.
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH SEE ALSO
-.BR gears (MANSUFFIX),
-.BR xscreensaver (1),
-.BR X (1)
-.SH COPYRIGHT
-Copyright \(co 2004 by Jamie Zawinski.  Permission to use, copy, modify, 
-distribute, and sell this software and its documentation for any purpose is 
-hereby granted without fee, provided that the above copyright notice appear 
-in all copies and that both that copyright notice and this permission notice
-appear in supporting documentation.  No representations are made about the 
-suitability of this software for any purpose.  It is provided "as is" without
-express or implied warranty.
-.SH AUTHOR
-Jamie Zawinski <jwz@jwz.org>, 12-Dec-2004.
diff --git a/hacks/glx/pipes.man b/hacks/glx/pipes.man
deleted file mode 100644 (file)
index b58a511..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-.TH XScreenSaver 1 "" "X Version 11"
-.SH NAME
-pipes - fill the screen with a plumbing system.
-.SH SYNOPSIS
-.B pipes
-[\-display \fIhost:display.screen\fP]
-[\-visual \fIvisual\fP]
-[\-window]
-[\-root]
-[-count 0]
-[-count 1]
-[-cycles \fInumber\fP]
-[-size \fInumber\fP]
-[-factory \fInumber\fP]
-[-delay \fInumber\fP]
-[-no-fisheye]
-[-tightturns]
-[-db]
-[-fps]
-.SH DESCRIPTION
-If you've ever been in the same room as a Windows NT machine, you've
-probably seen this GL hack.  It fills the screen with a plumbing system.
-.SH OPTIONS
-.TP 8
-.B \-visual \fIvisual\fP
-Specify which visual to use.  Legal values are the name of a visual class,
-or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-count 0
-Curved Pipes.
-.TP 8
-.B \-count 1
-Ball Joints.
-.TP 8
-.B \-cycles \fInumber\fP
-Number of pipe systems to draw at once.  Default: 5.
-.TP 8
-.B \-size \fInumber\fP
-Length of each pipe system.  Default: 500.
-.TP 8
-.B \-factory \fInumber\fP
-How much gadgetry to create; Useful range is 0-10.  Default: 2.
-.TP 8
-.B \-delay \fInumber\fP
-How long (in microseconds) to sleep between frames.  Default: 10000.
-.TP 8
-.B \-fisheye | \-no-fisheye
-Whether to use a fisheye lens.
-.TP 8
-.B \-tightturns | \-no-tightturns
-Whether to allow tight turns.
-.TP 8
-.B \-db | \-no-db
-Whether to double-buffer.
-.TP 8
-.B \-fps
-Display the current frame rate, CPU load, and polygon count.
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH SEE ALSO
-.BR X (1),
-.BR xscreensaver (1)
-.SH COPYRIGHT
-Copyright \(co 2002 by Marcelo Vianna.  Permission to use, copy, modify, 
-distribute, and sell this software and its documentation for any purpose is 
-hereby granted without fee, provided that the above copyright notice appear 
-in all copies and that both that copyright notice and this permission notice
-appear in supporting documentation.  No representations are made about the 
-suitability of this software for any purpose.  It is provided "as is" without
-express or implied warranty.
-.SH AUTHOR
-Marcelo Vianna.
diff --git a/hacks/glx/polyhedra.man b/hacks/glx/polyhedra.man
deleted file mode 100644 (file)
index b4e1cca..0000000
+++ /dev/null
@@ -1,124 +0,0 @@
-.TH XScreenSaver 1 "" "X Version 11"
-.SH NAME
-polyhedra - draws the 80 uniform polyhedra and their duals
-.SH SYNOPSIS
-.SH SYNOPSIS
-.B polyhedra
-[\-display \fIhost:display.screen\fP]
-[\-visual \fIvisual\fP]
-[\-window]
-[\-root]
-[\-delay \fInumber\fP]
-[\-speed \fIfloat\fP]
-[\-duration \fIseconds\fP]
-[\-no-wander]
-[\-spin \fIXYZ\fP]
-[\-wireframe]
-[\-no-titles]
-[\-which \fIname\fP]
-[\-wireframe]
-[\-fps]
-.SH DESCRIPTION
-This program renders 160 different 3D solids, and displays some
-information about each.  A new solid is chosen every few seconds.
-
-There are 75 uniform polyhedra, plus an inifinite number of
-prisms and antiprisms:
-
-  * Convex Uniform Polyhedra:
-    * Platonic solids (5)
-    * Archimedean solids (13)
-    * Convex prisms and antiprisms (2 infinite families)
-  * Nonconvex Uniform Polyhedra:
-    * Kepler-Poinsot polyhedra (4)
-    * Nonconvex uniform polyhedra (53)
-    * Nonconvex prisms, antiprisms, and crossed antiprisms
-      (3 infinite families)
-
-Representative samples of the prism sets brings the total to 80 solids.
-Including the \fIdual\fP of each brings the total up to 160.  (To
-create the "dual" of a polyhedron, faces are replaced with vertices,
-and vertices with faces.)
-.SH OPTIONS
-.TP 8
-.B \-visual \fIvisual\fP
-Specify which visual to use.  Legal values are the name of a visual class,
-or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-delay \fInumber\fP
-Per-frame delay, in microseconds.  Default: 30000 (0.03 seconds.).
-.TP 8
-.B \-speed \fInumber\fP
-Larger numbers mean run faster.  Default: 1.0.
-.TP 8
-.B \-duration \fIseconds\fP
-How long before switching to a new polyhedron.  Default 12 seconds.
-.TP 8
-.B \-wander | \-no-wander
-Whether the objects should wander around the screen.
-.TP 8
-.B \-spin [XYZ] | \-no-spin
-Which axes, if any, to spin around on.
-.TP 8
-.B \-titles | \-no-titles
-Whether to display text describing each object.
-.TP 8
-.B \-which \fIobject-name\fP
-Display only one particular object, identified by number, name, or
-Whthoff symbol.
-.TP 8
-.B \-wireframe | \-no-wireframe
-Render in wireframe instead of solid.
-.TP 8
-.B \-fps
-Display the current frame rate, CPU load, and polygon count.
-.SH KEY BINDINGS
-When running in a window, you can rotate the object with the mouse.
-Also, the following keystrokes are defined:
-.TP 12
-.B SPC \fIor\fP TAB
-Select a new polyhedron at random.
-.TP 12
-.B + \fIor\fP >
-Select the next-higher-numbered polyhedron.
-.TP 12
-.B - \fIor\fP <
-Select the next-lower-numbered polyhedron.
-.TP 12
-.B ESC \fIor\fP ^C
-Quit.
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH SEE ALSO
-.BR X (1),
-.BR xscreensaver (1)
-.SH COPYRIGHT
-Copyright \(co 1991-2002 Dr. Zvi Har'El.
-
-Copyright \(co 2004 Jamie Zawinski.  Permission to use, copy, modify, 
-distribute, and sell this software and its documentation for any purpose is 
-hereby granted without fee, provided that the above copyright notice appear 
-in all copies and that both that copyright notice and this permission notice
-appear in supporting documentation.  No representations are made about the 
-suitability of this software for any purpose.  It is provided "as is" without
-express or implied warranty.
-.SH AUTHOR
-Based on the program \fIkaleido\fP ("Kaleidoscopic construction of 
-uniform polyhedra"), by Dr. Zvi Har'El <rl@math.technion.ac.il>
-    http://www.math.technion.ac.il/~rl/
-    ftp://ftp.math.technion.ac.il/kaleido/
-
-Adapted for OpenGL and XScreenSaver by Jamie Zawinski, 2004.
diff --git a/hacks/glx/polytopes.man b/hacks/glx/polytopes.man
deleted file mode 100644 (file)
index 45fcb4a..0000000
+++ /dev/null
@@ -1,207 +0,0 @@
-.TH XScreenSaver 1 "" "X Version 11"
-.SH NAME
-polytopes - Draws one of the six regular 4d polytopes rotating in 4d.
-.SH SYNOPSIS
-.B polytopes
-[\-display \fIhost:display.screen\fP]
-[\-install]
-[\-visual \fIvisual\fP]
-[\-window]
-[\-root]
-[\-delay \fIusecs\fP]
-[\-fps]
-[\-5-cell]
-[\-8-cell]
-[\-16-cell]
-[\-24-cell]
-[\-120-cell]
-[\-600-cell]
-[\-wireframe]
-[\-surface]
-[\-transparent]
-[\-single-color]
-[\-depth-colors]
-[\-perspective-3d]
-[\-orthographic-3d]
-[\-perspective-4d]
-[\-orthographic-4d]
-[\-speed-wx \fIfloat\fP]
-[\-speed-wy \fIfloat\fP]
-[\-speed-wz \fIfloat\fP]
-[\-speed-xy \fIfloat\fP]
-[\-speed-xz \fIfloat\fP]
-[\-speed-yz \fIfloat\fP]
-.SH DESCRIPTION
-The \fIpolytopes\fP program shows one of the six regular 4d polytopes
-(5-cell, 8-cell, 16-cell, 24-cell, 120-cell, or 600-cell) rotating in
-4d.  The program projects the 4d polytope to 3d using either a
-perspective or an orthographic projection.  The projected 3d polytope
-can then be projected to the screen either perspectively or
-orthographically.  There are three display modes for the polytope:
-mesh (wireframe), solid, or transparent.  Furthermore, the colors with
-which the polytope is drawn can be set to either single color or to a
-coloring according to the 4d "depth" (the w coordinate) of the
-polytope in its unrotated position.  In the first case, the polytope
-is drawn in red.  This coloring combined with transparency gives a
-nice visual effect of the structure of the polytope.  The second mode
-draws the polytope with a fully saturated color wheel in which the
-edges or faces are colored accoring to their average 4d "depth".  This
-mode is best combined with the wireframe mode, where it allows you to
-see how different parts of the polytope are moved to the "inside" of
-the projected polytope in 3d.  Of course, in 4d the cells, faces, and
-edges of the polytope all have the same distance from the center of
-the polytope.  Only the projection creates the appearance that some of
-the cells lie "inside" the figure in 3d.
-.SH OPTIONS
-.I polytopes
-accepts the following options:
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-install
-Install a private colormap for the window.
-.TP 8
-.B \-visual \fIvisual\fP
-Specify which visual to use.  Legal values are the name of a visual
-class, or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-delay \fImicroseconds\fP
-How much of a delay should be introduced between steps of the
-animation.  Default 25000, or 1/40th second.
-.PP
-The following six options are mutually exclusive.  They determine
-which polytope is displayed.
-.TP 8
-.B \-5-cell
-Display the 5-cell.  The 5-cell is the 4d analogon of a regular
-tetrahedron in 3d.  It has 5 regular tetrahedra as its cells, 10
-equilateral triangles as faces, 10 edges, and 5 vertices.
-.TP 8
-.B \-8-cell
-Display the 8-cell (a.k.a. hypercube or tessaract).  The 8-cell is the
-4d analogon of a cube in 3d.  It has 8 cubes as its cells, 24 squares
-as faces, 32 edges, and 16 vertices.
-.TP 8
-.B \-16-cell
-Display the 16-cell.  The 16-cell is the 4d analogon of an octahedron
-in 3d.  It has 16 regular tetrahedra as its cells, 32 equilateral
-triangles as faces, 24 edges, and 8 vertices.
-.TP 8
-.B \-24-cell
-Display the 24-cell.  The 24-cell has no 3d analogon.  It has 24
-regular octahedra as its cells, 96 equilateral triangles as faces, 96
-edges, and 24 vertices.
-.TP 8
-.B \-120-cell
-Display the 120-cell.  The 120-cell has no 3d analogon.  It has 120
-regular dodecahedra as its cells, 720 regular pentagons as faces, 1200
-edges, and 600 vertices.
-.TP 8
-.B \-600-cell
-Display the 600-cell.  The 600-cell has no 3d analogon.  It has 600
-regular tetrahedra as its cells, 1200 equilateral triangles as faces,
-720 edges, and 120 vertices.
-.PP
-The following three options are mutually exclusive.  They determine
-how the polytope is displayed.
-.TP 8
-.B \-wireframe
-Display the polytope as a wireframe mesh.
-.TP 8
-.B \-surface
-Display the polytope as a solid object.
-.TP 8
-.B \-transparent
-Display the polytope as a transparent object (default).
-.PP
-The following two options are mutually exclusive.  They determine how
-to color the polytope.
-.TP 8
-.B \-single-color
-Display the polytope in red.
-.TP 8
-.B \-depth-colors
-Display the polytope with a fully saturated color wheel in which the
-edges or faces are colored accoring to their average 4d "depth", i.e.,
-the w coordinate of the polytope in its unrotated position (default).
-.PP
-The following two options are mutually exclusive.  They determine how
-the polytope is projected from 3d to 2d (i.e., to the screen).
-.TP 8
-.B \-perspective-3d
-Project the polytope from 3d to 2d using a perspective projection
-(default).
-.TP 8
-.B \-orthographic-3d
-Project the polytope from 3d to 2d using an orthographic projection.
-.PP
-The following two options are mutually exclusive.  They determine how
-the polytope is projected from 4d to 3d.
-.TP 8
-.B \-perspective-4d
-Project the polytope from 4d to 3d using a perspective projection
-(default).
-.TP 8
-.B \-orthographic-4d
-Project the polytope from 4d to 3d using an orthographic projection.
-.PP
-The following six options determine the rotation speed of the polytope
-around the six possible hyperplanes.  The rotation speed is measured
-in degrees per frame.  The speeds should be set to relatively small
-values, e.g., less than 4 in magnitude.
-.TP 8
-.B \-speed-wx \fIfloat\fP
-Rotation speed around the wx plane (default: 1.1).
-.TP 8
-.B \-speed-wy \fIfloat\fP
-Rotation speed around the wy plane (default: 1.3).
-.TP 8
-.B \-speed-wz \fIfloat\fP
-Rotation speed around the wz plane (default: 1.5).
-.TP 8
-.B \-speed-xy \fIfloat\fP
-Rotation speed around the xy plane (default: 1.7).
-.TP 8
-.B \-speed-xz \fIfloat\fP
-Rotation speed around the xz plane (default: 1.9).
-.TP 8
-.B \-speed-yz \fIfloat\fP
-Rotation speed around the yz plane (default: 2.1).
-.SH INTERACTION
-If you run this program in standalone mode you can rotate the polytope
-by dragging the mouse while pressing the left mouse button.  This
-rotates the polytope in 3D, i.e., around the wx, wy, and wz planes.
-If you press the shift key while dragging the mouse with the left
-button pressed the polytope is rotated in 4D, i.e., around the xy, xz,
-and yz planes.  To examine the polytope at your leisure, it is best to
-set all speeds to 0.  Otherwise, the polytope will rotate while the
-left mouse button is not pressed.
-.B \-fps
-Display the current frame rate, CPU load, and polygon count.
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH SEE ALSO
-.BR X (1),
-.BR xscreensaver (1)
-.SH COPYRIGHT
-Copyright \(co 2003-2005 by Carsten Steger.  Permission to use, copy,
-modify, distribute, and sell this software and its documentation for
-any purpose is hereby granted without fee, provided that the above
-copyright notice appear in all copies and that both that copyright
-notice and this permission notice appear in supporting documentation.
-No representations are made about the suitability of this software for
-any purpose.  It is provided "as is" without express or implied
-warranty.
-.SH AUTHOR
-Carsten Steger <carsten@mirsanmir.org>, 28-sep-2005.
diff --git a/hacks/glx/providence.man b/hacks/glx/providence.man
deleted file mode 100644 (file)
index ea7286d..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-.TH XScreenSaver 1 "May 2004"
-.SH NAME
-providence - eye in glory screenhack
-.SH SYNOPSIS
-.B providence
-[\-display \fIhost:display.screen\fP]
-[\-window]
-[\-root]
- [\-install]
-[\-visual \fIvisual\fP]
-[\-delay \fImicroseconds\fP]
-[\-wireframe]
-[\-fps]
-.SH DESCRIPTION
-The \fIprovidence\fP code displays an eye, shrouded in glory, set upon the
-base of a pyramid.
-.SH OPTIONS
-.I providence
-accepts the following options:
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-install
-Install a private colormap for the window.
-.TP 8
-.B \-eye
-Draw an eye/$.
-.TP 8
-.B \-visual \fIvisual\fP\fP
-Specify which visual to use.  Legal values are the name of a visual class,
-or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-wireframe
-Render in wireframe (with hidden line removal) instead of as textured solids.
-.TP 8
-.B \-fps
-Display the current frame rate, CPU load, and polygon count.
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH SEE ALSO
-.BR X (1),
-.BR xscreensaver (1)
-.BR xscreensaver\-demo (1),
-.BR xscreensaver\-getimage (1)
-.SH COPYRIGHT
-Copyright \(co 2004 by Blair Tennessy.  Permission to use, copy, modify,
-distribute, and sell this software and its documentation for any purpose is
-hereby granted without fee, provided that the above copyright notice appear
-in all copies and that both that copyright notice and this permission notice
-appear in supporting documentation.  No representations are made about the
-suitability of this software for any purpose.  It is provided "as is" without
-express or implied warranty.
-.SH AUTHOR
-Blair Tennessy <tennessy@cs.ubc.ca>, 11-May-2004.
diff --git a/hacks/glx/pulsar.man b/hacks/glx/pulsar.man
deleted file mode 100644 (file)
index f3b1009..0000000
+++ /dev/null
@@ -1,102 +0,0 @@
-.TH XScreenSaver 1 "" "X Version 11"
-.SH NAME
-pulsar - intersecting planes, alpha blending, fog, and textures.
-.SH SYNOPSIS
-.B pulsar
-[\-display \fIhost:display.screen\fP]
-[\-visual \fIvisual\fP]
-[\-window]
-[\-root]
-[\-no-light]
-[\-wire]
-[\-delay \fInumber\fP]
-[\-quads \fInumber\fP]
-[\-image \fIfile\fP]
-[\-light]
-[\-fog]
-[\-texture]
-[\-mipmap]
-[\-no-blend]
-[\-antialias]
-[\-texture_quality]
-[\-do_depth]
-[\-fps]
-.SH DESCRIPTION
-Draws some intersecting planes, making use of alpha blending, fog,
-textures, and mipmaps, plus a ``frames per second'' meter so that you can
-tell how fast your graphics card is... Requires OpenGL.
-.SH OPTIONS
-.TP 8
-.B \-visual \fIvisual\fP
-Specify which visual to use.  Legal values are the name of a visual class,
-or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-light | \-no-light
-Use Flat Coloring.
-.TP 8
-.B \-wire
-Render in wireframe instead of solid.
-.TP 8
-.B \-delay \fInumber\fP
-Per-frame delay, in microseconds.  Default: 10000 (0.01 seconds.).
-.TP 8
-.B \-image \fIfile\fP
-The texture map to use.
-.TP 8
-.B \-quads \fInumber\fP
-Quad Count.  1 - 50.  Default: 5.
-.TP 8
-.B \-light | \-no-light
-Whether to enable lighting.
-.TP 8
-.B \-fog | \-no-fog
-Whether to enable fog.
-.TP 8
-.B \-texture | \-no-texture
-Whether to enable texturing.
-.TP 8
-.B \-mipmap | \-no-mipmap
-Whether to enable texture mipmaps.
-.TP 8
-.B \-blend | \-no-blend
-Whether to enable blending.
-.TP 8
-.B \-antialias | \-no-antialias
-Whether to anti-alias lines.
-.TP 8
-.B \-texture_quality | \-no-texture_quality
-Whether to enable texture filtering.
-.TP 8
-.B \-do_depth | \-no-do_depth
-Whether to enable depth buffer.
-.TP 8
-.B \-fps
-Display the current frame rate, CPU load, and polygon count.
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH SEE ALSO
-.BR X (1),
-.BR xscreensaver (1)
-.SH COPYRIGHT
-Copyright \(co 2002 by David Konerding.  Permission to use, copy, modify, 
-distribute, and sell this software and its documentation for any purpose is 
-hereby granted without fee, provided that the above copyright notice appear 
-in all copies and that both that copyright notice and this permission notice
-appear in supporting documentation.  No representations are made about the 
-suitability of this software for any purpose.  It is provided "as is" without
-express or implied warranty.
-.SH AUTHOR
-David Konerding.
diff --git a/hacks/glx/quasicrystal.man b/hacks/glx/quasicrystal.man
deleted file mode 100644 (file)
index cbf9040..0000000
+++ /dev/null
@@ -1,84 +0,0 @@
-.TH XScreenSaver 1 "" "X Version 11"
-.SH NAME
-quasicrystal - aperiodic plane tilings.
-.SH SYNOPSIS
-.B quasicrystal
-[\-display \fIhost:display.screen\fP]
-[\-visual \fIvisual\fP]
-[\-window]
-[\-root]
-[\-delay \fInumber\fP]
-[\-speed \fInumber\fP]
-[\-count \fInumber\fP]
-[\-contrast \fIpercent\fP]
-[\-no-wander]
-[\-no-spin]
-[\-asymmetric]
-[\-fps]
-.SH DESCRIPTION
-A quasicrystal is a structure that is ordered but aperiodic.
-Two-dimensional quasicrystals can be generated by adding a set of planes
-where x is the sine of y. Different complex aperiodic plane tilings are
-produced depending on the period, position, and rotation of the component
-planes, and whether the rotation of the planes is evenly distributed around
-the circle (the "symmetric" option, above) or random. See also the
-"RD-Bomb", "CWaves" and "Penrose" screen savers.
-http://en.wikipedia.org/wiki/Quasicrystal
-.SH OPTIONS
-.TP 8
-.B \-visual \fIvisual\fP
-Specify which visual to use.  Legal values are the name of a visual class,
-or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-delay \fInumber\fP
-Per-frame delay, in microseconds.  Default: 30000 (0.03 seconds.).
-.TP 8
-.B \-speed \fInumber\fP
-Animation speed. 2 for twice as fast, 0.5 for half as fast.
-.TP 8
-.B \-contrast \fIcontrast\fP
-Contrast. Sort of.  Default 30%.
-.TP 8
-.B \-count \fInumber\fP
-How many planes to use. Default 17.
-.TP 8
-.B \-wander | \-no-wander
-Whether the planes should displace horizontally and vertically.
-.TP 8
-.B \-spin | \-no-spin
-Whether the planes should rotate.
-.TP 8
-.B \-asymmetric
-Allow each plane to rotate freely instead of being constrained to an
-even distribution around the circle.
-.TP 8
-.B \-fps | \-no-fps
-Whether to show a frames-per-second display at the bottom of the screen.
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH SEE ALSO
-.BR X (1),
-.BR xscreensaver (1)
-.SH COPYRIGHT
-Copyright \(co 2013 by Jamie Zawinski.  Permission to use, copy, modify, 
-distribute, and sell this software and its documentation for any purpose is 
-hereby granted without fee, provided that the above copyright notice appear 
-in all copies and that both that copyright notice and this permission notice
-appear in supporting documentation.  No representations are made about the 
-suitability of this software for any purpose.  It is provided "as is" without
-express or implied warranty.
-.SH AUTHOR
-Jamie Zawinski.
diff --git a/hacks/glx/queens.man b/hacks/glx/queens.man
deleted file mode 100644 (file)
index 47fc3f4..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-.TH XScreenSaver 1 "May 2002"
-.SH NAME
-queens \- n queens screensaver
-.SH SYNOPSIS
-.B queens
-[\-display \fIhost:display.screen\fP]
-[\-window]
-[\-root]
-[\-install]
-[\-visual \fIvisual\fP]
-[\-delay \fImicroseconds\fP]
-[\-wireframe]
-[\-fps]
-.SH DESCRIPTION
-The \fIqueens\fP program solves the n-queens problem (where, in this
-program, N is between 5 and 10 queens) using a straightforward
-backtracking algorithm.  The problem is: how may one place N queens 
-on an NxN chessboard such that no queen can attack a sister?
-.SH OPTIONS
-.I queens
-accepts the following options:
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-install
-Install a private colormap for the window.
-.TP 8
-.B \-visual \fIvisual\fP\fP
-Specify which visual to use.  Legal values are the name of a visual class,
-or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-wireframe
-Render in wireframe instead of solid.
-.B \-fps
-Display the current frame rate, CPU load, and polygon count.
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH BUGS
-It's not unknown for this and other OpenGL hacks to fail under hardware accelaration (UtahGLX) and take the X server with them.  Texture images must be 16x16 or 32x32 or 64x64 etc.
-.SH SEE ALSO
-.BR X (1),
-.BR xscreensaver (1)
-.BR xscreensaver\-demo (1),
-.BR xscreensaver\-getimage (1)
-.SH COPYRIGHT
-Copyright \(co 2002 by Blair Tennessy.  Permission to use, copy, modify,
-distribute, and sell this software and its documentation for any purpose is
-hereby granted without fee, provided that the above copyright notice appear
-in all copies and that both that copyright notice and this permission notice
-appear in supporting documentation.  No representations are made about the
-suitability of this software for any purpose.  It is provided "as is" without
-express or implied warranty.
-.SH AUTHOR
-Blair Tennessy <tennessb@unbc.ca>, 20-April-2002.
diff --git a/hacks/glx/rubik.man b/hacks/glx/rubik.man
deleted file mode 100644 (file)
index 08e5b94..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-.TH XScreenSaver 1 "" "X Version 11"
-.SH NAME
-rubik - screen saver that solves Rubik's Cube.
-.SH SYNOPSIS
-.B rubik
-[\-display \fIhost:display.screen\fP]
-[\-visual \fIvisual\fP]
-[\-window]
-[\-root]
-[\-count \fInumber\fP]
-[\-cycles \fInumber\fP]
-[\-delay \fInumber\fP]
-[\-size \fInumber\fP]
-[\-hideshuffling]
-[\-fps]
-.SH DESCRIPTION
-Draws a Rubik's Cube that rotates in three dimensions and repeatedly
-shuffles and solves itself.
-.SH OPTIONS
-.TP 8
-.B \-visual \fIvisual\fP
-Specify which visual to use.  Legal values are the name of a visual class,
-or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-count \fInumber\fP
-Count. -100 - 100.  Default: -30.
-.TP 8
-.B \-cycles \fInumber\fP
-Timeout.  0 - 60.  Default: 5.
-.TP 8
-.B \-delay \fInumber\fP
-Per-frame delay, in microseconds.  Default: 40000 (0.04 seconds.).
-.TP 8
-.B \-size \fInumber\fP
-Size.  -20 - 20.  Default: -6.
-.TP 8
-.B \-hideshuffling | \-no-hideshuffling
-Show Shuffling.  Boolean.
-.TP 8
-.B \-fps
-Display the current frame rate, CPU load, and polygon count.
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH SEE ALSO
-.BR X (1),
-.BR xscreensaver (1)
-.SH COPYRIGHT
-Copyright \(co 2002 by Marcelo Vianna.  Permission to use, copy, modify, 
-distribute, and sell this software and its documentation for any purpose is 
-hereby granted without fee, provided that the above copyright notice appear 
-in all copies and that both that copyright notice and this permission notice
-appear in supporting documentation.  No representations are made about the 
-suitability of this software for any purpose.  It is provided "as is" without
-express or implied warranty.
-.SH AUTHOR
-Marcelo Vianna. 
diff --git a/hacks/glx/rubikblocks.man b/hacks/glx/rubikblocks.man
deleted file mode 100644 (file)
index c18d18f..0000000
+++ /dev/null
@@ -1,117 +0,0 @@
-.TH XScreenSaver 1 "04-Feb-09" "X Version 11"
-.SH NAME
-rubikblocks - animates the Rubik's Mirror Blocks puzzle
-.SH SYNOPSIS
-.B rubikblocks
-[\-display \fIhost:display.screen\fP]
-[\-visual \fIvisual\fP]
-[\-window]
-[\-root]
-[\-install]
-[\-delay \fImicroseconds\fP]
-[\-texture] [\-no\-texture]
-[\-mono]
-[\-wireframe]
-[\-spin] [\-no\-spin]
-[\-wander] [\-no\-wander]
-[\-randomize] [\-no\-randomize]
-[\-spinspeed \fInumber\fP]
-[\-rotspeed \fInumber\fP]
-[\-wanderspeed \fInumber\fP]
-[\-wait \fInumber\fP]
-[\-cubesize \fInumber\fP]
-[\-fps]
-.SH DESCRIPTION
-This program animates a puzzle called Rubik's Mirror Blocks.
-The moves are chosen randomly.
-.SH OPTIONS
-.I rubikblocks
-accepts the following options:
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-install
-Install a private colormap for the window.
-.TP 8
-.B \-visual \fIvisual\fP\fP
-Specify which visual to use.  Legal values are the name of a visual class,
-or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-delay \fImicroseconds\fP
-How long to pause between frames.  Default is 20000, or 0.02 second.
-.TP 8
-.B \-texture
-Use texture maps.  This is the default.
-.TP 8
-.B \-no\-texture
-Use solid colors.  Looks a bit weird.
-.TP 8
-.B \-mono
-Disable both texture maps and colors.  Ditto.
-.TP 8
-.B \-wireframe
-Only draw outlines.  Outlines of each piece, not only the whole object, are drawn.
-.TP 8
-.B \-spin
-Spin the whole object around X, Y and Z axes.  This is the default.
-.TP 8
-.B \-no\-spin
-Do not spin, stay in the same tilt all the time.
-.TP 8
-.B \-wander
-Move the object around the screen.  This is the default.
-.TP 8
-.B \-no\-wander
-Keep the object centered on the screen.
-.TP 8
-.B \-randomize
-Shuffle the puzzle randomly at startup.  This is the default.
-.TP 8
-.B \-no\-randomize
-Do not shuffle at startup, begin at the shape of cube.
-.TP 8
-.B \-spinspeed \fInumber\fP
-The relative speed of spinning.  Default is 1.0.
-.TP 8
-.B \-rotspeed \fInumber\fP
-The relative speed of the moves.  Default is 3.0.  Setting to \(<= 0.0
-makes the object stay at one configuration.
-.TP 8
-.B \-wanderspeed \fInumber\fP
-The relative speed of wandering around the screen.  Default is 0.02.
-.TP 8
-.B \-wait \fInumber\fP
-How long to stay at final position after each move.  The meaning of
-the argument is again relative.  Default is 40.0.
-.TP 8
-.B \-cubesize \fInumber\fP
-Size of the object.  Value of 3.0 fills roughly all the screen.
-.TP 8
-.B \-fps
-Display the current frame rate, CPU load, and polygon count.
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH SEE ALSO
-.BR X (1),
-.BR xscreensaver (1)
-.SH COPYRIGHT
-Copyright \(co 2009 by Vasek Potocek.  Permission to use, copy, modify, 
-distribute, and sell this software and its documentation for any purpose is 
-hereby granted without fee, provided that the above copyright notice appear 
-in all copies and that both that copyright notice and this permission notice
-appear in supporting documentation.  No representations are made about the 
-suitability of this software for any purpose.  It is provided "as is" without
-express or implied warranty.
-.SH AUTHOR
-Vasek Potocek <vasek.potocek@post.cz>, 04-Feb-09.
diff --git a/hacks/glx/sballs.man b/hacks/glx/sballs.man
deleted file mode 100644 (file)
index 33cb942..0000000
+++ /dev/null
@@ -1,125 +0,0 @@
-.de EX         \"Begin example
-.ne 5
-.if n .sp 1
-.if t .sp .5
-.nf
-.in +.5i
-..
-.de EE
-.fi
-.in -.5i
-.if n .sp 1
-.if t .sp .5
-..
-.TH XScreenSaver 1 "03-Oct-01" "X Version 11"
-.SH NAME
-sballs - draws balls spinning like crazy in GL
-.SH SYNOPSIS
-.B sballs
-[\-display \fIhost:display.screen\fP] [\-window] [\-root]
-[\-visual \fIvisual\fP] [\-delay \fImicroseconds\fP]
-[\-object \fIobject_number\fP] 
-[\-cycles \fIsphere_speed\fP] 
-[\-size \fIviewport_size\fP] 
-[\-texture] [\-no-texture]
-[\-wireframe] [\-no-wireframe]
-[\-trackmouse] [\-no-trackmouse]
-[\-fps]
-.SH DESCRIPTION
-The \fIsballs\fP program draws an animation of balls spinning like crazy in GL.
-.SH OPTIONS
-.I sballs
-accepts the following options:
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-install
-Install a private colormap for the window.
-.TP 8
-.B \-visual \fIvisual\fP
-Specify which visual to use.  Legal values are the name of a visual class,
-or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-fps
-Display the current frame rate, CPU load, and polygon count.
-.TP 8
-.B \-object \fIobject_number\fP\fP
-Specify how the spheres are grouped (forming an object).
-Objects are:
-.TP 10
-.B 1 
-tetrahedron
-.TP 10
-.B 2 
-cube. This is the default.
-.TP 10
-.B 3 
-octahedron
-.TP 10
-.B 4 
-dodecahedron
-.TP 10
-.B 5 
-icosahedron
-.TP 10
-.B 6 
-plane
-.TP 10
-.B 7 
-pyramid
-.TP 10
-.B 8 
-star
-.TP 8
-.B \-size \fIviewport_size\fP\fP
-Viewport of GL scene is specified size if greater than 32 and less than screensize. Default value is 0, meaning full screensize.
-.TP 8
-.B \-texture
-Show a textured background and spheres. This is the default.
-.TP 8
-.B \-no\-texture
-Disables texturing the animation.
-.TP 8
-.B \-trackmouse
-Let the mouse be a joystick to change the view of the animation.
-This implies 
-.I \-no\-wander.
-.TP 8
-.B \-no\-trackmouse
-Disables mouse tracking. This is the default.
-.TP 8
-.B \-wire
-Draw a wireframe rendition of the spheres.
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH SEE ALSO
-.BR X (1),
-.BR xscreensaver (1)
-.SH COPYRIGHT
-Copyright \(co 2001 by Eric Lassauge.
-Permission to use, copy, modify, distribute, and sell this software and
-its documentation for any purpose is hereby granted without fee,
-provided that the above copyright notice appear in all copies and that
-both that copyright notice and this permission notice appear in
-supporting documentation.  No representations are made about the
-suitability of this software for any purpose.  It is provided "as is"
-without express or implied warranty.
-
-The original code for this mode was written by
-Mustata Bogdan (LoneRunner) <lonerunner@planetquake.com>
-and can be found at http://www.cfxweb.net/lonerunner/
-
-.SH AUTHOR
-Mustata Bogdan (LoneRunner) <lonerunner@planetquake.com>
-Eric Lassauge <lassauge@users.sourceforge.net>
diff --git a/hacks/glx/sierpinski3d.man b/hacks/glx/sierpinski3d.man
deleted file mode 100644 (file)
index ed3b69a..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-.TH XScreenSaver 1 "" "X Version 11"
-.SH NAME
-sierpinski3d - 3D Sierpinski triangle fractal.
-.SH SYNOPSIS
-.B sierpinski3d
-[\-display \fIhost:display.screen\fP]
-[\-visual \fIvisual\fP]
-[\-window]
-[\-root]
-[\-delay \fInumber\fP]
-[\-speed \fInumber\fP]
-[\-depth \fInumber\fP]
-[\-wireframe]
-[\-fps]
-.SH DESCRIPTION
-This draws the three-dimensional variant of the recursive Sierpinski
-triangle fractal, using GL.
-.SH OPTIONS
-.TP 8
-.B \-visual \fIvisual\fP
-Specify which visual to use.  Legal values are the name of a visual class,
-or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-delay \fInumber\fP
-Per-frame delay, in microseconds.  Default: 20000 (0.02 seconds.).
-.TP 8
-.B \-speed \fInumber\fP
-Number of frames before changing shape.  Default: 150.
-.TP 8
-.B \-depth \fInumber\fP
-Max depth to descend.  Default: 5.  You probably don't have enough
-memory for 6.
-.TP 8
-.B \-wireframe
-Render in wireframe instead of solid.
-.TP 8
-.B \-fps
-Display the current frame rate, CPU load, and polygon count.
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH SEE ALSO
-.BR X (1),
-.BR xscreensaver (1)
-.SH COPYRIGHT
-Copyright \(co 2002 by Tim Robinson and Jamie Zawinski.  Permission to
-use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided
-that the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.  No representations are made about the suitability of
-this software for any purpose.  It is provided "as is" without express
-or implied warranty.
-.SH AUTHOR
-Tim Robinson and Jamie Zawinski.
diff --git a/hacks/glx/skytentacles.man b/hacks/glx/skytentacles.man
deleted file mode 100644 (file)
index 2e5cd16..0000000
+++ /dev/null
@@ -1,102 +0,0 @@
-.TH XScreenSaver 1 "" "X Version 11"
-.SH NAME
-skytentacles - 3D tentacles from the sky!
-.SH SYNOPSIS
-.B skytentacles
-[\-display \fIhost:display.screen\fP]
-[\-visual \fIvisual\fP]
-[\-window]
-[\-root]
-[\-delay \fIint\fP]
-[\-speed \fIratio\fP]
-[\-count \fIint\fP]
-[\-slices \fIint\fP]
-[\-length \fIfloat\fP]
-[\-wiggliness \fIratio\fP]
-[\-flexibility \fIratio\fP]
-[\-color \fIcolor\fP]
-[\-stripe\-color \fIcolor\fP]
-[\-sucker\-color \fIcolor\fP]
-[\-segments \fIint\fP]
-[\-thickness \fIratio\fP]
-[\-no\-smooth]
-[\-fps]
-.SH DESCRIPTION
-There is a tentacled abomination in the sky.  From above you it devours.
-.SH OPTIONS
-.TP 8
-.B \-visual \fIvisual\fP
-Specify which visual to use.  Legal values are the name of a visual class,
-or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-delay \fIint\fP
-Delay between frames, in microseconds.  Default 30000.
-.TP 8
-.B \-speed \fIratio\fP
-Less than 1 for slower, greater than 1 for faster.  Default 1.
-.TP 8
-.B \-count \fIint\fP
-How many tentacles.  Default 8.
-.TP 8
-.B \-thickness \fIratio\fP
-Less than 1 for thinner tentacles, greater than 1 for thicker.  Default 1.
-.TP 8
-.B \-length \fIratio\fP
-Length of the tentacles.  Default 9.
-.TP 8
-.B \-wiggliness \fIratio\fP
-A measure of how bendy the tentacles are.  Smaller numbers result in
-smoother flexing; larger numbers make it "crinkly".  Default 0.35.
-.TP 8
-.B \-flexibility \fIratio\fP
-Another measure of how bendy the tentacles are.  Smaller numbers
-result in straighter tentacles; larger numbers result in more extreme
-curves.  Default 0.35.
-.TP 8
-.B \-color \fIcolor\fP
-.TP 8
-.B \-stripe\-color \fIcolor\fP
-.TP 8
-.B \-sucker\-color \fIcolor\fP
-The colors of the various parts of the tentacle.  Default green
-with a redish stripe.
-.TP 8
-.B \-slices \fIint\fP
-.TP 8
-.B \-segments \fIint\fP
-Larger numbers increase number of polygons in the object mesh.
-Default 32.
-.TP 8
-.B \-no\-smooth
-Make the tentacles appear faceted instead of smooth.
-.TP 8
-.B \-fps
-Display the current frame rate, CPU load, and polygon count.
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH SEE ALSO
-.BR X (1),
-.BR xscreensaver (1)
-.SH COPYRIGHT
-Copyright \(co 2008 by Jamie Zawinski.  Permission to use, copy, modify, 
-distribute, and sell this software and its documentation for any purpose is 
-hereby granted without fee, provided that the above copyright notice appear 
-in all copies and that both that copyright notice and this permission notice
-appear in supporting documentation.  No representations are made about the 
-suitability of this software for any purpose.  It is provided "as is" without
-express or implied warranty.
-.SH AUTHOR
-Jamie Zawinski.
diff --git a/hacks/glx/sonar.man b/hacks/glx/sonar.man
deleted file mode 100644 (file)
index 9927b3b..0000000
+++ /dev/null
@@ -1,169 +0,0 @@
-.de EX         \"Begin example
-.ne 5
-.if n .sp 1
-.if t .sp .5
-.nf
-.in +.5i
-..
-.de EE
-.fi
-.in -.5i
-.if n .sp 1
-.if t .sp .5
-..
-.TH Sonar 1 "12-Aug-08" "X Version 11"
-.SH NAME
-sonar - display a sonar scope
-.SH SYNOPSIS
-.B sonar
-[\-ping \fIhosts-or-subnets\fP]
-[\-ping\-timeout \fIint\fP]
-[\-delay \fIusecs\fP]
-[\-speed \fIratio\fP]
-[\-sweep-size \fIratio\fP]
-[\-font-size \fIpoints\fP]
-[\-team-a-name \fIstring\fP] 
-[\-team-b-name \fIstring\fP]
-[\-team-a-count \fIint\fP]
-[\-team-b-count \fIint\fP]
-[\-no\-dns] 
-[\-no\-times] 
-[\-no\-wobble] 
-[\-debug] 
-[\-fps]
-.SH DESCRIPTION
-This draws a sonar screen that pings (get it?) the hosts on
-your local network, and plots their distance (response time) from you.
-The three rings represent ping times of approximately 2.5, 70 and 2,000
-milliseconds respectively.
-
-Alternately, it can run a simulation that doesn't involve hosts.
-.SH OPTIONS
-.I sonar
-understands the following options:
-.TP 8
-.B \-ping \fIhosts-or-subnets\fP
-The list of things to ping, separated by commas or spaces. 
-Elements of this list may be:
-.RS 8
-.TP 12
-.B simulation
-Run in simulation mode instead of pinging real hosts.
-.TP 12
-.I hostname
-Ping the given host.
-.TP 12
-.I A.B.C.D
-Ping the given IPv4 address.
-.TP 12
-.B subnet
-Ping the local subnet.  On systems where we can determine the local
-network mask, we use that; otherwise, we assume Class C (254 hosts).
-.TP 12
-.B subnet/\fINN\fP
-Ping a different-sized local subnet: e.g., \fBsubnet/28\fP would ping
-a 4-bit subnet (the nearest 14 addresses).  On systems where we can
-determine the local network mask, we always use that.
-.TP 12
-.I A.B.C.D/NN
-Ping an arbitrary other IPv4 subnet.  The address specifies
-the base address, and the part after the slash is how wide the
-subnet is.  Typical values are /24 (for 254 addresses) and /28 (for
-14 addresses).
-.TP 12
-.I filename
-Ping the hosts listed in the given file.  This file can be in the
-format used by \fI/etc/hosts\fP, or it can be any file that has host
-names as the first or second element on each line.  If you use ssh,
-try this:
-
-  sonar -ping $HOME/.ssh/known_hosts
-.RE
-.TP 8
-.B \-ping\-timeout \fIint\fP
-The amount of time in milliseconds the program will wait for an answer
-to a ping.
-.TP 8
-.B \-delay \fIint\fP
-Delay between frames, in microseconds.  Default 20000.
-.TP 8
-.B \-speed \fIratio\fP
-Less than 1 for slower, greater than 1 for faster.  Default 1.
-.TP 8
-.B \-sweep-size \fIratio\fP
-How big the glowing sweep area should be. Default 0.3.
-.TP 8
-.B \-font-size \fIpoints\fP
-How large the text should be.  Default 10 points.
-.TP 8
-.B \-no\-wobble
-Keep the display stationary instead of very slowly wobbling back and forth.
-.TP 8
-.B \-no\-dns
-Do not attempt to resolve IP addresses to hostnames.
-.TP 8
-.B \-no\-times
-Do not display ping times beneath the host names.
-.TP 8
-.B \-team-a-name \fIstring\fP
-In simulation mode, the name of team A.
-.TP 8
-.B \-team-b-name \fIstring\fP
-In simulation mode, the name of team B.
-.TP 8
-.B \-team-a-count \fIint\fP
-In simulation mode, the number of bogies on team A.
-.TP 8
-.B \-team-b-count \fIint\fP
-In simulation mode, the number of bogies on team B.
-.TP 8
-.B \-fps
-Display the current frame rate, polygon count, and CPU load.
-.SH NOTES
-On most Unix systems, this program must be installed as setuid root
-in order to ping hosts.  This is because root privileges are needed
-to create an ICMP RAW socket.  Privileges are disavowed shortly after
-startup (just after connecting to the X server) so this is believed
-to be safe:
-.EX
-chown root:root sonar
-chmod u+s sonar
-.EE
-It is not necessary to make it setuid on MacOS systems, because on
-MacOS, unprivileged programs can ping by using ICMP DGRAM sockets
-instead of ICMP RAW.
-
-In ping-mode, the display is a logarithmic scale, calibrated so that the
-three rings represent ping times of approximately 2.5, 70 and 2,000
-milliseconds respectively.  
-
-This means that if any the hosts you are pinging take longer than 2
-seconds to respond, they won't show up; and if you are pinging several
-hosts with very fast response times, they will all appear close to the
-center of the screen (making their names hard to read.)
-.SH BUGS
-Does not support IPv6.
-.SH SEE ALSO
-.BR X (1),
-.BR xscreensaver (1),
-.BR ping (8),
-.BR ping6 (8)
-.SH COPYRIGHT
-Copyright \(co 2000-2012 by Jamie Zawinski <jwz@jwz.org>
-.RE
-Copyright \(co 1998 by Stephen Martin. <smartin@canada.com>
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.  No representations are made about the suitability of this
-software for any purpose.  It is provided "as is" without express or 
-implied warranty.
-
-.SH AUTHORS
-Stephen Martin <smartin@canada.com>, 3-nov-1998.
-
-Subnet support, etc. added by Jamie Zawinski, 17-Jul-2000.
-
-Rewritten using OpenGL instead of X11 by Jamie Zawinski, 12-Aug-2008.
diff --git a/hacks/glx/spheremonics.man b/hacks/glx/spheremonics.man
deleted file mode 100644 (file)
index 5e6f437..0000000
+++ /dev/null
@@ -1,92 +0,0 @@
-.TH XScreenSaver 1 "" "X Version 11"
-.SH NAME
-spheremonics - 3d spherical harmonic shapes.
-.SH SYNOPSIS
-.B spheremonics
-[\-display \fIhost:display.screen\fP]
-[\-visual \fIvisual\fP]
-[\-window]
-[\-root]
-[\-delay \fInumber\fP]
-[\-duration \fInumber\fP]
-[\-resolution \fInumber\fP]
-[\-wander]
-[\-no-spin]
-[\-spin \fI[XYZ]\fP]
-[\-wireframe]
-[\-no-smooth]
-[\-no-grid]
-[\-bbox]
-[\-fps]
-.SH DESCRIPTION
-These closed objects are commonly called spherical harmonics, although they
-are only remotely related to the mathematical definition found in the
-solution to certain wave functions, most notable the eigenfunctions of
-angular momentum operators.
-.SH OPTIONS
-.TP 8
-.B \-visual \fIvisual\fP
-Specify which visual to use.  Legal values are the name of a visual class,
-or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-delay \fInumber\fP
-Per-frame delay, in microseconds.  Default: 30000 (0.03 seconds.).
-.TP 8
-.B \-duration \fInumber\fP
-Duration.  5 - 1000.  Default: 100.
-.TP 8
-.B \-resolution \fInumber\fP
-Resolution.  5 - 100.  Default: 64.
-.TP 8
-.B \-wander | \-no-wander
-Whether the object should wander around the screen.
-.TP 8
-.B \-spin \fI[XYZ]\fP
-Around which axes should the object spin?
-.TP 8
-.B \-no-spin
-Don't spin.
-.TP 8
-.B \-wireframe
-Render in wireframe instead of solid.
-.TP 8
-.B \-smooth | \-no-smooth
-Smoothed Lines.  Boolean.
-.TP 8
-.B \-grid | \-no-grid
-Draw Grid.  Boolean.
-.TP 8
-.B \-bbox | \-no-bbox
-Draw Bounding Box.  Boolean.
-.TP 8
-.B \-fps
-Display the current frame rate, CPU load, and polygon count.
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH SEE ALSO
-.BR X (1),
-.BR xscreensaver (1)
-.SH COPYRIGHT
-Copyright \(co 2002 by Paul Bourke and Jamie Zawinski.  Permission to
-use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided
-that the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.  No representations are made about the suitability of
-this software for any purpose.  It is provided "as is" without express
-or implied warranty.
-.SH AUTHOR
-Paul Bourke and Jamie Zawinski.
diff --git a/hacks/glx/sproingies.man b/hacks/glx/sproingies.man
deleted file mode 100644 (file)
index 5150fca..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-.TH XScreenSaver 1 "" "X Version 11"
-.SH NAME
-sproingies - Q-Bert meets Marble Madness!
-.SH SYNOPSIS
-.B sproingies
-[\-display \fIhost:display.screen\fP]
-[\-visual \fIvisual\fP]
-[\-window]
-[\-root]
-[\-count \fInumber\fP]
-[\-delay \fInumber\fP]
-[\-size \fInumber\fP]
-[\-no\-fall]
-[\-wireframe]
-[\-fps]
-.SH DESCRIPTION
-Q-Bert meets Marble Madness!
-.SH OPTIONS
-.TP 8
-.B \-visual \fIvisual\fP
-Specify which visual to use.  Legal values are the name of a visual class,
-or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-count \fInumber\fP
-How many sproingies to draw at once.  Default: 5.
-.TP 8
-.B \-delay \fInumber\fP
-Per-frame delay, in microseconds.  Default: 25000 (0.03 seconds.).
-.TP 8
-.B \-size \fInumber\fP
-How much to scale the image down.  Default 0 (full screen.)
-.TP 8
-.B \-no\-fall
-Make sproingies "smart", so they do not fall down the edge.
-.TP 8
-.B \-wireframe
-Render in wireframe instead of solid.
-.TP 8
-.B \-fps
-Display the current frame rate, CPU load, and polygon count.
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH SEE ALSO
-.BR X (1),
-.BR xscreensaver (1)
-.SH COPYRIGHT
-Copyright \(co 2002 by Ed Mackey.  Permission to use, copy, modify, 
-distribute, and sell this software and its documentation for any purpose is 
-hereby granted without fee, provided that the above copyright notice appear 
-in all copies and that both that copyright notice and this permission notice
-appear in supporting documentation.  No representations are made about the 
-suitability of this software for any purpose.  It is provided "as is" without
-express or implied warranty.
-.SH AUTHOR
-Ed Mackey. Some additional code by Sergio Gutiérrez "Sergut". 
diff --git a/hacks/glx/stairs.man b/hacks/glx/stairs.man
deleted file mode 100644 (file)
index 898f7ff..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-.TH XScreenSaver 1 "" "X Version 11"
-.SH NAME
-stairs - Escher's infinite staircase.
-.SH SYNOPSIS
-.B stairs
-[\-display \fIhost:display.screen\fP]
-[\-visual \fIvisual\fP]
-[\-window]
-[\-root]
-[\-delay \fInumber\fP]
-[\-wireframe]
-[\-fps]
-.SH DESCRIPTION
-This draws an "infinite" staircase. 
-.SH OPTIONS
-.TP 8
-.B \-visual \fIvisual\fP
-Specify which visual to use.  Legal values are the name of a visual class,
-or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-delay \fInumber\fP
-Per-frame delay, in microseconds.  Default: 20000 (0.02 seconds.).
-.TP 8
-.B \-wireframe
-Render in wireframe instead of solid.
-.TP 8
-.B \-fps
-Display the current frame rate, CPU load, and polygon count.
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH SEE ALSO
-.BR X (1),
-.BR xscreensaver (1)
-.SH COPYRIGHT
-Copyright \(co 2002 by Marcelo Vianna.  Permission to use, copy, modify, 
-distribute, and sell this software and its documentation for any purpose is 
-hereby granted without fee, provided that the above copyright notice appear 
-in all copies and that both that copyright notice and this permission notice
-appear in supporting documentation.  No representations are made about the 
-suitability of this software for any purpose.  It is provided "as is" without
-express or implied warranty.
-.SH AUTHOR
-Marcelo Vianna.
diff --git a/hacks/glx/starwars.man b/hacks/glx/starwars.man
deleted file mode 100644 (file)
index d7dc7f2..0000000
+++ /dev/null
@@ -1,181 +0,0 @@
-.de EX         \"Begin example
-.ne 5
-.if n .sp 1
-.if t .sp .5
-.nf
-.in +.5i
-..
-.de EE
-.fi
-.in -.5i
-.if n .sp 1
-.if t .sp .5
-..
-.TH XScreenSaver 1 "25-Jul-98" "X Version 11"
-.SH NAME
-starwars - draws a perspective text crawl, like at the beginning of the movie
-.SH SYNOPSIS
-.B starwars
-[\-display \fIhost:display.screen\fP] [\-window] [\-root]
-[\-visual \fIvisual\fP]
-[\-delay \fImicroseconds\fP]
-[\-program \fIcommand\fP]
-[\-size \fIinteger\fP ]
-[\-columns \fIinteger\fP]
-[\-wrap | \-no\-wrap]
-[\-left | \-center | \-right]
-[\-lines \fIinteger\fP]
-[\-spin \fIfloat\fP]
-[\-steps \fIinteger\fP]
-[\-delay \fIusecs\fP]
-[\-font \fIxlfd\fP]
-[\-no\-textures]
-[\-no\-smooth]
-[\-no\-thick]
-[\-fps]
-.SH DESCRIPTION
-The \fIstarwars\fP program runs another program to generate a stream of
-text, then animates that text receeding into the background at an angle,
-in front of a star field.
-.SH OPTIONS
-.I starwars
-accepts the following options:
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-install
-Install a private colormap for the window.
-.TP 8
-.B \-visual \fIvisual\fP\fP
-Specify which visual to use.  Legal values are the name of a visual class,
-or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-program \fIsh-command\fP
-The command to run to generate the text to display.  This option may be
-any string acceptable to /bin/sh.  The program will be run at the end of
-a pipe, and any characters that it prints to \fIstdout\fP will be printed
-on the starwars window.  If the program exits, it will be launched again
-after we have processed all the text it produced.
-
-Note that starwars is \fInot\fP a terminal emulator: programs that try to
-directly address the screen will not do what you might expect.  This
-program merely draws the characters on the screen left to right, top 
-to bottom, in perspective.  Lines (may) wrap when they reach the right 
-edge.
-
-In other words, programs like
-.BR fortune (1)
-will work, but programs like
-.BR top (1)
-won't.
-
-Some examples:
-.EX
-starwars -program 'cat /usr/src/linux*/README'
-starwars -columns 30 -program 'ping www.starwars.com'
-starwars -left -no-wrap -program 'ps -auxwwf'
-starwars -left -no-wrap -columns 45 -program 'top -bn1'
-starwars -left -columns 40 -program 'od -txC /dev/urandom'
-starwars -font fixed -program 'od -txC /dev/urandom'
-.EE
-.TP 8
-.B \-size \fIinteger\fP
-How large a font to use, in points.  (Well, in some arbitrary unit 
-we're calling "points" for the sake of argument.)  Default: 24.
-.TP 8
-.B \-columns \fIinteger\fP
-How many columns of text should be visible on the bottom line of the
-screen.  Default: 60.
-
-Only one of \fI\-columns\fP and \fI\-size\fP may be specified;
-if both are specified, \fI\-columns\fP takes priority.
-.TP 8
-.B \-wrap
-Word-wrap lines when they reach the rightmost column.  This is the default.
-.TP 8
-.B \-no\-wrap
-Do not word-wrap: just let the lines go off the right side of the screen.
-.TP 8
-.B \-left | \-center | \-right
-Whether to align the text flush left, centered, or flush right.
-The default is centered.
-.TP 8
-.B \-lines \fIinteger\fP
-How many lines should be allowed to be on the screen before they fall off
-the end.  The default is 125.
-.TP 8
-.B \-spin \fIfloat\fP
-The star field on the background slowly rotates.  This is how fast.
-The default is 0.03.
-.TP 8
-.B \-steps \fIinteger\fP
-How many steps should be used to scroll a single line.  The default is 35.
-If the animation looks jerky to you, increase this number.
-.TP 8
-.B \-delay \fIusecs\fP
-The delay between steps of the animation; default is 40000 (1/25th second.)
-.TP 8
-.B \-font \fIfont-name\fP
-The name of the font to use.  For best effect, this should be a large
-font (at least 36 points.)  The bigger the font, the better looking the
-characters will be.  Note that the size of this font affects only the
-clarity of the characters, not their size on the screen: for that, use
-the \fI\-size\fP or \fI\-columns\fP options.
-
-Default: -*-utopia-bold-r-normal-*-*-720-*-*-*-*-iso8859-1
-.TP 8
-.B \-no\-textures
-Instead of texture-mapping a real font to render the text, use a
-built-in font composed of line segments.  On graphics cards without
-texture support, the line-segment font will have much better
-performance.
-.TP 8
-.B \-no\-smooth
-When using the line-segment font, turn off anti-aliasing of the lines
-used to draw the font.  This will make the text blockier, but may
-improve performance.
-.TP 8
-.B \-no\-thick
-When using the line-segment font, turn off use of thick lines for the
-characters that are close to the foreground.  This will make the text
-appear unnaturally skinny, but may improve performance.
-.TP 8
-.B \-fps
-Display the current frame rate, CPU load, and polygon count.
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH SEE ALSO
-.BR xscreensaver (1),
-.BR xscreensaver-text (1),
-.BR fortune (1),
-.BR phosphor (MANSUFFIX),
-.BR apple2 (MANSUFFIX),
-.BR fontglide (MANSUFFIX),
-.BR ljlatest (MANSUFFIX),
-.BR dadadodo (1),
-.BR webcollage (MANSUFFIX),
-.BR driftnet (1)
-.BR EtherPEG ,
-.BR EtherPeek
-.SH COPYRIGHT
-Copyright \(co 1998-2005 by Jamie Zawinski and Claudio Matsuoka.
-Permission to use, copy, modify, distribute, and sell this software and
-its documentation for any purpose is hereby granted without fee,
-provided that the above copyright notice appear in all copies and that
-both that copyright notice and this permission notice appear in
-supporting documentation.  No representations are made about the
-suitability of this software for any purpose.  It is provided "as is"
-without express or implied warranty.
-.SH AUTHOR
-Jamie Zawinski <jwz@jwz.org> and Claudio Matauoka <claudio@helllabs.org>
diff --git a/hacks/glx/stonerview.man b/hacks/glx/stonerview.man
deleted file mode 100644 (file)
index 820e9af..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-.TH XScreenSaver 1 "" "X Version 11"
-.SH NAME
-stonerview - 3D undulating ribbons of squares.
-.SH SYNOPSIS
-.B stonerview
-[\-display \fIhost:display.screen\fP]
-[\-visual \fIvisual\fP]
-[\-window]
-[\-root]
-[\-wireframe]
-[\-fps]
-.SH DESCRIPTION
-Chains of colorful squares dance around each other in complex spiral
-patterns.  This is a clone of the SGI "electropaint" screen saver.
-.SH OPTIONS
-.TP 8
-.B \-visual \fIvisual\fP
-Specify which visual to use.  Legal values are the name of a visual class,
-or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-wireframe
-Render in wireframe instead of solid.
-.TP 8
-.B \-fps
-Display the current frame rate, CPU load, and polygon count.
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH SEE ALSO
-.BR X (1),
-.BR xscreensaver (1)
-.SH COPYRIGHT
-Copyright \(co 2002 by Andrew Plotkin.  Permission to use, copy, modify, 
-distribute, and sell this software and its documentation for any purpose is 
-hereby granted without fee, provided that the above copyright notice appear 
-in all copies and that both that copyright notice and this permission notice
-appear in supporting documentation.  No representations are made about the 
-suitability of this software for any purpose.  It is provided "as is" without
-express or implied warranty.
-.SH AUTHOR
-Andrew Plotkin.
diff --git a/hacks/glx/superquadrics.man b/hacks/glx/superquadrics.man
deleted file mode 100644 (file)
index 8a127f0..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-.TH XScreenSaver 1 "" "X Version 11"
-.SH NAME
-superquadrics - morphing 3d shapes.
-.SH SYNOPSIS
-.B superquadrics
-[\-display \fIhost:display.screen\fP]
-[\-visual \fIvisual\fP]
-[\-window]
-[\-root]
-[\-delay \fInumber\fP]
-[\-spinspeed \fInumber\fP]
-[\-count \fInumber\fP]
-[\-cycles \fInumber\fP]
-[\-wireframe]
-[\-fps]
-.SH DESCRIPTION
-Ed Mackey reports that he wrote the first version of this program in BASIC
-on a Commodore 64 in 1987, as a 320x200 black and white wireframe. Now it
-is GL and has specular reflections. 
-.SH OPTIONS
-.TP 8
-.B \-visual \fIvisual\fP
-Specify which visual to use.  Legal values are the name of a visual class,
-or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-delay \fInumber\fP
-Per-frame delay, in microseconds.  Default: 40000 (0.04 seconds.).
-.TP 8
-.B \-spinspeed \fInumber\fP
-0.1 - 15.0.  Default: 5.0.
-.TP 8
-.B \-count \fInumber\fP
-0 - 100.  Default: 25.
-.TP 8
-.B \-cycles \fInumber\fP
-0 - 100.  Default: 40.
-.TP 8
-.B \-wireframe
-Render in wireframe instead of solid.
-.TP 8
-.B \-fps
-Display the current frame rate, CPU load, and polygon count.
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH SEE ALSO
-.BR X (1),
-.BR xscreensaver (1)
-.SH COPYRIGHT
-Copyright \(co 2002 by Ed Mackey.  Permission to use, copy, modify, 
-distribute, and sell this software and its documentation for any purpose is 
-hereby granted without fee, provided that the above copyright notice appear 
-in all copies and that both that copyright notice and this permission notice
-appear in supporting documentation.  No representations are made about the 
-suitability of this software for any purpose.  It is provided "as is" without
-express or implied warranty.
-.SH AUTHOR
-Ed Mackey.
diff --git a/hacks/glx/surfaces.man b/hacks/glx/surfaces.man
deleted file mode 100644 (file)
index 4c62a0e..0000000
+++ /dev/null
@@ -1,127 +0,0 @@
-.TH XScreenSaver 1 "" "X Version 11"
-.SH NAME
-surfaces - Draws some interesting 3d parametric surfaces.
-.SH SYNOPSIS
-.B surfaces
-[\-display \fIhost:display.screen\fP]
-[\-visual \fIvisual\fP]
-[\-window]
-[\-root]
-[\-speed \fInumber\fP]
-[\-rand]
-[\-spin]
-[\-wander]
-[\-fps]
-[\-surface \fIsurface-name\fP]
-[\-random-surface]
-[\-dini]
-[\-enneper]
-[\-kuen]
-[\-moebius]
-[\-seashell]
-[\-swallowtail]
-[\-bohemian]
-[\-whitney]
-[\-pluecker]
-[\-henneberg]
-[\-catalan]
-[\-corkscrew]
-[\-mode \fIdisplay-mode\fP]
-[\-random-mode]
-[\-points]
-[\-lines]
-[\-line-loops]
-.SH DESCRIPTION
-This draws one of several three dimensional parametric surfaces.
-.SH OPTIONS
-.TP 8
-.B \-visual \fIvisual\fP
-Specify which visual to use.  Legal values are the name of a visual
-class, or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-delay \fInumber\fP
-Per-frame delay, in microseconds.  Default: 20000 (0.02 seconds.).
-.TP 8
-.B \-speed \fInumber\fP
-Number of frames before changing shape.  Default: 1000.
-.TP 8
-.B \-surface random \fP(Shortcut: \fB\-random-surface\fP)
-Display a random surface.  This is the default.
-.TP 8
-.B \-surface dini \fP(Shortcut: \fB\-dini\fP)
-Display Dini's surface.
-.TP 8
-.B \-surface enneper \fP(Shortcut: \fB\-enneper\fP)
-Display Enneper's minimal surface.
-.TP 8
-.B \-surface kuen \fP(Shortcut: \fB\-kuen\fP)
-Display the Kuen surface.
-.TP 8
-.B \-surface moebius \fP(Shortcut: \fB\-moebius\fP)
-Display the Moebius strip.
-.TP 8
-.B \-surface seashell \fP(Shortcut: \fB\-seashell\fP)
-Display the seashell surface.
-.TP 8
-.B \-surface swallowtail \fP(Shortcut: \fB\-swallowtail\fP)
-Display the swallowtail catastrophe.
-.TP 8
-.B \-surface bohemian \fP(Shortcut: \fB\-bohemian\fP)
-Display the Bohemian dome.
-.TP 8
-.B \-surface whitney \fP(Shortcut: \fB\-whitney\fP)
-Display the Whitney umbrella.
-.TP 8
-.B \-surface pluecker \fP(Shortcut: \fB\-pluecker\fP)
-Display Pluecker's conoid.
-.TP 8
-.B \-surface henneberg \fP(Shortcut: \fB\-henneberg\fP)
-Display Henneberg's minimal surface.
-.TP 8
-.B \-surface catalan \fP(Shortcut: \fB\-catalan\fP)
-Display Catalan's minimal surface.
-.TP 8
-.B \-surface corkscrew \fP(Shortcut: \fB\-corkscrew\fP)
-Display the corkscrew surface.
-.TP 8
-.B \-mode random \fP(Shortcut: \fB\-random-mode\fP)
-Use random OpenGL primitives to display the surface.  This is the
-default.
-.TP 8
-.B \-mode points \fP(Shortcut: \fB\-points\fP)
-Use OpenGL points to display the surface.
-.TP 8
-.B \-mode lines \fP(Shortcut: \fB\-lines\fP)
-Use OpenGL lines to display the surface.
-.TP 8
-.B \-mode line-loops \fP(Shortcut: \fB\-line-loops\fP)
-Use OpenGL line loops to display the surface.
-.TP 8
-.B \-wander | \-no-wander
-Whether to wander around the screen.
-.TP 8
-.B \-spin | \-no-spin
-Whether to rotate around the center of the figure.
-.TP 8
-.B \-fps
-Display the current frame rate, CPU load, and polygon count.
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH SEE ALSO
-.BR X (1),
-.BR xscreensaver (1)
-.SH AUTHORS
-Andrey Mirtchovski, Carsten Steger
diff --git a/hacks/glx/tangram.man b/hacks/glx/tangram.man
deleted file mode 100644 (file)
index c5d3980..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-.TH XScreenSaver 1 "" "X Version 11"
-.SH NAME
-tangram - watch the computer solve tangram puzzles.
-.SH SYNOPSIS
-.B tangram 
-[\-display \fIhost:display.screen\fP]
-[\-visual \fIvisual\fP]
-[\-window]
-[\-root]
-[\-delay \fInumber\fP]
-[\-wireframe]
-[\-viewing_time \fInumber\fP]
-[\-rotate]
-[\-fps]
-.SH DESCRIPTION
-The \fItangram\fP program uses a few basic shapes to build silhouettes of recognizable objects.
-.SH OPTIONS
-.I tangram
-accepts the following options:
-.TP 8
-.B \-visual \fIvisual\fP
-Specify which visual to use.  Legal values are the name of a visual class,
-or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-delay \fInumber\fP
-Per-frame delay, in microseconds.  Default: 10000 (0.01 seconds.).
-.TP 8
-.B \-wireframe | \-no-wireframe
-Render in wireframe instead of solid.
-.TP 8
-.B \-viewing_time \fInumber\fP 
-Specify the length of time, in seconds, that the finished puzzle
-should be displayed. Default: 5
-.TP 8
-.B \-rotate | \-no-rotate
-Rotate the camera around the puzzle.
-.TP 8
-.B \-fps
-Display the current frame rate, CPU load, and polygon count.
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH SEE ALSO
-.BR X (1),
-.BR xscreensaver (1)
-.SH COPYRIGHT
-Copyright \(co 2005 by Jeremy English.  Permission to use, copy, modify, 
-distribute, and sell this software and its documentation for any purpose is 
-hereby granted without fee, provided that the above copyright notice appear 
-in all copies and that both that copyright notice and this permission notice
-appear in supporting documentation.  No representations are made about the 
-suitability of this software for any purpose.  It is provided "as is" without
-express or implied warranty.
-.SH AUTHOR
-Jeremy English <jhe@jeremyenglish.org>
diff --git a/hacks/glx/timetunnel.man b/hacks/glx/timetunnel.man
deleted file mode 100644 (file)
index cdd6af5..0000000
+++ /dev/null
@@ -1,105 +0,0 @@
-.TH XScreenSaver 1 "" "X Version 11"
-.SH NAME
-timetunnel - Plasma tunnels fade in and out
-.SH SYNOPSIS
-.B timetunnel
-[\-display \fIhost:display.screen\fP]
-[\-visual \fIvisual\fP]
-[\-window]
-[\-root]
-[\-start \fInumber\fP]
-[\-end \fInumber\fP]
-[\-dilate \fInumber\fP]
-[\-no-logo]
-[\-reverse]
-[\-no-fog]
-[\-no-texture]
-[\-wireframe]
-[\-fps]
-[\-tardis \fItexture\fP]
-[\-head \fItexture\fP]
-[\-marquee \fItexture\fP]
-[\-tun1 \fItexture\fP]
-[\-tun2 \fItexture\fP]
-[\-tun3 \fItexture\fP]
-.SH DESCRIPTION
-Draws an animation similar to the opening and closing effects on the
-Dr. Who television show.
-.SH OPTIONS
-.TP 8
-.B \-visual \fIvisual\fP
-Specify which visual to use.  Legal values are the name of a visual class,
-or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-start \fInumber\fP
-Start time of loop, 0.0 - 30.00. Default 0.0.  May be identical to end time.
-.TP 8
-.B \-end \fInumber\fP
-End time of loop, 0.0 - 30.00. Default 27.79.  May be identical to start time.
-.TP 8
-.B \-dilate \fInumber\fP
-Scale time to speed or slow simulation.  Numbers less than one slow it down.
-.TP 8
-.B \-no-logo
-Show only tunnels, no logos, etc.
-.TP 8
-.B \-reverse
-Play in reverse, including tunnels.
-.TP 8
-.B \-no-fog
-Turn off fog.
-.TP 8
-.B \-no-texture
-Turn off textures.
-.TP 8
-.B \-wireframe
-Show as wire frame.
-.TP 8
-.B \-fps | \-no-fps
-Whether to show a frames-per-second display at the bottom of the screen.
-.TP 8
-.B \-tardis \fItexture\fP
-Specify an xpm file to override default tardis texture.
-.TP 8
-.B \-head \fItexture\fP
-Specify an xpm file to override default Dr. Who head texture.
-.TP 8
-.B \-marquee \fItexture\fP
-Specify an xpm file to override default show marquee texture.
-.TP 8
-.B \-tun1 \fItexture\fP
-Specify an xpm file to override default tardis tunnel texture.
-.TP 8
-.B \-tun2 \fItexture\fP
-Specify an xpm file to override default middle tunnel texture.
-.TP 8
-.B \-tun3 \fItexture\fP
-Specify an xpm file to override default final tunnel texture.
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH SEE ALSO
-.BR X (1),
-.BR xscreensaver (1)
-.SH COPYRIGHT
-Copyright \(co 2005 by Sean Brennan.  Permission to use, copy, modify, 
-distribute, and sell this software and its documentation for any purpose is 
-hereby granted without fee, provided that the above copyright notice appear 
-in all copies and that both that copyright notice and this permission notice
-appear in supporting documentation.  No representations are made about the 
-suitability of this software for any purpose.  It is provided "as is" without
-express or implied warranty.
-.SH AUTHOR
-Sean Brennan <zettix@yahoo.com>
diff --git a/hacks/glx/topblock.man b/hacks/glx/topblock.man
deleted file mode 100644 (file)
index bbe4965..0000000
+++ /dev/null
@@ -1,170 +0,0 @@
-.TH XScreenSaver 1 "" "X Version 11"
-.SH NAME
-topblock - a 3D world of falling blocks that build up and up.
-.SH SYNOPSIS
-.B topblock
-[\-display \fIhost:display.screen\fP]
-[\-visual \fIvisual\fP]
-[\-window]
-[\-root]
-[\-delay \fInumber\fP]
-[\-wireframe]
-[\-fps]
-[\-size \fInumber\fP]
-[\-spawn \fInumber\fP]
-[\-camX \fInumber\fP]
-[\-camY \fInumber\fP]
-[\-camZ \fInumber\fP]
-[\-rotate]
-[\-no-carpet]
-[\-no-nipples]
-[\-blob]
-[\-rotateSpeed \fInumber\fP]
-[\-follow]
-[\-maxFalling \fInumber\fP]
-[\-resolution \fInumber\fP]
-[\-maxColors \fInumber\fP]
-[\-dropSpeed \fInumber\fP]
-[\-override]
-.SH DESCRIPTION
-Creates a world of falling blocks that build up and up.
-.SH OPTIONS
-.TP 8
-.B \-visual \fIvisual\fP
-Specify which visual to use.  Legal values are the name of a visual class,
-or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-delay \fInumber\fP
-Per-frame delay, in microseconds.  Default: 10000 (0.01 seconds.).
-.TP 8
-.B \-wireframe | \-no-wireframe
-Render in wireframe instead of solid.
-.TP 8
-.B \-fps
-Display the current frame rate, CPU load, and polygon count.
-.TP 8
-.B \-size \fInumber\fP
-Size of the base/carpet.
-.TP 8
-.B \-spawn \fInumber\fP
-Likeyhood of a new block being created per frame : 1 high, 1000 very low.
-.TP 8
-.B \-camX \fInumber\fP
-Initial camera X location in the world.
-.TP 8
-.B \-camY \fInumber\fP
-Initial camera Y location in the world.
-.TP 8
-.B \-camZ \fInumber\fP
-Initial camera Z location in the world.
-.TP 8
-.B \-rotate | -no-rotate
-Add/Remove rotation to/from the animation.
-.TP 8
-.B \-no-carpet
-Remove the base/carpet.
-.TP 8
-.B \-no-nipples
-Remove nipples on the blocks (also applies to udders) (has no effect in blob mode).
-.TP 8
-.B \-blob
-Run in blob mode, blocks become over sized spheres.
-.TP 8
-.B \-rotateSpeed \fInumber\fP
-Varries speed of world rotation.
-.TP 8
-.B \-follow
-Camera follows blocks as they fall instead of camera being semi static (stays with top block).
-.TP 8
-.B \-maxFalling \fInumber\fP
-Maximum number of objects created before recycling occurs.
-.TP 8
-.B \-resolution \fInumber\fP
-Resolution of tubes, disks and spheres.
-.TP 8
-.B \-maxColors \fInumber\fP
-Number of different colors available to falling objects.
-.TP 8
-.B \-dropSpeed \fInumber\fP
-Varries speed of falling objects.
-.TP 8
-.B \-override
-Overrides camera settings and provides a tunnel view.
-
-.SH KEYS
-.PP
-.TP 8
-.B a
-Increases viewing X coordinate.
-.TP 8
-.B z
-Decreases viewing X coordinate.
-.TP 8
-.B s
-Increases viewing Y coordinate.
-.TP 8
-.B x
-Decreases viewing Y coordinate.
-.TP 8
-.B d
-Increases viewing Z coordinate.
-.TP 8
-.B c
-Decreases viewing Z coordinate.
-.TP 8
-.B f
-Increases camera location X coordinate.
-.TP 8
-.B v
-Decreases camera location X coordinate.
-.TP 8
-.B g
-Increases camera location Y coordinate.
-.TP 8
-.B b
-Decreases camera location Y coordinate.
-.TP 8
-.B h
-Increases camera location Z coordinate.
-.TP 8
-.B n
-Decreases camera location Z coordinate.
-.TP 8
-.B r
-Increases world rotation.
-.TP 8
-.B q
-quit.
-.SH EXAMPLES
-To see which block follow-mode is tracking, set the number of block colors to 1.
-.TP 8
-.B topblock -follow -maxColors 1
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH SEE ALSO
-.BR X (1),
-.BR xscreensaver (1)
-.SH COPYRIGHT
-Copyright \(co 2006 by rednuht.  Permission to use, copy, modify, 
-distribute, and sell this software and its documentation for any purpose is 
-hereby granted without fee, provided that the above copyright notice appear 
-in all copies and that both that copyright notice and this permission notice
-appear in supporting documentation.  No representations are made about the 
-suitability of this software for any purpose.  It is provided "as is" without
-express or implied warranty.
-.SH AUTHOR
-rednuht <topblock.xscreensaver@jumpstation.co.uk> 
-<http://www.jumpstation.co.uk/xscreensaver/topblock/>
diff --git a/hacks/glx/tronbit.man b/hacks/glx/tronbit.man
deleted file mode 100644 (file)
index 9001f0e..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-.TH XScreenSaver 1 "" "X Version 11"
-.SH NAME
-tronbit - Yes. Yes. No. Yes. Yes. No. Yes. Yes yes yes yes yes.
-.SH SYNOPSIS
-.B tronbit
-[\-display \fIhost:display.screen\fP]
-[\-visual \fIvisual\fP]
-[\-window]
-[\-root]
-[\-delay \fInumber\fP]
-[\-speed \fIratio\fP]
-[\-spin]
-[\-wander]
-[\-wireframe]
-[\-fps]
-.SH DESCRIPTION
-Draws an animation of the character "Bit" from the film, \fITron\fP.
-
-The "yes" state is a tetrahedron; the "no" state is the second
-stellation of an icosahedron; and the idle state oscillates between
-a small triambic icosahedron and the compound of an icosahedron and
-a dodecahedron.
-.SH OPTIONS
-.TP 8
-.B \-visual \fIvisual\fP
-Specify which visual to use.  Legal values are the name of a visual class,
-or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-delay \fInumber\fP
-Per-frame delay, in microseconds.  Default: 30000 (0.03 seconds.).
-.TP 8
-.B \-speed \fInumber\fP
-How fast the animation should run.
-Less than 1 for slower, greater than 1 for faster.
-.TP 8
-.B \-no\-spin
-Don't rotate.
-.TP 8
-.B \-no\-wander
-Don't wander around.
-.TP 8
-.B \-wireframe
-Render in wireframe instead of solid.
-.TP 8
-.B \-fps
-Display the current frame rate, CPU load, and polygon count.
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH SEE ALSO
-.BR X (1),
-.BR polyhedra (1),
-.BR dangerball (1),
-.BR companioncube (1),
-.BR xscreensaver (1),
-.BR TRON.
-.SH COPYRIGHT
-Copyright \(co 2011 by Jamie Zawinski.  Permission to use, copy,
-modify, distribute, and sell this software and its documentation for
-any purpose is hereby granted without fee, provided that the above
-copyright notice appear in all copies and that both that copyright
-notice and this permission notice appear in supporting documentation.
-No representations are made about the suitability of this software for
-any purpose.  It is provided "as is" without express or implied
-warranty.
-.SH AUTHOR
-Jamie Zawinski, who fights for the users.
diff --git a/hacks/glx/unknownpleasures.man b/hacks/glx/unknownpleasures.man
deleted file mode 100644 (file)
index 422c81f..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-.TH XScreenSaver 1 "" "X Version 11"
-.SH NAME
-unknownpleasures - an animation of the signal from the pulsar PSR B1919+21.
-.SH SYNOPSIS
-.B unknownpleasures
-[\-display \fIhost:display.screen\fP]
-[\-visual \fIvisual\fP]
-[\-window]
-[\-root]
-[\-delay \fInumber\fP]
-[\-speed \fIpercent\fP]
-[\-count \fIinteger\fP]
-[\-resolution \fIpercent\fP]
-[\-no-ortho]
-[\-fps]
-.SH DESCRIPTION
-PSR B1919+21 (AKA CP 1919) was the first pulsar ever discovered: a spinning
-neutron star emitting a periodic lighthouse-like beacon. An illustration of
-the signal received from it was published in Scientific American in 1971,
-and later in The Cambridge Encyclopedia of Astronomy in 1977, where it was
-seen by Stephen Morris, the drummer of Joy Division, and was consequently
-appropriated by Peter Saville for the cover of the band's album "Unknown
-Pleasures".
-.SH OPTIONS
-.TP 8
-.B \-visual \fIvisual\fP
-Specify which visual to use.  Legal values are the name of a visual class,
-or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-delay \fInumber\fP
-Per-frame delay, in microseconds.  Default: 30000 (0.03 seconds.).
-.TP 8
-.B \-speed \fInumber\fP
-Animation speed. 2 for twice as fast, 0.5 for half as fast.
-.TP 8
-.B \-count \fInumber\fP
-Scanlines (vertical resolution).  Default: 80.
-.TP 8
-.B \-count \fInumber\fP
-Horizontal Resolution, Default: 100%.
-.TP 8
-.B \-ortho | \-no-ortho
-Whether to use an orthographic projection.
-.TP 8
-.B \-fps | \-no-fps
-Whether to show a frames-per-second display at the bottom of the screen.
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH SEE ALSO
-.BR X (1),
-.BR xscreensaver (1)
-.SH COPYRIGHT
-Copyright \(co 2013 by Jamie Zawinski.  Permission to use, copy, modify, 
-distribute, and sell this software and its documentation for any purpose is 
-hereby granted without fee, provided that the above copyright notice appear 
-in all copies and that both that copyright notice and this permission notice
-appear in supporting documentation.  No representations are made about the 
-suitability of this software for any purpose.  It is provided "as is" without
-express or implied warranty.
-.SH AUTHOR
-Jamie Zawinski.
diff --git a/hacks/glx/voronoi.man b/hacks/glx/voronoi.man
deleted file mode 100644 (file)
index 713f08c..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-.TH XScreenSaver 1 "" "X Version 11"
-.SH NAME
-voronoi - draws a randomly-colored Voronoi tessellation
-.SH SYNOPSIS
-.B voronoi
-[\-display \fIhost:display.screen\fP]
-[\-visual \fIvisual\fP]
-[\-window]
-[\-root]
-[\-points \fIint\fP]
-[\-point\-size \fIint\fP]
-[\-point\-speed \fIratio\fP]
-[\-point\-delay \fIseconds\fP]
-[\-zoom\-speed \fIratio\fP]
-[\-zoom\-delay \fIseconds\fP]
-[\-fps]
-.SH DESCRIPTION
-Draws a randomly-colored Voronoi tessellation, and periodically zooms 
-in and adds new points.  The existing points also wander around.
-
-There are a set of control points on the plane, each at the center of
-a colored cell.  Every pixel within that cell is closer to that cell's
-control point than to any other control point.  That is what
-determines the cell's shapes.
-
-When running in a window, you can click  to insert a new point at
-the mouse position.  Clicking on an existing point lets you drag
-it around.
-
-This implementation takes advantage of the OpenGL depth buffer to
-compute the cells for us, by rendering the intersection of overlapping
-cones in an orthographic plane.
-.SH OPTIONS
-.TP 8
-.B \-visual \fIvisual\fP
-Specify which visual to use.  Legal values are the name of a visual class,
-or the id number (decimal or hex) of a specific visual.
-.TP 8
-.B \-window
-Draw on a newly-created window.  This is the default.
-.TP 8
-.B \-root
-Draw on the root window.
-.TP 8
-.B \-points \fIint\fP
-How many points to add each time we zoom in.
-.TP 8
-.B \-point\-size \fIint\fP
-How big to draw the stars, in pixels.  0 for no stars.
-.TP 8
-.B \-point\-speed \fIratio\fP
-How fast the points should wander.  
-Less than 1 for slower, greater than 1 for faster.
-.TP 8
-.B \-point\-delay \fIseconds\fP
-How quickly to insert new points, when adding.
-.TP 8
-.B \-zoom\-speed \fIratio\fP
-How fast to zoom in.
-Less than 1 for slower, greater than 1 for faster.
-.TP 8
-.B \-zoom\-delay \fIseconds\fP
-Zoom in every this-many seconds.
-.TP 8
-.B \-fps
-Display the current frame rate, CPU load, and polygon count.
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host and display number.
-.TP 8
-.B XENVIRONMENT
-to get the name of a resource file that overrides the global resources
-stored in the RESOURCE_MANAGER property.
-.SH SEE ALSO
-.BR X (1),
-.BR xscreensaver (1)
-.SH COPYRIGHT
-Copyright \(co 2007 by Jamie Zawinski.  Permission to use, copy, modify, 
-distribute, and sell this software and its documentation for any purpose is 
-hereby granted without fee, provided that the above copyright notice appear 
-in all copies and that both that copyright notice and this permission notice
-appear in supporting documentation.  No representations are made about the 
-suitability of this software for any purpose.  It is provided "as is" without
-express or implied warranty.
-.SH AUTHOR
-Jamie Zawinski.
diff --git a/hacks/glx/xscreensaver-gl-helper.man b/hacks/glx/xscreensaver-gl-helper.man
deleted file mode 100644 (file)
index 7c40eb3..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-.TH XScreenSaver 1 "5-Nov-00" "X Version 11"
-.SH NAME
-xscreensaver-gl-helper - figure out which X visual to use for GL programs
-.SH SYNOPSIS
-.B xscreensaver-gl-helper
-[\-display \fIhost:display.screen\fP]
-.SH DESCRIPTION
-This program prints the ID of the visual that should be used for proper
-operation of OpenGL programs.  This program only exists so that the 
-.BR xscreensaver (1)
-daemon does not need to link against the OpenGL library.
-.SH ENVIRONMENT
-.PP
-.TP 8
-.B DISPLAY
-to get the default host, display, and screen number.
-.SH SEE ALSO
-.BR X (1),
-.BR xdpyinfo (1),
-.BR xglinfo (1),
-.BR glxinfo (1),
-.BR glxdpyinfo (1),
-.BR xscreensaver (1),
-.BR xscreensaver\-demo (1),
-.BR xscreensaver\-command (1)
-.SH COPYRIGHT
-Copyright \(co 2000 by Jamie Zawinski.  Permission to use, copy, modify, 
-distribute, and sell this software and its documentation for any purpose is 
-hereby granted without fee, provided that the above copyright notice appear 
-in all copies and that both that copyright notice and this permission notice
-appear in supporting documentation.  No representations are made about the 
-suitability of this software for any purpose.  It is provided "as is" without
-express or implied warranty.
index e1055979fc140b4bd729c07031508efc5a3432c1..2daa13b8d17cdbc05c6b94703a4333d7e78a13c7 100755 (executable)
@@ -48,37 +48,46 @@ use strict;
 #use diagnostics;
 
 
 #use diagnostics;
 
 
-use Socket;
 require Time::Local;
 require POSIX;
 use Fcntl ':flock'; # import LOCK_* constants
 use POSIX qw(strftime);
 require Time::Local;
 require POSIX;
 use Fcntl ':flock'; # import LOCK_* constants
 use POSIX qw(strftime);
-
-use bytes;  # Larry can take Unicode and shove it up his ass sideways.
-            # Perl 5.8.0 causes us to start getting incomprehensible
-            # errors about UTF-8 all over the place without this.
+use LWP::UserAgent;
+use bytes;
 
 
 my $progname = $0; $progname =~ s@.*/@@g;
 
 
 my $progname = $0; $progname =~ s@.*/@@g;
-my $version = q{ $Revision: 1.160 $ }; $version =~ s/^[^0-9]+([0-9.]+).*$/$1/;
-my $copyright = "WebCollage $version, Copyright (c) 1999-2011" .
+my $version = q{ $Revision: 1.162 $ }; $version =~ s/^[^0-9]+([0-9.]+).*$/$1/;
+my $copyright = "WebCollage $version, Copyright (c) 1999-2013" .
     " Jamie Zawinski <jwz\@jwz.org>\n" .
     "            http://www.jwz.org/webcollage/\n";
 
 
 
     " Jamie Zawinski <jwz\@jwz.org>\n" .
     "            http://www.jwz.org/webcollage/\n";
 
 
 
-my @search_methods = ( 26, "googlephotos",  \&pick_from_google_image_photos,
-                       15, "googleimgs",    \&pick_from_google_images,
-                       15, "googlenums",    \&pick_from_google_image_numbers,
-                       17, "flickr_recent", \&pick_from_flickr_recent,
-                       14, "flickr_random", \&pick_from_flickr_random,
-# twitpic went stale. don't have time to fix it right now.
-#                       10, "twitpic",       \&pick_from_twitpic_images,
-                        9, "livejournal",   \&pick_from_livejournal_images,
+my @search_methods = (
+                      # Google is rate-limiting us now, so this works ok from
+                      # a short-running screen saver, but not as a batch job.
+                      # I haven't found a workaround.
+                      #
+                        7, "googlephotos",  \&pick_from_google_image_photos,
+                        5, "googleimgs",    \&pick_from_google_images,
+                        5, "googlenums",    \&pick_from_google_image_numbers,
+
+                      # So let's try Bing instead. No rate limiting yet!
+                      #
+                        7, "bingphotos",    \&pick_from_bing_image_photos,
+                        6, "bingimgs",      \&pick_from_bing_images,
+                        6, "bingnums",      \&pick_from_bing_image_numbers,
+
+                       19, "flickr_recent", \&pick_from_flickr_recent,
+                       15, "flickr_random", \&pick_from_flickr_random,
+                       20, "instagram",     \&pick_from_instagram,
+                        6, "livejournal",   \&pick_from_livejournal_images,
                         4, "yahoorand",     \&pick_from_yahoo_random_link,
 
                         4, "yahoorand",     \&pick_from_yahoo_random_link,
 
-                     # This one doesn't work very well: too many non-img links.
-                        0, "twitter",       \&pick_from_twitter_images,
+                     # Twitter destroyed their whole API in 2013.
+                     #  0, "twitpic",       \&pick_from_twitpic_images,
+                     #  0, "twitter",       \&pick_from_twitter_images,
 
                      # This is a cute way to search for a certain webcams.
                      # Not included in default methods, since these images
 
                      # This is a cute way to search for a certain webcams.
                      # Not included in default methods, since these images
@@ -217,6 +226,7 @@ my %warningless_sites = (
   "pics.livejournal.com"    => 1,
   "tinypic.com"             => 1,
   "flickr.com"              => 1,
   "pics.livejournal.com"    => 1,
   "tinypic.com"             => 1,
   "flickr.com"              => 1,
+  "staticflickr.com"        => 1,
   "pbase.com"               => 1,
   "blogger.com"             => 1,
   "multiply.com"            => 1,
   "pbase.com"               => 1,
   "blogger.com"             => 1,
   "multiply.com"            => 1,
@@ -374,170 +384,62 @@ sub get_document_1($$$) {
   if (!defined($timeout)) { $timeout = $http_timeout; }
   if ($timeout > $http_timeout) { $timeout = $http_timeout; }
 
   if (!defined($timeout)) { $timeout = $http_timeout; }
   if ($timeout > $http_timeout) { $timeout = $http_timeout; }
 
-  if ($timeout <= 0) {
-    LOG (($verbose_net || $verbose_load), "timed out for $url");
-    return ();
-  }
+  my $user_agent = "$progname/$version";
 
 
-  LOG ($verbose_net, "get_document_1 $url " . ($referer ? $referer : ""));
+  if ($url =~ m@^http://www\.altavista\.com/@ ||
+      $url =~ m@^http://random\.yahoo\.com/@ ||
+      $url =~ m@^http://images\.google\.com/@ ||
+      $url =~ m@^http://www\.google\.com/@) {
+    # block this, you turkeys.
+    $user_agent = "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.7)" .
+                  " Gecko/20070914 Firefox/2.0.0.7";
 
 
-  if (! ($url =~ m@^http://@i)) {
-    LOG ($verbose_net, "not an HTTP URL: $url");
-    return ();
-  }
-
-  my ($url_proto, $dummy, $serverstring, $path) = split(/\//, $url, 4);
-  $path = "" unless $path;
-
-  if (!$url_proto || !$serverstring) {
-    LOG (($verbose_net || $verbose_load), "unparsable URL: $url");
-    return ();
+    # 28-Jun-2007: Google Images now emits the entire page in JS if
+    # you claim to be Gecko.  They also still block "webcollage".
+    # They serve non-JS for unrecognised agents, so let's try this...
+    $user_agent = "NoJavascriptPlease/1.0"
+      if ($url =~ m@^http://[a-z]+\.google\.com/@);
   }
 
   }
 
-  my ($them,$port) = split(/:/, $serverstring);
-  $port = 80 unless $port;
+  my $ua = LWP::UserAgent->new;
+  $ua->env_proxy();
+  $ua->agent ("$progname/$version");
+  $ua->default_header ('Referer' => $referer);
+  $ua->timeout($timeout) if $timeout;
 
 
-  my $them2 = $them;
-  my $port2 = $port;
-  if ($http_proxy) {
-    $serverstring = $http_proxy if $http_proxy;
-    $serverstring =~ s@^[a-z]+://@@;
-    ($them2,$port2) = split(/:/, $serverstring);
-    $port2 = 80 unless $port2;
-  }
-
-  my ($remote, $iaddr, $paddr, $proto, $line);
-  $remote = $them2;
-  if ($port2 =~ /\D/) { $port2 = getservbyname($port2, 'tcp') }
-  if (!$port2) {
-    LOG (($verbose_net || $verbose_load), "unrecognised port in $url");
-    return ();
-  }
-  $iaddr   = inet_aton($remote);
-  if (!$iaddr) {
-    LOG (($verbose_net || $verbose_load), "host not found: $remote");
-    return ();
+  if ($verbose_http) {
+    LOG (1, "  ==> GET $url");
+    LOG (1, "  ==> User-Agent: $user_agent");
+    LOG (1, "  ==> Referer: $referer") if $referer;
   }
   }
-  $paddr   = sockaddr_in($port2, $iaddr);
 
 
+  my $res = $ua->get ($url);
 
 
-  my $head = "";
-  my $body = "";
+  my $http = ($res ? $res->status_line : '') || '';
+  my $head = ($res ? $res->headers()->as_string : '') || '';
+  my $body = ($res && $res->is_success ? $res->decoded_content : '') || '';
 
 
-  @_ =
-    eval {
-      local $SIG{ALRM} = sub {
-        LOG (($verbose_net || $verbose_load), "timed out ($timeout) for $url");
-        die "alarm\n";
-      };
-      alarm $timeout;
-
-      $proto   = getprotobyname('tcp');
-      if (!socket(S, PF_INET, SOCK_STREAM, $proto)) {
-        LOG (($verbose_net || $verbose_load), "socket: $!");
-        return ();
-      }
-      if (!connect(S, $paddr)) {
-        LOG (($verbose_net || $verbose_load), "connect($serverstring): $!");
-        return ();
-      }
-
-      select(S); $| = 1; select(STDOUT);
-
-      my $cookie = $cookies{$them};
-
-      my $user_agent = "$progname/$version";
-
-      if ($url =~ m@^http://www\.altavista\.com/@ ||
-          $url =~ m@^http://random\.yahoo\.com/@ ||
-          $url =~ m@^http://images\.google\.com/@ ||
-          $url =~ m@^http://www\.google\.com/@) {
-        # block this, you turkeys.
-        $user_agent = "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.7)" .
-          " Gecko/20070914 Firefox/2.0.0.7";
-
-        # 28-Jun-2007: Google Images now emits the entire page in JS if
-        # you claim to be Gecko.  They also still block "webcollage".
-        # They serve non-JS for unrecognised agents, so let's try this...
-        $user_agent = "NoJavascriptPlease/1.0"
-          if ($url =~ m@^http://[a-z]+\.google\.com/@);
-      }
-
-      my $hdrs = "GET " . ($http_proxy ? $url : "/$path") . " HTTP/1.0\r\n" .
-                 "Host: $them\r\n" .
-                 "User-Agent: $user_agent\r\n";
-      if ($referer) {
-        $hdrs .= "Referer: $referer\r\n";
-      }
-      if ($cookie) {
-        my @cc = split(/\r?\n/, $cookie);
-        $hdrs .= "Cookie: " . join('; ', @cc) . "\r\n";
-      }
-      $hdrs .= "\r\n";
-
-      foreach (split('\r?\n', $hdrs)) {
-        LOG ($verbose_http, "  ==> $_");
-      }
-      print S $hdrs;
-      my $http = <S> || "";
-
-      # Kludge: the Yahoo Random Link is now returning as its first
-      # line "Status: 301" instead of "HTTP/1.0 301 Found".  Fix it...
-      #
-      $http =~ s@^Status:\s+(\d+)\b@HTTP/1.0 $1@i;
+  LOG ($verbose_net, "get_document_1 $url " . ($referer ? $referer : ""));
 
 
-      $_  = $http;
-      s/[\r\n]+$//s;
+  $head =~ s/\r\n/\n/gs;
+  $head =~ s/\r/\n/gs;
+  if ($verbose_http) {
+    foreach (split (/\n/, $head)) {
       LOG ($verbose_http, "  <== $_");
       LOG ($verbose_http, "  <== $_");
-
-      while (<S>) {
-        $head .= $_;
-        s/[\r\n]+$//s;
-        last if m@^$@;
-        LOG ($verbose_http, "  <== $_");
-
-        if (m@^Set-cookie:\s*([^;\r\n]+)@i) {
-          set_cookie($them, $1)
-        }
-      }
-
-      my $lines = 0;
-      while (<S>) {
-        $body .= $_;
-        $lines++;
-      }
-
-      LOG ($verbose_http,
-           "  <== [ body ]: $lines lines, " . length($body) . " bytes");
-
-      close S;
-
-      if (!$http) {
-        LOG (($verbose_net || $verbose_load), "null response: $url");
-        return ();
-      }
-
-      $SIG{ALRM} = 'DEFAULT';  # seem to be suffering a race?
-      return ( $http, $head, $body );
-    };
-  die if ($@ && $@ ne "alarm\n");       # propagate errors
-
-  if ($@ && $@ ne "alarm\n") {
-    print STDERR blurb() . "DIE " . join(" ", $@) . "\n";
-    die;
+    }
   }
 
   }
 
-  if ($@) {
-    # timed out
-    $head = undef;
-    $body = undef;
-    $suppress_audit = 1;
+  my @L = split(/\r\n|\r|\n/, $body);
+  my $lines = @L;
+  LOG ($verbose_http,
+       "  <== [ body ]: $lines lines, " . length($body) . " bytes");
+
+  if (!$http) {
+    LOG (($verbose_net || $verbose_load), "null response: $url");
     return ();
     return ();
-  } else {
-    # didn't
-    alarm 0;
-    return @_;
   }
   }
+
+  return ( $http, $head, $body );
 }
 
 
 }
 
 
@@ -1064,6 +966,26 @@ sub pick_from_search_engine($$$) {
 
   my @subpages;
 
 
   my @subpages;
 
+  if ($body =~ m/^\{\"/s) {                    # Google AJAX JSON response.
+
+    my @chunks = split (/"GsearchResultClass"/, $body);
+    shift @chunks;
+    my $body2 = '';
+    my $n = 1;
+    foreach (@chunks) {
+      my ($img) = m/"unescapedUrl":"(.*?)"/si;
+      my ($url) = m/"originalContextUrl":"(.*?)"/si;
+      next unless ($img && $url);
+      $url = ("/imgres" .
+              "?imgurl="    . url_quote($img) .
+              "&imgrefurl=" . url_quote($url) .
+              "&...");
+      $body2 .= "<A HREF=\"" . html_quote($url) . "\">$n</A>\n";
+      $n++;
+    }
+    $body = $body2 if $body2;
+  }
+
   my $search_count = "?";
   if ($body =~ m@found (approximately |about )?(<B>)?(\d+)(</B>)? image@) {
     $search_count = $3;
   my $search_count = "?";
   if ($body =~ m@found (approximately |about )?(<B>)?(\d+)(</B>)? image@) {
     $search_count = $3;
@@ -1115,8 +1037,15 @@ sub pick_from_search_engine($$$) {
     my ($u) = m@<A\s.*\bHREF\s*=\s*([^>]+)>@i;
     next unless $u;
 
     my ($u) = m@<A\s.*\bHREF\s*=\s*([^>]+)>@i;
     next unless $u;
 
-    if ($u =~ m/^\"([^\"]*)\"/) { $u = $1; }   # quoted string
-    elsif ($u =~ m/^([^\s]*)\s/) { $u = $1; }  # or token
+    if (m/\bm="{(.*?)}"/s) {           # Bing info is inside JSON crud
+      my $json = html_unquote($1);
+      my ($href) = ($json =~ m/\bsurl:"(.*?)"/s);
+      my ($img)  = ($json =~ m/\bimgurl:"(.*?)"/s);
+      $u = "$img\t$href" if ($img && $href);
+
+    } elsif ($u =~ m/^\"([^\"]*)\"/) { $u = $1   # quoted string
+    } elsif ($u =~ m/^([^\s]*)\s/) { $u = $1;    # or token
+    }
 
     if ( $rejected_urls{$u} ) {
       LOG ($verbose_filter, "  pre-rejecting candidate: $u");
 
     if ( $rejected_urls{$u} ) {
       LOG ($verbose_filter, "  pre-rejecting candidate: $u");
@@ -1413,11 +1342,10 @@ sub pick_from_security_camera($) {
 ############################################################################
 
 
 ############################################################################
 
 
-my $google_images_url =     "http://images.google.com/images" .
-                            "?site=images" .  # photos
-                            "&btnG=Search" .  # graphics
-                            "&safe=off" .     # no screening
-                            "&imgsafe=off" .
+my $google_images_url =     "http://ajax.googleapis.com/ajax/services/" .
+                            "search/images" .
+                            "?v=1.0" .
+                            "&rsz=large" .
                             "&q=";
 
 # googleimgs
                             "&q=";
 
 # googleimgs
@@ -1428,14 +1356,8 @@ sub pick_from_google_images($;$$) {
     $words = random_word();   # only one word for Google
   }
 
     $words = random_word();   # only one word for Google
   }
 
-  my $page = (int(rand(9)) + 1);
-  my $num = 20;     # 20 images per page
-  my $search_url = $google_images_url . $words;
-
-  if ($page > 1) {
-    $search_url .= "&start=" . $page*$num;     # page number
-    $search_url .= "&num="   . $num;            #images per page
-  }
+  my $off = int(rand(40));
+  my $search_url = $google_images_url . $words . "&start=" . $off;
 
   my ($search_hit_count, @subpages) =
     pick_from_search_engine ($timeout, $search_url, $words);
 
   my ($search_hit_count, @subpages) =
     pick_from_search_engine ($timeout, $search_url, $words);
@@ -1450,11 +1372,11 @@ sub pick_from_google_images($;$$) {
     if ($u =~ m@^/imgres\?imgurl=(.*?)&imgrefurl=(.*?)\&@) {
       my $ref = $2;
       my $img = $1;
     if ($u =~ m@^/imgres\?imgurl=(.*?)&imgrefurl=(.*?)\&@) {
       my $ref = $2;
       my $img = $1;
-      $img = "http://$img" unless ($img =~ m/^http:/i);
-
       $ref = url_decode($ref);
       $img = url_decode($img);
 
       $ref = url_decode($ref);
       $img = url_decode($img);
 
+      $img = "http://$img" unless ($img =~ m/^https?:/i);
+
       LOG ($verbose_filter, "  candidate: $ref");
       push @candidates, $img;
       $referers{$img} = $ref;
       LOG ($verbose_filter, "  candidate: $ref");
       push @candidates, $img;
       $referers{$img} = $ref;
@@ -1557,11 +1479,98 @@ sub pick_from_google_image_photos($) {
   my $i = int(rand($#photomakers + 1));
   my $fn = $photomakers[$i];
   my $file = &$fn;
   my $i = int(rand($#photomakers + 1));
   my $fn = $photomakers[$i];
   my $file = &$fn;
-  my $words .= $file . "%20filetype:jpg";
+  #$file .= "%20filetype:jpg";
 
 
-  pick_from_google_images ($timeout, $words);
+  pick_from_google_images ($timeout, $file);
 }
 
 }
 
+\f
+############################################################################
+#
+# Pick images by feeding random words into Google Image Search.
+# By the way: fuck Microsoft.
+#
+############################################################################
+
+my $bing_images_url =  "http://www.bing.com/images/async" .
+                       "?CW=0" .
+                       "&CH=0" .
+                       "&q=";
+
+
+# bingimgs
+sub pick_from_bing_images($;$$) {
+  my ($timeout, $words, $max_page) = @_;
+
+  if (!defined($words)) {
+    $words = random_word();   # only one word for Bing
+  }
+
+  my $off = int(rand(300));
+  my $search_url = $bing_images_url . $words . "&first=" . $off;
+
+  my ($search_hit_count, @subpages) =
+    pick_from_search_engine ($timeout, $search_url, $words);
+
+  my @candidates = ();
+  my %referers;
+  foreach my $u (@subpages) {
+    my ($img, $ref) = ($u =~ m/^(.*?)\t(.*)$/s);
+    next unless $img;
+    LOG ($verbose_filter, "  candidate: $ref");
+    push @candidates, $img;
+    $referers{$img} = $ref;
+  }
+
+  @candidates = depoison (@candidates);
+  return () if ($#candidates < 0);
+  my $i = int(rand($#candidates+1));
+  my $img = $candidates[$i];
+  my $ref = $referers{$img};
+
+  LOG ($verbose_load, "picked image " . ($i+1) . ": $img (on $ref)");
+  return ($ref, $img);
+}
+
+
+
+\f
+############################################################################
+#
+# Pick images by feeding random numbers into Bing Image Search.
+#
+############################################################################
+
+# bingnums
+sub pick_from_bing_image_numbers($) {
+  my ($timeout) = @_;
+
+  my $max = 9999;
+  my $number = int(rand($max));
+
+  $number = sprintf("%04d", $number)
+    if (rand() < 0.3);
+
+  pick_from_bing_images ($timeout, "$number");
+}
+
+\f
+############################################################################
+#
+# Pick images by feeding random numbers into Bing Image Search.
+#
+############################################################################
+
+# bingphotos
+sub pick_from_bing_image_photos($) {
+  my ($timeout) = @_;
+
+  my $i = int(rand($#photomakers + 1));
+  my $fn = $photomakers[$i];
+  my $file = &$fn;
+
+  pick_from_bing_images ($timeout, $file);
+}
 
 \f
 ############################################################################
 
 \f
 ############################################################################
@@ -2228,6 +2237,56 @@ sub pick_from_flickr_random($) {
   return ($base, $img);
 }
 
   return ($base, $img);
 }
 
+\f
+############################################################################
+#
+# Pick random images from Instagram, via gramfeed.com's key.
+#
+############################################################################
+
+my $instagram_url_base = "https://api.instagram.com/v1/media/popular" .
+                        "?client_id=b59fbe4563944b6c88cced13495c0f49";
+
+# instagram_random
+sub pick_from_instagram($) {
+  my $timeout = shift;
+
+  $last_search = $instagram_url_base;
+
+  print STDERR "\n\n" if ($verbose_load);
+  LOG ($verbose_load, "URL: $last_search");
+
+  my ( $base, $body ) = get_document ($last_search, undef, $timeout);
+  if (!$base || !$body) {
+    $body = undef;
+    return;
+  }
+
+  $body =~ s/("link")/\001$1/gs;
+  my @chunks = split(/\001/, $body);
+  shift @chunks;
+  my @urls = ();
+  foreach (@chunks) {
+    s/\\//gs;
+    my ($url) = m/"link":\s*"(.*?)"/s;
+    my ($img) = m/"standard_resolution":{"url":\s*"(.*?)"/s;
+       ($img) = m/"url":\s*"(.*?)"/s unless $url;
+    next unless ($url && $img);
+    push @urls, [ $url, $img ];
+  }
+
+  if ($#urls < 0) {
+    LOG ($verbose_load, "no images on $last_search");
+    return ();
+  }
+
+  my $i = int(rand($#urls+1));
+  my ($url, $img) = @{$urls[$i]};
+
+  LOG ($verbose_load, "picked image " .($i+1) . "/" . ($#urls+1) . ": $url");
+  return ($url, $img);
+}
+
 \f
 ############################################################################
 #
 \f
 ############################################################################
 #
@@ -3557,6 +3616,8 @@ sub update_imagemap($$$$$$$$) {
 
   my $imagemap_html = $imagemap_base . ".html";
   my $imagemap_jpg  = $imagemap_base . ".jpg";
 
   my $imagemap_html = $imagemap_base . ".html";
   my $imagemap_jpg  = $imagemap_base . ".jpg";
+  my $imagemap_jpg2 = $imagemap_jpg;
+  $imagemap_jpg2 =~ s@^.*/@@gs;
 
   if (!defined ($imagemap_html_tmp)) {
     $imagemap_html_tmp = $imagemap_html . sprintf (".%08x", rand(0xffffffff));
 
   if (!defined ($imagemap_html_tmp)) {
     $imagemap_html_tmp = $imagemap_html . sprintf (".%08x", rand(0xffffffff));
@@ -3576,7 +3637,7 @@ sub update_imagemap($$$$$$$$) {
 
     if ($template_html =~ m/^\s*$/s) {
       $template_html = ("<MAP NAME=\"$map_name\"></MAP>\n" .
 
     if ($template_html =~ m/^\s*$/s) {
       $template_html = ("<MAP NAME=\"$map_name\"></MAP>\n" .
-                        "<IMG SRC=\"$imagemap_base.jpg\"" .
+                        "<IMG SRC=\"$imagemap_jpg2\"" .
                         " USEMAP=\"$map_name\">\n");
       LOG ($verbose_pbm, "created dummy template");
     }
                         " USEMAP=\"$map_name\">\n");
       LOG ($verbose_pbm, "created dummy template");
     }
@@ -3603,7 +3664,7 @@ sub update_imagemap($$$$$$$$) {
     my $body = $template_html;
     my $areas = join ("\n\t", @imagemap_areas);
     my $map = ("<MAP NAME=\"$map_name\">\n\t$areas\n</MAP>");
     my $body = $template_html;
     my $areas = join ("\n\t", @imagemap_areas);
     my $map = ("<MAP NAME=\"$map_name\">\n\t$areas\n</MAP>");
-    my $img = ("<IMG SRC=\"$imagemap_base.jpg\" " .
+    my $img = ("<IMG SRC=\"$imagemap_jpg2\" " .
                "BORDER=0 " .
                "WIDTH=$image_width HEIGHT=$image_height " .
                "USEMAP=\"#$map_name\">");
                "BORDER=0 " .
                "WIDTH=$image_width HEIGHT=$image_height " .
                "USEMAP=\"#$map_name\">");
index 5c67b1644ca9c71ae2f0ee3ea1e90dd22d51f1bf..4cfb550cb2231b76635353f4b9b9bc8b1e04087f 100644 (file)
@@ -1,4 +1,4 @@
-# Auto-generated: Sat Nov  9 13:24:46 PST 2013
+# Auto-generated: Sat Dec  7 19:10:53 PST 2013
 driver/demo-Gtk-conf.c
 driver/demo-Gtk-support.c
 driver/demo-Gtk-widgets.c
 driver/demo-Gtk-conf.c
 driver/demo-Gtk-support.c
 driver/demo-Gtk-widgets.c
index d858b2affaecda1890e8157c86ca12a1bc370143..2f00e0f92fceab69bd71c0406f715ee61c48c998 100644 (file)
--- a/setup.com
+++ b/setup.com
@@ -106,6 +106,7 @@ $ truchet   :== $'mydir'truchet
 $ twang                :== $'mydir'twang
 $ vermiculate  :== $'mydir'vermiculate
 $ wander       :== $'mydir'wander
 $ twang                :== $'mydir'twang
 $ vermiculate  :== $'mydir'vermiculate
 $ wander       :== $'mydir'wander
+$ webcollage-helper    :== $'mydir'webcollage-helper
 $ whirlwindwarp        :== $'mydir'whirlwindwarp
 $ wormhole     :== $'mydir'wormhole
 $ xanalogtv    :== $'mydir'xanalogtv
 $ whirlwindwarp        :== $'mydir'whirlwindwarp
 $ wormhole     :== $'mydir'wormhole
 $ xanalogtv    :== $'mydir'xanalogtv
index f6cc10b7d4bc8081604341598bfb4e5971321f2f..a9cbbefd1809069670b566c17a36ce6389ffe0bc 100644 (file)
@@ -185,7 +185,7 @@ echo_tarfiles:
 
 # How we build object files in this directory.
 .c.o:
 
 # How we build object files in this directory.
 .c.o:
-       $(CC) -c $(INCLUDES) $(DEFS) $(CFLAGS) $(X_CFLAGS) $<
+       $(CC) -c $(INCLUDES) $(DEFS) $(CPPFLAGS) $(CFLAGS) $(X_CFLAGS) $<
 
 
 # Rules for generating the VMS makefiles on Unix, so that it doesn't have to
 
 
 # Rules for generating the VMS makefiles on Unix, so that it doesn't have to
index c806fb731d7cdb7f5ae0bfd1b7b028e8380ad2e6..ddcd9c2ea1bc2561bfddb5afebdfb7ad84a252cc 100644 (file)
@@ -1,2 +1,2 @@
 static const char screensaver_id[] =
 static const char screensaver_id[] =
-       "@(#)xscreensaver 5.23 (09-Nov-2013), by Jamie Zawinski (jwz@jwz.org)";
+       "@(#)xscreensaver 5.24 (07-Dec-2013), by Jamie Zawinski (jwz@jwz.org)";
index 1fa2e365919a19dc2d4fbd17e1bb5a63aae6bab7..771b0812559f28fb60b46b3a63528ef23e0c49d9 100644 (file)
@@ -1,5 +1,5 @@
 %define        name xscreensaver
 %define        name xscreensaver
-%define        version 5.23
+%define        version 5.24
 
 Summary:       X screen saver and locker
 Name:          %{name}
 
 Summary:       X screen saver and locker
 Name:          %{name}
index cf9adb8824911df36d022b4dc3b21187f1717745..eddf109ad28895d5552766823c0ec61dd9d925bb 100644 (file)
                        );
                        dependencies = (
                                AFCAD5F90992DFE00009617A /* PBXTargetDependency */,
                        );
                        dependencies = (
                                AFCAD5F90992DFE00009617A /* PBXTargetDependency */,
+                               AF36340118540D050086A439 /* PBXTargetDependency */,
                                AF480D60098EED6900FB32B8 /* PBXTargetDependency */,
                                AF480D5E098EED6900FB32B8 /* PBXTargetDependency */,
                                AF480D5C098EED6900FB32B8 /* PBXTargetDependency */,
                                AF480D60098EED6900FB32B8 /* PBXTargetDependency */,
                                AF480D5E098EED6900FB32B8 /* PBXTargetDependency */,
                                AF480D5C098EED6900FB32B8 /* PBXTargetDependency */,
                AF1A17680D6D6EE3008AF328 /* XScreenSaverSubclass.m in Sources */ = {isa = PBXBuildFile; fileRef = AF9CC7A0099580E70075E99B /* XScreenSaverSubclass.m */; };
                AF1A177F0D6D6F3E008AF328 /* lcdscrub.c in Sources */ = {isa = PBXBuildFile; fileRef = AF1A177E0D6D6F3E008AF328 /* lcdscrub.c */; };
                AF1A17810D6D6F62008AF328 /* lcdscrub.xml in Resources */ = {isa = PBXBuildFile; fileRef = AF1A17800D6D6F62008AF328 /* lcdscrub.xml */; };
                AF1A17680D6D6EE3008AF328 /* XScreenSaverSubclass.m in Sources */ = {isa = PBXBuildFile; fileRef = AF9CC7A0099580E70075E99B /* XScreenSaverSubclass.m */; };
                AF1A177F0D6D6F3E008AF328 /* lcdscrub.c in Sources */ = {isa = PBXBuildFile; fileRef = AF1A177E0D6D6F3E008AF328 /* lcdscrub.c */; };
                AF1A17810D6D6F62008AF328 /* lcdscrub.xml in Resources */ = {isa = PBXBuildFile; fileRef = AF1A17800D6D6F62008AF328 /* lcdscrub.xml */; };
+               AF1AD9E318500F9F00932759 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; };
+               AF1ADA141850132600932759 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; };
+               AF1ADA161850157400932759 /* Updater.xib in Resources */ = {isa = PBXBuildFile; fileRef = AF1ADA151850157400932759 /* Updater.xib */; };
+               AF1ADA181850180E00932759 /* Sparkle.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF1ADA171850180E00932759 /* Sparkle.framework */; };
+               AF1ADA1A1850186B00932759 /* Sparkle.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = AF1ADA171850180E00932759 /* Sparkle.framework */; };
+               AF1ADA1B18501B3D00932759 /* SaverRunner.icns in Resources */ = {isa = PBXBuildFile; fileRef = AF2D522513E954A0002AA818 /* SaverRunner.icns */; };
+               AF1ADA1F18504A4F00932759 /* ScreenSaver.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF976ED30989BF59001F8B92 /* ScreenSaver.framework */; };
                AF1FD713158FF96500C40F17 /* libjwxyz.a in Frameworks */ = {isa = PBXBuildFile; fileRef = AF4808C1098C3B6C00FB32B8 /* libjwxyz.a */; };
                AF1FD714158FF96500C40F17 /* ScreenSaver.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF976ED30989BF59001F8B92 /* ScreenSaver.framework */; };
                AF1FD715158FF96500C40F17 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; };
                AF1FD713158FF96500C40F17 /* libjwxyz.a in Frameworks */ = {isa = PBXBuildFile; fileRef = AF4808C1098C3B6C00FB32B8 /* libjwxyz.a */; };
                AF1FD714158FF96500C40F17 /* ScreenSaver.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF976ED30989BF59001F8B92 /* ScreenSaver.framework */; };
                AF1FD715158FF96500C40F17 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; };
                AF35E8900E63823600691F2F /* XScreenSaverSubclass.m in Sources */ = {isa = PBXBuildFile; fileRef = AF9CC7A0099580E70075E99B /* XScreenSaverSubclass.m */; };
                AF35EB240E63829600691F2F /* jigsaw.xml in Resources */ = {isa = PBXBuildFile; fileRef = AFC258CF0988A468000655EE /* jigsaw.xml */; };
                AF35EB260E6382BA00691F2F /* jigsaw.c in Sources */ = {isa = PBXBuildFile; fileRef = AF35EB250E6382BA00691F2F /* jigsaw.c */; };
                AF35E8900E63823600691F2F /* XScreenSaverSubclass.m in Sources */ = {isa = PBXBuildFile; fileRef = AF9CC7A0099580E70075E99B /* XScreenSaverSubclass.m */; };
                AF35EB240E63829600691F2F /* jigsaw.xml in Resources */ = {isa = PBXBuildFile; fileRef = AFC258CF0988A468000655EE /* jigsaw.xml */; };
                AF35EB260E6382BA00691F2F /* jigsaw.c in Sources */ = {isa = PBXBuildFile; fileRef = AF35EB250E6382BA00691F2F /* jigsaw.c */; };
+               AF3633FC18530DD90086A439 /* sparkle_dsa_pub.pem in Resources */ = {isa = PBXBuildFile; fileRef = AF3633F918530DD90086A439 /* sparkle_dsa_pub.pem */; };
+               AF3633FD18530DD90086A439 /* Updater.m in Sources */ = {isa = PBXBuildFile; fileRef = AF3633FB18530DD90086A439 /* Updater.m */; };
                AF39483E15A164680000FFCD /* jigsaw.c in Sources */ = {isa = PBXBuildFile; fileRef = AF35EB250E6382BA00691F2F /* jigsaw.c */; settings = {COMPILER_FLAGS = "-DUSE_GL"; }; };
                AF39483F15A1647A0000FFCD /* jigsaw.xml in Resources */ = {isa = PBXBuildFile; fileRef = AFC258CF0988A468000655EE /* jigsaw.xml */; };
                AF3C714B0D624BF50030CC0D /* XScreenSaverSubclass.m in Sources */ = {isa = PBXBuildFile; fileRef = AF9CC7A0099580E70075E99B /* XScreenSaverSubclass.m */; };
                AF39483E15A164680000FFCD /* jigsaw.c in Sources */ = {isa = PBXBuildFile; fileRef = AF35EB250E6382BA00691F2F /* jigsaw.c */; settings = {COMPILER_FLAGS = "-DUSE_GL"; }; };
                AF39483F15A1647A0000FFCD /* jigsaw.xml in Resources */ = {isa = PBXBuildFile; fileRef = AFC258CF0988A468000655EE /* jigsaw.xml */; };
                AF3C714B0D624BF50030CC0D /* XScreenSaverSubclass.m in Sources */ = {isa = PBXBuildFile; fileRef = AF9CC7A0099580E70075E99B /* XScreenSaverSubclass.m */; };
                        remoteGlobalIDString = AF35E88A0E63823600691F2F;
                        remoteInfo = Jigsaw;
                };
                        remoteGlobalIDString = AF35E88A0E63823600691F2F;
                        remoteInfo = Jigsaw;
                };
+               AF36340018540D050086A439 /* PBXContainerItemProxy */ = {
+                       isa = PBXContainerItemProxy;
+                       containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */;
+                       proxyType = 1;
+                       remoteGlobalIDString = AF1AD9E118500F9F00932759;
+                       remoteInfo = XScreenSaverUpdater;
+               };
                AF3C71470D624BF50030CC0D /* PBXContainerItemProxy */ = {
                        isa = PBXContainerItemProxy;
                        containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */;
                AF3C71470D624BF50030CC0D /* PBXContainerItemProxy */ = {
                        isa = PBXContainerItemProxy;
                        containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */;
                };
 /* End PBXContainerItemProxy section */
 
                };
 /* End PBXContainerItemProxy section */
 
+/* Begin PBXCopyFilesBuildPhase section */
+               AF1ADA191850185F00932759 /* CopyFiles */ = {
+                       isa = PBXCopyFilesBuildPhase;
+                       buildActionMask = 2147483647;
+                       dstPath = "";
+                       dstSubfolderSpec = 10;
+                       files = (
+                               AF1ADA1A1850186B00932759 /* Sparkle.framework in CopyFiles */,
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+               };
+/* End PBXCopyFilesBuildPhase section */
+
 /* Begin PBXFileReference section */
                089C165DFE840E0CC02AAC07 /* InfoPlist.strings */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = InfoPlist.strings; path = OSX/English.lproj/InfoPlist.strings; sourceTree = "<group>"; };
                1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; };
 /* Begin PBXFileReference section */
                089C165DFE840E0CC02AAC07 /* InfoPlist.strings */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = InfoPlist.strings; path = OSX/English.lproj/InfoPlist.strings; sourceTree = "<group>"; };
                1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; };
                AF1A17730D6D6EE3008AF328 /* LCDscrub.saver */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = LCDscrub.saver; sourceTree = BUILT_PRODUCTS_DIR; };
                AF1A177E0D6D6F3E008AF328 /* lcdscrub.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; name = lcdscrub.c; path = hacks/lcdscrub.c; sourceTree = "<group>"; };
                AF1A17800D6D6F62008AF328 /* lcdscrub.xml */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = text.xml; path = lcdscrub.xml; sourceTree = "<group>"; };
                AF1A17730D6D6EE3008AF328 /* LCDscrub.saver */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = LCDscrub.saver; sourceTree = BUILT_PRODUCTS_DIR; };
                AF1A177E0D6D6F3E008AF328 /* lcdscrub.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; name = lcdscrub.c; path = hacks/lcdscrub.c; sourceTree = "<group>"; };
                AF1A17800D6D6F62008AF328 /* lcdscrub.xml */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = text.xml; path = lcdscrub.xml; sourceTree = "<group>"; };
+               AF1AD9E218500F9F00932759 /* XScreenSaverUpdater.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = XScreenSaverUpdater.app; sourceTree = BUILT_PRODUCTS_DIR; };
+               AF1AD9E518500F9F00932759 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = System/Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; };
+               AF1AD9E618500FA000932759 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = System/Library/Frameworks/CoreData.framework; sourceTree = SDKROOT; };
+               AF1AD9E718500FA000932759 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
+               AF1ADA0118500FA100932759 /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; };
+               AF1ADA151850157400932759 /* Updater.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = Updater.xib; path = OSX/Updater.xib; sourceTree = SOURCE_ROOT; };
+               AF1ADA171850180E00932759 /* Sparkle.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Sparkle.framework; path = OSX/Sparkle.framework; sourceTree = "<group>"; };
                AF241F81107C38DF00046A84 /* dropshadow.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; name = dropshadow.c; path = hacks/glx/dropshadow.c; sourceTree = "<group>"; };
                AF241F82107C38DF00046A84 /* dropshadow.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; name = dropshadow.h; path = hacks/glx/dropshadow.h; sourceTree = "<group>"; };
                AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
                AF241F81107C38DF00046A84 /* dropshadow.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; name = dropshadow.c; path = hacks/glx/dropshadow.c; sourceTree = "<group>"; };
                AF241F82107C38DF00046A84 /* dropshadow.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; name = dropshadow.h; path = hacks/glx/dropshadow.h; sourceTree = "<group>"; };
                AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
                AF3582211433318500E09C51 /* tronbit.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = tronbit.xml; sourceTree = "<group>"; };
                AF35E8A00E63823600691F2F /* Jigsaw.saver */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Jigsaw.saver; sourceTree = BUILT_PRODUCTS_DIR; };
                AF35EB250E6382BA00691F2F /* jigsaw.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; name = jigsaw.c; path = hacks/glx/jigsaw.c; sourceTree = "<group>"; };
                AF3582211433318500E09C51 /* tronbit.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = tronbit.xml; sourceTree = "<group>"; };
                AF35E8A00E63823600691F2F /* Jigsaw.saver */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Jigsaw.saver; sourceTree = BUILT_PRODUCTS_DIR; };
                AF35EB250E6382BA00691F2F /* jigsaw.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; name = jigsaw.c; path = hacks/glx/jigsaw.c; sourceTree = "<group>"; };
+               AF3633F918530DD90086A439 /* sparkle_dsa_pub.pem */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = sparkle_dsa_pub.pem; path = OSX/sparkle_dsa_pub.pem; sourceTree = "<group>"; };
+               AF3633FA18530DD90086A439 /* Updater.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Updater.h; path = OSX/Updater.h; sourceTree = "<group>"; };
+               AF3633FB18530DD90086A439 /* Updater.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Updater.m; path = OSX/Updater.m; sourceTree = "<group>"; };
+               AF3633FE18530DFF0086A439 /* Updater.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Updater.plist; path = OSX/Updater.plist; sourceTree = "<group>"; };
                AF3C71590D624BF50030CC0D /* Hypnowheel.saver */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Hypnowheel.saver; sourceTree = BUILT_PRODUCTS_DIR; };
                AF3C715D0D624C600030CC0D /* hypnowheel.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; name = hypnowheel.c; path = hacks/glx/hypnowheel.c; sourceTree = "<group>"; };
                AF3C715F0D624C7C0030CC0D /* hypnowheel.xml */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = text.xml; path = hypnowheel.xml; sourceTree = "<group>"; };
                AF3C71590D624BF50030CC0D /* Hypnowheel.saver */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Hypnowheel.saver; sourceTree = BUILT_PRODUCTS_DIR; };
                AF3C715D0D624C600030CC0D /* hypnowheel.c */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.c; name = hypnowheel.c; path = hacks/glx/hypnowheel.c; sourceTree = "<group>"; };
                AF3C715F0D624C7C0030CC0D /* hypnowheel.xml */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = text.xml; path = hypnowheel.xml; sourceTree = "<group>"; };
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
+               AF1AD9DF18500F9F00932759 /* Frameworks */ = {
+                       isa = PBXFrameworksBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                               AF1ADA181850180E00932759 /* Sparkle.framework in Frameworks */,
+                               AF1ADA1F18504A4F00932759 /* ScreenSaver.framework in Frameworks */,
+                               AF1AD9E318500F9F00932759 /* Cocoa.framework in Frameworks */,
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+               };
                AF2D4D8813E902F5002AA818 /* Frameworks */ = {
                        isa = PBXFrameworksBuildPhase;
                        buildActionMask = 2147483647;
                AF2D4D8813E902F5002AA818 /* Frameworks */ = {
                        isa = PBXFrameworksBuildPhase;
                        buildActionMask = 2147483647;
                                AFDA65A1178A52B70070D24B /* UnknownPleasures.saver */,
                                AFB591BA178B812C00EA4005 /* Hexadrop.saver */,
                                AFF3C9FB17CCAC440028F240 /* Geodesic.saver */,
                                AFDA65A1178A52B70070D24B /* UnknownPleasures.saver */,
                                AFB591BA178B812C00EA4005 /* Hexadrop.saver */,
                                AFF3C9FB17CCAC440028F240 /* Geodesic.saver */,
+                               AF1AD9E218500F9F00932759 /* XScreenSaverUpdater.app */,
                        );
                        name = Products;
                        sourceTree = "<group>";
                        );
                        name = Products;
                        sourceTree = "<group>";
                        children = (
                                AF480AB9098C66E200FB32B8 /* SaverRunner */,
                                080E96DDFE201D6D7F000001 /* libjwxyz */,
                        children = (
                                AF480AB9098C66E200FB32B8 /* SaverRunner */,
                                080E96DDFE201D6D7F000001 /* libjwxyz */,
+                               AF1AD9E818500FA000932759 /* Updater */,
                                AFE1FD520981E35400F7970E /* Utils */,
                                AFE1FD610981E3E700F7970E /* Hacks */,
                                AFC258670988A468000655EE /* config */,
                                AFE1FD520981E35400F7970E /* Utils */,
                                AFE1FD610981E3E700F7970E /* Hacks */,
                                AFC258670988A468000655EE /* config */,
                29B97323FDCFA39411CA2CEA /* Frameworks */ = {
                        isa = PBXGroup;
                        children = (
                29B97323FDCFA39411CA2CEA /* Frameworks */ = {
                        isa = PBXGroup;
                        children = (
+                               AF1ADA171850180E00932759 /* Sparkle.framework */,
                                AF78377C17DBA85D003B9FC0 /* libz.dylib */,
                                AF78369617DB9F25003B9FC0 /* libz.dylib */,
                                AFEB9C3E1590056A003974F3 /* CoreGraphics.framework */,
                                AFEB9C3F1590056A003974F3 /* QuartzCore.framework */,
                                AF78377C17DBA85D003B9FC0 /* libz.dylib */,
                                AF78369617DB9F25003B9FC0 /* libz.dylib */,
                                AFEB9C3E1590056A003974F3 /* CoreGraphics.framework */,
                                AFEB9C3F1590056A003974F3 /* QuartzCore.framework */,
+                               AF1AD9E718500FA000932759 /* Foundation.framework */,
                                AFEB9C3C15900558003974F3 /* Foundation.framework */,
                                AFEB9C3A1590054B003974F3 /* OpenGLES.framework */,
                                AFEB9C3815900514003974F3 /* UIKit.framework */,
                                AFEB9C3C15900558003974F3 /* Foundation.framework */,
                                AFEB9C3A1590054B003974F3 /* OpenGLES.framework */,
                                AFEB9C3815900514003974F3 /* UIKit.framework */,
+                               AF1AD9E618500FA000932759 /* CoreData.framework */,
+                               AF1AD9E518500F9F00932759 /* AppKit.framework */,
                                AF0F46DC104E1809000A929C /* AppKit.framework */,
                                AF976ED30989BF59001F8B92 /* ScreenSaver.framework */,
                                AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */,
                                AF0F46DC104E1809000A929C /* AppKit.framework */,
                                AF976ED30989BF59001F8B92 /* ScreenSaver.framework */,
                                AF2C31E515C0F7FE007A6896 /* QuartzCore.framework */,
                                AF480FE70990375900FB32B8 /* AGL.framework */,
                                AF84FD4109B1209E00F3AB06 /* GLUT.framework */,
                                AF48112B0990A2C700FB32B8 /* Carbon.framework */,
                                AF480FE70990375900FB32B8 /* AGL.framework */,
                                AF84FD4109B1209E00F3AB06 /* GLUT.framework */,
                                AF48112B0990A2C700FB32B8 /* Carbon.framework */,
+                               AF1ADA0118500FA100932759 /* XCTest.framework */,
                        );
                        name = Frameworks;
                        sourceTree = "<group>";
                };
                        );
                        name = Frameworks;
                        sourceTree = "<group>";
                };
+               AF1AD9E818500FA000932759 /* Updater */ = {
+                       isa = PBXGroup;
+                       children = (
+                               AF3633F918530DD90086A439 /* sparkle_dsa_pub.pem */,
+                               AF3633FA18530DD90086A439 /* Updater.h */,
+                               AF3633FB18530DD90086A439 /* Updater.m */,
+                               AF3633FE18530DFF0086A439 /* Updater.plist */,
+                               AF1ADA151850157400932759 /* Updater.xib */,
+                       );
+                       name = Updater;
+                       sourceTree = "<group>";
+               };
                AF480AB9098C66E200FB32B8 /* SaverRunner */ = {
                        isa = PBXGroup;
                        children = (
                AF480AB9098C66E200FB32B8 /* SaverRunner */ = {
                        isa = PBXGroup;
                        children = (
                        productReference = AF1A17730D6D6EE3008AF328 /* LCDscrub.saver */;
                        productType = "com.apple.product-type.bundle";
                };
                        productReference = AF1A17730D6D6EE3008AF328 /* LCDscrub.saver */;
                        productType = "com.apple.product-type.bundle";
                };
+               AF1AD9E118500F9F00932759 /* XScreenSaverUpdater */ = {
+                       isa = PBXNativeTarget;
+                       buildConfigurationList = AF1ADA0E18500FA200932759 /* Build configuration list for PBXNativeTarget "XScreenSaverUpdater" */;
+                       buildPhases = (
+                               AF1AD9DE18500F9F00932759 /* Sources */,
+                               AF1AD9DF18500F9F00932759 /* Frameworks */,
+                               AF1AD9E018500F9F00932759 /* Resources */,
+                               AF1ADA191850185F00932759 /* CopyFiles */,
+                               AF1ADA1E18501DC200932759 /* Run Update Info Plist */,
+                       );
+                       buildRules = (
+                       );
+                       dependencies = (
+                       );
+                       name = XScreenSaverUpdater;
+                       productName = XScreenSaverUpdater;
+                       productReference = AF1AD9E218500F9F00932759 /* XScreenSaverUpdater.app */;
+                       productType = "com.apple.product-type.application";
+               };
                AF2D4D7F13E902F5002AA818 /* Phosphor-iOS */ = {
                        isa = PBXNativeTarget;
                        buildConfigurationList = AF2D4D8C13E902F5002AA818 /* Build configuration list for PBXNativeTarget "Phosphor-iOS" */;
                AF2D4D7F13E902F5002AA818 /* Phosphor-iOS */ = {
                        isa = PBXNativeTarget;
                        buildConfigurationList = AF2D4D8C13E902F5002AA818 /* Build configuration list for PBXNativeTarget "Phosphor-iOS" */;
                29B97313FDCFA39411CA2CEA /* Project object */ = {
                        isa = PBXProject;
                        attributes = {
                29B97313FDCFA39411CA2CEA /* Project object */ = {
                        isa = PBXProject;
                        attributes = {
-                               LastUpgradeCheck = 0460;
+                               LastUpgradeCheck = 0500;
                        };
                        buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "xscreensaver" */;
                        compatibilityVersion = "Xcode 3.2";
                        };
                        buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "xscreensaver" */;
                        compatibilityVersion = "Xcode 3.2";
                                French,
                                German,
                                en,
                                French,
                                German,
                                en,
+                               Base,
                        );
                        mainGroup = 29B97314FDCFA39411CA2CEA /* xscreensaver */;
                        projectDirPath = "";
                        );
                        mainGroup = 29B97314FDCFA39411CA2CEA /* xscreensaver */;
                        projectDirPath = "";
                                AFD5709B0996B88E00BA26F7 /* Worm */,
                                AF9771D60989DC4A001F8B92 /* SaverTester */,
                                AF918977158FC00A002B5D1E /* XScreenSaver-iOS */,
                                AFD5709B0996B88E00BA26F7 /* Worm */,
                                AF9771D60989DC4A001F8B92 /* SaverTester */,
                                AF918977158FC00A002B5D1E /* XScreenSaver-iOS */,
+                               AF1AD9E118500F9F00932759 /* XScreenSaverUpdater */,
                        );
                };
 /* End PBXProject section */
                        );
                };
 /* End PBXProject section */
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
+               AF1AD9E018500F9F00932759 /* Resources */ = {
+                       isa = PBXResourcesBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                               AF1ADA1B18501B3D00932759 /* SaverRunner.icns in Resources */,
+                               AF3633FC18530DD90086A439 /* sparkle_dsa_pub.pem in Resources */,
+                               AF1ADA161850157400932759 /* Updater.xib in Resources */,
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+               };
                AF2D4D8213E902F5002AA818 /* Resources */ = {
                        isa = PBXResourcesBuildPhase;
                        buildActionMask = 2147483647;
                AF2D4D8213E902F5002AA818 /* Resources */ = {
                        isa = PBXResourcesBuildPhase;
                        buildActionMask = 2147483647;
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl -q $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
                        showEnvVarsInLog = 0;
                };
                        shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl -q $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
                        showEnvVarsInLog = 0;
                };
+               AF1ADA1E18501DC200932759 /* Run Update Info Plist */ = {
+                       isa = PBXShellScriptBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                       );
+                       inputPaths = (
+                       );
+                       name = "Run Update Info Plist";
+                       outputPaths = (
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+                       shellPath = /bin/sh;
+                       shellScript = "$SOURCE_ROOT/OSX/update-info-plist.pl -q $BUILT_PRODUCTS_DIR/$PRODUCT_NAME$WRAPPER_SUFFIX";
+                       showEnvVarsInLog = 0;
+               };
                AF2D51F413E94AC4002AA818 /* Run Update Info Plist */ = {
                        isa = PBXShellScriptBuildPhase;
                        buildActionMask = 2147483647;
                AF2D51F413E94AC4002AA818 /* Run Update Info Plist */ = {
                        isa = PBXShellScriptBuildPhase;
                        buildActionMask = 2147483647;
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
+               AF1AD9DE18500F9F00932759 /* Sources */ = {
+                       isa = PBXSourcesBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                               AF1ADA141850132600932759 /* main.m in Sources */,
+                               AF3633FD18530DD90086A439 /* Updater.m in Sources */,
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+               };
                AF2D4D8513E902F5002AA818 /* Sources */ = {
                        isa = PBXSourcesBuildPhase;
                        buildActionMask = 2147483647;
                AF2D4D8513E902F5002AA818 /* Sources */ = {
                        isa = PBXSourcesBuildPhase;
                        buildActionMask = 2147483647;
                        target = AF35E88A0E63823600691F2F /* Jigsaw */;
                        targetProxy = AF35E8A20E63825600691F2F /* PBXContainerItemProxy */;
                };
                        target = AF35E88A0E63823600691F2F /* Jigsaw */;
                        targetProxy = AF35E8A20E63825600691F2F /* PBXContainerItemProxy */;
                };
+               AF36340118540D050086A439 /* PBXTargetDependency */ = {
+                       isa = PBXTargetDependency;
+                       target = AF1AD9E118500F9F00932759 /* XScreenSaverUpdater */;
+                       targetProxy = AF36340018540D050086A439 /* PBXContainerItemProxy */;
+               };
                AF3C71460D624BF50030CC0D /* PBXTargetDependency */ = {
                        isa = PBXTargetDependency;
                        target = AF4808C0098C3B6C00FB32B8 /* jwxyz */;
                AF3C71460D624BF50030CC0D /* PBXTargetDependency */ = {
                        isa = PBXTargetDependency;
                        target = AF4808C0098C3B6C00FB32B8 /* jwxyz */;
                        };
                        name = Release;
                };
                        };
                        name = Release;
                };
+               AF1ADA0F18500FA200932759 /* Debug */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               BUNDLE_IDENTIFIER = "org.jwz.${PROJECT_NAME:rfc1034identifier}.updater";
+                               FRAMEWORK_SEARCH_PATHS = (
+                                       "$(inherited)",
+                                       /Users/jwz/src/xscreensaver/OSX,
+                               );
+                               INFOPLIST_FILE = "$(SRCROOT)/OSX/Updater.plist";
+                               "OTHER_CFLAGS[sdk=macosx*]" = "-fno-objc-gc";
+                               PRODUCT_NAME = "$(TARGET_NAME)";
+                               WRAPPER_EXTENSION = app;
+                       };
+                       name = Debug;
+               };
+               AF1ADA1018500FA200932759 /* Release */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               BUNDLE_IDENTIFIER = "org.jwz.${PROJECT_NAME:rfc1034identifier}.updater";
+                               FRAMEWORK_SEARCH_PATHS = (
+                                       "$(inherited)",
+                                       /Users/jwz/src/xscreensaver/OSX,
+                               );
+                               INFOPLIST_FILE = "$(SRCROOT)/OSX/Updater.plist";
+                               "OTHER_CFLAGS[sdk=macosx*]" = "-fno-objc-gc";
+                               PRODUCT_NAME = "$(TARGET_NAME)";
+                               WRAPPER_EXTENSION = app;
+                       };
+                       name = Release;
+               };
                AF2D4D8D13E902F5002AA818 /* Debug */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
                AF2D4D8D13E902F5002AA818 /* Debug */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
                        defaultConfigurationIsVisible = 0;
                        defaultConfigurationName = Release;
                };
                        defaultConfigurationIsVisible = 0;
                        defaultConfigurationName = Release;
                };
+               AF1ADA0E18500FA200932759 /* Build configuration list for PBXNativeTarget "XScreenSaverUpdater" */ = {
+                       isa = XCConfigurationList;
+                       buildConfigurations = (
+                               AF1ADA0F18500FA200932759 /* Debug */,
+                               AF1ADA1018500FA200932759 /* Release */,
+                       );
+                       defaultConfigurationIsVisible = 0;
+                       defaultConfigurationName = Release;
+               };
                AF2D4D8C13E902F5002AA818 /* Build configuration list for PBXNativeTarget "Phosphor-iOS" */ = {
                        isa = XCConfigurationList;
                        buildConfigurations = (
                AF2D4D8C13E902F5002AA818 /* Build configuration list for PBXNativeTarget "Phosphor-iOS" */ = {
                        isa = XCConfigurationList;
                        buildConfigurations = (