[PATCH 01/17] fookb: Add version 3.1 to repository.

Doug Torrance <[email protected]> Sat, 9 Sep 2017 21:24:17 -0400
Newsgroups gmane.compw.window-managers.windowmaker.devel,gmane.spam.detected
Message-ID <[email protected]>
This is a multi-part message in MIME format.

------------=_59B49485.2B60F8DD
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit

Spam detection software, running on the system "blaine.gmane.org",
has identified this incoming email as possible spam.  The original
message has been attached to this so you can view it or label
similar future email.  If you have any questions, see
@@CONTACT_ADDRESS@@ for details.

Content preview:  From https://web.archive.org/web/20140622071149/http://only.mawhrin.net/~alexey/fookb/fookb-3.1.tar.gz
   --- fookb/1.xpm | 148 ++ fookb/2.xpm | 152 ++ fookb/3.xpm | 152 ++ fookb/4.xpm
   | 148 ++ fookb/En.xpm | 77 + fookb/INSTALL | 81 + fookb/KNOWN_BUGS | 8 +
  fookb/LICENSE | 135 + fookb/Makefile.in | 70 + fookb/README | 8 + fookb/README.russian.koi8-r
   | 7 + fookb/README.russian.utf-8 | 7 + fookb/Ru.xpm | 79 + fookb/TODO | 15
   + fookb/VERSION | 70 + fookb/beep_spring.au | Bin 0 -> 8612 bytes fookb/boom.xpm
   | 158 ++ fookb/check.sh | 58 + fookb/configure | 5710 +++++++++++++++++++++++++++++++++++++++++++
   fookb/configure.in | 134 + fookb/copyright | 7 + fookb/fookb.1x | 146 ++
  fookb/fookb.c | 304 +++ fookb/fookb.cf | 12 + fookb/fookb.h | 13 + fookb/globals.c
   | 17 + fookb/images.c | 182 ++ fookb/images.h | 18 + fookb/lat.xpm | 301
  +++ fookb/opts.c | 108 + fookb/opts.h | 32 + fookb/params.c | 155 ++ fookb/params.h
   | 27 + fookb/rus.xpm | 310 +++ fookb/sound.c | 51 + fookb/sound.h | 13 +
  fookb/test/foo | 0 fookb/xrmdb.h | 7 + 38 files changed, 8920 insertions(+)
   create mode 100644 fookb/1.xpm create mode 100644 fookb/2.xpm create mode
   100644 fookb/3.xpm create mode 100644 fookb/4.xpm create mode 100644 fookb/En.xpm
   create mode 100644 fookb/INSTALL create mode 100644 fookb/KNOWN_BUGS create
   mode 100644 fookb/LICENSE create mode 100644 fookb/Makefile.in create mode
   100644 fookb/README create mode 100644 fookb/README.russian.koi8-r create
   mode 100644 fookb/README.russian.utf-8 create mode 100644 fookb/Ru.xpm create
   mode 100644 fookb/TODO create mode 100644 fookb/VERSION create mode 100644
   fookb/beep_spring.au create mode 100644 fookb/boom.xpm create mode 100755
   fookb/check.sh create mode 100755 fookb/configure create mode 100644 fookb/configure.in
   create mode 100644 fookb/copyright create mode 100644 fookb/fookb.1x create
   mode 100644 fookb/fookb.c create mode 100644 fookb/fookb.cf create mode 100644
   fookb/fookb.h create mode 100644 fookb/globals.c create mode 100644 fookb/images.c
   create mode 100644 fookb/images.h create mode [...] 

Content analysis details:   (6.8 points, 5.0 required)

 pts rule name              description
---- ---------------------- --------------------------------------------------
-0.7 RCVD_IN_DNSWL_LOW      RBL: Sender listed at http://www.dnswl.org/, low
                            trust
                            [64.62.173.38 listed in list.dnswl.org]
 0.0 BAD_ENC_HEADER         Message has bad MIME encoding in the header
 3.8 AXB_X_FF_SEZ_S         Forefront sez this is spam
 1.2 RCVD_NUMERIC_HELO      Received: contains an IP address used for HELO
 0.0 T_HEADER_FROM_DIFFERENT_DOMAINS From and EnvelopeFrom 2nd level mail
                            domains are different
 2.4 RCVD_HELO_IP_MISMATCH  Received: HELO and IP do not match, but should
 0.0 T_FRT_STOCK2           BODY: ReplaceTags: Stock (2)
 0.0 NORMAL_HTTP_TO_IP      URI: Uses a dotted-decimal IP address in URL
-1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%
                            [score: 0.0000]
 0.0 T_DKIM_INVALID         DKIM-Signature header exists but is not valid
 2.0 LONGWORDS              Long string of long words



------------=_59B49485.2B60F8DD
Content-Type: message/rfc822; x-spam-type=original
Content-Description: original message before SpamAssassin
Content-Disposition: inline
Content-Transfer-Encoding: 8bit

Return-path: <wmaker-dev-bounce-797-7a4778d6bad15c047f99556d008e9779@lists.windowmaker.org>
Envelope-to: [email protected]
Received: from jaqque.xen.prgmr.com ([64.62.173.38] helo=mx.windowmaker.org)
	by blaine.gmane.org with esmtp (Exim 4.84_2)
	(envelope-from <wmaker-dev-bounce-797-7a4778d6bad15c047f99556d008e9779@lists.windowmaker.org>)
	id 1dqqzT-0005HW-Jx
	for [email protected]; Sun, 10 Sep 2017 03:24:54 +0200
Received: by mx.windowmaker.org (Postfix, from userid 1004)
	id C7B0E819A8B; Sun, 10 Sep 2017 01:23:55 +0000 (UTC)
List-Id: <wmaker-dev.lists.windowmaker.org>
List-Help: <mailto:[email protected]>
List-Unsubscribe: <mailto:[email protected]>
List-Subscribe: <mailto:[email protected]>
List-Post: <mailto:[email protected]>
List-Owner: <mailto:[email protected]>
Precedence: bulk
X-Original-To: [email protected]
Delivered-To: [email protected]
Received: from NAM03-CO1-obe.outbound.protection.outlook.com (mail-co1nam03hn0245.outbound.protection.outlook.com [104.47.40.245])	by mx.windowmaker.org (Postfix) with ESMTPS id 68C85386431	for <[email protected]>; Sun, 10 Sep 2017 01:23:53 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=PIEDMONT1.onmicrosoft.com; s=selector1-piedmont-edu; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=greqZzmhx9C0hEDFewtCyym8QV+D+51eXAz2KIV2YgI=; b=1APr6bqpPkK9DrGa690uVBBDahbQ54ASu+hDsnG8ONA4kzAABbMAJxBAOyAcpVKHEoReOyk6y9PL2naCY5C2N5X/eef7pIrBc5IQGMZUnFXR6aZOlY38zyPdgN3p8b2x1xgi7XWM/IJkEIUXyubeoxZp1mmlLS8LJ4ZnfLSXM1g=
Authentication-Results: spf=none (sender IP is ) [email protected]; 
Received: from 98.19.155.152 (50.96.64.172) by BLUPR0501MB1713.namprd05.prod.outlook.com (10.163.120.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.56.4; Sun, 10 Sep 2017 01:24:40 +0000
From: Doug Torrance <[email protected]>
To: [email protected]
Cc: Doug Torrance <[email protected]>
Subject: [PATCH 01/17] fookb: Add version 3.1 to repository.
Date: Sat,  9 Sep 2017 21:24:17 -0400
Message-Id: <[email protected]>
X-Mailer: git-send-email 2.11.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Originating-IP: [50.96.64.172]
X-ClientProxiedBy: MWHPR10CA0024.namprd10.prod.outlook.com (10.172.48.34) To BLUPR0501MB1713.namprd05.prod.outlook.com (10.163.120.16)
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 6b4f7064-cbb1-4a81-1f97-08d4f7eab610
X-Microsoft-Antispam:	UriScan:;BCL:0;PCL:0;RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(300000503095)(300135400095)(2017052603199)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);SRVR:BLUPR0501MB1713;
X-Microsoft-Exchange-Diagnostics:	1;BLUPR0501MB1713;3:5z304r6j/UYFVtjUjKCq7oarRvpE6f8LXX1TzJsjIdbf9ObdtVL/c6X0+T4UdHDZKw4IwgaZzf98OWOiSCeydZ5gqMuQRAz7rH6vstX1bpjoqsJ7zsizaH65aTc1zJ/WQ5YYwoUiCH3qiou6P7ZXbJeeLEaIg4sfjLrK5TmC5AHBDUfS/PMvionMzOzr63bNswftZNN8Cq4zbymg+ktk1KVlp0XpHr2pM/Yu4RAM+T+vbU3X6iQmwGde5TkVqy43;25:ciQqtpR2sTk3vafXgbVRgdx8Dt15vCfSM1wg+xrDVVmiYtSHmkAPHamsM6HKw1OhjhRTHZ398QWAhoU1H3jBai+0Gv9VVLV4iVGXyD7n63sfgnwCPg4apLce2i6kwddiJJrY+KAQ6EYljx/kcgJIhgSBS9UAyb00Y23BPLuFaqtBrWSupHBHRqaT1lx8jOLu+q+wiwjC2zkfVn4JlSpbHinCvBkwijRgw5Gyzdca22X8BnkZ28Y7QQI04xGRJAXgt9ZweFnIwo3Q7w8vUpZyKIasZTYSneV7AsNnQZIreWkKyr3xnGRf4S9+LydaVorPPW/MwUlLraCyKXdQRGivPw==;31:htFpCDyeMpD+BOHwusIXwIIZHqaapL15kuVvHp1VoohhEYjNZ05vXRkDJPKLzpR1G8sugGZOaG4xwlaa3C+t4sbO467YnuBAHqcqk7h1wvb4fb0+ewttiryP8CvJP61ZtGc7RXN8Nq
 pWIcG8H1z0zHKlliNZpEb5ZY74si8ayOaPo/r4q8f1VoTcsRwRNTzu4TRM44mHTMaH0ZteKfgNT+jz3O3KxYyGuxEakHh5DwI=
X-MS-TrafficTypeDiagnostic: BLUPR0501MB1713:
X-Microsoft-Exchange-Diagnostics:	1;BLUPR0501MB1713;20:jeXZrvXMVF3oPOMuv8k4KqQ+DUF8DLApg9e6qKJk5mHNSza0PS/NggmTfOqRz/tmBhhZozMLFyufm57Yll8N1fIZHKuq2P3hFXFyri0m8H7cHtm9IFnbgEvPXjnIod4aeKLiHDQeLZfopgKV9uXBrf+v6i3bWJ8zQibKeawoJgxw5A9V15evtDwEETTJbzT/DmeaWuT8l+3urKurcnSA5UEzrybQB9dCkmeFA9+b8MLkxg0zrQPkSGR46Ps20TN0YEWnJt4U69ulwLqyW1UwtEpCS8VmJU8ctsv+3qteWFQr4nOT9OKuS0zm6dXW7Q2n/OHsulh1AIWZ8FZuBDD61zaXIESxa6jVjS05SMw7bLZd5h4zc+OyMwpqL6LTQRoViTzsSEXOg2XLmdlL/kTRLKsLaMxqoXd3oTnIVKN9HAIq7d/ja2Bc/Z9Ac8vK0pOcR+A0z4XO65IkIPLQAXnVNu9qojUYPNPBt9KgDKSRWdBo4V7OXwi7W2IlEqY5+kGZ
X-Exchange-Antispam-Report-Test:	UriScan:(158342451672863)(22074186197030)(150554046322364)(120376859493423)(130608784459683)(235534655456582)(93747276172241)(460596917420)(21532816269658);
X-Microsoft-Antispam-PRVS:	<BLUPR0501MB1713FEA7D396610DA2D819D4D66B0@BLUPR0501MB1713.namprd05.prod.outlook.com>
X-Exchange-Antispam-Report-CFA-Test:	BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(5005006)(8121501046)(93006095)(93001095)(3002001)(10201501046)(100000703101)(100105400095)(6041248)(20161123558100)(20161123555025)(20161123564025)(201703131423075)(201702281529075)(201703061421075)(20161123560025)(20161123562025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:BLUPR0501MB1713;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:BLUPR0501MB1713;
X-Microsoft-Exchange-Diagnostics:	1;BLUPR0501MB1713;4:bBdNKh3KdgcINmANLBzQbsPnf/yJzWTXfcbgEQyTdWg1zZql35jYKkXLNsWfU2Tt/gnyJI7ws6spa+ZvbPAOORlOfPSa7i/1q7v37C0CqOFiVlTLOTEdrim6s4onYrwp0VZEoI+mUy8sXc2eFjCsui+cP9KrVoCDbQdX4dKl+ELHw7D69qnko5NstKzHEt0/xT1fHSmpp3r2NUypUed++gs7Ddz/5xgc969OHpSYgl3E944Cgli4Aeq40KNtLFe78drqCY8kCdPvDvMT5qQn5jNoZtUf16mOBSU8zdpPfPPOwwnxAiaiDg5BzPW8wEtgcmWJ7CRFJciItTbMksQ9bY17byYkVsHHzI7F6cfjyb5bJ56hfuytF0NkBvfzK86SsTsW++yyVjtnMHthAN09PGmll1HCZtyCAX4gmvsQyzCMO1Orf6LsmYQx6Zst/+yJKBc+J1jt3vtrTCcBuLcTk6E7tw8WwQN4LazEfg1uKREaHVW0izTLu3jpXcwTpCSfQlB6F3UeNzWvSqHWWJM5QcQR8FJnfvlKZatB7BQprMs158GkUUvv34hAND2PQ2a6
X-Forefront-PRVS: 04267075BD
X-Forefront-Antispam-Report:	SFV:SPM;SFS:(10019020)(6009001)(6049001)(189002)(199003)(52314003)(24433001)(1076002)(75432002)(7736002)(81166006)(2906002)(53936002)(81156014)(50986999)(6916009)(6116002)(8676002)(6666003)(575784001)(8936002)(305945005)(3846002)(508600001)(86362001)(97736004)(66066001)(4326008)(33646002)(105586002)(50466002)(16200700003)(53946003)(966005)(50226002)(36756003)(42186005)(25786009)(47776003)(68736007)(189998001)(5660300001)(2870700001)(23676002)(6486002)(88552002)(107886003)(106356001)(110136004)(4477795004)(2361001)(6306002)(101416001)(2351001)(75746006);DIR:OUT;SFP:1501;SCL:5;SRVR:BLUPR0501MB1713;H:98.19.155.152;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en;
Received-SPF: None (protection.outlook.com: piedmont.edu does not designate permitted sender hosts)
X-Microsoft-Exchange-Diagnostics:	=?utf-8?B?MTtCTFVQUjA1MDFNQjE3MTM7MjM6dGt6akJsK3lDS0lnVzI3QzNVMGRXU3JM?= =?utf-8?B?TUNEL1BHZFF2ZUplK0RPaUgxVEt3VVlIeWI0QWxwQUlXZ09PYWZ2cm1RWDZO?= =?utf-8?B?MkUveDNoekdjZlhkL1lBbGtJVjFqL0tsYXdQenBXdURsVTNhTTk1Y0xtYVhX?= =?utf-8?B?SkVZdnFsdkRQZXFvb29ndmRsbGxmQU0rTlEvNWlHNGpZbHZrNElzajQ0QndH?= =?utf-8?B?Q2paYjZOelMxb3ZKcXRkTng1R05ZTHl3OTczSUwyK09MQWFMTmI3ZGkrc3cz?= =?utf-8?B?U2hSaW8wVnkrKzVCck44Y1ZndXFOTXV4MUQrZ1VoNXB2K2lBL1ZvTDY4Q1V0?= =?utf-8?B?MUM4b0Q5Wi94eE1QeXVoOVRqK1lQUDZqZEt0SmQ0aUNoOS9GVG02L3FsL2E4?= =?utf-8?B?SEN1TU45dnlXOTc2T3MrVk90c29Gcnh1QUV6eitBODdJWlF5UVlHRzg4OVNn?= =?utf-8?B?cVBkT1pwMG1FZVN4cFJkOWsxUFBkR3pxVE5OZ1RKa0FldjlTdU1Rb21QeWdn?= =?utf-8?B?NVcwbHVQdGpwbjRHV2J0Y2pKUUxSS1oyc3h5bDlKejlDY01lRkVsZVhFeWcw?= =?utf-8?B?UWhqVEM5Ris0WWVGYVErNVpQdG
 w4NkdIaEtFN3BOOTh3YzZySmZJNEZEcGs2?= =?utf-8?B?VERsTjRnRUFIZnNVQ0x3WWVSOVZ3dDU1aWNWRG1QWVVILzFSTnp4ZFNXWmZ2?= =?utf-8?B?bUk0YmNTQUNQNjdlR1JQb1Zoa2VLYmQ4OEVIOVVZSDgxTE9yZmpJR1NqMmta?= =?utf-8?B?Sms1U
 Gg4UFBsWnJiQjRJUHBxWHNLSWlST0RNTW12RmhHazhZQXd3bk1EcFlD?= =?utf-8?B?OGhmTW8rSEE2R0p0YzJLNjRDbHY0cURsd1pyaFhITTgvaFY1Zm1sbU9Demla?= =?utf-8?B?VDNOb0dSYWpTTXdPVkVJaHo5aU1GRVg4NFVmS3pqK0c4WmMvWkliRExxbkxW?= =?utf-8?B?eVJOeUFnZVYvampFZHVLc0pqMWM4VkFCZDJwVGRTY1puMGtvajE2R2kzcERB?= =?utf-8?B?VlV1UHM1OXhOdW1ndEpQSG1oakRpSHZ3enRyUkRBRnR4eWNTTGwwcWNBZjFr?= =?utf-8?B?WWJtbmRJTHpyMFpRclFOcERSc3JGZ3d3VWtHUmFqWHZZSEYwT3FPaHJxNEdC?= =?utf-8?B?TDdtQTEva0JGbjBTZThSSDJDLzNSWHZNelA5K0YvZ3c1ejNxeUovV3F3ZUlY?= =?utf-8?B?RHZ4ZEZqdXNUc2tJOVh0Q0haaVArWDM4QUI3Q0UyalZ5TlVTbUQxS3VQMitM?= =?utf-8?B?aXN4bDE5RWFmc1lacjBjR1U0STJ4dVZkbnV4Q2FpemhKL3lDcVRTTGZ5UXgv?= =?utf-8?B?eE9DRktpVURpVHJiZW1qNWtmdHRTbmNiYWg0R2VTMmFuNEE4ZEtXelE0WFdU?= =?utf-8?B?WTRCbWFKQzlTdVRPR24wME9lbjZkRXg3dkhSczJwamkycy9rb1YvaDMrTi8r?= =?utf-8?B?e
 nNab3hoVWNZZGxBbm8zQ2RqTjhFKzRNQjNncXZ2cWVpeE5qa2hEK0hxS1o5?= =?utf-8?B?cXBFc2wybEo4SitqK01GTWV5ZHNEbXhWb0JNYkhBQkhDTXBwOVA1aW9Dd2lM?= =?utf-8?B?RmtUTUJJdGlPNndpenA3V1BOOWN6WW5TUlZIVWNRSHVuY29TNm56T
 1ZTMUhs?= =?utf-8?B?K0EvMjlsWlFoZnZXS0swRGFDR1FZSzh5eGdOMzlIQkpJYnZSWnRJWDZqRWtp?= =?utf-8?B?QnZqNlVBNE1PbHdnd0J3WGx1WEQxRTN4MTRQMWY5TmhJSnZ5M0tYUzNBeCt0?= =?utf-8?Q?xJK92xbMiltkMX/HUky8+utnAL7gnMk/MCgISB0=3D?=
X-Microsoft-Exchange-Diagnostics:	1;BLUPR0501MB1713;6:4cqFyf7nDsi/XZeevhYO3oouHEH2kLwVRurDxuvW0yLodJnPi39Z03AQ8O9p8EJ8bn6+TxOdB3nx4IKDeqva8PK/KeohhZSlewnw5Z2SS/58Vk6CK8S2OkGaYcuDdP7XA28pyXTasxRAdoooJugbYRa5o+Yiyq6kXPFGt6dKsm7Gdac2D8PfMvQ+j9UL28wjgPmd4reNA/wXxhsPyhrE8A1vPB0d45y6+JNHj90sKaxHL/LTv9Z50A4bfQHr/EMEzISQJ31ftRHf9QsSA+bu14I4PRyRbQE11RNn7QTC7fVZq5F0DuZTIlRBSgmSIxImRAqcIUAKzO4hUcdlg2S/VA==;5:E4FnoDiONQCujRB4SWT+KhQ1vuH58QRIsOl6bXKU5TCZi6rDGBY4jENFXR3q00WDDHZUmE7bdUe0XrmcI1+8gdGO3hxLC59ApGJuwRoNY12EDC+zFfYmf4/UUB11YfU4oEacI6g9B5HUgz9CXNBJsg==;24:TMqVM73ieMujSl5nzdO0028TXvfxZRVWPjim5xjDNN/NCgSrsAOV3XsghK9urQrOAgmZnt4mBrWD2Vg0QIlRqw==;7:Q2KEEzDqSz30Hot0HiSZTO6rU20+11mPTZUGSwmqHsxd+DPPBfhTCaNxrT55j44x5z+4PHY/i6kYITRu59PEGKq2tiwd8OTyl/Vfw9+Fn4dUQJwOpl9Lb02HqmRF8I6/+JUal5NXwdJf07Us0ejqAXff
 2QgUs0gsm4RSYlCJE6p2Oxo8GrGZAC5FovjcBOVHp1rX/w5+jJJL58q0kmkurVNjNsInAZ8o/xjc3szuohc=
SpamDiagnosticOutput: 1:22
X-OriginatorOrg: piedmont.edu
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Sep 2017 01:24:40.7968 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 9a09148e-5e86-4cdb-b24a-3b16e38b24b9
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR0501MB1713

From
https://web.archive.org/web/20140622071149/http://only.mawhrin.net/~alexey/fookb/fookb-3.1.tar.gz
---
 fookb/1.xpm                 |  148 ++
 fookb/2.xpm                 |  152 ++
 fookb/3.xpm                 |  152 ++
 fookb/4.xpm                 |  148 ++
 fookb/En.xpm                |   77 +
 fookb/INSTALL               |   81 +
 fookb/KNOWN_BUGS            |    8 +
 fookb/LICENSE               |  135 +
 fookb/Makefile.in           |   70 +
 fookb/README                |    8 +
 fookb/README.russian.koi8-r |    7 +
 fookb/README.russian.utf-8  |    7 +
 fookb/Ru.xpm                |   79 +
 fookb/TODO                  |   15 +
 fookb/VERSION               |   70 +
 fookb/beep_spring.au        |  Bin 0 -> 8612 bytes
 fookb/boom.xpm              |  158 ++
 fookb/check.sh              |   58 +
 fookb/configure             | 5710 +++++++++++++++++++++++++++++++++++++++++++
 fookb/configure.in          |  134 +
 fookb/copyright             |    7 +
 fookb/fookb.1x              |  146 ++
 fookb/fookb.c               |  304 +++
 fookb/fookb.cf              |   12 +
 fookb/fookb.h               |   13 +
 fookb/globals.c             |   17 +
 fookb/images.c              |  182 ++
 fookb/images.h              |   18 +
 fookb/lat.xpm               |  301 +++
 fookb/opts.c                |  108 +
 fookb/opts.h                |   32 +
 fookb/params.c              |  155 ++
 fookb/params.h              |   27 +
 fookb/rus.xpm               |  310 +++
 fookb/sound.c               |   51 +
 fookb/sound.h               |   13 +
 fookb/test/foo              |    0
 fookb/xrmdb.h               |    7 +
 38 files changed, 8920 insertions(+)
 create mode 100644 fookb/1.xpm
 create mode 100644 fookb/2.xpm
 create mode 100644 fookb/3.xpm
 create mode 100644 fookb/4.xpm
 create mode 100644 fookb/En.xpm
 create mode 100644 fookb/INSTALL
 create mode 100644 fookb/KNOWN_BUGS
 create mode 100644 fookb/LICENSE
 create mode 100644 fookb/Makefile.in
 create mode 100644 fookb/README
 create mode 100644 fookb/README.russian.koi8-r
 create mode 100644 fookb/README.russian.utf-8
 create mode 100644 fookb/Ru.xpm
 create mode 100644 fookb/TODO
 create mode 100644 fookb/VERSION
 create mode 100644 fookb/beep_spring.au
 create mode 100644 fookb/boom.xpm
 create mode 100755 fookb/check.sh
 create mode 100755 fookb/configure
 create mode 100644 fookb/configure.in
 create mode 100644 fookb/copyright
 create mode 100644 fookb/fookb.1x
 create mode 100644 fookb/fookb.c
 create mode 100644 fookb/fookb.cf
 create mode 100644 fookb/fookb.h
 create mode 100644 fookb/globals.c
 create mode 100644 fookb/images.c
 create mode 100644 fookb/images.h
 create mode 100644 fookb/lat.xpm
 create mode 100644 fookb/opts.c
 create mode 100644 fookb/opts.h
 create mode 100644 fookb/params.c
 create mode 100644 fookb/params.h
 create mode 100644 fookb/rus.xpm
 create mode 100644 fookb/sound.c
 create mode 100644 fookb/sound.h
 create mode 100644 fookb/test/foo
 create mode 100644 fookb/xrmdb.h

diff --git a/fookb/1.xpm b/fookb/1.xpm
new file mode 100644
index 0000000..c764bc0
--- /dev/null
+++ b/fookb/1.xpm
@@ -0,0 +1,148 @@
+/* XPM */
+static char *magick[] = {
+/* columns rows colors chars-per-pixel */
+"48 48 94 2",
+"   c #070606",
+".  c #0c0b0b",
+"X  c #100f0f",
+"o  c Gray9",
+"O  c #1f1d1d",
+"+  c #211f1f",
+"@  c #242323",
+"#  c #2b2929",
+"$  c #343232",
+"%  c #3f3d3d",
+"&  c #1c1074",
+"*  c #3c3656",
+"=  c #413f3f",
+"-  c #464444",
+";  c #4a4747",
+":  c #4f4c4c",
+">  c #575454",
+",  c #5f5b5b",
+"<  c #615e5e",
+"1  c #666363",
+"2  c #6b6767",
+"3  c #6f6b6b",
+"4  c #726e6e",
+"5  c #726d7d",
+"6  c #777373",
+"7  c #7b7777",
+"8  c #7e7a7a",
+"9  c #1500b8",
+"0  c #302295",
+"q  c #1d05d1",
+"w  c #1900db",
+"e  c #1d00fc",
+"r  c #240cd7",
+"t  c #2308f3",
+"y  c #2a0ef9",
+"u  c #2c10fc",
+"i  c #3a20fb",
+"p  c #4329fb",
+"a  c #482ffb",
+"s  c #5a4da1",
+"d  c #5a42fa",
+"f  c #6852fa",
+"g  c #745ff6",
+"h  c #7762f9",
+"j  c #837e7e",
+"k  c #fc0000",
+"l  c #fc1010",
+"z  c #fc2f2f",
+"x  c #fd4242",
+"c  c #fd6262",
+"v  c #fd7171",
+"b  c #8571f9",
+"n  c #868282",
+"m  c #8c8787",
+"M  c #8f8a8a",
+"N  c #948f8f",
+"B  c #979292",
+"V  c #9b9595",
+"C  c #9f9a9a",
+"Z  c #a59f9f",
+"A  c #a7a1a1",
+"S  c #aaa4a4",
+"D  c #aea8a8",
+"F  c #b5aeae",
+"G  c #beb7b7",
+"H  c #9080e4",
+"J  c #9785f8",
+"K  c #9d8bf8",
+"L  c #a493f7",
+"P  c #a594f8",
+"I  c #aa9af8",
+"U  c #b3a3f7",
+"Y  c #c6bfbf",
+"T  c #fd8585",
+"R  c #fd9494",
+"E  c #fdb4b4",
+"W  c #c2b4f7",
+"Q  c #c0c0c0",
+"!  c #cec7c7",
+"~  c #d7cfcf",
+"^  c #dfd7d7",
+"/  c #d4c7f6",
+"(  c #e7dede",
+")  c #fec7c7",
+"_  c #e2d6f6",
+"`  c #eee6e6",
+"'  c #efe5f5",
+"]  c #f7efef",
+"[  c #fee6e6",
+"{  c #f8efef",
+"}  c #f0e6f5",
+"|  c #fef5f5",
+" . c Gray100",
+".. c None",
+/* pixels */
+"S Y ~ ^ ( ` ] ] { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { | |  . . . .] ( ",
+"N A G ..^ ]  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .^ ! ",
+"7 N Z F G Y ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ^ ( ( ! Y G ",
+"2 8 N C A F F G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G F F G F D ",
+", 3 j M ! ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ~ Z S Z Z ",
+": 1 6 N ^ ` ] { ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ` ( A C C V ",
+": < 4 N ^ ] | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ] ( A V V B ",
+": , 3 N ^ ] | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ] ( Z B B B ",
+": , 3 M ( ] | | | | | | | | | | | | | | | | | [ R x k T | | | | | | | | | | | | | | ] ( Z B B N ",
+": , 3 M ^ ] | | | | | | | | | | | | | E T c z k k k k T | | | | | | | | | | | | | | ] ( Z B B N ",
+": , 3 N ^ ] | | | | | | | | | | | | | k k k k k k k k T | | | | | | | | | | | | | | ] ( Z B B N ",
+": , 3 M ^ ] | | | | | | | | | | | | | k k k k k k k k T | | | | | | | | | | | | | | ] ( Z B B N ",
+": , 3 M ( ] | | | | | | | | | | | | | T T T c k k k k T | | | | | | | | | | | | | | ] ( Z B B N ",
+": , 3 M ^ ] | | | | | | | | | | | | | | | | E k k k k T | | | | | | | | | | | | | | ] ( Z N V N ",
+": , 3 M ^ ] | | | | | | | | | | | | | | | | E k k k k T | | | | | | | | | | | | | | ] ( Z B B N ",
+": , 3 N ^ ] | | | | | | | | | | | | | | | | E k k k k T | | | | | | | | | | | | | | ] ( Z B B N ",
+": , 3 M ^ ] | | | | | | | | | | | | | | | | E k k k k T | | | | | | | | | | | | | | ] ( Z B B N ",
+": , 3 M ( ] | | | | | | | | | | | | | | | | E k k k k T | | | | | | | | | | | | | | ] ( Z N V N ",
+": , 3 M ^ ] | | | | | | | | | | | | | | | | E k k k k T | | | | | | | | | | | | | | ] ( Z B B N ",
+": , 3 N ^ ] | | | | | | | | | | | | | | | | E k k k k T | | | | | | | | | | | | | | ] ( Z B B N ",
+": , 3 M ^ ] | | | | | | | | | | | | | | | | E k k k k T | | | | | | | | | | | | | | ] ( Z B B N ",
+": , 3 M ^ ] | | | | | | | | | | | | | | | | E k k k k T | | | | | | | | | | | | | | ] ( Z N V N ",
+": , 2 N ^ ] | | | | | | | | | | | | | | | | E k k k k T | | | | | | | | | | | | | | ] ( Z B B N ",
+": , 3 M ^ ] | | | | | | | | | | | | | | | | E k k k k T | | | | | | | | | | | | | | ] ( Z B B N ",
+": , 3 M ( ] | | | | | | | | | | | | | | | | E k k k k T | | | | | | | | | | | | | | ] ( Z B B N ",
+": , 3 M ^ ] | | | | | | | | | | | | | | | | R k k k k v | | | | | | | | | | | | | | ] ( Z N V N ",
+": , 3 N ^ ] | | | | | | | | | | | | | x x x l k k k k k z x x ) | | | | | | | | | | ] ( Z B B N ",
+": , 3 M ^ ] | | | | | | | | | | | | | k k k k k k k k k k k k E | | | | | | | | | | ] ( Z B B N ",
+": , 3 M ( ] | | | | | | | | | | | | | k k k k k k k k k k k k E | | | | | | | | | | ] ( Z B B N ",
+": , 3 M ^ ] | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ] ( Z N V N ",
+": , 3 M ^ ] | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ] ( Z B B N ",
+": , 3 N ^ ] | | | | | | / f e / | | | | | | | | | | | | | p h | | | | | | J u | | | ] ( Z B B N ",
+": , 3 M ^ ] | | | | | W u d P | | | | | | | | | | | | | P e U | | | | | ' u h | | | ] ( Z B B N ",
+": , 3 M ( ] | | | | _ u h | | | | | | | | | | | | | | | a i | | | | | | h e W | | | ] ( Z N V N ",
+": , 3 M ^ ] | | | | h u } | | | | | | | | | | | | | | / e J | | | | | _ e i | | | | ] ( Z B B N ",
+": , 3 N ^ ] | | | | u h W U I J u | | | | U a i | | | J e _ / d d | | h e J P i d | ] ( Z B B N ",
+": , 3 M ^ ] | | / u e e i J K u d b | | P e a a b | | d a _ u J _ | | e e a d d e | ] ( Z B B N ",
+": , 3 M ^ ] | | | h e _ | } i J J e | } i i } J e | | e b a b | | | U e u U | f a | ] ( Z N V N ",
+": , 2 N ^ ] | | | f a | | J e } h i | J e W | d i | W e a u } | | | b e / | P e L | ] ( Z B B N ",
+": , 3 M ^ ] | | | u b | | i a } u J | i a | W e J | J e e u } | | P p h | P e h | | ] ( Z B B N ",
+": , 3 M ^ ] | | _ e U | | e a h d | | e a U u h | | d i _ a a W h h e d f e h | | | ] ( Z N B N ",
+"- , 2 m ^ ] | | L e ' | | b u b ' | | b e d U | | | u J | _ i i J | b u d L | | | | ] ^ C N N N ",
+"- > 1 j ~ ` ] ] g d ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ` ^ B M M M ",
+"% : , 1 G ~ ^ ^ y H ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ~ G 8 j n n ",
+"$ % - > > 3 4 s t 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 4 1 2 4 6 7 ",
+"@ # $ $ % % * r 0 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = - - : > , 1 ",
+". . o o o & e q O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O + @ # $ % ; ",
+"          w 9                                                                             X O # "
+};
diff --git a/fookb/2.xpm b/fookb/2.xpm
new file mode 100644
index 0000000..3668290
--- /dev/null
+++ b/fookb/2.xpm
@@ -0,0 +1,152 @@
+/* XPM */
+static char *magick[] = {
+/* columns rows colors chars-per-pixel */
+"48 48 98 2",
+"   c #070606",
+".  c #0c0b0b",
+"X  c #100f0f",
+"o  c Gray9",
+"O  c #1f1d1d",
+"+  c #211f1f",
+"@  c #242323",
+"#  c #2b2929",
+"$  c #343232",
+"%  c #3f3d3d",
+"&  c #1c1074",
+"*  c #3c3656",
+"=  c #413f3f",
+"-  c #464444",
+";  c #4a4747",
+":  c #4f4c4c",
+">  c #575454",
+",  c #5f5b5b",
+"<  c #615e5e",
+"1  c #666363",
+"2  c #6b6767",
+"3  c #6f6b6b",
+"4  c #726e6e",
+"5  c #726d7d",
+"6  c #777373",
+"7  c #7b7777",
+"8  c #7e7a7a",
+"9  c #1500b8",
+"0  c #302295",
+"q  c #1d05d1",
+"w  c #1900db",
+"e  c #1d00fc",
+"r  c #240cd7",
+"t  c #2308f3",
+"y  c #2a0ef9",
+"u  c #2c10fc",
+"i  c #3a20fb",
+"p  c #4329fb",
+"a  c #482ffb",
+"s  c #5a4da1",
+"d  c #5a42fa",
+"f  c #6852fa",
+"g  c #745ff6",
+"h  c #7762f9",
+"j  c #837e7e",
+"k  c #fc0000",
+"l  c #fc1010",
+"z  c #fc2020",
+"x  c #fc2f2f",
+"c  c #fd4242",
+"v  c #fd5252",
+"b  c #fd6262",
+"n  c #fd7171",
+"m  c #8571f9",
+"M  c #868282",
+"N  c #8c8787",
+"B  c #8f8a8a",
+"V  c #948f8f",
+"C  c #979292",
+"Z  c #9b9595",
+"A  c #9f9a9a",
+"S  c #a59f9f",
+"D  c #a7a1a1",
+"F  c #aaa4a4",
+"G  c #aea8a8",
+"H  c #b5aeae",
+"J  c #beb7b7",
+"K  c #9080e4",
+"L  c #9785f8",
+"P  c #9d8bf8",
+"I  c #a493f7",
+"U  c #a594f8",
+"Y  c #aa9af8",
+"T  c #b3a3f7",
+"R  c #c6bfbf",
+"E  c #fd8585",
+"W  c #fd9494",
+"Q  c #fda3a3",
+"!  c #fdb4b4",
+"~  c #c2b4f7",
+"^  c #c0c0c0",
+"/  c #cec7c7",
+"(  c #d7cfcf",
+")  c #dfd7d7",
+"_  c #d4c7f6",
+"`  c #e7dede",
+"'  c #fec7c7",
+"]  c #fed6d6",
+"[  c #e2d6f6",
+"{  c #eee6e6",
+"}  c #efe5f5",
+"|  c #f7efef",
+" . c #fee6e6",
+".. c #f8efef",
+"X. c #f0e6f5",
+"o. c #fef5f5",
+"O. c Gray100",
+"+. c None",
+/* pixels */
+"F R ( ) ` { | | ................................................................o.o.O.O.O.O.| ` ",
+"V D J +.) | O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.) / ",
+"7 V S H J R / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / ) ` ` / R J ",
+"2 8 V A D H H J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J H H J H G ",
+", 3 j B / ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ( S F S S ",
+": 1 6 V ) { | ..| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | { ` D A A Z ",
+": < 4 V ) | o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.| ` D Z Z C ",
+": , 3 V ) | o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.| ` S C C C ",
+": , 3 B ` | o.o.o.o.o.o.o.o.o.o.o.o.o.o.] b c k k k l b Q o.o.o.o.o.o.o.o.o.o.o.o.o.| ` S C C V ",
+": , 3 B ) | o.o.o.o.o.o.o.o.o.o.o.o. .b k k k k k k k k k x ' o.o.o.o.o.o.o.o.o.o.o.| ` S C C V ",
+": , 3 V ) | o.o.o.o.o.o.o.o.o.o.o.' k k k k k k k k k k k k l ! o.o.o.o.o.o.o.o.o.o.| ` S C C V ",
+": , 3 B ) | o.o.o.o.o.o.o.o.o.o. .z k k k z n E n z k k k k k l  .o.o.o.o.o.o.o.o.o.| ` S C C V ",
+": , 3 B ` | o.o.o.o.o.o.o.o.o.o.E k k k E o.o.o.o.o.n k k k k k E o.o.o.o.o.o.o.o.o.| ` S C C V ",
+": , 3 B ) | o.o.o.o.o.o.o.o.o.o.c k k n o.o.o.o.o.o.o.c k k k k c o.o.o.o.o.o.o.o.o.| ` S V Z V ",
+": , 3 B ) | o.o.o.o.o.o.o.o.o.o.k k k ] o.o.o.o.o.o.o.E k k k k c o.o.o.o.o.o.o.o.o.| ` S C C V ",
+": , 3 V ) | o.o.o.o.o.o.o.o.o.o.k k k o.o.o.o.o.o.o.o.n k k k k n o.o.o.o.o.o.o.o.o.| ` S C C V ",
+": , 3 B ) | o.o.o.o.o.o.o.o.o.o.v b E o.o.o.o.o.o.o.o.z k k k k Q o.o.o.o.o.o.o.o.o.| ` S C C V ",
+": , 3 B ` | o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.E k k k k c o.o.o.o.o.o.o.o.o.o.| ` S V Z V ",
+": , 3 B ) | o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.W k k k k l ] o.o.o.o.o.o.o.o.o.o.| ` S C C V ",
+": , 3 V ) | o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.W k k k k l ' o.o.o.o.o.o.o.o.o.o.o.| ` S C C V ",
+": , 3 B ) | o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.n k k k k x ] o.o.o.o.o.o.o.o.o.o.o.o.| ` S C C V ",
+": , 3 B ) | o.o.o.o.o.o.o.o.o.o.o.o.o.o.o. .v k k k k E o.o.o.o.o.o.o.o.o.o.o.o.o.o.| ` S V Z V ",
+": , 2 V ) | o.o.o.o.o.o.o.o.o.o.o.o.o.o.' x k k k c ' o.o.o.c k k ' o.o.o.o.o.o.o.o.| ` S C C V ",
+": , 3 B ) | o.o.o.o.o.o.o.o.o.o.o.o.o.W l k k l E o.o.o.o. .l k k o.o.o.o.o.o.o.o.o.| ` S C C V ",
+": , 3 B ` | o.o.o.o.o.o.o.o.o.o.o. .b k k k k n E E E E E c k k x o.o.o.o.o.o.o.o.o.| ` S C C V ",
+": , 3 B ) | o.o.o.o.o.o.o.o.o.o.! z k k k k k k k k k k k k k k b o.o.o.o.o.o.o.o.o.| ` S V Z V ",
+": , 3 V ) | o.o.o.o.o.o.o.o.o.o.k k k k k k k k k k k k k k k k E o.o.o.o.o.o.o.o.o.| ` S C C V ",
+": , 3 B ) | o.o.o.o.o.o.o.o.o.o.k k k k k k k k k k k k k k k k ! o.o.o.o.o.o.o.o.o.| ` S C C V ",
+": , 3 B ` | o.o.o.o.o.o.o.o.o.o.k k k k k k k k k k k k k k k k ] o.o.o.o.o.o.o.o.o.| ` S C C V ",
+": , 3 B ) | o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.] c c o.o.o.o.o.o.o.o.o.o.| ` S V Z V ",
+": , 3 B ) | o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.| ` S C C V ",
+": , 3 V ) | o.o.o.o.o.o._ f e _ o.o.o.o.o.o.o.o.o.o.o.o.o.p h o.o.o.o.o.o.L u o.o.o.| ` S C C V ",
+": , 3 B ) | o.o.o.o.o.~ u d U o.o.o.o.o.o.o.o.o.o.o.o.o.U e T o.o.o.o.o.} u h o.o.o.| ` S C C V ",
+": , 3 B ` | o.o.o.o.[ u h o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.a i o.o.o.o.o.o.h e ~ o.o.o.| ` S V Z V ",
+": , 3 B ) | o.o.o.o.h u X.o.o.o.o.o.o.o.o.o.o.o.o.o.o._ e L o.o.o.o.o.[ e i o.o.o.o.| ` S C C V ",
+": , 3 V ) | o.o.o.o.u h ~ T Y L u o.o.o.o.T a i o.o.o.L e [ _ d d o.o.h e L U i d o.| ` S C C V ",
+": , 3 B ) | o.o._ u e e i L P u d m o.o.U e a a m o.o.d a [ u L [ o.o.e e a d d e o.| ` S C C V ",
+": , 3 B ) | o.o.o.h e [ o.X.i L L e o.X.i i X.L e o.o.e m a m o.o.o.T e u T o.f a o.| ` S V Z V ",
+": , 2 V ) | o.o.o.f a o.o.L e X.h i o.L e ~ o.d i o.~ e a u X.o.o.o.m e _ o.U e I o.| ` S C C V ",
+": , 3 B ) | o.o.o.u m o.o.i a X.u L o.i a o.~ e L o.L e e u X.o.o.U p h o.U e h o.o.| ` S C C V ",
+": , 3 B ) | o.o.[ e T o.o.e a h d o.o.e a T u h o.o.d i [ a a ~ h h e d f e h o.o.o.| ` S V C V ",
+"- , 2 N ) | o.o.I e } o.o.m u m } o.o.m e d T o.o.o.u L o.[ i i L o.m u d I o.o.o.o.| ) A V V V ",
+"- > 1 j ( { | | g d | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | { ) C B B B ",
+"% : , 1 J ( ) ) y K ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ( J 8 j M M ",
+"$ % - > > 3 4 s t 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 4 1 2 4 6 7 ",
+"@ # $ $ % % * r 0 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = - - : > , 1 ",
+". . o o o & e q O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O + @ # $ % ; ",
+"          w 9                                                                             X O # "
+};
diff --git a/fookb/3.xpm b/fookb/3.xpm
new file mode 100644
index 0000000..b29561f
--- /dev/null
+++ b/fookb/3.xpm
@@ -0,0 +1,152 @@
+/* XPM */
+static char *magick[] = {
+/* columns rows colors chars-per-pixel */
+"48 48 98 2",
+"   c #070606",
+".  c #0c0b0b",
+"X  c #100f0f",
+"o  c Gray9",
+"O  c #1f1d1d",
+"+  c #211f1f",
+"@  c #242323",
+"#  c #2b2929",
+"$  c #343232",
+"%  c #3f3d3d",
+"&  c #1c1074",
+"*  c #3c3656",
+"=  c #413f3f",
+"-  c #464444",
+";  c #4a4747",
+":  c #4f4c4c",
+">  c #575454",
+",  c #5f5b5b",
+"<  c #615e5e",
+"1  c #666363",
+"2  c #6b6767",
+"3  c #6f6b6b",
+"4  c #726e6e",
+"5  c #726d7d",
+"6  c #777373",
+"7  c #7b7777",
+"8  c #7e7a7a",
+"9  c #1500b8",
+"0  c #302295",
+"q  c #1d05d1",
+"w  c #1900db",
+"e  c #1d00fc",
+"r  c #240cd7",
+"t  c #2308f3",
+"y  c #2a0ef9",
+"u  c #2c10fc",
+"i  c #3a20fb",
+"p  c #4329fb",
+"a  c #482ffb",
+"s  c #5a4da1",
+"d  c #5a42fa",
+"f  c #6852fa",
+"g  c #745ff6",
+"h  c #7762f9",
+"j  c #837e7e",
+"k  c #fc0000",
+"l  c #fc1010",
+"z  c #fc2020",
+"x  c #fc2f2f",
+"c  c #fd4242",
+"v  c #fd5252",
+"b  c #fd6262",
+"n  c #fd7171",
+"m  c #8571f9",
+"M  c #868282",
+"N  c #8c8787",
+"B  c #8f8a8a",
+"V  c #948f8f",
+"C  c #979292",
+"Z  c #9b9595",
+"A  c #9f9a9a",
+"S  c #a59f9f",
+"D  c #a7a1a1",
+"F  c #aaa4a4",
+"G  c #aea8a8",
+"H  c #b5aeae",
+"J  c #beb7b7",
+"K  c #9080e4",
+"L  c #9785f8",
+"P  c #9d8bf8",
+"I  c #a493f7",
+"U  c #a594f8",
+"Y  c #aa9af8",
+"T  c #b3a3f7",
+"R  c #c6bfbf",
+"E  c #fd8585",
+"W  c #fd9494",
+"Q  c #fda3a3",
+"!  c #fdb4b4",
+"~  c #c2b4f7",
+"^  c #c0c0c0",
+"/  c #cec7c7",
+"(  c #d7cfcf",
+")  c #dfd7d7",
+"_  c #d4c7f6",
+"`  c #e7dede",
+"'  c #fec7c7",
+"]  c #fed6d6",
+"[  c #e2d6f6",
+"{  c #eee6e6",
+"}  c #efe5f5",
+"|  c #f7efef",
+" . c #fee6e6",
+".. c #f8efef",
+"X. c #f0e6f5",
+"o. c #fef5f5",
+"O. c Gray100",
+"+. c None",
+/* pixels */
+"F R ( ) ` { | | ................................................................o.o.O.O.O.O.| ` ",
+"V D J +.) | O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.O.) / ",
+"7 V S H J R / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / ) ` ` / R J ",
+"2 8 V A D H H J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J H H J H G ",
+", 3 j B / ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ( S F S S ",
+": 1 6 V ) { | ..| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | { ` D A A Z ",
+": < 4 V ) | o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.| ` D Z Z C ",
+": , 3 V ) | o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.| ` S C C C ",
+": , 3 B ` | o.o.o.o.o.o.o.o.o.o.o.o.o.o.] E c k k k l b Q o.o.o.o.o.o.o.o.o.o.o.o.o.| ` S C C V ",
+": , 3 B ) | o.o.o.o.o.o.o.o.o.o.o.o.o.E k k k k k k k k k x ' o.o.o.o.o.o.o.o.o.o.o.| ` S C C V ",
+": , 3 V ) | o.o.o.o.o.o.o.o.o.o.o.o.b k k k k k k k k k k k l ' o.o.o.o.o.o.o.o.o.o.| ` S C C V ",
+": , 3 B ) | o.o.o.o.o.o.o.o.o.o.o.W k k k k v E E v k k k k k c o.o.o.o.o.o.o.o.o.o.| ` S C C V ",
+": , 3 B ` | o.o.o.o.o.o.o.o.o.o.o.v k k l ' o.o.o.o.' k k k k k ] o.o.o.o.o.o.o.o.o.| ` S C C V ",
+": , 3 B ) | o.o.o.o.o.o.o.o.o.o.o.k k k W o.o.o.o.o.o.b k k k k ! o.o.o.o.o.o.o.o.o.| ` S V Z V ",
+": , 3 B ) | o.o.o.o.o.o.o.o.o.o.o.k k k  .o.o.o.o.o.o.E k k k k  .o.o.o.o.o.o.o.o.o.| ` S C C V ",
+": , 3 V ) | o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o. .z k k k b o.o.o.o.o.o.o.o.o.o.| ` S C C V ",
+": , 3 B ) | o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.' ! ! E z k k k x  .o.o.o.o.o.o.o.o.o.o.| ` S C C V ",
+": , 3 B ` | o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.c k k k k k l E  .o.o.o.o.o.o.o.o.o.o.o.| ` S V Z V ",
+": , 3 B ) | o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.c k k k k k k x W o.o.o.o.o.o.o.o.o.o.o.| ` S C C V ",
+": , 3 V ) | o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.W E E c k k k k k x  .o.o.o.o.o.o.o.o.o.| ` S C C V ",
+": , 3 B ) | o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.' l k k k k b o.o.o.o.o.o.o.o.o.| ` S C C V ",
+": , 3 B ) | o.o.o.o.o.o.o.o.o.o. .n c E o.o.o.o.o.o.o.Q k k k k k  .o.o.o.o.o.o.o.o.| ` S V Z V ",
+": , 2 V ) | o.o.o.o.o.o.o.o.o.o.v k k k E o.o.o.o.o.o.o.k k k k k ! o.o.o.o.o.o.o.o.| ` S C C V ",
+": , 3 B ) | o.o.o.o.o.o.o.o.o.o.k k k k l o.o.o.o.o.o.o.k k k k k ! o.o.o.o.o.o.o.o.| ` S C C V ",
+": , 3 B ` | o.o.o.o.o.o.o.o.o.o.z k k k k Q o.o.o.o.o.Q k k k k l o.o.o.o.o.o.o.o.o.| ` S C C V ",
+": , 3 B ) | o.o.o.o.o.o.o.o.o.o.E k k k k x  .o.o.o.' z k k k k E o.o.o.o.o.o.o.o.o.| ` S V Z V ",
+": , 3 V ) | o.o.o.o.o.o.o.o.o.o.o.c k k k k l b E b k k k k k x o.o.o.o.o.o.o.o.o.o.| ` S C C V ",
+": , 3 B ) | o.o.o.o.o.o.o.o.o.o.o. .n k k k k k k k k k k k b  .o.o.o.o.o.o.o.o.o.o.| ` S C C V ",
+": , 3 B ` | o.o.o.o.o.o.o.o.o.o.o.o.o.] n z k k k k k l b ! o.o.o.o.o.o.o.o.o.o.o.o.| ` S C C V ",
+": , 3 B ) | o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o. .! ! ! ] o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.| ` S V Z V ",
+": , 3 B ) | o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.| ` S C C V ",
+": , 3 V ) | o.o.o.o.o.o._ f e _ o.o.o.o.o.o.o.o.o.o.o.o.o.p h o.o.o.o.o.o.L u o.o.o.| ` S C C V ",
+": , 3 B ) | o.o.o.o.o.~ u d U o.o.o.o.o.o.o.o.o.o.o.o.o.U e T o.o.o.o.o.} u h o.o.o.| ` S C C V ",
+": , 3 B ` | o.o.o.o.[ u h o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.a i o.o.o.o.o.o.h e ~ o.o.o.| ` S V Z V ",
+": , 3 B ) | o.o.o.o.h u X.o.o.o.o.o.o.o.o.o.o.o.o.o.o._ e L o.o.o.o.o.[ e i o.o.o.o.| ` S C C V ",
+": , 3 V ) | o.o.o.o.u h ~ T Y L u o.o.o.o.T a i o.o.o.L e [ _ d d o.o.h e L U i d o.| ` S C C V ",
+": , 3 B ) | o.o._ u e e i L P u d m o.o.U e a a m o.o.d a [ u L [ o.o.e e a d d e o.| ` S C C V ",
+": , 3 B ) | o.o.o.h e [ o.X.i L L e o.X.i i X.L e o.o.e m a m o.o.o.T e u T o.f a o.| ` S V Z V ",
+": , 2 V ) | o.o.o.f a o.o.L e X.h i o.L e ~ o.d i o.~ e a u X.o.o.o.m e _ o.U e I o.| ` S C C V ",
+": , 3 B ) | o.o.o.u m o.o.i a X.u L o.i a o.~ e L o.L e e u X.o.o.U p h o.U e h o.o.| ` S C C V ",
+": , 3 B ) | o.o.[ e T o.o.e a h d o.o.e a T u h o.o.d i [ a a ~ h h e d f e h o.o.o.| ` S V C V ",
+"- , 2 N ) | o.o.I e } o.o.m u m } o.o.m e d T o.o.o.u L o.[ i i L o.m u d I o.o.o.o.| ) A V V V ",
+"- > 1 j ( { | | g d | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | { ) C B B B ",
+"% : , 1 J ( ) ) y K ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ( J 8 j M M ",
+"$ % - > > 3 4 s t 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 4 1 2 4 6 7 ",
+"@ # $ $ % % * r 0 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = - - : > , 1 ",
+". . o o o & e q O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O + @ # $ % ; ",
+"          w 9                                                                             X O # "
+};
diff --git a/fookb/4.xpm b/fookb/4.xpm
new file mode 100644
index 0000000..3c1539c
--- /dev/null
+++ b/fookb/4.xpm
@@ -0,0 +1,148 @@
+/* XPM */
+static char *magick[] = {
+/* columns rows colors chars-per-pixel */
+"48 48 94 2",
+"   c #070606",
+".  c #0c0b0b",
+"X  c #100f0f",
+"o  c Gray9",
+"O  c #1f1d1d",
+"+  c #211f1f",
+"@  c #242323",
+"#  c #2b2929",
+"$  c #343232",
+"%  c #3f3d3d",
+"&  c #1c1074",
+"*  c #3c3656",
+"=  c #413f3f",
+"-  c #464444",
+";  c #4a4747",
+":  c #4f4c4c",
+">  c #575454",
+",  c #5f5b5b",
+"<  c #615e5e",
+"1  c #666363",
+"2  c #6b6767",
+"3  c #6f6b6b",
+"4  c #726e6e",
+"5  c #726d7d",
+"6  c #777373",
+"7  c #7b7777",
+"8  c #7e7a7a",
+"9  c #1500b8",
+"0  c #302295",
+"q  c #1d05d1",
+"w  c #1900db",
+"e  c #1d00fc",
+"r  c #240cd7",
+"t  c #2308f3",
+"y  c #2a0ef9",
+"u  c #2c10fc",
+"i  c #3a20fb",
+"p  c #4329fb",
+"a  c #482ffb",
+"s  c #5a4da1",
+"d  c #5a42fa",
+"f  c #6852fa",
+"g  c #745ff6",
+"h  c #7762f9",
+"j  c #837e7e",
+"k  c #fc0000",
+"l  c #fc1010",
+"z  c #fc2020",
+"x  c #fd4242",
+"c  c #fd6262",
+"v  c #8571f9",
+"b  c #868282",
+"n  c #8c8787",
+"m  c #8f8a8a",
+"M  c #948f8f",
+"N  c #979292",
+"B  c #9b9595",
+"V  c #9f9a9a",
+"C  c #a59f9f",
+"Z  c #a7a1a1",
+"A  c #aaa4a4",
+"S  c #aea8a8",
+"D  c #b5aeae",
+"F  c #beb7b7",
+"G  c #9080e4",
+"H  c #9785f8",
+"J  c #9d8bf8",
+"K  c #a493f7",
+"L  c #a594f8",
+"P  c #aa9af8",
+"I  c #b3a3f7",
+"U  c #c6bfbf",
+"Y  c #fd8585",
+"T  c #fd9494",
+"R  c #fdb4b4",
+"E  c #c2b4f7",
+"W  c #c0c0c0",
+"Q  c #cec7c7",
+"!  c #d7cfcf",
+"~  c #dfd7d7",
+"^  c #d4c7f6",
+"/  c #e7dede",
+"(  c #fec7c7",
+")  c #fed6d6",
+"_  c #e2d6f6",
+"`  c #eee6e6",
+"'  c #efe5f5",
+"]  c #f7efef",
+"[  c #fee6e6",
+"{  c #f8efef",
+"}  c #f0e6f5",
+"|  c #fef5f5",
+" . c Gray100",
+".. c None",
+/* pixels */
+"A U ! ~ / ` ] ] { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { | |  . . . .] / ",
+"M Z F ..~ ]  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .~ Q ",
+"7 M C D F U Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q ~ / / Q U F ",
+"2 8 M V Z D D F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F D D F D S ",
+", 3 j m Q / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / ! C A C C ",
+": 1 6 M ~ ` ] { ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ` / Z V V B ",
+": < 4 M ~ ] | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ] / Z B B N ",
+": , 3 M ~ ] | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ] / C N N N ",
+": , 3 m / ] | | | | | | | | | | | | | | | | | | c k k k k Y | | | | | | | | | | | | ] / C N N M ",
+": , 3 m ~ ] | | | | | | | | | | | | | | | | | T k k k k k Y | | | | | | | | | | | | ] / C N N M ",
+": , 3 M ~ ] | | | | | | | | | | | | | | | | T k k k k k k Y | | | | | | | | | | | | ] / C N N M ",
+": , 3 m ~ ] | | | | | | | | | | | | | | | T k k k k k k k Y | | | | | | | | | | | | ] / C N N M ",
+": , 3 m / ] | | | | | | | | | | | | | | T k k k k k k k k Y | | | | | | | | | | | | ] / C N N M ",
+": , 3 m ~ ] | | | | | | | | | | | | | R k k k l Y k k k k Y | | | | | | | | | | | | ] / C M B M ",
+": , 3 m ~ ] | | | | | | | | | | | | ( l k k k ( R k k k k Y | | | | | | | | | | | | ] / C N N M ",
+": , 3 M ~ ] | | | | | | | | | | | ( l k k k T | R k k k k Y | | | | | | | | | | | | ] / C N N M ",
+": , 3 m ~ ] | | | | | | | | | | ( l k k k T | | R k k k k Y | | | | | | | | | | | | ] / C N N M ",
+": , 3 m / ] | | | | | | | | | ( l k k k T | | | R k k k k Y | | | | | | | | | | | | ] / C M B M ",
+": , 3 m ~ ] | | | | | | | | | z k k k T | | | | R k k k k Y | | | | | | | | | | | | ] / C N N M ",
+": , 3 M ~ ] | | | | | | | | | k k k l Y Y Y Y Y c k k k k x Y Y Y ) | | | | | | | | ] / C N N M ",
+": , 3 m ~ ] | | | | | | | | | k k k k k k k k k k k k k k k k k k R | | | | | | | | ] / C N N M ",
+": , 3 m ~ ] | | | | | | | | | k k k k k k k k k k k k k k k k k k R | | | | | | | | ] / C M B M ",
+": , 2 M ~ ] | | | | | | | | | k k k k k k k k k k k k k k k k k k R | | | | | | | | ] / C N N M ",
+": , 3 m ~ ] | | | | | | | | | R R R R R R R R R Y k k k k c R R R [ | | | | | | | | ] / C N N M ",
+": , 3 m / ] | | | | | | | | | | | | | | | | | | R k k k k Y | | | | | | | | | | | | ] / C N N M ",
+": , 3 m ~ ] | | | | | | | | | | | | | | | | | | R k k k k Y | | | | | | | | | | | | ] / C M B M ",
+": , 3 M ~ ] | | | | | | | | | | | | | | | | | | R k k k k Y | | | | | | | | | | | | ] / C N N M ",
+": , 3 m ~ ] | | | | | | | | | | | | | | | | | | R k k k k Y | | | | | | | | | | | | ] / C N N M ",
+": , 3 m / ] | | | | | | | | | | | | | | | | | | R k k k k Y | | | | | | | | | | | | ] / C N N M ",
+": , 3 m ~ ] | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ] / C M B M ",
+": , 3 m ~ ] | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ] / C N N M ",
+": , 3 M ~ ] | | | | | | ^ f e ^ | | | | | | | | | | | | | p h | | | | | | H u | | | ] / C N N M ",
+": , 3 m ~ ] | | | | | E u d L | | | | | | | | | | | | | L e I | | | | | ' u h | | | ] / C N N M ",
+": , 3 m / ] | | | | _ u h | | | | | | | | | | | | | | | a i | | | | | | h e E | | | ] / C M B M ",
+": , 3 m ~ ] | | | | h u } | | | | | | | | | | | | | | ^ e H | | | | | _ e i | | | | ] / C N N M ",
+": , 3 M ~ ] | | | | u h E I P H u | | | | I a i | | | H e _ ^ d d | | h e H L i d | ] / C N N M ",
+": , 3 m ~ ] | | ^ u e e i H J u d v | | L e a a v | | d a _ u H _ | | e e a d d e | ] / C N N M ",
+": , 3 m ~ ] | | | h e _ | } i H H e | } i i } H e | | e v a v | | | I e u I | f a | ] / C M B M ",
+": , 2 M ~ ] | | | f a | | H e } h i | H e E | d i | E e a u } | | | v e ^ | L e K | ] / C N N M ",
+": , 3 m ~ ] | | | u v | | i a } u H | i a | E e H | H e e u } | | L p h | L e h | | ] / C N N M ",
+": , 3 m ~ ] | | _ e I | | e a h d | | e a I u h | | d i _ a a E h h e d f e h | | | ] / C M N M ",
+"- , 2 n ~ ] | | K e ' | | v u v ' | | v e d I | | | u H | _ i i H | v u d K | | | | ] ~ V M M M ",
+"- > 1 j ! ` ] ] g d ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ` ~ N m m m ",
+"% : , 1 F ! ~ ~ y G ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ! F 8 j b b ",
+"$ % - > > 3 4 s t 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 4 1 2 4 6 7 ",
+"@ # $ $ % % * r 0 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = - - : > , 1 ",
+". . o o o & e q O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O + @ # $ % ; ",
+"          w 9                                                                             X O # "
+};
diff --git a/fookb/En.xpm b/fookb/En.xpm
new file mode 100644
index 0000000..deb0990
--- /dev/null
+++ b/fookb/En.xpm
@@ -0,0 +1,77 @@
+/* XPM */
+static char * En_xpm[] = {
+"22 22 52 1",
+" 	c None",
+".	c #005B77",
+"+	c #005D79",
+"@	c #005E7B",
+"#	c #005F7C",
+"$	c #00607D",
+"%	c #00617F",
+"&	c #006280",
+"*	c #38849B",
+"=	c #5596AA",
+"-	c #006382",
+";	c #38859D",
+">	c #C6DCE3",
+",	c #FFFFFF",
+"'	c #5597AB",
+")	c #71A8B9",
+"!	c #006583",
+"~	c #AACBD5",
+"{	c #006685",
+"]	c #AACCD6",
+"^	c #71A9BB",
+"/	c #8DBAC8",
+"(	c #E2EDF1",
+"_	c #006787",
+":	c #AACCD7",
+"<	c #5599AF",
+"[	c #71AABC",
+"}	c #006888",
+"|	c #C6DDE4",
+"1	c #559AAF",
+"2	c #006989",
+"3	c #AACDD7",
+"4	c #1C7995",
+"5	c #559BB0",
+"6	c #006A8B",
+"7	c #AACDD8",
+"8	c #71ACBE",
+"9	c #1C7A97",
+"0	c #559BB1",
+"a	c #006B8D",
+"b	c #71ACBF",
+"c	c #E2EEF2",
+"d	c #C6DDE5",
+"e	c #AACDD9",
+"f	c #388BA6",
+"g	c #006D8E",
+"h	c #006E8F",
+"i	c #006F91",
+"j	c #007092",
+"k	c #007194",
+"l	c #007296",
+"m	c #007397",
+"......................",
+"++++++++++++++++++++++",
+"@@@@@@@@@@@@@@@@@@@@@@",
+"######################",
+"$$$$$$$$$$$$$$$$$$$$$$",
+"%%%%%%%%%%%%%%%%%%%%%%",
+"&&&*======&&&&&&&&&&&&",
+"---;>,''),------------",
+"!!!!~,!!!>!!!!!!!!!!!!",
+"{{{{],{{^{{],/>,({{{{{",
+"____:,::,__<,:_[,<____",
+"}}}}:,}}|}}1,1}1,1}}}}",
+"22223,222445,525,52222",
+"66667,666890,060,06666",
+"aaabc,ded,ad,dfd,dfaaa",
+"gggggggggggggggggggggg",
+"hhhhhhhhhhhhhhhhhhhhhh",
+"iiiiiiiiiiiiiiiiiiiiii",
+"jjjjjjjjjjjjjjjjjjjjjj",
+"kkkkkkkkkkkkkkkkkkkkkk",
+"llllllllllllllllllllll",
+"mmmmmmmmmmmmmmmmmmmmmm"};
diff --git a/fookb/INSTALL b/fookb/INSTALL
new file mode 100644
index 0000000..777ac29
--- /dev/null
+++ b/fookb/INSTALL
@@ -0,0 +1,81 @@
+How to compile and install fookb:
+
+0. The best way
+
+The best way is to install Debian Linux and use apt-get to install precompiled
+version of fookb :)
+
+1. Generating Makefile.
+
+./configure
+
+You may use ``./configure --prefix some_dir'' if you wish to install fookb in
+``some_dir'' -- not in ``/usr/local''. Icons will be placed under
+``some_dir/share/fookb'', manual page under ``some_dir/man/man1'', fookb
+itself under ``some_dir/bin''.
+
+E.g.: ./configure --prefix /usr/local/stow/fookb
+
+2. Fine tuning.
+
+[Read this section only if compilation process was unsuccessful]
+
+configure tries automagically decide: do you wish to compile WindowMaker
+dockable version of fookb and would you like use PropList-like configuration
+file or X resources for configuring fookb (using libWUtil).
+
+If you have libWUtil AND WINGs/WUtil.h we will try to compile
+libWUtil-enabled version of fookb. If you want to compile libWUtil-free
+version of fookb, run configure with --disable-libWUtil argument.
+
+If you have wmaker in your $PATH, we will compile WindowMaker dockable verison
+of fookb. Run configure with --disable-wmaker to disable this behaviour.
+
+If you have no wmaker in your $PATH you still can compile WindowMaker dockable
+version of fookb. Run configure with --enable-wmaker.
+
+3. Compiling
+
+make
+
+If compilation was unsuccessful or you can get no satisfaction, read previous
+section.
+
+4. Installing
+
+make install
+
+5. Configuring fookb
+
+IF YOU COMPILED libWUtil-version of fookb:
+
+Copy fookb.cf to ~/GNUstep/Defaults/FOOkb (for Window Maker enabled) or to
+~/.fookb (for Window Maker disabled version) and edit this file according to
+your desire.
+
+IF YOU COMPILED non-libWUtil version of fookb:
+
+You should put the following resources in your
+/usr/X11R6/lib/X11/app-defaults/Fookb (or in other file which will be read by
+xrdb -- such as ~/.Xresources):
+
+fookb.icon1: xpm_file_with_full_path
+fookb.icon2: the same
+fookb.icon3: the same
+fookb.icon4: the same
+fookb.iconBoom: the same
+fookb.sound: Yes/No
+fookb.command: some_command (for playing sound)
+
+BOTH WAYS:
+
+Instead of putting parameter in config file you may use the following command
+line parameters:
+
+-icon1 xpm_file_with_full_path
+-icon2 the same
+-icon3 the same
+-icon4 the same
+-iconboom the same
+
+You may also use -display command line parameter.
diff --git a/fookb/KNOWN_BUGS b/fookb/KNOWN_BUGS
new file mode 100644
index 0000000..2fda5c8
--- /dev/null
+++ b/fookb/KNOWN_BUGS
@@ -0,0 +1,8 @@
+* If configuration parameter 'sound' is not defined, fookb will not die, but
+will print error message and kill new-born child every time you switch
+keyboard layout. Well, it's not a bug, it's a feature.
+
+* Sometimes fookb receives message about changing XKB group, but
+message.state.group does not point to any existing XKB group. In this
+case fookb will show IconBoom (from config file) picture.
+As far as I know the only way to look at this bug is to run vmware.
diff --git a/fookb/LICENSE b/fookb/LICENSE
new file mode 100644
index 0000000..ca9b659
--- /dev/null
+++ b/fookb/LICENSE
@@ -0,0 +1,135 @@
+License is "Artistic". Debian GNU/Linux may redistribute this program under
+GPL. Yes, I understand what does it mean (it means that anyone who get this
+program from Debian project can redistribute fookb under GPL). But do you
+understand what does this mean? It means that if you downloaded fookb from my
+site you cannot use GPL :)
+
+P.S. Yes, Debian is the best.
+P.P.S. No, there's no sense in this license.
+
+
+P.P.P.S.		The "Artistic License"
+
+                             Preamble
+
+The intent of this document is to state the conditions under which a
+Package may be copied, such that the Copyright Holder maintains some
+semblance of artistic control over the development of the Package,
+while giving the users of the package the right to use and distribute
+the Package in a more-or-less customary fashion, plus the right to make
+reasonable modifications.
+
+It also grants you the rights to reuse parts of a Package in your own
+programs without transferring this License to those programs, provided
+that you meet some reasonable requirements.
+
+Definitions:
+
+        "Package" refers to the collection of files distributed by the
+        Copyright Holder, and derivatives of that collection of files
+        created through textual modification.
+
+        "Standard Version" refers to such a Package if it has not been
+        modified, or has been modified in accordance with the wishes
+        of the Copyright Holder as specified below.
+
+        "Copyright Holder" is whoever is named in the copyright or
+        copyrights for the package.
+
+        "You" is you, if you're thinking about copying or distributing
+        this Package.
+
+        "Reasonable copying fee" is whatever you can justify on the
+        basis of media cost, duplication charges, time of people involved,
+        and so on.  (You will not be required to justify it to the
+        Copyright Holder, but only to the computing community at large
+        as a market that must bear the fee.)
+
+        "Freely Available" means that no fee is charged for the item
+        itself, though there may be fees involved in handling the item.
+        It also means that recipients of the item may redistribute it
+        under the same conditions they received it.
+
+1. You may make and give away verbatim copies of the source form of the
+Standard Version of this Package without restriction, provided that you
+duplicate all of the original copyright notices and associated disclaimers.
+
+2. You may apply bug fixes, portability fixes and other modifications
+derived from the Public Domain or from the Copyright Holder.  A Package
+modified in such a way shall still be considered the Standard Version.
+
+3. You may otherwise modify your copy of this Package in any way, provided
+that you insert a prominent notice in each changed file stating how and
+when you changed that file, and provided that you do at least ONE of the
+following:
+
+    a) place your modifications in the Public Domain or otherwise make them
+    Freely Available, such as by posting said modifications to Usenet or
+    an equivalent medium, or placing the modifications on a major archive
+    site such as uunet.uu.net, or by allowing the Copyright Holder to include
+    your modifications in the Standard Version of the Package.
+
+    b) use the modified Package only within your corporation or organization.
+
+    c) rename any non-standard executables so the names do not conflict
+    with standard executables, which must also be provided, and provide
+    a separate manual page for each non-standard executable that clearly
+    documents how it differs from the Standard Version.
+
+    d) make other distribution arrangements with the Copyright Holder.
+
+4. You may distribute the programs of this Package in object code or
+executable form, provided that you do at least ONE of the following:
+
+    a) distribute a Standard Version of the executables and library files,
+    together with instructions (in the manual page or equivalent) on where
+    to get the Standard Version.
+
+    b) accompany the distribution with the machine-readable source of
+    the Package with your modifications.
+
+    c) give non-standard executables non-standard names, and clearly
+    document the differences in manual pages (or equivalent), together
+    with instructions on where to get the Standard Version.
+
+    d) make other distribution arrangements with the Copyright Holder.
+
+5. You may charge a reasonable copying fee for any distribution of this
+Package.  You may charge any fee you choose for support of this
+Package.  You may not charge a fee for this Package itself.  However,
+you may distribute this Package in aggregate with other (possibly
+commercial) programs as part of a larger (possibly commercial) software
+distribution provided that you do not advertise this Package as a
+product of your own.
+
+6. The scripts and library files supplied as input to or produced as
+output from the programs of this Package do not automatically fall
+under the copyright of this Package, but belong to whomever generated
+them, and may be sold commercially, and may be aggregated with this
+Package.  If such scripts or library files are aggregated with this
+Package via the so-called "undump" or "unexec" methods of producing a
+binary executable image, then distribution of such an image shall
+neither be construed as a distribution of this Package nor shall it
+fall under the restrictions of Paragraphs 3 and 4, provided that you do
+not represent such an executable image as a Standard Version of this
+Package.
+
+7. You may reuse parts of this Package in your own programs, provided that
+you explicitly state where you got them from, in the source code (and, left
+to your courtesy, in the documentation), duplicating all the associated
+copyright notices and disclaimers. Besides your changes, if any, must be
+clearly marked as such. Parts reused that way will no longer fall under this
+license if, and only if, the name of your program(s) have no immediate
+connection with the name of the Package itself or its associated programs.
+You may then apply whatever restrictions you wish on the reused parts or
+choose to place them in the Public Domain--this will apply only within the
+context of your package.
+
+8. The name of the Copyright Holder may not be used to endorse or promote
+products derived from this software without specific prior written permission.
+
+9. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+
+                                The End
diff --git a/fookb/Makefile.in b/fookb/Makefile.in
new file mode 100644
index 0000000..a1c0ba9
--- /dev/null
+++ b/fookb/Makefile.in
@@ -0,0 +1,70 @@
+BIN_PATH=@prefix@/bin
+SHARE_PATH=@prefix@/share/fookb
+MAN_PATH=@prefix@/man/man1
+
+# FLAGS=-Wall -g -DDEBUG @DEFS@
+FLAGS=-Wall -Werror @DEFS@
+
+GCC=@CC@
+
+INCLUDEDIR=@X_CFLAGS@
+LIBDIR=@X_LIBS@
+PRELIBS=@X_PRE_LIBS@
+EXTRALIBS=@X_EXTRA_LIBS@
+
+LIBS=@LIBS@
+
+# DEBUG
+# DLIBS=-lefence
+DLIBS=
+
+fookb: fookb.o params.o images.o sound.o opts.o globals.o
+	${GCC} ${PRELIBS} ${LIBDIR} ${EXTRALIBS} ${DLIBS} ${LIBS} -o fookb fookb.o params.o images.o sound.o opts.o globals.o @WUTIL_LIB@
+
+fookb.o: fookb.c fookb.h params.h
+	${GCC} -c ${FLAGS} ${INCLUDEDIR} fookb.c
+
+params.o: params.c params.h
+	${GCC} -c ${FLAGS} ${INCLUDEDIR} params.c
+
+images.o: images.c images.h
+	${GCC} -c ${FLAGS} ${INCLUDEDIR} images.c
+
+sound.o: sound.h sound.c params.h
+	${GCC} -c ${FLAGS} ${INCLUDEDIR} sound.c
+
+opts.o: opts.h fookb.h opts.c
+	${GCC} -c ${FLAGS} ${INCLUDEDIR} opts.c
+
+globals.o: globals.c
+
+clean:
+	rm -f fookb fookb.o params.o images.o sound.o opts.o globals.o
+
+superclean: clean
+	rm -f Makefile config.*
+
+superpuperclean: superclean
+	rm -f configure
+	rm -rf autom4te.cache
+
+hyperclean:
+	rm -f config.*
+
+hyperpiperclean: hyperclean
+	rm -f configure
+
+install: fookb
+	mkdir -p ${BIN_PATH}
+	mkdir -p ${SHARE_PATH}
+	mkdir -p ${MAN_PATH}
+	cp fookb ${BIN_PATH}
+	cp 1.xpm ${SHARE_PATH}
+	cp 2.xpm ${SHARE_PATH}
+	cp 3.xpm ${SHARE_PATH}
+	cp 4.xpm ${SHARE_PATH}
+	cp rus.xpm ${SHARE_PATH}
+	cp lat.xpm ${SHARE_PATH}
+	cp boom.xpm ${SHARE_PATH}
+	cp beep_spring.au ${SHARE_PATH}
+	cp fookb.1x ${MAN_PATH}
diff --git a/fookb/README b/fookb/README
new file mode 100644
index 0000000..39bb262
--- /dev/null
+++ b/fookb/README
@@ -0,0 +1,8 @@
+Icons was submitted by LionN <[email protected]> except En.xpm and Ru.xpm
+submitted by Andrei M. Soukharev <[email protected]>.
+
+USER GUIDE
+
+Left click - next Xkb group
+Middle click - previous Xkb group
+Right click - exit
diff --git a/fookb/README.russian.koi8-r b/fookb/README.russian.koi8-r
new file mode 100644
index 0000000..4129486
--- /dev/null
+++ b/fookb/README.russian.koi8-r
@@ -0,0 +1,7 @@
+***** üÔÏÔ ÔÅËÓÔ ÎÅ ÄÕÂÌÉÒÕÅÔ ÆÁÊÌ README! *****
+
+åÓÌÉ ×Ù ÎÁÛÌÉ ÜÔÕ ÐÒÏÇÒÁÍÍÕ ÐÏ ÓÓÙÌËÅ, ÐÒÉ×ÅÄÅÎÎÏÊ × ËÁËÏÊ-ÌÉÂÏ ËÎÉÇÅ (ÍÎÅ
+ÔÁËÉÈ ÉÚ×ÅÓÔÎÏ Ä×Å), ÔÏ ÉÍÅÊÔÅ × ×ÉÄÕ, ÞÔÏ ÉÎÓÔÒÕËÃÉÉ ÐÏ ËÏÍÐÉÌÑÃÉÉ É
+ÕÓÔÁÎÏ×ËÅ fookb, ÐÒÉ×ÅÄÅÎÎÙÅ × ÜÔÉÈ ËÎÉÇÁÈ, õóôáòåìé!
+
+äÅÌÁÊÔÅ ×ÓÅ ÔÁË, ËÁË ÎÁÐÉÓÁÎÏ × INSTALL.
diff --git a/fookb/README.russian.utf-8 b/fookb/README.russian.utf-8
new file mode 100644
index 0000000..4a6cd2b
--- /dev/null
+++ b/fookb/README.russian.utf-8
@@ -0,0 +1,7 @@
+***** Этот текст не дублирует файл README! *****
+
+Если вы нашли эту программу по ссылке, приведенной в какой-либо книге (мне
+таких известно две), то имейте в виду, что инструкции по компиляции и
+установке fookb, приведенные в этих книгах, УСТАРЕЛИ!
+
+Делайте все так, как написано в INSTALL.
diff --git a/fookb/Ru.xpm b/fookb/Ru.xpm
new file mode 100644
index 0000000..68b66bf
--- /dev/null
+++ b/fookb/Ru.xpm
@@ -0,0 +1,79 @@
+/* XPM */
+static char * Ru_xpm[] = {
+"22 22 54 1",
+" 	c None",
+".	c #005B77",
+"+	c #005D79",
+"@	c #005E7B",
+"#	c #005F7C",
+"$	c #00607D",
+"%	c #00617F",
+"&	c #006280",
+"*	c #38849B",
+"=	c #5596AA",
+"-	c #006382",
+";	c #38859D",
+">	c #C6DCE3",
+",	c #FFFFFF",
+"'	c #5597AB",
+")	c #E2EDF0",
+"!	c #006583",
+"~	c #AACBD5",
+"{	c #5598AC",
+"]	c #006685",
+"^	c #AACCD6",
+"/	c #71A9BB",
+"(	c #38879F",
+"_	c #1C7692",
+":	c #006787",
+"<	c #AACCD7",
+"[	c #5599AF",
+"}	c #71AABC",
+"|	c #C6DDE4",
+"1	c #006888",
+"2	c #559AAF",
+"3	c #8DBBC9",
+"4	c #006989",
+"5	c #AACDD7",
+"6	c #E2EDF1",
+"7	c #006A8B",
+"8	c #AACDD8",
+"9	c #C6DDE5",
+"0	c #1C7A97",
+"a	c #E2EEF1",
+"b	c #006B8D",
+"c	c #71ACBF",
+"d	c #E2EEF2",
+"e	c #AACDD9",
+"f	c #388BA6",
+"g	c #559CB3",
+"h	c #8DBCCC",
+"i	c #006D8E",
+"j	c #006E8F",
+"k	c #006F91",
+"l	c #007092",
+"m	c #007194",
+"n	c #007296",
+"o	c #007397",
+"......................",
+"++++++++++++++++++++++",
+"@@@@@@@@@@@@@@@@@@@@@@",
+"######################",
+"$$$$$$$$$$$$$$$$$$$$$$",
+"%%%%%%%%%%%%%%%%%%%%%%",
+"&&&*====*&&&&&&&&&&&&&",
+"---;>,'')>------------",
+"!!!!~,!!{,{!!!!!!!!!!!",
+"]]]]^,]]/,(_>,](>,]]]]",
+"::::<,[}|}::<,::<,::::",
+"1111<,23,211<,11<,1111",
+"44445,44,6445,445,4444",
+"77778,779,078,07a,7777",
+"bbbcd,efg,dfg,,h9,cbbb",
+"iiiiiiiiiiiiiiiiiiiiii",
+"jjjjjjjjjjjjjjjjjjjjjj",
+"kkkkkkkkkkkkkkkkkkkkkk",
+"llllllllllllllllllllll",
+"mmmmmmmmmmmmmmmmmmmmmm",
+"nnnnnnnnnnnnnnnnnnnnnn",
+"oooooooooooooooooooooo"};
diff --git a/fookb/TODO b/fookb/TODO
new file mode 100644
index 0000000..7a539aa
--- /dev/null
+++ b/fookb/TODO
@@ -0,0 +1,15 @@
+To find English-speaking editor for all documentation.
+
+??? WINGs-based config utility for fookb.
+
+[This is a place for your suggestion.]
+
+[XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX]
+
+There is NO PLACE for different Xkb groups for different windows. Xkb group is
+the property of X server, not window.
+
+[XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX]
+
+There is NO PLACE for putting icon in window tilebar. Use Window Maker; it
+provides such facility. I'm doing nothing with windows.
diff --git a/fookb/VERSION b/fookb/VERSION
new file mode 100644
index 0000000..fcddaf1
--- /dev/null
+++ b/fookb/VERSION
@@ -0,0 +1,70 @@
+3.1
+
+An idea (icon size is now configurable) and two icons from "Andrei M. Soukharev"
+<[email protected]>.
+
+Now I use subversion.
+
+3.0-unstable
+
+configure.in rewritten almost from scratch.
+
+Starting from version 0.70 Window Maker does not contain libproplist anymore;
+so fookb now DOES NOT SUPPORT libproplist. You will get the same functionality
+with libWUtil (part of Window Maker).
+
+lint is still unhappy.
+
+And the most important thing -- author's email was changed everywhere.
+
+2.21-unstable
+
+One more step to the lint happiness.
+Some #include:s added. Why did it work before???
+
+2.20-unstable
+
+LICENSE was changed! Please read.
+
+--enable/disable-libproplist/wmaker options for configure.
+Some cosmetic changes to make lint happy (he's still very sad).
+Makefile.in was simplified (of course configure.in has some complex changes).
+
+2.13
+
+Seems to be stable version. Minor cosmetic changes.
+
+2.12-unstable
+
+Final (I hope) fixes in Makefile.in for non-proplist version.
+
+2.11-unstable
+
+Small error in Makefine.in for non-proplist version was fixed.
+
+2.1-unstable
+
+libPropList-free version. Command line parameters. X resource
+management. ``configure'' script. I hope non-WindowMaker version still 
+work?
+
+0.9
+New icons for Xkb groups. Nasty bug was fixed: fookb plays sound twice 
+if you change locked Xkb group with mouse. Documentation updates.
+0.8
+Fookb now can play sounds.
+0.7
+No more #define pixmaps. Configuration file in use.
+0.6
+No more #define NUMG
+0.5
+XpmReadFileToImage error check added.
+0.4
+No more ass. Window Maker support happened. I hope fookb still work 
+w/o -DWMAKER.
+0.3
+The ass. Intended to be Window Maker support.
+0.2
+Support for all 4 Xkb groups
+0.1
+Basic functionality
diff --git a/fookb/beep_spring.au b/fookb/beep_spring.au
new file mode 100644
index 0000000000000000000000000000000000000000..abdd9a2a06d99d2b32ac7f2bac1fa1e0b0b6044f
GIT binary patch
literal 8612
zcmaiZNpGu4*Y10N$+y4LWhb%Y^mg1Q?t57lLI@!ST!{hFWpD@ebM|}A?$g-m<DSG$
z+&4l9A%qYE1`HT5WXLUNH}Co0+o8l%t@W&@)>^fy3hb@_`9J>qKmPHLHx9hu{lER=
zAO8{kc88zvqNob#NF5|UvF3f($KC(<HSpJItvav0U3;^Myn9-puGwApU5n;6-u&j;
zj=cMLdnI0N4DLTwtD!e<{?p|SREKi^%6j+L<zMG_so&nbS>HGEWsi>%I)DE8?$bqc
z?__Oj;a+!b2hPE}_tl#n_wT<2gy*}L!(BJ^QhxW>88<4X-|W-Bz1`hv5aV~}pW4yP
zFI&cC<7{;BwvyaEe^*sU56d^dE`MKpyQRk4pFe!9_kY`P33KVTp4px3Cf>d4<!Yai
zHyE<vdRq?ns_#zk8gIAVX|(rvcCbcn?bO~`(U-HU|C|c0KlVf6ZtWd@db{>362+3A
ztJ^2odj8#?*>UsB)^9?2!*%3JT)bziAG>edz<JxN`H$td?vL-#_{|66t$erb-VJR%
z{AtzxdFgsnCg0Mnz)9o}-^X|N$=W~V9i-uPZ@V@w?z>liR{d}2Emz~dQaJdXx;@v-
zFQ-nTUP&Cf-aegA9zK8JehKbw3Y{PbzX{d5{rUA7uV3emu){yNhhqKg!(biR-_W^`
z6aF<mdTK4sz9=VWolSD{?PWSqJN*>#D!%BA8^_$6cJ3Z1e>N*$rfaPCkC{d_PQT0!
zXSDArLfHOa@{yrKpVh$S*;YBVmKf90#mBY}^`AH=3(ft9FLINa)N1nixjP?TD}vt1
z>4$m5Dwz3j*ID29r02!f*HiB7V!ybt9_XvNe}0%n157^~zDL$QuH>9{&T2QOp>q0n
z7d8vm|7t!4i{0hHyuY>mhmRSCZ!fOSAAq*CmKz5K@6WE{y9!5A?XYKUvxo*qx0j!n
z=5+fvznL@sc~-;ym1d&dKib$>vy0Kk``U+*qI-WqnRxTlSvBI9?!ryY=ULmZlM?p)
z@x8CDy!DVs_TlW5js$Pn(TyJ1e;ZC1QrUXX`(K#fH>qI!^7O+j7HRpLH%i9mPK6bX
z>3(?eb)2=sh+l5JKkfUv5r6+yOuM~DF=bLdJIyj}&&J+iTDbXqfsU3%t$L|#Z~DCc
zhgjoF`{c=3+uT1YfwPOp+#PB)P9Gz1q3krsMD?msX@)ko5AxZ&%gZ>2>1wUH*xrh5
zKbgqGSrzMKHeDNmm{dC}4_F7Z?mIzG$UA?)nxDSNP06*fwtq<UKaLHDK^Dy_;ok9w
zJ3zbt*jQe9H-Fu6g^>^EDm^XB^UJ!k7uf@xGdnxwn#|tX=H^a>`+A2Ng^JaBxH}H|
z4<{Y1b#^wYmv`T~T!9dGR-+c_qQ*VmhXT7tW(yg8z2w@~#)fPEC|3W{S}x)VL95n-
zhua5ziKu_N=uBTWHaGY73e!KI2Wr^20F8R;X#c>OGdG`VgHeBdW5c%-=H6fT+su)M
z^L56z>n?M$`00$3>VDVe{%)XrR&BJ!Js=mkZsN!jVIJ}J`9p6u*>SnNzCiclqH`nq
zEIJG>b0M#fYFoA1!@z0nZEpG_K6`fAy0|)t$$|7WbrK5s=ga%+=S!zi+*~_|dWpig
zc71UhV2Zo5Tf1=V54<qdUj5b(M;m`^9~>gFdG)mVIafIH76wmN<nSOb-YAXgo!mNH
z-`L(y$E?=p>-TNvz<&@O%@Y3YkXG%y)UI2_X>fgaCz3O<^H29*swMxfYqxh_KJg#1
z%^S7exYP)8+r1r0jVj>lUG;2L*SiPp4oJk);j7MLy?Swy6+K(K$?^c3-F&^T-sU{N
z1P(JCLsbax%YAdyJeOi6WZ&%#Rc15m>V50-Mn3$_>+y164iLZf_@FdS+cX<K_Uw6L
z#voV!@^XKFN4^cad}Lk_90Z%(NR6xO2?zxDwml)@c`lsS@9rM1clSISM<GdmoGQmc
ztJAu?n&u)$I{|NyZO>+x?R%+RKS-@_dy4r%e@Yhx{$*IJbt|d8!;sI9_tpFR&iUf@
zHk;qtTaP6L=UHG=PFs4cpEoM8or9x@2jgcA=i*L#=ni9{b(afCXL<_*Zw=cIwe!wP
zdT*!VIYPiAQhQ*>w`X+0?fN~E4KJJR;`~J-+oz|samp3+{NasreEW`52DQ7#xc`se
zc6@&GuAz*(JlCn64q6`1(eJx%Mjbw1wfURVi?-ug-#qkWo}Ou2q`HIJdA)W>cn;j|
zV+vEA7V`MKe)AAnU-xc>nvG|HqGi1L_*Ezuy@8FLBO;EAqExS4oHmX;ha2un?SA19
z1$;q$nvPMexaHnE_C^?DIJv5xe$K@XUG8A3{p?^tC7k?RZyMaAXMH>9IVq@|P`mnc
zMkOL1cXWRD%pMnyx7xLi)TvH)+^~E?m?J$jzI+;I0()BrgLBS~u|8kxQqvyJg>X2$
zu@lRO9<CnGK6ir$+nz0<_86R?Tl7r>6)rhEJ@I%$CBIQ$*1uFIhuiCG{?kTg&TP%A
z*Xh~a<(?CDZG|IVt~0Bied0>{t~K<sFj<_0nNxrczc$0t_WGW0KQ=aRYM;)Zi-()*
zO+tB0?)kg4IQdd#Zblpa=s^&Tb=qHUYZA7$+1@R-Q?8<HRGMcU@@%+PEbkyOi9N4f
z&}#U1sq7!j4t7MbSpHgd?ps?P<S3P%FmSt`J?g*m()PF=J_H~az4>Cct6OU)d!C5K
z^v?g(hyG2m5NgkSdo-J|&ufc^ue+gq&=oc{<m<Jm>~9-M`_A?RDp+jzr74_Udk^!W
zEu`T*f9XDjx2N(!=ON;a<kQUc!}HxGc5ocpcQ3ed_41tb*wdXtE#`?7^O5_j-gT|D
zO_laG$|lKOoIScG^bv7x?j0is`9@=Tf3EDXdG}j2i*u(JkpnS(AYKH5cw!H)iF0_K
zgq_l6kmPe$pRP9}vVXg397Y`fVYBT_-d_cXX~-3Ri6*O`d5?nZi5IMgB|Z837RG%n
z`yF}DZ5S!$udfHWQP?xMKSCyfL-AUm&pMcQM(uhfAzJ$=959B*e{cFLl;7Wc;M=u&
zpe!A4dL{eh`ZIUP#kbUZW7kA>OZN|Y{elf?(zXkm$DPkLpZanT=v;gA#KA68vqsfg
z?&L}L?Dqz~+s~aHjrQzUheyd$*wgMB{m&Pn$|$+L#U(-ye?9MyBkn?tKg4iv=9-t9
zAJm9V`!*>$g8lV1FnRQDsn_06KCx-EE%wue9qyZZZq*45|GL??`X2aX6Y=Zp=CC1Z
zpTFW^8`;?+i~|1tKBVeFceff1*`&L0CsWn0;D|2zcCvJWsC_9FXUDF<10JKCXtdc7
zZ%?c7VkEL3%2~K_afZ<H$yP*!PAL9hvmtlC*3z*^z#k|M1iV(&(7wLy$MxOx%y)3z
z#OI%+bT}J~#L2}xGpq5j-r#7<7zWLDIlw*S$@3OUBOV`%M0>zH`1%;W$!xl3lOXp<
z7ak^<Q5_4tv?oUe{9O8|d)h8u&9^o!DKzP#75*8q+VyrT>p5VKL*kUlTz_7wos@gS
z$N{}u$fyEl+*e;7$>4Uu2|68cEPR#oJmFifu&CKmO18qF(<<Ch(XFge^1k$p*y(v8
z(X-s1$~-gg=ut*1fZAQJejnTjFne3QR?Jsz6f+l(F25y)79F&x$XVr%<J!&GdYIYv
zn^&pi^+O?fkv{NRM5H|irVjG`PUE@NK;7;{!0TMK!^6u?YRsp6iF|~YEm1ZpWBJnN
z`i=C4JDuL;Yuqt=HpBT*?kF6H15JKW7(x-AAGq0h<n2~5?Cw-2q5e5RiJd?&5==Ap
zbY@mqVmZE>a<#DALq|N_T0iuBXBLf4Eb0p&IaKJ`2x-VleerU^9PYAdmvlV}_wJ^N
z>2or97%!(VwJkdZhUR+X<^|y{mi=!2&dCXPQf?`iE3l3$n9yI!I>NM{jbTmq9M5BJ
zqe+IXdztDj&67|#TNrk@xnhJhiH6S)-YpT^^EJE0(16PbqgE*&N`$p(ug8rdjHRZB
za8U-O;Fi;TiZq&3p?Oy<kkP}+3r}|D6{9-|373wW5WR<Xy%MW)OX5-rXA1k<gFA%p
z$RWE!RIcv!4lJK5+?gi0dj)Nu+7w(V`(w=J24yg_3(fP<v54<)6KJZ`USf;d)RvrG
zFP6uL1A5r6IL&LqUL?JF5RGeANqQLCs=6OV7sABCO*=NPH5qN}-zKDZy04|p)&l7*
zc6=F%d6{T~MaHf_S&P=u7AD8Sb@^ma?<b##{Uf4;iNF}ibmx8yIN2MWBz)RDLe~bV
zmJ~g}%TWLdI$PrF4?^qt$nSs%(@h_@n-%d1-DcHFS*=i|Jn_&_JJ-yis_f?n!ttV3
z$v#p(zbfLmxd^7Uwyr#kvl(t0VD(h=>IUIolH0*0k;}ED5Z#&6?FS<PxJ-UzM^KKj
zMtb@%W6naAIU1YSXD}lt5e|<``zX%MaA#3EJl4f9HFk~$*Min;M|}e<Sn20;t@>2c
z3x02=70JytZ>lk1dpC={h2Y0Wc&vLr6hw3P09h8(V<nvJ4$X&}nUeM3$)pmMxTkrS
z&bpbWXtFQv1vtGhJe!A_%r3FS!b7g7b@|kOZV`+0_;7@qX2;iTXweHM##qv5PqgWC
zd7l;HxutM~&$U9gozHj3l%Z!)vAY;9`;m}thH~=?baZjj9OUy|JGU4Va$u-V<RKnX
z)im;AhKq9}`O?azx^_xciU~#47K5i^$dryV1LU{>UwGTY0zS4+CIVSlYBOp2SoV`l
zHaeE@_<~Q3?#!sVjOP_QX-d2}=}r<++YS>0IzWu^^zGdV(E$NzlrPMen$&5r2ZR_e
z4f#+?wPMB<5q{D_xhFKd80u={UJu2POj0xLa@Ld#t}d3;Qlv0P3*)){{3O`OQGle%
z_>c|q9ZJ4zpJ>u?$kcOIPuAptKn3%aQU)0~+2x~--?uZA9QRH7aq+=O8-3Co#eHQx
znyV{mwZ+66*Xfi*?wehz&=)djQ?Vx{Z$vSZ9H$j#AiZoEr0%4%4p~|1ra92<0h0&;
z8_}MJMbSaaa(5`QSUiX`U^!RIh9u1TY&e3Yl15J<G*uT{oLQ#xk-Ul$a}i-D(`DC*
zc+pIpYK`RCh(ML00ZbwkW=MS85zXZovtGzOKY_)jx13{4u>#+nmsrZ@b7X4TTpWWD
znrpX0VO{XYI(-y<<da5sj!x#$^a3P7myHS|E7O3HYKAZ0Z&r#u>X>LRoW;0sgjp%P
z-!9?9848hp_^=Sw>n|nk1<xz(A>ip?m_*VFr&{6+FY00<jAHrhygoGKXSO2tENYzh
zrr2cSzDa_X5{h+H|1p_M=DE(CAB@X!Yics%QYg;k$zGE(7EV0Z62oz-6e+fw%X!}j
zWjV9hTORqR`4C?>V~a&0-RF`Cn(zmnI<nd4PmqyDOgi~Ak4AEJH4jr6Uv|W3gpP)&
z_Om<`Dv_mvD=juGtC8X(UnZZNw8gz7QffKGG>6uB91Se3f?79XiV-S~rik_IWGlU1
zB`sqCthE4KCl)j1j9RCHrXGyX7KFnyS+)KcN0r0@fKTTQC0w2oxiMEn7_y`<bjt#z
za%W7kdg+i5oMp35Ec6^bwkn2|&&t3M1SDlVskBW8j#(0)H7sksq?M7);JFk*;rw7y
zX1dFaHBWj`J4?5noG~SpriA5)LX=U2MNiN3J=z#14k}Ed(2+1}!rBwrH0;s|<7Dw?
zEhn`NtZxJ|^l`kuFx9a`3Ny)K8Jxy*%%pU@>{jx1;;5`ea(x3H=e9L|;){fxDZw+9
zr;5^Z+3JQ40UKxfRDl94wRq+WEOUbLl-#A5?xZLz!pCMTr>nS0sSdsvq7+}LXx8uv
zL%O}#oDZH5sVu9iYH2xf_%4~0bW$_=ON{C8SZjKeEr*XKm;uy~^ikU`Gr6*3Jink+
zhe3LF0?Qxg%mPDTwrUQi@L>RP%Iu?3=yup?3yG6d1hW`2g{!p5@u&h!6g6gOk(*%M
zc{#&oabSs9iZL<inF8>O3dDLeL-sf?wULAr&l-|w5f+{2p9s^zOkh8WSz<x5eIW&q
z1WM1B2rHuKv+9txgHzK%MIV;w(K3aX;yD}$7N)4Ez^eqJu?e%GWIK!O=n*5aRGy|3
z2G<OV*EOwBv6JZdC1nmNva6NMOa^C6fdwL?&J{&1GgcaHkFxU-%0AO&CX<HgShAK3
z)P=-b6`M-pO{qK<O6m(uG3gYBX%gjFm?29tgW6OS>yYKSP%=2cSlLvLloWa?BGgPX
zEs7#D%9BdSQl91jqE_N5T2_gPkpeT;;BibZAlw)i7I~qk1CdA;fhk&ZDvt>O2xeB*
zqM)Y~7Sob5mPiU@a+UEC87=a}*fNI8l43@gu|toY%;E)@OZKFMvt@B=rUixIpUB*t
z@i9*<{;bB(o<h#mSj@2V>a&vMc|v-W)219f29u&bCM&`~WS3Yv%T^G6LOKF%OCo}Z
zmE-J^Hl9Sn91CD7=aX1AuZ(0%Vo@-c3EQAT_*|Bspi8{Ts!H~xj1tz%lA%pN%3~d4
z=jo6<#jGbhW-0{AD~SSvV_>w@HOZtG3k@9#;ViG>{XwdtJ0*KmPA1U`Gw$(*C6l%c
zCuKo~QX`QZjELfbC&7Y=Cuj`gC!(X9G^N2qM`MD~g+UHF<<b)5l%W%+?F2O#8qNz^
zAf{AKUlt?Ul#x5*3@uTpK1AY}lgCC+2AJC!0!GI4kub4vSdJ^A3X2Fswtzv9Jk>M>
zAjEt^8Dl$K6e|_@&|MLAOdA<7n#z^+f#HY}R+-5ZGmzt`iQr3^bje0&$t>X{l5qr0
zmlhVG2_&(Q&>~A#q_F~Y14mVrB&kvwS5#A6+NdMa)Pm3CX{00!WK+{<N)iFalyenT
zvc!dj$V-A)O4$-!Ci#H^cO2A_d4{2i8B*0vUZv<IgDE_Tv$?`@Y1*QWnu<U%Ou0Zx
zjyY#Bu!LLO5-0UyksoW0Y*3V_F$|65FvZdZ6Ej4UQ6-9|i<l|thDFi3q&qs3tJt<Z
z<twyc6Y7#8)N+QIii}|p_+kM}6U$P-mZuD=IXJ5TpjQx5(cndpf<QPjlVfcPOc+Aa
zXch`t9Ai|$GF1jFRLYQ(xWv-4MTwdNYN=8vRmw4A8LslOJr!}AP7yGDW6BZ$rO38r
zqGd|aXj!1C*_6<vQW?V>ld|D1D_X1tPzor9t!b#U&`Fsrpe!RhwCSKa4;%%_QI4vs
zibdK>$C8K&MbN70=qzOz@aGGZ0G4SPI)KZ-*7OR-V1T!2m>}JB4EPHNVM!JMfY#vl
zO5+rUDjKE1(FM&hXtY2nHc)g-S(>Us5+rV_l&w>a0&ChNQOW>7We`(_?hyo0vEWKF
z;rNEG+6)GhW@xZlG=<klhc2i(VH$8iU>hbVlcEI__`;+(rexC;3N+f*SVv`8;1KX7
zNi!rFdS%Hv11yYES;nv!%d{=qDOVhgvUma$RmX%=4%2VhnnhW<1st0!!+jV?3NSQT
z)g22IEtPR(2O3+pX;n%<XH^+zWZM*N+%8m1n^8;}8XK0yRB(&77bfaRmccWCsW1j>
zNDQkPj;=8{%GiuCw{T5mC6R*PPBJFY71q`*Th#zorW{6}Q-o&GlEJcgnYLI%WgWvb
zb=_dfltsaHN*g+*t2Ap>5MVjbEz{Bs7FH%k*^DD;z_KjUVHkj-4q#0K2B+J=P$|;1
zQFG4FB8!`F!YvYaAXd{D(`0E=XBj}zmT1@}OR**_Tu`PR)|52>{eyd<Lplx)coi59
z!5B7cYB<i=tgbn>X#>;NOonA>OEPWfyJ0vMTmS@MNJC%E3u(cku^F1AG<nrvYzG(y
zi_(CxWr;O37EYiI7>c4bxKZd1tUyT2pg25cO!zo!7=VQ{Ps3HtYMO573}eCYOo{<e
z0gpHxDrw7Dg-!uo)uGeSe@52`%z^a`iw;f|ZNth13_+W!s_705b8ExOVho42G{9Px
zL&0ch;E(`P=_bqAHgI767{`W{WI-Wx+|g{?0)!3g1D?ykpcuuX8IvGPxKU_2%Q~w$
zVBiHz&9GROwH*^41q=;f&@eTy(sT^~lO~}9hT<@`VFTTyC;$^<*bu<N!2qyW7`?5_
z1~5$4HVuk}(ZkW<#5=&YpeK;jatu{xS3T%DoJGiO!a9dj2%WS|m=xRA4d7S~3t)EO
za$N-iw+@@N3>YR&L!hZytYfnP`oS^`Ya7sL6)6nYhUr_yquMMKK}$HzPzo7f7s}wc
z07^_a!;r&*vu4t)<3J8`6$lFx4u2$tW$dh$E`SMzelaVV3H^i|aA24V8zQ0C#tIFc
zg=vTG*l<QxvBLf<m+e3j*o9`R{5bH>g!+{j7NPx}-hf@`8g%fLYo%Qcv;soWDlA9~
z5s)70Ajt~70<SV^f>lV6cIDc41Pe!8ajtIgAHeWlU4q6?yrO`J@6Fd6?5$GqP5BCd
zp8n{)lC1!6fY<Bw_BX(HPH6ERutL4+U&n`??-t((zVrPgc;#GK{Am1u|1kV1|G~ea
zTLtB;GO+5b!dyiP+p8q3M6VI9LW0+-zjEli8cHDwtc2fGudN>+uh!qSKN0`xf8+WA
ze!ahr{$28aQ2#BkAH#i5!S{@QBY$=7zwpA&E8V}SSKS}B-=*OD9b*4??RVx^%s1^%
z^v}jh{(YcV+)u?%t8a*(@^6iwPJfsGSKDtf|IP6KqK1eS=-;%jl&|6ZO})Z>yI#@%
s>i)a+t7m^x|GWMh$=?94d_Txvo%y#M|4a9?^*8hXFaJ-Y|99hm0Y@3g-v9sr

literal 0
HcmV?d00001

diff --git a/fookb/boom.xpm b/fookb/boom.xpm
new file mode 100644
index 0000000..ca3b276
--- /dev/null
+++ b/fookb/boom.xpm
@@ -0,0 +1,158 @@
+/* XPM */
+static char *magick[] = {
+/* columns rows colors chars-per-pixel */
+"48 48 104 2",
+"   c Gray0",
+".  c #080000",
+"X  c #080800",
+"o  c #100800",
+"O  c #101000",
+"+  c #181000",
+"@  c #181008",
+"#  c #181808",
+"$  c #211808",
+"%  c #291808",
+"&  c #292108",
+"*  c #312108",
+"=  c #312908",
+"-  c #312910",
+";  c #392910",
+":  c #393110",
+">  c #423110",
+",  c #4a3910",
+"<  c #523910",
+"1  c #4a4218",
+"2  c #524218",
+"3  c #5a4218",
+"4  c #5a4a18",
+"5  c #634a18",
+"6  c #6b5218",
+"7  c #735221",
+"8  c #735a21",
+"9  c #7b5a21",
+"0  c #7b6321",
+"q  c #846321",
+"w  c #846b21",
+"e  c #8c6b29",
+"r  c #946b29",
+"t  c #947329",
+"y  c #9c7329",
+"u  c #9c7b29",
+"i  c #a56b29",
+"p  c #a57b29",
+"a  c #ce6b31",
+"s  c #ce7331",
+"d  c #ce7b31",
+"f  c #d67331",
+"g  c #a58429",
+"h  c #ad8431",
+"j  c #b58431",
+"k  c #b58c31",
+"l  c #bd8431",
+"z  c #bd8c31",
+"x  c #bd8c39",
+"c  c #bd9431",
+"v  c #bd9439",
+"b  c #bd9c39",
+"n  c #c68431",
+"m  c #ce8c31",
+"M  c #c69431",
+"N  c #c69439",
+"B  c #c69c39",
+"V  c #ce9439",
+"C  c #ce9c39",
+"Z  c #d68431",
+"A  c #d68c39",
+"S  c #de8c31",
+"D  c #d6a539",
+"F  c #dea539",
+"G  c #dead39",
+"H  c #e79439",
+"J  c #e79c31",
+"K  c #e79c39",
+"L  c #e7a539",
+"P  c #e7ad39",
+"I  c #efa539",
+"U  c #c69c42",
+"Y  c #ce9442",
+"T  c #cea542",
+"R  c #d6a542",
+"E  c #d6ad42",
+"W  c #dead42",
+"Q  c #dead4a",
+"!  c #e7ad42",
+"~  c #e7b542",
+"^  c #efb542",
+"/  c #efbd42",
+"(  c #efbd4a",
+")  c #e7b552",
+"_  c #f7b542",
+"`  c #f7bd42",
+"'  c #f7bd4a",
+"]  c #ffb542",
+"[  c #ffbd42",
+"{  c #ffc642",
+"}  c #ffc64a",
+"|  c #f7c652",
+" . c #f7c65a",
+".. c #ffc652",
+"X. c #ffd65a",
+"o. c #ffde73",
+"O. c #ffe773",
+"+. c #ffe77b",
+"@. c #ffef84",
+"#. c #fff784",
+"$. c #ffff94",
+"%. c #ffff9c",
+"&. c #ffffbd",
+"*. c Gray100",
+/* pixels */
+"h M C G ~ ( ' | ..| ..| ..| ..| ..| ..| ..| ..| ..| ..| ..| ..| ..| ..| ..| ..| ....X.O.$.#.' ! ",
+"t h v C E  .o.+.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.%.&.*.*.%.W C ",
+"9 e h k x N B C Y C Y C Y C Y C Y C Y C Y C Y C Y C Y C Y C Y C Y C Y C Y C Y C Y T Q ) ) D B c ",
+"6 0 e u h k c v c c c v c c c v c c c v c c c v c c c v c c c v c c c v c c c v c c c k k k k h ",
+"3 7 q e C ! ~ ! ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ! D h h h u ",
+"2 5 8 t G / ' ` ` ' ` ' ` ' ` ` ' ` ' ` ` ' ` ' ` ' ` ` ' ` ' ` ` ' ` ' ` ' ` ` } ` ` W h u u y ",
+"1 5 8 t W ` { } { } } { } { } } { } { } { } } { } { } } { } { } { } } { } { } } [ } ` W h y u t ",
+"< 4 8 e G ' } { } } { [ } [ } [ } [ } [ } [ } / z u j G } } ' [ } { [ } } [ } ` { ' ` ! p t y t ",
+"1 5 7 e ! ` { } } [ ' } } ' { } ' } ` } } } ~ 7 7 e 0 3 e ` } } } ` } } ` } } } } { ' G h t t t ",
+", 4 7 e W ` } [ } } [ } [ } } } [ } } [ ' } q 9 ` } } W 5 e } [ } } [ } [ } [ ` } [ ' W p t y t ",
+"1 4 6 t W ` } } } [ } ` } [ ' { ' [ } } { } 7 c } } } } / 2 h } [ ` } } } ` } } { ' ` G h t t t ",
+", 4 7 r W ` } [ } ` } } ' [ } [ } } } [ } } 8 p } [ } [ } z 2 ^ } } } } [ } [ ~ / } ` ~ p t t t ",
+", 5 7 e P ' } { } } [ ' { } } } } ` } ' ! W y t ~ ' } ` } } 7 q } } [ ' ` ` ( v W } ` W p t y t ",
+"1 4 6 t W ` } } [ } } [ } [ ` [ } [ } G t 9 7 9 t C } } [ } ~ 1 j } ` } [ H R b _ [ ` W h t t t ",
+", 4 8 e G ' { { } } ` } ' } } ' } } ' h 3 & $ & 2 q ! } } [ } N < ! _ H L H x S H } ` ! p t y t ",
+"1 4 7 e ! ` } } } } [ } [ } } { [ } [ t - @ @ @ $ 2 k ` } } [ } e 3 W H V A a H E N N D h y t t ",
+", 5 7 e G ' { } [ } [ ' } [ ' } } } } y - @ O @ $ , p ' } [ ' } ` 0 1 8 0 n f x U U R G p t t t ",
+"1 3 6 t W ` } { } [ } { } } [ } [ ! N 0 & @ o X @ - e ^ } } } [ } } D l i m s Z J { ` ! h t y t ",
+", 4 7 r W ` } } } } [ ' } { } ~ h 6 : $ @ X X X o - 7 k C ~ } } } } ] d a s n U ^ [ ` W p t t t ",
+"1 4 8 e G ' } [ } ` } } [ } C 7 - X X .       X   o # ; > 8 M } [ } ' K A Y A N x / ' G h y t t ",
+", 5 7 e ! ` { } } } [ } } W 7 #     . X o o X X X X X X o @ 2 k ` } } } ! Y I I / ' ` W p t t t ",
+"1 3 6 t W ` } [ } [ ' } D e : + X . X @ $ & & @ o X . X X   @ 1 z _ } } ^ U ' } } { ` W g t y t ",
+", 4 7 e G ' { } } } } ! t 3 - $ @ & - & $ & & @ X X X . . X X @ 5 c ` } ( x ` { [ ` ` ! p y t t ",
+"1 4 8 e ! ` } } [ } ` h 1 & % - 2 7 5 & @ o @ o X X X X X .   X & e _ } ` ^ ' } } } ' G h t t t ",
+", 5 7 e G ' { } } } D 9 - $ $ 1 q t 7 : $ X @ @ o X X . X X . X X 2 W } } } } [ ` { ` W p t y t ",
+"1 3 6 t W ` } [ } } N 3 % $ % 5 h t 8 3 - @ @ # @ o X   . X   X X & h [ } [ } } } ' ` ~ p t t t ",
+", 4 7 r G ' } { } ` h > @ @ - 5 u t 7 7 ; # @ $ $ o X     X X . X @ q ' } [ } ` [ } ` W h t y t ",
+"1 4 8 e W ' { } } ` t - # # & : 7 7 1 : & $ $ - # X X       X X   X 3 G } ' [ } } ` ` W p t t t ",
+", 5 7 e P ` } } [ ' e * @ @ & - - = - % $ - * * @ X . . X   . X X X > C } { } [ ` } ' G h t y t ",
+"1 3 6 t W ` { } } ` e - @ @ ; ; $ % - & & & # X . X   X       X .   & k } } } } [ ` ` W p t t t ",
+", 4 7 e G ' } { } ' h > @ $ : , - > > - $ @ .       X X       X X   @ r } } [ ' } } ` W h t y t ",
+"1 4 8 e ! ` } [ } } D 2 @ $ - - % - - - @         X o X     X o X   $ y } [ } } ` { ` ! p t t t ",
+", 5 7 e G ' { } } [ / q $ @ # $ @ o @ @ O o X X X X .       X X .   : v } } ` } [ ' ` W g t y t ",
+"1 3 6 t W ` } [ } } } v > @ o # $ @ O X X X X . .           . X   X 7 ! } [ } [ } { ' G p t t t ",
+", 4 7 r W ' { } } [ } ^ q & O @ $ $ @ .                 X X X X   ; h ` } ' } } ` } ` W h t y t ",
+"1 4 8 e G ` { } [ } } } N 1 @ o # $ @ X           . X o X X     $ e ` } } [ } [ ` } ` ! p t t t ",
+", 5 7 e ! ' } { } ` [ } ` h ; o X @ O o o X o # @ O o X X   . $ q ^ } [ ` } } ` } [ ` W h t y t ",
+"1 3 6 t G ' { } } } ' { } ^ p 1 @ X X X @ o @ @ @ X X . X @ > u ~ } } } } [ } } ` } ` G p t t t ",
+", 4 7 e W ` } [ } } [ } [ } ' h 5 & @ .   X X   X     @ & 7 N ' } } [ [ } ' } [ } { ' W h t y t ",
+"1 4 8 e ! ` } { } ' [ } ' [ } [ R u 4 ; $ @ X @ @ & : 7 h W } { } [ } ' [ } { ' [ ' ` ! p t t t ",
+", 5 7 e G ' { } [ { } ` { } ` } } } W v t e 7 6 q h C / } { } ` } ` } [ ' { ' { { } ` G p t y t ",
+"1 3 6 e W ` } } } ` } [ ' } { ` { [ } { } ` / ^ ` } } { } } [ } [ ' { } { ` } } ` ` ' W p t t t ",
+"> 2 5 q D ^ ` ` ` ' ` ' ` ` ' ' ' ' ` ' ` ' ` ' ' ` ` ' ` ` ' ` ' ` ` ' ` ' ` ` ' ` / W t e e e ",
+"> 2 4 5 c D W F W G W G W F W G G G F W F W G W G F W W F W F W G W F W F W F W F W D v 0 q e w ",
+"- : 1 2 3 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 5 7 7 8 9 ",
+"$ % - ; ; : > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > , 1 2 4 5 ",
+"X o @ + @ $ # @ $ @ # $ @ # $ # @ $ # # $ # # $ @ # $ # @ $ # # $ # # $ # # $ # # $ $ $ & - > , ",
+"                                                                                        . o @ & "
+};
diff --git a/fookb/check.sh b/fookb/check.sh
new file mode 100755
index 0000000..273d5ef
--- /dev/null
+++ b/fookb/check.sh
@@ -0,0 +1,58 @@
+rm /tmp/fookb*
+
+(make superpuperclean
+autoconf &&
+./configure &&
+make &&
+mv fookb /tmp/fookb) &&
+
+(make superpuperclean &&
+autoconf &&
+./configure --enable-wmaker &&
+make &&
+mv fookb /tmp/fookb.ewm) &&
+
+(make superpuperclean &&
+autoconf &&
+./configure --disable-wmaker &&
+make &&
+mv fookb /tmp/fookb.dwm) &&
+
+(make superpuperclean &&
+autoconf &&
+./configure --enable-libWUtil &&
+make &&
+mv fookb /tmp/fookb.ewu) &&
+
+(make superpuperclean &&
+autoconf &&
+./configure --disable-libWUtil &&
+make &&
+mv fookb /tmp/fookb.dwu) &&
+
+(make superpuperclean &&
+autoconf &&
+./configure --enable-wmaker --enable-libWUtil &&
+make &&
+mv fookb /tmp/fookb.ewm.ewu) &&
+
+(make superpuperclean &&
+autoconf &&
+./configure --enable-wmaker --disable-libWUtil &&
+make &&
+mv fookb /tmp/fookb.ewm.dwu) &&
+
+(make superpuperclean &&
+autoconf &&
+./configure --disable-wmaker --enable-libWUtil &&
+make &&
+mv fookb /tmp/fookb.dwm.ewu) &&
+
+(make superpuperclean &&
+autoconf &&
+./configure --disable-wmaker --disable-libWUtil &&
+make &&
+mv fookb /tmp/fookb.dwm.dwu) &&
+
+make clean
+
diff --git a/fookb/configure b/fookb/configure
new file mode 100755
index 0000000..b5a3a27
--- /dev/null
+++ b/fookb/configure
@@ -0,0 +1,5710 @@
+#! /bin/sh
+# Guess values for system-dependent variables and create Makefiles.
+# Generated by GNU Autoconf 2.59.
+#
+# Copyright (C) 2003 Free Software Foundation, Inc.
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+## --------------------- ##
+## M4sh Initialization.  ##
+## --------------------- ##
+
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+  emulate sh
+  NULLCMD=:
+  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
+  set -o posix
+fi
+DUALCASE=1; export DUALCASE # for MKS sh
+
+# Support unset when possible.
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+  as_unset=unset
+else
+  as_unset=false
+fi
+
+
+# Work around bugs in pre-3.0 UWIN ksh.
+$as_unset ENV MAIL MAILPATH
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+for as_var in \
+  LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
+  LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
+  LC_TELEPHONE LC_TIME
+do
+  if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
+    eval $as_var=C; export $as_var
+  else
+    $as_unset $as_var
+  fi
+done
+
+# Required to use basename.
+if expr a : '\(a\)' >/dev/null 2>&1; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
+  as_basename=basename
+else
+  as_basename=false
+fi
+
+
+# Name of the executable.
+as_me=`$as_basename "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+	 X"$0" : 'X\(//\)$' \| \
+	 X"$0" : 'X\(/\)$' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X/"$0" |
+    sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
+  	  /^X\/\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\/\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+
+
+# PATH needs CR, and LINENO needs CR and PATH.
+# 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
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  echo "#! /bin/sh" >conf$$.sh
+  echo  "exit 0"   >>conf$$.sh
+  chmod +x conf$$.sh
+  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+    PATH_SEPARATOR=';'
+  else
+    PATH_SEPARATOR=:
+  fi
+  rm -f conf$$.sh
+fi
+
+
+  as_lineno_1=$LINENO
+  as_lineno_2=$LINENO
+  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+  test "x$as_lineno_1" != "x$as_lineno_2" &&
+  test "x$as_lineno_3"  = "x$as_lineno_2"  || {
+  # Find who we are.  Look in the path if we contain no path at all
+  # relative or not.
+  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=.
+  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+
+       ;;
+  esac
+  # We did not find ourselves, most probably we were run as `sh COMMAND'
+  # in which case we are not to be found in the path.
+  if test "x$as_myself" = x; then
+    as_myself=$0
+  fi
+  if test ! -f "$as_myself"; then
+    { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2
+   { (exit 1); exit 1; }; }
+  fi
+  case $CONFIG_SHELL in
+  '')
+    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=.
+  for as_base in sh bash ksh sh5; do
+	 case $as_dir in
+	 /*)
+	   if ("$as_dir/$as_base" -c '
+  as_lineno_1=$LINENO
+  as_lineno_2=$LINENO
+  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+  test "x$as_lineno_1" != "x$as_lineno_2" &&
+  test "x$as_lineno_3"  = "x$as_lineno_2" ') 2>/dev/null; then
+	     $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
+	     $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
+	     CONFIG_SHELL=$as_dir/$as_base
+	     export CONFIG_SHELL
+	     exec "$CONFIG_SHELL" "$0" ${1+"$@"}
+	   fi;;
+	 esac
+       done
+done
+;;
+  esac
+
+  # 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 before each line; the second 'sed' does the real
+  # work.  The second script uses 'N' to pair each line-number line
+  # with the numbered line, 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
+  # second 'sed' script.  Blame Lee E. McMahon for sed's syntax.  :-)
+  sed '=' <$as_myself |
+    sed '
+      N
+      s,$,-,
+      : loop
+      s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
+      t loop
+      s,-$,,
+      s,^['$as_cr_digits']*\n,,
+    ' >$as_me.lineno &&
+  chmod +x $as_me.lineno ||
+    { 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 sensible to this).
+  . ./$as_me.lineno
+  # Exit status is that of the last command.
+  exit
+}
+
+
+case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
+  *c*,-n*) ECHO_N= ECHO_C='
+' ECHO_T='	' ;;
+  *c*,*  ) ECHO_N=-n ECHO_C= ECHO_T= ;;
+  *)       ECHO_N= ECHO_C='\c' ECHO_T= ;;
+esac
+
+if expr a : '\(a\)' >/dev/null 2>&1; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+  # We could just check for DJGPP; but this test a) works b) is more generic
+  # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
+  if test -f conf$$.exe; then
+    # Don't use ln at all; we don't have any links
+    as_ln_s='cp -p'
+  else
+    as_ln_s='ln -s'
+  fi
+elif ln conf$$.file conf$$ 2>/dev/null; then
+  as_ln_s=ln
+else
+  as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.file
+
+if mkdir -p . 2>/dev/null; then
+  as_mkdir_p=:
+else
+  test -d ./-p && rmdir ./-p
+  as_mkdir_p=false
+fi
+
+as_executable_p="test -f"
+
+# 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'"
+
+
+# IFS
+# We need space, tab and new line, in precisely that order.
+as_nl='
+'
+IFS=" 	$as_nl"
+
+# CDPATH.
+$as_unset CDPATH
+
+
+# Name of the host.
+# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+# so uname gets run too.
+ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
+
+exec 6>&1
+
+#
+# Initializations.
+#
+ac_default_prefix=/usr/local
+ac_config_libobj_dir=.
+cross_compiling=no
+subdirs=
+MFLAGS=
+MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+
+# Maximum number of lines to put in a shell here document.
+# This variable seems obsolete.  It should probably be removed, and
+# only ac_max_sed_lines should be used.
+: ${ac_max_here_lines=38}
+
+# Identity of this package.
+PACKAGE_NAME=
+PACKAGE_TARNAME=
+PACKAGE_VERSION=
+PACKAGE_STRING=
+PACKAGE_BUGREPORT=
+
+ac_unique_file="fookb.c"
+# Factoring default headers for most tests.
+ac_includes_default="\
+#include <stdio.h>
+#if HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif
+#if HAVE_SYS_STAT_H
+# include <sys/stat.h>
+#endif
+#if STDC_HEADERS
+# include <stdlib.h>
+# include <stddef.h>
+#else
+# if HAVE_STDLIB_H
+#  include <stdlib.h>
+# endif
+#endif
+#if HAVE_STRING_H
+# if !STDC_HEADERS && HAVE_MEMORY_H
+#  include <memory.h>
+# endif
+# include <string.h>
+#endif
+#if HAVE_STRINGS_H
+# include <strings.h>
+#endif
+#if HAVE_INTTYPES_H
+# include <inttypes.h>
+#else
+# if HAVE_STDINT_H
+#  include <stdint.h>
+# endif
+#endif
+#if HAVE_UNISTD_H
+# include <unistd.h>
+#endif"
+
+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT WUTIL_LIB CPP X_CFLAGS X_PRE_LIBS X_LIBS X_EXTRA_LIBS EGREP HAVE_WMAKER LIBOBJS LTLIBOBJS'
+ac_subst_files=''
+
+# Initialize some variables set by options.
+ac_init_help=
+ac_init_version=false
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+cache_file=/dev/null
+exec_prefix=NONE
+no_create=
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+srcdir=
+verbose=
+x_includes=NONE
+x_libraries=NONE
+
+# Installation directory options.
+# These are left unexpanded so users can "make install exec_prefix=/foo"
+# and all the variables that are supposed to be based on exec_prefix
+# by default will actually change.
+# Use braces instead of parens because sh, perl, etc. also accept them.
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datadir='${prefix}/share'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
+
+ac_prev=
+for ac_option
+do
+  # If the previous option needs an argument, assign it.
+  if test -n "$ac_prev"; then
+    eval "$ac_prev=\$ac_option"
+    ac_prev=
+    continue
+  fi
+
+  ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'`
+
+  # Accept the important Cygnus configure options, so we can diagnose typos.
+
+  case $ac_option in
+
+  -bindir | --bindir | --bindi | --bind | --bin | --bi)
+    ac_prev=bindir ;;
+  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+    bindir=$ac_optarg ;;
+
+  -build | --build | --buil | --bui | --bu)
+    ac_prev=build_alias ;;
+  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+    build_alias=$ac_optarg ;;
+
+  -cache-file | --cache-file | --cache-fil | --cache-fi \
+  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+    ac_prev=cache_file ;;
+  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+    cache_file=$ac_optarg ;;
+
+  --config-cache | -C)
+    cache_file=config.cache ;;
+
+  -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+    ac_prev=datadir ;;
+  -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+  | --da=*)
+    datadir=$ac_optarg ;;
+
+  -disable-* | --disable-*)
+    ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+      { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+   { (exit 1); exit 1; }; }
+    ac_feature=`echo $ac_feature | sed 's/-/_/g'`
+    eval "enable_$ac_feature=no" ;;
+
+  -enable-* | --enable-*)
+    ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+      { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+   { (exit 1); exit 1; }; }
+    ac_feature=`echo $ac_feature | sed 's/-/_/g'`
+    case $ac_option in
+      *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
+      *) ac_optarg=yes ;;
+    esac
+    eval "enable_$ac_feature='$ac_optarg'" ;;
+
+  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+  | --exec | --exe | --ex)
+    ac_prev=exec_prefix ;;
+  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+  | --exec=* | --exe=* | --ex=*)
+    exec_prefix=$ac_optarg ;;
+
+  -gas | --gas | --ga | --g)
+    # Obsolete; use --with-gas.
+    with_gas=yes ;;
+
+  -help | --help | --hel | --he | -h)
+    ac_init_help=long ;;
+  -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
+    ac_init_help=recursive ;;
+  -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
+    ac_init_help=short ;;
+
+  -host | --host | --hos | --ho)
+    ac_prev=host_alias ;;
+  -host=* | --host=* | --hos=* | --ho=*)
+    host_alias=$ac_optarg ;;
+
+  -includedir | --includedir | --includedi | --included | --include \
+  | --includ | --inclu | --incl | --inc)
+    ac_prev=includedir ;;
+  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+  | --includ=* | --inclu=* | --incl=* | --inc=*)
+    includedir=$ac_optarg ;;
+
+  -infodir | --infodir | --infodi | --infod | --info | --inf)
+    ac_prev=infodir ;;
+  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+    infodir=$ac_optarg ;;
+
+  -libdir | --libdir | --libdi | --libd)
+    ac_prev=libdir ;;
+  -libdir=* | --libdir=* | --libdi=* | --libd=*)
+    libdir=$ac_optarg ;;
+
+  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+  | --libexe | --libex | --libe)
+    ac_prev=libexecdir ;;
+  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+  | --libexe=* | --libex=* | --libe=*)
+    libexecdir=$ac_optarg ;;
+
+  -localstatedir | --localstatedir | --localstatedi | --localstated \
+  | --localstate | --localstat | --localsta | --localst \
+  | --locals | --local | --loca | --loc | --lo)
+    ac_prev=localstatedir ;;
+  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+  | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+  | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+    localstatedir=$ac_optarg ;;
+
+  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+    ac_prev=mandir ;;
+  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+    mandir=$ac_optarg ;;
+
+  -nfp | --nfp | --nf)
+    # Obsolete; use --without-fp.
+    with_fp=no ;;
+
+  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+  | --no-cr | --no-c | -n)
+    no_create=yes ;;
+
+  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+    no_recursion=yes ;;
+
+  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+  | --oldin | --oldi | --old | --ol | --o)
+    ac_prev=oldincludedir ;;
+  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+    oldincludedir=$ac_optarg ;;
+
+  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+    ac_prev=prefix ;;
+  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+    prefix=$ac_optarg ;;
+
+  -program-prefix | --program-prefix | --program-prefi | --program-pref \
+  | --program-pre | --program-pr | --program-p)
+    ac_prev=program_prefix ;;
+  -program-prefix=* | --program-prefix=* | --program-prefi=* \
+  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+    program_prefix=$ac_optarg ;;
+
+  -program-suffix | --program-suffix | --program-suffi | --program-suff \
+  | --program-suf | --program-su | --program-s)
+    ac_prev=program_suffix ;;
+  -program-suffix=* | --program-suffix=* | --program-suffi=* \
+  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+    program_suffix=$ac_optarg ;;
+
+  -program-transform-name | --program-transform-name \
+  | --program-transform-nam | --program-transform-na \
+  | --program-transform-n | --program-transform- \
+  | --program-transform | --program-transfor \
+  | --program-transfo | --program-transf \
+  | --program-trans | --program-tran \
+  | --progr-tra | --program-tr | --program-t)
+    ac_prev=program_transform_name ;;
+  -program-transform-name=* | --program-transform-name=* \
+  | --program-transform-nam=* | --program-transform-na=* \
+  | --program-transform-n=* | --program-transform-=* \
+  | --program-transform=* | --program-transfor=* \
+  | --program-transfo=* | --program-transf=* \
+  | --program-trans=* | --program-tran=* \
+  | --progr-tra=* | --program-tr=* | --program-t=*)
+    program_transform_name=$ac_optarg ;;
+
+  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+  | -silent | --silent | --silen | --sile | --sil)
+    silent=yes ;;
+
+  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+    ac_prev=sbindir ;;
+  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+  | --sbi=* | --sb=*)
+    sbindir=$ac_optarg ;;
+
+  -sharedstatedir | --sharedstatedir | --sharedstatedi \
+  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+  | --sharedst | --shareds | --shared | --share | --shar \
+  | --sha | --sh)
+    ac_prev=sharedstatedir ;;
+  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+  | --sha=* | --sh=*)
+    sharedstatedir=$ac_optarg ;;
+
+  -site | --site | --sit)
+    ac_prev=site ;;
+  -site=* | --site=* | --sit=*)
+    site=$ac_optarg ;;
+
+  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+    ac_prev=srcdir ;;
+  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+    srcdir=$ac_optarg ;;
+
+  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+  | --syscon | --sysco | --sysc | --sys | --sy)
+    ac_prev=sysconfdir ;;
+  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+    sysconfdir=$ac_optarg ;;
+
+  -target | --target | --targe | --targ | --tar | --ta | --t)
+    ac_prev=target_alias ;;
+  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+    target_alias=$ac_optarg ;;
+
+  -v | -verbose | --verbose | --verbos | --verbo | --verb)
+    verbose=yes ;;
+
+  -version | --version | --versio | --versi | --vers | -V)
+    ac_init_version=: ;;
+
+  -with-* | --with-*)
+    ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+      { echo "$as_me: error: invalid package name: $ac_package" >&2
+   { (exit 1); exit 1; }; }
+    ac_package=`echo $ac_package| sed 's/-/_/g'`
+    case $ac_option in
+      *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
+      *) ac_optarg=yes ;;
+    esac
+    eval "with_$ac_package='$ac_optarg'" ;;
+
+  -without-* | --without-*)
+    ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+      { echo "$as_me: error: invalid package name: $ac_package" >&2
+   { (exit 1); exit 1; }; }
+    ac_package=`echo $ac_package | sed 's/-/_/g'`
+    eval "with_$ac_package=no" ;;
+
+  --x)
+    # Obsolete; use --with-x.
+    with_x=yes ;;
+
+  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+  | --x-incl | --x-inc | --x-in | --x-i)
+    ac_prev=x_includes ;;
+  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+    x_includes=$ac_optarg ;;
+
+  -x-libraries | --x-libraries | --x-librarie | --x-librari \
+  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+    ac_prev=x_libraries ;;
+  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+    x_libraries=$ac_optarg ;;
+
+  -*) { echo "$as_me: error: unrecognized option: $ac_option
+Try \`$0 --help' for more information." >&2
+   { (exit 1); exit 1; }; }
+    ;;
+
+  *=*)
+    ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
+      { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
+   { (exit 1); exit 1; }; }
+    ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`
+    eval "$ac_envvar='$ac_optarg'"
+    export $ac_envvar ;;
+
+  *)
+    # FIXME: should be removed in autoconf 3.0.
+    echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+    expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+      echo "$as_me: WARNING: invalid host type: $ac_option" >&2
+    : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+    ;;
+
+  esac
+done
+
+if test -n "$ac_prev"; then
+  ac_option=--`echo $ac_prev | sed 's/_/-/g'`
+  { echo "$as_me: error: missing argument to $ac_option" >&2
+   { (exit 1); exit 1; }; }
+fi
+
+# Be sure to have absolute paths.
+for ac_var in exec_prefix prefix
+do
+  eval ac_val=$`echo $ac_var`
+  case $ac_val in
+    [\\/$]* | ?:[\\/]* | NONE | '' ) ;;
+    *)  { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
+   { (exit 1); exit 1; }; };;
+  esac
+done
+
+# Be sure to have absolute paths.
+for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \
+	      localstatedir libdir includedir oldincludedir infodir mandir
+do
+  eval ac_val=$`echo $ac_var`
+  case $ac_val in
+    [\\/$]* | ?:[\\/]* ) ;;
+    *)  { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
+   { (exit 1); exit 1; }; };;
+  esac
+done
+
+# There might be people who depend on the old broken behavior: `$host'
+# used to hold the argument of --host etc.
+# FIXME: To remove some day.
+build=$build_alias
+host=$host_alias
+target=$target_alias
+
+# FIXME: To remove some day.
+if test "x$host_alias" != x; then
+  if test "x$build_alias" = x; then
+    cross_compiling=maybe
+    echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
+    If a cross compiler is detected then cross compile mode will be used." >&2
+  elif test "x$build_alias" != "x$host_alias"; then
+    cross_compiling=yes
+  fi
+fi
+
+ac_tool_prefix=
+test -n "$host_alias" && ac_tool_prefix=$host_alias-
+
+test "$silent" = yes && exec 6>/dev/null
+
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+  ac_srcdir_defaulted=yes
+  # Try the directory containing this script, then its parent.
+  ac_confdir=`(dirname "$0") 2>/dev/null ||
+$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$0" : 'X\(//\)[^/]' \| \
+	 X"$0" : 'X\(//\)$' \| \
+	 X"$0" : 'X\(/\)' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X"$0" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+  	  /^X\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+  srcdir=$ac_confdir
+  if test ! -r $srcdir/$ac_unique_file; then
+    srcdir=..
+  fi
+else
+  ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+  if test "$ac_srcdir_defaulted" = yes; then
+    { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2
+   { (exit 1); exit 1; }; }
+  else
+    { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
+   { (exit 1); exit 1; }; }
+  fi
+fi
+(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null ||
+  { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2
+   { (exit 1); exit 1; }; }
+srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'`
+ac_env_build_alias_set=${build_alias+set}
+ac_env_build_alias_value=$build_alias
+ac_cv_env_build_alias_set=${build_alias+set}
+ac_cv_env_build_alias_value=$build_alias
+ac_env_host_alias_set=${host_alias+set}
+ac_env_host_alias_value=$host_alias
+ac_cv_env_host_alias_set=${host_alias+set}
+ac_cv_env_host_alias_value=$host_alias
+ac_env_target_alias_set=${target_alias+set}
+ac_env_target_alias_value=$target_alias
+ac_cv_env_target_alias_set=${target_alias+set}
+ac_cv_env_target_alias_value=$target_alias
+ac_env_CC_set=${CC+set}
+ac_env_CC_value=$CC
+ac_cv_env_CC_set=${CC+set}
+ac_cv_env_CC_value=$CC
+ac_env_CFLAGS_set=${CFLAGS+set}
+ac_env_CFLAGS_value=$CFLAGS
+ac_cv_env_CFLAGS_set=${CFLAGS+set}
+ac_cv_env_CFLAGS_value=$CFLAGS
+ac_env_LDFLAGS_set=${LDFLAGS+set}
+ac_env_LDFLAGS_value=$LDFLAGS
+ac_cv_env_LDFLAGS_set=${LDFLAGS+set}
+ac_cv_env_LDFLAGS_value=$LDFLAGS
+ac_env_CPPFLAGS_set=${CPPFLAGS+set}
+ac_env_CPPFLAGS_value=$CPPFLAGS
+ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set}
+ac_cv_env_CPPFLAGS_value=$CPPFLAGS
+ac_env_CPP_set=${CPP+set}
+ac_env_CPP_value=$CPP
+ac_cv_env_CPP_set=${CPP+set}
+ac_cv_env_CPP_value=$CPP
+
+#
+# Report the --help message.
+#
+if test "$ac_init_help" = "long"; then
+  # Omit some internal or obsolete options to make the list less imposing.
+  # This message is too long to be a string in the A/UX 3.1 sh.
+  cat <<_ACEOF
+\`configure' configures this package to adapt to many kinds of systems.
+
+Usage: $0 [OPTION]... [VAR=VALUE]...
+
+To assign environment variables (e.g., CC, CFLAGS...), specify them as
+VAR=VALUE.  See below for descriptions of some of the useful variables.
+
+Defaults for the options are specified in brackets.
+
+Configuration:
+  -h, --help              display this help and exit
+      --help=short        display options specific to this package
+      --help=recursive    display the short help of all the included packages
+  -V, --version           display version information and exit
+  -q, --quiet, --silent   do not print \`checking...' messages
+      --cache-file=FILE   cache test results in FILE [disabled]
+  -C, --config-cache      alias for \`--cache-file=config.cache'
+  -n, --no-create         do not create output files
+      --srcdir=DIR        find the sources in DIR [configure dir or \`..']
+
+_ACEOF
+
+  cat <<_ACEOF
+Installation directories:
+  --prefix=PREFIX         install architecture-independent files in PREFIX
+			  [$ac_default_prefix]
+  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
+			  [PREFIX]
+
+By default, \`make install' will install all the files in
+\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc.  You can specify
+an installation prefix other than \`$ac_default_prefix' using \`--prefix',
+for instance \`--prefix=\$HOME'.
+
+For better control, use the options below.
+
+Fine tuning of the installation directories:
+  --bindir=DIR           user executables [EPREFIX/bin]
+  --sbindir=DIR          system admin executables [EPREFIX/sbin]
+  --libexecdir=DIR       program executables [EPREFIX/libexec]
+  --datadir=DIR          read-only architecture-independent data [PREFIX/share]
+  --sysconfdir=DIR       read-only single-machine data [PREFIX/etc]
+  --sharedstatedir=DIR   modifiable architecture-independent data [PREFIX/com]
+  --localstatedir=DIR    modifiable single-machine data [PREFIX/var]
+  --libdir=DIR           object code libraries [EPREFIX/lib]
+  --includedir=DIR       C header files [PREFIX/include]
+  --oldincludedir=DIR    C header files for non-gcc [/usr/include]
+  --infodir=DIR          info documentation [PREFIX/info]
+  --mandir=DIR           man documentation [PREFIX/man]
+_ACEOF
+
+  cat <<\_ACEOF
+
+X features:
+  --x-includes=DIR    X include files are in DIR
+  --x-libraries=DIR   X library files are in DIR
+_ACEOF
+fi
+
+if test -n "$ac_init_help"; then
+
+  cat <<\_ACEOF
+
+Optional Features:
+  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
+  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
+  --enable-libWUtil       try to use property lists handling in libWUtil
+  --enable-wmaker         create windowmaker dockable application
+
+Optional Packages:
+  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
+  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
+  --with-x                use the X Window System
+
+Some influential environment variables:
+  CC          C compiler command
+  CFLAGS      C compiler flags
+  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
+              nonstandard directory <lib dir>
+  CPPFLAGS    C/C++ preprocessor flags, e.g. -I<include dir> if you have
+              headers in a nonstandard directory <include dir>
+  CPP         C preprocessor
+
+Use these variables to override the choices made by `configure' or to help
+it to find libraries and programs with nonstandard names/locations.
+
+_ACEOF
+fi
+
+if test "$ac_init_help" = "recursive"; then
+  # If there are subdirs, report their specific --help.
+  ac_popdir=`pwd`
+  for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
+    test -d $ac_dir || continue
+    ac_builddir=.
+
+if test "$ac_dir" != .; then
+  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+  # A "../" for each directory in $ac_dir_suffix.
+  ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
+else
+  ac_dir_suffix= ac_top_builddir=
+fi
+
+case $srcdir in
+  .)  # No --srcdir option.  We are building in place.
+    ac_srcdir=.
+    if test -z "$ac_top_builddir"; then
+       ac_top_srcdir=.
+    else
+       ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
+    fi ;;
+  [\\/]* | ?:[\\/]* )  # Absolute path.
+    ac_srcdir=$srcdir$ac_dir_suffix;
+    ac_top_srcdir=$srcdir ;;
+  *) # Relative path.
+    ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
+    ac_top_srcdir=$ac_top_builddir$srcdir ;;
+esac
+
+# Do not use `cd foo && pwd` to compute absolute paths, because
+# the directories may not exist.
+case `pwd` in
+.) ac_abs_builddir="$ac_dir";;
+*)
+  case "$ac_dir" in
+  .) ac_abs_builddir=`pwd`;;
+  [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
+  *) ac_abs_builddir=`pwd`/"$ac_dir";;
+  esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_builddir=${ac_top_builddir}.;;
+*)
+  case ${ac_top_builddir}. in
+  .) ac_abs_top_builddir=$ac_abs_builddir;;
+  [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
+  *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
+  esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_srcdir=$ac_srcdir;;
+*)
+  case $ac_srcdir in
+  .) ac_abs_srcdir=$ac_abs_builddir;;
+  [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
+  *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
+  esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_srcdir=$ac_top_srcdir;;
+*)
+  case $ac_top_srcdir in
+  .) ac_abs_top_srcdir=$ac_abs_builddir;;
+  [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
+  *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
+  esac;;
+esac
+
+    cd $ac_dir
+    # Check for guested configure; otherwise get Cygnus style configure.
+    if test -f $ac_srcdir/configure.gnu; then
+      echo
+      $SHELL $ac_srcdir/configure.gnu  --help=recursive
+    elif test -f $ac_srcdir/configure; then
+      echo
+      $SHELL $ac_srcdir/configure  --help=recursive
+    elif test -f $ac_srcdir/configure.ac ||
+	   test -f $ac_srcdir/configure.in; then
+      echo
+      $ac_configure --help
+    else
+      echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
+    fi
+    cd "$ac_popdir"
+  done
+fi
+
+test -n "$ac_init_help" && exit 0
+if $ac_init_version; then
+  cat <<\_ACEOF
+
+Copyright (C) 2003 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 0
+fi
+exec 5>config.log
+cat >&5 <<_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.59.  Invocation command line was
+
+  $ $0 $@
+
+_ACEOF
+{
+cat <<_ASUNAME
+## --------- ##
+## Platform. ##
+## --------- ##
+
+hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
+/bin/uname -X     = `(/bin/uname -X) 2>/dev/null     || echo unknown`
+
+/bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
+/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
+hostinfo               = `(hostinfo) 2>/dev/null               || echo unknown`
+/bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
+/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
+/bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`
+
+_ASUNAME
+
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  echo "PATH: $as_dir"
+done
+
+} >&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.
+# Make two passes to allow for proper duplicate-argument suppression.
+ac_configure_args=
+ac_configure_args0=
+ac_configure_args1=
+ac_sep=
+ac_must_keep_next=false
+for ac_pass in 1 2
+do
+  for ac_arg
+  do
+    case $ac_arg in
+    -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
+    -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+    | -silent | --silent | --silen | --sile | --sil)
+      continue ;;
+    *" "*|*"	"*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
+      ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    esac
+    case $ac_pass in
+    1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
+    2)
+      ac_configure_args1="$ac_configure_args1 '$ac_arg'"
+      if test $ac_must_keep_next = true; then
+	ac_must_keep_next=false # Got value, back to normal.
+      else
+	case $ac_arg in
+	  *=* | --config-cache | -C | -disable-* | --disable-* \
+	  | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
+	  | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
+	  | -with-* | --with-* | -without-* | --without-* | --x)
+	    case "$ac_configure_args0 " in
+	      "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
+	    esac
+	    ;;
+	  -* ) ac_must_keep_next=true ;;
+	esac
+      fi
+      ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'"
+      # Get rid of the leading space.
+      ac_sep=" "
+      ;;
+    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; }
+
+# When interrupted or exit'd, cleanup temporary files, and complete
+# config.log.  We remove comments because anyway the quotes in there
+# would cause problems or look ugly.
+# WARNING: Be sure not to use single quotes in there, as some shells,
+# such as our DU 5.0 friend, will then `close' the trap.
+trap 'exit_status=$?
+  # Save into config.log some information that might help in debugging.
+  {
+    echo
+
+    cat <<\_ASBOX
+## ---------------- ##
+## Cache variables. ##
+## ---------------- ##
+_ASBOX
+    echo
+    # The following way of writing the cache mishandles newlines in values,
+{
+  (set) 2>&1 |
+    case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in
+    *ac_space=\ *)
+      sed -n \
+	"s/'"'"'/'"'"'\\\\'"'"''"'"'/g;
+	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p"
+      ;;
+    *)
+      sed -n \
+	"s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+      ;;
+    esac;
+}
+    echo
+
+    cat <<\_ASBOX
+## ----------------- ##
+## Output variables. ##
+## ----------------- ##
+_ASBOX
+    echo
+    for ac_var in $ac_subst_vars
+    do
+      eval ac_val=$`echo $ac_var`
+      echo "$ac_var='"'"'$ac_val'"'"'"
+    done | sort
+    echo
+
+    if test -n "$ac_subst_files"; then
+      cat <<\_ASBOX
+## ------------- ##
+## Output files. ##
+## ------------- ##
+_ASBOX
+      echo
+      for ac_var in $ac_subst_files
+      do
+	eval ac_val=$`echo $ac_var`
+	echo "$ac_var='"'"'$ac_val'"'"'"
+      done | sort
+      echo
+    fi
+
+    if test -s confdefs.h; then
+      cat <<\_ASBOX
+## ----------- ##
+## confdefs.h. ##
+## ----------- ##
+_ASBOX
+      echo
+      sed "/^$/d" confdefs.h | sort
+      echo
+    fi
+    test "$ac_signal" != 0 &&
+      echo "$as_me: caught signal $ac_signal"
+    echo "$as_me: exit $exit_status"
+  } >&5
+  rm -f core *.core &&
+  rm -rf conftest* confdefs* conf$$* $ac_clean_files &&
+    exit $exit_status
+     ' 0
+for ac_signal in 1 2 13 15; do
+  trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
+done
+ac_signal=0
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo >confdefs.h
+
+# 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_VERSION "$PACKAGE_VERSION"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_STRING "$PACKAGE_STRING"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
+_ACEOF
+
+
+# Let the site file select an alternate cache file if it wants to.
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$CONFIG_SITE"; then
+  if test "x$prefix" != xNONE; then
+    CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+  else
+    CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+  fi
+fi
+for ac_site_file in $CONFIG_SITE; do
+  if test -r "$ac_site_file"; then
+    { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
+echo "$as_me: loading site script $ac_site_file" >&6;}
+    sed 's/^/| /' "$ac_site_file" >&5
+    . "$ac_site_file"
+  fi
+done
+
+if test -r "$cache_file"; then
+  # Some versions of bash will fail to source /dev/null (special
+  # files actually), so we avoid doing that.
+  if test -f "$cache_file"; then
+    { echo "$as_me:$LINENO: loading cache $cache_file" >&5
+echo "$as_me: loading cache $cache_file" >&6;}
+    case $cache_file in
+      [\\/]* | ?:[\\/]* ) . $cache_file;;
+      *)                      . ./$cache_file;;
+    esac
+  fi
+else
+  { echo "$as_me:$LINENO: creating cache $cache_file" >&5
+echo "$as_me: creating cache $cache_file" >&6;}
+  >$cache_file
+fi
+
+# Check that the precious variables saved in the cache have kept the same
+# value.
+ac_cache_corrupted=false
+for ac_var in `(set) 2>&1 |
+	       sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do
+  eval ac_old_set=\$ac_cv_env_${ac_var}_set
+  eval ac_new_set=\$ac_env_${ac_var}_set
+  eval ac_old_val="\$ac_cv_env_${ac_var}_value"
+  eval ac_new_val="\$ac_env_${ac_var}_value"
+  case $ac_old_set,$ac_new_set in
+    set,)
+      { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+      ac_cache_corrupted=: ;;
+    ,set)
+      { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
+echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+      ac_cache_corrupted=: ;;
+    ,);;
+    *)
+      if test "x$ac_old_val" != "x$ac_new_val"; then
+	{ echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
+echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+	{ echo "$as_me:$LINENO:   former value:  $ac_old_val" >&5
+echo "$as_me:   former value:  $ac_old_val" >&2;}
+	{ echo "$as_me:$LINENO:   current value: $ac_new_val" >&5
+echo "$as_me:   current value: $ac_new_val" >&2;}
+	ac_cache_corrupted=:
+      fi;;
+  esac
+  # Pass precious variables to config.status.
+  if test "$ac_new_set" = set; then
+    case $ac_new_val in
+    *" "*|*"	"*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
+      ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+    *) ac_arg=$ac_var=$ac_new_val ;;
+    esac
+    case " $ac_configure_args " in
+      *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy.
+      *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+    esac
+  fi
+done
+if $ac_cache_corrupted; then
+  { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
+echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+  { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
+echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}gcc; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_CC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_CC="${ac_tool_prefix}gcc"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+fi
+if test -z "$ac_cv_prog_CC"; then
+  ac_ct_CC=$CC
+  # Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$ac_ct_CC"; then
+  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_CC="gcc"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+  echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+echo "${ECHO_T}$ac_ct_CC" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+  CC=$ac_ct_CC
+else
+  CC="$ac_cv_prog_CC"
+fi
+
+if test -z "$CC"; then
+  if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}cc; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_CC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_CC="${ac_tool_prefix}cc"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+fi
+if test -z "$ac_cv_prog_CC"; then
+  ac_ct_CC=$CC
+  # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$ac_ct_CC"; then
+  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_CC="cc"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+  echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+echo "${ECHO_T}$ac_ct_CC" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+  CC=$ac_ct_CC
+else
+  CC="$ac_cv_prog_CC"
+fi
+
+fi
+if test -z "$CC"; then
+  # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_CC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+  ac_prog_rejected=no
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_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"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+if test $ac_prog_rejected = yes; then
+  # We found a bogon in the path, so make sure we never use it.
+  set dummy $ac_cv_prog_CC
+  shift
+  if test $# != 0; then
+    # We chose a different compiler from the bogus one.
+    # However, it has the same basename, so the bogon will be chosen
+    # first if we set CC to just the basename; use the full file name.
+    shift
+    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
+  fi
+fi
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+fi
+if test -z "$CC"; then
+  if test -n "$ac_tool_prefix"; then
+  for ac_prog in cl
+  do
+    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_CC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+    test -n "$CC" && break
+  done
+fi
+if test -z "$CC"; then
+  ac_ct_CC=$CC
+  for ac_prog in cl
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$ac_ct_CC"; then
+  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_CC="$ac_prog"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+  echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+echo "${ECHO_T}$ac_ct_CC" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+  test -n "$ac_ct_CC" && break
+done
+
+  CC=$ac_ct_CC
+fi
+
+fi
+
+
+test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
+See \`config.log' for more details." >&5
+echo "$as_me: error: no acceptable C compiler found in \$PATH
+See \`config.log' for more details." >&2;}
+   { (exit 1); exit 1; }; }
+
+# Provide some information about the compiler.
+echo "$as_me:$LINENO:" \
+     "checking for C compiler version" >&5
+ac_compiler=`set X $ac_compile; echo $2`
+{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
+  (eval $ac_compiler --version </dev/null >&5) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
+{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5
+  (eval $ac_compiler -v </dev/null >&5) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
+{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5
+  (eval $ac_compiler -V </dev/null >&5) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
+
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files a.out a.exe b.out"
+# Try to create an executable without -o first, disregard a.out.
+# It will help us diagnose broken compilers, and finding out an intuition
+# of exeext.
+echo "$as_me:$LINENO: checking for C compiler default output file name" >&5
+echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6
+ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
+if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5
+  (eval $ac_link_default) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+  # Find the output, starting from the most likely.  This scheme is
+# not robust to junk in `.', hence go to wildcards (a.*) only as a last
+# resort.
+
+# Be careful to initialize this variable, since it used to be cached.
+# Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile.
+ac_cv_exeext=
+# b.out is created by i960 compilers.
+for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out
+do
+  test -f "$ac_file" || continue
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj )
+	;;
+    conftest.$ac_ext )
+	# This is the source file.
+	;;
+    [ab].out )
+	# We found the default executable, but exeext='' is most
+	# certainly right.
+	break;;
+    *.* )
+	ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+	# FIXME: I believe we export ac_cv_exeext for Libtool,
+	# but it would be cool to find out if it's true.  Does anybody
+	# maintain Libtool? --akim.
+	export ac_cv_exeext
+	break;;
+    * )
+	break;;
+  esac
+done
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ { echo "$as_me:$LINENO: error: C compiler cannot create executables
+See \`config.log' for more details." >&5
+echo "$as_me: error: C compiler cannot create executables
+See \`config.log' for more details." >&2;}
+   { (exit 77); exit 77; }; }
+fi
+
+ac_exeext=$ac_cv_exeext
+echo "$as_me:$LINENO: result: $ac_file" >&5
+echo "${ECHO_T}$ac_file" >&6
+
+# Check the compiler produces executables we can run.  If not, either
+# the compiler is broken, or we cross compile.
+echo "$as_me:$LINENO: checking whether the C compiler works" >&5
+echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6
+# FIXME: These cross compiler hacks should be removed for Autoconf 3.0
+# If not cross compiling, check that we can run a simple program.
+if test "$cross_compiling" != yes; then
+  if { ac_try='./$ac_file'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+    cross_compiling=no
+  else
+    if test "$cross_compiling" = maybe; then
+	cross_compiling=yes
+    else
+	{ { echo "$as_me:$LINENO: error: cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details." >&5
+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
+echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+
+rm -f a.out a.exe conftest$ac_cv_exeext b.out
+ac_clean_files=$ac_clean_files_save
+# Check the compiler produces executables we can run.  If not, either
+# the compiler is broken, or we cross compile.
+echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
+echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6
+echo "$as_me:$LINENO: result: $cross_compiling" >&5
+echo "${ECHO_T}$cross_compiling" >&6
+
+echo "$as_me:$LINENO: checking for suffix of executables" >&5
+echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+  # If both `conftest.exe' and `conftest' are `present' (well, observable)
+# catch `conftest.exe'.  For instance with Cygwin, `ls conftest' will
+# work properly (i.e., refer to `conftest.exe'), while it won't with
+# `rm'.
+for ac_file in conftest.exe conftest conftest.*; do
+  test -f "$ac_file" || continue
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;;
+    *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+	  export ac_cv_exeext
+	  break;;
+    * ) break;;
+  esac
+done
+else
+  { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+rm -f conftest$ac_cv_exeext
+echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
+echo "${ECHO_T}$ac_cv_exeext" >&6
+
+rm -f conftest.$ac_ext
+EXEEXT=$ac_cv_exeext
+ac_exeext=$EXEEXT
+echo "$as_me:$LINENO: checking for suffix of object files" >&5
+echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6
+if test "${ac_cv_objext+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.o conftest.obj
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+  for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;;
+    *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
+       break;;
+  esac
+done
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot compute suffix of object files: cannot compile
+See \`config.log' for more details." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+rm -f conftest.$ac_cv_objext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
+echo "${ECHO_T}$ac_cv_objext" >&6
+OBJEXT=$ac_cv_objext
+ac_objext=$OBJEXT
+echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
+echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6
+if test "${ac_cv_c_compiler_gnu+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+#ifndef __GNUC__
+       choke me
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_compiler_gnu=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_compiler_gnu=no
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_cv_c_compiler_gnu=$ac_compiler_gnu
+
+fi
+echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
+echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6
+GCC=`test $ac_compiler_gnu = yes && echo yes`
+ac_test_CFLAGS=${CFLAGS+set}
+ac_save_CFLAGS=$CFLAGS
+CFLAGS="-g"
+echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
+echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6
+if test "${ac_cv_prog_cc_g+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_prog_cc_g=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_prog_cc_g=no
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
+echo "${ECHO_T}$ac_cv_prog_cc_g" >&6
+if test "$ac_test_CFLAGS" = set; then
+  CFLAGS=$ac_save_CFLAGS
+elif test $ac_cv_prog_cc_g = yes; then
+  if test "$GCC" = yes; then
+    CFLAGS="-g -O2"
+  else
+    CFLAGS="-g"
+  fi
+else
+  if test "$GCC" = yes; then
+    CFLAGS="-O2"
+  else
+    CFLAGS=
+  fi
+fi
+echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5
+echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6
+if test "${ac_cv_prog_cc_stdc+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_cv_prog_cc_stdc=no
+ac_save_CC=$CC
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <stdarg.h>
+#include <stdio.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
+struct buf { int x; };
+FILE * (*rcsopen) (struct buf *, struct stat *, int);
+static char *e (p, i)
+     char **p;
+     int i;
+{
+  return p[i];
+}
+static char *f (char * (*g) (char **, int), char **p, ...)
+{
+  char *s;
+  va_list v;
+  va_start (v,p);
+  s = g (p, va_arg (v,int));
+  va_end (v);
+  return s;
+}
+
+/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
+   function prototypes and stuff, but not '\xHH' hex character constants.
+   These don't provoke an error unfortunately, instead are silently treated
+   as 'x'.  The following induces an error, until -std1 is added to get
+   proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
+   array size at least.  It's necessary to write '\x00'==0 to get something
+   that's true only with -std1.  */
+int osf4_cc_array ['\x00' == 0 ? 1 : -1];
+
+int test (int i, double x);
+struct s1 {int (*f) (int a);};
+struct s2 {int (*f) (double a);};
+int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
+int argc;
+char **argv;
+int
+main ()
+{
+return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
+  ;
+  return 0;
+}
+_ACEOF
+# Don't try gcc -ansi; that turns off useful extensions and
+# breaks some systems' header files.
+# AIX			-qlanglvl=ansi
+# Ultrix and OSF/1	-std1
+# HP-UX 10.20 and later	-Ae
+# HP-UX older versions	-Aa -D_HPUX_SOURCE
+# SVR4			-Xc -D__EXTENSIONS__
+for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+do
+  CC="$ac_save_CC $ac_arg"
+  rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_prog_cc_stdc=$ac_arg
+break
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.err conftest.$ac_objext
+done
+rm -f conftest.$ac_ext conftest.$ac_objext
+CC=$ac_save_CC
+
+fi
+
+case "x$ac_cv_prog_cc_stdc" in
+  x|xno)
+    echo "$as_me:$LINENO: result: none needed" >&5
+echo "${ECHO_T}none needed" >&6 ;;
+  *)
+    echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5
+echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6
+    CC="$CC $ac_cv_prog_cc_stdc" ;;
+esac
+
+# Some people use a C++ compiler to compile C.  Since we use `exit',
+# in C++ we need to declare it.  In case someone uses the same compiler
+# for both compiling C and C++ we need to have the C++ compiler decide
+# the declaration of exit, since it's the most demanding environment.
+cat >conftest.$ac_ext <<_ACEOF
+#ifndef __cplusplus
+  choke me
+#endif
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  for ac_declaration in \
+   '' \
+   'extern "C" void std::exit (int) throw (); using std::exit;' \
+   'extern "C" void std::exit (int); using std::exit;' \
+   'extern "C" void exit (int) throw ();' \
+   'extern "C" void exit (int);' \
+   'void exit (int);'
+do
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_declaration
+#include <stdlib.h>
+int
+main ()
+{
+exit (42);
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  :
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+continue
+fi
+rm -f 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
+/* end confdefs.h.  */
+$ac_declaration
+int
+main ()
+{
+exit (42);
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  break
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+done
+rm -f conftest*
+if test -n "$ac_declaration"; then
+  echo '#ifdef __cplusplus' >>confdefs.h
+  echo $ac_declaration      >>confdefs.h
+  echo '#endif'             >>confdefs.h
+fi
+
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+WUTIL_LIB="-lWUtil"
+
+
+
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
+echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6
+# On Suns, sometimes $CPP names a directory.
+if test -n "$CPP" && test -d "$CPP"; then
+  CPP=
+fi
+if test -z "$CPP"; then
+  if test "${ac_cv_prog_CPP+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+      # Double quotes because CPP needs to be expanded
+    for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
+    do
+      ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+  # Use a header file that comes with gcc, so configuring glibc
+  # with a fresh cross-compiler works.
+  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+  # <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
+/* end confdefs.h.  */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+		     Syntax error
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+  :
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.$ac_ext
+
+  # OK, works on sane cases.  Now check whether non-existent headers
+  # can be detected and how.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <ac_nonexistent.h>
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+  # Broken: success on invalid input.
+continue
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then
+  break
+fi
+
+    done
+    ac_cv_prog_CPP=$CPP
+
+fi
+  CPP=$ac_cv_prog_CPP
+else
+  ac_cv_prog_CPP=$CPP
+fi
+echo "$as_me:$LINENO: result: $CPP" >&5
+echo "${ECHO_T}$CPP" >&6
+ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+  # Use a header file that comes with gcc, so configuring glibc
+  # with a fresh cross-compiler works.
+  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+  # <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
+/* end confdefs.h.  */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+		     Syntax error
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+  :
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.$ac_ext
+
+  # OK, works on sane cases.  Now check whether non-existent headers
+  # can be detected and how.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <ac_nonexistent.h>
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+  # Broken: success on invalid input.
+continue
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then
+  :
+else
+  { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details." >&5
+echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+echo "$as_me:$LINENO: checking for X" >&5
+echo $ECHO_N "checking for X... $ECHO_C" >&6
+
+
+# Check whether --with-x or --without-x was given.
+if test "${with_x+set}" = set; then
+  withval="$with_x"
+
+fi;
+# $have_x is `yes', `no', `disabled', or empty when we do not yet know.
+if test "x$with_x" = xno; then
+  # The user explicitly disabled X.
+  have_x=disabled
+else
+  if test "x$x_includes" != xNONE && test "x$x_libraries" != xNONE; then
+    # Both variables are already set.
+    have_x=yes
+  else
+    if test "${ac_cv_have_x+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  # One or both of the vars are not set, and there is no cached value.
+ac_x_includes=no ac_x_libraries=no
+rm -fr conftest.dir
+if mkdir conftest.dir; then
+  cd conftest.dir
+  # Make sure to not put "make" in the Imakefile rules, since we grep it out.
+  cat >Imakefile <<'_ACEOF'
+acfindx:
+	@echo 'ac_im_incroot="${INCROOT}"; ac_im_usrlibdir="${USRLIBDIR}"; ac_im_libdir="${LIBDIR}"'
+_ACEOF
+  if (xmkmf) >/dev/null 2>/dev/null && test -f Makefile; then
+    # GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+    eval `${MAKE-make} acfindx 2>/dev/null | grep -v make`
+    # Open Windows xmkmf reportedly sets LIBDIR instead of USRLIBDIR.
+    for ac_extension in a so sl; do
+      if test ! -f $ac_im_usrlibdir/libX11.$ac_extension &&
+	 test -f $ac_im_libdir/libX11.$ac_extension; then
+	ac_im_usrlibdir=$ac_im_libdir; break
+      fi
+    done
+    # Screen out bogus values from the imake configuration.  They are
+    # bogus both because they are the default anyway, and because
+    # using them would break gcc on systems where it needs fixed includes.
+    case $ac_im_incroot in
+	/usr/include) ;;
+	*) test -f "$ac_im_incroot/X11/Xos.h" && ac_x_includes=$ac_im_incroot;;
+    esac
+    case $ac_im_usrlibdir in
+	/usr/lib | /lib) ;;
+	*) test -d "$ac_im_usrlibdir" && ac_x_libraries=$ac_im_usrlibdir ;;
+    esac
+  fi
+  cd ..
+  rm -fr conftest.dir
+fi
+
+# Standard set of common directories for X headers.
+# Check X11 before X11Rn because it is often a symlink to the current release.
+ac_x_header_dirs='
+/usr/X11/include
+/usr/X11R6/include
+/usr/X11R5/include
+/usr/X11R4/include
+
+/usr/include/X11
+/usr/include/X11R6
+/usr/include/X11R5
+/usr/include/X11R4
+
+/usr/local/X11/include
+/usr/local/X11R6/include
+/usr/local/X11R5/include
+/usr/local/X11R4/include
+
+/usr/local/include/X11
+/usr/local/include/X11R6
+/usr/local/include/X11R5
+/usr/local/include/X11R4
+
+/usr/X386/include
+/usr/x386/include
+/usr/XFree86/include/X11
+
+/usr/include
+/usr/local/include
+/usr/unsupported/include
+/usr/athena/include
+/usr/local/x11r5/include
+/usr/lpp/Xamples/include
+
+/usr/openwin/include
+/usr/openwin/share/include'
+
+if test "$ac_x_includes" = no; then
+  # Guess where to find include files, by looking for Intrinsic.h.
+  # First, try using that file with no special directory specified.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <X11/Intrinsic.h>
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+  # We can compile using X headers with no special include directory.
+ac_x_includes=
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  for ac_dir in $ac_x_header_dirs; do
+  if test -r "$ac_dir/X11/Intrinsic.h"; then
+    ac_x_includes=$ac_dir
+    break
+  fi
+done
+fi
+rm -f conftest.err conftest.$ac_ext
+fi # $ac_x_includes = no
+
+if test "$ac_x_libraries" = no; then
+  # Check for the libraries.
+  # See if we find them without any special options.
+  # Don't add to $LIBS permanently.
+  ac_save_LIBS=$LIBS
+  LIBS="-lXt $LIBS"
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <X11/Intrinsic.h>
+int
+main ()
+{
+XtMalloc (0)
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  LIBS=$ac_save_LIBS
+# We can link X programs with no special library path.
+ac_x_libraries=
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+LIBS=$ac_save_LIBS
+for ac_dir in `echo "$ac_x_includes $ac_x_header_dirs" | sed s/include/lib/g`
+do
+  # Don't even attempt the hair of trying to link an X program!
+  for ac_extension in a so sl; do
+    if test -r $ac_dir/libXt.$ac_extension; then
+      ac_x_libraries=$ac_dir
+      break 2
+    fi
+  done
+done
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+fi # $ac_x_libraries = no
+
+if test "$ac_x_includes" = no || test "$ac_x_libraries" = no; then
+  # Didn't find X anywhere.  Cache the known absence of X.
+  ac_cv_have_x="have_x=no"
+else
+  # Record where we found X for the cache.
+  ac_cv_have_x="have_x=yes \
+		ac_x_includes=$ac_x_includes ac_x_libraries=$ac_x_libraries"
+fi
+fi
+
+  fi
+  eval "$ac_cv_have_x"
+fi # $with_x != no
+
+if test "$have_x" != yes; then
+  echo "$as_me:$LINENO: result: $have_x" >&5
+echo "${ECHO_T}$have_x" >&6
+  no_x=yes
+else
+  # If each of the values was on the command line, it overrides each guess.
+  test "x$x_includes" = xNONE && x_includes=$ac_x_includes
+  test "x$x_libraries" = xNONE && x_libraries=$ac_x_libraries
+  # Update the cache value to reflect the command line values.
+  ac_cv_have_x="have_x=yes \
+		ac_x_includes=$x_includes ac_x_libraries=$x_libraries"
+  echo "$as_me:$LINENO: result: libraries $x_libraries, headers $x_includes" >&5
+echo "${ECHO_T}libraries $x_libraries, headers $x_includes" >&6
+fi
+
+if test "$no_x" = yes; then
+  # Not all programs may use this symbol, but it does not hurt to define it.
+
+cat >>confdefs.h <<\_ACEOF
+#define X_DISPLAY_MISSING 1
+_ACEOF
+
+  X_CFLAGS= X_PRE_LIBS= X_LIBS= X_EXTRA_LIBS=
+else
+  if test -n "$x_includes"; then
+    X_CFLAGS="$X_CFLAGS -I$x_includes"
+  fi
+
+  # It would also be nice to do this for all -L options, not just this one.
+  if test -n "$x_libraries"; then
+    X_LIBS="$X_LIBS -L$x_libraries"
+    # For Solaris; some versions of Sun CC require a space after -R and
+    # others require no space.  Words are not sufficient . . . .
+    case `(uname -sr) 2>/dev/null` in
+    "SunOS 5"*)
+      echo "$as_me:$LINENO: checking whether -R must be followed by a space" >&5
+echo $ECHO_N "checking whether -R must be followed by a space... $ECHO_C" >&6
+      ac_xsave_LIBS=$LIBS; LIBS="$LIBS -R$x_libraries"
+      cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_R_nospace=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_R_nospace=no
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+      if test $ac_R_nospace = yes; then
+	echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+	X_LIBS="$X_LIBS -R$x_libraries"
+      else
+	LIBS="$ac_xsave_LIBS -R $x_libraries"
+	cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_R_space=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_R_space=no
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+	if test $ac_R_space = yes; then
+	  echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+	  X_LIBS="$X_LIBS -R $x_libraries"
+	else
+	  echo "$as_me:$LINENO: result: neither works" >&5
+echo "${ECHO_T}neither works" >&6
+	fi
+      fi
+      LIBS=$ac_xsave_LIBS
+    esac
+  fi
+
+  # Check for system-dependent libraries X programs must link with.
+  # Do this before checking for the system-independent R6 libraries
+  # (-lICE), since we may need -lsocket or whatever for X linking.
+
+  if test "$ISC" = yes; then
+    X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl_s -linet"
+  else
+    # Martyn Johnson says this is needed for Ultrix, if the X
+    # libraries were built with DECnet support.  And Karl Berry says
+    # the Alpha needs dnet_stub (dnet does not exist).
+    ac_xsave_LIBS="$LIBS"; LIBS="$LIBS $X_LIBS -lX11"
+    cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char XOpenDisplay ();
+int
+main ()
+{
+XOpenDisplay ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  :
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+echo "$as_me:$LINENO: checking for dnet_ntoa in -ldnet" >&5
+echo $ECHO_N "checking for dnet_ntoa in -ldnet... $ECHO_C" >&6
+if test "${ac_cv_lib_dnet_dnet_ntoa+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldnet  $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char dnet_ntoa ();
+int
+main ()
+{
+dnet_ntoa ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_lib_dnet_dnet_ntoa=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_lib_dnet_dnet_ntoa=no
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:$LINENO: result: $ac_cv_lib_dnet_dnet_ntoa" >&5
+echo "${ECHO_T}$ac_cv_lib_dnet_dnet_ntoa" >&6
+if test $ac_cv_lib_dnet_dnet_ntoa = yes; then
+  X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet"
+fi
+
+    if test $ac_cv_lib_dnet_dnet_ntoa = no; then
+      echo "$as_me:$LINENO: checking for dnet_ntoa in -ldnet_stub" >&5
+echo $ECHO_N "checking for dnet_ntoa in -ldnet_stub... $ECHO_C" >&6
+if test "${ac_cv_lib_dnet_stub_dnet_ntoa+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldnet_stub  $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char dnet_ntoa ();
+int
+main ()
+{
+dnet_ntoa ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_lib_dnet_stub_dnet_ntoa=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_lib_dnet_stub_dnet_ntoa=no
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:$LINENO: result: $ac_cv_lib_dnet_stub_dnet_ntoa" >&5
+echo "${ECHO_T}$ac_cv_lib_dnet_stub_dnet_ntoa" >&6
+if test $ac_cv_lib_dnet_stub_dnet_ntoa = yes; then
+  X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub"
+fi
+
+    fi
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+    LIBS="$ac_xsave_LIBS"
+
+    # [email protected] says -lnsl (and -lsocket) are needed for his 386/AT,
+    # to get the SysV transport functions.
+    # Chad R. Larson says the Pyramis MIS-ES running DC/OSx (SVR4)
+    # needs -lnsl.
+    # The nsl library prevents programs from opening the X display
+    # on Irix 5.2, according to T.E. Dickey.
+    # The functions gethostbyname, getservbyname, and inet_addr are
+    # in -lbsd on LynxOS 3.0.1/i386, according to Lars Hecking.
+    echo "$as_me:$LINENO: checking for gethostbyname" >&5
+echo $ECHO_N "checking for gethostbyname... $ECHO_C" >&6
+if test "${ac_cv_func_gethostbyname+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* 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 gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char gethostbyname ();
+/* 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
+#else
+char (*f) () = gethostbyname;
+#endif
+#ifdef __cplusplus
+}
+#endif
+
+int
+main ()
+{
+return f != gethostbyname;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_func_gethostbyname=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_func_gethostbyname=no
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: $ac_cv_func_gethostbyname" >&5
+echo "${ECHO_T}$ac_cv_func_gethostbyname" >&6
+
+    if test $ac_cv_func_gethostbyname = no; then
+      echo "$as_me:$LINENO: checking for gethostbyname in -lnsl" >&5
+echo $ECHO_N "checking for gethostbyname in -lnsl... $ECHO_C" >&6
+if test "${ac_cv_lib_nsl_gethostbyname+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lnsl  $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char gethostbyname ();
+int
+main ()
+{
+gethostbyname ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_lib_nsl_gethostbyname=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_lib_nsl_gethostbyname=no
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:$LINENO: result: $ac_cv_lib_nsl_gethostbyname" >&5
+echo "${ECHO_T}$ac_cv_lib_nsl_gethostbyname" >&6
+if test $ac_cv_lib_nsl_gethostbyname = yes; then
+  X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl"
+fi
+
+      if test $ac_cv_lib_nsl_gethostbyname = no; then
+	echo "$as_me:$LINENO: checking for gethostbyname in -lbsd" >&5
+echo $ECHO_N "checking for gethostbyname in -lbsd... $ECHO_C" >&6
+if test "${ac_cv_lib_bsd_gethostbyname+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lbsd  $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char gethostbyname ();
+int
+main ()
+{
+gethostbyname ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_lib_bsd_gethostbyname=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_lib_bsd_gethostbyname=no
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:$LINENO: result: $ac_cv_lib_bsd_gethostbyname" >&5
+echo "${ECHO_T}$ac_cv_lib_bsd_gethostbyname" >&6
+if test $ac_cv_lib_bsd_gethostbyname = yes; then
+  X_EXTRA_LIBS="$X_EXTRA_LIBS -lbsd"
+fi
+
+      fi
+    fi
+
+    # [email protected] says without -lsocket,
+    # socket/setsockopt and other routines are undefined under SCO ODT
+    # 2.0.  But -lsocket is broken on IRIX 5.2 (and is not necessary
+    # on later versions), says Simon Leinen: it contains gethostby*
+    # variants that don't use the name server (or something).  -lsocket
+    # must be given before -lnsl if both are needed.  We assume that
+    # if connect needs -lnsl, so does gethostbyname.
+    echo "$as_me:$LINENO: checking for connect" >&5
+echo $ECHO_N "checking for connect... $ECHO_C" >&6
+if test "${ac_cv_func_connect+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* 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 gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char connect ();
+/* 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
+#else
+char (*f) () = connect;
+#endif
+#ifdef __cplusplus
+}
+#endif
+
+int
+main ()
+{
+return f != connect;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_func_connect=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_func_connect=no
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: $ac_cv_func_connect" >&5
+echo "${ECHO_T}$ac_cv_func_connect" >&6
+
+    if test $ac_cv_func_connect = no; then
+      echo "$as_me:$LINENO: checking for connect in -lsocket" >&5
+echo $ECHO_N "checking for connect in -lsocket... $ECHO_C" >&6
+if test "${ac_cv_lib_socket_connect+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lsocket $X_EXTRA_LIBS $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char connect ();
+int
+main ()
+{
+connect ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_lib_socket_connect=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_lib_socket_connect=no
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:$LINENO: result: $ac_cv_lib_socket_connect" >&5
+echo "${ECHO_T}$ac_cv_lib_socket_connect" >&6
+if test $ac_cv_lib_socket_connect = yes; then
+  X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS"
+fi
+
+    fi
+
+    # Guillermo Gomez says -lposix is necessary on A/UX.
+    echo "$as_me:$LINENO: checking for remove" >&5
+echo $ECHO_N "checking for remove... $ECHO_C" >&6
+if test "${ac_cv_func_remove+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* 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 gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char remove ();
+/* 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
+#else
+char (*f) () = remove;
+#endif
+#ifdef __cplusplus
+}
+#endif
+
+int
+main ()
+{
+return f != remove;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_func_remove=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_func_remove=no
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: $ac_cv_func_remove" >&5
+echo "${ECHO_T}$ac_cv_func_remove" >&6
+
+    if test $ac_cv_func_remove = no; then
+      echo "$as_me:$LINENO: checking for remove in -lposix" >&5
+echo $ECHO_N "checking for remove in -lposix... $ECHO_C" >&6
+if test "${ac_cv_lib_posix_remove+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lposix  $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char remove ();
+int
+main ()
+{
+remove ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_lib_posix_remove=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_lib_posix_remove=no
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:$LINENO: result: $ac_cv_lib_posix_remove" >&5
+echo "${ECHO_T}$ac_cv_lib_posix_remove" >&6
+if test $ac_cv_lib_posix_remove = yes; then
+  X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix"
+fi
+
+    fi
+
+    # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay.
+    echo "$as_me:$LINENO: checking for shmat" >&5
+echo $ECHO_N "checking for shmat... $ECHO_C" >&6
+if test "${ac_cv_func_shmat+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* 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 gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char shmat ();
+/* 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
+#else
+char (*f) () = shmat;
+#endif
+#ifdef __cplusplus
+}
+#endif
+
+int
+main ()
+{
+return f != shmat;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_func_shmat=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_func_shmat=no
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: $ac_cv_func_shmat" >&5
+echo "${ECHO_T}$ac_cv_func_shmat" >&6
+
+    if test $ac_cv_func_shmat = no; then
+      echo "$as_me:$LINENO: checking for shmat in -lipc" >&5
+echo $ECHO_N "checking for shmat in -lipc... $ECHO_C" >&6
+if test "${ac_cv_lib_ipc_shmat+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lipc  $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char shmat ();
+int
+main ()
+{
+shmat ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_lib_ipc_shmat=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_lib_ipc_shmat=no
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:$LINENO: result: $ac_cv_lib_ipc_shmat" >&5
+echo "${ECHO_T}$ac_cv_lib_ipc_shmat" >&6
+if test $ac_cv_lib_ipc_shmat = yes; then
+  X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc"
+fi
+
+    fi
+  fi
+
+  # Check for libraries that X11R6 Xt/Xaw programs need.
+  ac_save_LDFLAGS=$LDFLAGS
+  test -n "$x_libraries" && LDFLAGS="$LDFLAGS -L$x_libraries"
+  # SM needs ICE to (dynamically) link under SunOS 4.x (so we have to
+  # check for ICE first), but we must link in the order -lSM -lICE or
+  # we get undefined symbols.  So assume we have SM if we have ICE.
+  # These have to be linked with before -lX11, unlike the other
+  # libraries we check for below, so use a different variable.
+  # John Interrante, Karl Berry
+  echo "$as_me:$LINENO: checking for IceConnectionNumber in -lICE" >&5
+echo $ECHO_N "checking for IceConnectionNumber in -lICE... $ECHO_C" >&6
+if test "${ac_cv_lib_ICE_IceConnectionNumber+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lICE $X_EXTRA_LIBS $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char IceConnectionNumber ();
+int
+main ()
+{
+IceConnectionNumber ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_lib_ICE_IceConnectionNumber=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_lib_ICE_IceConnectionNumber=no
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:$LINENO: result: $ac_cv_lib_ICE_IceConnectionNumber" >&5
+echo "${ECHO_T}$ac_cv_lib_ICE_IceConnectionNumber" >&6
+if test $ac_cv_lib_ICE_IceConnectionNumber = yes; then
+  X_PRE_LIBS="$X_PRE_LIBS -lSM -lICE"
+fi
+
+  LDFLAGS=$ac_save_LDFLAGS
+
+fi
+
+
+
+echo "$as_me:$LINENO: checking for XkbOpenDisplay in -lX11" >&5
+echo $ECHO_N "checking for XkbOpenDisplay in -lX11... $ECHO_C" >&6
+if test "${ac_cv_lib_X11_XkbOpenDisplay+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lX11 $X_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 gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char XkbOpenDisplay ();
+int
+main ()
+{
+XkbOpenDisplay ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_lib_X11_XkbOpenDisplay=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_lib_X11_XkbOpenDisplay=no
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:$LINENO: result: $ac_cv_lib_X11_XkbOpenDisplay" >&5
+echo "${ECHO_T}$ac_cv_lib_X11_XkbOpenDisplay" >&6
+if test $ac_cv_lib_X11_XkbOpenDisplay = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBX11 1
+_ACEOF
+
+  LIBS="-lX11 $LIBS"
+
+else
+  { { echo "$as_me:$LINENO: error: Fatal: no libX11 or no XkbOpenDisplay() in libX11" >&5
+echo "$as_me: error: Fatal: no libX11 or no XkbOpenDisplay() in libX11" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+
+
+echo "$as_me:$LINENO: checking for XpmReadFileToImage in -lXpm" >&5
+echo $ECHO_N "checking for XpmReadFileToImage in -lXpm... $ECHO_C" >&6
+if test "${ac_cv_lib_Xpm_XpmReadFileToImage+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lXpm $X_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 gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char XpmReadFileToImage ();
+int
+main ()
+{
+XpmReadFileToImage ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_lib_Xpm_XpmReadFileToImage=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_lib_Xpm_XpmReadFileToImage=no
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:$LINENO: result: $ac_cv_lib_Xpm_XpmReadFileToImage" >&5
+echo "${ECHO_T}$ac_cv_lib_Xpm_XpmReadFileToImage" >&6
+if test $ac_cv_lib_Xpm_XpmReadFileToImage = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBXPM 1
+_ACEOF
+
+  LIBS="-lXpm $LIBS"
+
+else
+  { { echo "$as_me:$LINENO: error: Fatal: no libXpm found!" >&5
+echo "$as_me: error: Fatal: no libXpm found!" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+
+
+
+echo "$as_me:$LINENO: checking for egrep" >&5
+echo $ECHO_N "checking for egrep... $ECHO_C" >&6
+if test "${ac_cv_prog_egrep+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if echo a | (grep -E '(a|b)') >/dev/null 2>&1
+    then ac_cv_prog_egrep='grep -E'
+    else ac_cv_prog_egrep='egrep'
+    fi
+fi
+echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5
+echo "${ECHO_T}$ac_cv_prog_egrep" >&6
+ EGREP=$ac_cv_prog_egrep
+
+
+echo "$as_me:$LINENO: checking for ANSI C header files" >&5
+echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6
+if test "${ac_cv_header_stdc+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include <float.h>
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_header_stdc=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_header_stdc=no
+fi
+rm -f 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
+/* end confdefs.h.  */
+#include <string.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "memchr" >/dev/null 2>&1; then
+  :
+else
+  ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <stdlib.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "free" >/dev/null 2>&1; then
+  :
+else
+  ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
+  if test "$cross_compiling" = yes; then
+  :
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <ctype.h>
+#if ((' ' & 0x0FF) == 0x020)
+# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
+#else
+# define ISLOWER(c) \
+		   (('a' <= (c) && (c) <= 'i') \
+		     || ('j' <= (c) && (c) <= 'r') \
+		     || ('s' <= (c) && (c) <= 'z'))
+# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
+#endif
+
+#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+int
+main ()
+{
+  int i;
+  for (i = 0; i < 256; i++)
+    if (XOR (islower (i), ISLOWER (i))
+	|| toupper (i) != TOUPPER (i))
+      exit(2);
+  exit (0);
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  :
+else
+  echo "$as_me: program exited with status $ac_status" >&5
+echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+ac_cv_header_stdc=no
+fi
+rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+fi
+fi
+echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
+echo "${ECHO_T}$ac_cv_header_stdc" >&6
+if test $ac_cv_header_stdc = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STDC_HEADERS 1
+_ACEOF
+
+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
+do
+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&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>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  eval "$as_ac_Header=yes"
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+eval "$as_ac_Header=no"
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+if test `eval echo '${'$as_ac_Header'}'` = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+# Check whether --enable-libWUtil or --disable-libWUtil was given.
+if test "${enable_libWUtil+set}" = set; then
+  enableval="$enable_libWUtil"
+
+    if test $enable_libWUtil = yes ; then
+
+      echo "$as_me:$LINENO: checking for WMReadPropListFromFile in -lWUtil" >&5
+echo $ECHO_N "checking for WMReadPropListFromFile in -lWUtil... $ECHO_C" >&6
+if test "${ac_cv_lib_WUtil_WMReadPropListFromFile+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lWUtil $X_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 gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char WMReadPropListFromFile ();
+int
+main ()
+{
+WMReadPropListFromFile ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_lib_WUtil_WMReadPropListFromFile=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_lib_WUtil_WMReadPropListFromFile=no
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:$LINENO: result: $ac_cv_lib_WUtil_WMReadPropListFromFile" >&5
+echo "${ECHO_T}$ac_cv_lib_WUtil_WMReadPropListFromFile" >&6
+if test $ac_cv_lib_WUtil_WMReadPropListFromFile = yes; then
+
+
+for ac_header in WINGs/WUtil.h
+do
+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+  echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+else
+  # Is the header compilable?
+echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+#include <$ac_header>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_header_compiler=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_header_compiler=no
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6
+
+# Is the header present?
+echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <$ac_header>
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+  ac_header_preproc=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  ac_header_preproc=no
+fi
+rm -f conftest.err conftest.$ac_ext
+echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6
+
+# So?  What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+  yes:no: )
+    { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+    ac_header_preproc=yes
+    ;;
+  no:yes:* )
+    { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+    (
+      cat <<\_ASBOX
+## ------------------------------------------ ##
+## Report this to the AC_PACKAGE_NAME lists.  ##
+## ------------------------------------------ ##
+_ASBOX
+    ) |
+      sed "s/^/$as_me: WARNING:     /" >&2
+    ;;
+esac
+echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  eval "$as_ac_Header=\$ac_header_preproc"
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+
+fi
+if test `eval echo '${'$as_ac_Header'}'` = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+else
+
+              { echo "$as_me:$LINENO: WARNING: No WINGs/WUtil.h found -- cannot compile version with property lists support. You should use X resources for customizing fookb; or, if you have libproplist, use older version of fookb" >&5
+echo "$as_me: WARNING: No WINGs/WUtil.h found -- cannot compile version with property lists support. You should use X resources for customizing fookb; or, if you have libproplist, use older version of fookb" >&2;}
+              WUTIL_LIB=""
+
+
+fi
+
+done
+
+
+else
+
+          { echo "$as_me:$LINENO: WARNING: No libWUtil found or old libWUtil version. You should use X resources for setting up fookb. If you have libproplist, use older version of fookb" >&5
+echo "$as_me: WARNING: No libWUtil found or old libWUtil version. You should use X resources for setting up fookb. If you have libproplist, use older version of fookb" >&2;}
+          WUTIL_LIB=""
+
+
+fi
+
+          else
+      UTIL_LIB=""
+    fi
+
+else
+
+    echo "$as_me:$LINENO: checking for WMReadPropListFromFile in -lWUtil" >&5
+echo $ECHO_N "checking for WMReadPropListFromFile in -lWUtil... $ECHO_C" >&6
+if test "${ac_cv_lib_WUtil_WMReadPropListFromFile+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lWUtil $X_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 gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char WMReadPropListFromFile ();
+int
+main ()
+{
+WMReadPropListFromFile ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_lib_WUtil_WMReadPropListFromFile=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_lib_WUtil_WMReadPropListFromFile=no
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:$LINENO: result: $ac_cv_lib_WUtil_WMReadPropListFromFile" >&5
+echo "${ECHO_T}$ac_cv_lib_WUtil_WMReadPropListFromFile" >&6
+if test $ac_cv_lib_WUtil_WMReadPropListFromFile = yes; then
+
+
+for ac_header in WINGs/WUtil.h
+do
+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+  echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+else
+  # Is the header compilable?
+echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+#include <$ac_header>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_header_compiler=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_header_compiler=no
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6
+
+# Is the header present?
+echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <$ac_header>
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+  ac_header_preproc=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  ac_header_preproc=no
+fi
+rm -f conftest.err conftest.$ac_ext
+echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6
+
+# So?  What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+  yes:no: )
+    { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+    ac_header_preproc=yes
+    ;;
+  no:yes:* )
+    { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+    (
+      cat <<\_ASBOX
+## ------------------------------------------ ##
+## Report this to the AC_PACKAGE_NAME lists.  ##
+## ------------------------------------------ ##
+_ASBOX
+    ) |
+      sed "s/^/$as_me: WARNING:     /" >&2
+    ;;
+esac
+echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  eval "$as_ac_Header=\$ac_header_preproc"
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+
+fi
+if test `eval echo '${'$as_ac_Header'}'` = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+else
+
+            { echo "$as_me:$LINENO: WARNING: No WINGs/WUtil.h found -- cannot compile version with property lists support. You should use X resources for customizing fookb; or, if you have libproplist, use older version of fookb" >&5
+echo "$as_me: WARNING: No WINGs/WUtil.h found -- cannot compile version with property lists support. You should use X resources for customizing fookb; or, if you have libproplist, use older version of fookb" >&2;}
+            WUTIL_LIB=""
+
+
+fi
+
+done
+
+
+else
+
+        { echo "$as_me:$LINENO: WARNING: No libWUtil found or old libWUtil version. You should use X resources for setting up fookb. If you have libproplist, use older version of fookb" >&5
+echo "$as_me: WARNING: No libWUtil found or old libWUtil version. You should use X resources for setting up fookb. If you have libproplist, use older version of fookb" >&2;}
+        WUTIL_LIB=""
+
+
+fi
+
+
+
+fi;
+
+
+
+# Check whether --enable-wmaker or --disable-wmaker was given.
+if test "${enable_wmaker+set}" = set; then
+  enableval="$enable_wmaker"
+
+    if test $enable_wmaker = yes ; then
+      cat >>confdefs.h <<\_ACEOF
+#define WMAKER 1
+_ACEOF
+
+    fi
+
+else
+
+    # Extract the first word of "wmaker", so it can be a program name with args.
+set dummy wmaker; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_HAVE_WMAKER+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$HAVE_WMAKER"; then
+  ac_cv_prog_HAVE_WMAKER="$HAVE_WMAKER" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_HAVE_WMAKER="yes"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+  test -z "$ac_cv_prog_HAVE_WMAKER" && ac_cv_prog_HAVE_WMAKER="no"
+fi
+fi
+HAVE_WMAKER=$ac_cv_prog_HAVE_WMAKER
+if test -n "$HAVE_WMAKER"; then
+  echo "$as_me:$LINENO: result: $HAVE_WMAKER" >&5
+echo "${ECHO_T}$HAVE_WMAKER" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+
+    if test $HAVE_WMAKER = yes ; then
+      cat >>confdefs.h <<\_ACEOF
+#define WMAKER 1
+_ACEOF
+
+    fi
+
+
+fi;
+
+          ac_config_files="$ac_config_files Makefile"
+cat >confcache <<\_ACEOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs, see configure's option --config-cache.
+# It is not useful on other systems.  If it contains results you don't
+# want to keep, you may remove or edit it.
+#
+# config.status only pays attention to the cache file if you give it
+# the --recheck option to rerun configure.
+#
+# `ac_cv_env_foo' variables (set or unset) will be overridden when
+# loading this file, other *unset* `ac_cv_foo' will be assigned the
+# following values.
+
+_ACEOF
+
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+{
+  (set) 2>&1 |
+    case `(ac_space=' '; set | grep ac_space) 2>&1` in
+    *ac_space=\ *)
+      # `set' does not quote correctly, so add quotes (double-quote
+      # substitution turns \\\\ into \\, and sed turns \\ into \).
+      sed -n \
+	"s/'/'\\\\''/g;
+	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
+      ;;
+    *)
+      # `set' quotes correctly as required by POSIX, so do not add quotes.
+      sed -n \
+	"s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+      ;;
+    esac;
+} |
+  sed '
+     t clear
+     : clear
+     s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
+     t end
+     /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+     : end' >>confcache
+if diff $cache_file confcache >/dev/null 2>&1; then :; else
+  if test -w $cache_file; then
+    test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
+    cat confcache >$cache_file
+  else
+    echo "not updating unwritable cache $cache_file"
+  fi
+fi
+rm -f confcache
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# VPATH may cause trouble with some makes, so we remove $(srcdir),
+# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+  ac_vpsub='/^[	 ]*VPATH[	 ]*=/{
+s/:*\$(srcdir):*/:/;
+s/:*\${srcdir}:*/:/;
+s/:*@srcdir@:*/:/;
+s/^\([^=]*=[	 ]*\):*/\1/;
+s/:*$//;
+s/^[^=]*=[	 ]*$//;
+}'
+fi
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+#
+# If the first sed substitution is executed (which looks for macros that
+# take arguments), then we branch to the quote section.  Otherwise,
+# look for a macro that doesn't take arguments.
+cat >confdef2opt.sed <<\_ACEOF
+t clear
+: clear
+s,^[	 ]*#[	 ]*define[	 ][	 ]*\([^	 (][^	 (]*([^)]*)\)[	 ]*\(.*\),-D\1=\2,g
+t quote
+s,^[	 ]*#[	 ]*define[	 ][	 ]*\([^	 ][^	 ]*\)[	 ]*\(.*\),-D\1=\2,g
+t quote
+d
+: quote
+s,[	 `~#$^&*(){}\\|;'"<>?],\\&,g
+s,\[,\\&,g
+s,\],\\&,g
+s,\$,$$,g
+p
+_ACEOF
+# We use echo to avoid assuming a particular line-breaking character.
+# The extra dot is to prevent the shell from consuming trailing
+# line-breaks from the sub-command output.  A line-break within
+# single-quotes doesn't work because, if this script is created in a
+# platform that uses two characters for line-breaks (e.g., DOS), tr
+# would break.
+ac_LF_and_DOT=`echo; echo .`
+DEFS=`sed -n -f confdef2opt.sed confdefs.h | tr "$ac_LF_and_DOT" ' .'`
+rm -f confdef2opt.sed
+
+
+ac_libobjs=
+ac_ltlibobjs=
+for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
+  # 1. Remove the extension, and $U if already installed.
+  ac_i=`echo "$ac_i" |
+	 sed 's/\$U\././;s/\.o$//;s/\.obj$//'`
+  # 2. Add them.
+  ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext"
+  ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo'
+done
+LIBOBJS=$ac_libobjs
+
+LTLIBOBJS=$ac_ltlibobjs
+
+
+
+: ${CONFIG_STATUS=./config.status}
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
+echo "$as_me: creating $CONFIG_STATUS" >&6;}
+cat >$CONFIG_STATUS <<_ACEOF
+#! $SHELL
+# Generated by $as_me.
+# Run this file to recreate the current configuration.
+# Compiler output produced by configure, useful for debugging
+# configure, is in config.log if it exists.
+
+debug=false
+ac_cs_recheck=false
+ac_cs_silent=false
+SHELL=\${CONFIG_SHELL-$SHELL}
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+## --------------------- ##
+## M4sh Initialization.  ##
+## --------------------- ##
+
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+  emulate sh
+  NULLCMD=:
+  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
+  set -o posix
+fi
+DUALCASE=1; export DUALCASE # for MKS sh
+
+# Support unset when possible.
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+  as_unset=unset
+else
+  as_unset=false
+fi
+
+
+# Work around bugs in pre-3.0 UWIN ksh.
+$as_unset ENV MAIL MAILPATH
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+for as_var in \
+  LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
+  LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
+  LC_TELEPHONE LC_TIME
+do
+  if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
+    eval $as_var=C; export $as_var
+  else
+    $as_unset $as_var
+  fi
+done
+
+# Required to use basename.
+if expr a : '\(a\)' >/dev/null 2>&1; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
+  as_basename=basename
+else
+  as_basename=false
+fi
+
+
+# Name of the executable.
+as_me=`$as_basename "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+	 X"$0" : 'X\(//\)$' \| \
+	 X"$0" : 'X\(/\)$' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X/"$0" |
+    sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
+  	  /^X\/\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\/\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+
+
+# PATH needs CR, and LINENO needs CR and PATH.
+# 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
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  echo "#! /bin/sh" >conf$$.sh
+  echo  "exit 0"   >>conf$$.sh
+  chmod +x conf$$.sh
+  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+    PATH_SEPARATOR=';'
+  else
+    PATH_SEPARATOR=:
+  fi
+  rm -f conf$$.sh
+fi
+
+
+  as_lineno_1=$LINENO
+  as_lineno_2=$LINENO
+  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+  test "x$as_lineno_1" != "x$as_lineno_2" &&
+  test "x$as_lineno_3"  = "x$as_lineno_2"  || {
+  # Find who we are.  Look in the path if we contain no path at all
+  # relative or not.
+  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=.
+  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+
+       ;;
+  esac
+  # We did not find ourselves, most probably we were run as `sh COMMAND'
+  # in which case we are not to be found in the path.
+  if test "x$as_myself" = x; then
+    as_myself=$0
+  fi
+  if test ! -f "$as_myself"; then
+    { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5
+echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;}
+   { (exit 1); exit 1; }; }
+  fi
+  case $CONFIG_SHELL in
+  '')
+    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=.
+  for as_base in sh bash ksh sh5; do
+	 case $as_dir in
+	 /*)
+	   if ("$as_dir/$as_base" -c '
+  as_lineno_1=$LINENO
+  as_lineno_2=$LINENO
+  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+  test "x$as_lineno_1" != "x$as_lineno_2" &&
+  test "x$as_lineno_3"  = "x$as_lineno_2" ') 2>/dev/null; then
+	     $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
+	     $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
+	     CONFIG_SHELL=$as_dir/$as_base
+	     export CONFIG_SHELL
+	     exec "$CONFIG_SHELL" "$0" ${1+"$@"}
+	   fi;;
+	 esac
+       done
+done
+;;
+  esac
+
+  # 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 before each line; the second 'sed' does the real
+  # work.  The second script uses 'N' to pair each line-number line
+  # with the numbered line, 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
+  # second 'sed' script.  Blame Lee E. McMahon for sed's syntax.  :-)
+  sed '=' <$as_myself |
+    sed '
+      N
+      s,$,-,
+      : loop
+      s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
+      t loop
+      s,-$,,
+      s,^['$as_cr_digits']*\n,,
+    ' >$as_me.lineno &&
+  chmod +x $as_me.lineno ||
+    { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5
+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 sensible to this).
+  . ./$as_me.lineno
+  # Exit status is that of the last command.
+  exit
+}
+
+
+case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
+  *c*,-n*) ECHO_N= ECHO_C='
+' ECHO_T='	' ;;
+  *c*,*  ) ECHO_N=-n ECHO_C= ECHO_T= ;;
+  *)       ECHO_N= ECHO_C='\c' ECHO_T= ;;
+esac
+
+if expr a : '\(a\)' >/dev/null 2>&1; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+  # We could just check for DJGPP; but this test a) works b) is more generic
+  # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
+  if test -f conf$$.exe; then
+    # Don't use ln at all; we don't have any links
+    as_ln_s='cp -p'
+  else
+    as_ln_s='ln -s'
+  fi
+elif ln conf$$.file conf$$ 2>/dev/null; then
+  as_ln_s=ln
+else
+  as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.file
+
+if mkdir -p . 2>/dev/null; then
+  as_mkdir_p=:
+else
+  test -d ./-p && rmdir ./-p
+  as_mkdir_p=false
+fi
+
+as_executable_p="test -f"
+
+# 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'"
+
+
+# IFS
+# We need space, tab and new line, in precisely that order.
+as_nl='
+'
+IFS=" 	$as_nl"
+
+# CDPATH.
+$as_unset CDPATH
+
+exec 6>&1
+
+# Open the log real soon, to keep \$[0] and so on meaningful, and to
+# report actual input values of CONFIG_FILES etc. instead of their
+# values after options handling.  Logging --version etc. is OK.
+exec 5>>config.log
+{
+  echo
+  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
+## Running $as_me. ##
+_ASBOX
+} >&5
+cat >&5 <<_CSEOF
+
+This file was extended by $as_me, which was
+generated by GNU Autoconf 2.59.  Invocation command line was
+
+  CONFIG_FILES    = $CONFIG_FILES
+  CONFIG_HEADERS  = $CONFIG_HEADERS
+  CONFIG_LINKS    = $CONFIG_LINKS
+  CONFIG_COMMANDS = $CONFIG_COMMANDS
+  $ $0 $@
+
+_CSEOF
+echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5
+echo >&5
+_ACEOF
+
+# Files that config.status was made for.
+if test -n "$ac_config_files"; then
+  echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_headers"; then
+  echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_links"; then
+  echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_commands"; then
+  echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS
+fi
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+
+ac_cs_usage="\
+\`$as_me' instantiates files from templates according to the
+current configuration.
+
+Usage: $0 [OPTIONS] [FILE]...
+
+  -h, --help       print this help, then exit
+  -V, --version    print version number, then exit
+  -q, --quiet      do not print progress messages
+  -d, --debug      don't remove temporary files
+      --recheck    update $as_me by reconfiguring in the same conditions
+  --file=FILE[:TEMPLATE]
+		   instantiate the configuration file FILE
+
+Configuration files:
+$config_files
+
+Report bugs to <[email protected]>."
+_ACEOF
+
+cat >>$CONFIG_STATUS <<_ACEOF
+ac_cs_version="\\
+config.status
+configured by $0, generated by GNU Autoconf 2.59,
+  with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
+
+Copyright (C) 2003 Free Software Foundation, Inc.
+This config.status script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it."
+srcdir=$srcdir
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+# If no file are specified by the user, then we need to provide default
+# value.  By we need to know if files were specified by the user.
+ac_need_defaults=:
+while test $# != 0
+do
+  case $1 in
+  --*=*)
+    ac_option=`expr "x$1" : 'x\([^=]*\)='`
+    ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
+    ac_shift=:
+    ;;
+  -*)
+    ac_option=$1
+    ac_optarg=$2
+    ac_shift=shift
+    ;;
+  *) # This is not an option, so the user has probably given explicit
+     # arguments.
+     ac_option=$1
+     ac_need_defaults=false;;
+  esac
+
+  case $ac_option in
+  # Handling of the options.
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+    ac_cs_recheck=: ;;
+  --version | --vers* | -V )
+    echo "$ac_cs_version"; exit 0 ;;
+  --he | --h)
+    # Conflict between --help and --header
+    { { echo "$as_me:$LINENO: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&5
+echo "$as_me: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&2;}
+   { (exit 1); exit 1; }; };;
+  --help | --hel | -h )
+    echo "$ac_cs_usage"; exit 0 ;;
+  --debug | --d* | -d )
+    debug=: ;;
+  --file | --fil | --fi | --f )
+    $ac_shift
+    CONFIG_FILES="$CONFIG_FILES $ac_optarg"
+    ac_need_defaults=false;;
+  --header | --heade | --head | --hea )
+    $ac_shift
+    CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg"
+    ac_need_defaults=false;;
+  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+  | -silent | --silent | --silen | --sile | --sil | --si | --s)
+    ac_cs_silent=: ;;
+
+  # This is an error.
+  -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&5
+echo "$as_me: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&2;}
+   { (exit 1); exit 1; }; } ;;
+
+  *) ac_config_targets="$ac_config_targets $1" ;;
+
+  esac
+  shift
+done
+
+ac_configure_extra_args=
+
+if $ac_cs_silent; then
+  exec 6>/dev/null
+  ac_configure_extra_args="$ac_configure_extra_args --silent"
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+if \$ac_cs_recheck; then
+  echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
+  exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+fi
+
+_ACEOF
+
+
+
+
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+for ac_config_target in $ac_config_targets
+do
+  case "$ac_config_target" in
+  # Handling of arguments.
+  "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+  *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
+echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
+   { (exit 1); exit 1; }; };;
+  esac
+done
+
+# If the user did not use the arguments to specify the items to instantiate,
+# then the envvar interface is used.  Set only those that are not.
+# We use the long form for the default assignment because of an extremely
+# bizarre bug on SunOS 4.1.3.
+if $ac_need_defaults; then
+  test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
+fi
+
+# Have a temporary directory for convenience.  Make it in the build tree
+# simply because there is no reason to put it here, and in addition,
+# creating and moving files from /tmp can sometimes cause problems.
+# Create a temporary directory, and hook for its removal unless debugging.
+$debug ||
+{
+  trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
+  trap '{ (exit 1); exit 1; }' 1 2 13 15
+}
+
+# Create a (secure) tmp directory for tmp files.
+
+{
+  tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` &&
+  test -n "$tmp" && test -d "$tmp"
+}  ||
+{
+  tmp=./confstat$$-$RANDOM
+  (umask 077 && mkdir $tmp)
+} ||
+{
+   echo "$me: cannot create a temporary directory in ." >&2
+   { (exit 1); exit 1; }
+}
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<_ACEOF
+
+#
+# CONFIG_FILES section.
+#
+
+# No need to generate the scripts if there are no CONFIG_FILES.
+# This happens for instance when ./config.status config.h
+if test -n "\$CONFIG_FILES"; then
+  # Protect against being on the right side of a sed subst in config.status.
+  sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g;
+   s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF
+s,@SHELL@,$SHELL,;t t
+s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t
+s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t
+s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t
+s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t
+s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t
+s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t
+s,@exec_prefix@,$exec_prefix,;t t
+s,@prefix@,$prefix,;t t
+s,@program_transform_name@,$program_transform_name,;t t
+s,@bindir@,$bindir,;t t
+s,@sbindir@,$sbindir,;t t
+s,@libexecdir@,$libexecdir,;t t
+s,@datadir@,$datadir,;t t
+s,@sysconfdir@,$sysconfdir,;t t
+s,@sharedstatedir@,$sharedstatedir,;t t
+s,@localstatedir@,$localstatedir,;t t
+s,@libdir@,$libdir,;t t
+s,@includedir@,$includedir,;t t
+s,@oldincludedir@,$oldincludedir,;t t
+s,@infodir@,$infodir,;t t
+s,@mandir@,$mandir,;t t
+s,@build_alias@,$build_alias,;t t
+s,@host_alias@,$host_alias,;t t
+s,@target_alias@,$target_alias,;t t
+s,@DEFS@,$DEFS,;t t
+s,@ECHO_C@,$ECHO_C,;t t
+s,@ECHO_N@,$ECHO_N,;t t
+s,@ECHO_T@,$ECHO_T,;t t
+s,@LIBS@,$LIBS,;t t
+s,@CC@,$CC,;t t
+s,@CFLAGS@,$CFLAGS,;t t
+s,@LDFLAGS@,$LDFLAGS,;t t
+s,@CPPFLAGS@,$CPPFLAGS,;t t
+s,@ac_ct_CC@,$ac_ct_CC,;t t
+s,@EXEEXT@,$EXEEXT,;t t
+s,@OBJEXT@,$OBJEXT,;t t
+s,@WUTIL_LIB@,$WUTIL_LIB,;t t
+s,@CPP@,$CPP,;t t
+s,@X_CFLAGS@,$X_CFLAGS,;t t
+s,@X_PRE_LIBS@,$X_PRE_LIBS,;t t
+s,@X_LIBS@,$X_LIBS,;t t
+s,@X_EXTRA_LIBS@,$X_EXTRA_LIBS,;t t
+s,@EGREP@,$EGREP,;t t
+s,@HAVE_WMAKER@,$HAVE_WMAKER,;t t
+s,@LIBOBJS@,$LIBOBJS,;t t
+s,@LTLIBOBJS@,$LTLIBOBJS,;t t
+CEOF
+
+_ACEOF
+
+  cat >>$CONFIG_STATUS <<\_ACEOF
+  # Split the substitutions into bite-sized pieces for seds with
+  # small command number limits, like on Digital OSF/1 and HP-UX.
+  ac_max_sed_lines=48
+  ac_sed_frag=1 # Number of current file.
+  ac_beg=1 # First line for current file.
+  ac_end=$ac_max_sed_lines # Line after last line for current file.
+  ac_more_lines=:
+  ac_sed_cmds=
+  while $ac_more_lines; do
+    if test $ac_beg -gt 1; then
+      sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
+    else
+      sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
+    fi
+    if test ! -s $tmp/subs.frag; then
+      ac_more_lines=false
+    else
+      # The purpose of the label and of the branching condition is to
+      # speed up the sed processing (if there are no `@' at all, there
+      # is no need to browse any of the substitutions).
+      # These are the two extra sed commands mentioned above.
+      (echo ':t
+  /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
+      if test -z "$ac_sed_cmds"; then
+	ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
+      else
+	ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
+      fi
+      ac_sed_frag=`expr $ac_sed_frag + 1`
+      ac_beg=$ac_end
+      ac_end=`expr $ac_end + $ac_max_sed_lines`
+    fi
+  done
+  if test -z "$ac_sed_cmds"; then
+    ac_sed_cmds=cat
+  fi
+fi # test -n "$CONFIG_FILES"
+
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
+  # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+  case $ac_file in
+  - | *:- | *:-:* ) # input from stdin
+	cat >$tmp/stdin
+	ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+	ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+  *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+	ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+  * )   ac_file_in=$ac_file.in ;;
+  esac
+
+  # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
+  ac_dir=`(dirname "$ac_file") 2>/dev/null ||
+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$ac_file" : 'X\(//\)[^/]' \| \
+	 X"$ac_file" : 'X\(//\)$' \| \
+	 X"$ac_file" : 'X\(/\)' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X"$ac_file" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+  	  /^X\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+  { if $as_mkdir_p; then
+    mkdir -p "$ac_dir"
+  else
+    as_dir="$ac_dir"
+    as_dirs=
+    while test ! -d "$as_dir"; do
+      as_dirs="$as_dir $as_dirs"
+      as_dir=`(dirname "$as_dir") 2>/dev/null ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$as_dir" : 'X\(//\)[^/]' \| \
+	 X"$as_dir" : 'X\(//\)$' \| \
+	 X"$as_dir" : 'X\(/\)' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X"$as_dir" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+  	  /^X\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+    done
+    test ! -n "$as_dirs" || mkdir $as_dirs
+  fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
+echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
+   { (exit 1); exit 1; }; }; }
+
+  ac_builddir=.
+
+if test "$ac_dir" != .; then
+  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+  # A "../" for each directory in $ac_dir_suffix.
+  ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
+else
+  ac_dir_suffix= ac_top_builddir=
+fi
+
+case $srcdir in
+  .)  # No --srcdir option.  We are building in place.
+    ac_srcdir=.
+    if test -z "$ac_top_builddir"; then
+       ac_top_srcdir=.
+    else
+       ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
+    fi ;;
+  [\\/]* | ?:[\\/]* )  # Absolute path.
+    ac_srcdir=$srcdir$ac_dir_suffix;
+    ac_top_srcdir=$srcdir ;;
+  *) # Relative path.
+    ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
+    ac_top_srcdir=$ac_top_builddir$srcdir ;;
+esac
+
+# Do not use `cd foo && pwd` to compute absolute paths, because
+# the directories may not exist.
+case `pwd` in
+.) ac_abs_builddir="$ac_dir";;
+*)
+  case "$ac_dir" in
+  .) ac_abs_builddir=`pwd`;;
+  [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
+  *) ac_abs_builddir=`pwd`/"$ac_dir";;
+  esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_builddir=${ac_top_builddir}.;;
+*)
+  case ${ac_top_builddir}. in
+  .) ac_abs_top_builddir=$ac_abs_builddir;;
+  [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
+  *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
+  esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_srcdir=$ac_srcdir;;
+*)
+  case $ac_srcdir in
+  .) ac_abs_srcdir=$ac_abs_builddir;;
+  [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
+  *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
+  esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_srcdir=$ac_top_srcdir;;
+*)
+  case $ac_top_srcdir in
+  .) ac_abs_top_srcdir=$ac_abs_builddir;;
+  [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
+  *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
+  esac;;
+esac
+
+
+
+  # Let's still pretend it is `configure' which instantiates (i.e., don't
+  # use $as_me), people would be surprised to read:
+  #    /* config.h.  Generated by config.status.  */
+  if test x"$ac_file" = x-; then
+    configure_input=
+  else
+    configure_input="$ac_file.  "
+  fi
+  configure_input=$configure_input"Generated from `echo $ac_file_in |
+				     sed 's,.*/,,'` by configure."
+
+  # First look for the input files in the build tree, otherwise in the
+  # src tree.
+  ac_file_inputs=`IFS=:
+    for f in $ac_file_in; do
+      case $f in
+      -) echo $tmp/stdin ;;
+      [\\/$]*)
+	 # Absolute (can't be DOS-style, as IFS=:)
+	 test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+   { (exit 1); exit 1; }; }
+	 echo "$f";;
+      *) # Relative
+	 if test -f "$f"; then
+	   # Build tree
+	   echo "$f"
+	 elif test -f "$srcdir/$f"; then
+	   # Source tree
+	   echo "$srcdir/$f"
+	 else
+	   # /dev/null tree
+	   { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+   { (exit 1); exit 1; }; }
+	 fi;;
+      esac
+    done` || { (exit 1); exit 1; }
+
+  if test x"$ac_file" != x-; then
+    { echo "$as_me:$LINENO: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+    rm -f "$ac_file"
+  fi
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+  sed "$ac_vpsub
+$extrasub
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+:t
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+s,@configure_input@,$configure_input,;t t
+s,@srcdir@,$ac_srcdir,;t t
+s,@abs_srcdir@,$ac_abs_srcdir,;t t
+s,@top_srcdir@,$ac_top_srcdir,;t t
+s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t
+s,@builddir@,$ac_builddir,;t t
+s,@abs_builddir@,$ac_abs_builddir,;t t
+s,@top_builddir@,$ac_top_builddir,;t t
+s,@abs_top_builddir@,$ac_abs_top_builddir,;t t
+" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
+  rm -f $tmp/stdin
+  if test x"$ac_file" != x-; then
+    mv $tmp/out $ac_file
+  else
+    cat $tmp/out
+    rm -f $tmp/out
+  fi
+
+done
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+
+{ (exit 0); exit 0; }
+_ACEOF
+chmod +x $CONFIG_STATUS
+ac_clean_files=$ac_clean_files_save
+
+
+# configure is writing to config.log, and then calls config.status.
+# config.status does its own redirection, appending to config.log.
+# Unfortunately, on DOS this fails, as config.log is still kept open
+# by configure, so config.status won't be able to write to it; its
+# output is simply discarded.  So we exec the FD to /dev/null,
+# effectively closing config.log, so it can be properly (re)opened and
+# appended to by config.status.  When coming back to configure, we
+# need to make the FD available again.
+if test "$no_create" != yes; then
+  ac_cs_success=:
+  ac_config_status_args=
+  test "$silent" = yes &&
+    ac_config_status_args="$ac_config_status_args --quiet"
+  exec 5>/dev/null
+  $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
+  exec 5>>config.log
+  # Use ||, not &&, to avoid exiting from the if with $? = 1, which
+  # would make configure fail if this is the last instruction.
+  $ac_cs_success || { (exit 1); exit 1; }
+fi
+
diff --git a/fookb/configure.in b/fookb/configure.in
new file mode 100644
index 0000000..f41d1ae
--- /dev/null
+++ b/fookb/configure.in
@@ -0,0 +1,134 @@
+dnl Process this file with autoconf to produce a configure script.
+dnl
+dnl (c) 1998-2004 Alexey Vyskubov <[email protected]>
+dnl
+dnl vim:ts=8:sts=2:shiftwidth=2:expandtab:foldmethod=marker
+
+dnl {{{1
+AC_INIT(fookb.c)
+
+dnl Checks for programs.
+AC_PROG_CC
+
+WUTIL_LIB="-lWUtil"
+AC_SUBST(WUTIL_LIB)
+dnl }}}1
+
+dnl Checks for libraries. {{{1
+
+dnl Basic checks: X compilation settings and essential libraries {{{2
+
+AC_PATH_XTRA
+dnl Adds C compiler flags to X_CFLAGS and X linker flags to X_CFLAGS
+dnl Extra libraries will be in X_EXTRA_LIBS
+dnl Libraries wich should be linked before -lX11 will be in X_PRE_LIBS
+dnl We do not check X_DISPLAY_MISSING because we need to check for
+dnl XkbOpenDisplay in libX11 anyway.
+
+AC_CHECK_LIB(
+  [X11],
+  [XkbOpenDisplay],
+  ,
+  [AC_MSG_ERROR([[Fatal: no libX11 or no XkbOpenDisplay() in libX11]])],
+  $X_LIBS
+)
+
+AC_CHECK_LIB(
+  [Xpm],
+  [XpmReadFileToImage],
+  ,
+  [AC_MSG_ERROR([[Fatal: no libXpm found!]])],
+  $X_LIBS
+)
+
+dnl }}}2
+
+dnl --enable/disable libWUtil (property lists handling) {{{2
+
+AC_ARG_ENABLE(
+  [libWUtil],
+  [  --enable-libWUtil       try to use property lists handling in libWUtil],
+  [
+    if test $enable_libWUtil = yes ; then
+
+dnl   enabled: libWUtil and WINGs/WUtil.h check {{{3    
+      AC_CHECK_LIB(
+        [WUtil],
+        [WMReadPropListFromFile],
+        [
+          dnl library is found; let's check header file {{{4
+          AC_CHECK_HEADERS(
+            [WINGs/WUtil.h],
+            ,
+            [
+              AC_MSG_WARN([[No WINGs/WUtil.h found -- cannot compile version with property lists support. You should use X resources for customizing fookb; or, if you have libproplist, use older version of fookb]])
+              WUTIL_LIB=""
+            ]
+          )
+          dnl }}}4
+        ],
+        [
+          AC_MSG_WARN([[No libWUtil found or old libWUtil version. You should use X resources for setting up fookb. If you have libproplist, use older version of fookb]])
+          WUTIL_LIB=""
+        ]
+        ,
+        $X_LIBS
+      )
+      dnl That's EVEN BETTER than LISP!!!
+dnl }}}3
+    else
+dnl if --disable-libWUtil is given we just do almost nothing
+      UTIL_LIB=""
+    fi
+  ],
+  [
+dnl neither --enable nor --disable-libWUtil is not given.
+dnl By default we will try to search for libWUtil {{{3
+    AC_CHECK_LIB(
+      [WUtil],
+      [WMReadPropListFromFile],
+      [
+        dnl library is found; let's check header file {{{4
+        AC_CHECK_HEADERS(
+          [WINGs/WUtil.h],
+          ,
+          [
+            AC_MSG_WARN([[No WINGs/WUtil.h found -- cannot compile version with property lists support. You should use X resources for customizing fookb; or, if you have libproplist, use older version of fookb]])
+            WUTIL_LIB=""
+          ]
+        )
+        dnl }}}4
+      ],
+      [
+        AC_MSG_WARN([[No libWUtil found or old libWUtil version. You should use X resources for setting up fookb. If you have libproplist, use older version of fookb]])
+        WUTIL_LIB=""
+      ]
+      ,
+      $X_LIBS
+    )
+dnl }}}3
+  ]
+)
+ 
+dnl }}}2
+
+dnl }}}1
+
+AC_ARG_ENABLE(
+  [wmaker],
+  [  --enable-wmaker         create windowmaker dockable application],
+  [ 
+    if test $enable_wmaker = yes ; then
+      AC_DEFINE(WMAKER)
+    fi
+  ],
+  [
+    AC_CHECK_PROG(HAVE_WMAKER, wmaker, yes, no)
+  
+    if test $HAVE_WMAKER = yes ; then
+      AC_DEFINE(WMAKER)
+    fi
+  ]
+)
+
+AC_OUTPUT(Makefile)
diff --git a/fookb/copyright b/fookb/copyright
new file mode 100644
index 0000000..a1310df
--- /dev/null
+++ b/fookb/copyright
@@ -0,0 +1,7 @@
+(c) 1998-2004 Alexey Vyskubov <[email protected]>
+
+Icons (c) 1999 LionN <[email protected]>
+  except Ru.xpm and En.xpm (c) by Andrei M. Soukharev <[email protected]>.
+
+ If you want to distribute, use or modificate this program, please look in
+ file "LICENSE".
diff --git a/fookb/fookb.1x b/fookb/fookb.1x
new file mode 100644
index 0000000..d093bcf
--- /dev/null
+++ b/fookb/fookb.1x
@@ -0,0 +1,146 @@
+.\" Copyright (c) 1998-2004 Alexey Vyskubov <[email protected]>
+.\"
+.\" This is free documentation; you can redistribute it and/or
+.\" modify it under the terms of the Artistic License
+.\" This manual is distributed in the hope that it will be useful,
+.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
+.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+.TH fookb 1 "10 Jan 2002" "fookb" "FOOcrosoft"
+.SH NAME
+fookb \- Xkb state indicator with optional Window Maker support
+.SH SYNOPSIS
+.B fookb [options]
+
+.SH DESCRIPTION
+\fBfookb\fP is a Xkb state indicator. It displays
+the icon corresponding to the number of Xkb locked group. You may use
+mouse-clicks to change Xkb locked group with mouse. Additionally,
+\fBfookb\fP can be configured to execute a program on changing group.
+.P
+\fBfookb\fP man page is based on \fBWMMail.app\fP man page. Program
+was written from scratch.
+.P
+To use \fBfookb\fP with the Window Maker Dock, simply drag the
+\fBfookb\fP icon to the Window Maker Dock (if \fBfookb\fP was compiled 
+with Window Maker support).
+
+.SH OPTIONS
+.TP
+NB! Command line parameters take precedence over config file or X resources!
+.TP
+All the icons should be of the same size or fookb will refuse to run. If you
+use Windowmaker-enabled version of fookb (windowmaker dockable applet) then
+fookb will warn you if you use icons of size more than 64x64, but it will try
+to run anyway.
+.TP
+.B -icon1
+.TP
+.B -icon2
+.TP
+.B -icon3
+.TP
+.B -icon4
+.TP
+.B -iconboom
+.TP
+.B -display
+
+.SH CONFIGURATION FILE (for libWUtil-enabled version)
+The configuration file consist of a single PropList dictionary, which
+in turn is composed of several PropList key\-value pairs. The
+recognized keys is:
+.TP
+.B Icon1 Filename (mandatory)
+XPM file contains an icon for 1st XKB group.
+.TP
+.B Icon2 Filename (mandatory)
+XPM file contains an icon for 2nd XKB group.
+.TP
+.B Icon3 Filename (mandatory)
+XPM file contains an icon for 3rd XKB group.
+.TP
+.B Icon4 Filename (mandatory)
+XPM file contains an icon for 4th XKB group.
+.TP
+.B IconBoom Filename (mandatory)
+XPM file contains an icon for "broken Xkb". Please look in
+BUGS section.
+.TP
+.B Sound (Yes|No)
+\fBfookb\fP will run command from "Command" value (see below), if this 
+parameter is set to "Yes". You'll receive (non-fatal) error message if 
+this parameter is not defined. In any other case command will not be
+run.
+.TP
+.B Command command_to_run
+This command will be run if XKB locked group is changed and "Sound" is 
+set to "Yes".
+
+.SH X resources
+.TP
+NB! Parameters in PropList config file take precedence over X resources!
+.TP
+.B fookb.icon1 Filename
+.TP
+.B fookb.icon2 Filename
+.TP
+.B fookb.icon3 Filename
+.TP
+.B fookb.icon4 Filename
+.TP
+.B fookb.iconBoom Filename
+.TP
+.B fookb.sound Yes/No
+.TP
+.B fookb.command Command
+
+.SH EXAMPLES
+Here is an example of configuration file.
+.P
+.nf
+{
+  Icon1 = "/usr/local/share/fookb/icon1.xpm";
+  Icon2 = "/usr/local/share/fookb/icon2.xpm";
+  Icon3 = "/usr/local/share/fookb/icon3.xpm";
+  Icon4 = "/usr/local/share/fookb/icon4.xpm";
+  IconBoom = "/usr/local/share/fookb/crash.xpm";
+  Sound = "Yes";
+  Command = "/usr/bin/play /usr/local/share/fookb/click.au";
+}
+.fi
+
+Here is an example of app-defaults file.
+.P
+.nf
+fookb.icon1: /usr/local/share/fookb/icon1.xpm
+fookb.icon2: /usr/local/share/fookb/icon2.xpm
+fookb.icon3: /usr/local/share/fookb/icon3.xpm
+fookb.icon4: /usr/local/share/fookb/icon4.xpm
+fookb.iconBoom: /usr/local/share/fookb/crash.xpm
+fookb.sound: Yes
+fookb.command: /home/bgates/bin/playmssound
+.fi
+
+.SH FILES
+.TP
+.B ~/GNUstep/Defaults/FOOkb
+\fBfookb\fP defaults (for Window Maker enabled version).
+.TP
+.B ~/.fookb
+\fBfookb\fP defaults (for Window Maker disabled version).
+
+.SH BUGS
+Sometimes \fBfookb\fP receives message about changing XKB group, but
+message.state.group does not point to any existing XKB group. In this
+case \fBfookb\fP will show IconBoom (from config file) picture.
+.P
+As far as I know the only way to look at this bug is to run vmware.
+
+.SH VERSION
+This man page is [hopefully] up-to-date for version 3.1 of \fBfookb\fP.
+
+.SH AUTHORS
+.P
+\fBfookb\fP is (c) 1998-2004 Alexey Vyskubov <[email protected]>.
+.P
+This manpage was written by Alexey Vyskubov <[email protected]>.
diff --git a/fookb/fookb.c b/fookb/fookb.c
new file mode 100644
index 0000000..6c22a49
--- /dev/null
+++ b/fookb/fookb.c
@@ -0,0 +1,304 @@
+/*
+ * fookb.c
+ *
+ * (c) 1998-2004 Alexey Vyskubov <[email protected]>
+ */
+
+#include <stdlib.h>		/* malloc() */
+#include <stdio.h>		/* puts() */
+
+/* X Window headers */
+#include <X11/Xlib.h>
+#include <X11/Xutil.h>
+
+/* Command line parsing and X resource manager */
+#include <X11/Xresource.h>
+
+/* XKB fun */
+#include <X11/XKBlib.h>
+
+/* My own fun */
+#include "fookb.h"
+#include "images.h"
+#include "sound.h"
+#include "opts.h"
+
+#define sterror(x) (void)printf("Strange error, please report! %s:%d, %s\n",\
+		__FILE__, __LINE__, x)
+
+
+static void getGC(Window win, GC *gc, Display *dpy)
+{
+	unsigned long valuemask = 0;	/* No data in ``values'' */
+	XGCValues values;
+	*gc = XCreateGC(dpy, win, valuemask, &values);
+	/* FIXME Check if there was an error */
+/*	XSetForeground(dpy, *gc, BlackPixel(dpy, scr)); */
+}
+
+
+int main(int argc, register char *argv[])
+{
+	Display *dpy;
+	int scr;
+	Window root;
+
+	int err;
+
+	int event_rtrn;	/* for XkbOpenDisplay */
+	int error_rtrn;
+	int reason_rtrn;
+
+	XkbEvent labuda;	/* Xkb event. X event will be labuda.core */
+
+	Window billy;		/*   _The_ Window  */
+
+#ifdef WMAKER
+	Window dilly;		/* ...and his icon */
+#endif
+
+	int border = 0;		/* _The_ Window parameters */
+
+	XWMHints *wm_hints;
+	XClassHint class_hints;
+
+#ifdef WMAKER			/* If we use Windowmaker, _The_ Window will */
+	XSizeHints *BigBunny;	/* be withdrawn. And we do not want to
+				   place empty border by hand. */
+#endif
+
+	GC gc;			/* Graphic context */
+
+	char resn[] = "fookb";
+	char resc[] = "Fookb";
+
+
+	int state = 0;		/* We suppose that latin keyboard is the
+				   primal state FIXME */
+
+	/*
+	event_rtrn = malloc(sizeof(int));
+	error_rtrn = malloc(sizeof(int));
+	reason_rtrn = malloc(sizeof(int));
+	*/
+
+	XrmInitialize();	/* We should initialize X resource
+				   manager before doing something else 
+				 */
+
+	ParseOptions(&argc, argv);	/* We should parse command line
+					   options and try to find '-display'
+					   before opening X display */
+
+/* Go, fighters, go! */
+	dpy = XkbOpenDisplay(mydispname,
+			     &event_rtrn,
+			     &error_rtrn, NULL, NULL, &reason_rtrn);
+
+/* Oops. */
+	if (dpy == NULL) {
+		(void)puts("Cannot open display.");
+		exit(EXIT_FAILURE);
+	}
+
+	scr = DefaultScreen(dpy);
+	root = RootWindow(dpy, scr);
+
+	MoreOptions(dpy);		/* Now we can parse X server resource
+				   database. It is not available
+				   before display is opened */
+
+/* We would like receive the only Xkb event: XkbStateNotify. And only
+ * when XkbLockGroup happens. */
+
+	if (False == XkbSelectEvents(dpy,
+			XkbUseCoreKbd,
+			XkbAllEventsMask,
+			0)) {
+		sterror("Cannot XkbSelectEvents. It's your problem -- not mine.");
+		exit(EXIT_FAILURE);
+	} /* Deselect all events */
+
+	if (False == XkbSelectEventDetails(dpy,
+				XkbUseCoreKbd,
+				XkbStateNotify,
+				XkbAllEventsMask,
+				XkbGroupLockMask)) {
+		sterror("Cannot XkbSelectEventDetails. It's your problem -- not mine.");
+		exit(EXIT_FAILURE);
+	} /* Select XkbStateNotify/XkbgroupLock */ 
+	
+	read_images(dpy);		/* Let's read icon images */
+
+/* Run out! */
+	billy = XCreateSimpleWindow(dpy,
+				    root,
+				    0, 0,
+				    get_width(), get_height(),
+				    border,
+				    BlackPixel(dpy, scr),
+				    WhitePixel(dpy, scr));
+	XStoreName(dpy, billy, "fookb");
+
+#ifdef WMAKER
+	dilly = XCreateSimpleWindow(dpy,
+				    root,
+				    0, 0,
+				    get_width(), get_height(),
+				    border,
+				    BlackPixel(dpy, scr),
+				    WhitePixel(dpy, scr));
+#endif
+
+	class_hints.res_name = resn;
+	class_hints.res_class = resc;
+
+	err = XSetClassHint(dpy, billy, &class_hints);
+	switch(err) {
+		case BadAlloc:
+			sterror("BadAlloc");
+			exit(EXIT_FAILURE);
+		case BadWindow:
+			sterror("BadWindow");
+			exit(EXIT_FAILURE);
+	}
+
+	wm_hints = XAllocWMHints();
+	wm_hints->window_group = billy;
+
+#ifdef WMAKER
+	wm_hints->icon_window = dilly;
+#endif
+
+	wm_hints->input = False;
+	wm_hints->flags = InputHint | WindowGroupHint;
+
+#ifdef WMAKER
+	wm_hints->flags = wm_hints->flags | IconWindowHint;
+	err = XSetWMHints(dpy, dilly, wm_hints);
+	switch(err) {
+		case BadAlloc:
+			sterror("BadAlloc");
+			exit(EXIT_FAILURE);
+		case BadWindow:
+			sterror("BadWindow");
+			exit(EXIT_FAILURE);
+	}
+	wm_hints->initial_state = WithdrawnState;
+	wm_hints->flags = wm_hints->flags | StateHint;
+#endif
+
+	err = XSetWMHints(dpy, billy, wm_hints);
+	switch(err) {
+		case BadAlloc:
+			sterror("BadAlloc");
+			exit(EXIT_FAILURE);
+		case BadWindow:
+			sterror("BadWindow");
+			exit(EXIT_FAILURE);
+	}
+
+#ifdef WMAKER
+	/* Look at the comment for XSizeHints * BigBunny */
+	BigBunny = XAllocSizeHints();
+	if (NULL == BigBunny) {
+		(void)printf("Not enough memory, %s:%d.\n", __FILE__, __LINE__);
+		exit(EXIT_FAILURE);
+	}
+/* Nasty Hack. XSizeHints.x & XSizeHints.y are obsolete. */
+	BigBunny->x = 0;
+	BigBunny->y = 0;
+	BigBunny->flags = PPosition;
+	XSetWMNormalHints(dpy, billy, BigBunny);
+	XFree(BigBunny);
+#endif
+
+/* The only thing we would like to do - update our billy */
+#ifndef WMAKER
+	XSelectInput(dpy, billy, ExposureMask | ButtonPressMask);
+#else				/* ...or dilly?! */
+	XSelectInput(dpy, dilly, ExposureMask | ButtonPressMask);
+#endif
+
+	XSetCommand(dpy, billy, argv, argc);
+
+/* Programmer supplied functions */
+#ifndef WMAKER
+	getGC(billy, &gc, dpy);
+#else
+	getGC(dilly, &gc, dpy);
+#endif
+
+
+/* Let's look */
+	XMapWindow(dpy, billy);	/* We would like to see the window. */
+
+/* HELLO! HELLO! HELLO! Is that our GOOD FRIEND main loop here? */
+	while (1) {
+		XNextEvent(dpy, &labuda.core);
+		switch (labuda.core.type) {
+
+		case Expose:	/* We should update our window. */
+			if (labuda.core.xexpose.count != 0)
+				/* Well, I knew what does it mean,
+				   but I forgot :) */
+				break;
+#ifndef WMAKER
+			update_window(billy, gc, state, dpy);
+#else
+			update_window(dilly, gc, state, dpy);
+#endif
+			break;
+		case ButtonPress:
+
+			switch (labuda.core.xbutton.button) {
+			case Button1:
+#ifdef DEBUG
+				puts("Button1 pressed.");
+#endif
+				XkbLockGroup(dpy,
+					     XkbUseCoreKbd,
+					     (state + 1) % 4);
+				break;
+			case Button2:
+#ifdef DEBUG
+				puts("Button2 pressed.");
+#endif
+				XkbLockGroup(dpy,
+					     XkbUseCoreKbd,
+					     (state + 3) % 4);
+				break;
+			case Button3:
+#ifdef DEBUG
+				puts("Button3 pressed, bye.");
+#endif
+				XFreeGC(dpy, gc);
+				XDestroyWindow(dpy, billy);
+#ifdef WMAKER
+				XDestroyWindow(dpy, dilly);
+#endif
+				XCloseDisplay(dpy);
+				exit(0);
+			}
+			break;
+		default:	/* XkbLockGroup happens : FIXME */
+			drip();
+			state = labuda.state.group;
+#ifdef DEBUG
+			printf("%u\n", state);
+#endif
+			if ((state < 0) || (state > 4))
+				state = 4;
+#ifndef WMAKER
+			update_window(billy, gc, state, dpy);
+#else
+			update_window(dilly, gc, state, dpy);
+#endif
+
+#ifdef DEBUG
+			puts(".");	/* XkbLockGroup happens */
+#endif
+		}
+	}
+
+}
diff --git a/fookb/fookb.cf b/fookb/fookb.cf
new file mode 100644
index 0000000..4ce9ad1
--- /dev/null
+++ b/fookb/fookb.cf
@@ -0,0 +1,12 @@
+# ALL THE ICONS SHOULD OF THE SAME SIZE!
+{
+#	Icon1 = "/usr/local/share/fookb/1.xpm";
+#	Icon2 = "/usr/local/share/fookb/2.xpm";
+	Icon1 = "/usr/local/share/fookb/lat.xpm";
+	Icon2 = "/usr/local/share/fookb/rus.xpm";
+	Icon3 = "/usr/local/share/fookb/3.xpm";
+	Icon4 = "/usr/local/share/fookb/4.xpm";
+	IconBoom = "/usr/local/share/fookb/boom.xpm";
+	Sound = "Yes";
+	Command = "/usr/bin/play /usr/local/share/fookb/beep_spring.au";
+}
diff --git a/fookb/fookb.h b/fookb/fookb.h
new file mode 100644
index 0000000..571d44d
--- /dev/null
+++ b/fookb/fookb.h
@@ -0,0 +1,13 @@
+/*
+ * fookb.h
+ * 
+ * (c) 1998-2004 Alexey Vyskubov <[email protected]>
+ *
+ */
+
+#ifndef FOOKB_H
+#define FOOKB_H
+
+extern char mydispname[256];	/* X display name */
+
+#endif				/* FOOKB_H */
diff --git a/fookb/globals.c b/fookb/globals.c
new file mode 100644
index 0000000..8283f83
--- /dev/null
+++ b/fookb/globals.c
@@ -0,0 +1,17 @@
+/*
+ * File: globals.c
+ *
+ * (c) 1998-2004 Alexey Vyskubov <[email protected]>
+ *
+ */
+
+#include <X11/Xlib.h>
+#include <X11/Xresource.h>
+
+char mydispname[256];		/* X display name */
+
+XrmDatabase cmdlineDB;		/* X resource database generated from
+				   command line */
+XrmDatabase finalDB;		/* X resource database generated from
+				   app-defaults and X resource
+				   database */
diff --git a/fookb/images.c b/fookb/images.c
new file mode 100644
index 0000000..54b4e69
--- /dev/null
+++ b/fookb/images.c
@@ -0,0 +1,182 @@
+/*
+ * images.c
+ *
+ * (c) 1998-2004 Alexey Vyskubov <[email protected]>
+ */
+
+#include <stdio.h>		/* puts() */
+#include <stdlib.h>
+#include <string.h>
+
+/* Xpm fun */
+#include <X11/xpm.h>
+
+//#include "fookb.h"
+#include "params.h"
+#include "images.h"
+
+/* Let us make lint happy! */
+#define lputs(x) (void)(puts(x))
+
+static int w = 0;
+static int h = 0;
+
+static XImage *stupid_picture[5];	/* Icons for fookb */
+
+int get_width() {
+	return w;
+}
+
+int get_height() {
+	return h;
+}
+
+static int get_one_image(char *name, int index, Display *dpy)
+{
+	int foo;
+
+	foo = XpmReadFileToImage(dpy, name, &stupid_picture[index],
+				 NULL, NULL);
+
+	if (0 == w) {
+		w = stupid_picture[index]->width;
+		if (0 == w) {
+			lputs("FATAL: Icon1 has zero width!");
+			exit(EXIT_FAILURE);
+		}
+#ifdef WMAKER
+		if (w > 64) {
+			lputs("Warning: Icon width is more than 64. Strange things may happen.");
+		}
+#endif
+	}
+
+	if (0 == h) {
+		h = stupid_picture[index]->height;
+		if (0 == h) {
+			lputs("FATAL: Icon1 had zero height!");
+			exit(EXIT_FAILURE);
+		}
+#ifdef WMAKER
+		if (h > 64) {
+			lputs("Warning: Icon height is more than 64. Strange things may happen.");
+		}
+#endif
+	}
+
+	if (w != stupid_picture[index]->width) {
+		lputs("FATAL: Not all icons are of the same width!");
+		exit(EXIT_FAILURE);
+	}
+
+	if (h != stupid_picture[index]->height) {
+		lputs("FATAL: Not all iconse are of the same height!");
+		exit(EXIT_FAILURE);
+	}
+	return (foo);
+}
+
+void read_images(Display *dpy)
+{
+	int i;
+	int res;
+	int status = 0;
+
+	for (i = 0; i < 5; i++) {
+
+		switch (i) {
+		case 0:
+			res = get_one_image(read_param("Icon1"), 0, dpy);
+			break;
+		case 1:
+			res = get_one_image(read_param("Icon2"), 1, dpy);
+			break;
+		case 2:
+			res = get_one_image(read_param("Icon3"), 2, dpy);
+			break;
+		case 3:
+			res = get_one_image(read_param("Icon4"), 3, dpy);
+			break;
+		default:
+			res = get_one_image(read_param("IconBoom"), 4, dpy);
+			break;
+		}
+
+		switch (res) {
+		case XpmOpenFailed:
+			lputs("Xpm file open failed:");
+			status = 1 << 5;
+			break;
+		case XpmFileInvalid:
+			lputs("Xpm file is invalid:");
+			status = 1 << 6;
+			break;
+		case XpmNoMemory:
+			lputs("No memory for open xpm file:");
+			status = 1 << 7;
+			break;
+		default:
+			break;
+		}
+
+		if (!(status == 0)) {
+			status += 1 << i;
+			switch (i) {
+			case 0:
+				lputs(read_param("Icon1"));
+				break;
+			case 1:
+				lputs(read_param("Icon2"));
+				break;
+			case 2:
+				lputs(read_param("Icon3"));
+				break;
+			case 3:
+				lputs(read_param("Icon4"));
+				break;
+			case 4:
+				lputs(read_param("IconBoom"));
+				break;
+			default:
+				lputs("UNKNOWN ERROR! PLEASE REPORT!!!");
+				exit(-2);
+			}
+			exit(status);
+		}
+	}
+
+}
+
+void update_window(Window win, GC gc, unsigned int whattodo, Display *dpy)
+{
+	int err;
+	
+	err = XPutImage(dpy, win, gc, stupid_picture[whattodo],
+			0, 0, 0, 0, w, h);
+
+	if (0 == err) return;
+
+	switch (err) {
+		case BadDrawable:
+			lputs("Fatal error, XPutImage returns BadDrawable. "
+					"Please report!");
+			break;
+		case BadGC:
+			lputs("Fatal error, XPutImage returns BadGC. "
+					"Please report!");
+			break;
+		case BadMatch:
+			lputs("Fatal error, XPutImage returns BadMatch. "
+					"Please report!");
+			break;
+		case BadValue:
+			lputs("Fatal error, XPutImage returns BadValue. "
+					"Please report!");
+			break;
+		default:
+			lputs("Fatal error, XPutImage returns unknown error. "
+					"Please report, but probably "
+					"it is a bug in X.");
+			break;
+	}
+}
diff --git a/fookb/images.h b/fookb/images.h
new file mode 100644
index 0000000..29d1b93
--- /dev/null
+++ b/fookb/images.h
@@ -0,0 +1,18 @@
+/*
+ * images.h
+ * 
+ * (c) 1998-2004 Alexey Vyskubov <[email protected]>
+ */
+
+#ifndef IMAGES_H
+#define IMAGES_H
+
+int get_width();
+int get_height();
+void read_images(Display *dpy);
+char *get_me_name(int);
+
+//extern XImage *stupid_picture[5];	/* Icons for fookb */
+
+void update_window(Window, GC, unsigned int, Display *);
+#endif				/* IMAGES_H */
diff --git a/fookb/lat.xpm b/fookb/lat.xpm
new file mode 100644
index 0000000..c891c28
--- /dev/null
+++ b/fookb/lat.xpm
@@ -0,0 +1,301 @@
+/* XPM */
+static char *magick[] = {
+/* columns rows colors chars-per-pixel */
+"48 48 247 2",
+"   c #080000",
+".  c Gray3",
+"X  c #100808",
+"o  c #180000",
+"O  c #080821",
+"+  c #000031",
+"@  c #080831",
+"#  c #101029",
+"$  c #181831",
+"%  c #210000",
+"&  c #210810",
+"*  c #290810",
+"=  c #211010",
+"-  c #291010",
+";  c #310008",
+":  c #390008",
+">  c #291821",
+",  c #292129",
+"<  c #292939",
+"1  c #312929",
+"2  c #313131",
+"3  c #000042",
+"4  c #000052",
+"5  c #00005a",
+"6  c #080852",
+"7  c #08085a",
+"8  c #180042",
+"9  c #101042",
+"0  c #181842",
+"q  c #181852",
+"w  c #00006b",
+"e  c #000073",
+"r  c #00007b",
+"t  c #080873",
+"y  c #18006b",
+"u  c #181063",
+"i  c #181863",
+"p  c #101073",
+"a  c #10107b",
+"s  c #181873",
+"d  c #18187b",
+"f  c #21005a",
+"g  c #29184a",
+"h  c #311852",
+"j  c #290073",
+"k  c #290873",
+"l  c #21187b",
+"z  c #39106b",
+"x  c #21214a",
+"c  c #393942",
+"v  c #313152",
+"b  c #393952",
+"n  c #212163",
+"m  c #21216b",
+"M  c #21296b",
+"N  c #292963",
+"B  c #21217b",
+"V  c #292973",
+"C  c #29317b",
+"Z  c #31216b",
+"A  c #39396b",
+"S  c #31317b",
+"D  c #39397b",
+"F  c #420818",
+"G  c #4a0010",
+"H  c #520818",
+"J  c #5a0010",
+"K  c #5a0818",
+"L  c #5a0821",
+"P  c #4a2931",
+"I  c #5a3139",
+"U  c #6b0010",
+"Y  c #730010",
+"T  c #730018",
+"R  c #7b0018",
+"E  c #630821",
+"W  c #631021",
+"Q  c #6b1021",
+"!  c #6b1029",
+"~  c #730031",
+"^  c #731029",
+"/  c #7b1829",
+"(  c #732939",
+")  c #4a2973",
+"_  c #52397b",
+"`  c Gray29",
+"'  c #42425a",
+"]  c #4a4a5a",
+"[  c #5a525a",
+"{  c #42426b",
+"}  c #42427b",
+"|  c #525263",
+" . c #52526b",
+".. c #5a6373",
+"X. c #734252",
+"o. c #7b4a5a",
+"O. c Gray39",
+"+. c #63636b",
+"@. c Gray42",
+"#. c #7b6b73",
+"$. c #7b737b",
+"%. c #000084",
+"&. c #080884",
+"*. c #000094",
+"=. c #101084",
+"-. c #10108c",
+";. c #18188c",
+":. c #182184",
+">. c #212184",
+",. c #292984",
+"<. c #21219c",
+"1. c #293194",
+"2. c #29319c",
+"3. c #313184",
+"4. c #39398c",
+"5. c #313194",
+"6. c #393994",
+"7. c #39399c",
+"8. c #3131a5",
+"9. c #424284",
+"0. c #4a4a84",
+"q. c #424294",
+"w. c #4a4a9c",
+"e. c #4a529c",
+"r. c #525284",
+"t. c #52529c",
+"y. c #525a94",
+"u. c #5a5a9c",
+"i. c #4242bd",
+"p. c #4a4abd",
+"a. c #5252a5",
+"s. c #5a5aa5",
+"d. c #5252b5",
+"f. c #5a63b5",
+"g. c #636384",
+"h. c #636394",
+"j. c #73738c",
+"k. c #6363a5",
+"l. c #6b6bad",
+"z. c #7373a5",
+"x. c #7373ad",
+"c. c #7b7bad",
+"v. c #7373b5",
+"b. c #4a4ac6",
+"n. c #7373c6",
+"m. c #7b84b5",
+"M. c #840018",
+"N. c #8c0018",
+"B. c #940018",
+"V. c #941031",
+"C. c #842131",
+"Z. c #ad0021",
+"A. c #a51839",
+"S. c #b50021",
+"D. c #b50829",
+"F. c #bd0021",
+"G. c #bd0831",
+"H. c #b51839",
+"J. c #8c1852",
+"K. c #940842",
+"L. c #9c0042",
+"P. c #94185a",
+"I. c #9c185a",
+"U. c #9c2163",
+"Y. c #ad0852",
+"T. c #a5215a",
+"R. c #845263",
+"E. c #8c5263",
+"W. c #847b7b",
+"Q. c #a5424a",
+"!. c #ad4a5a",
+"~. c #bd5a6b",
+"^. c #b5637b",
+"/. c #ce0018",
+"(. c #c60021",
+"). c #c60029",
+"_. c #ce0021",
+"`. c #d60021",
+"'. c #d60029",
+"]. c #de0029",
+"[. c #de0031",
+"{. c #c61842",
+"}. c #ce1842",
+"|. c #ff4a73",
+" X c #9c73ad",
+".X c #ad7394",
+"XX c #bd7384",
+"oX c #bd738c",
+"OX c #bd73a5",
+"+X c #d64a84",
+"@X c #c67384",
+"#X c #c6738c",
+"$X c #ce738c",
+"%X c #ce7b94",
+"&X c #ff5a84",
+"*X c #848484",
+"=X c #8c8484",
+"-X c Gray55",
+";X c #94848c",
+":X c Gray58",
+">X c #8484ad",
+",X c #8484b5",
+"<X c #848cb5",
+"1X c #8c8cb5",
+"2X c #8c8cbd",
+"3X c #8c94bd",
+"4X c #9494bd",
+"5X c #9c9cb5",
+"6X c #9c9cbd",
+"7X c #a5949c",
+"8X c #a5a5a5",
+"9X c Gray68",
+"0X c #a5a5bd",
+"qX c #ada5bd",
+"wX c #b5adad",
+"eX c #8484c6",
+"rX c #9c9cc6",
+"tX c #adadc6",
+"yX c #a5add6",
+"uX c #b5b5c6",
+"iX c #bdbdce",
+"pX c #bdc6ce",
+"aX c #ce8494",
+"sX c #d68494",
+"dX c #ff84ad",
+"fX c #c6bdce",
+"gX c #cebdc6",
+"hX c #cecece",
+"jX c #c6c6d6",
+"kX c #cecede",
+"lX c #ced6de",
+"zX c #d6c6ce",
+"xX c #d6dede",
+"cX c #dedeef",
+"vX c #e7cee7",
+"bX c #e7d6ef",
+"nX c #ffcef7",
+"mX c #f7dee7",
+"MX c #ffdee7",
+"NX c #e7e7e7",
+"BX c #e7e7ef",
+"VX c #efe7f7",
+"CX c #efeff7",
+"ZX c #f7e7ef",
+"AX c #ffe7ef",
+"SX c Gray97",
+"DX c Gray100",
+/* pixels */
+"$ @ 3 3 6 q n q q q n n i q q 0 q n i q q x q i m 0 ' v q m n q q q g ( C.C.C.C.C.C.( Q.~.!./ Q ",
+"@ n j.N B <.7.f.cXyXd.p.p.eXcXjXeXi.b.n.kXcXyXp.d.yXSXCXn.b.p.yXcXkX X+X|.|.|.|.|.&XdXnXDX&XG.D.",
+"# ' 9X*XV r a r.hX8XS t t 9.hXhX9.t t i 0XhXr.t t r.hX5Xi t t 0.lX4Xh K.D.S.D.D.G.G.G.}.}.G.Z.Z.",
+"O < =X0.3 5 4 Z :Xj.3 5 5 6 j.j.4 u m 4 0.g.q 7 4 n A { 3 m 7 q g.{ 8 ~ B.B.B.N.N.N.N.N.N.N.M.M.",
+"O 0 9 x r.5X>Xz.7 4.z.0X1X3.e w S 0XpX3.r e 4.uXqXD e e 3.iX0XD r %.s [email protected].",
+"O + 3 3 0.SXjXt %.r y.SXjXa %.*.t 0XDXm %.%.t 0XtXt &.r B DX5Xt *.*.=.SXDXSXDXSXDXSXCXNX9X8X7X7X",
+"O @ x 9 A c.l.d w.,.} ,Xh.d >.9.s 3XrXd s.tXD >X4XM c.k.s 6XrXB q.>.l vXmXmXmXZXmXmXmXzX7X;X;X-X",
+"# c @.*X9.r a 6XDXNXw.e r v.SXDXz.e %.4.fXDXl.%.r l.DXiX3.r e rXDXcX_ P.H.H.H.H.A.H.A.A.^ ! ! Q ",
+"O # #.| 5 %.r m CX1X5 %.r m SXCXs %.%.5 rXjX9.e r a CXtXw %.e s CXm.f Y.].].].[.[.[.).).N.R R R ",
+"O < <  .S 0Xs.6.:.7.=.c.l.:.3.3.w.rXtX,Xw.a v.rX3Xw.3.9.a.4XtXz.p 8.z Y.].].].[.[.[.[.).B.M.M.M.",
+"O + + 3 g.DXjX3.%.%.6.DXfX3.%.%.=.kXDXy.e *.a xXcXp %.e 0.DXDXe.%.*.k Y.].].].'.[.'.).).N.R M.R ",
+"O + 3 3 D iX6Xw %.r t CXtXw =.5.w h.iX9.t q.w h.l.p >.q.i 6X6Xt 7.-.y U.{.H.{.H.H.H.H.A./ ! ! ! ",
+"# < ]  .l.t w.>XtX4Xw.S 4.q.iXkXk.-.a l.uXSXl.&.r x.SXDXl.e e z.DXyX9.vXZXMXZXSXVXSXZXkX7X;X:X;X",
+"O $ #[email protected] %.%.u.DXkXa r %.a 6XDXD %.*.t 6XSX} %.*.>.CXCX>.*.%.3.DX5Xq SXDXDXDXDXDXDXSXNX8X:X:X:X",
+"O $ b b 5 w.:.r 0Xh.r 5.=.&.,Xh.k.t 5.t ,Xy.x.V :.>.4.D d >.9.k.t.m.Z OXsXsX$XsXsX%X%XXXE.o.o.o.",
+"O @ + 6 g.CXuX6.%.*.6.kXiX4.%.%.4.iXkXh.&.r q.BXBX6.%.%.l.SXDXx.e *.k L././.(.(.F.F.F.Z.Y Y Y Y ",
+"O + 3 3 A CX0Xt %.%.B DXtXt %.%.t 0XDXS w &.5 6XrXw %.r p SXCXi %.*.j Y.].].].].[.'.'.).B.M.M.M.",
+"# # ] v h.u.2XC c.l.m rX4X:.k.c.,.2Xy.0X2XyX,X3.3.a.4XtXt.4.9.1.yXl.z Y.].].'.].[.[.).).N.R R M.",
+"O < @[email protected] r t l.DXpX4.r r 3.fXDXh.=.r d kXDXu.%.%.e.DXDXy.%.%.z.DXiX) I.{.H.{.H.H.H.H.A./ ^ ! ! ",
+"O $ [  .5 %.*.7 CXtXw %.%.t 6XjX0.e %.&.k.,X>.r %.t rX0Xt %.w 4.jX4Xu bXZXMXZXVXAXVXZXzX7X;X;X;X",
+"O $ @ x m 6.>.;.5.q.>.c.l.;.6.t w.h.,Xa *.r w.rX4X6.e w q.uX4Xx.a 7.>.SXDXDXDXDXDXDXSXNX8X:X7X:X",
+"O + 3 3 ,XDXcX7.%.e h.DXfX1.%.%.,.jXDX3.*.*.a hXkX:.%.r y.DXjXa *.*.=.vXmXmXmXmXmXmXvXzX7X-X-X=X",
+"O + x 3 i cX1Xu >.4.r.jX6Xs ,.q.i tXCXm C q.s 0XtXp k.c.n tXk.m q.1.z J.A.A.A.V.A.A.A.V.Q E E E ",
+"# # @.| D a ,.s.DXDX4Xt 5.w.lXDX1Xw.1.w.kXDX3Xq.7.q.lXDXl.%.a m.DXkX_ L.`.`.`.'._.).(.S.M.R Y T ",
+"O < [ ..t *.*.-.6XrX&.*.*.&.l.<X1.*.*.%.v.3X,.*.*.*.3XrX&.*.*.2.m.f.j Y.].].'.[.].[.'.).N.M.M.M.",
+"O $ # v m -.-.:.i p d =.;.;.s t >.-.;.-.d p >.;.-.:.p p ;.-.=.>.t d z T.{.{.{.{.{.{.H.A./ ^ ^ ! ",
+", [ +.*XxXBXCXVXVXCXCXCXCXCXCXCXCXCXCXCXCXBXCXCXCXCXCXCXCXCXCXCXCXCXCXSXZXZXZXZXBXZXZXkX7X;X;X;X",
+"1 O.@.:XxXSXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXSXNX8X:X:X:X",
+"2 [ @.:XxXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXSXNX8X7X:X:X",
+"> P I X.^.@X@X@X#X@X#X@X$X@X@X$X@X$X@X@X@X@X@X$X@X@X@X@X@X@X$X@X#X$X#X$X@X$X@X$X#X#X@X^.o.X.X.X.",
+"= G G U B.S.F.F.S.F.S.F.S.F.S.F.S.S.F.F.S.F.S.S.F.F.F.S.F.S.S.S.S.Z.S.S.S.Z.S.Z.S.Z.Z.B.Y U U J ",
+"- G J Y F._._.`.`.`.).`.`.`.).`.`.`._.`.'.`.`.`.`._.`.'.`._.`.`.'.).`.'._.'.).`.'.).).).N.R R R ",
+"* G J R ).'.'.[.[.[.'.].'.[.].[.[.[.'.'.].'.[.[.[.[.'.'.[.'.].[.[.].'.].[.'.].[.'.].'.(.N.R M.M.",
+"- F L ! A.{.{.{.H.{.{.{.{.{.{.{.H.{.{.{.{.{.{.{.{.{.{.{.{.{.{.{.{.{.{.{.{.{.{.{.{.{.H.A./ ^ ^ ! ",
+"2 [ O.-XzXmXZXZXVXZXVXZXVXBXZXZXVXZXVXBXZXVXZXBXZXVXZXBXZXVXZXBXZXVXBXZXVXZXZXVXZXVXZXkX7X;X;X;X",
+"2 [ #.;XcXSXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXSXNX8X:X:X:X",
+"1 [ @.*XzXmXZXZXZXZXZXZXZXZXZXZXZXZXZXZXZXZXZXZXZXZXZXZXZXZXZXZXZXZXZXZXZXZXZXZXZXZXmXzX7X;X:X;X",
+"= F F W V.A.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.A.H.H.H.H.A.H.H.A.A.A.Q Q Q W ",
+"- G J Y S.(._._._.).)._._.)._._._.).).)._.)._._.).).)._.)._._._.).).)._.)._._._._.)._.S.M.R Y Y ",
+"- G J T F.).).'.).'.).'.).'.).).'.)._.'.'.'.).).'.).'.'.'.).).'.'.'.'.'.'.).).'.'.).(.).N.R R R ",
+"* G G U Z.S.F.F.F.F.F.F.F.S.).F.F.F.F.S.F.S.).F.F.S.F.F.S.).F.F.S.S.S.F.S.).F.F.S.F.S.Z.T T U T ",
+"> I I X.XX%X%XaXsX%XaXaXsXaXaXaX%XaX%XaXaXaXaXaXsX%XaXaXaXaXaXaXsX%XaXaXaXaXaXaXsX%X%XXXR.X.o.o.",
+", [ +.*XxXSXSXSXSXSXDXSXSXSXSXDXSXDXSXDXSXDXSXSXSXDXSXDXSXSXDXSXSXDXSXDXSXSXDXSXDXSXCXxX7X-X:X-X",
+", ` [ [ wXgXzXzXzXzXzXzXzXzXzXzXzXzXzXzXzXzXzXzXzXzXzXzXzXzXzXzXzXzXzXzXzXzXzXzXzXzXzXwX#.$.W.W.",
+"= * * F F H K L L L K L L L L L L L K L L L L L L K L L L L L L L K L L L L L L L H H H F L L L ",
+"X ; ; ; ; ; : ; : ; : ; : ; : ; : ; : ; ; : ; : ; : ; : ; : ; : ; : ; : ; : ; : ; : : G G : G J ",
+"X       X o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o % ; ; : ",
+"= . . X X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . X X & * "
+};
diff --git a/fookb/opts.c b/fookb/opts.c
new file mode 100644
index 0000000..ec675e9
--- /dev/null
+++ b/fookb/opts.c
@@ -0,0 +1,108 @@
+/*
+ * File: opts.c
+ *
+ * (c) 1998-2004 Alexey Vyskubov <[email protected]>
+ */
+
+#include <stdio.h>
+
+#include <string.h>
+#include <stdlib.h>
+
+#include <X11/Xlib.h>		/* X Window standard header */
+#include <X11/Xresource.h>	/* X resource manager stuff */
+
+#include "fookb.h"
+#include "opts.h"
+
+static int tblentr = 6;		/* There are 6 recognized
+				   options */
+static XrmOptionDescRec tbl[] = {
+	{"-icon1", ".icon1",
+	 XrmoptionSepArg,
+	 (XPointer) NULL},
+	{"-icon2", ".icon2",
+	 XrmoptionSepArg,
+	 (XPointer) NULL},
+	{"-icon3", ".icon3",
+	 XrmoptionSepArg,
+	 (XPointer) NULL},
+	{"-icon4", ".icon4",
+	 XrmoptionSepArg,
+	 (XPointer) NULL},
+	{"-iconboom", ".iconBoom",
+	 XrmoptionSepArg,
+	 (XPointer) NULL},
+	{"-display", ".display",
+	 XrmoptionSepArg,
+	 (XPointer) NULL}
+};
+
+void ParseOptions(int *argc, register char *argv[])
+{
+	XrmValue value;
+	char *str_type[20];
+	mydispname[0] = '\0';
+
+	XrmParseCommand(&cmdlineDB, tbl, tblentr, "fookb", argc, argv);
+
+#ifdef DEBUG
+	puts("Hereiam");
+#endif
+
+	if (1 != *argc) {
+		puts("Fookb v 3.0");
+		puts("\tUsage: fookb [options]");
+		puts("Possible options:");
+		puts("-icon1 xpm_file\t\tIcon to show for the 1st Xkb group");
+		puts("-icon2 xpm_file\t\tIcon to show for the 2nd Xkb group");
+		puts("-icon3 xpm_file\t\tIcon to show for the 3rd Xkb group");
+		puts("-icon4 xpm_file\t\tIcon to show for the 4th Xkb group");
+		puts("-iconboom xpm_file\tIcon to show when Xkb system goes crazy");
+		puts("-display X_display\tX display to use (normally not needed)");
+		puts("");
+#ifdef HAVE_WINGS_WUTIL_H
+		puts("Command line parameters takes precedence over X resources or configuration file!");
+		printf("Configuration file location: ");
+#ifdef WMAKER
+		puts("~/GNUstep/Defaults/FOOkb");
+#else
+		puts("~/.fookb");
+#endif
+#else
+		puts("Command line paramaters takes precedence over X resources!");
+#endif
+		exit(0);
+	}
+
+	/* We should get display now -- we need it for access to other
+	   databases */
+	if (XrmGetResource(cmdlineDB, "fookb.display", "Fookb.Display",
+			   str_type, &value) == True) {
+		(void) strncpy(mydispname, value.addr, (size_t)value.size);
+#ifdef DEBUG
+		puts(mydispname);
+#endif
+	}
+
+}
+
+void MoreOptions(Display *dpy)
+{
+
+	XrmDatabase servDB, appDB;
+
+	appDB = XrmGetFileDatabase
+		("/usr/X11R6/lib/X11/app-defaults/Fookb");
+	(void) XrmMergeDatabases(appDB, &finalDB);	/* Fookb defaults file
+							   added into final
+							   database */
+
+	/* Let's look: does xrdb load server defautls? (As a property of
+	   root window.) */
+	if (XResourceManagerString(dpy) != NULL) {
+		servDB = XrmGetStringDatabase(XResourceManagerString(dpy));
+		XrmMergeDatabases(servDB, &finalDB);
+	}
+
+}
diff --git a/fookb/opts.h b/fookb/opts.h
new file mode 100644
index 0000000..2ffbc5d
--- /dev/null
+++ b/fookb/opts.h
@@ -0,0 +1,32 @@
+/*
+ * File: opts.h
+ *
+ * (c) 1998-2004 Alexey Vyskubov <[email protected]>
+ *
+ */
+
+#ifndef OPTS_H
+#define OPTS_H
+
+/* X Window resource management */
+#include <X11/Xlib.h>
+#include <X11/Xresource.h>
+extern XrmDatabase cmdlineDB;	/* Database for resources from command 
+				   line */
+
+extern XrmDatabase finalDB;	/* Database for resources from other
+				   sources -- app-defaults and X
+				   Window resources */
+
+void ParseOptions(int *argc, register char *argv[]);	/* Parse
+							   command
+							   line
+							   options */
+
+void MoreOptions(Display *dpy);		/* Parse
+				   app-defaults
+				   and X
+				   resources
+				   database */
+
+#endif				/* OPTS_H */
diff --git a/fookb/params.c b/fookb/params.c
new file mode 100644
index 0000000..9ce38ed
--- /dev/null
+++ b/fookb/params.c
@@ -0,0 +1,155 @@
+#include <stdio.h>
+#include <string.h>		/* strlen & strcat */
+#include <ctype.h>		/* toupper */
+#include <stdlib.h>
+#include "params.h"
+#include "opts.h"
+
+/* Let's make lint happy */
+#define lputs(x) (void)puts(x)
+
+char *read_param(char *string)
+{
+	XrmValue xvalue;
+
+#ifdef HAVE_WINGS_WUTIL_H
+	WMPropList *pl;
+	WMPropList *value;
+	WMPropList *tmp;
+	char *path;
+#endif
+
+	char *newstring;
+	char *newString;
+	char *result;
+	char *str_type[20];
+	
+	/* Let's make lint happy */
+	xvalue.size = 0;
+
+#ifndef HAVE_WINGS_WUTIL_H
+	newstring = (char *) malloc(7 + strlen(string));
+	newString = (char *) malloc(7 + strlen(string));
+	/* 7 is strlen("fookb.") + 1 */
+	
+	if ((NULL == newstring) || (NULL == newString)) {
+		lputs("Not enough memory");
+		exit(EXIT_FAILURE);
+	}
+
+	strcpy(newstring, "fookb.");
+	strcpy(newString, "Fookb.");
+
+	strcat(newstring, string);
+	strcat(newString, string);
+#else
+	/* libWUtil contains handy function */
+	newstring = wstrconcat("fookb.", string);
+	newString = wstrconcat("Fookb.", string);
+#endif
+	newstring[6] = tolower((unsigned char)newstring[6]);
+	newString[6] = toupper((unsigned char)newString[6]);
+
+/* Command line parameters take precedence over all */
+
+	if (XrmGetResource(cmdlineDB,
+				newstring,
+				newString,
+				str_type,
+				&xvalue) == True) {
+		result = (char *) malloc(xvalue.size + 1);
+		if (NULL == result) {
+			lputs("Not enough memory");
+			exit(EXIT_FAILURE);
+		}
+		strncpy(result, xvalue.addr, (size_t)xvalue.size);
+		result[(int) xvalue.size + 1] = '\0';
+
+#ifdef HAVE_WINGS_WUTIL_H
+		wfree(newstring);
+		wfree(newString);
+#else
+		free(newstring);
+		free(newString);
+#endif
+		return result;
+	}
+
+#ifdef HAVE_WINGS_WUTIL_H
+
+	wfree(newstring);
+	wfree(newString);
+
+	/*
+	 * Here we start the game with property lists.
+	 * pl will be property list, read from DEFAULTS_FILE.
+	 * tmp will be temporary key for this property list,
+	 * constructed using ``string'', supplied to function.
+	 * value will be property list, which contain the value
+	 * of parameter
+	 */
+
+	path = wexpandpath(DEFAULTS_FILE);
+	pl = WMReadPropListFromFile(path);
+	wfree(path);
+
+	if (!pl) {
+		lputs("Cannot open config file: ");
+		lputs(DEFAULTS_FILE);
+		exit(EXIT_FAILURE);
+	}
+
+	tmp = WMCreatePLString(string);
+	value = WMGetFromPLDictionary(pl, tmp);
+	WMReleasePropList(tmp);
+
+	/*
+	 * pl and value objects will exist as long as fookb is running
+	 */
+
+	if (!value) {
+		lputs("Cannot find in config file value for: ");
+		lputs(string);
+		exit(EXIT_FAILURE);
+	}
+
+	if (!WMIsPLString(value)) {
+		lputs("Value for: ");
+		lputs(string);
+		lputs("in config file is not a string.");
+		exit(EXIT_FAILURE);
+	}
+
+	result = WMGetFromPLString(value);
+
+	if (!result) {
+		lputs("Something wrong with libWUtils :(");
+		lputs("Please report this error to fookb author.");
+		exit(EXIT_FAILURE);
+	}
+
+	return result;
+
+#else				/* HAVE_WINGS_WUTIL_H */
+
+	if (XrmGetResource(finalDB, newstring, newString, str_type,
+			   &xvalue) == True) {
+		result = (char *) malloc(xvalue.size + 1);
+		if (NULL == result) {
+			lputs("Not enough memory");
+			exit(EXIT_FAILURE);
+		}
+		strncpy(result, xvalue.addr, (size_t)xvalue.size);
+		result[(int) xvalue.size + 1] = '\0';
+		free(newstring);
+		free(newString);
+		return result;
+	} else {
+		(void)printf("Fatal error: cannot find configuration parameter %s\n",
+				newstring);
+		exit(EXIT_FAILURE);
+	}
+
+#endif
+
+}
diff --git a/fookb/params.h b/fookb/params.h
new file mode 100644
index 0000000..b261f5f
--- /dev/null
+++ b/fookb/params.h
@@ -0,0 +1,27 @@
+/*
+ * params.h
+ *
+ * (c) 1998-2004 Alexey Vyskubov <[email protected]>
+ *
+ */
+
+#ifndef PARAMS_H
+#define PARAMS_H
+
+#ifdef HAVE_WINGS_WUTIL_H 
+#include <WINGs/WUtil.h> 
+
+#ifdef WMAKER
+#define DEFAULTS_FILE "~/GNUstep/Defaults/FOOkb"
+#else
+#define DEFAULTS_FILE "~/.fookb"
+#endif				/* WMAKER */
+
+#endif				/* HAVE_WINGS_WUTIL_H */
+
+#include <X11/Xlib.h>		/* X Window standard header */
+#include <X11/Xresource.h>	/* X resource manager stuff */
+
+char *read_param(char *);
+
+#endif				/* PARAMS_H */
diff --git a/fookb/rus.xpm b/fookb/rus.xpm
new file mode 100644
index 0000000..f0fbbd5
--- /dev/null
+++ b/fookb/rus.xpm
@@ -0,0 +1,310 @@
+/* XPM */
+static char *magick[] = {
+/* columns rows colors chars-per-pixel */
+"48 48 256 2",
+"   c Gray0",
+".  c #070000",
+"X  c #0c0000",
+"o  c #130000",
+"O  c #1d0001",
+"+  c #150c27",
+"@  c #1f1234",
+"#  c #1c1927",
+"$  c #270002",
+"%  c #3d0002",
+"&  c #330002",
+"*  c #362b2b",
+"=  c #3d3838",
+"-  c #00034c",
+";  c #00045e",
+":  c #1b0756",
+">  c #1b084a",
+",  c #00056e",
+"<  c #1b0676",
+"1  c #1e086a",
+"2  c #321f5c",
+"3  c #271456",
+"4  c #2f1b6b",
+"5  c #311d6e",
+"6  c #382b55",
+"7  c #3d3a4a",
+"8  c #372270",
+"9  c #410003",
+"0  c #450003",
+"q  c #4c0003",
+"w  c #42080a",
+"e  c #5d0004",
+"r  c #550004",
+"t  c #5c1c1f",
+"y  c #481214",
+"u  c #4e3e3e",
+"i  c #592526",
+"p  c #5e3436",
+"a  c #6d0005",
+"s  c #670205",
+"d  c #660e11",
+"f  c #730005",
+"g  c #780005",
+"h  c #7e0005",
+"j  c #7b181b",
+"k  c #733739",
+"l  c #433858",
+"z  c #412e7d",
+"x  c #4a3a75",
+"c  c #4c4a4a",
+"v  c #564040",
+"b  c #544e58",
+"n  c #5b595a",
+"m  c #4a4757",
+"M  c #4a4163",
+"N  c #534d65",
+"B  c #554778",
+"V  c #5b5a69",
+"C  c #684f50",
+"Z  c #675a5b",
+"A  c #775556",
+"S  c #764345",
+"D  c #6e5f60",
+"F  c #635a7d",
+"G  c #6d6b6b",
+"H  c #646367",
+"J  c #696877",
+"K  c #716d6d",
+"L  c #7c6565",
+"P  c #716e7c",
+"I  c #747373",
+"U  c #7c7b7b",
+"Y  c #72737e",
+"T  c #000796",
+"R  c #000690",
+"E  c #1c099f",
+"W  c #190785",
+"Q  c #0007a5",
+"!  c #180aba",
+"~  c #1808a8",
+"^  c #210d9a",
+"/  c #2a14a8",
+"(  c #2e18b2",
+")  c #3c238b",
+"_  c #3e26af",
+"`  c #3323bc",
+"'  c #0e0adc",
+"]  c #140ac8",
+"[  c #140cd7",
+"{  c #1f1adb",
+"}  c #000ae2",
+"|  c #0c0ce9",
+" . c #000bf7",
+".. c #040bf7",
+"X. c #000bfd",
+"o. c #010cfd",
+"O. c #1111eb",
+"+. c #2114d2",
+"@. c #3827c4",
+"#. c #432b97",
+"$. c #4f368e",
+"%. c #51348f",
+"&. c #553d97",
+"*. c #48318f",
+"=. c #553aa1",
+"-. c #4636c5",
+";. c #59458a",
+":. c #5d499d",
+">. c #4a41bc",
+",. c #614e8a",
+"<. c #6a5495",
+"1. c #735d9e",
+"2. c #654dab",
+"3. c #755ea5",
+"4. c #6e6587",
+"5. c #7a689b",
+"6. c #7e7d8c",
+"7. c #777686",
+"8. c #7d7793",
+"9. c #7f8585",
+"0. c #850006",
+"q. c #8e0006",
+"w. c #960007",
+"e. c #910006",
+"r. c #940309",
+"t. c #9e1f24",
+"y. c #97292c",
+"u. c #a40007",
+"i. c #ab0107",
+"p. c #b60209",
+"a. c #b01015",
+"s. c #ba1d23",
+"d. c #9d3f42",
+"f. c #9b4649",
+"g. c #9d5c5e",
+"h. c #816767",
+"j. c #857b7b",
+"k. c #957879",
+"l. c #916668",
+"z. c #a27779",
+"x. c #c6020a",
+"c. c #d5000a",
+"v. c #dc000a",
+"b. c #db000a",
+"n. c #d21017",
+"m. c #d0282e",
+"M. c #c7282e",
+"N. c #e2000a",
+"B. c #e0040d",
+"V. c #ea010a",
+"C. c #f7000b",
+"Z. c #f5010b",
+"A. c #f2010c",
+"S. c #fd000b",
+"D. c #fe010c",
+"F. c #fc020d",
+"G. c #fa010c",
+"H. c #d04045",
+"J. c #837b8c",
+"K. c #827993",
+"L. c #887ba7",
+"P. c #83838e",
+"I. c #8f8c8c",
+"U. c #8d8d8d",
+"Y. c #888586",
+"T. c #848592",
+"R. c #878994",
+"E. c #888796",
+"W. c #898a95",
+"Q. c #8f8e9c",
+"!. c #8c8c9a",
+"~. c #8d9094",
+"^. c #8d9099",
+"/. c #918e8e",
+"(. c #9a8787",
+"). c #908f9d",
+"_. c #9c8f90",
+"`. c #929191",
+"'. c #969393",
+"]. c #969797",
+"[. c #91919f",
+"{. c #93959d",
+"}. c #959a9c",
+"|. c #9a9595",
+" X c #9c9a9a",
+".X c #928aa4",
+"XX c #9495a2",
+"oX c #9798a4",
+"OX c #999aa6",
+"+X c #9a9ba8",
+"@X c #9f9fad",
+"#X c #9c9daa",
+"$X c #9a95a9",
+"%X c #9ca2a5",
+"&X c #9fa0ab",
+"*X c #a48a8a",
+"=X c #aa8d8d",
+"-X c #a59b9b",
+";X c #aa9596",
+":X c #ab9c9c",
+">X c #a29495",
+",X c #ba9b9b",
+"<X c #b39797",
+"1X c #a09fad",
+"2X c #a4a2a2",
+"3X c #a1a2ae",
+"4X c #aba3a3",
+"5X c #adaaaa",
+"6X c #a4a4b1",
+"7X c #a6a8b4",
+"8X c #a9aab6",
+"9X c #acadba",
+"0X c #aeb2b2",
+"qX c #afb6bb",
+"wX c #b5aaab",
+"eX c #b7a6a7",
+"rX c #b4b3b3",
+"tX c #b1b2be",
+"yX c #bbb7b7",
+"uX c #b8b7b7",
+"iX c #bbb2b2",
+"pX c #bdbaba",
+"aX c #b5baba",
+"sX c #b8b8c7",
+"dX c #c59f9f",
+"fX c #c4898a",
+"gX c #c2a3a3",
+"hX c #c6acac",
+"jX c #c7baba",
+"kX c #d2aeae",
+"lX c #d6b6b6",
+"zX c #cbc7c7",
+"xX c #c9c5c5",
+"cX c #c9c0c0",
+"vX c #cecaca",
+"bX c #c4c5c8",
+"nX c #cbd1d1",
+"mX c #d7c9c9",
+"MX c #dad6d6",
+"NX c #ded9d9",
+"BX c #d6d2d2",
+"VX c #c6c8d3",
+"CX c #e2c7c7",
+"ZX c #e1dddd",
+"AX c #ead8d8",
+"SX c #e5e0e0",
+"DX c #eee7e7",
+"FX c #f3ecec",
+"GX c #f3e7e7",
+"HX c #f6f1f1",
+"JX c #f5f0f0",
+"KX c #fbf6f6",
+"LX c #fbf5f5",
+"PX c #fcf7f7",
+"IX c #faf2f2",
+"UX c Gray100",
+/* pixels */
+"4XpXvXMXZXDXFXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXKXUXUXUXUXFXZX",
+"/.4XpXxXMXFXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXMXvX",
+"U /.2XwXpXjXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXvXvXBXZXSXvXxXpX",
+"H U /. X2XrXyXyXyXyXpXyXyXyXpXyXpXyXyXpXyXyXpXyXyXyXpXyXpXyXyXpXyXyXpXyXyXyXpXyXyXpXyXrXrXrXwX5X",
+"n G j.I.vXNXSXSXSXSXSXSXSXSXSXSXSXSXSXSXSXSXSXSXSXSXSXSXSXSXSXSXSXSXSXSXSXSXSXSXSXSXZXBX2X4X2X-X",
+"b H I `.MXDXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXFXNX4X X X|.",
+"c n K /.NXJXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXIXdXkXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXJXZX2X|.|.'.",
+"c n G I.NXJXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXKXmXdX;X,XkXlXKXKXKXKXKXKXKXKXKXKXKXKXKXKXJXZX2X'.'.'.",
+"c n K /.NXHXKXKXPXPXPXPXPXPXPXPXPXPXPXPXPXkX5XnXpXuXbXrXCXPXPXPXPXPXPXPXPXPXPXPXKXKXJXZX2X'.'.`.",
+"c n G /.NXHXKXKXPXPXPXPXPXPXPXPXAXDXPXPXmXh.aXuXuXrXpXqXlXPXPXPXDXAXIXPXPXPXPXPXKXKXJXZX-X'.'.`.",
+"c n G I.NXHXKXKXPXPXPXPXPXPXKXCXeX(.lXPX,X* U  X2X2X}.4XAXFXPXlX(.;XCXPXPXPXPXPXKXKXJXZX2X'.'.`.",
+"c n G I.NXHXKXKXPXPXPXPXPXPXCX,XpX=XhXgX:Xn b 5X X].2XgXlX;X,XiX<XgXlXAXPXPXPXPXKXKXJXZX2X'.'.`.",
+"c n G I.NXHXKXKXPXPXPXPXPXKX=XaX(.k.vX/.Y.Y.0X`.= c |.eXj.9.9.nXk.<XcXlXPXPXPXPXKXKXJXZX2X'.'.`.",
+"c n G I.NXHXKXKXPXPXPXPXKXAX>X;XeXu I.`.I U yX*XL u A rXY.K U.wXL <XgXhXJXPXPXPXKXKXJXZX-X'.'.`.",
+"c n K I.NXHXKXKXPXPXPXPXlX*XwX=XAXh.G ].`.U.*XGXFX=X* K `.Y.].:X<X*X*XhXkXkXPXPXKXKXJXZX2X'.'.`.",
+"c n K /.NXHXKXKXPXPXKXlX;X%X0XY.AX*XY.I U  X].,XIXmXK ].I.G j.|.*XL U uX2XjXCXKXKXKXJXZX2X'.'.`.",
+"- ; , R }  .o.o.o.o.| ;.{.[.{.oX;.4 H V [.).[.%X#.) ~.[.[.^.,.,.8 x R.XX[.$X5.O.o.o...} Q T T T ",
+"- ; , R }  .o.o.o.../ 7.oX#XE.7XT.8 N P [.T.T.Q.K.E.Q.T.T..X<.$.6 6.6X!.@X}.L.+...o...} Q T T T ",
+"- ; , R '  .o.o.o.' 5.R.&XE.OX@X&Xx < > + # 7.T.#X&XE.7.5 E ] W l OX+XXXQ.3X.X1...o...} Q T T R ",
+"- ; , R }  .o.o.o.! 4.3XW.3X3X@X3XoX( ' W + Y P.XXXXP.7./ o.| 5 ~.3X6X3X6X!.%X2.| o...} Q T T T ",
+"- ; , R }  .o.o...*.}.3XXX[.+XOX#X0X&.o.~ V #XoXOX@X+X%X<.| ~ N 8X3XOX#X[.[.1XK.-.o. .} Q T T T ",
+"- ; , R '  .o.o.' 4 XXW.P.+X+XXX6X%X;.[ z T.8XtXXXoX@X8XXX;.3 N OX6XXXOX#XE.P..X{ o. .} Q T T T ",
+"- ; , R }  .o.o.[ F T.XXXX[.#X+X#[email protected].{.oX8X9XR.P E.XXoX{.9.E.@X3XoX#XoXQ.W.J.>.o. .} Q T T T ",
+"- ; , R }  .o...! M R.T.9XoXoXXX#X@X6X3X&XQ.#X7X@X!.OXE.Q.@X7X6X6X#XXXOXOXQ.W.OX-.o. .} Q T T T ",
+"- ; , R }  .o.o.! 6 {.8X3XOX+X#X#X#X6X@XXX6.[[email protected].+X@X#X+X@X@X).6.W.J.` o. .} Q T T R ",
+"- ; , R }  .o.o.] x R.#XoXoXOX3X#X+XOX[.W.T.XX#XoXQ.Q.XXR.T.T.).[.XX#X#[email protected]. .} Q T T T ",
+"- ; , R '  .o.o.' 1 7 T.Q.[.[.XX[.oXXX[.6.[.Q.!.+XQ.T.XXQ.T.[.XXXX[.Q.XXXXQ.3X=...o. .} Q T T T ",
+"- ; , R }  .o.o.o.^ J XXXX6.T.T.[.Q.Q.oX7.6X#XW.OX3XoX6XOX6.Q.XXQ.XXE.Q.Q.oX.X3.| o. .} Q T T T ",
+"- ; , R }  .o.o.o.] : 7 P.6X3XQ.T.6.T.#X3X[.7.E.Q.[.W.J H [email protected].%.| o.o. .} Q T T T ",
+"- ; , R }  .o.o.o...~ 6 J [email protected]%X8.2._ o.o.o. .} Q T T T ",
+"- ; , R '  .o.o.o.o.| ~ : m P.oX7.4.N b +X+X9X8X@X@X8X9XOX+XV m !.VXsX5.&.o.o.o.o.o. .} Q T T T ",
+"- ; , R }  .o.o.o.o.o.o.] : @ 7.*.~ : V XX+X3XoX#X3XoX6X#XXX7.V #XtX@X( ..o.o.o.o.o. .} Q T T T ",
+"- ; , R }  .o.o.o.o.o.o.o.' < B L.:.B tXtX3XQ.P T.7.Y [.6X8XtX7X#X{.$X+.o.o.o.o.o.o. .} Q T T T ",
+"q e a e.v.C.S.S.D.D.D.D.D.D.p.L ~.0XpX(.p S h.L -X>Xj.Y.A i j.5X2X XH.G.D.D.D.D.S.S.C.N.u.w.w.w.",
+"q e a e.N.C.S.S.D.D.D.D.S.S.u.b I.;Xs.p.k *X(.:XiXwX:X(.=XS w t y.n.D.D.D.D.D.D.S.S.C.N.u.w.w.w.",
+"q e a e.N.C.S.S.D.D.D.D.S.S.x.y A z.M.a.wX;X4X:X>X:X:X4XfXgXs.N.G.D.D.D.D.D.D.D.S.S.C.N.u.w.w.w.",
+"q e a e.N.C.S.S.D.D.D.D.S.D.C.p.g f.z.k J.C -X_.:XeX;XjXf.g.m.D.D.D.D.D.D.D.D.D.S.S.C.N.u.w.w.w.",
+"q e a e.N.C.S.S.D.D.D.D.D.D.D.D.c.x.a.d A Z k.h.(.j.j.;XA d.A.D.D.D.D.D.D.D.D.D.S.S.C.N.u.w.w.w.",
+"q e a e.N.C.S.S.D.D.D.D.D.D.D.D.D.G.V.i.r.a i K /.j.l.t.x.G.D.D.D.D.D.D.D.D.D.D.S.S.C.N.u.w.w.w.",
+"q e a e.v.C.S.S.D.D.D.D.D.D.D.D.D.D.D.G.Z.c.q.d j a.B.G.D.D.D.D.D.D.D.D.D.D.D.D.S.S.C.N.u.w.w.w.",
+"q e a q.v.C.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.A.v.V.G.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.C.N.u.w.w.w.",
+"q r a q.v.C.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.C.v.u.e.w.e.",
+"0 r s 0.b.A.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.A.b.w.q.q.q.",
+"9 q r s p.c.b.v.v.v.v.v.v.v.v.v.v.v.v.v.v.v.v.v.v.v.v.v.v.v.v.v.v.v.v.v.v.v.v.v.v.b.c.x.h 0.0.0.",
+"& % q r r f g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g s a f g g ",
+"$ $ & % % % 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 0 q r e s ",
+"X o o o O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O $ $ $ & % q ",
+"                                                                                        X o O $ "
+};
diff --git a/fookb/sound.c b/fookb/sound.c
new file mode 100644
index 0000000..ba32460
--- /dev/null
+++ b/fookb/sound.c
@@ -0,0 +1,51 @@
+/*
+ * File: sound.c
+ *
+ * (c) 1998-2004 Alexey Vyskubov <[email protected]>
+ */
+
+#include <unistd.h>		/* fork() */
+#include <sys/types.h>		/* pid_t */
+#include <stdlib.h>		/* system */
+#include <errno.h>
+#include <stdio.h>		/* puts() */
+#include <string.h>
+
+
+#include "sound.h"
+#include "params.h"
+
+void drip()
+{
+
+	pid_t pid;
+
+	pid = fork();
+
+	if (pid == (pid_t) (-1)) {
+		puts("Cannot fork!");
+		switch (errno) {
+		case ENOMEM:
+			puts("Not enough memory!");
+			exit(22);
+			break;
+		case EAGAIN:
+			puts("To many processes!");
+			exit(23);
+			break;
+		default:
+			puts("Unknown error, please report!");
+		}
+	}
+
+	if (pid == (pid_t) 0) {
+		return;
+	}
+
+	if (!strcmp(read_param("Sound"), "Yes")) {
+		exit(system(read_param("Command")));
+	} else {
+		exit(0);
+	}
+
+}
diff --git a/fookb/sound.h b/fookb/sound.h
new file mode 100644
index 0000000..0175b65
--- /dev/null
+++ b/fookb/sound.h
@@ -0,0 +1,13 @@
+/*
+ * File: sound.h
+ *
+ * (c) 1998-2004 Alexey Vyskubov <[email protected]>
+ *
+ */
+
+#ifndef SOUND_H
+#define SOUND_H
+
+void drip(void);
+
+#endif
diff --git a/fookb/test/foo b/fookb/test/foo
new file mode 100644
index 0000000..e69de29
diff --git a/fookb/xrmdb.h b/fookb/xrmdb.h
new file mode 100644
index 0000000..072230b
--- /dev/null
+++ b/fookb/xrmdb.h
@@ -0,0 +1,7 @@
+extern XrmDatabase cmdlineDB;	/* Database for resources from command 
+				   line */
+
+extern XrmDatabase finalDB;	/* Database for resources from other
+				   sources -- app-defaults and X
+				   Window resources */
+
-- 
2.11.0


-- 
To unsubscribe, send mail to [email protected].


------------=_59B49485.2B60F8DD--