[hamradio-commits] [linpsk] 01/25: Imported Upstream version 0.6.2

Iain R. Learmonth irl at moszumanska.debian.org
Fri Apr 15 14:02:29 UTC 2016


This is an automated email from the git hooks/post-receive script.

irl pushed a commit to branch master
in repository linpsk.

commit f3148b4c2abbf7496bf34b17eeb108a7dc4af54e
Author: Iain R. Learmonth <irl at debian.org>
Date:   Thu Apr 14 11:43:37 2016 +0100

    Imported Upstream version 0.6.2
---
 AUTHORS                        |    1 +
 COPYING                        |  280 ++
 ChangeLog                      |   51 +
 INSTALL                        |  167 ++
 Makefile.am                    |   41 +
 Makefile.dist                  |   14 +
 Makefile.in                    |  573 ++++
 README                         |  269 ++
 README.GER                     |  251 ++
 TODO                           |    1 +
 acinclude.m4                   | 4903 +++++++++++++++++++++++++++++++
 aclocal.m4                     | 5007 ++++++++++++++++++++++++++++++++
 admin/ChangeLog                |  748 +++++
 admin/Makefile.common          |  286 ++
 admin/acinclude.m4.in          | 4027 ++++++++++++++++++++++++++
 admin/am_edit                  | 1939 +++++++++++++
 admin/am_edit.py               |  330 +++
 admin/conf.change.pl           |  111 +
 admin/config.guess             | 1356 +++++++++
 admin/config.pl                |  210 ++
 admin/config.sub               | 1337 +++++++++
 admin/configure.in.min         |   37 +
 admin/debianrules              |   82 +
 admin/depcomp                  |  269 ++
 admin/install-sh               |  248 ++
 admin/libtool.m4.in            |  876 ++++++
 admin/linpsk.spec              |   48 +
 admin/ltcf-c.sh                |  746 +++++
 admin/ltcf-cxx.sh              |  962 ++++++
 admin/ltcf-gcj.sh              |  623 ++++
 admin/ltconfig                 | 2697 +++++++++++++++++
 admin/ltmain.sh                | 5049 ++++++++++++++++++++++++++++++++
 admin/missing                  |  238 ++
 admin/mkinstalldirs            |   40 +
 admin/ylwrap                   |  142 +
 config.h.in                    |   36 +
 configure                      | 6254 ++++++++++++++++++++++++++++++++++++++++
 configure.in                   |   56 +
 linpsk-0.6.2.tar.gz            |    0
 linpsk.kdevprj                 |  616 ++++
 linpsk.lsm                     |   14 +
 linpsk.spec                    |   48 +
 linpsk/Makefile.am             |   32 +
 linpsk/Makefile.in             |  790 +++++
 linpsk/bpskdemodulator.cpp     |  140 +
 linpsk/bpskdemodulator.h       |   44 +
 linpsk/cdemodulator.cpp        |   37 +
 linpsk/cdemodulator.h          |   68 +
 linpsk/cdisplay.cpp            |  433 +++
 linpsk/cdisplay.h              |  131 +
 linpsk/checkcom.cpp            |  115 +
 linpsk/checkcom.h              |   34 +
 linpsk/cledbutton.cpp          |   51 +
 linpsk/cledbutton.h            |   46 +
 linpsk/cmodulator.cpp          |   33 +
 linpsk/cmodulator.h            |   57 +
 linpsk/color.h                 |  289 ++
 linpsk/constants.h             |   51 +
 linpsk/cpanel.cpp              |  289 ++
 linpsk/cpanel.h                |  111 +
 linpsk/cpskdemodulator.cpp     |  476 +++
 linpsk/cpskdemodulator.h       |  138 +
 linpsk/crxdisplay.cpp          |  304 ++
 linpsk/crxdisplay.h            |  135 +
 linpsk/crxselect.cpp           |   74 +
 linpsk/crxselect.h             |   53 +
 linpsk/crxwindow.cpp           |  196 ++
 linpsk/crxwindow.h             |   79 +
 linpsk/csound.cpp              |  201 ++
 linpsk/csound.h                |   63 +
 linpsk/csquelch.cpp            |  130 +
 linpsk/csquelch.h              |   72 +
 linpsk/ctxdisplay.cpp          |  145 +
 linpsk/ctxdisplay.h            |   67 +
 linpsk/ctxwindow.cpp           |  179 ++
 linpsk/ctxwindow.h             |   63 +
 linpsk/docs/Makefile.am        |    5 +
 linpsk/docs/Makefile.in        |  443 +++
 linpsk/docs/en/Makefile.am     |   28 +
 linpsk/docs/en/Makefile.in     |  402 +++
 linpsk/docs/en/index-1.html    |   90 +
 linpsk/docs/en/index-2.html    |   41 +
 linpsk/docs/en/index-3.html    |  443 +++
 linpsk/docs/en/index-4.html    |  135 +
 linpsk/docs/en/index-5.html    |   38 +
 linpsk/docs/en/index.html      |   56 +
 linpsk/docs/en/index.sgml      |  573 ++++
 linpsk/docs/en/index.tex       | 1230 ++++++++
 linpsk/editmacro.cpp           |   66 +
 linpsk/editmacro.h             |   46 +
 linpsk/fft.cpp                 |  576 ++++
 linpsk/fft.h                   |   38 +
 linpsk/filenew.xpm             |   22 +
 linpsk/fileopen.xpm            |   22 +
 linpsk/filesave.xpm            |   21 +
 linpsk/fircoeffs.h             |  405 +++
 linpsk/fmodeselect.cpp         |   80 +
 linpsk/fmodeselect.h           |   38 +
 linpsk/fmodeselect.ui          |  178 ++
 linpsk/fsetup.cpp              |  307 ++
 linpsk/fsetup.h                |   89 +
 linpsk/fsetup.ui               |  985 +++++++
 linpsk/input.cpp               |   53 +
 linpsk/input.h                 |   66 +
 linpsk/linpsk.cpp              |  609 ++++
 linpsk/linpsk.h                |  139 +
 linpsk/linpskview.cpp          |  865 ++++++
 linpsk/linpskview.h            |  160 +
 linpsk/main.cpp                |   60 +
 linpsk/mfskdemodulator.cpp     |   23 +
 linpsk/mfskdemodulator.h       |   33 +
 linpsk/modeselect.cpp          |   50 +
 linpsk/modeselect.h            |   40 +
 linpsk/parameter.cpp           |  284 ++
 linpsk/parameter.h             |  140 +
 linpsk/pskmod.cpp              |  595 ++++
 linpsk/pskmod.h                |   95 +
 linpsk/psktable.h              |  378 +++
 linpsk/qpskdemodulator.cpp     |  197 ++
 linpsk/qpskdemodulator.h       |   52 +
 linpsk/resource.h              |   68 +
 linpsk/rttydemodulator.cpp     |  554 ++++
 linpsk/rttydemodulator.cpp.sav |  399 +++
 linpsk/rttydemodulator.h       |  128 +
 linpsk/rttydemodulator.h.sav   |   93 +
 linpsk/rttymodulator.cpp       |  428 +++
 linpsk/rttymodulator.h         |   63 +
 linpsk/setup.cpp               |  166 ++
 linpsk/setup.h                 |   82 +
 linpsk/textinput.cpp           |  104 +
 linpsk/textinput.h             |   45 +
 linpsk/waveinput.cpp           |  157 +
 linpsk/waveinput.h             |   52 +
 stamp-h.in                     |    0
 subdirs                        |    1 +
 135 files changed, 58645 insertions(+)

diff --git a/AUTHORS b/AUTHORS
new file mode 100644
index 0000000..9d5c0c5
--- /dev/null
+++ b/AUTHORS
@@ -0,0 +1 @@
+Volker Schroer <dl1ksv at gmx.de>
diff --git a/COPYING b/COPYING
new file mode 100644
index 0000000..c7aea18
--- /dev/null
+++ b/COPYING
@@ -0,0 +1,280 @@
+		    GNU GENERAL PUBLIC LICENSE
+		       Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+                          675 Mass Ave, Cambridge, MA 02139, USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+			    Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users.  This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it.  (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.)  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have.  You must make sure that they, too, receive or can get the
+source code.  And you must show them these terms so they know their
+rights.
+
+  We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+  Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software.  If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+  Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary.  To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+

+		    GNU GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License.  The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language.  (Hereinafter, translation is included without limitation in
+the term "modification".)  Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+  1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+  2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) You must cause the modified files to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    b) You must cause any work that you distribute or publish, that in
+    whole or in part contains or is derived from the Program or any
+    part thereof, to be licensed as a whole at no charge to all third
+    parties under the terms of this License.
+
+    c) If the modified program normally reads commands interactively
+    when run, you must cause it, when started running for such
+    interactive use in the most ordinary way, to print or display an
+    announcement including an appropriate copyright notice and a
+    notice that there is no warranty (or else, saying that you provide
+    a warranty) and that users may redistribute the program under
+    these conditions, and telling the user how to view a copy of this
+    License.  (Exception: if the Program itself is interactive but
+    does not normally print such an announcement, your work based on
+    the Program is not required to print an announcement.)
+

+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+    a) Accompany it with the complete corresponding machine-readable
+    source code, which must be distributed under the terms of Sections
+    1 and 2 above on a medium customarily used for software interchange; or,
+
+    b) Accompany it with a written offer, valid for at least three
+    years, to give any third party, for a charge no more than your
+    cost of physically performing source distribution, a complete
+    machine-readable copy of the corresponding source code, to be
+    distributed under the terms of Sections 1 and 2 above on a medium
+    customarily used for software interchange; or,
+
+    c) Accompany it with the information you received as to the offer
+    to distribute corresponding source code.  (This alternative is
+    allowed only for noncommercial distribution and only if you
+    received the program in object code or executable form with such
+    an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it.  For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable.  However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+

+  4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License.  Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+  5. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Program or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+  6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+  7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+

+  8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded.  In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+  9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation.  If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+  10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission.  For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this.  Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+			    NO WARRANTY
+
+  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+		     END OF TERMS AND CONDITIONS
diff --git a/ChangeLog b/ChangeLog
new file mode 100644
index 0000000..7dbe514
--- /dev/null
+++ b/ChangeLog
@@ -0,0 +1,51 @@
+Version 0.6.2
+Minimum window size can be configured by entry in the config - file
+Statusbar height can be configured by entry in config - file
+Segmentation fault when switching from RTTY to PSK: fixed
+Changung trigger text had no effect: fixed
+
+Version 0.6.1
+8 bit soundcard support implemented.
+Bugs
+If TX buffer was empty LinPSk drops into RX mode . Fixed
+Unable to enable slashed zero in settings menu. Fixed
+Did not print slashed zero, if enabled via config file. Fixed
+
+Version 0.6
+Introducing RTTY - mode
+Redefinition of classes for easier implementataion of new modes
+
+Version 0.5.1
+Improved AFC
+Facility to log Rx- Window to file
+New Macro- Parameter NAME
+
+Version 0.5 (Intermediate release, not released externally)
+User defineable Fonts and Colours, modified Screenlayout
+IMD reading
+
+Version 0.4.1
+Introducing User defined Triggers on Rx- Windows
+Beautifying the Widget layout
+
+Version 0.4
+Up to 4 receive windows possible
+Therefor layout changed
+Problems with \r character solved
+
+
+Version 0.3
+Changed from qt 1.44 -> qt 2.2
+some minor bugs removed
+
+Version 0.2.1
+Reversed Mode for QPSK implemented, but not tested.
+Experimental MXLDecoder removed
+
+Version 0.2 on 30.7.2000
+Resizing implemented
+
+Version 0.1
+Basic Functions implemented
+
+
diff --git a/INSTALL b/INSTALL
new file mode 100644
index 0000000..02a4a07
--- /dev/null
+++ b/INSTALL
@@ -0,0 +1,167 @@
+Basic Installation
+==================
+
+   These are generic installation instructions.
+
+   The `configure' shell script attempts to guess correct values for
+various system-dependent variables used during compilation.  It uses
+those values to create a `Makefile' in each directory of the package.
+It may also create one or more `.h' files containing system-dependent
+definitions.  Finally, it creates a shell script `config.status' that
+you can run in the future to recreate the current configuration, a file
+`config.cache' that saves the results of its tests to speed up
+reconfiguring, and a file `config.log' containing compiler output
+(useful mainly for debugging `configure').
+
+   If you need to do unusual things to compile the package, please try
+to figure out how `configure' could check whether to do them, and mail
+diffs or instructions to the address given in the `README' so they can
+be considered for the next release.  If at some point `config.cache'
+contains results you don't want to keep, you may remove or edit it.
+
+   The file `configure.in' is used to create `configure' by a program
+called `autoconf'.  You only need `configure.in' if you want to change
+it or regenerate `configure' using a newer version of `autoconf'.
+
+The simplest way to compile this package is:
+
+  1. `cd' to the directory containing the package's source code and type
+     `./configure' to configure the package for your system.  If you're
+     using `csh' on an old version of System V, you might need to type
+     `sh ./configure' instead to prevent `csh' from trying to execute
+     `configure' itself.
+
+     Running `configure' takes a while.  While running, it prints some
+     messages telling which features it is checking for.
+
+  2. Type `make' to compile the package.
+
+  3. Type `make install' to install the programs and any data files and
+     documentation.
+
+  4. You can remove the program binaries and object files from the
+     source code directory by typing `make clean'.  
+
+Compilers and Options
+=====================
+
+   Some systems require unusual options for compilation or linking that
+the `configure' script does not know about.  You can give `configure'
+initial values for variables by setting them in the environment.  Using
+a Bourne-compatible shell, you can do that on the command line like
+this:
+     CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
+
+Or on systems that have the `env' program, you can do it like this:
+     env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
+
+Compiling For Multiple Architectures
+====================================
+
+   You can compile the package for more than one kind of computer at the
+same time, by placing the object files for each architecture in their
+own directory.  To do this, you must use a version of `make' that
+supports the `VPATH' variable, such as GNU `make'.  `cd' to the
+directory where you want the object files and executables to go and run
+the `configure' script.  `configure' automatically checks for the
+source code in the directory that `configure' is in and in `..'.
+
+   If you have to use a `make' that does not supports the `VPATH'
+variable, you have to compile the package for one architecture at a time
+in the source code directory.  After you have installed the package for
+one architecture, use `make distclean' before reconfiguring for another
+architecture.
+
+Installation Names
+==================
+
+   By default, `make install' will install the package's files in
+`/usr/local/bin', `/usr/local/man', etc.  You can specify an
+installation prefix other than `/usr/local' by giving `configure' the
+option `--prefix=PATH'.
+
+   You can specify separate installation prefixes for
+architecture-specific files and architecture-independent files.  If you
+give `configure' the option `--exec-prefix=PATH', the package will use
+PATH as the prefix for installing programs and libraries.
+Documentation and other data files will still use the regular prefix.
+
+   If the package supports it, you can cause programs to be installed
+with an extra prefix or suffix on their names by giving `configure' the
+option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
+
+Optional Features
+=================
+
+   Some packages pay attention to `--enable-FEATURE' options to
+`configure', where FEATURE indicates an optional part of the package.
+They may also pay attention to `--with-PACKAGE' options, where PACKAGE
+is something like `gnu-as' or `x' (for the X Window System).  The
+`README' should mention any `--enable-' and `--with-' options that the
+package recognizes.
+
+   For packages that use the X Window System, `configure' can usually
+find the X include and library files automatically, but if it doesn't,
+you can use the `configure' options `--x-includes=DIR' and
+`--x-libraries=DIR' to specify their locations.
+
+Specifying the System Type
+==========================
+
+   There may be some features `configure' can not figure out
+automatically, but needs to determine by the type of host the package
+will run on.  Usually `configure' can figure that out, but if it prints
+a message saying it can not guess the host type, give it the
+`--host=TYPE' option.  TYPE can either be a short name for the system
+type, such as `sun4', or a canonical name with three fields:
+     CPU-COMPANY-SYSTEM
+
+See the file `config.sub' for the possible values of each field.  If
+`config.sub' isn't included in this package, then this package doesn't
+need to know the host type.
+
+   If you are building compiler tools for cross-compiling, you can also
+use the `--target=TYPE' option to select the type of system they will
+produce code for and the `--build=TYPE' option to select the type of
+system on which you are compiling the package.
+
+Sharing Defaults
+================
+
+   If you want to set default values for `configure' scripts to share,
+you can create a site shell script called `config.site' that gives
+default values for variables like `CC', `cache_file', and `prefix'.
+`configure' looks for `PREFIX/share/config.site' if it exists, then
+`PREFIX/etc/config.site' if it exists.  Or, you can set the
+`CONFIG_SITE' environment variable to the location of the site script.
+A warning: not all `configure' scripts look for a site script.
+
+Operation Controls
+==================
+
+   `configure' recognizes the following options to control how it
+operates.
+
+`--cache-file=FILE'
+     Use and save the results of the tests in FILE instead of
+     `./config.cache'.  Set FILE to `/dev/null' to disable caching, for
+     debugging `configure'.
+
+`--help'
+     Print a summary of the options to `configure', and exit.
+
+`--quiet'
+`--silent'
+`-q'
+     Do not print messages saying which checks are being made.
+
+`--srcdir=DIR'
+     Look for the package's source code in directory DIR.  Usually
+     `configure' can determine that directory automatically.
+
+`--version'
+     Print the version of Autoconf used to generate the `configure'
+     script, and exit.
+
+`configure' also accepts some other, not widely useful, options.
+
diff --git a/Makefile.am b/Makefile.am
new file mode 100644
index 0000000..15ba58f
--- /dev/null
+++ b/Makefile.am
@@ -0,0 +1,41 @@
+####### kdevelop will overwrite this part!!! (begin)##########
+
+SUBDIRS = linpsk 
+
+EXTRA_DIST = linpsk.kdevprj AUTHORS COPYING ChangeLog INSTALL README TODO linpsk.lsm psk31.out qpsk.out README.GER linpsk.spec 
+
+install-data-local:
+	$(mkinstalldirs) ~/
+	$(INSTALL_DATA) $(srcdir)/psk31.out ~/psk31.out
+	$(mkinstalldirs) ~/
+	$(INSTALL_DATA) $(srcdir)/qpsk.out ~/qpsk.out
+
+uninstall-local:
+	-rm -f ~/psk31.out
+	-rm -f ~/qpsk.out
+
+####### kdevelop will overwrite this part!!! (end)############
+# not a GNU package. You can remove this line, if 
+# have all needed files, that a GNU package needs
+AUTOMAKE_OPTIONS = foreign 
+
+#$(top_srcdir)/configure.in: configure.in.in $(top_srcdir)/subdirs
+#	cd $(top_srcdir) && $(MAKE) -f admin/Makefile.common configure.in ;
+
+$(top_srcdir)/subdirs:
+	cd $(top_srcdir) && $(MAKE) -f admin/Makefile.common subdirs
+
+$(top_srcdir)/acinclude.m4: $(top_srcdir)/admin/acinclude.m4.in $(top_srcdir)/admin/libtool.m4.in
+	@cd $(top_srcdir) && cat admin/acinclude.m4.in admin/libtool.m4.in > acinclude.m4
+
+MAINTAINERCLEANFILES = subdirs configure.in acinclude.m4 configure.files 
+
+package-messages:
+	$(MAKE) -f admin/Makefile.common package-messages
+	$(MAKE) -C po merge
+
+EXTRA_DIST = admin 
+
+dist-hook:
+	cd $(top_distdir) && perl admin/am_edit -padmin
+	cd $(top_distdir) && $(MAKE) -f admin/Makefile.common subdirs
diff --git a/Makefile.dist b/Makefile.dist
new file mode 100644
index 0000000..be59a86
--- /dev/null
+++ b/Makefile.dist
@@ -0,0 +1,14 @@
+all: 
+	@echo "This Makefile is only for the CVS repository"
+	@echo "This will be deleted before making the distribution"
+	@echo ""
+	@if test ! -d admin; then \
+	   echo "Please recheckout this module!" ;\
+	   echo "for cvs: use checkout once and after that update again" ;\
+	   echo "for cvsup: checkout kde-common from cvsup and" ;\
+	   echo "   link kde-common/admin to ./admin" ;\
+	   exit 1 ;\
+	fi
+	$(MAKE) -f admin/Makefile.common cvs
+
+.SILENT:
diff --git a/Makefile.in b/Makefile.in
new file mode 100644
index 0000000..43950ab
--- /dev/null
+++ b/Makefile.in
@@ -0,0 +1,573 @@
+# KDE tags expanded automatically by am_edit - $Revision: 1.237 $ 
+# Makefile.in generated automatically by automake 1.4 from Makefile.am
+
+# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+####### kdevelop will overwrite this part!!! (begin)##########
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+#>- 
+bindir = @bindir@
+#>+ 3
+DEPDIR = .deps
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DESTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = .
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_alias = @build_alias@
+build_triplet = @build@
+host_alias = @host_alias@
+host_triplet = @host@
+target_alias = @target_alias@
+target_triplet = @target@
+ARTSCCONFIG = @ARTSCCONFIG@
+AS = @AS@
+AUTODIRS = @AUTODIRS@
+CC = @CC@
+CONF_FILES = @CONF_FILES@
+CPP = @CPP@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+DCOPIDL = @DCOPIDL@
+DCOPIDL2CPP = @DCOPIDL2CPP@
+DCOP_DEPENDENCIES = @DCOP_DEPENDENCIES@
+DLLTOOL = @DLLTOOL@
+DPMSINC = @DPMSINC@
+DPMSLIB = @DPMSLIB@
+EXEEXT = @EXEEXT@
+GCJ = @GCJ@
+GCJFLAGS = @GCJFLAGS@
+GLINC = @GLINC@
+GLLIB = @GLLIB@
+GMSGFMT = @GMSGFMT@
+IDL = @IDL@
+IDL_DEPENDENCIES = @IDL_DEPENDENCIES@
+KDB2HTML = @KDB2HTML@
+KDECONFIG = @KDECONFIG@
+KDE_CXXFLAGS = @KDE_CXXFLAGS@
+KDE_EXTRA_RPATH = @KDE_EXTRA_RPATH@
+KDE_INCLUDES = @KDE_INCLUDES@
+KDE_LDFLAGS = @KDE_LDFLAGS@
+KDE_PLUGIN = @KDE_PLUGIN@
+KDE_RPATH = @KDE_RPATH@
+KDE_USE_CLOSURE_FALSE = @KDE_USE_CLOSURE_FALSE@
+KDE_USE_CLOSURE_TRUE = @KDE_USE_CLOSURE_TRUE@
+KDE_USE_FINAL_FALSE = @KDE_USE_FINAL_FALSE@
+KDE_USE_FINAL_TRUE = @KDE_USE_FINAL_TRUE@
+LIBCOMPAT = @LIBCOMPAT@
+LIBCRYPT = @LIBCRYPT@
+LIBDL = @LIBDL@
+LIBJPEG = @LIBJPEG@
+LIBMICO = @LIBMICO@
+LIBOBJS = @LIBOBJS@
+LIBPNG = @LIBPNG@
+LIBPTHREAD = @LIBPTHREAD@
+LIBPYTHON = @LIBPYTHON@
+LIBQIMGIO = @LIBQIMGIO@
+LIBSM = @LIBSM@
+LIBSOCKET = @LIBSOCKET@
+LIBTIFF = @LIBTIFF@
+LIBTOOL = @LIBTOOL@
+LIBUCB = @LIBUCB@
+LIBZ = @LIBZ@
+LIB_KAB = @LIB_KAB@
+LIB_KDECORE = @LIB_KDECORE@
+LIB_KDEUI = @LIB_KDEUI@
+LIB_KFILE = @LIB_KFILE@
+LIB_KFM = @LIB_KFM@
+LIB_KFORMULA = @LIB_KFORMULA@
+LIB_KHTML = @LIB_KHTML@
+LIB_KIMGIO = @LIB_KIMGIO@
+LIB_KIO = @LIB_KIO@
+LIB_KPARTS = @LIB_KPARTS@
+LIB_KSPELL = @LIB_KSPELL@
+LIB_KSYCOCA = @LIB_KSYCOCA@
+LIB_KWRITE = @LIB_KWRITE@
+LIB_QT = @LIB_QT@
+LIB_SMB = @LIB_SMB@
+LIB_X11 = @LIB_X11@
+LN_S = @LN_S@
+MAKEINFO = @MAKEINFO@
+MCOPIDL = @MCOPIDL@
+MICO_INCLUDES = @MICO_INCLUDES@
+MICO_LDFLAGS = @MICO_LDFLAGS@
+MOC = @MOC@
+MSGFMT = @MSGFMT@
+NOOPT_CXXFLAGS = @NOOPT_CXXFLAGS@
+NOREPO = @NOREPO@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PAMINC = @PAMINC@
+PAMLIBPATHS = @PAMLIBPATHS@
+PAMLIBS = @PAMLIBS@
+PYTHONINC = @PYTHONINC@
+PYTHONLIB = @PYTHONLIB@
+PYTHONMODDIR = @PYTHONMODDIR@
+QT_INCLUDES = @QT_INCLUDES@
+QT_LDFLAGS = @QT_LDFLAGS@
+RANLIB = @RANLIB@
+REPO = @REPO@
+STRIP = @STRIP@
+TOPSUBDIRS = @TOPSUBDIRS@
+UIC = @UIC@
+USER_INCLUDES = @USER_INCLUDES@
+USER_LDFLAGS = @USER_LDFLAGS@
+USE_EXCEPTIONS = @USE_EXCEPTIONS@
+USE_RTTI = @USE_RTTI@
+USE_THREADS = @USE_THREADS@
+VERSION = @VERSION@
+XGETTEXT = @XGETTEXT@
+XPMINC = @XPMINC@
+XPMLIB = @XPMLIB@
+X_EXTRA_LIBS = @X_EXTRA_LIBS@
+X_INCLUDES = @X_INCLUDES@
+X_LDFLAGS = @X_LDFLAGS@
+X_PRE_LIBS = @X_PRE_LIBS@
+all_includes = @all_includes@
+all_libraries = @all_libraries@
+idldir = @idldir@
+kde_appsdir = @kde_appsdir@
+kde_bindir = @kde_bindir@
+kde_confdir = @kde_confdir@
+kde_datadir = @kde_datadir@
+kde_htmldir = @kde_htmldir@
+kde_icondir = @kde_icondir@
+kde_includes = @kde_includes@
+kde_libraries = @kde_libraries@
+kde_libs_htmldir = @kde_libs_htmldir@
+kde_libs_prefix = @kde_libs_prefix@
+kde_locale = @kde_locale@
+kde_mimedir = @kde_mimedir@
+kde_moduledir = @kde_moduledir@
+kde_servicesdir = @kde_servicesdir@
+kde_servicetypesdir = @kde_servicetypesdir@
+kde_sounddir = @kde_sounddir@
+kde_templatesdir = @kde_templatesdir@
+kde_wallpaperdir = @kde_wallpaperdir@
+micodir = @micodir@
+qt_includes = @qt_includes@
+qt_libraries = @qt_libraries@
+x_includes = @x_includes@
+x_libraries = @x_libraries@
+
+SUBDIRS = linpsk 
+
+EXTRA_DIST = admin 
+
+####### kdevelop will overwrite this part!!! (end)############
+# not a GNU package. You can remove this line, if 
+# have all needed files, that a GNU package needs
+AUTOMAKE_OPTIONS = foreign 
+
+MAINTAINERCLEANFILES = subdirs configure.in acinclude.m4 configure.files 
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/admin/mkinstalldirs
+CONFIG_HEADER = config.h
+CONFIG_CLEAN_FILES = 
+DIST_COMMON =  README ./stamp-h.in AUTHORS COPYING ChangeLog INSTALL \
+Makefile.am Makefile.in TODO acinclude.m4 aclocal.m4 config.h.in \
+configure configure.in
+
+
+#>- DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+#>+ 4
+KDE_DIST=linpsk.lsm linpsk-0.6.2.tar.gz Makefile.dist linpsk.kdevprj README.GER linpsk.spec 
+
+DISTFILES= $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) $(KDE_DIST)
+
+
+TAR = tar
+GZIP_ENV = --best
+#>- all: all-redirect
+#>+ 1
+all: docs-am  all-redirect
+.SUFFIXES:
+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
+#>- 	cd $(top_srcdir) && $(AUTOMAKE) --foreign --include-deps Makefile
+#>+ 2
+	cd $(top_srcdir) && $(AUTOMAKE) --foreign --include-deps Makefile
+	cd $(top_srcdir) && perl admin/am_edit Makefile.in
+
+Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status
+	cd $(top_builddir) \
+	  && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+$(ACLOCAL_M4):  configure.in  acinclude.m4
+	cd $(srcdir) && $(ACLOCAL)
+
+config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	$(SHELL) ./config.status --recheck
+$(srcdir)/configure: $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
+	cd $(srcdir) && $(AUTOCONF)
+
+config.h: stamp-h
+	@if test ! -f $@; then \
+		rm -f stamp-h; \
+		$(MAKE) stamp-h; \
+	else :; fi
+stamp-h: $(srcdir)/config.h.in $(top_builddir)/config.status
+	cd $(top_builddir) \
+	  && CONFIG_FILES= CONFIG_HEADERS=config.h \
+	     $(SHELL) ./config.status
+	@echo timestamp > stamp-h 2> /dev/null
+$(srcdir)/config.h.in: $(srcdir)/stamp-h.in
+	@if test ! -f $@; then \
+		rm -f $(srcdir)/stamp-h.in; \
+		$(MAKE) $(srcdir)/stamp-h.in; \
+	else :; fi
+$(srcdir)/stamp-h.in: $(top_srcdir)/configure.in $(ACLOCAL_M4) 
+	cd $(top_srcdir) && $(AUTOHEADER)
+	@echo timestamp > $(srcdir)/stamp-h.in 2> /dev/null
+
+mostlyclean-hdr:
+
+clean-hdr:
+
+distclean-hdr:
+	-rm -f config.h
+
+maintainer-clean-hdr:
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+#     (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+
+ at SET_MAKE@
+
+all-recursive install-data-recursive install-exec-recursive \
+installdirs-recursive install-recursive uninstall-recursive  \
+check-recursive installcheck-recursive info-recursive dvi-recursive:
+	@set fnord $(MAKEFLAGS); amf=$$2; \
+	dot_seen=no; \
+	target=`echo $@ | sed s/-recursive//`; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  echo "Making $$target in $$subdir"; \
+	  if test "$$subdir" = "."; then \
+	    dot_seen=yes; \
+	    local_target="$$target-am"; \
+	  else \
+	    local_target="$$target"; \
+	  fi; \
+	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	   || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+	done; \
+	if test "$$dot_seen" = "no"; then \
+	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+	fi; test -z "$$fail"
+
+mostlyclean-recursive clean-recursive distclean-recursive \
+maintainer-clean-recursive:
+	@set fnord $(MAKEFLAGS); amf=$$2; \
+	dot_seen=no; \
+	rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \
+	  rev="$$subdir $$rev"; \
+	  test "$$subdir" = "." && dot_seen=yes; \
+	done; \
+	test "$$dot_seen" = "no" && rev=". $$rev"; \
+	target=`echo $@ | sed s/-recursive//`; \
+	for subdir in $$rev; do \
+	  echo "Making $$target in $$subdir"; \
+	  if test "$$subdir" = "."; then \
+	    local_target="$$target-am"; \
+	  else \
+	    local_target="$$target"; \
+	  fi; \
+	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	   || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+	done && test -z "$$fail"
+tags-recursive:
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+	done
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP)
+	list='$(SOURCES) $(HEADERS)'; \
+	unique=`for i in $$list; do echo $$i; done | \
+	  awk '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	here=`pwd` && cd $(srcdir) \
+	  && mkid -f$$here/ID $$unique $(LISP)
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+   if test "$$subdir" = .; then :; else \
+	    test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
+   fi; \
+	done; \
+	list='$(SOURCES) $(HEADERS)'; \
+	unique=`for i in $$list; do echo $$i; done | \
+	  awk '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	test -z "$(ETAGS_ARGS)config.h.in$$unique$(LISP)$$tags" \
+	  || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags config.h.in $$unique $(LISP) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+	-rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+
+# This target untars the dist file and tries a VPATH configuration.  Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+	-rm -rf $(distdir)
+	GZIP=$(GZIP_ENV) $(TAR) zxf $(distdir).tar.gz
+	mkdir $(distdir)/=build
+	mkdir $(distdir)/=inst
+	dc_install_base=`cd $(distdir)/=inst && pwd`; \
+	cd $(distdir)/=build \
+	  && ../configure --srcdir=.. --prefix=$$dc_install_base \
+	  && $(MAKE) $(AM_MAKEFLAGS) \
+	  && $(MAKE) $(AM_MAKEFLAGS) dvi \
+	  && $(MAKE) $(AM_MAKEFLAGS) check \
+	  && $(MAKE) $(AM_MAKEFLAGS) install \
+	  && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+	  && $(MAKE) $(AM_MAKEFLAGS) dist
+	-rm -rf $(distdir)
+	@banner="$(distdir).tar.gz is ready for distribution"; \
+	dashes=`echo "$$banner" | sed s/./=/g`; \
+	echo "$$dashes"; \
+	echo "$$banner"; \
+	echo "$$dashes"
+dist: distdir
+	-chmod -R a+r $(distdir)
+	GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir)
+	-rm -rf $(distdir)
+dist-all: distdir
+	-chmod -R a+r $(distdir)
+	GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir)
+	-rm -rf $(distdir)
+distdir: $(DISTFILES)
+	-rm -rf $(distdir)
+	mkdir $(distdir)
+	-chmod 777 $(distdir)
+	@for file in $(DISTFILES); do \
+	  d=$(srcdir); \
+	  if test -d $$d/$$file; then \
+	    cp -pr $$d/$$file $(distdir)/$$file; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+	    || cp -p $$d/$$file $(distdir)/$$file || :; \
+	  fi; \
+	done
+	for subdir in $(SUBDIRS); do \
+	  if test "$$subdir" = .; then :; else \
+	    test -d $(distdir)/$$subdir \
+	    || mkdir $(distdir)/$$subdir \
+	    || exit 1; \
+	    chmod 777 $(distdir)/$$subdir; \
+	    (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir=../$(distdir) distdir=../$(distdir)/$$subdir distdir) \
+	      || exit 1; \
+	  fi; \
+	done
+	$(MAKE) $(AM_MAKEFLAGS) top_distdir="$(top_distdir)" distdir="$(distdir)" dist-hook
+info-am:
+info: info-recursive
+dvi-am:
+dvi: dvi-recursive
+check-am: all-am
+check: check-recursive
+installcheck-am:
+installcheck: installcheck-recursive
+all-recursive-am: config.h
+	$(MAKE) $(AM_MAKEFLAGS) all-recursive
+
+install-exec-am:
+install-exec: install-exec-recursive
+
+install-data-am: install-data-local
+install-data: install-data-recursive
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+install: install-recursive
+uninstall-am: uninstall-local
+uninstall: uninstall-recursive
+all-am: Makefile config.h
+all-redirect: all-recursive-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
+installdirs: installdirs-recursive
+installdirs-am:
+
+
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-rm -f Makefile $(CONFIG_CLEAN_FILES)
+	-rm -f config.cache config.log stamp-h stamp-h[0-9]*
+
+maintainer-clean-generic:
+	-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+mostlyclean-am:  mostlyclean-hdr mostlyclean-tags mostlyclean-generic
+
+mostlyclean: mostlyclean-recursive
+
+clean-am:  clean-hdr clean-tags clean-generic mostlyclean-am
+
+#>- clean: clean-recursive
+#>+ 1
+clean: kde-rpo-clean  clean-recursive
+
+distclean-am:  distclean-hdr distclean-tags distclean-generic clean-am
+	-rm -f libtool
+
+distclean: distclean-recursive
+	-rm -f config.status
+
+maintainer-clean-am:  maintainer-clean-hdr maintainer-clean-tags \
+		maintainer-clean-generic distclean-am
+	@echo "This command is intended for maintainers to use;"
+	@echo "it deletes files that may require special tools to rebuild."
+
+maintainer-clean: maintainer-clean-recursive
+	-rm -f config.status
+
+.PHONY: mostlyclean-hdr distclean-hdr clean-hdr maintainer-clean-hdr \
+install-data-recursive uninstall-data-recursive install-exec-recursive \
+uninstall-exec-recursive installdirs-recursive uninstalldirs-recursive \
+all-recursive check-recursive installcheck-recursive info-recursive \
+dvi-recursive mostlyclean-recursive distclean-recursive clean-recursive \
+maintainer-clean-recursive tags tags-recursive mostlyclean-tags \
+distclean-tags clean-tags maintainer-clean-tags distdir info-am info \
+dvi-am dvi check check-am installcheck-am installcheck all-recursive-am \
+install-exec-am install-exec install-data-local install-data-am \
+install-data install-am install uninstall-local uninstall-am uninstall \
+all-redirect all-am all installdirs-am installdirs mostlyclean-generic \
+distclean-generic clean-generic maintainer-clean-generic clean \
+mostlyclean distclean maintainer-clean
+
+
+install-data-local:
+#>- 	$(mkinstalldirs) ~/
+#>+ 1
+	$(mkinstalldirs) $(DESTDIR)~/
+#>- 	$(INSTALL_DATA) $(srcdir)/psk31.out ~/psk31.out
+#>+ 1
+	$(INSTALL_DATA) $(srcdir)/psk31.out $(DESTDIR)~/psk31.out
+#>- 	$(mkinstalldirs) ~/
+#>+ 1
+	$(mkinstalldirs) $(DESTDIR)~/
+#>- 	$(INSTALL_DATA) $(srcdir)/qpsk.out ~/qpsk.out
+#>+ 1
+	$(INSTALL_DATA) $(srcdir)/qpsk.out $(DESTDIR)~/qpsk.out
+
+uninstall-local:
+#>- 	-rm -f ~/psk31.out
+#>+ 1
+	-rm -f $(DESTDIR)~/psk31.out
+#>- 	-rm -f ~/qpsk.out
+#>+ 1
+	-rm -f $(DESTDIR)~/qpsk.out
+
+#$(top_srcdir)/configure.in: configure.in.in $(top_srcdir)/subdirs
+#	cd $(top_srcdir) && $(MAKE) -f admin/Makefile.common configure.in ;
+
+$(top_srcdir)/subdirs:
+	cd $(top_srcdir) && $(MAKE) -f admin/Makefile.common subdirs
+
+$(top_srcdir)/acinclude.m4: $(top_srcdir)/admin/acinclude.m4.in $(top_srcdir)/admin/libtool.m4.in
+	@cd $(top_srcdir) && cat admin/acinclude.m4.in admin/libtool.m4.in > acinclude.m4
+
+package-messages:
+	$(MAKE) -f admin/Makefile.common package-messages
+	$(MAKE) -C po merge
+
+dist-hook:
+	cd $(top_distdir) && perl admin/am_edit -padmin
+	cd $(top_distdir) && $(MAKE) -f admin/Makefile.common subdirs
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
+
+#>+ 2
+docs-am:
+
+#>+ 5
+force-reedit:
+		cd $(top_srcdir) && $(AUTOMAKE) --foreign --include-deps Makefile
+	cd $(top_srcdir) && perl admin/am_edit Makefile.in
+
+
+#>+ 2
+final:
+	$(MAKE) all-am
+#>+ 2
+no-final:
+	$(MAKE) all-am
+#>+ 3
+cvs-clean:
+	$(MAKE) -f $(top_srcdir)/admin/Makefile.common cvs-clean
+
+#>+ 3
+kde-rpo-clean:
+	-rm -f *.rpo
diff --git a/README b/README
new file mode 100644
index 0000000..932b448
--- /dev/null
+++ b/README
@@ -0,0 +1,269 @@
+LinPsk -	a PSK31 Program for Linux
+
+1. Introduction
+
+LinPsk is a PSK program for Linux. It is based on the sources of WinPsk 1.0
+by Moe Wheatly, AE4JY.
+I took the algorithm and ported it to Linux and rewrote the GUI using the
+Qt 2.2 library.
+
+The development was started with KDevelop 1.0 and continued with KDevelop 1.2
+
+KDevelop was a great help for me developing LinPsk. Thanks to the
+guys of the KDevelop team , they are doing a great job.
+
+This is my first project in C++ and even the first time that I set up an GUI.
+
+So , if you find there is something to improve in programing, give me a hint.
+
+As I'm rare on time I can only give a brief introduction in using the
+program.
+
+You will find an excellent documentation of WinPSk at
+
+http://aintel.bi.ehu.es/psk31.html.
+
+2. System requirements
+
+LinPsk works on a Pentium with 133 MHz and 32 Mb Ram. Perhaps it still
+works on a Pentium 90 , but I haven't had the chance to try.
+
+Automake and autoconf have to be installed and Qt 2.2 is needed.
+
+A soundcard and the related Opensound Driver must be installed. But if you
+only want to have a look at the demo mode , no soundcard is needed.
+
+LinPsk uses /dev/audio for contacting the soundcard. This special file
+normally exists, otherwise you have to make a link.
+
+LinPSk uses MicIn of the soundcard as input and LinOut as nutput. LinPsk is
+able to switch the RTS - pin of a Com port to switch the transceiver between
+receiving and transmitting.
+
+3. Installation
+
+Unpack the file. Run
+
+./configure
+
+If you get messages like qt - header files not found or some other messages on qt try
+
+./configure --with-qt-dir=<QTDIR>
+
+then run
+
+make
+
+Then there should exist the file linpsk.
+
+If you would like to run
+
+make install
+
+be shure to have the  right for writing to the installation directory -
+/usr/local/bin
+or change  $bindir in  Makefile.
+
+4. Configuring LinPsk
+
+LinPsk supports two modes:
+
+- Demomode
+
+- normal mode.
+
+On the first start Linpsk is in demomode.
+
+You can run the demomode without soundcard installed.
+
+4.1 Demomode
+
+The distribution should include two files:
+
+psk31.out and qpsk.out.
+
+These files contain demosample computed with the software made by w5xd.
+
+The wanted file has to be loaded using the file menu opening demofile.
+
+Having clicked the RX - button  you should read
+
+Hello World
+in the RX- window , if you selected the bpsk.out file and
+
+cq cq cq de DL1KSV , if you selected the qpsk.out file.
+
+At the same time the RX on the button changes to TX.
+
+You can try the impacts of the different buttons in the demo mode.
+
+Clicking now the TX - button you simulates sending. But even if you have
+installed a soundcard no output signal would be generated.
+
+4.2 Going on the air
+
+If you are familiar with the handling you can go on the air.
+
+Select the settings Menu and there  choose settings.
+
+Deactivate the demomode by clicking.
+
+Now you can start.
+
+Important:
+
+Set the MicInputlevel appropriate.
+
+Select the input display. If the plot changes to red  then the level is too
+high.
+You can control the level using a common mixer program or the MicInput Level
+field in the setting menu.
+
+More important:
+
+Adjust the output level properly.
+You should set the outputlevel as low as the ALC of your transmitter doesn't
+respond .
+
+Setting output level too high will result in a broadband signal with much
+splatter instead of narrow band signal!!!!!!!!!!!.
+
+4.2.1 Settings Menu /settings
+
+The Button DemoMode activates/ deactivates the Demomode.
+
+In the Callsign Window you enter your callsign.
+
+In the station file you enter the name of file you can transmit pressing
+the button " Send Station File".
+The file is supposed to be in your home directory, but you may enter an
+absolute path with the file, too.
+
+In the  Time offset window you enter the offset from your pc - clock to utc.
+This value is used to display the correct time in the status line.
+
+In the window "user defined button" you enter the name the last button down right
+should be labeled with.
+
+Pressing this button you can send another file.
+
+In the window "corresponding file" you enter the name of the file to be send if the
+user defined button is pressed.
+
+With the input- and outputlevel controls you can change the level for in- and output.
+You can use a mixerprogram instead.
+
+Please be careful in selecting the outputlevel!!
+
+With the button "slashed zero" you can select whether the 0 is displayed with a slash
+to distinguish the number from the letter. This has only effect on the rx- windows,
+the transmitted character will always be the number 0.
+
+In the window "number of Rx windows" you select the number of simultaneously
+decoded rx- channels.
+
+
+There is a small bug: If you 've changed this number the window to select an rx- windows
+is not displayed properly. You have to resize LinPsk as a whole.
+
+The  PTT- control should be self explanatory.
+
+The DTR and RTS pins are driven.
+
+4.2.2 Settings Menu/Font settings
+
+Here you find a menu to select the fonts for Rx- windows and the tx- window.
+You can select the fonst for the four rx windows and the tx window independently.
+
+4.2.3 Settings Menu / Colour Settings
+
+Here you select the colour for the four rx windows.
+
+
+4.2.4 Settings Menu / Edit Macros
+
+Defining Macros see 4.3.
+
+But the are some special rules using the macro - buttons:
+
+QSO Start will only be executed if you are in rx - mode ( Receiving is to be displayed in
+the statusline) and if in the remote call window a callsign was entered either by
+typing it directly or be double clicking in front of a callsign in the rx window.
+
+QSO BTU will only work if you 're in tx -mode (Transmitting is o be displayed in the
+statusline) and a remote callsign was entered.
+
+QSO final will be executed both in rx or tx mode if a text was entered for this macro.
+
+At the end of this macro LinPsk will switch to rx- mode.
+
+
+CQ will be executed if you entered your callsign in the setup box.
+
+The "Send Station File" button and the user defined button are executed in tx mode only.
+
+
+
+
+
+4.3 Macros
+
+To simplify qso'ing you can define macros.
+
+Select Settings menu , edit Macros.
+
+Here you can define or change Macros.
+
+Beside plain text you can use three variables in the text. Using the macro
+will result in replacing the variables by their actual values.
+
+The variables are:
+
+ at CALLSIGN@ 						the callsign as defined in the setup.
+
+ at THEIRCALL@						the content of the Their CAll box. You can change its
+											content by edititing the box by hand or by double clicking in front
+											of a callsign in the receive window.
+
+ at NAME@								the name of the remote op as defined in the Name field																						
+											
+ at CWID@								will be replaced by "de @CALLSIGN@ kn" and be send in cw.				
+
+Clicking the "send Station File" button you can send a textfile , for instance
+including your station data. You edit this file with a texteditor of your
+choice.
+You configure the name of the file to send in the settings menu, too.
+
+If the file is situated in your home directory, the name of the file suffices,
+otherwise you have to specify the whole path and filename.
+
+At last you can define the name of the last button as you wish and the
+textfile to be sent if you press this button. Both happen in the settings
+menu.	This textfile is to be edited by a texteditor.
+
+4.4 Triggers
+
+LinPsk supports up to 4 Rx- windows (configurable).
+For each Rx- window you can define a trigger text and activate the trigger. (default: CQ CQ
+trigger not activated)
+
+If the trigger -text is detected you hear a beep and LinPsk switches to the Rx  - window
+where the text was detected and the trigger will be deactivated.
+
+In this way you can observe the different windows. The trigger text can be changed . 'Enter'
+finishes the input.
+The tiggertext is case insensitive.
+
+
+73 es good DX de DL1KSV .
+
+Please give me a hint if you have problems.
+
+My eMail adress is DL1KSV at gmx.de
+
+But remember it's a hobby, so don't be impatient if I can't respond
+immediately.						
+
+==============================================================================
+==============================================================================
+					
diff --git a/README.GER b/README.GER
new file mode 100644
index 0000000..86f70c9
--- /dev/null
+++ b/README.GER
@@ -0,0 +1,251 @@
+
+
+LinPsk -- PSK31 f�r Linux
+
+1. Einleitung
+
+LinPsk ist ein PSK31 Programm f�r Linux, das auf den Quellen von WinPsk 1.0
+von Moe Wheatly, AE4JY  beruht und von mir f�r Linux und QT umgeschrieben worden ist.
+
+Die Basisalgorithmen und , wie ich hoffe , die Funktionalit�t von WinPSk ist
+beibehalten worden, die grafische Oberfl�che habe ich in einigen Punkten
+ver�ndert.
+
+Informationen zum Thema PSK finden sich
+unter
+
+http://aintel.bi.ehu.es/psk31.html
+
+Dort finden sich auch Links zur Dokumentation von  Moe Wheatly, AE4JY,
+der sowohl eine  ausgezeichnete technische Referenz als auch eine
+Benutzerbeschreibung von WinPsk angefertigt hat.
+
+Unter den verschiedenen Microsoft- Betriebssystemen gibt es eine Vielfalt von
+PSK31- Programmen zur Auswahl.
+
+Als ich mit meiner Arbeit im Fr�hjahr begann, war f�r Linux meines Wissens nur
+ein zeichenorientiertes PSK- Programm von Hans Reiser, DL9RDZ f�r Linux
+verf�gbar.
+
+In der CQ- DL 8/2000 sind nun erstmals auch Programme mit grafische Oberfl�che
+beschrieben worden.
+
+Mein Ziel bei der Erstellung des Programms war es
+
+- die Programmvielfalt f�r Linux zu erh�hen
+- C++ zu lernen
+- die Programmierung unter einer grafischen Oberfl�che kennen zu lernen
+- KDevelop kennen zu lernen.
+
+An dieser Stelle m�chte ich dem KDevelop - Team zu seiner Arbeit gratulieren.
+
+Nachdem ich die ersten Schritte mit C++ und QT noch klassisch mit vi und
+hangeschriebenen Makefiles und X11 getan hatte, habe ich auf Dr�ngen meines
+Sohnes dann KDE und KDevelop installiert und diesen Schritt nach anf�nglichem Schimpfen,
+da� ich noch mehr Neues lernen mu�te, nicht bereut. Im Gegenteil KDevelop hat
+mich bei der Entwicklung sehr unterst�tzt.
+
+Die nachfolgenden Ausf�hrungen sind zur Zeit leider nur ein kurzer Hinweis f�r
+die Installation und den Betrieb.
+
+73! de DL1KSV
+
+2. Systemvoraussetzungen
+
+Pentium 133 MHZ oder h�her (Vermutlich funktioniert LinPsk auch noch auf einem
+90 MHZ Pentium, aber dies konnte ich bisher nicht testen.)
+
+Soundkarte installiert mit OSS- Treibern (falls nicht nur der Demomodus
+benutzt werden soll).
+
+Das Programm benutzt die Datei /dev/audio f�r den Betrieb der Soundkarte.
+Diese Datei ist normalerweise bei korrekter Installation der Soundtreiber
+vorhanden.
+
+Es wird von der Soundkarte MicIn als Eingang und LineOut als Ausgang genutzt.
+
+Au�erdem kann das Programm eine COM- Schnittstelle schalten (RTS), damit kann
+bei Bedarf der Transceiver zwischen Senden und Empfangen umgeschaltet werden.
+
+
+3. Installation
+Nach dem Auspacken des Archivs und dem Ausf�hren von
+
+./configure
+
+make
+
+ sollte im Verzeichnis die Datei linpsk existieren.
+
+Bei der Ausf�hrung von
+
+make install
+
+m�ssen die entsprechenden Rechte f�r $bindir vorhanden sein oder es mu� diese
+Variable im Makefile ge�ndert werden.
+
+4. Programmkonfigurattion
+
+Das Programm umfa�t zwei Modi
+
+- den Demomodus
+
+- den Betriebsmodus
+
+Beim ersten Start befindet sich das Programm automatisch im Demomodus.
+
+Der Demomodus kann auch ohne installierte Soundkarte betrieben werden.
+
+4.1 Demomodus
+
+Die Distribution enth�lt zwei Dateien bpsk.out und qpsk.out, die jeweils ein
+Beispielsample im bpsk - und qpsk Mode enthalten.Diese Dateien wurden mit der
+Software von w5xd erzeugt.
+
+Die gew�nschte Datei kann �ber das
+File -Menu
+- OpenDemoFile
+
+ausgew�hlt werden.
+
+Nach einem Click auf den RX- Knopf sollte im oberen Fenster ein Text
+erscheinen.
+
+Im BPSK- Mode und der Datei bpsk.out
+
+Hello World
+
+und im QPSK- Mode und der Datei qpsk.out
+
+cq cq cq de DL1KSV/p.
+
+Gleichzeitig wechselt der RX- Knopf seine Beschriftung in TX.
+
+Im Demomodus k�nnen die verschiedenen Schaltelemente ausprobiert werden. Wenn
+man auf TX klickt, wird der Sendevorgang simuliert, aber selbst bei
+installierter, funktionsf�higer Soundkarte wird kein Signal erzeugt.
+
+4.2 Wirkbetrieb
+
+In den Wirkbetrieb gelangt man dadurch, da� im Settings- Menu der Punkt
+Settings ausgew�hlt wird. Dadurch erh�lt man das Konfigurationsfenster.
+
+Hier kann der Demomodus durch Klicken deaktiviert werden.
+
+Nach dem Anklicken auf OK sind erste Gehversuche auf den B�ndern m�glich.
+
+4.2.1 Settings
+
+Hier kann der Demomode ein- und ausgeschaltet werden.
+
+Im Feld CallSign wird das eigene Rufzeichen eingetragen.
+
+Im Feld StationFile wir der Name der Datei eingetragen, die mit dem Button "Send Station File"
+�bertragen werden kann. Normaleweise enth�lt diese Datei die Stationsbeschreibung.
+
+In "Time offset" wird die Differenz der internen Uhr zu UTC eingetragen. Die Zeitanzeige in der
+Statusleiste ben�tigt diesen Wert, um die korrekte Zeit in UTC darzustellen.
+
+In " User defined Button" wird die Bezeichnung des freien Buttons definiert und im Feld daneben
+der Dateinamen der zugeh�rigen, zu �bertragenden Datei.
+
+Input- und Outputlevel k�nnen entweder �ber die entsprechenden Fenster im
+Settingsmenu oder aber �ber eines der zahlreichen Mixerprogramme eingestellt
+werden.
+
+Wichtig ist , da� beim Empfang die Soundkarte nicht �bersteuert wird. Dies
+kann durch Wahl der Inputanzeige kontrolliert werden. Wenn �bersteuerung droht
+wechselt die Farbe der Inputanzeige nach rot.
+
+Beim Senden darf der Sender auf keinen Fall zu stark ausgesteuert werden;
+sonst wird  aus der schmalbandigen Betriebsart eine �u�erst breitbandige.
+
+Mit "Display as slashed Zero" kann die 0 durchgestrichen dargestellt werden, um sie besser vom
+Buchstaben o zu unterscheiden. Diese Einstellung wirkt sich nur auf die Darstellung im Rx- Fenster
+aus.
+Das zu sendende Zeichen wird dadurch nicht ver�ndert!!
+
+Der Bereich PTT- Control d�rfte selbsterkl�rend sein.
+
+4.2.2 Font Settings
+
+Hier k�nnen die Fonts und Fontgr��en f�r RX- und Tx- window getrennt eingestellt werden.
+
+4.2.3 Colour Settings
+
+Hier k�nnen  Farben f�r die Schrift in den vier m�glichen Rx- Fenstern gew�hlt werden.
+
+
+4.2.4 Edit Macros
+
+Hier werden die den Macros zu den vorhandenen Mackrotasten definiert.
+
+Zur Definition von Macros siehe 4.3.
+
+Es gelten zus�tzlich folgende Regeln:
+
+QSO Start wird nur ausgef�hrt, wenn LinPsk sich im RX- Modus befindet (Receiving wird in der
+Statuszeile angezeigt) und im Feld Remote Call ein Rufzeichen eingetragen ist.
+
+QSO BTU wird nur ausgef�hrt, wenn LinPsk sich im TX- Modus (Transmitting wird in der Statuszeile
+angezeigt) und im Feld Remote Call ein Rufzeichen eingetragen ist.
+
+QSO Final wird im Rx- und Tx- Modus ausgef�hrt, wenn ein Text eingetragen ist.Es schaltet vor der
+Ausf�hrung - falls notwendig - ind den TX- Modus und nach der Ausf�hrung immer in den RX- Modus.
+
+CQ wird ausgef�hrt, wenn das eigene Callsign eingetragen ist.
+
+Die beiden restlichen Buttons senden die im Setup definierten Dateien, wenn sich LinPsk im TX- Modus
+befindet.
+
+
+4.3 Macros
+
+Es besteht die M�glichkeit, den Betrieb durch die Nutzung von Macros zu
+vereinfachen.
+
+Die Macros k�nnen im Menu "Settings" EditMacros definiert oder ver�ndert
+werden.
+
+Neben der Eingabe von normalen Text k�nnen derzeit drei Variablen genutzt
+werden, die im Betrieb durch ihre entsprechenden Werte ersetzt werden.
+
+Die Variablen sind
+
+ at CALLSIGN@					das eigene Rufzeichen, wie im Setup definiert
+
+ at THEIRCALL@					das Rufzeichen der Gegenstation, das im Fenster Remote Call
+										steht. (Entweder von Hand dort eintragen, oder durch Doppelklick im	
+										Empfangsfenster direkt vor dem Rufzeichen automatisch �bernehmen)
+										
+ at NAME@							Der Namen des Op's an der Gegenstation, wie sie im Fenster Name steht.
+										Der Name kann von Hand oder �ber (Copy und Paste aus dem RxWindow �bernommen werden)										
+										
+ at CWID@							wird ersetzt durch de @CALLSIGN@ und in CW gesendet
+
+
+Zus�tzlich kann �ber den Knopf StationFile eine Datei (z.B. mit Stationsdaten)
+gesendet werden. Diese Datei wird mit einem normalen Texteditor erstellt. Der
+Dateiname wird im Menu Settings - Settings eingetragen.
+Wenn diese Datei nicht im home- Directory des Users liegt ist der Pfad mit
+anzugeben.
+
+Au�erdem kann der letzte Knopf mit einem beliebigen Namen versehen werden und
+im ebenfalls eine Datei zugeordnet werden.	
+
+4.4 Trigger
+
+LinPsk unterst�zt bis zu 4 Empfangsfenster ( konfigurierbar).
+
+Zu jedem Rx - Fenster kann ein Triggertext definiert und aktiviert werden.(Default CQ CQ , Trigger nicht
+aktiviert)
+
+Wenn der Trigger aktiveiert ist, wird der empfangene Text gescannt. Wird der Triggertext gefunden, schaltet LinPsk
+in das entsprechende Rx- Fenster und deaktiviert den Trigger.
+
+Der Triggertext kann im Textfenster ge�ndert werden, die Eingabe mu� mit <enter> abgeschlossen werden.
+Gro�/Kelinschreibung wird nicht ausgewertet.
+
+73 es good DX de DL1KSV
+
+				
\ No newline at end of file
diff --git a/TODO b/TODO
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/TODO
@@ -0,0 +1 @@
+
diff --git a/acinclude.m4 b/acinclude.m4
new file mode 100644
index 0000000..5ec51b3
--- /dev/null
+++ b/acinclude.m4
@@ -0,0 +1,4903 @@
+##   -*- autoconf -*-
+
+dnl    This file is part of the KDE libraries/packages
+dnl    Copyright (C) 1997 Janos Farkas (chexum at shadow.banki.hu)
+dnl              (C) 1997,98,99 Stephan Kulow (coolo at kde.org)
+
+dnl    This file is free software; you can redistribute it and/or
+dnl    modify it under the terms of the GNU Library General Public
+dnl    License as published by the Free Software Foundation; either
+dnl    version 2 of the License, or (at your option) any later version.
+
+dnl    This library is distributed in the hope that it will be useful,
+dnl    but WITHOUT ANY WARRANTY; without even the implied warranty of
+dnl    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+dnl    Library General Public License for more details.
+
+dnl    You should have received a copy of the GNU Library General Public License
+dnl    along with this library; see the file COPYING.LIB.  If not, write to
+dnl    the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+dnl    Boston, MA 02111-1307, USA.
+
+dnl IMPORTANT NOTE:
+dnl Please do not modify this file unless you expect your modifications to be
+dnl carried into every other module in the repository. If you decide that you
+dnl really want to modify it, contact coolo at kde.org mentioning that you have
+dnl and that the modified file should be committed to every module.
+dnl
+dnl Single-module modifications are best placed in configure.in for kdelibs
+dnl and kdebase or configure.in.in if present.
+
+
+dnl ------------------------------------------------------------------------
+dnl Find a file (or one of more files in a list of dirs)
+dnl ------------------------------------------------------------------------
+dnl
+AC_DEFUN(AC_FIND_FILE,
+[
+$3=NO
+for i in $2;
+do
+  for j in $1;
+  do
+    if test -r "$i/$j"; then
+      $3=$i
+      break 2
+    fi
+  done
+done
+])
+
+dnl KDE_FIND_PATH(programm-name, variable-name, list of directories,
+dnl	if-not-found, test-parameter)
+AC_DEFUN(KDE_FIND_PATH,
+[
+   AC_MSG_CHECKING([for $1])
+   if test -n "$$2"; then
+        kde_cv_path="$$2";
+   else
+        kde_cache=`echo $1 | sed 'y%./+-%__p_%'`
+
+        AC_CACHE_VAL(kde_cv_path_$kde_cache,
+        [
+        kde_cv_path="NONE"
+	dirs="$3"
+	kde_save_IFS=$IFS
+	IFS=':'
+	for dir in $PATH; do
+	  dirs="$dirs $dir"
+        done
+	IFS=$kde_save_IFS
+
+        for dir in $dirs; do
+	  if test -x "$dir/$1"; then
+	    if test -n "$5"
+	    then
+              evalstr="$dir/$1 $5 2>&1 "
+	      if eval $evalstr; then
+                kde_cv_path="$dir/$1"
+                break
+	      fi
+            else
+		kde_cv_path="$dir/$1"
+                break
+	    fi
+          fi
+        done
+
+        eval "kde_cv_path_$kde_cache=$kde_cv_path"
+
+        ])
+
+      eval "kde_cv_path=\"`echo '$kde_cv_path_'$kde_cache`\""
+
+   fi
+
+   if test -z "$kde_cv_path" || test "$kde_cv_path" = NONE; then
+      AC_MSG_RESULT(not found)
+      $4
+   else
+      AC_MSG_RESULT($kde_cv_path)
+      $2=$kde_cv_path
+
+   fi
+])
+
+AC_DEFUN(KDE_MOC_ERROR_MESSAGE,
+[
+    AC_MSG_ERROR([No Qt meta object compiler (moc) found!
+Please check whether you installed Qt correctly.
+You need to have a running moc binary.
+configure tried to run $ac_cv_path_moc and the test didn't
+succeed. If configure shouldn't have tried this one, set
+the environment variable MOC to the right one before running
+configure.
+])
+])
+
+AC_DEFUN(KDE_UIC_ERROR_MESSAGE,
+[
+    AC_MSG_WARN([No Qt ui compiler (uic) found!
+Please check whether you installed Qt correctly.
+You need to have a running uic binary.
+configure tried to run $ac_cv_path_uic and the test didn't
+succeed. If configure shouldn't have tried this one, set
+the environment variable UIC to the right one before running
+configure.
+])
+])
+
+dnl ------------------------------------------------------------------------
+dnl Find the meta object compiler and the ui compiler in the PATH,
+dnl in $QTDIR/bin, and some more usual places
+dnl ------------------------------------------------------------------------
+dnl
+AC_DEFUN(AC_PATH_QT_MOC_UIC,
+[
+   qt_bindirs=""
+   for dir in $kde_qt_dirs; do
+      qt_bindirs="$qt_bindirs $dir/bin $dir/src/moc"
+   done
+   qt_bindirs="$qt_bindirs /usr/bin /usr/X11R6/bin /usr/local/qt/bin"
+   if test ! "$ac_qt_bindir" = "NO"; then
+      qt_bindirs="$ac_qt_bindir $qt_bindirs"
+   fi
+
+   KDE_FIND_PATH(moc, MOC, [$qt_bindirs], [KDE_MOC_ERROR_MESSAGE])
+   KDE_FIND_PATH(uic, UIC, [$qt_bindirs], [UIC="" ; KDE_UIC_ERROR_MESSAGE])
+   if test -z "$UIC" ; then
+     if test -z "$UIC_NOT_NEEDED" ; then
+       exit 1
+     else
+       UIC="echo uic not available: "
+     fi
+   fi
+   AC_SUBST(MOC)
+   AC_SUBST(UIC)
+])
+
+AC_DEFUN(KDE_1_CHECK_PATHS,
+[
+  KDE_1_CHECK_PATH_HEADERS
+
+  KDE_TEST_RPATH=
+
+  if test -n "$USE_RPATH"; then
+
+     if test -n "$kde_libraries"; then
+       KDE_TEST_RPATH="-R $kde_libraries"
+     fi
+
+     if test -n "$qt_libraries"; then
+       KDE_TEST_RPATH="$KDE_TEST_RPATH -R $qt_libraries"
+     fi
+
+     if test -n "$x_libraries"; then
+       KDE_TEST_RPATH="$KDE_TEST_RPATH -R $x_libraries"
+     fi
+
+     KDE_TEST_RPATH="$KDE_TEST_RPATH $KDE_EXTRA_RPATH"
+  fi
+
+AC_MSG_CHECKING([for KDE libraries installed])
+ac_link='$LIBTOOL_SHELL --silent --mode=link ${CXX-g++} -o conftest $CXXFLAGS $all_includes $CPPFLAGS $LDFLAGS $all_libraries conftest.$ac_ext $LIBS -lkdecore $LIBQT $KDE_TEST_RPATH 1>&5'
+
+if AC_TRY_EVAL(ac_link) && test -s conftest; then
+  AC_MSG_RESULT(yes)
+else
+  AC_MSG_ERROR([your system fails at linking a small KDE application!
+Check, if your compiler is installed correctly and if you have used the
+same compiler to compile Qt and kdelibs as you did use now.
+For more details about this problem, look at the end of config.log.])
+fi
+
+if eval `KDEDIR= ./conftest 2>&5`; then
+  kde_result=done
+else
+  kde_result=problems
+fi
+
+KDEDIR= ./conftest 2> /dev/null >&5 # make an echo for config.log
+kde_have_all_paths=yes
+
+KDE_SET_PATHS($kde_result)
+
+])
+
+AC_DEFUN(KDE_SET_PATHS,
+[
+  kde_cv_all_paths="kde_have_all_paths=\"yes\" \
+	kde_htmldir=\"$kde_htmldir\" \
+	kde_appsdir=\"$kde_appsdir\" \
+	kde_icondir=\"$kde_icondir\" \
+	kde_sounddir=\"$kde_sounddir\" \
+	kde_datadir=\"$kde_datadir\" \
+	kde_locale=\"$kde_locale\" \
+	kde_cgidir=\"$kde_cgidir\" \
+	kde_confdir=\"$kde_confdir\" \
+	kde_mimedir=\"$kde_mimedir\" \
+	kde_toolbardir=\"$kde_toolbardir\" \
+	kde_wallpaperdir=\"$kde_wallpaperdir\" \
+	kde_templatesdir=\"$kde_templatesdir\" \
+	kde_bindir=\"$kde_bindir\" \
+	kde_servicesdir=\"$kde_servicesdir\" \
+	kde_servicetypesdir=\"$kde_servicetypesdir\" \
+	kde_moduledir=\"$kde_moduledir\" \
+	kde_result=$1"
+])
+
+AC_DEFUN(KDE_SET_DEFAULT_PATHS,
+[
+if test "$1" = "default"; then
+
+  if test -z "$kde_htmldir"; then
+    kde_htmldir='\${prefix}/share/doc/HTML'
+  fi
+  if test -z "$kde_appsdir"; then
+    kde_appsdir='\${prefix}/share/applnk'
+  fi
+  if test -z "$kde_icondir"; then
+    kde_icondir='\${prefix}/share/icons'
+  fi
+  if test -z "$kde_sounddir"; then
+    kde_sounddir='\${prefix}/share/sounds'
+  fi
+  if test -z "$kde_datadir"; then
+    kde_datadir='\${prefix}/share/apps'
+  fi
+  if test -z "$kde_locale"; then
+    kde_locale='\${prefix}/share/locale'
+  fi
+  if test -z "$kde_cgidir"; then
+    kde_cgidir='\${exec_prefix}/cgi-bin'
+  fi
+  if test -z "$kde_confdir"; then
+    kde_confdir='\${prefix}/share/config'
+  fi
+  if test -z "$kde_mimedir"; then
+    kde_mimedir='\${prefix}/share/mimelnk'
+  fi
+  if test -z "$kde_toolbardir"; then
+    kde_toolbardir='\${prefix}/share/toolbar'
+  fi
+  if test -z "$kde_wallpaperdir"; then
+    kde_wallpaperdir='\${prefix}/share/wallpapers'
+  fi
+  if test -z "$kde_templatesdir"; then
+    kde_templatesdir='\${prefix}/share/templates'
+  fi
+  if test -z "$kde_bindir"; then
+    kde_bindir='\${exec_prefix}/bin'
+  fi
+  if test -z "$kde_servicesdir"; then
+    kde_servicesdir='\${prefix}/share/services'
+  fi
+  if test -z "$kde_servicetypesdir"; then
+    kde_servicetypesdir='\${prefix}/share/servicetypes'
+  fi
+  if test -z "$kde_moduledir"; then
+    kde_moduledir='\${prefix}/lib/kde2'
+  fi
+
+  KDE_SET_PATHS(defaults)
+
+else
+
+  if test $kde_qtver = 1; then
+     AC_MSG_RESULT([compiling])
+     KDE_1_CHECK_PATHS
+  else
+     AC_MSG_ERROR([path checking not yet supported for KDE 2])
+  fi
+
+fi
+])
+
+AC_DEFUN(KDE_CHECK_PATHS_FOR_COMPLETENESS,
+[ if test -z "$kde_htmldir" || test -z "$kde_appsdir" ||
+   test -z "$kde_icondir" || test -z "$kde_sounddir" ||
+   test -z "$kde_datadir" || test -z "$kde_locale"  ||
+   test -z "$kde_cgidir"  || test -z "$kde_confdir" ||
+   test -z "$kde_mimedir" || test -z "$kde_toolbardir" ||
+   test -z "$kde_wallpaperdir" || test -z "$kde_templatesdir" ||
+   test -z "$kde_bindir" || test -z "$kde_servicesdir" ||
+   test -z "$kde_servicetypesdir" || test -z "$kde_moduledir" ||
+   test "$kde_have_all_paths" != "yes"; then
+     kde_have_all_paths=no
+  fi
+])
+
+AC_DEFUN(KDE_MISSING_PROG_ERROR,
+[
+    AC_MSG_ERROR([The important program $1 was not found!
+Please check whether you installed KDE correctly.
+])
+])
+
+AC_DEFUN(KDE_SUBST_PROGRAMS,
+[AC_REQUIRE([AC_CREATE_KFSSTND])dnl
+
+        kde_default_bindirs="/usr/bin /usr/local/bin /opt/local/bin /usr/X11R6/bin /opt/kde/bin /opt/kde2/bin /usr/kde/bin /usr/local/kde/bin"
+        if test -n "$KDEDIRS"; then
+           kde_save_IFS=$IFS
+           IFS=:
+           for dir in $KDEDIRS; do
+                kde_default_bindirs="$dir/bin $kde_default_bindirs "
+           done
+           IFS=$kde_save_IFS
+        fi
+        kde_default_bindirs="$exec_prefix/bin $prefix/bin $kde_default_bindirs"
+        KDE_FIND_PATH(dcopidl, DCOPIDL, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(dcopidl)])
+        KDE_FIND_PATH(dcopidl2cpp, DCOPIDL2CPP, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(dcopidl2cpp)])
+        KDE_FIND_PATH(mcopidl, MCOPIDL, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(mcopidl)])
+        KDE_FIND_PATH(kdb2html, KDB2HTML, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(kdb2html)])
+        KDE_FIND_PATH(artsc-config, ARTSCCONFIG, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(artsc-config)])
+        KDE_FIND_PATH(kde-config, KDECONFIG, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(kde-config)])
+
+        DCOP_DEPENDENCIES='$(DCOPIDL)'
+        AC_SUBST(DCOPIDL)
+        AC_SUBST(DCOPIDL2CPP)
+        AC_SUBST(DCOP_DEPENDENCIES)
+        AC_SUBST(MCOPIDL)
+        AC_SUBST(KDB2HTML)
+        AC_SUBST(ARTSCCONFIG)
+        AC_SUBST(KDECONFIG)
+
+        if test -x "$KDECONFIG"; then # it can be "compiled"
+          kde_libs_prefix=`$KDECONFIG --prefix`
+          if test -z "$kde_libs_prefix" || test ! -x "$kde_libs_prefix"; then
+               AC_MSG_ERROR([$KDECONFIG --prefix outputed the non existant prefix '$kde_libs_prefix' for kdelibs.
+                          This means it has been moved since you installed it.
+                          This won't work. Please recompile kdelibs for the new prefix.
+                          ])
+           fi
+           kde_libs_htmldir=`$KDECONFIG --install html --expandvars`
+        else
+           kde_libs_prefix='$(prefix)'
+           kde_libs_htmldir='$(kde_htmldir)'
+        fi
+        AC_SUBST(kde_libs_prefix)
+        AC_SUBST(kde_libs_htmldir)
+])dnl
+
+AC_DEFUN(AC_CREATE_KFSSTND,
+[
+AC_REQUIRE([AC_CHECK_RPATH])
+
+AC_MSG_CHECKING([for KDE paths])
+kde_result=""
+kde_cached_paths=yes
+AC_CACHE_VAL(kde_cv_all_paths,
+[
+  KDE_SET_DEFAULT_PATHS($1)
+  kde_cached_paths=no
+])
+eval "$kde_cv_all_paths"
+KDE_CHECK_PATHS_FOR_COMPLETENESS
+if test "$kde_have_all_paths" = "no" && test "$kde_cached_paths" = "yes"; then
+  # wrong values were cached, may be, we can set better ones
+  kde_result=
+  kde_htmldir= kde_appsdir= kde_icondir= kde_sounddir=
+  kde_datadir= kde_locale=  kde_cgidir=  kde_confdir=
+  kde_mimedir= kde_toolbardir= kde_wallpaperdir= kde_templatesdir=
+  kde_bindir= kde_servicesdir= kde_servicetypesdir= kde_moduledir=
+  kde_have_all_paths=
+  KDE_SET_DEFAULT_PATHS($1)
+  eval "$kde_cv_all_paths"
+  KDE_CHECK_PATHS_FOR_COMPLETENESS
+  kde_result="$kde_result (cache overridden)"
+fi
+if test "$kde_have_all_paths" = "no"; then
+  AC_MSG_ERROR([configure could not run a little KDE program to test the environment.
+Since it had compiled and linked before, it must be a strange problem on your system.
+Look at config.log for details. If you are not able to fix this, look at
+http://www.kde.org/faq/installation.html or any www.kde.org mirror.
+(If you're using an egcs version on Linux, you may update binutils!)
+])
+else
+  rm -f conftest*
+  AC_MSG_RESULT($kde_result)
+fi
+
+bindir=$kde_bindir
+
+KDE_SUBST_PROGRAMS
+
+])
+
+AC_DEFUN(AC_SUBST_KFSSTND,
+[
+AC_SUBST(kde_htmldir)
+AC_SUBST(kde_appsdir)
+AC_SUBST(kde_icondir)
+AC_SUBST(kde_sounddir)
+AC_SUBST(kde_datadir)
+AC_SUBST(kde_locale)
+AC_SUBST(kde_confdir)
+AC_SUBST(kde_mimedir)
+AC_SUBST(kde_wallpaperdir)
+AC_SUBST(kde_bindir)
+dnl for KDE 2
+AC_SUBST(kde_templatesdir)
+AC_SUBST(kde_servicesdir)
+AC_SUBST(kde_servicetypesdir)
+AC_SUBST(kde_moduledir)
+if test "$kde_qtver" = 1; then
+  kde_minidir="$kde_icondir/mini"
+else
+# for KDE 1 - this breaks KDE2 apps using minidir, but
+# that's the plan ;-/
+  kde_minidir="/dev/null"
+fi
+dnl AC_SUBST(kde_minidir)
+dnl AC_SUBST(kde_cgidir)
+dnl AC_SUBST(kde_toolbardir)
+])
+
+AC_DEFUN(KDE_MISC_TESTS,
+[
+   AC_LANG_C
+   dnl Checks for libraries.
+   AC_CHECK_LIB(compat, main, [LIBCOMPAT="-lcompat"]) dnl for FreeBSD
+   AC_SUBST(LIBCOMPAT)
+   kde_have_crypt=
+   AC_CHECK_LIB(crypt, crypt, [LIBCRYPT="-lcrypt"; kde_have_crypt=yes],
+      AC_CHECK_LIB(c, crypt, [kde_have_crypt=yes], [
+        AC_MSG_WARN([you have no crypt in either libcrypt or libc.
+You should install libcrypt from another source or configure with PAM
+support])
+	kde_have_crypt=no
+      ]))
+   AC_SUBST(LIBCRYPT)
+   if test $kde_have_crypt = yes; then
+      AC_DEFINE_UNQUOTED(HAVE_CRYPT, 1, [Defines if your system has the crypt function])
+   fi
+   AC_CHECK_KSIZE_T
+   AC_LANG_C
+   AC_CHECK_LIB(dnet, dnet_ntoa, [X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet"])
+   if test $ac_cv_lib_dnet_dnet_ntoa = no; then
+      AC_CHECK_LIB(dnet_stub, dnet_ntoa,
+        [X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub"])
+   fi
+   AC_CHECK_FUNC(inet_ntoa)
+   if test $ac_cv_func_inet_ntoa = no; then
+     AC_CHECK_LIB(nsl, inet_ntoa, X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl")
+   fi
+   AC_CHECK_FUNC(connect)
+   if test $ac_cv_func_connect = no; then
+      AC_CHECK_LIB(socket, connect, X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS", ,
+        $X_EXTRA_LIBS)
+   fi
+
+   AC_CHECK_FUNC(remove)
+   if test $ac_cv_func_remove = no; then
+      AC_CHECK_LIB(posix, remove, X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix")
+   fi
+
+   # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay.
+   AC_CHECK_FUNC(shmat, ,
+     AC_CHECK_LIB(ipc, shmat, X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc"))
+   
+   # Solaris 2.6 needs -lresolv for res_init
+   AC_CHECK_FUNC(res_init, ,
+     AC_CHECK_LIB(resolv, res_init, X_EXTRA_LIBS="$X_EXTRA_LIBS -lresolv"))
+
+   LIBSOCKET="$X_EXTRA_LIBS"
+   AC_SUBST(LIBSOCKET)
+   AC_SUBST(X_EXTRA_LIBS)
+   AC_CHECK_LIB(ucb, killpg, [LIBUCB="-lucb"]) dnl for Solaris2.4
+   AC_SUBST(LIBUCB)
+
+   case $host in  dnl this *is* LynxOS specific
+   *-*-lynxos* )
+        AC_MSG_CHECKING([LynxOS header file wrappers])
+        [CFLAGS="$CFLAGS -D__NO_INCLUDE_WARN__"]
+        AC_MSG_RESULT(disabled)
+        AC_CHECK_LIB(bsd, gethostbyname, [LIBSOCKET="-lbsd"]) dnl for LynxOS
+         ;;
+    esac
+
+   KDE_CHECK_TYPES
+   KDE_CHECK_LIBDL
+])
+
+dnl ------------------------------------------------------------------------
+dnl Find the header files and libraries for X-Windows. Extended the
+dnl macro AC_PATH_X
+dnl ------------------------------------------------------------------------
+dnl
+AC_DEFUN(K_PATH_X,
+[
+AC_REQUIRE([AC_PROG_CPP])dnl
+AC_REQUIRE([KDE_MISC_TESTS])dnl
+AC_MSG_CHECKING(for X)
+AC_LANG_SAVE
+AC_LANG_C
+AC_CACHE_VAL(kde_cv_have_x,
+[# One or both of the vars are not set, and there is no cached value.
+if test "{$x_includes+set}" = set || test "$x_includes" = NONE; then
+   kde_x_includes=NO
+else
+   kde_x_includes=$x_includes
+fi
+if test "{$x_libraries+set}" = set || test "$x_libraries" = NONE; then
+   kde_x_libraries=NO
+else
+   kde_x_libraries=$x_libraries
+fi
+
+# below we use the standard autoconf calls
+ac_x_libraries=$kde_x_libraries
+ac_x_includes=$kde_x_includes
+
+AC_PATH_X_DIRECT
+dnl AC_PATH_X_XMKMF picks /usr/lib as the path for the X libraries.
+dnl Unfortunately, if compiling with the N32 ABI, this is not the correct
+dnl location. The correct location is /usr/lib32 or an undefined value
+dnl (the linker is smart enough to pick the correct default library).
+dnl Things work just fine if you use just AC_PATH_X_DIRECT.
+case "$host" in
+mips-sgi-irix6*)
+  ;;
+*)
+  AC_PATH_X_XMKMF
+  if test -z "$ac_x_includes"; then
+    ac_x_includes="."
+  fi
+  if test -z "$ac_x_libraries"; then
+    ac_x_libraries="/usr/lib"
+  fi
+esac
+#from now on we use our own again
+
+# when the user already gave --x-includes, we ignore
+# what the standard autoconf macros told us.
+if test "$kde_x_includes" = NO; then
+  kde_x_includes=$ac_x_includes
+fi
+
+# for --x-libraries too
+if test "$kde_x_libraries" = NO; then
+  kde_x_libraries=$ac_x_libraries
+fi
+
+if test "$kde_x_includes" = NO; then
+  AC_MSG_ERROR([Can't find X includes. Please check your installation and add the correct paths!])
+fi
+
+if test "$kde_x_libraries" = NO; then
+  AC_MSG_ERROR([Can't find X libraries. Please check your installation and add the correct paths!])
+fi
+
+# Record where we found X for the cache.
+kde_cv_have_x="have_x=yes \
+         kde_x_includes=$kde_x_includes kde_x_libraries=$kde_x_libraries"
+])dnl
+eval "$kde_cv_have_x"
+
+if test "$have_x" != yes; then
+  AC_MSG_RESULT($have_x)
+  no_x=yes
+else
+  AC_MSG_RESULT([libraries $kde_x_libraries, headers $kde_x_includes])
+fi
+
+if test -z "$kde_x_includes" || test "x$kde_x_includes" = xNONE; then
+  X_INCLUDES=""
+  x_includes="."; dnl better than nothing :-
+ else
+  x_includes=$kde_x_includes
+  X_INCLUDES="-I$x_includes"
+fi
+
+if test -z "$kde_x_libraries" || test "x$kde_x_libraries" = xNONE; then
+  X_LDFLAGS=""
+  x_libraries="/usr/lib"; dnl better than nothing :-
+ else
+  x_libraries=$kde_x_libraries
+  X_LDFLAGS="-L$x_libraries"
+fi
+all_includes="$X_INCLUDES"
+all_libraries="$X_LDFLAGS"
+
+AC_SUBST(X_INCLUDES)
+AC_SUBST(X_LDFLAGS)
+AC_SUBST(x_libraries)
+AC_SUBST(x_includes)
+
+# Check for libraries that X11R6 Xt/Xaw programs need.
+ac_save_LDFLAGS="$LDFLAGS"
+LDFLAGS="$LDFLAGS $X_LDFLAGS"
+# SM needs ICE to (dynamically) link under SunOS 4.x (so we have to
+# check for ICE first), but we must link in the order -lSM -lICE or
+# we get undefined symbols.  So assume we have SM if we have ICE.
+# These have to be linked with before -lX11, unlike the other
+# libraries we check for below, so use a different variable.
+#  --interran at uluru.Stanford.EDU, kb at cs.umb.edu.
+AC_CHECK_LIB(ICE, IceConnectionNumber,
+  [LIBSM="-lSM -lICE"], , $X_EXTRA_LIBS)
+AC_SUBST(LIBSM)
+LDFLAGS="$ac_save_LDFLAGS"
+
+AC_SUBST(X_PRE_LIBS)
+
+LIB_X11='-lX11 $(LIBSOCKET)'
+AC_SUBST(LIB_X11)
+
+AC_MSG_CHECKING(for libXext)
+AC_CACHE_VAL(kde_cv_have_libXext,
+[
+kde_ldflags_safe="$LDFLAGS"
+kde_libs_safe="$LIBS"
+
+LDFLAGS="$LDFLAGS $X_LDFLAGS $USER_LDFLAGS"
+LIBS="-lXext -lX11 $LIBSOCKET"
+
+AC_TRY_LINK([
+#include <stdio.h>
+],
+[
+printf("hello Xext\n");
+],
+kde_cv_have_libXext=yes,
+kde_cv_have_libXext=no
+   )
+
+LDFLAGS=$kde_ldflags_safe
+LIBS=$kde_libs_safe
+ ])
+
+AC_MSG_RESULT($kde_cv_have_libXext)
+
+if test "$kde_cv_have_libXext" = "no"; then
+  AC_MSG_ERROR([We need a working libXext to proceed. Since configure
+can't find it itself, we stop here assuming that make wouldn't find
+them either.])
+fi
+
+])
+
+AC_LANG_RESTORE
+])
+
+AC_DEFUN(KDE_PRINT_QT_PROGRAM,
+[
+AC_REQUIRE([KDE_USE_QT])
+cat > conftest.$ac_ext <<EOF
+#include "confdefs.h"
+#include <qglobal.h>
+#include <qapplication.h>
+#include <qapp.h>
+#include <qobjcoll.h>
+EOF
+if test "$kde_qtver" = "2"; then
+cat >> conftest.$ac_ext <<EOF
+#include <qevent.h>
+#include <qstring.h>
+#include <qstyle.h>
+EOF
+
+if test $kde_qtsubver -gt 0; then
+cat >> conftest.$ac_ext <<EOF
+#include <qiconview.h>
+EOF
+fi
+
+fi
+
+echo "#if ! ($kde_qt_verstring)" >> conftest.$ac_ext
+cat >> conftest.$ac_ext <<EOF
+#error 1
+#endif
+
+int main() {
+EOF
+if test "$kde_qtver" = "2"; then
+cat >> conftest.$ac_ext <<EOF
+    QStringList *t = new QStringList();
+EOF
+if test $kde_qtsubver -gt 0; then
+cat >> conftest.$ac_ext <<EOF
+    QIconView iv(0);
+    iv.setWordWrapIconText(false);
+    QString s;
+    s.setLatin1("Elvis is alive", 14);
+    int magnolia = QEvent::Speech; /* new in 2.2 beta2 */
+EOF
+fi
+fi
+cat >> conftest.$ac_ext <<EOF
+    return 0;
+}
+EOF
+])
+
+AC_DEFUN(KDE_USE_QT,
+[
+
+if test -z "$1"; then
+  kde_qtver=2
+  kde_qtsubver=1
+else
+  kde_qtsubver=`echo "$1" | sed -e 's#[0-9]\+\.\([0-9]\+\).*#\1#'`
+  # following is the check if subversion isn�t found in passed argument
+  if test "$kde_qtsubver" = "$1"; then
+    kde_qtsubver=1
+  fi
+  kde_qtver=`echo "$1" | sed -e 's#^\([0-9]\+\)\..*#\1#'`
+  if test "$kde_qtver" = "1"; then
+    kde_qtsubver=42
+  else
+   # this is the version number fallback to 2.1, unless major version is 1 or 2
+   if test "$kde_qtver" != "2"; then
+    kde_qtver=2
+    kde_qtsubver=1
+   fi
+  fi
+fi
+
+if test -z "$2"; then
+  if test $kde_qtver = 2; then
+    if test $kde_qtsubver -gt 0; then
+      kde_qt_minversion=">= Qt 2.2.2"
+    else
+      kde_qt_minversion=">= Qt 2.0.2"
+    fi
+  else
+    kde_qt_minversion=">= 1.42 and < 2.0"
+  fi
+else
+   kde_qt_minversion=$2
+fi
+
+if test -z "$3"; then
+   if test $kde_qtver = 2; then
+    if test $kde_qtsubver -gt 0; then
+      kde_qt_verstring="QT_VERSION >= 222"
+    else
+      kde_qt_verstring="QT_VERSION >= 200"
+    fi
+   else
+    kde_qt_verstring="QT_VERSION >= 142 && QT_VERSION < 200"
+  fi
+else
+   kde_qt_verstring=$3
+fi
+
+if test $kde_qtver = 2; then
+   kde_qt_dirs="$QTDIR /usr/lib/qt2 /usr/lib/qt"
+else
+   kde_qt_dirs="$QTDIR /usr/lib/qt"
+fi
+])
+
+AC_DEFUN(KDE_CHECK_QT_DIRECT,
+[
+AC_REQUIRE([KDE_USE_QT])
+AC_MSG_CHECKING([if Qt compiles without flags])
+AC_CACHE_VAL(kde_cv_qt_direct,
+[
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+ac_LD_LIBRARY_PATH_safe=$LD_LIBRARY_PATH
+ac_LIBRARY_PATH="$LIBRARY_PATH"
+ac_cxxflags_safe="$CXXFLAGS"
+ac_ldflags_safe="$LDFLAGS"
+ac_libs_safe="$LIBS"
+
+CXXFLAGS="$CXXFLAGS -I$qt_includes"
+LDFLAGS="$LDFLAGS $X_LDFLAGS"
+LIBS="$LIBQT -lXext -lX11 $LIBSOCKET"
+LD_LIBRARY_PATH=
+export LD_LIBRARY_PATH
+LIBRARY_PATH=
+export LIBRARY_PATH
+
+KDE_PRINT_QT_PROGRAM
+
+if AC_TRY_EVAL(ac_link) && test -s conftest; then
+  kde_cv_qt_direct="yes"
+else
+  kde_cv_qt_direct="no"
+  echo "configure: failed program was:" >&AC_FD_CC
+  cat conftest.$ac_ext >&AC_FD_CC
+fi
+
+rm -f conftest*
+CXXFLAGS="$ac_cxxflags_safe"
+LDFLAGS="$ac_ldflags_safe"
+LIBS="$ac_libs_safe"
+
+LD_LIBRARY_PATH="$ac_LD_LIBRARY_PATH_safe"
+export LD_LIBRARY_PATH
+LIBRARY_PATH="$ac_LIBRARY_PATH"
+export LIBRARY_PATH
+AC_LANG_RESTORE
+])
+
+if test "$kde_cv_qt_direct" = "yes"; then
+  AC_MSG_RESULT(yes)
+  $1
+else
+  AC_MSG_RESULT(no)
+  $2
+fi
+])
+
+dnl ------------------------------------------------------------------------
+dnl Try to find the Qt headers and libraries.
+dnl $(QT_LDFLAGS) will be -Lqtliblocation (if needed)
+dnl and $(QT_INCLUDES) will be -Iqthdrlocation (if needed)
+dnl ------------------------------------------------------------------------
+dnl
+AC_DEFUN(AC_PATH_QT_1_3,
+[
+AC_REQUIRE([K_PATH_X])
+AC_REQUIRE([KDE_USE_QT])
+
+dnl ------------------------------------------------------------------------
+dnl Add configure flag to enable linking to MT version of Qt library.
+dnl ------------------------------------------------------------------------
+
+AC_ARG_ENABLE(
+  mt,
+  [  --enable-mt             link to threaded Qt (experimental)],
+  kde_use_qt_mt=$enableval,
+  kde_use_qt_mt=no
+)
+
+USING_QT_MT=""
+
+dnl ------------------------------------------------------------------------
+dnl If we got --enable-qt-mt then adjust some vars for the host.
+dnl ------------------------------------------------------------------------
+
+if test "x$kde_use_qt_mt" = "xyes"; then
+
+  case $host in
+  *-*-linux-*)
+    if test "x$GCC" = "xyes"; then
+      CPPFLAGS="$CPPFLAGS -DQT_THREAD_SUPPORT -pthread"
+      X_EXTRA_LIBS="$X_EXTRA_LIBS -pthread"
+    else
+      AC_MSG_WARN([Compiler is not gcc. MT support disabled.])
+    fi
+    ;;
+  *)
+    AC_MSG_WARN([MT not yet supported on $host - disabled.])
+    ;;
+  esac
+
+fi
+
+kde_qt_was_given=yes
+
+dnl ------------------------------------------------------------------------
+dnl If we haven't been told how to link to Qt, we work it out for ourselves.
+dnl ------------------------------------------------------------------------
+
+if test -z "$LIBQT_GLOB"; then
+
+  LIBQT_GLOB="libqt.*"
+
+fi
+
+if test -z "$LIBQT"; then
+
+  LIBQT="-lqt"
+  kde_int_qt="-lqt"
+
+dnl ------------------------------------------------------------------------
+dnl If we got --enable-qt-mt then adjust the Qt library name for the host.
+dnl ------------------------------------------------------------------------
+
+  if test "x$kde_use_qt_mt" = "xyes"; then
+
+      case $host in
+      *-*-linux-*)
+        if test "x$GCC" = "xyes"; then
+          LIBQT="-lqt-mt"
+          kde_int_qt="-lqt-mt"
+          LIBQT_GLOB="libqt-mt.*"
+          USING_QT_MT="using -mt"
+        fi
+      ;;
+      esac
+  fi
+
+  kde_qt_was_given=no
+
+else
+  kde_int_qt="$LIBQT"
+fi
+
+if test $kde_qtver = 2; then
+
+  AC_REQUIRE([AC_FIND_PNG])
+  AC_REQUIRE([AC_FIND_JPEG])
+  LIBQT="$LIBQT $LIBPNG $LIBJPEG"
+fi
+
+AC_MSG_CHECKING([for Qt])
+
+LIBQT="$LIBQT $X_PRE_LIBS -lXext -lX11 $LIBSM $LIBSOCKET"
+ac_qt_includes=NO ac_qt_libraries=NO ac_qt_bindir=NO
+qt_libraries=""
+qt_includes=""
+AC_ARG_WITH(qt-dir,
+    [  --with-qt-dir=DIR       where the root of Qt is installed ],
+    [  ac_qt_includes="$withval"/include
+       ac_qt_libraries="$withval"/lib
+       ac_qt_bindir="$withval"/bin
+    ])
+
+AC_ARG_WITH(qt-includes,
+    [  --with-qt-includes=DIR  where the Qt includes are. ],
+    [
+       ac_qt_includes="$withval"
+    ])
+
+kde_qt_libs_given=no
+
+AC_ARG_WITH(qt-libraries,
+    [  --with-qt-libraries=DIR where the Qt library is installed.],
+    [  ac_qt_libraries="$withval"
+       kde_qt_libs_given=yes
+    ])
+
+AC_CACHE_VAL(ac_cv_have_qt,
+[#try to guess Qt locations
+
+qt_incdirs=""
+for dir in $kde_qt_dirs; do
+   qt_incdirs="$qt_incdirs $dir/include $dir"
+done
+qt_incdirs="$QTINC $qt_incdirs /usr/local/qt/include /usr/include/qt /usr/include /usr/X11R6/include/X11/qt /usr/X11R6/include/qt $x_includes"
+if test ! "$ac_qt_includes" = "NO"; then
+   qt_incdirs="$ac_qt_includes $qt_incdirs"
+fi
+
+if test "$kde_qtver" = "2"; then
+  kde_qt_header=qstyle.h
+else
+  kde_qt_header=qglobal.h
+fi
+
+AC_FIND_FILE($kde_qt_header, $qt_incdirs, qt_incdir)
+ac_qt_includes="$qt_incdir"
+
+qt_libdirs=""
+for dir in $kde_qt_dirs; do
+   qt_libdirs="$qt_libdirs $dir/lib $dir"
+done
+qt_libdirs="$QTLIB $qt_libdirs /usr/X11R6/lib /usr/lib /usr/local/qt/lib $x_libraries"
+if test ! "$ac_qt_libraries" = "NO"; then
+  qt_libdir=$ac_qt_libraries
+else
+  qt_libdirs="$ac_qt_libraries $qt_libdirs"
+  # if the Qt was given, the chance is too big that libqt.* doesn't exist
+  qt_libdir=NONE
+  for dir in $qt_libdirs; do
+    try="ls -1 $dir/${LIBQT_GLOB}"
+    if test -n "`$try 2> /dev/null`"; then qt_libdir=$dir; break; else echo "tried $dir" >&AC_FD_CC ; fi
+  done
+fi
+
+ac_qt_libraries="$qt_libdir"
+
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+
+ac_cxxflags_safe="$CXXFLAGS"
+ac_ldflags_safe="$LDFLAGS"
+ac_libs_safe="$LIBS"
+
+CXXFLAGS="$CXXFLAGS -I$qt_incdir $all_includes"
+LDFLAGS="$LDFLAGS -L$qt_libdir $all_libraries $USER_LDFLAGS"
+LIBS="$LIBS $LIBQT"
+
+KDE_PRINT_QT_PROGRAM
+
+if AC_TRY_EVAL(ac_link) && test -s conftest; then
+  rm -f conftest*
+else
+  echo "configure: failed program was:" >&AC_FD_CC
+  cat conftest.$ac_ext >&AC_FD_CC
+  ac_qt_libraries="NO"
+fi
+rm -f conftest*
+CXXFLAGS="$ac_cxxflags_safe"
+LDFLAGS="$ac_ldflags_safe"
+LIBS="$ac_libs_safe"
+
+AC_LANG_RESTORE
+if test "$ac_qt_includes" = NO || test "$ac_qt_libraries" = NO; then
+  ac_cv_have_qt="have_qt=no"
+  ac_qt_notfound=""
+  if test "$ac_qt_includes" = NO; then
+    if test "$ac_qt_libraries" = NO; then
+      ac_qt_notfound="(headers and libraries)";
+    else
+      ac_qt_notfound="(headers)";
+    fi
+  else
+    ac_qt_notfound="(libraries)";
+  fi
+
+  AC_MSG_ERROR([Qt ($kde_qt_minversion) $ac_qt_notfound not found. Please check your installation!
+For more details about this problem, look at the end of config.log.])
+else
+  have_qt="yes"
+fi
+])
+
+eval "$ac_cv_have_qt"
+
+if test "$have_qt" != yes; then
+  AC_MSG_RESULT([$have_qt]);
+else
+  ac_cv_have_qt="have_qt=yes \
+    ac_qt_includes=$ac_qt_includes ac_qt_libraries=$ac_qt_libraries"
+  AC_MSG_RESULT([libraries $ac_qt_libraries, headers $ac_qt_includes $USING_QT_MT])
+
+  qt_libraries="$ac_qt_libraries"
+  qt_includes="$ac_qt_includes"
+fi
+
+if test ! "$kde_qt_libs_given" = "yes"; then
+KDE_CHECK_QT_DIRECT(qt_libraries= ,[])
+fi
+
+AC_SUBST(qt_libraries)
+AC_SUBST(qt_includes)
+
+if test "$qt_includes" = "$x_includes" || test -z "$qt_includes"; then
+ QT_INCLUDES="";
+else
+ QT_INCLUDES="-I$qt_includes"
+ all_includes="$QT_INCLUDES $all_includes"
+fi
+
+if test "$qt_libraries" = "$x_libraries" || test -z "$qt_libraries"; then
+ QT_LDFLAGS=""
+else
+ QT_LDFLAGS="-L$qt_libraries"
+ all_libraries="$all_libraries $QT_LDFLAGS"
+fi
+
+AC_SUBST(QT_INCLUDES)
+AC_SUBST(QT_LDFLAGS)
+AC_PATH_QT_MOC_UIC
+
+LIB_QT="$kde_int_qt "'$(LIBPNG) $(LIBJPEG) -lXext $(LIB_X11) $(LIBSM)'
+AC_SUBST(LIB_QT)
+
+])
+
+AC_DEFUN(AC_PATH_QT,
+[
+AC_PATH_QT_1_3
+])
+
+AC_DEFUN(KDE_CHECK_FINAL,
+[
+  AC_ARG_ENABLE(final, [  --enable-final          build size optimized apps (experimental - needs lots of memory)],
+	kde_use_final=$enableval, kde_use_final=no)
+
+  KDE_COMPILER_REPO
+  if test "x$kde_use_final" = "xyes"; then
+      KDE_USE_FINAL_TRUE=""
+      KDE_USE_FINAL_FALSE="#"
+   else
+      KDE_USE_FINAL_TRUE="#"
+      KDE_USE_FINAL_FALSE=""
+  fi
+  AC_SUBST(KDE_USE_FINAL_TRUE)
+  AC_SUBST(KDE_USE_FINAL_FALSE)
+
+  AC_ARG_ENABLE(closure, [  --disable-closure       don't delay template instantiation],
+  	kde_use_closure=$enableval, kde_use_closure=yes)
+
+  if test "x$kde_use_closure" = "xyes"; then
+       KDE_USE_CLOSURE_TRUE=""
+       KDE_USE_CLOSURE_FALSE="#"
+#       CXXFLAGS="$CXXFLAGS $REPO"
+  else
+       KDE_USE_CLOSURE_TRUE="#"
+       KDE_USE_CLOSURE_FALSE=""
+  fi
+  AC_SUBST(KDE_USE_CLOSURE_TRUE)
+  AC_SUBST(KDE_USE_CLOSURE_FALSE)
+])
+
+dnl ------------------------------------------------------------------------
+dnl Now, the same with KDE
+dnl $(KDE_LDFLAGS) will be the kdeliblocation (if needed)
+dnl and $(kde_includes) will be the kdehdrlocation (if needed)
+dnl ------------------------------------------------------------------------
+dnl
+AC_DEFUN(AC_BASE_PATH_KDE,
+[
+AC_PREREQ([2.13])
+AC_REQUIRE([AC_PATH_QT])dnl
+AC_CHECK_RPATH
+AC_MSG_CHECKING([for KDE])
+
+if test "${prefix}" != NONE; then
+  kde_includes=${prefix}/include
+  ac_kde_includes=$prefix/include
+
+  if test "${exec_prefix}" != NONE; then
+    kde_libraries=${exec_prefix}/lib
+    ac_kde_libraries=$exec_prefix/lib
+  else
+    kde_libraries=${prefix}/lib
+    ac_kde_libraries=$prefix/lib
+  fi
+else
+  ac_kde_includes=
+  ac_kde_libraries=
+  kde_libraries=""
+  kde_includes=""
+fi
+
+AC_CACHE_VAL(ac_cv_have_kde,
+[#try to guess kde locations
+
+if test "$kde_qtver" = 1; then
+  kde_check_header="ksock.h"
+  kde_check_lib="libkdecore.la"
+else
+  kde_check_header="ksharedptr.h"
+  kde_check_lib="libkio.la"
+fi
+
+if test -z "$1"; then
+
+kde_incdirs="/usr/lib/kde/include /usr/local/kde/include /usr/kde/include /usr/include/kde /usr/include /opt/kde2/include /opt/kde/include $x_includes $qt_includes"
+test -n "$KDEDIR" && kde_incdirs="$KDEDIR/include $KDEDIR/include/kde $KDEDIR $kde_incdirs"
+kde_incdirs="$ac_kde_includes $kde_incdirs"
+AC_FIND_FILE($kde_check_header, $kde_incdirs, kde_incdir)
+ac_kde_includes="$kde_incdir"
+
+if test -n "$ac_kde_includes" && test ! -r "$ac_kde_includes/$kde_check_header"; then
+  AC_MSG_ERROR([
+in the prefix, you've chosen, are no KDE headers installed. This will fail.
+So, check this please and use another prefix!])
+fi
+
+kde_libdirs="/usr/lib/kde/lib /usr/local/kde/lib /usr/kde/lib /usr/lib/kde /usr/lib /usr/X11R6/lib /opt/kde2/lib /opt/kde/lib /usr/X11R6/kde/lib"
+test -n "$KDEDIR" && kde_libdirs="$KDEDIR/lib $KDEDIR $kde_libdirs"
+kde_libdirs="$ac_kde_libraries $kde_libdirs"
+AC_FIND_FILE($kde_check_lib, $kde_libdirs, kde_libdir)
+ac_kde_libraries="$kde_libdir"
+
+if test -n "$ac_kde_libraries" && test ! -r "$ac_kde_libraries/$kde_check_lib"; then
+AC_MSG_ERROR([
+in the prefix, you've chosen, are no KDE libraries installed. This will fail.
+So, check this please and use another prefix!])
+fi
+ac_kde_libraries="$kde_libdir"
+
+if test "$ac_kde_includes" = NO || test "$ac_kde_libraries" = NO; then
+  ac_cv_have_kde="have_kde=no"
+else
+  ac_cv_have_kde="have_kde=yes \
+    ac_kde_includes=$ac_kde_includes ac_kde_libraries=$ac_kde_libraries"
+fi
+
+else dnl test -z $1
+
+  ac_cv_have_kde="have_kde=no"
+
+fi
+])dnl
+
+eval "$ac_cv_have_kde"
+
+if test "$have_kde" != "yes"; then
+ if test "${prefix}" = NONE; then
+  ac_kde_prefix="$ac_default_prefix"
+ else
+  ac_kde_prefix="$prefix"
+ fi
+ if test "$exec_prefix" = NONE; then
+  ac_kde_exec_prefix="$ac_kde_prefix"
+  AC_MSG_RESULT([will be installed in $ac_kde_prefix])
+ else
+  ac_kde_exec_prefix="$exec_prefix"
+  AC_MSG_RESULT([will be installed in $ac_kde_prefix and $ac_kde_exec_prefix])
+ fi
+
+ kde_libraries="${ac_kde_exec_prefix}/lib"
+ kde_includes=${ac_kde_prefix}/include
+
+else
+  ac_cv_have_kde="have_kde=yes \
+    ac_kde_includes=$ac_kde_includes ac_kde_libraries=$ac_kde_libraries"
+  AC_MSG_RESULT([libraries $ac_kde_libraries, headers $ac_kde_includes])
+
+  kde_libraries="$ac_kde_libraries"
+  kde_includes="$ac_kde_includes"
+fi
+AC_SUBST(kde_libraries)
+AC_SUBST(kde_includes)
+
+if test "$kde_includes" = "$x_includes" || test "$kde_includes" = "$qt_includes" ; then
+ KDE_INCLUDES=""
+else
+ KDE_INCLUDES="-I$kde_includes"
+ all_includes="$KDE_INCLUDES $all_includes"
+fi
+ 
+KDE_LDFLAGS="-L$kde_libraries"
+if test ! "$kde_libraries" = "$x_libraries" && test ! "$kde_libraries" = "$qt_libraries" ; then 
+ all_libraries="$all_libraries $KDE_LDFLAGS"
+fi
+
+AC_SUBST(KDE_LDFLAGS)
+AC_SUBST(KDE_INCLUDES)
+
+AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
+
+all_libraries="$all_libraries $USER_LDFLAGS"
+all_includes="$all_includes $USER_INCLUDES"
+AC_SUBST(all_includes)
+AC_SUBST(all_libraries)
+
+AC_SUBST(AUTODIRS)
+])
+
+AC_DEFUN(KDE_CHECK_EXTRA_LIBS,
+[
+AC_MSG_CHECKING(for extra includes)
+AC_ARG_WITH(extra-includes, [  --with-extra-includes=DIR
+                          adds non standard include paths],
+  kde_use_extra_includes="$withval",
+  kde_use_extra_includes=NONE
+)
+kde_extra_includes=
+if test -n "$kde_use_extra_includes" && \
+   test "$kde_use_extra_includes" != "NONE"; then
+
+   ac_save_ifs=$IFS
+   IFS=':'
+   for dir in $kde_use_extra_includes; do
+     kde_extra_includes="$kde_extra_includes $dir"
+     USER_INCLUDES="$USER_INCLUDES -I$dir"
+   done
+   IFS=$ac_save_ifs
+   kde_use_extra_includes="added"
+else
+   kde_use_extra_includes="no"
+fi
+AC_SUBST(USER_INCLUDES)
+
+AC_MSG_RESULT($kde_use_extra_includes)
+
+kde_extra_libs=
+AC_MSG_CHECKING(for extra libs)
+AC_ARG_WITH(extra-libs, [  --with-extra-libs=DIR   adds non standard library paths],
+  kde_use_extra_libs=$withval,
+  kde_use_extra_libs=NONE
+)
+if test -n "$kde_use_extra_libs" && \
+   test "$kde_use_extra_libs" != "NONE"; then
+
+   ac_save_ifs=$IFS
+   IFS=':'
+   for dir in $kde_use_extra_libs; do
+     kde_extra_libs="$kde_extra_libs $dir"
+     KDE_EXTRA_RPATH="$KDE_EXTRA_RPATH -R $dir"
+     USER_LDFLAGS="$USER_LDFLAGS -L$dir"
+   done
+   IFS=$ac_save_ifs
+   kde_use_extra_libs="added"
+else
+   kde_use_extra_libs="no"
+fi
+
+AC_SUBST(USER_LDFLAGS)
+
+AC_MSG_RESULT($kde_use_extra_libs)
+
+])
+
+AC_DEFUN(KDE_1_CHECK_PATH_HEADERS,
+[
+    AC_MSG_CHECKING([for KDE headers installed])
+    AC_LANG_SAVE
+    AC_LANG_CPLUSPLUS
+cat > conftest.$ac_ext <<EOF
+#include <stdio.h>
+#include "confdefs.h"
+#include <kapp.h>
+
+int main() {
+    printf("kde_htmldir=\\"%s\\"\n", KApplication::kde_htmldir().data());
+    printf("kde_appsdir=\\"%s\\"\n", KApplication::kde_appsdir().data());
+    printf("kde_icondir=\\"%s\\"\n", KApplication::kde_icondir().data());
+    printf("kde_sounddir=\\"%s\\"\n", KApplication::kde_sounddir().data());
+    printf("kde_datadir=\\"%s\\"\n", KApplication::kde_datadir().data());
+    printf("kde_locale=\\"%s\\"\n", KApplication::kde_localedir().data());
+    printf("kde_cgidir=\\"%s\\"\n", KApplication::kde_cgidir().data());
+    printf("kde_confdir=\\"%s\\"\n", KApplication::kde_configdir().data());
+    printf("kde_mimedir=\\"%s\\"\n", KApplication::kde_mimedir().data());
+    printf("kde_toolbardir=\\"%s\\"\n", KApplication::kde_toolbardir().data());
+    printf("kde_wallpaperdir=\\"%s\\"\n",
+	KApplication::kde_wallpaperdir().data());
+    printf("kde_bindir=\\"%s\\"\n", KApplication::kde_bindir().data());
+    printf("kde_partsdir=\\"%s\\"\n", KApplication::kde_partsdir().data());
+    printf("kde_servicesdir=\\"/tmp/dummy\\"\n");
+    printf("kde_servicetypesdir=\\"/tmp/dummy\\"\n");
+    printf("kde_moduledir=\\"/tmp/dummy\\"\n");
+    return 0;
+    }
+EOF
+
+ ac_compile='${CXX-g++} -c $CXXFLAGS $all_includes $CPPFLAGS conftest.$ac_ext'
+ if AC_TRY_EVAL(ac_compile); then
+   AC_MSG_RESULT(yes)
+ else
+   AC_MSG_ERROR([your system is not able to compile a small KDE application!
+Check, if you installed the KDE header files correctly.
+For more details about this problem, look at the end of config.log.])
+  fi
+
+  AC_LANG_RESTORE
+])
+
+AC_DEFUN(KDE_CHECK_KDEQTADDON,
+[
+AC_MSG_CHECKING(for kde-qt-addon)
+AC_CACHE_VAL(kde_cv_have_kdeqtaddon,
+[
+ kde_ldflags_safe="$LDFLAGS"
+ kde_libs_safe="$LIBS"
+ kde_cxxflags_safe="$CXXFLAGS"
+
+ LIBS="-lkde-qt-addon $LIBQT $LIBS"
+ CXXFLAGS="$CXXFLAGS -I$prefix/include -I$prefix/include/kde $all_includes"
+ LDFLAGS="$LDFLAGS $all_libraries $USER_LDFLAGS"
+
+ AC_TRY_LINK([
+   #include <qdom.h>
+ ],
+ [
+   QDomDocument doc;
+ ],
+  kde_cv_have_kdeqtaddon=yes,
+  kde_cv_have_kdeqtaddon=no
+ )
+
+ LDFLAGS=$kde_ldflags_safe
+ LIBS=$kde_libs_safe
+ kde_cxxflags_safe="$CXXFLAGS"
+])
+
+AC_MSG_RESULT($kde_cv_have_kdeqtaddon)
+
+if test "$kde_cv_have_kdeqtaddon" = "no"; then
+  AC_MSG_ERROR([Can't find libkde-qt-addon. You need to install it first.
+It is a separate package (and CVS module) named kde-qt-addon.])
+fi
+])
+
+AC_DEFUN(KDE_CHECK_KIMGIO,
+[
+   AC_REQUIRE([AC_BASE_PATH_KDE])
+   AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
+   AC_REQUIRE([AC_FIND_TIFF])
+   AC_REQUIRE([AC_FIND_JPEG])
+   AC_REQUIRE([AC_FIND_PNG])
+   AC_REQUIRE([KDE_CREATE_LIBS_ALIASES])
+
+   if test "$1" = "existance"; then
+     AC_LANG_SAVE
+     AC_LANG_CPLUSPLUS
+     kde_save_LIBS="$LIBS"
+     LIBS="$LIBS $all_libraries $LIBJPEG $LIBTIFF $LIBPNG $LIBQT -lm"
+     AC_CHECK_LIB(kimgio, kimgioRegister, [
+      LIBKIMGIO_EXISTS=yes],LIBKIMGIO_EXISTS=no)
+      LIBS="$kde_save_LIBS"
+      AC_LANG_RESTORE
+   else
+      LIBKIMGIO_EXISTS=yes
+   fi
+
+   if test "$LIBKIMGIO_EXISTS" = "yes"; then
+     LIB_KIMGIO='-lkimgio'
+   else
+     LIB_KIMGIO=''
+   fi
+   AC_SUBST(LIB_KIMGIO)
+])
+
+AC_DEFUN(KDE_CREATE_LIBS_ALIASES,
+[
+   AC_REQUIRE([KDE_MISC_TESTS])
+   AC_REQUIRE([KDE_CHECK_LIBDL])
+   AC_REQUIRE([K_PATH_X])
+
+if test $kde_qtver = 2; then
+   LIB_KDECORE='-lkdecore'
+   AC_SUBST(LIB_KDECORE)
+   LIB_KDEUI='-lkdeui'
+   AC_SUBST(LIB_KDEUI)
+   LIB_KFORMULA='-lkformula'
+   AC_SUBST(LIB_KFORMULA)
+   LIB_KIO='-lkio'
+   AC_SUBST(LIB_KIO)
+   LIB_KSYCOCA='-lksycoca'
+   AC_SUBST(LIB_KSYCOCA)
+   LIB_SMB='-lsmb'
+   AC_SUBST(LIB_SMB)
+   LIB_KFILE='-lkfile'
+   AC_SUBST(LIB_KFILE)
+   LIB_KAB='-lkab'
+   AC_SUBST(LIB_KAB)
+   LIB_KHTML='-lkhtml'
+   AC_SUBST(LIB_KHTML)
+   LIB_KSPELL='-lkspell'
+   AC_SUBST(LIB_KSPELL)
+   LIB_KPARTS='-lkparts'
+   AC_SUBST(LIB_KPARTS)
+   LIB_KWRITE='-lkwrite'
+   AC_SUBST(LIB_KWRITE)
+else
+   LIB_KDECORE='-lkdecore -lXext $(LIB_QT)'
+   AC_SUBST(LIB_KDECORE)
+   LIB_KDEUI='-lkdeui $(LIB_KDECORE)'
+   AC_SUBST(LIB_KDEUI)
+   LIB_KFM='-lkfm $(LIB_KDECORE)'
+   AC_SUBST(LIB_KFM)
+   LIB_KFILE='-lkfile $(LIB_KFM) $(LIB_KDEUI)'
+   AC_SUBST(LIB_KFILE)
+   LIB_KAB='-lkab $(LIB_KIMGIO) $(LIB_KDECORE)'
+   AC_SUBST(LIB_KAB)
+fi
+])
+
+AC_DEFUN(AC_PATH_KDE,
+[
+  AC_BASE_PATH_KDE
+  AC_ARG_ENABLE(path-check, [  --disable-path-check    don't try to find out, where to install],
+  [
+  if test "$enableval" = "no";
+    then ac_use_path_checking="default"
+    else ac_use_path_checking=""
+  fi
+  ],
+  [
+  if test "$kde_qtver" = 1;
+    then ac_use_path_checking=""
+    else ac_use_path_checking="default"
+  fi
+  ]
+  )
+
+  AC_CREATE_KFSSTND($ac_use_path_checking)
+
+  AC_SUBST_KFSSTND
+  KDE_CREATE_LIBS_ALIASES
+])
+
+dnl obsolete
+AC_DEFUN(AC_CHECK_SETENV,
+[
+   AC_OBSOLETE([$0], [; instead use AC_CHECK_FUNCS([setenv unsetenv])])dnl 
+   AC_CHECK_FUNCS([setenv unsetenv])
+])
+
+AC_DEFUN(AC_CHECK_GETDOMAINNAME,
+[
+AC_MSG_CHECKING(for getdomainname)
+AC_CACHE_VAL(ac_cv_func_getdomainname,
+[
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+save_CXXFLAGS="$CXXFLAGS"
+kde_safe_LIBS="$LIBS"
+LIBS="$LIBS $X_EXTRA_LIBS"
+if test "$GCC" = "yes"; then
+CXXFLAGS="$CXXFLAGS -pedantic-errors"
+fi
+AC_TRY_COMPILE([
+#include <stdlib.h>
+#include <unistd.h>
+],
+[
+char buffer[200];
+getdomainname(buffer, 200);
+],
+ac_cv_func_getdomainname=yes,
+ac_cv_func_getdomainname=no)
+CXXFLAGS="$save_CXXFLAGS"
+LIBS=$kde_safe_LIBS
+AC_LANG_RESTORE
+])
+AC_MSG_RESULT($ac_cv_func_getdomainname)
+
+AC_MSG_CHECKING([if getdomainname needs custom prototype])
+AC_CACHE_VAL(ac_cv_proto_getdomainname,
+[
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+if eval "test \"`echo $ac_cv_func_getdomainname`\" = yes"; then
+  ac_cv_proto_getdomainname=no
+else
+  kde_safe_libs=$LIBS
+  LIBS="$LIBS $X_EXTRA_LIBS"
+  AC_TRY_LINK([
+#include <stdlib.h>
+#include <unistd.h>
+
+extern "C" int getdomainname (char *, int);
+],
+[
+char buffer[200];
+getdomainname(buffer, 200);
+],
+  ac_cv_func_getdomainname=yes
+  ac_cv_proto_getdomainname=yes,
+  AC_MSG_RESULT([fatal error])
+  AC_MSG_ERROR([getdomainname unavailable]))
+fi
+LIBS=$kde_safe_libs
+AC_LANG_RESTORE
+])
+AC_MSG_RESULT($ac_cv_proto_getdomainname)
+
+if eval "test \"`echo $ac_cv_func_getdomainname`\" = yes"; then
+  AC_DEFINE(HAVE_GETDOMAINNAME, 1, [Define if you have getdomainname])
+fi
+if eval "test \"`echo $ac_cv_proto_getdomainname`\" = no"; then
+  AC_DEFINE(HAVE_GETDOMAINNAME_PROTO, 1,
+  [Define if you have getdomainname prototype])
+fi
+
+])
+
+AC_DEFUN(AC_CHECK_GETHOSTNAME,
+[
+
+AC_MSG_CHECKING([for gethostname])
+AC_CACHE_VAL(ac_cv_func_gethostname,
+[
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+save_CXXFLAGS="$CXXFLAGS"
+if test "$GCC" = "yes"; then
+CXXFLAGS="$CXXFLAGS -pedantic-errors"
+fi
+AC_TRY_LINK([
+#include <stdlib.h>
+#include <unistd.h>
+],
+[
+char buffer[200];
+gethostname(buffer, 200);
+],
+ac_cv_func_gethostname=yes,
+ac_cv_func_gethostname=no)
+CXXFLAGS="$save_CXXFLAGS"
+AC_LANG_RESTORE
+])
+AC_MSG_RESULT($ac_cv_func_gethostname)
+
+AC_MSG_CHECKING([if gethostname needs custom prototype])
+AC_CACHE_VAL(ac_cv_proto_gethostname,
+[
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+if eval "test \"`echo $ac_cv_func_gethostname`\" = yes"; then
+  ac_cv_proto_gethostname=no
+else
+  AC_TRY_LINK([
+#include <stdlib.h>
+#include <unistd.h>
+
+extern "C" int gethostname (char *, int);
+],
+[
+char buffer[200];
+gethostname(buffer, 200);
+],
+  ac_cv_func_gethostname=yes
+  ac_cv_proto_gethostname=yes,
+  AC_MSG_RESULT([fatal error])
+  AC_MSG_ERROR(gethostname unavailable))
+fi
+AC_LANG_RESTORE
+])
+AC_MSG_RESULT($ac_cv_proto_gethostname)
+
+if eval "test \"`echo $ac_cv_proto_gethostname`\" = no"; then
+  AC_DEFINE(HAVE_GETHOSTNAME_PROTO, 1,
+  [Define if you have gethostname prototype])
+fi
+if eval "test \"`echo $ac_cv_func_gethostname`\" = yes"; then
+  AC_DEFINE(HAVE_GETHOSTNAME, 1, [Define if you have getdomainname])
+fi
+])
+
+AC_DEFUN(AC_CHECK_USLEEP,
+[
+AC_MSG_CHECKING([for usleep])
+AC_CACHE_VAL(ac_cv_func_usleep,
+[
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+ac_libs_safe="$LIBS"
+LIBS="$LIBS $LIBUCB"
+AC_TRY_LINK([
+#include <stdlib.h>
+#include <unistd.h>
+],
+[
+usleep(200);
+],
+ac_cv_func_usleep=yes,
+ac_cv_func_usleep=no)
+LIBS="$ac_libs_safe"
+AC_LANG_RESTORE
+])
+AC_MSG_RESULT($ac_cv_func_usleep)
+if eval "test \"`echo $ac_cv_func_usleep`\" = yes"; then
+  AC_DEFINE(HAVE_USLEEP, 1, [Define if you have the usleep function])
+fi
+])
+
+AC_DEFUN(AC_CHECK_RANDOM,
+[
+AC_MSG_CHECKING([for random])
+AC_CACHE_VAL(ac_cv_func_random,
+[
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+ac_libs_safe="$LIBS"
+LIBS="$LIBS $LIBUCB"
+AC_TRY_LINK([
+#include <stdlib.h>
+],
+[
+random();
+],
+ac_cv_func_random=yes,
+ac_cv_func_random=no)
+LIBS="$ac_libs_safe"
+AC_LANG_RESTORE
+])
+AC_MSG_RESULT($ac_cv_func_random)
+if eval "test \"`echo $ac_cv_func_random`\" = yes"; then
+  AC_DEFINE(HAVE_RANDOM, 1, [Define if you have random])
+fi
+])
+
+AC_DEFUN(AC_FIND_GIF,
+   [AC_MSG_CHECKING([for giflib])
+AC_CACHE_VAL(ac_cv_lib_gif,
+[ac_save_LIBS="$LIBS"
+LIBS="$all_libraries -lgif -lX11 $LIBSOCKET"
+AC_TRY_LINK(dnl
+[
+#ifdef __cplusplus
+extern "C" {
+#endif
+int GifLastError(void);
+#ifdef __cplusplus
+}
+#endif
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+],
+            [return GifLastError();],
+            eval "ac_cv_lib_gif=yes",
+            eval "ac_cv_lib_gif=no")
+LIBS="$ac_save_LIBS"
+])dnl
+if eval "test \"`echo $ac_cv_lib_gif`\" = yes"; then
+  AC_MSG_RESULT(yes)
+  AC_DEFINE_UNQUOTED(HAVE_LIBGIF, 1, [Define if you have libgif])
+else
+  AC_MSG_ERROR(You need giflib30. Please install the kdesupport package)
+fi
+])
+
+AC_DEFUN(KDE_FIND_JPEG_HELPER,
+[
+AC_MSG_CHECKING([for libjpeg$2])
+AC_CACHE_VAL(ac_cv_lib_jpeg_$1,
+[
+AC_LANG_C
+ac_save_LIBS="$LIBS"
+LIBS="$all_libraries $USER_LDFLAGS -ljpeg$2 -lm"
+ac_save_CFLAGS="$CFLAGS"
+CFLAGS="$CFLAGS $all_includes $USER_INCLUDES"
+AC_TRY_LINK(
+[/* Override any gcc2 internal prototype to avoid an error.  */
+struct jpeg_decompress_struct;
+typedef struct jpeg_decompress_struct * j_decompress_ptr;
+typedef int size_t;
+#ifdef __cplusplus
+extern "C" {
+#endif
+    void jpeg_CreateDecompress(j_decompress_ptr cinfo,
+                                    int version, size_t structsize);
+#ifdef __cplusplus
+}
+#endif
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+],
+            [jpeg_CreateDecompress(0L, 0, 0);],
+            eval "ac_cv_lib_jpeg_$1=-ljpeg$2",
+            eval "ac_cv_lib_jpeg_$1=no")
+LIBS="$ac_save_LIBS"
+CFLAGS="$ac_save_CFLAGS"
+])
+
+if eval "test ! \"`echo $ac_cv_lib_jpeg_$1`\" = no"; then
+  LIBJPEG="$ac_cv_lib_jpeg_$1"
+  AC_MSG_RESULT($ac_cv_lib_jpeg_$1)
+else
+  AC_MSG_RESULT(no)
+  $3
+fi
+
+])
+
+AC_DEFUN(AC_FIND_JPEG,
+[
+dnl first look for libraries
+KDE_FIND_JPEG_HELPER(6b, 6b,
+   KDE_FIND_JPEG_HELPER(normal, [],
+    [
+dnl what to do, if the normal way fails:
+	if test -f "$kde_libraries/libjpeg.so"; then
+	   test -f ./libjpegkde.so || $LN_S $kde_libraries/libjpeg.so ./libjpegkde.so
+	   ac_cv_lib_jpeg="-L\${topdir} -ljpegkde"
+	else if test -f "$kde_libraries/libjpeg.sl"; then
+	   test -f ./libjpegkde.sl ||$LN_S $kde_libraries/libjpeg.sl ./libjpegkde.sl
+	   ac_cv_lib_jpeg="-L\${topdir} -ljpegkde"	
+	else if test -f "$kde_libraries/libjpeg.a"; then
+	   test -f ./libjpegkde.a || $LN_S $kde_libraries/libjpeg.a ./libjpegkde.a
+	   ac_cv_lib_jpeg="-L\${topdir} -ljpegkde"
+        else
+	  ac_cv_lib_jpeg=
+	fi
+      fi
+   fi
+
+   LIBJPEG=$ac_cv_lib_jpeg
+]))
+
+dnl then search the headers (can't use simply AC_TRY_xxx, as jpeglib.h
+dnl requires system dependent includes loaded before it)
+jpeg_incdirs="/usr/include /usr/local/include $kde_extra_includes"
+AC_FIND_FILE(jpeglib.h, $jpeg_incdirs, jpeg_incdir)
+test "x$jpeg_incdir" = xNO && jpeg_incdir=
+
+dnl if headers _and_ libraries are missing, this is no error, and we
+dnl continue with a warning (the user will get no jpeg support in khtml)
+dnl if only one is missing, it means a configuration error, but we still
+dnl only warn
+if test -n "$jpeg_incdir" && test -n "$LIBJPEG" ; then
+  AC_DEFINE_UNQUOTED(HAVE_LIBJPEG, 1, [Define if you have libjpeg])
+else
+  if test -n "$jpeg_incdir" || test -n "$LIBJPEG" ; then
+    AC_MSG_WARN([
+There is an installation error in jpeg support. You seem to have only one
+of either the headers _or_ the libraries installed. You may need to either
+provide correct --with-extra-... options, or the development package of
+libjpeg6b. You can get a source package of libjpeg from http://www.ijg.org/
+Disabling JPEG support.
+])
+  else
+    AC_MSG_WARN([libjpeg not found. disable JPEG support.])
+  fi
+  jpeg_incdir=
+  LIBJPEG=
+fi
+
+AC_SUBST(LIBJPEG)
+])
+
+AC_DEFUN(AC_FIND_ZLIB,
+[
+AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
+AC_MSG_CHECKING([for libz])
+AC_CACHE_VAL(ac_cv_lib_z,
+[
+AC_LANG_C
+kde_save_LIBS="$LIBS"
+LIBS="$all_libraries $USER_LDFLAGS -lz $LIBSOCKET"
+kde_save_CFLAGS="$CFLAGS"
+CFLAGS="$CFLAGS $all_includes $USER_INCLUDES"
+AC_TRY_LINK(dnl
+[
+#include<zlib.h>
+],
+            [return (zlibVersion() == ZLIB_VERSION); ],
+            eval "ac_cv_lib_z='-lz'",
+            eval "ac_cv_lib_z=no")
+LIBS="$kde_save_LIBS"
+CFLAGS="$kde_save_CFLAGS"
+])dnl
+if test ! "$ac_cv_lib_z" = no; then
+  AC_DEFINE_UNQUOTED(HAVE_LIBZ, 1, [Define if you have libz])
+  LIBZ="$ac_cv_lib_z"
+  AC_SUBST(LIBZ)
+  AC_MSG_RESULT($ac_cv_lib_z)
+else
+  AC_MSG_ERROR(not found. Check your installation and look into config.log)
+  LIBZ=""
+  AC_SUBST(LIBZ)
+fi
+])
+
+AC_DEFUN(KDE_TRY_TIFFLIB,
+[
+AC_MSG_CHECKING([for libtiff $1])
+
+AC_CACHE_VAL(kde_cv_libtiff_$1,
+[
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+kde_save_LIBS="$LIBS"
+LIBS="$all_libraries $USER_LDFLAGS -l$1 $LIBJPEG $LIBZ -lX11 $LIBSOCKET -lm"
+kde_save_CXXFLAGS="$CXXFLAGS"
+CXXFLAGS="$CXXFLAGS $all_includes $USER_INCLUDES"
+
+AC_TRY_LINK(dnl
+[
+#include<tiffio.h>
+],
+    [return (TIFFOpen( "", "r") == 0); ],
+[
+    kde_cv_libtiff_$1="-l$1 $LIBJPEG $LIBZ"
+], [
+    kde_cv_libtiff_$1=no
+])
+
+LIBS="$kde_save_LIBS"
+CXXFLAGS="$kde_save_CXXFLAGS"
+AC_LANG_RESTORE
+])
+
+if test "$kde_cv_libtiff_$1" = "no"; then
+    AC_MSG_RESULT(no)
+    LIBTIFF=""
+    $3
+else
+    LIBTIFF="$kde_cv_libtiff_$1"
+    AC_MSG_RESULT(yes)
+    AC_DEFINE_UNQUOTED(HAVE_LIBTIFF, 1, [Define if you have libtiff])
+    $2
+fi
+
+])
+
+AC_DEFUN(AC_FIND_TIFF,
+[
+AC_REQUIRE([K_PATH_X])
+AC_REQUIRE([AC_FIND_ZLIB])
+AC_REQUIRE([AC_FIND_JPEG])
+AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
+
+KDE_TRY_TIFFLIB(tiff, [],
+   KDE_TRY_TIFFLIB(tiff34))
+
+AC_SUBST(LIBTIFF)
+])
+
+
+AC_DEFUN(AC_FIND_PNG,
+[
+AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
+AC_REQUIRE([AC_FIND_ZLIB])
+AC_MSG_CHECKING([for libpng])
+AC_CACHE_VAL(ac_cv_lib_png,
+[
+kde_save_LIBS="$LIBS"
+LIBS="$LIBS $all_libraries $USER_LDFLAGS -lpng $LIBZ -lm -lX11 $LIBSOCKET"
+kde_save_CFLAGS="$CFLAGS"
+CFLAGS="$CFLAGS $all_includes $USER_INCLUDES"
+AC_LANG_C
+AC_TRY_LINK(dnl
+    [
+    #include<png.h>
+    ],
+    [
+    png_structp png_ptr = png_create_read_struct(  /* image ptr */
+		PNG_LIBPNG_VER_STRING, 0, 0, 0 );
+    return( png_ptr != 0 );
+    ],
+    eval "ac_cv_lib_png='-lpng $LIBZ -lm'",
+    eval "ac_cv_lib_png=no"
+)
+LIBS="$kde_save_LIBS"
+CFLAGS="$kde_save_CFLAGS"
+])dnl
+if eval "test ! \"`echo $ac_cv_lib_png`\" = no"; then
+  AC_DEFINE_UNQUOTED(HAVE_LIBPNG, 1, [Define if you have libpng])
+  LIBPNG="$ac_cv_lib_png"
+  AC_SUBST(LIBPNG)
+  AC_MSG_RESULT($ac_cv_lib_png)
+else
+  AC_MSG_RESULT(no)
+  LIBPNG=""
+  AC_SUBST(LIBPNG)
+fi
+])
+
+AC_DEFUN(AC_CHECK_BOOL,
+[
+  AC_DEFINE_UNQUOTED(HAVE_BOOL, 1, [You _must_ have bool])
+])
+
+AC_DEFUN(AC_CHECK_GNU_EXTENSIONS,
+[
+AC_MSG_CHECKING(if you need GNU extensions)
+AC_CACHE_VAL(ac_cv_gnu_extensions,
+[
+cat > conftest.c << EOF
+#include <features.h>
+
+#ifdef __GNU_LIBRARY__
+yes
+#endif
+EOF
+
+if (eval "$ac_cpp conftest.c") 2>&5 |
+  egrep "yes" >/dev/null 2>&1; then
+  rm -rf conftest*
+  ac_cv_gnu_extensions=yes
+else
+  ac_cv_gnu_extensions=no
+fi
+])
+
+AC_MSG_RESULT($ac_cv_gnu_extensions)
+if test "$ac_cv_gnu_extensions" = "yes"; then
+  AC_DEFINE_UNQUOTED(_GNU_SOURCE, 1, [Define if you need to use the GNU extensions])
+fi
+])
+
+AC_DEFUN(KDE_CHECK_COMPILER_FLAG,
+[
+AC_REQUIRE([AC_CHECK_COMPILERS])
+AC_MSG_CHECKING(whether $CXX supports -$1)
+kde_cache=`echo $1 | sed 'y%.=/+-%___p_%'`
+AC_CACHE_VAL(kde_cv_prog_cxx_$kde_cache,
+[
+echo 'int main() { return 0; }' >conftest.cc
+eval "kde_cv_prog_cxx_$kde_cache=no"
+if test -z "`$CXX -$1 -c conftest.cc 2>&1`"; then
+  if test -z "`$CXX -$1 -o conftest conftest.o 2>&1`"; then
+    eval "kde_cv_prog_cxx_$kde_cache=yes"
+  fi
+fi
+rm -f conftest*
+])
+if eval "test \"`echo '$kde_cv_prog_cxx_'$kde_cache`\" = yes"; then
+ AC_MSG_RESULT(yes)
+ :
+ $2
+else
+ AC_MSG_RESULT(no)
+ :
+ $3
+fi
+])
+
+AC_DEFUN(KDE_PROG_CC_PG,
+[ AC_CACHE_CHECK(whether ${CC-cc} accepts -pg, kde_cv_prog_cc_pg,
+  [echo 'void f(){}' > conftest.c
+   if test -z "`${CC-cc} -pg -c conftest.c 2>&1`"; then
+     kde_cv_prog_cc_pg=yes
+   else
+     kde_cv_prog_cc_pg=no
+   fi
+   rm -f conftest*
+])])
+
+AC_DEFUN(KDE_PROG_CXX_PG,
+[ AC_CACHE_CHECK(whether ${CXX-g++} accepts -pg, kde_cv_prog_cxx_pg,
+  [echo 'void f(){}' > conftest.cc
+   if test -z "`${CXX-g++} -pg -c conftest.cc 2>&1`"; then
+     kde_cv_prog_cxx_pg=yes
+   else
+     kde_cv_prog_cxx_pg=no
+   fi
+  rm -f conftest*
+])])
+
+dnl AC_REMOVE_FORBIDDEN removes forbidden arguments from variables
+dnl use: AC_REMOVE_FORBIDDEN(CC, [-forbid -bad-option whatever])
+dnl it's all white-space separated
+AC_DEFUN(AC_REMOVE_FORBIDDEN,
+[ __val=$$1
+  __forbid=" $2 "
+  if test -n "$__val"; then
+    __new=""
+    ac_save_IFS=$IFS
+    IFS=" 	"
+    for i in $__val; do
+      case "$__forbid" in
+        *" $i "*) AC_MSG_WARN([found forbidden $i in $1, removing it]) ;;
+	*) # Careful to not add spaces, where there were none, because otherwise
+	   # libtool gets confused, if we change e.g. CXX
+	   if test -z "$__new" ; then __new=$i ; else __new="$__new $i" ; fi ;;
+      esac
+    done
+    IFS=$ac_save_IFS
+    $1=$__new
+  fi
+])
+
+dnl AC_VALIDIFY_CXXFLAGS checks for forbidden flags the user may have given
+AC_DEFUN(AC_VALIDIFY_CXXFLAGS,
+[dnl
+ AC_REMOVE_FORBIDDEN(CXX, [-fno-rtti -rpath])
+ AC_REMOVE_FORBIDDEN(CXXFLAGS, [-fno-rtti -rpath])
+])
+
+AC_DEFUN(AC_CHECK_COMPILERS,
+[
+  dnl this is somehow a fat lie, but prevents other macros from double checking
+  AC_PROVIDE([AC_PROG_CC])
+  AC_PROVIDE([AC_PROG_CPP])
+  AC_PROVIDE([AC_PROG_CXX])
+  AC_PROVIDE([AC_PROG_CXXCPP])
+
+  AC_ARG_ENABLE(debug,[  --enable-debug          enables debug symbols [default=no]],
+  [
+   if test $enableval = "no"; dnl
+     then
+       kde_use_debug_code="no"
+       kde_use_debug_define=yes
+     else
+       kde_use_debug_code="yes"
+       kde_use_debug_define=no
+   fi
+  ], [kde_use_debug_code="no"
+      kde_use_debug_define=no
+    ])
+  dnl Just for configure --help
+  AC_ARG_ENABLE(dummyoption,[  --disable-debug         disables debug output and debug symbols [default=no]],[],[])
+
+  AC_ARG_ENABLE(strict,[  --enable-strict         compiles with strict compiler options (may not work!)],
+   [
+    if test $enableval = "no"; then
+         kde_use_strict_options="no"
+       else
+         kde_use_strict_options="yes"
+    fi
+   ], [kde_use_strict_options="no"])
+
+  AC_ARG_ENABLE(profile,[  --enable-profile        creates profiling infos [default=no]],
+     [kde_use_profiling=$enableval],
+     [kde_use_profiling="no"]
+  )
+
+dnl this was AC_PROG_CC. I had to include it manualy, since I had to patch it
+  AC_MSG_CHECKING(for a C-Compiler)
+  dnl if there is one, print out. if not, don't matter
+  AC_MSG_RESULT($CC)
+
+  if test -z "$CC"; then AC_CHECK_PROG(CC, gcc, gcc) fi
+  if test -z "$CC"; then AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc) fi
+  if test -z "$CC"; then AC_CHECK_PROG(CC, xlc, xlc) fi
+  test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
+
+  AC_PROG_CC_WORKS
+  AC_PROG_CC_GNU
+
+  if test $ac_cv_prog_gcc = yes; then
+    GCC=yes
+  else
+    GCC=
+  fi
+
+  USER_CFLAGS=$CFLAGS
+  CFLAGS=
+
+  if test -z "$CFLAGS"; then
+    if test "$kde_use_debug_code" = "yes"; then
+      AC_PROG_CC_G
+      if test $ac_cv_prog_cc_g = yes; then
+	CFLAGS="-g"
+	case $host in
+   	*-*-linux-gnu)	
+           CFLAGS="$CFLAGS -ansi -W -Wall -pedantic -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -D_XOPEN_SOURCE -D_BSD_SOURCE"
+         ;;
+        esac
+      fi
+    else
+      if test "$GCC" = "yes"; then
+        CFLAGS="-O2"
+      else
+        CFLAGS=""
+      fi
+      if test "$kde_use_debug_define" = "yes"; then
+        CFLAGS="$CFLAGS -DNDEBUG"
+	dnl damn buggy compilers :-(
+	dnl if test "$GCC" = "yes"; then
+    	dnl  CFLAGS="$CFLAGS -fomit-frame-pointer"
+	dnl   CXXFLAGS="$CXXFLAGS -fomit-frame-pointer"
+	dnl fi
+      fi
+    fi
+
+    if test "$kde_use_profiling" = yes; then
+      KDE_PROG_CC_PG
+      if test "$kde_cv_prog_cc_pg" = yes; then
+        CFLAGS="$CFLAGS -pg"
+      fi
+    fi
+
+    if test "$GCC" = "yes"; then
+     CFLAGS="$CFLAGS"
+
+     if test "$kde_use_strict_options" = "yes"; then
+	CFLAGS="$CFLAGS -W -Wall -ansi -pedantic -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings"
+     fi
+    fi
+
+  fi
+
+  case "$host" in
+  *-*-sysv4.2uw*) CFLAGS="$CFLAGS -D_UNIXWARE";;
+  *-*-sysv5uw7*) CFLAGS="$CFLAGS -D_UNIXWARE7";;
+  esac
+
+  if test -n "$USER_CFLAGS"; then
+    CFLAGS="$CFLAGS $USER_CFLAGS"
+  fi
+
+  if test -z "$LDFLAGS" && test "$kde_use_debug_code" = "no" && test "$GCC" = "yes"; then
+     LDFLAGS=""
+  fi
+
+
+dnl this is AC_PROG_CPP. I had to include it here, since autoconf checks
+dnl dependecies between AC_PROG_CPP and AC_PROG_CC (or is it automake?)
+
+  AC_MSG_CHECKING(how to run the C preprocessor)
+  # On Suns, sometimes $CPP names a directory.
+  if test -n "$CPP" && test -d "$CPP"; then
+    CPP=
+  fi
+  if test -z "$CPP"; then
+  AC_CACHE_VAL(ac_cv_prog_CPP,
+  [  # This must be in double quotes, not single quotes, because CPP may get
+    # substituted into the Makefile and "${CC-cc}" will confuse make.
+    CPP="${CC-cc} -E"
+    # On the NeXT, cc -E runs the code through the compiler's parser,
+    # not just through cpp.
+    dnl Use a header file that comes with gcc, so configuring glibc
+    dnl with a fresh cross-compiler works.
+    AC_TRY_CPP([#include <assert.h>
+    Syntax Error], ,
+    CPP="${CC-cc} -E -traditional-cpp"
+    AC_TRY_CPP([#include <assert.h>
+    Syntax Error], , CPP=/lib/cpp))
+    ac_cv_prog_CPP="$CPP"])dnl
+    CPP="$ac_cv_prog_CPP"
+  else
+    ac_cv_prog_CPP="$CPP"
+  fi
+  AC_MSG_RESULT($CPP)
+  AC_SUBST(CPP)dnl
+
+
+  AC_MSG_CHECKING(for a C++-Compiler)
+  dnl if there is one, print out. if not, don't matter
+  AC_MSG_RESULT($CXX)
+
+  if test -z "$CXX"; then AC_CHECK_PROG(CXX, g++, g++) fi
+  if test -z "$CXX"; then AC_CHECK_PROG(CXX, CC, CC) fi
+  if test -z "$CXX"; then AC_CHECK_PROG(CXX, xlC, xlC) fi
+  if test -z "$CXX"; then AC_CHECK_PROG(CXX, DCC, DCC) fi
+  test -z "$CXX" && AC_MSG_ERROR([no acceptable C++-compiler found in \$PATH])
+
+  AC_PROG_CXX_WORKS
+  AC_PROG_CXX_GNU
+
+  if test $ac_cv_prog_gxx = yes; then
+    GXX=yes
+  fi
+
+  USER_CXXFLAGS=$CXXFLAGS
+  CXXFLAGS=""
+
+  if test -z "$CXXFLAGS"; then
+    if test "$kde_use_debug_code" = "yes"; then
+      AC_PROG_CXX_G
+      if test $ac_cv_prog_cxx_g = yes; then
+        CXXFLAGS="-g"
+	case $host in  dnl
+   	*-*-linux-gnu)
+           CXXFLAGS="$CXXFLAGS -ansi -D_XOPEN_SOURCE -D_BSD_SOURCE -Wbad-function-cast -Wcast-align -Wundef -Wconversion"
+         ;;
+        esac
+      fi
+    else
+      if test "$GXX" = "yes"; then
+         CXXFLAGS="-O2"
+      fi
+      if test "$kde_use_debug_define" = "yes"; then
+         CXXFLAGS="$CXXFLAGS -DNDEBUG"
+      fi
+    fi
+
+    if test "$kde_use_profiling" = yes; then
+      KDE_PROG_CXX_PG
+      if test "$kde_cv_prog_cxx_pg" = yes; then
+        CXXFLAGS="$CXXFLAGS -pg"
+      fi
+    fi
+    
+    KDE_CHECK_COMPILER_FLAG(fno-exceptions,
+    [
+      CXXFLAGS="$CXXFLAGS -fno-exceptions"
+    ])
+      
+dnl WABA: Nothing wrong with RTTI, keep it on.
+dnl    KDE_CHECK_COMPILER_FLAG(fno-rtti,
+dnl	[
+dnl	  CXXFLAGS="$CXXFLAGS -fno-rtti"
+dnl	])
+
+    KDE_CHECK_COMPILER_FLAG(fno-check-new,
+	[
+	  CXXFLAGS="$CXXFLAGS -fno-check-new"
+	])
+
+    if test "$GXX" = "yes"; then
+       CXXFLAGS="$CXXFLAGS"
+
+       if test true || test "$kde_use_debug_code" = "yes"; then
+	 CXXFLAGS="$CXXFLAGS -Wall -pedantic -W -Wpointer-arith -Wmissing-prototypes -Wwrite-strings"
+
+         KDE_CHECK_COMPILER_FLAG(Wno-long-long,
+	 [
+	   CXXFLAGS="$CXXFLAGS -Wno-long-long"
+	 ])
+         KDE_CHECK_COMPILER_FLAG(Wnon-virtual-dtor,
+         [
+           CXXFLAGS="$CXXFLAGS -Wnon-virtual-dtor"
+         ])
+         KDE_CHECK_COMPILER_FLAG(fno-builtin,
+         [
+           CXXFLAGS="$CXXFLAGS -fno-builtin"
+         ])
+	
+       fi
+
+       if test "$kde_use_strict_options" = "yes"; then
+	CXXFLAGS="$CXXFLAGS -Wcast-qual -Wbad-function-cast -Wshadow -Wcast-align"
+       fi
+
+       if test "$kde_very_strict" = "yes"; then
+         CXXFLAGS="$CXXFLAGS -Wold-style-cast -Wredundant-decls -Wconversion"
+       fi
+    fi
+  fi
+
+    KDE_CHECK_COMPILER_FLAG(fexceptions,
+	[
+	  USE_EXCEPTIONS="-fexceptions"
+	],
+	  USE_EXCEPTIONS=
+	)
+    AC_SUBST(USE_EXCEPTIONS)
+
+    KDE_CHECK_COMPILER_FLAG(frtti,
+	[
+	  USE_RTTI="-frtti"
+	],
+	  USE_RTTI=
+	)
+    AC_SUBST(USE_RTTI)
+
+    case "$host" in
+      *-*-irix*)  test "$GXX" = yes && CXXFLAGS="$CXXFLAGS -D_LANGUAGE_C_PLUS_PLUS -D__LANGUAGE_C_PLUS_PLUS" ;;
+      *-*-sysv4.2uw*) CXXFLAGS="$CXXFLAGS -D_UNIXWARE";;
+      *-*-sysv5uw7*) CXXFLAGS="$CXXFLAGS -D_UNIXWARE7";;
+      *-*-solaris*) 
+        if test "$GXX" = yes; then
+          libstdcpp=`gcc -print-file-name=libstdc++.so`
+          if test ! -f $libstdcpp; then
+             AC_MSG_ERROR([You've compiled gcc without --enable-shared. This doesn't work with KDE. Please recompile gcc with --enable-shared to receive a libstdc++.so])
+          fi
+        fi
+        ;;
+    esac
+
+    if test -n "$USER_CXXFLAGS"; then
+       CXXFLAGS="$CXXFLAGS $USER_CXXFLAGS"
+    fi
+
+    AC_VALIDIFY_CXXFLAGS
+
+    AC_MSG_CHECKING(how to run the C++ preprocessor)
+    if test -z "$CXXCPP"; then
+      AC_CACHE_VAL(ac_cv_prog_CXXCPP,
+      [
+         AC_LANG_SAVE[]dnl
+         AC_LANG_CPLUSPLUS[]dnl
+         CXXCPP="${CXX-g++} -E"
+         AC_TRY_CPP([#include <stdlib.h>], , CXXCPP=/lib/cpp)
+         ac_cv_prog_CXXCPP="$CXXCPP"
+         AC_LANG_RESTORE[]dnl
+     ])dnl
+     CXXCPP="$ac_cv_prog_CXXCPP"
+    fi
+    AC_MSG_RESULT($CXXCPP)
+    AC_SUBST(CXXCPP)dnl
+
+    # the following is to allow programs, that are known to
+    # have problems when compiled with -O2
+    if test -n "$CXXFLAGS"; then
+      kde_safe_IFS=$IFS
+      IFS=" "
+      NOOPT_CXXFLAGS=""
+      for i in $CXXFLAGS; do
+        case $i in
+          -O*)
+                ;;
+          *)
+                NOOPT_CXXFLAGS="$NOOPT_CXXFLAGS $i"
+                ;;
+        esac
+      done
+      IFS=$kde_safe_IFS
+    fi
+    AC_SUBST(NOOPT_CXXFLAGS)
+
+    KDE_CHECK_FINAL
+
+    ifdef([AM_DEPENDENCIES], AC_REQUIRE([KDE_ADD_DEPENDENCIES]), [])
+
+    KDE_CXXFLAGS=
+    AC_SUBST(KDE_CXXFLAGS)
+])
+
+AC_DEFUN(KDE_ADD_DEPENDENCIES,
+[
+   [A]M_DEPENDENCIES(CC)
+   [A]M_DEPENDENCIES(CXX)
+])
+
+dnl just a wrapper to clean up configure.in
+AC_DEFUN(KDE_PROG_LIBTOOL,
+[
+AC_REQUIRE([AC_CHECK_COMPILERS])
+AC_REQUIRE([AC_ENABLE_SHARED])
+AC_REQUIRE([AC_ENABLE_STATIC])
+
+AC_REQUIRE([AC_LIBTOOL_DLOPEN])
+
+AC_LANG_SAVE
+AC_LANG_C
+AC_OBJEXT
+AC_EXEEXT
+AC_LANG_RESTORE
+
+AM_PROG_LIBTOOL
+AC_LIBTOOL_CXX
+
+LIBTOOL_SHELL="/bin/sh ./libtool"
+#  LIBTOOL="$LIBTOOL --silent"
+KDE_PLUGIN="-avoid-version -module -no-undefined"
+AC_SUBST(KDE_PLUGIN)
+])
+
+AC_DEFUN(KDE_CHECK_TYPES,
+[  AC_CHECK_SIZEOF(int, 4)dnl
+  AC_CHECK_SIZEOF(long, 4)dnl
+  AC_CHECK_SIZEOF(char *, 4)dnl
+])dnl
+
+AC_DEFUN(KDE_DO_IT_ALL,
+[
+AC_CANONICAL_SYSTEM
+AC_ARG_PROGRAM
+AM_INIT_AUTOMAKE($1, $2)
+AM_DISABLE_LIBRARIES
+AC_PREFIX_DEFAULT(${KDEDIR:-/usr/local/kde})
+AC_CHECK_COMPILERS
+KDE_PROG_LIBTOOL
+AM_KDE_WITH_NLS
+AC_PATH_KDE
+])
+
+AC_DEFUN(AC_CHECK_RPATH,
+[
+AC_MSG_CHECKING(for rpath)
+AC_ARG_ENABLE(rpath,
+      [  --disable-rpath         do not use the rpath feature of ld],
+      USE_RPATH=$enableval, USE_RPATH=yes)
+
+if test -z "$KDE_RPATH" && test "$USE_RPATH" = "yes"; then
+
+  KDE_RPATH="-R \$(kde_libraries)"
+
+  if test -n "$qt_libraries"; then
+    KDE_RPATH="$KDE_RPATH -R \$(qt_libraries)"
+  fi
+  dnl $x_libraries is set to /usr/lib in case
+  if test -n "$X_LDFLAGS"; then
+    KDE_RPATH="$KDE_RPATH -R \$(x_libraries)"
+  fi
+  if test -n "$KDE_EXTRA_RPATH"; then
+    KDE_RPATH="$KDE_RPATH \$(KDE_EXTRA_RPATH)"
+  fi
+fi
+AC_SUBST(KDE_EXTRA_RPATH)
+AC_SUBST(KDE_RPATH)
+AC_MSG_RESULT($USE_RPATH)
+])
+
+dnl Check for the type of the third argument of getsockname
+AC_DEFUN(AC_CHECK_KSIZE_T,
+[AC_MSG_CHECKING(for the third argument of getsockname)
+AC_CACHE_VAL(ac_cv_ksize_t,
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+[AC_TRY_COMPILE([
+#include <sys/types.h>
+#include <sys/socket.h>
+],[
+socklen_t a=0;
+getsockname(0,(struct sockaddr*)0, &a);
+],
+ac_cv_ksize_t=socklen_t,
+ac_cv_ksize_t=)
+if test -z "$ac_cv_ksize_t"; then
+ac_safe_cxxflags="$CXXFLAGS"
+if test "$GCC" = "yes"; then
+  CXXFLAGS="-Werror $CXXFLAGS"
+fi
+AC_TRY_COMPILE([
+#include <sys/types.h>
+#include <sys/socket.h>
+],[
+int a=0;
+getsockname(0,(struct sockaddr*)0, &a);
+],
+ac_cv_ksize_t=int,
+ac_cv_ksize_t=size_t)
+CXXFLAGS="$ac_safe_cxxflags"
+fi
+AC_LANG_RESTORE
+])
+
+if test -z "$ac_cv_ksize_t"; then
+  ac_cv_ksize_t=int
+fi
+
+AC_MSG_RESULT($ac_cv_ksize_t)
+AC_DEFINE_UNQUOTED(ksize_t, $ac_cv_ksize_t,
+      [Define the type of the third argument for getsockname]
+)
+
+])
+
+dnl This is a merge of some macros out of the gettext aclocal.m4
+dnl since we don't need anything, I took the things we need
+dnl the copyright for them is:
+dnl >
+dnl Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
+dnl This Makefile.in is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+dnl PARTICULAR PURPOSE.
+dnl >
+dnl for this file it is relicensed under LGPL
+
+AC_DEFUN(AM_KDE_WITH_NLS,
+  [
+    dnl If we use NLS figure out what method
+
+    AM_PATH_PROG_WITH_TEST_KDE(MSGFMT, msgfmt,
+        [test -n "`$ac_dir/$ac_word --version 2>&1 | grep 'GNU gettext'`"], msgfmt)
+    AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
+
+     if test -z "`$GMSGFMT --version 2>&1 | grep 'GNU gettext'`"; then
+        AC_MSG_RESULT([found msgfmt program is not GNU msgfmt; ignore it])
+        GMSGFMT=":"
+      fi
+      MSGFMT=$GMSGFMT
+      AC_SUBST(GMSGFMT)
+      AC_SUBST(MSGFMT)
+
+      AM_PATH_PROG_WITH_TEST_KDE(XGETTEXT, xgettext,
+	[test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
+
+      dnl Test whether we really found GNU xgettext.
+      if test "$XGETTEXT" != ":"; then
+	dnl If it is no GNU xgettext we define it as : so that the
+	dnl Makefiles still can work.
+	if $XGETTEXT --omit-header /dev/null 2> /dev/null; then
+	  : ;
+	else
+	  AC_MSG_RESULT(
+	    [found xgettext programs is not GNU xgettext; ignore it])
+	  XGETTEXT=":"
+	fi
+      fi
+     AC_SUBST(XGETTEXT)
+
+  ])
+
+# Search path for a program which passes the given test.
+# Ulrich Drepper <drepper at cygnus.com>, 1996.
+
+# serial 1
+# Stephan Kulow: I appended a _KDE against name conflicts
+
+dnl AM_PATH_PROG_WITH_TEST_KDE(VARIABLE, PROG-TO-CHECK-FOR,
+dnl   TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
+AC_DEFUN(AM_PATH_PROG_WITH_TEST_KDE,
+[# Extract the first word of "$2", so it can be a program name with args.
+set dummy $2; ac_word=[$]2
+AC_MSG_CHECKING([for $ac_word])
+AC_CACHE_VAL(ac_cv_path_$1,
+[case "[$]$1" in
+  /*)
+  ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
+  ;;
+  *)
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+  for ac_dir in ifelse([$5], , $PATH, [$5]); do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      if [$3]; then
+	ac_cv_path_$1="$ac_dir/$ac_word"
+	break
+      fi
+    fi
+  done
+  IFS="$ac_save_ifs"
+dnl If no 4th arg is given, leave the cache variable unset,
+dnl so AC_PATH_PROGS will keep looking.
+ifelse([$4], , , [  test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
+])dnl
+  ;;
+esac])dnl
+$1="$ac_cv_path_$1"
+if test -n "[$]$1"; then
+  AC_MSG_RESULT([$]$1)
+else
+  AC_MSG_RESULT(no)
+fi
+AC_SUBST($1)dnl
+])
+
+
+# Check whether LC_MESSAGES is available in <locale.h>.
+# Ulrich Drepper <drepper at cygnus.com>, 1995.
+
+# serial 1
+
+AC_DEFUN(AM_LC_MESSAGES,
+  [if test $ac_cv_header_locale_h = yes; then
+    AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES,
+      [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],
+       am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)])
+    if test $am_cv_val_LC_MESSAGES = yes; then
+      AC_DEFINE(HAVE_LC_MESSAGES, 1, [Define if your locale.h file contains LC_MESSAGES])
+    fi
+  fi])
+
+dnl From Jim Meyering.
+dnl FIXME: migrate into libit.
+
+AC_DEFUN(AM_FUNC_OBSTACK,
+[AC_CACHE_CHECK([for obstacks], am_cv_func_obstack,
+ [AC_TRY_LINK([#include "obstack.h"],
+	      [struct obstack *mem;obstack_free(mem,(char *) 0)],
+	      am_cv_func_obstack=yes,
+	      am_cv_func_obstack=no)])
+ if test $am_cv_func_obstack = yes; then
+   AC_DEFINE(HAVE_OBSTACK)
+ else
+   LIBOBJS="$LIBOBJS obstack.o"
+ fi
+])
+
+dnl From Jim Meyering.  Use this if you use the GNU error.[ch].
+dnl FIXME: Migrate into libit
+
+AC_DEFUN(AM_FUNC_ERROR_AT_LINE,
+[AC_CACHE_CHECK([for error_at_line], am_cv_lib_error_at_line,
+ [AC_TRY_LINK([],[error_at_line(0, 0, "", 0, "");],
+              am_cv_lib_error_at_line=yes,
+	      am_cv_lib_error_at_line=no)])
+ if test $am_cv_lib_error_at_line = no; then
+   LIBOBJS="$LIBOBJS error.o"
+ fi
+ AC_SUBST(LIBOBJS)dnl
+])
+
+# Macro to add for using GNU gettext.
+# Ulrich Drepper <drepper at cygnus.com>, 1995.
+
+# serial 1
+# Stephan Kulow: I put a KDE in it to avoid name conflicts
+
+AC_DEFUN(AM_KDE_GNU_GETTEXT,
+  [AC_REQUIRE([AC_PROG_MAKE_SET])dnl
+   AC_REQUIRE([AC_PROG_RANLIB])dnl
+   AC_REQUIRE([AC_HEADER_STDC])dnl
+   AC_REQUIRE([AC_TYPE_OFF_T])dnl
+   AC_REQUIRE([AC_TYPE_SIZE_T])dnl
+   AC_REQUIRE([AC_FUNC_ALLOCA])dnl
+   AC_REQUIRE([AC_FUNC_MMAP])dnl
+   AC_REQUIRE([AM_KDE_WITH_NLS])dnl
+   AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h string.h values.h alloca.h])
+   AC_CHECK_FUNCS([getcwd munmap putenv setenv setlocale strchr strcasecmp \
+__argz_count __argz_stringify __argz_next])
+
+   AC_MSG_CHECKING(for stpcpy)
+   AC_CACHE_VAL(kde_cv_func_stpcpy,
+   [
+   kde_safe_cxxflags=$CXXFLAGS
+   CXXFLAGS="-Wmissing-prototypes -Werror"
+   AC_LANG_SAVE
+   AC_LANG_CPLUSPLUS
+   AC_TRY_COMPILE([
+   #include <string.h>
+   ],
+   [
+   char buffer[200];
+   stpcpy(buffer, buffer);
+   ],
+   kde_cv_func_stpcpy=yes,
+   kde_cv_func_stpcpy=no)
+   AC_LANG_RESTORE
+   CXXFLAGS=$kde_safe_cxxflags
+   ])
+   AC_MSG_RESULT($kde_cv_func_stpcpy)
+   if eval "test \"`echo $kde_cv_func_stpcpy`\" = yes"; then
+     AC_DEFINE(HAVE_STPCPY, 1, [Define if you have stpcpy])
+   fi
+
+   AM_LC_MESSAGES
+
+   if test "x$CATOBJEXT" != "x"; then
+     if test "x$ALL_LINGUAS" = "x"; then
+       LINGUAS=
+     else
+       AC_MSG_CHECKING(for catalogs to be installed)
+       NEW_LINGUAS=
+       for lang in ${LINGUAS=$ALL_LINGUAS}; do
+         case "$ALL_LINGUAS" in
+          *$lang*) NEW_LINGUAS="$NEW_LINGUAS $lang" ;;
+         esac
+       done
+       LINGUAS=$NEW_LINGUAS
+       AC_MSG_RESULT($LINGUAS)
+     fi
+
+     dnl Construct list of names of catalog files to be constructed.
+     if test -n "$LINGUAS"; then
+       for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done
+     fi
+   fi
+
+  ])
+
+AC_DEFUN(AC_HAVE_XPM,
+ [AC_REQUIRE_CPP()dnl
+  AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
+
+ test -z "$XPM_LDFLAGS" && XPM_LDFLAGS=
+ test -z "$XPM_INCLUDE" && XPM_INCLUDE=
+
+ AC_ARG_WITH(xpm, [  --without-xpm           disable color pixmap XPM tests],
+	xpm_test=$withval, xpm_test="yes")
+ if test "x$xpm_test" = xno; then
+   ac_cv_have_xpm=no
+ else
+   AC_MSG_CHECKING(for XPM)
+   AC_CACHE_VAL(ac_cv_have_xpm,
+   [
+    AC_LANG_C
+    ac_save_ldflags="$LDFLAGS"
+    ac_save_cflags="$CFLAGS"
+    LDFLAGS="$LDFLAGS $X_LDFLAGS $USER_LDFLAGS $LDFLAGS $XPM_LDFLAGS $all_libraries -lXpm -lX11 -lXext $LIBZ $LIBSOCKET"
+    CFLAGS="$CFLAGS $X_INCLUDES $USER_INCLUDES"
+    test -n "$XPM_INCLUDE" && CFLAGS="-I$XPM_INCLUDE $CFLAGS"
+    AC_TRY_LINK([#include <X11/xpm.h>],[],
+	ac_cv_have_xpm="yes",ac_cv_have_xpm="no")
+    LDFLAGS="$ac_save_ldflags"
+    CFLAGS="$ac_save_cflags"
+   ])dnl
+
+  if test "$ac_cv_have_xpm" = no; then
+    AC_MSG_RESULT(no)
+    XPM_LDFLAGS=""
+    XPMINC=""
+    $2
+  else
+    AC_DEFINE(HAVE_XPM, 1, [Define if you have XPM support])
+    if test "$XPM_LDFLAGS" = ""; then
+       XPMLIB='-lXpm $(LIB_X11)'
+    else
+       XPMLIB="-L$XPM_LDFLAGS -lXpm "'$(LIB_X11)'
+    fi
+    if test "$XPM_INCLUDE" = ""; then
+       XPMINC=""
+    else
+       XPMINC="-I$XPM_INCLUDE"
+    fi
+    AC_MSG_RESULT(yes)
+    $1
+  fi
+ fi
+ AC_SUBST(XPMINC)
+ AC_SUBST(XPMLIB)
+])
+
+AC_DEFUN(AC_HAVE_DPMS,
+ [AC_REQUIRE_CPP()dnl
+  AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
+
+ test -z "$DPMS_LDFLAGS" && DPMS_LDFLAGS=
+ test -z "$DPMS_INCLUDE" && DPMS_INCLUDE=
+ DPMS_LIB=
+
+ AC_ARG_WITH(dpms, [  --without-dpms          disable DPMS power saving],
+	dpms_test=$withval, dpms_test="yes")
+ if test "x$dpms_test" = xno; then
+   ac_cv_have_dpms=no
+ else
+   AC_MSG_CHECKING(for DPMS)
+   dnl Note: ac_cv_have_dpms can be no, yes, or -lXdpms.
+   dnl 'yes' means DPMS_LIB="", '-lXdpms' means DPMS_LIB="-lXdpms".
+   AC_CACHE_VAL(ac_cv_have_dpms,
+   [
+    AC_LANG_C
+    ac_save_ldflags="$LDFLAGS"
+    ac_save_cflags="$CFLAGS"
+    ac_save_libs="$LIBS"
+    LDFLAGS="$LDFLAGS $DPMS_LDFLAGS $all_libraries -lX11 -lXext $LIBSOCKET"
+    CFLAGS="$CFLAGS $X_INCLUDES"
+    test -n "$DPMS_INCLUDE" && CFLAGS="-I$DPMS_INCLUDE $CFLAGS"
+    AC_TRY_LINK([
+	#include <X11/Xproto.h>
+	#include <X11/X.h>
+	#include <X11/Xlib.h>
+	#include <X11/extensions/dpms.h>
+	int foo_test_dpms()
+	{ return DPMSSetTimeouts( 0, 0, 0, 0 ); }],[],
+	ac_cv_have_dpms="yes", [
+            LDFLAGS="$ac_save_ldflags"
+            CFLAGS="$ac_save_cflags"
+            LDFLAGS="$LDFLAGS $DPMS_LDFLAGS $all_libraries -lX11 -lXext $LIBSOCKET"
+            LIBS="$LIBS -lXdpms"
+            CFLAGS="$CFLAGS $X_INCLUDES"
+            test -n "$DPMS_INCLUDE" && CFLAGS="-I$DPMS_INCLUDE $CFLAGS"
+            AC_TRY_LINK([
+	        #include <X11/Xproto.h>
+        	#include <X11/X.h>
+        	#include <X11/Xlib.h>
+        	#include <X11/extensions/dpms.h>
+        	int foo_test_dpms()
+        	{ return DPMSSetTimeouts( 0, 0, 0, 0 ); }],[],
+        	[
+                ac_cv_have_dpms="-lXdpms"
+                ],ac_cv_have_dpms="no")
+            ])
+    LDFLAGS="$ac_save_ldflags"
+    CFLAGS="$ac_save_cflags"
+    LIBS="$ac_save_libs"
+   ])dnl
+
+  if test "$ac_cv_have_dpms" = no; then
+    AC_MSG_RESULT(no)
+    DPMS_LDFLAGS=""
+    DPMSINC=""
+    $2
+  else
+    AC_DEFINE(HAVE_DPMS, 1, [Define if you have DPMS support])
+    if test "$ac_cv_have_dpms" = "-lXdpms"; then
+       DPMS_LIB="-lXdpms"
+    fi
+    if test "$DPMS_LDFLAGS" = ""; then
+       DPMSLIB="$DPMS_LIB "'$(LIB_X11)'
+    else
+       DPMSLIB="$DPMS_LDFLAGS $DPMS_LIB "'$(LIB_X11)'
+    fi
+    if test "$DPMS_INCLUDE" = ""; then
+       DPMSINC=""
+    else
+       DPMSINC="-I$DPMS_INCLUDE"
+    fi
+    AC_MSG_RESULT(yes)
+    $1
+  fi
+ fi
+ AC_SUBST(DPMSINC)
+ AC_SUBST(DPMSLIB)
+])
+
+AC_DEFUN(AC_HAVE_GL,
+ [AC_REQUIRE_CPP()dnl
+  AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
+
+ test -z "$GL_LDFLAGS" && GL_LDFLAGS=
+ test -z "$GL_INCLUDE" && GL_INCLUDE=
+
+ AC_ARG_WITH(gl, [  --without-gl            disable 3D GL modes],
+	gl_test=$withval, gl_test="yes")
+ if test "x$gl_test" = xno; then
+   ac_cv_have_gl=no
+ else
+   AC_MSG_CHECKING(for GL)
+   AC_CACHE_VAL(ac_cv_have_gl,
+   [
+    AC_LANG_C
+    ac_save_ldflags="$LDFLAGS"
+    ac_save_cflags="$CFLAGS"
+    LDFLAGS="$LDFLAGS $GL_LDFLAGS $X_LDFLAGS $all_libraries -lMesaGL -lMesaGLU -lX11 -lXext -lm $LIBSOCKET"
+    CFLAGS="$CFLAGS $X_INCLUDES"
+    test -n "$GL_INCLUDE" && CFLAGS="-I$GL_INCLUDE $CFLAGS"
+    AC_TRY_LINK([#include <GL/gl.h>
+#include <GL/glu.h>           
+], [],
+	ac_cv_have_gl="mesa", ac_cv_have_gl="no")
+    if test "x$ac_cv_have_gl" = "xno"; then
+      LDFLAGS="$ac_save_ldflags $X_LDFLAGS $GL_LDFLAGS $all_libraries -lGL -lGLU -lX11 -lXext -lm $LIBSOCKET"
+      CFLAGS="$ac_save_cflags $X_INCLUDES"
+      test -n "$GL_INCLUDE" && CFLAGS="-I$GL_INCLUDE $CFLAGS"
+      AC_TRY_LINK([#include <GL/gl.h>
+#include <GL/glu.h>
+], [],
+	  ac_cv_have_gl="yes", ac_cv_have_gl="no")
+    fi
+    LDFLAGS="$ac_save_ldflags"
+    CFLAGS="$ac_save_cflags"
+   ])dnl
+
+  if test "$ac_cv_have_gl" = "no"; then
+    AC_MSG_RESULT(no)
+    GL_LDFLAGS=""
+    GLINC=""
+    $2
+  else
+    AC_DEFINE(HAVE_GL, 1, [Defines if you have GL (Mesa, OpenGL, ...)])
+    if test "$GL_LDFLAGS" = ""; then
+       if test "$ac_cv_have_gl" = "mesa"; then
+          GLLIB='-lMesaGL -lMesaGLU $(LIB_X11)'
+       else
+          GLLIB='-lGL -lGLU $(LIB_X11)'
+       fi
+    else
+       if test "$ac_cv_have_gl" = "mesa"; then
+          GLLIB="$GL_LDFLAGS -lMesaGL -lMesaGLU "'$(LIB_X11)'
+       else
+          GLLIB="$GL_LDFLAGS -lGL -lGLU "'$(LIB_X11)'
+       fi
+    fi
+    if test "$GL_INCLUDE" = ""; then
+       GLINC=""
+    else
+       GLINC="-I$GL_INCLUDE"
+    fi
+    AC_MSG_RESULT($ac_cv_have_gl)
+    $1
+  fi
+ fi
+ AC_SUBST(GLINC)
+ AC_SUBST(GLLIB)
+])
+
+ dnl PAM pam
+
+ dnl Should test for PAM (Pluggable Authentication Modules)
+ AC_DEFUN(AC_PATH_PAM_DIRECT,
+ [
+ test -z "$pam_direct_test_library" && pam_direct_test_library=pam
+ test -z "$pam_direct_test_include" && pam_direct_test_include=security/pam_appl.h
+
+   for ac_dir in               \
+                               \
+     /usr/local/include        \
+     /usr/include              \
+     /usr/unsupported/include  \
+     /opt/include              \
+     /usr/pam/include          \
+     /usr/local/pam/include    \
+     /usr/lib/pam/include      \
+ 			      \
+     $extra_include            \
+     ; \
+   do
+     if test -r "$ac_dir/$pam_direct_test_include"; then
+       no_pam= ac_pam_includes=$ac_dir
+       break
+     fi
+   done
+
+ # First see if replacing the include by lib works.
+ for ac_dir in `echo "$ac_pam_includes" | sed s/include/lib/` \
+                           \
+     /lib                  \
+     /usr/lib              \
+     /usr/local/lib        \
+     /usr/unsupported/lib  \
+     /lib/security         \
+     /usr/security/lib     \
+     $extra_lib            \
+     ; \
+ do
+   for ac_extension in a so sl; do
+     if test -r $ac_dir/lib${pam_direct_test_library}.$ac_extension; then
+       no_pam= ac_pam_libraries=$ac_dir
+       break 2
+     fi
+   done
+ done
+])
+
+AC_DEFUN(AC_PATH_PAM,
+ [
+  AC_REQUIRE([KDE_CHECK_LIBDL])
+  AC_REQUIRE_CPP()dnl
+
+dnl AC_CHECK_LIB(pam_misc, main, [PAM_MISC_LIB="-lpam_misc"
+dnl              AC_DEFINE_UNQUOTED(HAVE_PAM_MISC, 1, [Define if you have a PAM implementation with the pam_misc library])], [], [-lpam $LIBDL])
+
+ AC_MSG_CHECKING(for PAM)
+ AC_ARG_WITH(pam,
+[  --with-pam[=ARG]        enable support for PAM: ARG=[yes|no|service name]],
+  [
+    if test "x$withval" = "xyes"; then
+      no_pam=
+      default_pam=yes
+    elif test "x$withval" = "xno"; then
+      no_pam=yes
+    else
+      no_pam=
+      pam_service="$withval"
+        if test -z "$pam_service"; then
+        default_pam=yes
+        else
+        default_pam=
+        fi
+      fi
+  ], no_pam=yes
+ )
+
+ if test ! "$no_pam" = yes; then
+
+ AC_CACHE_VAL(ac_cv_path_pam,
+ [
+ ac_pam_includes=NONE
+ ac_pam_libraries=NONE
+ if test -z "$pam_libraries"; then
+   pam_libraries=NONE
+ fi
+ if test -z "$pam_includes"; then
+   pam_includes=NONE
+ fi
+
+ AC_PATH_PAM_DIRECT
+
+ test "x$pam_includes" = xNONE && pam_includes=$ac_pam_includes
+ test "x$pam_libraries" = xNONE && pam_libraries=$ac_pam_libraries
+
+ if test ! "x$pam_includes" = xNONE && test ! "x$pam_libraries" = xNONE; then
+   ac_pam_libs="-lpam $PAM_MISC_LIB $LIBDL"
+   ac_cv_path_pam="no_pam= ac_pam_includes=$ac_pam_includes ac_pam_libraries=$ac_pam_libraries ac_pam_libs=\"$ac_pam_libs\""
+ else
+   ac_cv_path_pam="no_pam=yes"
+ fi
+ ])
+
+ eval "$ac_cv_path_pam"
+
+ fi
+
+ if test "$no_pam" = yes; then
+   AC_MSG_RESULT(no)
+ else
+   AC_DEFINE(HAVE_PAM, 1, [Defines if you have PAM (Pluggable Authentication Modules); Redhat-Users!])
+   PAMLIBS="$ac_pam_libs"
+   test "x$pam_includes" = xNONE && pam_includes=$ac_pam_includes
+   test "x$pam_libraries" = xNONE && pam_libraries=$ac_pam_libraries
+   AC_MSG_RESULT([libraries $pam_libraries, headers $pam_includes])
+ if test "$default_pam" = yes; then
+   AC_MSG_RESULT(["default pam service name will be used"])
+ else
+   AC_DEFINE_UNQUOTED(KDE_PAM_SERVICE,"$pam_service", [Define to change the default name of the PAM service used by KDE])
+   AC_MSG_RESULT(["pam service name will be: " $pam_service])
+ fi
+dnl test whether struct pam_message is const (Linux) or not (Sun)
+   pam_appl_h="$ac_pam_includes/security/pam_appl.h"
+   AC_MSG_CHECKING(for const pam_message)
+   AC_EGREP_HEADER([struct pam_message],
+      $pam_appl_h,
+      [ AC_EGREP_HEADER([const struct pam_message],
+                        $pam_appl_h,
+                        [AC_MSG_RESULT(["const: Linux-type PAM"]) ],
+                        [AC_MSG_RESULT(["nonconst: Sun-type PAM"])
+                        AC_DEFINE(PAM_MESSAGE_NONCONST, 1, [Define if your PAM support takes non-const arguments (Solaris)])]
+                        )],
+       [AC_MSG_RESULT(["not found - assume const, Linux-type PAM"])]
+       )
+ fi
+
+ if test "x$pam_libraries" != x && test "x$pam_libraries" != xNONE ; then
+     PAMLIBPATHS="-L$pam_libraries"
+ fi
+ if test "x$pam_includes" != x && test "x$pam_includes" != xNONE ; then
+     PAMINC="-I$pam_includes"
+ fi
+
+ AC_SUBST(PAMINC)
+ AC_SUBST(PAMLIBS)
+ AC_SUBST(PAMLIBPATHS)
+
+])
+
+AC_DEFUN(KDE_CHECK_LIBDL,
+[
+AC_CHECK_LIB(dl, dlopen, [
+LIBDL="-ldl"
+ac_cv_have_dlfcn=yes
+])
+
+AC_CHECK_LIB(dld, shl_unload, [
+LIBDL="-ldld"
+ac_cv_have_shload=yes
+])
+
+AC_SUBST(LIBDL)
+])
+
+AC_DEFUN(KDE_CHECK_DLOPEN,
+[
+KDE_CHECK_LIBDL
+AC_CHECK_HEADERS(dlfcn.h dl.h)
+if test "$ac_cv_header_dlfcn_h" = "no"; then
+  ac_cv_have_dlfcn=no
+fi
+
+if test "$ac_cv_header_dl_h" = "no"; then
+  ac_cv_have_shload=no
+fi
+
+dnl XXX why change enable_dlopen? its already set by autoconf's AC_ARG_ENABLE
+dnl (MM)
+AC_ARG_ENABLE(dlopen,
+[  --disable-dlopen        link statically [default=no]] ,
+enable_dlopen=$enableval,
+enable_dlopen=yes)
+
+# override the user's opinion, if we know it better ;)
+if test "$ac_cv_have_dlfcn" = "no" && test "$ac_cv_have_shload" = "no"; then
+  enable_dlopen=no
+fi
+
+if test "$ac_cv_have_dlfcn" = "yes"; then
+  AC_DEFINE_UNQUOTED(HAVE_DLFCN, 1, [Define if you have dlfcn])
+fi
+
+if test "$ac_cv_have_shload" = "yes"; then
+  AC_DEFINE_UNQUOTED(HAVE_SHLOAD, 1, [Define if you have shload])
+fi
+
+if test "$enable_dlopen" = no ; then
+  test -n "$1" && eval $1
+else
+  test -n "$2" && eval $2
+fi
+
+])
+
+AC_DEFUN(KDE_CHECK_DYNAMIC_LOADING,
+[
+KDE_CHECK_DLOPEN(libtool_enable_shared=yes, libtool_enable_static=no)
+KDE_PROG_LIBTOOL
+AC_MSG_CHECKING([dynamic loading])
+eval "`egrep '^build_libtool_libs=' libtool`"
+if test "$build_libtool_libs" = "yes" && test "$enable_dlopen" = "yes"; then
+  dynamic_loading=yes
+  AC_DEFINE_UNQUOTED(HAVE_DYNAMIC_LOADING)
+else
+  dynamic_loading=no
+fi
+AC_MSG_RESULT($dynamic_loading)
+if test "$dynamic_loading" = "yes"; then
+  $1
+else
+  $2
+fi
+])
+
+AC_DEFUN(KDE_ADD_INCLUDES,
+[
+if test -z "$1"; then
+  test_include="Pix.h"
+else
+  test_include="$1"
+fi
+
+AC_MSG_CHECKING([for libg++ ($test_include)])
+
+AC_CACHE_VAL(kde_cv_libgpp_includes,
+[
+kde_cv_libgpp_includes=no
+
+   for ac_dir in               \
+                               \
+     /usr/include/g++          \
+     /usr/include              \
+     /usr/unsupported/include  \
+     /opt/include              \
+     $extra_include            \
+     ; \
+   do
+     if test -r "$ac_dir/$test_include"; then
+       kde_cv_libgpp_includes=$ac_dir
+       break
+     fi
+   done
+])
+
+AC_MSG_RESULT($kde_cv_libgpp_includes)
+if test "$kde_cv_libgpp_includes" != "no"; then
+  all_includes="-I$kde_cv_libgpp_includes $all_includes $USER_INCLUDES"
+fi
+])
+])
+
+
+AC_DEFUN(KDE_CHECK_MICO,
+[
+AC_REQUIRE([KDE_CHECK_LIBDL])
+AC_REQUIRE([KDE_MISC_TESTS])
+AC_MSG_CHECKING(for MICO)
+
+if test -z "$MICODIR"; then
+    kde_micodir=/usr/local
+ else
+    kde_micodir="$MICODIR"
+fi
+
+AC_ARG_WITH(micodir,
+  [  --with-micodir=micodir  where mico is installed ],
+  kde_micodir=$withval,
+  kde_micodir=$kde_micodir
+)
+
+AC_CACHE_VAL(kde_cv_mico_incdir,
+[
+  mico_incdirs="$kde_micodir/include /usr/include /usr/local/include /usr/local/include /opt/local/include $kde_extra_includes"
+AC_FIND_FILE(CORBA.h, $mico_incdirs, kde_cv_mico_incdir)
+
+])
+kde_micodir=`echo $kde_cv_mico_incdir | sed -e 's#/include##'`
+
+if test ! -r  $kde_micodir/include/CORBA.h; then
+  AC_MSG_ERROR([No CORBA.h found, specify another micodir])
+fi
+
+AC_MSG_RESULT($kde_micodir)
+
+MICO_INCLUDES=-I$kde_micodir/include
+AC_SUBST(MICO_INCLUDES)
+MICO_LDFLAGS=-L$kde_micodir/lib
+AC_SUBST(MICO_LDFLAGS)
+micodir=$kde_micodir
+AC_SUBST(micodir)
+
+AC_MSG_CHECKING([for MICO version])
+AC_CACHE_VAL(kde_cv_mico_version,
+[
+AC_LANG_C
+cat >conftest.$ac_ext <<EOF
+#include <stdio.h>
+#include <mico/version.h>
+int main() {
+
+   printf("MICO_VERSION=%s\n",MICO_VERSION);
+   return (0);
+}
+EOF
+ac_compile='${CC-gcc} $CFLAGS $MICO_INCLUDES conftest.$ac_ext -o conftest'
+if AC_TRY_EVAL(ac_compile); then
+  if eval `./conftest 2>&5`; then
+    kde_cv_mico_version=$MICO_VERSION
+  else
+    AC_MSG_ERROR([your system is not able to execute a small application to
+    find MICO version! Check $kde_micodir/include/mico/version.h])
+  fi
+else
+  AC_MSG_ERROR([your system is not able to compile a small application to
+  find MICO version! Check $kde_micodir/include/mico/version.h])
+fi
+])
+
+dnl installed MICO version
+mico_v_maj=`echo $kde_cv_mico_version | sed -e 's/^\(.*\)\..*\..*$/\1/'`
+mico_v_mid=`echo $kde_cv_mico_version | sed -e 's/^.*\.\(.*\)\..*$/\1/'`
+mico_v_min=`echo $kde_cv_mico_version | sed -e 's/^.*\..*\.\(.*\)$/\1/'`
+
+if test "x$1" = "x"; then
+ req_version="2.3.0"
+else
+ req_version=$1
+fi
+
+dnl required MICO version
+req_v_maj=`echo $req_version | sed -e 's/^\(.*\)\..*\..*$/\1/'`
+req_v_mid=`echo $req_version | sed -e 's/^.*\.\(.*\)\..*$/\1/'`
+req_v_min=`echo $req_version | sed -e 's/^.*\..*\.\(.*\)$/\1/'`
+
+if test "$mico_v_maj" -lt "$req_v_maj" || \
+   ( test "$mico_v_maj" -eq "$req_v_maj" && \
+        test "$mico_v_mid" -lt "$req_v_mid" ) || \
+   ( test "$mico_v_mid" -eq "$req_v_mid" && \
+        test "$mico_v_min" -lt "$req_v_min" )
+
+then
+  AC_MSG_ERROR([found MICO version $kde_cv_mico_version but version $req_version \
+at least is required. You should upgrade MICO.])
+else
+  AC_MSG_RESULT([$kde_cv_mico_version (minimum version $req_version, ok)])
+fi
+
+LIBMICO="-lmico$kde_cv_mico_version $LIBCRYPT $LIBSOCKET $LIBDL"
+AC_SUBST(LIBMICO)
+if test -z "$IDL"; then
+  IDL='$(kde_bindir)/cuteidl'
+fi
+AC_SUBST(IDL)
+IDL_DEPENDENCIES='$(kde_includes)/CUTE.h'
+AC_SUBST(IDL_DEPENDENCIES)
+
+idldir="\$(includedir)/idl"
+AC_SUBST(idldir)
+
+])
+
+AC_DEFUN(KDE_CHECK_MINI_STL,
+[
+AC_REQUIRE([KDE_CHECK_MICO])
+
+AC_MSG_CHECKING(if we use mico's mini-STL)
+AC_CACHE_VAL(kde_cv_have_mini_stl,
+[
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+kde_save_cxxflags="$CXXFLAGS"
+CXXFLAGS="$CXXFLAGS $MICO_INCLUDES"
+AC_TRY_COMPILE(
+[
+#include <mico/config.h>
+],
+[
+#ifdef HAVE_MINI_STL
+#error "nothing"
+#endif
+],
+kde_cv_have_mini_stl=no,
+kde_cv_have_mini_stl=yes)
+CXXFLAGS="$kde_save_cxxflags"
+AC_LANG_RESTORE
+])
+
+if test "x$kde_cv_have_mini_stl" = "xyes"; then
+   AC_MSG_RESULT(yes)
+   $1
+else
+   AC_MSG_RESULT(no)
+   $2
+fi
+])
+
+])
+
+
+AC_DEFUN(KDE_CHECK_LIBPTHREAD,
+[
+AC_CHECK_LIB(pthread, pthread_create, [LIBPTHREAD="-lpthread"] )
+AC_SUBST(LIBPTHREAD)
+])
+
+AC_DEFUN(KDE_CHECK_PTHREAD_OPTION,
+[
+    AC_ARG_ENABLE(kernel-threads, [  --enable-kernel-threads Enable the use of the LinuxThreads port on FreeBSD/i386 only.],
+	kde_use_kernthreads=$enableval, kde_use_kernthreads=no)
+
+    if test "$kde_use_kernthreads" = "yes"; then
+      ac_save_CXXFLAGS="$CXXFLAGS"
+      ac_save_CFLAGS="$CXXFLAGS"
+      CXXFLAGS="-I/usr/local/include/pthread/linuxthreads $CXXFLAGS"
+      CFLAGS="-I/usr/local/include/pthread/linuxthreads $CFLAGS"
+      AC_CHECK_HEADERS(pthread/linuxthreads/pthread.h)
+      CXXFLAGS="$ac_save_CXXFLAGS"
+      CFLAGS="$ac_save_CFLAGS"
+      if test "$ac_cv_header_pthread_linuxthreads_pthread_h" = "no"; then
+        kde_use_kernthreads=no
+      else
+        dnl Add proper -I and -l statements
+        AC_CHECK_LIB(lthread, pthread_join, [LIBPTHREAD="-llthread -llgcc_r"]) dnl for FreeBSD
+        if test "x$LIBPTHREAD" = "x"; then
+          kde_use_kernthreads=no
+        else
+          USE_THREADS="-D_THREAD_SAFE -I/usr/local/include/pthread/linuxthreads"
+        fi
+      fi
+    else 
+      USE_THREADS=""
+      if test -z "$LIBPTHREAD"; then
+        KDE_CHECK_COMPILER_FLAG(pthread, [USE_THREADS="-pthread"] )
+      fi
+    fi
+
+    case $host_os in
+ 	solaris*)
+		KDE_CHECK_COMPILER_FLAG(mt, [USE_THREADS="-mt"])
+                CPPFLAGS="$CPPFLAGS -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -DUSE_SOLARIS"
+                echo "Setting Solaris pthread compilation options"
+    		;;
+        freebsd*)
+                CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE"
+                echo "Setting FreeBSD pthread compilation options"
+                ;;
+        aix*)
+                CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE"
+                LIBPTHREAD="$LIBPTHREAD -lc_r"
+                echo "Setting AIX pthread compilation options"
+                ;;
+        linux*) CPPFLAGS="$CPPFLAGS -D_REENTRANT"
+                USE_THREADS="$USE_THREADS -DPIC -fPIC"
+                echo "Setting Linux pthread compilation options"
+                ;;
+	*)
+		;;
+    esac
+    AC_SUBST(USE_THREADS)
+    AC_SUBST(LIBPTHREAD)
+])
+
+AC_DEFUN(KDE_CHECK_THREADING,
+[
+  AC_REQUIRE([KDE_CHECK_LIBPTHREAD])
+  AC_REQUIRE([KDE_CHECK_PTHREAD_OPTION])
+  dnl default is yes if libpthread is found and no if no libpthread is available
+  if test -z "$LIBPTHREAD"; then
+    kde_check_threading_default=no
+  else
+    kde_check_threading_default=yes
+  fi
+  AC_ARG_ENABLE(threading, [  --disable-threading     disables threading even if libpthread found ],
+   kde_use_threading=$enableval, kde_use_threading=$kde_check_threading_default)
+
+  if test "x$kde_use_threading" = "xyes"; then
+    AC_DEFINE(HAVE_LIBPTHREAD, 1, [Define if you have a working libpthread (will enable threaded code)])
+  fi
+])
+
+AC_DEFUN(KDE_TRY_LINK_PYTHON,
+[
+if test "$kde_python_link_found" = no; then
+
+if test "$1" = normal; then
+  AC_MSG_CHECKING(if a Python application links)
+else
+  AC_MSG_CHECKING(if Python depends on $2)
+fi
+
+AC_CACHE_VAL(kde_cv_try_link_python_$1,
+[
+AC_LANG_SAVE
+AC_LANG_C
+kde_save_cflags="$CFLAGS"
+CFLAGS="$CFLAGS $PYTHONINC"
+kde_save_libs="$LIBS"
+LIBS="$LIBS $LIBPYTHON $2 $LIBDL $LIBSOCKET"
+kde_save_ldflags="$LDFLAGS"
+LDFLAGS="$LDFLAGS $PYTHONLIB"
+
+AC_TRY_LINK(
+[
+#include <Python.h>
+],[
+	PySys_SetArgv(1, 0);
+],
+	[kde_cv_try_link_python_$1=yes],
+	[kde_cv_try_link_python_$1=no]
+)
+CFLAGS="$kde_save_cflags"
+LIBS="$kde_save_libs"
+LDFLAGS="$kde_save_ldflags"
+])
+
+if test "$kde_cv_try_link_python_$1" = "yes"; then
+  AC_MSG_RESULT(yes)
+  kde_python_link_found=yes
+  if test ! "$1" = normal; then
+    LIBPYTHON="$LIBPYTHON $2"
+  fi
+  $3
+else
+  AC_MSG_RESULT(no)
+  $4
+fi
+AC_LANG_RESTORE
+
+fi
+
+])
+
+AC_DEFUN(KDE_CHECK_PYTHON,
+[
+AC_REQUIRE([KDE_CHECK_LIBDL])
+AC_REQUIRE([KDE_CHECK_LIBPTHREAD])
+
+AC_MSG_CHECKING([for Python directory])
+
+AC_CACHE_VAL(kde_cv_pythondir,
+[
+  if test -z "$PYTHONDIR"; then
+    kde_cv_pythondir=/usr/local
+  else
+    kde_cv_pythondir="$PYTHONDIR"
+  fi
+])
+
+AC_ARG_WITH(pythondir,
+[  --with-pythondir=pythondir   use python installed in pythondir ],
+[
+  ac_python_dir=$withval
+], ac_python_dir=$kde_cv_pythondir
+)
+
+AC_MSG_RESULT($ac_python_dir)
+
+if test -z "$1"; then
+  version="1.5"
+else
+  version="$1"
+fi
+
+AC_MSG_CHECKING([for Python$version])
+
+python_incdirs="$ac_python_dir/include /usr/include /usr/local/include/ $kde_extra_includes"
+AC_FIND_FILE(Python.h, $python_incdirs, python_incdir)
+if test ! -r $python_incdir/Python.h; then
+  AC_FIND_FILE(python$version/Python.h, $python_incdirs, python_incdir)
+  python_incdir=$python_incdir/python$version
+  if test ! -r $python_incdir/Python.h; then
+    AC_MSG_ERROR(Python.h not found.)
+  fi
+fi
+
+PYTHONINC=-I$python_incdir
+
+python_libdirs="$ac_python_dir/lib /usr/lib /usr/local /usr/lib $kde_extra_libs"
+AC_FIND_FILE(libpython$version.a, $python_libdirs, python_libdir)
+if test ! -r $python_libdir/libpython$version.a; then
+  AC_FIND_FILE(python$version/config/libpython$version.a, $python_libdirs, python_libdir)
+  python_libdir=$python_libdir/python$version/config
+  if test ! -r $python_libdir/libpython$version.a; then
+    AC_MSG_ERROR(libpython$version.a not found.)
+  fi
+fi
+
+PYTHONLIB=-L$python_libdir
+if test -z "$LIBPYTHON"; then
+LIBPYTHON=-lpython$version
+fi
+
+python_libdirs="$ac_python_dir/lib /usr/lib /usr/local /usr/lib $kde_extra_libs"
+AC_FIND_FILE(python$version/copy.py, $python_libdirs, python_moddir)
+python_moddir=$python_moddir/python$version
+if test ! -r $python_moddir/copy.py; then
+  AC_MSG_ERROR(python module directory not found.)
+fi
+
+PYTHONMODDIR=$python_moddir
+
+AC_MSG_RESULT(header $python_incdir library $python_libdir modules $python_moddir)
+
+dnl Note: this test is very weak
+kde_python_link_found=no
+KDE_TRY_LINK_PYTHON(normal)
+KDE_TRY_LINK_PYTHON(m, -lm)
+KDE_TRY_LINK_PYTHON(pthread, $LIBPTHREAD)
+KDE_TRY_LINK_PYTHON(tcl, -ltcl)
+KDE_TRY_LINK_PYTHON(m_and_thread, [$LIBPTHREAD -lm], [],
+	[AC_MSG_WARN([it seems, Python depends on another library.
+    Pleae use \"make LIBPTYHON='-lpython$version -lotherlib'\" to fix this
+    and contact the authors to let them know about this problem])
+	])
+
+LIBPYTHON="$LIBPYTHON $LIBDL $LIBSOCKET"
+AC_SUBST(PYTHONINC)
+AC_SUBST(PYTHONLIB)
+AC_SUBST(LIBPYTHON)
+AC_SUBST(PYTHONMODDIR)
+
+])
+
+
+AC_DEFUN(KDE_CHECK_STL_SGI,
+[
+    AC_MSG_CHECKING([if STL implementation is SGI like])
+    AC_CACHE_VAL(kde_cv_stl_type_sgi,
+    [
+      AC_TRY_COMPILE([
+#include <string>
+using namespace std;
+],[
+  string astring="Hallo Welt.";
+  astring.erase(0, 6); // now astring is "Welt"
+  return 0;
+], kde_cv_stl_type_sgi=yes,
+   kde_cv_stl_type_sgi=no)
+])
+
+   AC_MSG_RESULT($kde_cv_stl_type_sgi)
+
+   if test "$kde_cv_stl_type_sgi" = "yes"; then
+	AC_DEFINE_UNQUOTED(HAVE_SGI_STL, 1, [Define if you have a STL implementation by SGI])
+   fi
+])
+
+AC_DEFUN(KDE_CHECK_STL_HP,
+[
+    AC_MSG_CHECKING([if STL implementation is HP like])
+    AC_CACHE_VAL(kde_cv_stl_type_hp,
+    [
+      AC_TRY_COMPILE([
+#include <string>
+using namespace std;
+],[
+  string astring="Hello World";
+  astring.remove(0, 6); // now astring is "World"
+  return 0;
+], kde_cv_stl_type_hp=yes,
+   kde_cv_stl_type_hp=no)
+])
+   AC_MSG_RESULT($kde_cv_stl_type_hp)
+
+   if test "$kde_cv_stl_type_hp" = "yes"; then
+	AC_DEFINE_UNQUOTED(HAVE_HP_STL, 1, [Define if you have a STL implementation by SGI])
+   fi
+])
+
+AC_DEFUN(KDE_CHECK_STL,
+[
+    AC_LANG_SAVE
+    AC_LANG_CPLUSPLUS
+    ac_save_CXXFLAGS="$CXXFLAGS"
+    CXXFLAGS="`echo $CXXFLAGS | sed s/-fno-exceptions//`"
+    KDE_CHECK_STL_SGI
+
+    if test "$kde_cv_stl_type_sgi" = "no"; then
+       KDE_CHECK_STL_HP
+
+       if test "$kde_cv_stl_type_hp" = "no"; then
+         AC_MSG_ERROR("no known STL type found")
+       fi
+    fi
+
+    CXXFLAGS="$ac_save_CXXFLAGS"
+    AC_LANG_RESTORE
+])
+
+AC_DEFUN(AC_FIND_QIMGIO,
+   [AC_REQUIRE([AC_FIND_JPEG])
+AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
+AC_MSG_CHECKING([for qimgio])
+AC_CACHE_VAL(ac_cv_lib_qimgio,
+[
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+ac_save_LIBS="$LIBS"
+ac_save_CXXFLAGS="$CXXFLAGS"
+LIBS="$all_libraries -lqimgio -lpng -lz $LIBJPEG $LIBQT"
+CXXFLAGS="$CXXFLAGS -I$qt_incdir $all_includes"
+AC_TRY_RUN(dnl
+[
+#include <qimageio.h>
+#include <qstring.h>
+int main() {
+		QString t = "hallo";
+		t.fill('t');
+		qInitImageIO();
+}
+],
+            ac_cv_lib_qimgio=yes,
+            ac_cv_lib_qimgio=no,
+	    ac_cv_lib_qimgio=no)
+LIBS="$ac_save_LIBS"
+CXXFLAGS="$ac_save_CXXFLAGS"
+AC_LANG_RESTORE
+])dnl
+if eval "test \"`echo $ac_cv_lib_qimgio`\" = yes"; then
+  LIBQIMGIO="-lqimgio -lpng -lz $LIBJPEG"
+  AC_MSG_RESULT(yes)
+  AC_DEFINE_UNQUOTED(HAVE_QIMGIO, 1, [Define if you have the Qt extension qimgio available])
+  AC_SUBST(LIBQIMGIO)
+else
+  AC_MSG_RESULT(not found)
+fi
+])
+
+AC_DEFUN(KDE_CHECK_ANSI,
+[
+])
+
+AC_DEFUN(KDE_CHECK_INSURE,
+[
+  AC_ARG_ENABLE(insure, [  --enable-insure             use insure++ for debugging [default=no]],
+  [
+  if test $enableval = "no"; dnl
+	then ac_use_insure="no"
+	else ac_use_insure="yes"
+   fi
+  ], [ac_use_insure="no"])
+
+  AC_MSG_CHECKING(if we will use Insure++ to debug)
+  AC_MSG_RESULT($ac_use_insure)
+  if test "$ac_use_insure" = "yes"; dnl
+       then CC="insure"; CXX="insure"; dnl CFLAGS="$CLAGS -fno-rtti -fno-exceptions "????
+   fi
+])
+
+AC_DEFUN(AM_DISABLE_LIBRARIES,
+[
+    AC_PROVIDE([AM_ENABLE_STATIC])
+    AC_PROVIDE([AM_ENABLE_SHARED])
+    enable_static=no
+    enable_shared=yes
+])
+
+
+AC_DEFUN(AC_CHECK_UTMP_FILE,
+[
+    AC_MSG_CHECKING([for utmp file])
+
+    AC_CACHE_VAL(kde_cv_utmp_file,
+    [
+    kde_cv_utmp_file=no
+
+    for ac_file in    \
+                      \
+	/var/run/utmp \
+	/var/adm/utmp \
+	/etc/utmp     \
+     ; \
+    do
+     if test -r "$ac_file"; then
+       kde_cv_utmp_file=$ac_file
+       break
+     fi
+    done
+    ])
+
+    if test "$kde_cv_utmp_file" != "no"; then
+	AC_DEFINE_UNQUOTED(UTMP, "$kde_cv_utmp_file", [Define the file for utmp entries])
+	$1
+	AC_MSG_RESULT($kde_cv_utmp_file)
+    else
+    	$2
+	AC_MSG_RESULT([non found])
+    fi
+])
+
+
+AC_DEFUN(KDE_CREATE_SUBDIRSLIST,
+[
+
+DO_NOT_COMPILE="$DO_NOT_COMPILE CVS debian bsd-port admin"
+
+if test ! -s $srcdir/subdirs; then
+  dnl Note: Makefile.common creates subdirs, so this is just a fallback
+  TOPSUBDIRS=""
+  files=`cd $srcdir && ls -1`
+  dirs=`for i in $files; do if test -d $i; then echo $i; fi; done`
+  for i in $dirs; do
+    echo $i >> $srcdir/subdirs
+  done
+fi
+
+if test -s $srcdir/inst-apps; then
+  ac_topsubdirs="`cat $srcdir/inst-apps`"
+else
+  ac_topsubdirs="`cat $srcdir/subdirs`"
+fi
+
+for i in $ac_topsubdirs; do
+  AC_MSG_CHECKING([if $i should be compiled])
+  if test -d $srcdir/$i; then
+    install_it="yes"
+    for j in $DO_NOT_COMPILE; do
+      if test $i = $j; then
+        install_it="no"
+      fi
+    done
+  else
+    install_it="no"
+  fi
+  AC_MSG_RESULT($install_it)
+  if test $install_it = "yes"; then
+    TOPSUBDIRS="$TOPSUBDIRS $i"
+  fi
+done
+
+AC_SUBST(TOPSUBDIRS)
+])
+
+AC_DEFUN(KDE_CHECK_NAMESPACES,
+[
+AC_MSG_CHECKING(whether C++ compiler supports namespaces)
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+AC_TRY_COMPILE([
+],
+[
+namespace Foo {
+  extern int i;
+  namespace Bar {
+    extern int i;
+  }
+}
+
+int Foo::i = 0;
+int Foo::Bar::i = 1;
+],[
+  AC_MSG_RESULT(yes)
+  AC_DEFINE(HAVE_NAMESPACES)
+], [
+AC_MSG_RESULT(no)
+])
+AC_LANG_RESTORE
+])
+
+AC_DEFUN(KDE_CHECK_NEWLIBS,
+[
+
+])
+
+dnl ------------------------------------------------------------------------
+dnl Check for S_ISSOCK macro. Doesn't exist on Unix SCO. faure at kde.org
+dnl ------------------------------------------------------------------------
+dnl
+AC_DEFUN(AC_CHECK_S_ISSOCK,
+[
+AC_MSG_CHECKING(for S_ISSOCK)
+AC_CACHE_VAL(ac_cv_have_s_issock,
+[
+AC_LANG_SAVE
+AC_LANG_C
+AC_TRY_LINK(
+[
+#include <sys/stat.h>
+],
+[
+struct stat buff;
+int b = S_ISSOCK( buff.st_mode );
+],
+ac_cv_have_s_issock=yes,
+ac_cv_have_s_issock=no)
+AC_LANG_RESTORE
+])
+AC_MSG_RESULT($ac_cv_have_s_issock)
+if test "$ac_cv_have_s_issock" = "yes"; then
+  AC_DEFINE_UNQUOTED(HAVE_S_ISSOCK, 1, [Define if sys/stat.h declares S_ISSOCK.])
+fi
+])
+
+dnl ------------------------------------------------------------------------
+dnl Check for MAXPATHLEN macro, defines KDEMAXPATHLEN. faure at kde.org
+dnl ------------------------------------------------------------------------
+dnl
+AC_DEFUN(AC_CHECK_KDEMAXPATHLEN,
+[
+AC_MSG_CHECKING(for MAXPATHLEN)
+AC_CACHE_VAL(ac_cv_maxpathlen,
+[
+AC_LANG_C
+cat > conftest.$ac_ext <<EOF
+#include <stdio.h>
+#include <sys/param.h>
+#ifndef MAXPATHLEN
+#define MAXPATHLEN 1024
+#endif
+
+KDE_HELLO MAXPATHLEN
+
+EOF
+
+ac_try="$ac_cpp conftest.$ac_ext 2>/dev/null | grep '^KDE_HELLO' >conftest.out"
+
+if AC_TRY_EVAL(ac_try) && test -s conftest.out; then
+    ac_cv_maxpathlen=`sed 's#KDE_HELLO ##' conftest.out`
+else
+    ac_cv_maxpathlen=1024
+fi
+
+rm conftest.*
+
+])
+AC_MSG_RESULT($ac_cv_maxpathlen)
+AC_DEFINE_UNQUOTED(KDEMAXPATHLEN,$ac_cv_maxpathlen, [Define a safe value for MAXPATHLEN] )
+])
+
+dnl -------------------------------------------------------------------------
+dnl See if the compiler supports a template repository         bero at redhat.de
+dnl -------------------------------------------------------------------------
+AC_DEFUN(KDE_COMPILER_REPO,
+[
+  REPO=""
+  NOREPO=""
+
+  KDE_CHECK_COMPILER_FLAG(frepo,
+   [
+     REPO="-frepo"
+     NOREPO="-fno-repo"
+   ])
+
+  if test -z "$REPO"; then
+  KDE_CHECK_COMPILER_FLAG(instances=explicit,
+  [
+     REPO="-instances=explicit"
+     NOREPO="-instances=extern"
+  ])
+  fi
+
+  if test -n "$REPO"; then
+     AC_DEFINE_UNQUOTED(HAVE_TEMPLATE_REPOSITORY, 1,
+		[C++ compiler supports template repository])
+     $1
+  fi
+
+  AC_SUBST(REPO)
+  AC_SUBST(NOREPO)
+])
+
+AC_DEFUN(KDE_CHECK_HEADER,
+[
+   AC_LANG_SAVE
+   kde_safe_cppflags=$CPPFLAGS
+   CPPFLAGS="$CPPFLAGS $all_includes"
+   AC_LANG_CPLUSPLUS
+   AC_CHECK_HEADER($1, $2, $3)
+   CPPFLAGS=$kde_safe_cppflags
+   AC_LANG_RESTORE
+])
+
+AC_DEFUN(KDE_CHECK_QWSPRITEFIELD,
+[
+  KDE_CHECK_HEADER(QwSpriteField.h, ,
+  [
+    AC_MSG_WARN([you don't have QwSpriteField.h somewhere. Please install
+       QwSpriteField out of kdesupport.])
+      $1
+  ])
+])
+
+AC_DEFUN(KDE_FAST_CONFIGURE,
+[
+  dnl makes configure fast (needs perl)
+  AC_ARG_ENABLE(fast-perl, [  --disable-fast-perl     disable fast Makefile generation (needs perl)],
+      with_fast_perl=$enableval, with_fast_perl=yes)
+])
+
+AC_DEFUN(KDE_CONF_FILES,
+[
+  val=
+  if test -f $srcdir/configure.files ; then
+    val=`sed -e 's%^%\$(top_srcdir)/%' $srcdir/configure.files`
+  fi
+  CONF_FILES=
+  if test -n "$val" ; then
+    for i in $val ; do
+      CONF_FILES="$CONF_FILES $i"
+    done
+  fi
+  AC_SUBST(CONF_FILES)
+])dnl
+
+AC_DEFUN(KDE_SET_PREFIX,
+[
+  unset CDPATH
+  dnl make $KDEDIR the default for the installation
+  AC_PREFIX_DEFAULT(${KDEDIR:-/usr/local/kde})
+
+  if test "x$prefix" = "xNONE"; then
+    prefix=$ac_default_prefix
+    ac_configure_args="$ac_configure_args --prefix $prefix"
+  fi
+  KDE_FAST_CONFIGURE
+  KDE_CONF_FILES
+])
+
+pushdef([AC_PROG_INSTALL],
+[
+  dnl our own version, testing for a -p flag
+  popdef([AC_PROG_INSTALL])
+  dnl as AC_PROG_INSTALL works as it works we first have
+  dnl to save if the user didn't specify INSTALL, as the
+  dnl autoconf one overwrites INSTALL and we have no chance to find
+  dnl out afterwards
+  test -n "$INSTALL" && kde_save_INSTALL_given=$INSTALL
+  test -n "$INSTALL_PROGRAM" && kde_save_INSTALL_PROGRAM_given=$INSTALL_PROGRAM
+  test -n "$INSTALL_SCRIPT" && kde_save_INSTALL_SCRIPT_given=$INSTALL_SCRIPT
+  AC_PROG_INSTALL
+
+  if test -z "$kde_save_INSTALL_given" ; then
+    # OK, user hasn't given any INSTALL, autoconf found one for us
+    # now we test, if it supports the -p flag
+    AC_MSG_CHECKING(for -p flag to install)
+    rm -f confinst.$$.* > /dev/null 2>&1
+    echo "Testtest" > confinst.$$.orig
+    ac_res=no
+    if ${INSTALL} -p confinst.$$.orig confinst.$$.new > /dev/null 2>&1 ; then
+      if test -f confinst.$$.new ; then
+        # OK, -p seems to do no harm to install
+	INSTALL="${INSTALL} -p"
+	ac_res=yes
+      fi
+    fi
+    rm -f confinst.$$.*
+    AC_MSG_RESULT($ac_res)
+  fi
+  dnl the following tries to resolve some signs and wonders coming up
+  dnl with different autoconf/automake versions
+  dnl e.g.:
+  dnl  *automake 1.4 install-strip sets A_M_INSTALL_PROGRAM_FLAGS to -s
+  dnl   and has INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(A_M_INSTALL_PROGRAM_FLAGS)
+  dnl   it header-vars.am, so there the actual INSTALL_PROGRAM gets the -s
+  dnl  *automake 1.4a (and above) use INSTALL_STRIP_FLAG and only has
+  dnl   INSTALL_PROGRAM = @INSTALL_PROGRAM@ there, but changes the
+  dnl   install- at DIR@PROGRAMS targets to explicitly use that flag
+  dnl  *autoconf 2.13 is dumb, and thinks it can use INSTALL_PROGRAM as
+  dnl   INSTALL_SCRIPT, which breaks with automake <= 1.4
+  dnl  *autoconf >2.13 (since 10.Apr 1999) has not that failure
+  dnl  *sometimes KDE does not use the install- at DIR@PROGRAM targets from
+  dnl   automake (due to broken Makefile.am or whatever) to install programs,
+  dnl   and so does not see the -s flag in automake > 1.4
+  dnl to clean up that mess we:
+  dnl  +set INSTALL_PROGRAM to use INSTALL_STRIP_FLAG
+  dnl   which cleans KDE's program with automake > 1.4;
+  dnl  +set INSTALL_SCRIPT to only use INSTALL, to clean up autoconf's problems
+  dnl   with automake<=1.4
+  dnl  note that dues to this sometimes two '-s' flags are used (if KDE
+  dnl   properly uses install- at DIR@PROGRAMS, but I don't care
+  dnl
+  dnl And to all this comes, that I even can't write in comments variable
+  dnl  names used by automake, because it is so stupid to think I wanted to
+  dnl  _use_ them, therefor I have written A_M_... instead of AM_
+  dnl hmm, I wanted to say something ... ahh yes: Arghhh.
+
+  if test -z "$kde_save_INSTALL_PROGRAM_given" ; then
+    INSTALL_PROGRAM='${INSTALL} $(INSTALL_STRIP_FLAG)'
+  fi
+  if test -z "$kde_save_INSTALL_SCRIPT_given" ; then
+    INSTALL_SCRIPT='${INSTALL}'
+  fi
+])dnl
+
+AC_DEFUN(KDE_LANG_CPLUSPLUS,
+[AC_LANG_CPLUSPLUS
+ac_link='rm -rf SunWS_cache; ${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&AC_FD_CC'
+pushdef([AC_LANG_CPLUSPLUS], [popdef([AC_LANG_CPLUSPLUS]) KDE_LANG_CPLUSPLUS])
+])
+
+pushdef([AC_LANG_CPLUSPLUS],
+[popdef([AC_LANG_CPLUSPLUS])
+KDE_LANG_CPLUSPLUS
+])
+
+AC_DEFUN(KDE_CHECK_LONG_LONG,
+[
+AC_MSG_CHECKING(for long long)
+AC_CACHE_VAL(kde_cv_c_long_long,
+[
+  AC_LANG_SAVE
+  AC_LANG_CPLUSPLUS
+  AC_TRY_LINK([], [
+  long long foo = 0;
+  foo = foo+1;
+  ],
+  kde_cv_c_long_long=yes, kde_cv_c_long_long=no)
+])
+AC_MSG_RESULT($kde_cv_c_long_long)
+if test "$kde_cv_c_long_long" = yes; then
+   AC_DEFINE(HAVE_LONG_LONG, 1, [Define if you have long long as datatype])
+fi
+])
+
+## libtool.m4 - Configure libtool for the host system. -*-Shell-script-*-
+## Copyright 1996, 1997, 1998, 1999, 2000, 2001
+## Free Software Foundation, Inc.
+## Originally by Gordon Matzigkeit <gord at gnu.ai.mit.edu>, 1996
+##
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2 of the License, or
+## (at your option) any later version.
+##
+## This program is distributed in the hope that it will be useful, but
+## WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+## General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+##
+## As a special exception to the GNU General Public License, if you
+## distribute this file as part of a program that contains a
+## configuration script generated by Autoconf, you may include it under
+## the same distribution terms that you use for the rest of that program.
+
+# serial 46 AC_PROG_LIBTOOL
+AC_DEFUN([AC_PROG_LIBTOOL],
+[AC_REQUIRE([_AC_PROG_LIBTOOL])dnl
+dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX
+dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX.
+  AC_PROVIDE_IFELSE([AC_PROG_CXX],
+    [AC_LIBTOOL_CXX],
+    [define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX
+])])
+
+dnl Quote A][M_PROG_GCJ so that aclocal doesn't bring it in needlessly.
+dnl If either AC_PROG_GCJ or A][M_PROG_GCJ have already been expanded, run
+dnl AC_LIBTOOL_GCJ immediately, otherwise, hook it in at the end of both.
+  AC_PROVIDE_IFELSE([AC_PROG_GCJ],
+    [AC_LIBTOOL_GCJ],
+    [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
+        [AC_LIBTOOL_GCJ],
+	[AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],
+	  [AC_LIBTOOL_GCJ],
+	[ifdef([AC_PROG_GCJ],
+	       [define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[AC_LIBTOOL_GCJ
+])])
+	 ifdef([A][M_PROG_GCJ],
+	       [define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[AC_LIBTOOL_GCJ
+])])
+	 ifdef([LT_AC_PROG_GCJ],
+	       [define([LT_AC_PROG_GCJ], defn([LT_AC_PROG_GCJ])[AC_LIBTOOL_GCJ
+])])])])])])
+
+AC_DEFUN([_AC_PROG_LIBTOOL],
+[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl
+AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl
+AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl
+
+# Save cache, so that ltconfig can load it
+AC_CACHE_SAVE
+
+# Actually configure libtool.  ac_aux_dir is where install-sh is found.
+AR="$AR" LTCC="$CC" CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \
+MAGIC_CMD="$MAGIC_CMD" LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \
+LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" STRIP="$STRIP" \
+AS="$AS" DLLTOOL="$DLLTOOL" OBJDUMP="$OBJDUMP" \
+objext="$OBJEXT" exeext="$EXEEXT" reload_flag="$reload_flag" \
+deplibs_check_method="$deplibs_check_method" file_magic_cmd="$file_magic_cmd" \
+${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig --no-reexec \
+$libtool_flags --no-verify --build="$build" $ac_aux_dir/ltmain.sh $host \
+|| AC_MSG_ERROR([libtool configure failed])
+
+# Reload cache, that may have been modified by ltconfig
+AC_CACHE_LOAD
+
+# This can be used to rebuild libtool when needed
+LIBTOOL_DEPS="$ac_aux_dir/ltconfig $ac_aux_dir/ltmain.sh $ac_aux_dir/ltcf-c.sh"
+
+# Always use our own libtool.
+LIBTOOL='$(SHELL) $(top_builddir)/libtool'
+AC_SUBST(LIBTOOL)dnl
+
+# Redirect the config.log output again, so that the ltconfig log is not
+# clobbered by the next message.
+exec 5>>./config.log
+])
+
+AC_DEFUN([AC_LIBTOOL_SETUP],
+[AC_PREREQ(2.13)dnl
+AC_REQUIRE([AC_ENABLE_SHARED])dnl
+AC_REQUIRE([AC_ENABLE_STATIC])dnl
+AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl
+AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_PROG_LD])dnl
+AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl
+AC_REQUIRE([AC_PROG_NM])dnl
+AC_REQUIRE([AC_PROG_LN_S])dnl
+AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl
+# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers!
+AC_REQUIRE([AC_OBJEXT])dnl
+AC_REQUIRE([AC_EXEEXT])dnl
+dnl
+
+# Only perform the check for file, if the check method requires it
+case "$deplibs_check_method" in
+file_magic*)
+  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
+    AC_PATH_MAGIC
+  fi
+  ;;
+esac
+
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+AC_CHECK_TOOL(STRIP, strip, :)
+
+# Check for any special flags to pass to ltconfig.
+libtool_flags="--cache-file=$cache_file"
+test "$enable_shared" = no && libtool_flags="$libtool_flags --disable-shared"
+test "$enable_static" = no && libtool_flags="$libtool_flags --disable-static"
+test "$enable_fast_install" = no && libtool_flags="$libtool_flags --disable-fast-install"
+test "$GCC" = yes && libtool_flags="$libtool_flags --with-gcc"
+test "$lt_cv_prog_gnu_ld" = yes && libtool_flags="$libtool_flags --with-gnu-ld"
+ifdef([AC_PROVIDE_AC_LIBTOOL_DLOPEN],
+[libtool_flags="$libtool_flags --enable-dlopen"])
+ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL],
+[libtool_flags="$libtool_flags --enable-win32-dll"])
+AC_ARG_ENABLE(libtool-lock,
+  [  --disable-libtool-lock  avoid locking (might break parallel builds)])
+test "x$enable_libtool_lock" = xno && libtool_flags="$libtool_flags --disable-lock"
+test x"$silent" = xyes && libtool_flags="$libtool_flags --silent"
+
+AC_ARG_WITH(pic,
+  [  --with-pic              try to use only PIC/non-PIC objects [default=use both]],
+     pic_mode="$withval", pic_mode=default)
+test x"$pic_mode" = xyes && libtool_flags="$libtool_flags --prefer-pic"
+test x"$pic_mode" = xno && libtool_flags="$libtool_flags --prefer-non-pic"
+
+# Some flags need to be propagated to the compiler or linker for good
+# libtool support.
+case "$host" in
+*-*-irix6*)
+  # Find out which ABI we are using.
+  echo '[#]line __oline__ "configure"' > conftest.$ac_ext
+  if AC_TRY_EVAL(ac_compile); then
+    case "`/usr/bin/file conftest.$ac_objext`" in
+    *32-bit*)
+      LD="${LD-ld} -32"
+      ;;
+    *N32*)
+      LD="${LD-ld} -n32"
+      ;;
+    *64-bit*)
+      LD="${LD-ld} -64"
+      ;;
+    esac
+  fi
+  rm -rf conftest*
+  ;;
+
+*-*-sco3.2v5*)
+  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
+  SAVE_CFLAGS="$CFLAGS"
+  CFLAGS="$CFLAGS -belf"
+  AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
+    [AC_LANG_SAVE
+     AC_LANG_C
+     AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
+     AC_LANG_RESTORE])
+  if test x"$lt_cv_cc_needs_belf" != x"yes"; then
+    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
+    CFLAGS="$SAVE_CFLAGS"
+  fi
+  ;;
+
+ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL],
+[*-*-cygwin* | *-*-mingw* | *-*-pw32*)
+  AC_CHECK_TOOL(DLLTOOL, dlltool, false)
+  AC_CHECK_TOOL(AS, as, false)
+  AC_CHECK_TOOL(OBJDUMP, objdump, false)
+
+  # recent cygwin and mingw systems supply a stub DllMain which the user
+  # can override, but on older systems we have to supply one
+  AC_CACHE_CHECK([if libtool should supply DllMain function], lt_cv_need_dllmain,
+    [AC_TRY_LINK([],
+      [extern int __attribute__((__stdcall__)) DllMain(void*, int, void*);
+      DllMain (0, 0, 0);],
+      [lt_cv_need_dllmain=no],[lt_cv_need_dllmain=yes])])
+
+  case "$host/$CC" in
+  *-*-cygwin*/gcc*-mno-cygwin*|*-*-mingw*)
+    # old mingw systems require "-dll" to link a DLL, while more recent ones
+    # require "-mdll"
+    SAVE_CFLAGS="$CFLAGS"
+    CFLAGS="$CFLAGS -mdll"
+    AC_CACHE_CHECK([how to link DLLs], lt_cv_cc_dll_switch,
+      [AC_TRY_LINK([], [], [lt_cv_cc_dll_switch=-mdll],[lt_cv_cc_dll_switch=-dll])])
+    CFLAGS="$SAVE_CFLAGS" ;;
+  *-*-cygwin* | *-*-pw32*)
+    # cygwin systems need to pass --dll to the linker, and not link
+    # crt.o which will require a WinMain at 16 definition.
+    lt_cv_cc_dll_switch="-Wl,--dll -nostartfiles" ;;
+  esac
+  ;;
+  ])
+esac
+])
+
+# AC_LIBTOOL_DLOPEN - enable checks for dlopen support
+AC_DEFUN([AC_LIBTOOL_DLOPEN], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])])
+
+# AC_LIBTOOL_WIN32_DLL - declare package support for building win32 dll's
+AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [AC_BEFORE([$0], [AC_LIBTOOL_SETUP])])
+
+# AC_ENABLE_SHARED - implement the --enable-shared flag
+# Usage: AC_ENABLE_SHARED[(DEFAULT)]
+#   Where DEFAULT is either `yes' or `no'.  If omitted, it defaults to
+#   `yes'.
+AC_DEFUN([AC_ENABLE_SHARED],
+[define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl
+AC_ARG_ENABLE(shared,
+changequote(<<, >>)dnl
+<<  --enable-shared[=PKGS]  build shared libraries [default=>>AC_ENABLE_SHARED_DEFAULT],
+changequote([, ])dnl
+[p=${PACKAGE-default}
+case "$enableval" in
+yes) enable_shared=yes ;;
+no) enable_shared=no ;;
+*)
+  enable_shared=no
+  # Look at the argument we got.  We use all the common list separators.
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
+  for pkg in $enableval; do
+    if test "X$pkg" = "X$p"; then
+      enable_shared=yes
+    fi
+  done
+  IFS="$ac_save_ifs"
+  ;;
+esac],
+enable_shared=AC_ENABLE_SHARED_DEFAULT)dnl
+])
+
+# AC_DISABLE_SHARED - set the default shared flag to --disable-shared
+AC_DEFUN([AC_DISABLE_SHARED], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+AC_ENABLE_SHARED(no)])
+
+# AC_ENABLE_STATIC - implement the --enable-static flag
+# Usage: AC_ENABLE_STATIC[(DEFAULT)]
+#   Where DEFAULT is either `yes' or `no'.  If omitted, it defaults to
+#   `yes'.
+AC_DEFUN([AC_ENABLE_STATIC],
+[define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl
+AC_ARG_ENABLE(static,
+changequote(<<, >>)dnl
+<<  --enable-static[=PKGS]  build static libraries [default=>>AC_ENABLE_STATIC_DEFAULT],
+changequote([, ])dnl
+[p=${PACKAGE-default}
+case "$enableval" in
+yes) enable_static=yes ;;
+no) enable_static=no ;;
+*)
+  enable_static=no
+  # Look at the argument we got.  We use all the common list separators.
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
+  for pkg in $enableval; do
+    if test "X$pkg" = "X$p"; then
+      enable_static=yes
+    fi
+  done
+  IFS="$ac_save_ifs"
+  ;;
+esac],
+enable_static=AC_ENABLE_STATIC_DEFAULT)dnl
+])
+
+# AC_DISABLE_STATIC - set the default static flag to --disable-static
+AC_DEFUN([AC_DISABLE_STATIC],
+[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+AC_ENABLE_STATIC(no)])
+
+
+# AC_ENABLE_FAST_INSTALL - implement the --enable-fast-install flag
+# Usage: AC_ENABLE_FAST_INSTALL[(DEFAULT)]
+#   Where DEFAULT is either `yes' or `no'.  If omitted, it defaults to
+#   `yes'.
+AC_DEFUN([AC_ENABLE_FAST_INSTALL],
+[define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl
+AC_ARG_ENABLE(fast-install,
+changequote(<<, >>)dnl
+<<  --enable-fast-install[=PKGS]  optimize for fast installation [default=>>AC_ENABLE_FAST_INSTALL_DEFAULT],
+changequote([, ])dnl
+[p=${PACKAGE-default}
+case "$enableval" in
+yes) enable_fast_install=yes ;;
+no) enable_fast_install=no ;;
+*)
+  enable_fast_install=no
+  # Look at the argument we got.  We use all the common list separators.
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
+  for pkg in $enableval; do
+    if test "X$pkg" = "X$p"; then
+      enable_fast_install=yes
+    fi
+  done
+  IFS="$ac_save_ifs"
+  ;;
+esac],
+enable_fast_install=AC_ENABLE_FAST_INSTALL_DEFAULT)dnl
+])
+
+# AC_DISABLE_FAST_INSTALL - set the default to --disable-fast-install
+AC_DEFUN([AC_DISABLE_FAST_INSTALL],
+[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+AC_ENABLE_FAST_INSTALL(no)])
+
+# AC_LIBTOOL_PICMODE - implement the --with-pic flag
+# Usage: AC_LIBTOOL_PICMODE[(MODE)]
+#   Where MODE is either `yes' or `no'.  If omitted, it defaults to
+#   `both'.
+AC_DEFUN([AC_LIBTOOL_PICMODE],
+[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+pic_mode=ifelse($#,1,$1,default)])
+
+
+# AC_PATH_TOOL_PREFIX - find a file program which can recognise shared library
+AC_DEFUN([AC_PATH_TOOL_PREFIX],
+[AC_MSG_CHECKING([for $1])
+AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
+[case "$MAGIC_CMD" in
+  /*)
+  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+  ;;
+  ?:/*)
+  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a dos path.
+  ;;
+  *)
+  ac_save_MAGIC_CMD="$MAGIC_CMD"
+  IFS="${IFS=   }"; ac_save_ifs="$IFS"; IFS=":"
+dnl $ac_dummy forces splitting on constant user-supplied paths.
+dnl POSIX.2 word splitting is done only on the output of word expansions,
+dnl not every word.  This closes a longstanding sh security hole.
+  ac_dummy="ifelse([$2], , $PATH, [$2])"
+  for ac_dir in $ac_dummy; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$1; then
+      lt_cv_path_MAGIC_CMD="$ac_dir/$1"
+      if test -n "$file_magic_test_file"; then
+	case "$deplibs_check_method" in
+	"file_magic "*)
+	  file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`"
+	  MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+	  if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+	    egrep "$file_magic_regex" > /dev/null; then
+	    :
+	  else
+	    cat <<EOF 1>&2
+
+*** Warning: the command libtool uses to detect shared libraries,
+*** $file_magic_cmd, produces output that libtool cannot recognize.
+*** The result is that libtool may fail to recognize shared libraries
+*** as such.  This will affect the creation of libtool libraries that
+*** depend on shared libraries, but programs linked with such libtool
+*** libraries will work regardless of this problem.  Nevertheless, you
+*** may want to report the problem to your system manager and/or to
+*** bug-libtool at gnu.org
+
+EOF
+	  fi ;;
+	esac
+      fi
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+  MAGIC_CMD="$ac_save_MAGIC_CMD"
+  ;;
+esac])
+MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+if test -n "$MAGIC_CMD"; then
+  AC_MSG_RESULT($MAGIC_CMD)
+else
+  AC_MSG_RESULT(no)
+fi
+])
+
+
+# AC_PATH_MAGIC - find a file program which can recognise a shared library
+AC_DEFUN([AC_PATH_MAGIC],
+[AC_REQUIRE([AC_CHECK_TOOL_PREFIX])dnl
+AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin:$PATH)
+if test -z "$lt_cv_path_MAGIC_CMD"; then
+  if test -n "$ac_tool_prefix"; then
+    AC_PATH_TOOL_PREFIX(file, /usr/bin:$PATH)
+  else
+    MAGIC_CMD=:
+  fi
+fi
+])
+
+
+# AC_PROG_LD - find the path to the GNU or non-GNU linker
+AC_DEFUN([AC_PROG_LD],
+[AC_ARG_WITH(gnu-ld,
+[  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]],
+test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+ac_prog=ld
+if test "$GCC" = yes; then
+  # Check if gcc -print-prog-name=ld gives a path.
+  AC_MSG_CHECKING([for ld used by GCC])
+  case $host in
+  *-*-mingw*)
+    # gcc leaves a trailing carriage return which upsets mingw
+    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+  *)
+    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+  esac
+  case "$ac_prog" in
+    # Accept absolute paths.
+changequote(,)dnl
+    [\\/]* | [A-Za-z]:[\\/]*)
+      re_direlt='/[^/][^/]*/\.\./'
+changequote([,])dnl
+      # Canonicalize the path of ld
+      ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
+      while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
+	ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
+      done
+      test -z "$LD" && LD="$ac_prog"
+      ;;
+  "")
+    # If it fails, then pretend we aren't using GCC.
+    ac_prog=ld
+    ;;
+  *)
+    # If it is relative, then search for the first ld in PATH.
+    with_gnu_ld=unknown
+    ;;
+  esac
+elif test "$with_gnu_ld" = yes; then
+  AC_MSG_CHECKING([for GNU ld])
+else
+  AC_MSG_CHECKING([for non-GNU ld])
+fi
+AC_CACHE_VAL(lt_cv_path_LD,
+[if test -z "$LD"; then
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
+  for ac_dir in $PATH; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+      lt_cv_path_LD="$ac_dir/$ac_prog"
+      # Check to see if the program is GNU ld.  I'd rather use --version,
+      # but apparently some GNU ld's only accept -v.
+      # Break only if it was the GNU/non-GNU ld that we prefer.
+      if "$lt_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
+	test "$with_gnu_ld" != no && break
+      else
+	test "$with_gnu_ld" != yes && break
+      fi
+    fi
+  done
+  IFS="$ac_save_ifs"
+else
+  lt_cv_path_LD="$LD" # Let the user override the test with a path.
+fi])
+LD="$lt_cv_path_LD"
+if test -n "$LD"; then
+  AC_MSG_RESULT($LD)
+else
+  AC_MSG_RESULT(no)
+fi
+test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
+AC_PROG_LD_GNU
+])
+
+AC_DEFUN([AC_PROG_LD_GNU],
+[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
+[# I'd rather use --version here, but apparently some GNU ld's only accept -v.
+if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
+  lt_cv_prog_gnu_ld=yes
+else
+  lt_cv_prog_gnu_ld=no
+fi])
+with_gnu_ld=$lt_cv_prog_gnu_ld
+])
+
+# AC_PROG_LD_RELOAD_FLAG - find reload flag for linker
+#   -- PORTME Some linkers may need a different reload flag.
+AC_DEFUN([AC_PROG_LD_RELOAD_FLAG],
+[AC_CACHE_CHECK([for $LD option to reload object files], lt_cv_ld_reload_flag,
+[lt_cv_ld_reload_flag='-r'])
+reload_flag=$lt_cv_ld_reload_flag
+test -n "$reload_flag" && reload_flag=" $reload_flag"
+])
+
+# AC_DEPLIBS_CHECK_METHOD - how to check for library dependencies
+#  -- PORTME fill in with the dynamic library characteristics
+AC_DEFUN([AC_DEPLIBS_CHECK_METHOD],
+[AC_CACHE_CHECK([how to recognise dependant libraries],
+lt_cv_deplibs_check_method,
+[lt_cv_file_magic_cmd='$MAGIC_CMD'
+lt_cv_file_magic_test_file=
+lt_cv_deplibs_check_method='unknown'
+# Need to set the preceding variable on all platforms that support
+# interlibrary dependencies.
+# 'none' -- dependencies not supported.
+# `unknown' -- same as none, but documents that we really don't know.
+# 'pass_all' -- all dependencies passed with no checks.
+# 'test_compile' -- check by making test program.
+# 'file_magic [regex]' -- check by looking for files in library path
+# which responds to the $file_magic_cmd with a given egrep regex.
+# If you have `file' or equivalent on your system and you're not sure
+# whether `pass_all' will *always* work, you probably want this one.
+
+case "$host_os" in
+aix4*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+beos*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+bsdi4*)
+  changequote(,)dnl
+  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
+  changequote([, ])dnl
+  lt_cv_file_magic_cmd='/usr/bin/file -L'
+  lt_cv_file_magic_test_file=/shlib/libc.so
+  ;;
+
+cygwin* | mingw* |pw32*)
+  lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
+  lt_cv_file_magic_cmd='$OBJDUMP -f'
+  ;;
+
+darwin* | rhapsody*)
+  lt_cv_deplibs_check_method='file_magic Mach-O dynamically linked shared library'
+  lt_cv_file_magic_cmd=/usr/bin/file
+  lt_cv_file_magic_test_file=`echo /System/Library/Frameworks/System.framework/Versions/*/System | head -1`
+  ;;
+
+freebsd* )
+  if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
+    case "$host_cpu" in
+    i*86 )
+      # Not sure whether the presence of OpenBSD here was a mistake.
+      # Let's accept both of them until this is cleared up.
+      changequote(,)dnl
+      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD)/i[3-9]86 (compact )?demand paged shared library'
+      changequote([, ])dnl
+      lt_cv_file_magic_cmd=/usr/bin/file
+      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
+      ;;
+    esac
+  else
+    lt_cv_deplibs_check_method=pass_all
+  fi
+  ;;
+
+gnu*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+hpux10.20*|hpux11*)
+  # TODO:  Does this work for hpux-11 too?
+  changequote(,)dnl
+  lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library'
+  changequote([, ])dnl
+  lt_cv_file_magic_cmd=/usr/bin/file
+  lt_cv_file_magic_test_file=/usr/lib/libc.sl
+  ;;
+
+irix5* | irix6*)
+  case "$host_os" in
+  irix5*)
+    # this will be overridden with pass_all, but let us keep it just in case
+    lt_cv_deplibs_check_method="file_magic ELF 32-bit MSB dynamic lib MIPS - version 1"
+    ;;
+  *)
+    case "$LD" in
+    *-32|*"-32 ") libmagic=32-bit;;
+    *-n32|*"-n32 ") libmagic=N32;;
+    *-64|*"-64 ") libmagic=64-bit;;
+    *) libmagic=never-match;;
+    esac
+    # this will be overridden with pass_all, but let us keep it just in case
+    changequote(,)dnl
+    lt_cv_deplibs_check_method="file_magic ELF ${libmagic} MSB mips-[1234] dynamic lib MIPS - version 1"
+    changequote([, ])dnl
+    ;;
+  esac
+  lt_cv_file_magic_test_file=`echo /lib${libsuff}/libc.so*`
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+# This must be Linux ELF.
+linux-gnu*)
+  case "$host_cpu" in
+  alpha* | i*86 | powerpc* | sparc* | ia64* | s390* )
+    lt_cv_deplibs_check_method=pass_all ;;
+  *)
+    # glibc up to 2.1.1 does not perform some relocations on ARM
+    changequote(,)dnl
+    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' ;;
+    changequote([, ])dnl
+  esac
+  lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
+  ;;
+
+netbsd*)
+  if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
+    [lt_cv_deplibs_check_method='file_magic NetBSD/[a-z0-9]* demand paged shared library']
+  else
+    [lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB shared object']
+  fi
+  lt_cv_file_magic_cmd='/usr/bin/file -L'
+  lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
+  ;;
+
+openbsd* )
+  if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
+    case "$host_cpu" in
+    i*86 )
+      changequote(,)dnl
+      lt_cv_deplibs_check_method='file_magic OpenBSD/i[3-9]86 demand paged shared library'
+      changequote([, ])dnl
+      lt_cv_file_magic_cmd=/usr/bin/file
+      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
+      ;;
+    esac
+  else
+    lt_cv_deplibs_check_method=pass_all
+  fi
+  ;;
+
+newsos6)
+  [lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)']
+  lt_cv_file_magic_cmd=/usr/bin/file
+  lt_cv_file_magic_test_file=/usr/lib/libnls.so
+  ;;
+
+osf3* | osf4* | osf5*)
+  # this will be overridden with pass_all, but let us keep it just in case
+  lt_cv_deplibs_check_method='file_magic COFF format alpha shared library'
+  lt_cv_file_magic_test_file=/shlib/libc.so
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+sco3.2v5*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+solaris*)
+  lt_cv_deplibs_check_method=pass_all
+  lt_cv_file_magic_test_file=/lib/libc.so
+  ;;
+
+sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+  case "$host_vendor" in
+  ncr)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  motorola)
+    changequote(,)dnl
+    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
+    changequote([, ])dnl
+    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
+    ;;
+  esac
+  ;;
+esac
+])
+file_magic_cmd=$lt_cv_file_magic_cmd
+deplibs_check_method=$lt_cv_deplibs_check_method
+])
+
+
+# AC_PROG_NM - find the path to a BSD-compatible name lister
+AC_DEFUN([AC_PROG_NM],
+[AC_MSG_CHECKING([for BSD-compatible nm])
+AC_CACHE_VAL(lt_cv_path_NM,
+[if test -n "$NM"; then
+  # Let the user override the test.
+  lt_cv_path_NM="$NM"
+else
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
+  for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do
+    test -z "$ac_dir" && ac_dir=.
+    tmp_nm=$ac_dir/${ac_tool_prefix}nm
+    if test -f $tmp_nm || test -f $tmp_nm$ac_exeext ; then
+      # Check to see if the nm accepts a BSD-compat flag.
+      # Adding the `sed 1q' prevents false positives on HP-UX, which says:
+      #   nm: unknown option "B" ignored
+      # Tru64's nm complains that /dev/null is an invalid object file
+      if ($tmp_nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep '(/dev/null|Invalid file or object type)' >/dev/null; then
+	lt_cv_path_NM="$tmp_nm -B"
+	break
+      elif ($tmp_nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
+	lt_cv_path_NM="$tmp_nm -p"
+	break
+      else
+	lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
+	continue # so that we can try to find one that supports BSD flags
+      fi
+    fi
+  done
+  IFS="$ac_save_ifs"
+  test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm
+fi])
+NM="$lt_cv_path_NM"
+AC_MSG_RESULT([$NM])
+])
+
+# AC_CHECK_LIBM - check for math library
+AC_DEFUN([AC_CHECK_LIBM],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+LIBM=
+case "$host" in
+*-*-beos* | *-*-cygwin* | *-*-pw32*)
+  # These system don't have libm
+  ;;
+*-ncr-sysv4.3*)
+  AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
+  AC_CHECK_LIB(m, main, LIBM="$LIBM -lm")
+  ;;
+*)
+  AC_CHECK_LIB(m, main, LIBM="-lm")
+  ;;
+esac
+])
+
+# AC_LIBLTDL_CONVENIENCE[(dir)] - sets LIBLTDL to the link flags for
+# the libltdl convenience library and INCLTDL to the include flags for
+# the libltdl header and adds --enable-ltdl-convenience to the
+# configure arguments.  Note that LIBLTDL and INCLTDL are not
+# AC_SUBSTed, nor is AC_CONFIG_SUBDIRS called.  If DIR is not
+# provided, it is assumed to be `libltdl'.  LIBLTDL will be prefixed
+# with '${top_builddir}/' and INCLTDL will be prefixed with
+# '${top_srcdir}/' (note the single quotes!).  If your package is not
+# flat and you're not using automake, define top_builddir and
+# top_srcdir appropriately in the Makefiles.
+AC_DEFUN([AC_LIBLTDL_CONVENIENCE],
+[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+  case "$enable_ltdl_convenience" in
+  no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;;
+  "") enable_ltdl_convenience=yes
+      ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;;
+  esac
+  LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la
+  INCLTDL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
+])
+
+# AC_LIBLTDL_INSTALLABLE[(dir)] - sets LIBLTDL to the link flags for
+# the libltdl installable library and INCLTDL to the include flags for
+# the libltdl header and adds --enable-ltdl-install to the configure
+# arguments.  Note that LIBLTDL and INCLTDL are not AC_SUBSTed, nor is
+# AC_CONFIG_SUBDIRS called.  If DIR is not provided and an installed
+# libltdl is not found, it is assumed to be `libltdl'.  LIBLTDL will
+# be prefixed with '${top_builddir}/' and INCLTDL will be prefixed
+# with '${top_srcdir}/' (note the single quotes!).  If your package is
+# not flat and you're not using automake, define top_builddir and
+# top_srcdir appropriately in the Makefiles.
+# In the future, this macro may have to be called after AC_PROG_LIBTOOL.
+AC_DEFUN([AC_LIBLTDL_INSTALLABLE],
+[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+  AC_CHECK_LIB(ltdl, main,
+  [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no],
+  [if test x"$enable_ltdl_install" = xno; then
+     AC_MSG_WARN([libltdl not installed, but installation disabled])
+   else
+     enable_ltdl_install=yes
+   fi
+  ])
+  if test x"$enable_ltdl_install" = x"yes"; then
+    ac_configure_args="$ac_configure_args --enable-ltdl-install"
+    LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la
+    INCLTDL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
+  else
+    ac_configure_args="$ac_configure_args --enable-ltdl-install=no"
+    LIBLTDL="-lltdl"
+    INCLTDL=
+  fi
+])
+
+# If this macro is not defined by Autoconf, define it here.
+ifdef([AC_PROVIDE_IFELSE],
+      [],
+      [define([AC_PROVIDE_IFELSE],
+              [ifdef([AC_PROVIDE_$1],
+                     [$2], [$3])])])
+
+# AC_LIBTOOL_CXX - enable support for C++ libraries
+AC_DEFUN([AC_LIBTOOL_CXX], [AC_REQUIRE([_AC_LIBTOOL_CXX])])
+
+AC_DEFUN([_AC_LIBTOOL_CXX],
+[AC_REQUIRE([AC_PROG_CXX])
+AC_REQUIRE([AC_PROG_CXXCPP])
+LIBTOOL_DEPS=$LIBTOOL_DEPS" $ac_aux_dir/ltcf-cxx.sh"
+lt_save_CC="$CC"
+lt_save_CFLAGS="$CFLAGS"
+dnl Make sure LTCC is set to the C compiler, i.e. set LTCC before CC
+dnl is set to the C++ compiler.
+AR="$AR" LTCC="$CC" CC="$CXX" CXX="$CXX" CFLAGS="$CXXFLAGS" CPPFLAGS="$CPPFLAGS" \
+MAGIC_CMD="$MAGIC_CMD" LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \
+LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" STRIP="$STRIP" \
+AS="$AS" DLLTOOL="$DLLTOOL" OBJDUMP="$OBJDUMP" \
+objext="$OBJEXT" exeext="$EXEEXT" reload_flag="$reload_flag" \
+deplibs_check_method="$deplibs_check_method" \
+file_magic_cmd="$file_magic_cmd" \
+${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig -o libtool $libtool_flags \
+--build="$build" --add-tag=CXX $ac_aux_dir/ltcf-cxx.sh $host \
+|| AC_MSG_ERROR([libtool tag configuration failed])
+CC="$lt_save_CC"
+CFLAGS="$lt_save_CFLAGS"
+
+# Redirect the config.log output again, so that the ltconfig log is not
+# clobbered by the next message.
+exec 5>>./config.log
+])
+
+# AC_LIBTOOL_GCJ - enable support for GCJ libraries
+AC_DEFUN([AC_LIBTOOL_GCJ],[AC_REQUIRE([_AC_LIBTOOL_GCJ])])
+
+AC_DEFUN([_AC_LIBTOOL_GCJ],
+[AC_REQUIRE([AC_PROG_LIBTOOL])
+AC_PROVIDE_IFELSE([AC_PROG_GCJ],[],
+  [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],[],
+    [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],[],
+      [ifdef([AC_PROG_GCJ],[AC_REQUIRE([AC_PROG_GCJ])],
+         [ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])],
+           [AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])])])
+LIBTOOL_DEPS=$LIBTOOL_DEPS" $ac_aux_dir/ltcf-gcj.sh"
+lt_save_CC="$CC"
+lt_save_CFLAGS="$CFLAGS"
+dnl Make sure LTCC is set to the C compiler, i.e. set LTCC before CC
+dnl is set to the C++ compiler.
+AR="$AR" LTCC="$CC" CC="$GCJ" CFLAGS="$GCJFLAGS" CPPFLAGS="$CPPFLAGS" \
+MAGIC_CMD="$MAGIC_CMD" LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \
+LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" STRIP="$STRIP" \
+AS="$AS" DLLTOOL="$DLLTOOL" OBJDUMP="$OBJDUMP" \
+objext="$OBJEXT" exeext="$EXEEXT" reload_flag="$reload_flag" \
+deplibs_check_method="$deplibs_check_method" \
+file_magic_cmd="$file_magic_cmd" \
+${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig -o libtool $libtool_flags \
+--build="$build" --add-tag=GCJ $ac_aux_dir/ltcf-gcj.sh $host \
+|| AC_MSG_ERROR([libtool tag configuration failed])
+CC="$lt_save_CC"
+CFLAGS="$lt_save_CFLAGS"
+
+# Redirect the config.log output again, so that the ltconfig log is not
+# clobbered by the next message.
+exec 5>>./config.log
+])
+
+dnl old names
+AC_DEFUN([AM_PROG_LIBTOOL],   [AC_PROG_LIBTOOL])
+AC_DEFUN([AM_ENABLE_SHARED],  [AC_ENABLE_SHARED($@)])
+AC_DEFUN([AM_ENABLE_STATIC],  [AC_ENABLE_STATIC($@)])
+AC_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
+AC_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
+AC_DEFUN([AM_PROG_LD],        [AC_PROG_LD])
+AC_DEFUN([AM_PROG_NM],        [AC_PROG_NM])
+
+dnl This is just to silence aclocal about the macro not being used
+ifelse([AC_DISABLE_FAST_INSTALL])dnl
+
+AC_DEFUN([LT_AC_PROG_GCJ],
+[AC_CHECK_TOOL(GCJ, gcj, no)
+  test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
+  AC_SUBST(GCJFLAGS)
+])
diff --git a/aclocal.m4 b/aclocal.m4
new file mode 100644
index 0000000..31f6d7e
--- /dev/null
+++ b/aclocal.m4
@@ -0,0 +1,5007 @@
+dnl aclocal.m4 generated automatically by aclocal 1.4
+
+dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+dnl PARTICULAR PURPOSE.
+
+
+dnl    This file is part of the KDE libraries/packages
+dnl    Copyright (C) 1997 Janos Farkas (chexum at shadow.banki.hu)
+dnl              (C) 1997,98,99 Stephan Kulow (coolo at kde.org)
+
+dnl    This file is free software; you can redistribute it and/or
+dnl    modify it under the terms of the GNU Library General Public
+dnl    License as published by the Free Software Foundation; either
+dnl    version 2 of the License, or (at your option) any later version.
+
+dnl    This library is distributed in the hope that it will be useful,
+dnl    but WITHOUT ANY WARRANTY; without even the implied warranty of
+dnl    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+dnl    Library General Public License for more details.
+
+dnl    You should have received a copy of the GNU Library General Public License
+dnl    along with this library; see the file COPYING.LIB.  If not, write to
+dnl    the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+dnl    Boston, MA 02111-1307, USA.
+
+dnl IMPORTANT NOTE:
+dnl Please do not modify this file unless you expect your modifications to be
+dnl carried into every other module in the repository. If you decide that you
+dnl really want to modify it, contact coolo at kde.org mentioning that you have
+dnl and that the modified file should be committed to every module.
+dnl
+dnl Single-module modifications are best placed in configure.in for kdelibs
+dnl and kdebase or configure.in.in if present.
+
+
+dnl ------------------------------------------------------------------------
+dnl Find a file (or one of more files in a list of dirs)
+dnl ------------------------------------------------------------------------
+dnl
+AC_DEFUN(AC_FIND_FILE,
+[
+$3=NO
+for i in $2;
+do
+  for j in $1;
+  do
+    if test -r "$i/$j"; then
+      $3=$i
+      break 2
+    fi
+  done
+done
+])
+
+dnl KDE_FIND_PATH(programm-name, variable-name, list of directories,
+dnl	if-not-found, test-parameter)
+AC_DEFUN(KDE_FIND_PATH,
+[
+   AC_MSG_CHECKING([for $1])
+   if test -n "$$2"; then
+        kde_cv_path="$$2";
+   else
+        kde_cache=`echo $1 | sed 'y%./+-%__p_%'`
+
+        AC_CACHE_VAL(kde_cv_path_$kde_cache,
+        [
+        kde_cv_path="NONE"
+	dirs="$3"
+	kde_save_IFS=$IFS
+	IFS=':'
+	for dir in $PATH; do
+	  dirs="$dirs $dir"
+        done
+	IFS=$kde_save_IFS
+
+        for dir in $dirs; do
+	  if test -x "$dir/$1"; then
+	    if test -n "$5"
+	    then
+              evalstr="$dir/$1 $5 2>&1 "
+	      if eval $evalstr; then
+                kde_cv_path="$dir/$1"
+                break
+	      fi
+            else
+		kde_cv_path="$dir/$1"
+                break
+	    fi
+          fi
+        done
+
+        eval "kde_cv_path_$kde_cache=$kde_cv_path"
+
+        ])
+
+      eval "kde_cv_path=\"`echo '$kde_cv_path_'$kde_cache`\""
+
+   fi
+
+   if test -z "$kde_cv_path" || test "$kde_cv_path" = NONE; then
+      AC_MSG_RESULT(not found)
+      $4
+   else
+      AC_MSG_RESULT($kde_cv_path)
+      $2=$kde_cv_path
+
+   fi
+])
+
+AC_DEFUN(KDE_MOC_ERROR_MESSAGE,
+[
+    AC_MSG_ERROR([No Qt meta object compiler (moc) found!
+Please check whether you installed Qt correctly.
+You need to have a running moc binary.
+configure tried to run $ac_cv_path_moc and the test didn't
+succeed. If configure shouldn't have tried this one, set
+the environment variable MOC to the right one before running
+configure.
+])
+])
+
+AC_DEFUN(KDE_UIC_ERROR_MESSAGE,
+[
+    AC_MSG_WARN([No Qt ui compiler (uic) found!
+Please check whether you installed Qt correctly.
+You need to have a running uic binary.
+configure tried to run $ac_cv_path_uic and the test didn't
+succeed. If configure shouldn't have tried this one, set
+the environment variable UIC to the right one before running
+configure.
+])
+])
+
+dnl ------------------------------------------------------------------------
+dnl Find the meta object compiler and the ui compiler in the PATH,
+dnl in $QTDIR/bin, and some more usual places
+dnl ------------------------------------------------------------------------
+dnl
+AC_DEFUN(AC_PATH_QT_MOC_UIC,
+[
+   qt_bindirs=""
+   for dir in $kde_qt_dirs; do
+      qt_bindirs="$qt_bindirs $dir/bin $dir/src/moc"
+   done
+   qt_bindirs="$qt_bindirs /usr/bin /usr/X11R6/bin /usr/local/qt/bin"
+   if test ! "$ac_qt_bindir" = "NO"; then
+      qt_bindirs="$ac_qt_bindir $qt_bindirs"
+   fi
+
+   KDE_FIND_PATH(moc, MOC, [$qt_bindirs], [KDE_MOC_ERROR_MESSAGE])
+   KDE_FIND_PATH(uic, UIC, [$qt_bindirs], [UIC="" ; KDE_UIC_ERROR_MESSAGE])
+   if test -z "$UIC" ; then
+     if test -z "$UIC_NOT_NEEDED" ; then
+       exit 1
+     else
+       UIC="echo uic not available: "
+     fi
+   fi
+   AC_SUBST(MOC)
+   AC_SUBST(UIC)
+])
+
+AC_DEFUN(KDE_1_CHECK_PATHS,
+[
+  KDE_1_CHECK_PATH_HEADERS
+
+  KDE_TEST_RPATH=
+
+  if test -n "$USE_RPATH"; then
+
+     if test -n "$kde_libraries"; then
+       KDE_TEST_RPATH="-R $kde_libraries"
+     fi
+
+     if test -n "$qt_libraries"; then
+       KDE_TEST_RPATH="$KDE_TEST_RPATH -R $qt_libraries"
+     fi
+
+     if test -n "$x_libraries"; then
+       KDE_TEST_RPATH="$KDE_TEST_RPATH -R $x_libraries"
+     fi
+
+     KDE_TEST_RPATH="$KDE_TEST_RPATH $KDE_EXTRA_RPATH"
+  fi
+
+AC_MSG_CHECKING([for KDE libraries installed])
+ac_link='$LIBTOOL_SHELL --silent --mode=link ${CXX-g++} -o conftest $CXXFLAGS $all_includes $CPPFLAGS $LDFLAGS $all_libraries conftest.$ac_ext $LIBS -lkdecore $LIBQT $KDE_TEST_RPATH 1>&5'
+
+if AC_TRY_EVAL(ac_link) && test -s conftest; then
+  AC_MSG_RESULT(yes)
+else
+  AC_MSG_ERROR([your system fails at linking a small KDE application!
+Check, if your compiler is installed correctly and if you have used the
+same compiler to compile Qt and kdelibs as you did use now.
+For more details about this problem, look at the end of config.log.])
+fi
+
+if eval `KDEDIR= ./conftest 2>&5`; then
+  kde_result=done
+else
+  kde_result=problems
+fi
+
+KDEDIR= ./conftest 2> /dev/null >&5 # make an echo for config.log
+kde_have_all_paths=yes
+
+KDE_SET_PATHS($kde_result)
+
+])
+
+AC_DEFUN(KDE_SET_PATHS,
+[
+  kde_cv_all_paths="kde_have_all_paths=\"yes\" \
+	kde_htmldir=\"$kde_htmldir\" \
+	kde_appsdir=\"$kde_appsdir\" \
+	kde_icondir=\"$kde_icondir\" \
+	kde_sounddir=\"$kde_sounddir\" \
+	kde_datadir=\"$kde_datadir\" \
+	kde_locale=\"$kde_locale\" \
+	kde_cgidir=\"$kde_cgidir\" \
+	kde_confdir=\"$kde_confdir\" \
+	kde_mimedir=\"$kde_mimedir\" \
+	kde_toolbardir=\"$kde_toolbardir\" \
+	kde_wallpaperdir=\"$kde_wallpaperdir\" \
+	kde_templatesdir=\"$kde_templatesdir\" \
+	kde_bindir=\"$kde_bindir\" \
+	kde_servicesdir=\"$kde_servicesdir\" \
+	kde_servicetypesdir=\"$kde_servicetypesdir\" \
+	kde_moduledir=\"$kde_moduledir\" \
+	kde_result=$1"
+])
+
+AC_DEFUN(KDE_SET_DEFAULT_PATHS,
+[
+if test "$1" = "default"; then
+
+  if test -z "$kde_htmldir"; then
+    kde_htmldir='\${prefix}/share/doc/HTML'
+  fi
+  if test -z "$kde_appsdir"; then
+    kde_appsdir='\${prefix}/share/applnk'
+  fi
+  if test -z "$kde_icondir"; then
+    kde_icondir='\${prefix}/share/icons'
+  fi
+  if test -z "$kde_sounddir"; then
+    kde_sounddir='\${prefix}/share/sounds'
+  fi
+  if test -z "$kde_datadir"; then
+    kde_datadir='\${prefix}/share/apps'
+  fi
+  if test -z "$kde_locale"; then
+    kde_locale='\${prefix}/share/locale'
+  fi
+  if test -z "$kde_cgidir"; then
+    kde_cgidir='\${exec_prefix}/cgi-bin'
+  fi
+  if test -z "$kde_confdir"; then
+    kde_confdir='\${prefix}/share/config'
+  fi
+  if test -z "$kde_mimedir"; then
+    kde_mimedir='\${prefix}/share/mimelnk'
+  fi
+  if test -z "$kde_toolbardir"; then
+    kde_toolbardir='\${prefix}/share/toolbar'
+  fi
+  if test -z "$kde_wallpaperdir"; then
+    kde_wallpaperdir='\${prefix}/share/wallpapers'
+  fi
+  if test -z "$kde_templatesdir"; then
+    kde_templatesdir='\${prefix}/share/templates'
+  fi
+  if test -z "$kde_bindir"; then
+    kde_bindir='\${exec_prefix}/bin'
+  fi
+  if test -z "$kde_servicesdir"; then
+    kde_servicesdir='\${prefix}/share/services'
+  fi
+  if test -z "$kde_servicetypesdir"; then
+    kde_servicetypesdir='\${prefix}/share/servicetypes'
+  fi
+  if test -z "$kde_moduledir"; then
+    kde_moduledir='\${prefix}/lib/kde2'
+  fi
+
+  KDE_SET_PATHS(defaults)
+
+else
+
+  if test $kde_qtver = 1; then
+     AC_MSG_RESULT([compiling])
+     KDE_1_CHECK_PATHS
+  else
+     AC_MSG_ERROR([path checking not yet supported for KDE 2])
+  fi
+
+fi
+])
+
+AC_DEFUN(KDE_CHECK_PATHS_FOR_COMPLETENESS,
+[ if test -z "$kde_htmldir" || test -z "$kde_appsdir" ||
+   test -z "$kde_icondir" || test -z "$kde_sounddir" ||
+   test -z "$kde_datadir" || test -z "$kde_locale"  ||
+   test -z "$kde_cgidir"  || test -z "$kde_confdir" ||
+   test -z "$kde_mimedir" || test -z "$kde_toolbardir" ||
+   test -z "$kde_wallpaperdir" || test -z "$kde_templatesdir" ||
+   test -z "$kde_bindir" || test -z "$kde_servicesdir" ||
+   test -z "$kde_servicetypesdir" || test -z "$kde_moduledir" ||
+   test "$kde_have_all_paths" != "yes"; then
+     kde_have_all_paths=no
+  fi
+])
+
+AC_DEFUN(KDE_MISSING_PROG_ERROR,
+[
+    AC_MSG_ERROR([The important program $1 was not found!
+Please check whether you installed KDE correctly.
+])
+])
+
+AC_DEFUN(KDE_SUBST_PROGRAMS,
+[AC_REQUIRE([AC_CREATE_KFSSTND])dnl
+
+        kde_default_bindirs="/usr/bin /usr/local/bin /opt/local/bin /usr/X11R6/bin /opt/kde/bin /opt/kde2/bin /usr/kde/bin /usr/local/kde/bin"
+        if test -n "$KDEDIRS"; then
+           kde_save_IFS=$IFS
+           IFS=:
+           for dir in $KDEDIRS; do
+                kde_default_bindirs="$dir/bin $kde_default_bindirs "
+           done
+           IFS=$kde_save_IFS
+        fi
+        kde_default_bindirs="$exec_prefix/bin $prefix/bin $kde_default_bindirs"
+        KDE_FIND_PATH(dcopidl, DCOPIDL, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(dcopidl)])
+        KDE_FIND_PATH(dcopidl2cpp, DCOPIDL2CPP, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(dcopidl2cpp)])
+        KDE_FIND_PATH(mcopidl, MCOPIDL, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(mcopidl)])
+        KDE_FIND_PATH(kdb2html, KDB2HTML, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(kdb2html)])
+        KDE_FIND_PATH(artsc-config, ARTSCCONFIG, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(artsc-config)])
+        KDE_FIND_PATH(kde-config, KDECONFIG, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(kde-config)])
+
+        DCOP_DEPENDENCIES='$(DCOPIDL)'
+        AC_SUBST(DCOPIDL)
+        AC_SUBST(DCOPIDL2CPP)
+        AC_SUBST(DCOP_DEPENDENCIES)
+        AC_SUBST(MCOPIDL)
+        AC_SUBST(KDB2HTML)
+        AC_SUBST(ARTSCCONFIG)
+        AC_SUBST(KDECONFIG)
+
+        if test -x "$KDECONFIG"; then # it can be "compiled"
+          kde_libs_prefix=`$KDECONFIG --prefix`
+          if test -z "$kde_libs_prefix" || test ! -x "$kde_libs_prefix"; then
+               AC_MSG_ERROR([$KDECONFIG --prefix outputed the non existant prefix '$kde_libs_prefix' for kdelibs.
+                          This means it has been moved since you installed it.
+                          This won't work. Please recompile kdelibs for the new prefix.
+                          ])
+           fi
+           kde_libs_htmldir=`$KDECONFIG --install html --expandvars`
+        else
+           kde_libs_prefix='$(prefix)'
+           kde_libs_htmldir='$(kde_htmldir)'
+        fi
+        AC_SUBST(kde_libs_prefix)
+        AC_SUBST(kde_libs_htmldir)
+])dnl
+
+AC_DEFUN(AC_CREATE_KFSSTND,
+[
+AC_REQUIRE([AC_CHECK_RPATH])
+
+AC_MSG_CHECKING([for KDE paths])
+kde_result=""
+kde_cached_paths=yes
+AC_CACHE_VAL(kde_cv_all_paths,
+[
+  KDE_SET_DEFAULT_PATHS($1)
+  kde_cached_paths=no
+])
+eval "$kde_cv_all_paths"
+KDE_CHECK_PATHS_FOR_COMPLETENESS
+if test "$kde_have_all_paths" = "no" && test "$kde_cached_paths" = "yes"; then
+  # wrong values were cached, may be, we can set better ones
+  kde_result=
+  kde_htmldir= kde_appsdir= kde_icondir= kde_sounddir=
+  kde_datadir= kde_locale=  kde_cgidir=  kde_confdir=
+  kde_mimedir= kde_toolbardir= kde_wallpaperdir= kde_templatesdir=
+  kde_bindir= kde_servicesdir= kde_servicetypesdir= kde_moduledir=
+  kde_have_all_paths=
+  KDE_SET_DEFAULT_PATHS($1)
+  eval "$kde_cv_all_paths"
+  KDE_CHECK_PATHS_FOR_COMPLETENESS
+  kde_result="$kde_result (cache overridden)"
+fi
+if test "$kde_have_all_paths" = "no"; then
+  AC_MSG_ERROR([configure could not run a little KDE program to test the environment.
+Since it had compiled and linked before, it must be a strange problem on your system.
+Look at config.log for details. If you are not able to fix this, look at
+http://www.kde.org/faq/installation.html or any www.kde.org mirror.
+(If you're using an egcs version on Linux, you may update binutils!)
+])
+else
+  rm -f conftest*
+  AC_MSG_RESULT($kde_result)
+fi
+
+bindir=$kde_bindir
+
+KDE_SUBST_PROGRAMS
+
+])
+
+AC_DEFUN(AC_SUBST_KFSSTND,
+[
+AC_SUBST(kde_htmldir)
+AC_SUBST(kde_appsdir)
+AC_SUBST(kde_icondir)
+AC_SUBST(kde_sounddir)
+AC_SUBST(kde_datadir)
+AC_SUBST(kde_locale)
+AC_SUBST(kde_confdir)
+AC_SUBST(kde_mimedir)
+AC_SUBST(kde_wallpaperdir)
+AC_SUBST(kde_bindir)
+dnl for KDE 2
+AC_SUBST(kde_templatesdir)
+AC_SUBST(kde_servicesdir)
+AC_SUBST(kde_servicetypesdir)
+AC_SUBST(kde_moduledir)
+if test "$kde_qtver" = 1; then
+  kde_minidir="$kde_icondir/mini"
+else
+# for KDE 1 - this breaks KDE2 apps using minidir, but
+# that's the plan ;-/
+  kde_minidir="/dev/null"
+fi
+dnl AC_SUBST(kde_minidir)
+dnl AC_SUBST(kde_cgidir)
+dnl AC_SUBST(kde_toolbardir)
+])
+
+AC_DEFUN(KDE_MISC_TESTS,
+[
+   AC_LANG_C
+   dnl Checks for libraries.
+   AC_CHECK_LIB(compat, main, [LIBCOMPAT="-lcompat"]) dnl for FreeBSD
+   AC_SUBST(LIBCOMPAT)
+   kde_have_crypt=
+   AC_CHECK_LIB(crypt, crypt, [LIBCRYPT="-lcrypt"; kde_have_crypt=yes],
+      AC_CHECK_LIB(c, crypt, [kde_have_crypt=yes], [
+        AC_MSG_WARN([you have no crypt in either libcrypt or libc.
+You should install libcrypt from another source or configure with PAM
+support])
+	kde_have_crypt=no
+      ]))
+   AC_SUBST(LIBCRYPT)
+   if test $kde_have_crypt = yes; then
+      AC_DEFINE_UNQUOTED(HAVE_CRYPT, 1, [Defines if your system has the crypt function])
+   fi
+   AC_CHECK_KSIZE_T
+   AC_LANG_C
+   AC_CHECK_LIB(dnet, dnet_ntoa, [X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet"])
+   if test $ac_cv_lib_dnet_dnet_ntoa = no; then
+      AC_CHECK_LIB(dnet_stub, dnet_ntoa,
+        [X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub"])
+   fi
+   AC_CHECK_FUNC(inet_ntoa)
+   if test $ac_cv_func_inet_ntoa = no; then
+     AC_CHECK_LIB(nsl, inet_ntoa, X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl")
+   fi
+   AC_CHECK_FUNC(connect)
+   if test $ac_cv_func_connect = no; then
+      AC_CHECK_LIB(socket, connect, X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS", ,
+        $X_EXTRA_LIBS)
+   fi
+
+   AC_CHECK_FUNC(remove)
+   if test $ac_cv_func_remove = no; then
+      AC_CHECK_LIB(posix, remove, X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix")
+   fi
+
+   # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay.
+   AC_CHECK_FUNC(shmat, ,
+     AC_CHECK_LIB(ipc, shmat, X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc"))
+   
+   # Solaris 2.6 needs -lresolv for res_init
+   AC_CHECK_FUNC(res_init, ,
+     AC_CHECK_LIB(resolv, res_init, X_EXTRA_LIBS="$X_EXTRA_LIBS -lresolv"))
+
+   LIBSOCKET="$X_EXTRA_LIBS"
+   AC_SUBST(LIBSOCKET)
+   AC_SUBST(X_EXTRA_LIBS)
+   AC_CHECK_LIB(ucb, killpg, [LIBUCB="-lucb"]) dnl for Solaris2.4
+   AC_SUBST(LIBUCB)
+
+   case $host in  dnl this *is* LynxOS specific
+   *-*-lynxos* )
+        AC_MSG_CHECKING([LynxOS header file wrappers])
+        [CFLAGS="$CFLAGS -D__NO_INCLUDE_WARN__"]
+        AC_MSG_RESULT(disabled)
+        AC_CHECK_LIB(bsd, gethostbyname, [LIBSOCKET="-lbsd"]) dnl for LynxOS
+         ;;
+    esac
+
+   KDE_CHECK_TYPES
+   KDE_CHECK_LIBDL
+])
+
+dnl ------------------------------------------------------------------------
+dnl Find the header files and libraries for X-Windows. Extended the
+dnl macro AC_PATH_X
+dnl ------------------------------------------------------------------------
+dnl
+AC_DEFUN(K_PATH_X,
+[
+AC_REQUIRE([AC_PROG_CPP])dnl
+AC_REQUIRE([KDE_MISC_TESTS])dnl
+AC_MSG_CHECKING(for X)
+AC_LANG_SAVE
+AC_LANG_C
+AC_CACHE_VAL(kde_cv_have_x,
+[# One or both of the vars are not set, and there is no cached value.
+if test "{$x_includes+set}" = set || test "$x_includes" = NONE; then
+   kde_x_includes=NO
+else
+   kde_x_includes=$x_includes
+fi
+if test "{$x_libraries+set}" = set || test "$x_libraries" = NONE; then
+   kde_x_libraries=NO
+else
+   kde_x_libraries=$x_libraries
+fi
+
+# below we use the standard autoconf calls
+ac_x_libraries=$kde_x_libraries
+ac_x_includes=$kde_x_includes
+
+AC_PATH_X_DIRECT
+dnl AC_PATH_X_XMKMF picks /usr/lib as the path for the X libraries.
+dnl Unfortunately, if compiling with the N32 ABI, this is not the correct
+dnl location. The correct location is /usr/lib32 or an undefined value
+dnl (the linker is smart enough to pick the correct default library).
+dnl Things work just fine if you use just AC_PATH_X_DIRECT.
+case "$host" in
+mips-sgi-irix6*)
+  ;;
+*)
+  AC_PATH_X_XMKMF
+  if test -z "$ac_x_includes"; then
+    ac_x_includes="."
+  fi
+  if test -z "$ac_x_libraries"; then
+    ac_x_libraries="/usr/lib"
+  fi
+esac
+#from now on we use our own again
+
+# when the user already gave --x-includes, we ignore
+# what the standard autoconf macros told us.
+if test "$kde_x_includes" = NO; then
+  kde_x_includes=$ac_x_includes
+fi
+
+# for --x-libraries too
+if test "$kde_x_libraries" = NO; then
+  kde_x_libraries=$ac_x_libraries
+fi
+
+if test "$kde_x_includes" = NO; then
+  AC_MSG_ERROR([Can't find X includes. Please check your installation and add the correct paths!])
+fi
+
+if test "$kde_x_libraries" = NO; then
+  AC_MSG_ERROR([Can't find X libraries. Please check your installation and add the correct paths!])
+fi
+
+# Record where we found X for the cache.
+kde_cv_have_x="have_x=yes \
+         kde_x_includes=$kde_x_includes kde_x_libraries=$kde_x_libraries"
+])dnl
+eval "$kde_cv_have_x"
+
+if test "$have_x" != yes; then
+  AC_MSG_RESULT($have_x)
+  no_x=yes
+else
+  AC_MSG_RESULT([libraries $kde_x_libraries, headers $kde_x_includes])
+fi
+
+if test -z "$kde_x_includes" || test "x$kde_x_includes" = xNONE; then
+  X_INCLUDES=""
+  x_includes="."; dnl better than nothing :-
+ else
+  x_includes=$kde_x_includes
+  X_INCLUDES="-I$x_includes"
+fi
+
+if test -z "$kde_x_libraries" || test "x$kde_x_libraries" = xNONE; then
+  X_LDFLAGS=""
+  x_libraries="/usr/lib"; dnl better than nothing :-
+ else
+  x_libraries=$kde_x_libraries
+  X_LDFLAGS="-L$x_libraries"
+fi
+all_includes="$X_INCLUDES"
+all_libraries="$X_LDFLAGS"
+
+AC_SUBST(X_INCLUDES)
+AC_SUBST(X_LDFLAGS)
+AC_SUBST(x_libraries)
+AC_SUBST(x_includes)
+
+# Check for libraries that X11R6 Xt/Xaw programs need.
+ac_save_LDFLAGS="$LDFLAGS"
+LDFLAGS="$LDFLAGS $X_LDFLAGS"
+# SM needs ICE to (dynamically) link under SunOS 4.x (so we have to
+# check for ICE first), but we must link in the order -lSM -lICE or
+# we get undefined symbols.  So assume we have SM if we have ICE.
+# These have to be linked with before -lX11, unlike the other
+# libraries we check for below, so use a different variable.
+#  --interran at uluru.Stanford.EDU, kb at cs.umb.edu.
+AC_CHECK_LIB(ICE, IceConnectionNumber,
+  [LIBSM="-lSM -lICE"], , $X_EXTRA_LIBS)
+AC_SUBST(LIBSM)
+LDFLAGS="$ac_save_LDFLAGS"
+
+AC_SUBST(X_PRE_LIBS)
+
+LIB_X11='-lX11 $(LIBSOCKET)'
+AC_SUBST(LIB_X11)
+
+AC_MSG_CHECKING(for libXext)
+AC_CACHE_VAL(kde_cv_have_libXext,
+[
+kde_ldflags_safe="$LDFLAGS"
+kde_libs_safe="$LIBS"
+
+LDFLAGS="$LDFLAGS $X_LDFLAGS $USER_LDFLAGS"
+LIBS="-lXext -lX11 $LIBSOCKET"
+
+AC_TRY_LINK([
+#include <stdio.h>
+],
+[
+printf("hello Xext\n");
+],
+kde_cv_have_libXext=yes,
+kde_cv_have_libXext=no
+   )
+
+LDFLAGS=$kde_ldflags_safe
+LIBS=$kde_libs_safe
+ ])
+
+AC_MSG_RESULT($kde_cv_have_libXext)
+
+if test "$kde_cv_have_libXext" = "no"; then
+  AC_MSG_ERROR([We need a working libXext to proceed. Since configure
+can't find it itself, we stop here assuming that make wouldn't find
+them either.])
+fi
+
+])
+
+AC_LANG_RESTORE
+])
+
+AC_DEFUN(KDE_PRINT_QT_PROGRAM,
+[
+AC_REQUIRE([KDE_USE_QT])
+cat > conftest.$ac_ext <<EOF
+#include "confdefs.h"
+#include <qglobal.h>
+#include <qapplication.h>
+#include <qapp.h>
+#include <qobjcoll.h>
+EOF
+if test "$kde_qtver" = "2"; then
+cat >> conftest.$ac_ext <<EOF
+#include <qevent.h>
+#include <qstring.h>
+#include <qstyle.h>
+EOF
+
+if test $kde_qtsubver -gt 0; then
+cat >> conftest.$ac_ext <<EOF
+#include <qiconview.h>
+EOF
+fi
+
+fi
+
+echo "#if ! ($kde_qt_verstring)" >> conftest.$ac_ext
+cat >> conftest.$ac_ext <<EOF
+#error 1
+#endif
+
+int main() {
+EOF
+if test "$kde_qtver" = "2"; then
+cat >> conftest.$ac_ext <<EOF
+    QStringList *t = new QStringList();
+EOF
+if test $kde_qtsubver -gt 0; then
+cat >> conftest.$ac_ext <<EOF
+    QIconView iv(0);
+    iv.setWordWrapIconText(false);
+    QString s;
+    s.setLatin1("Elvis is alive", 14);
+    int magnolia = QEvent::Speech; /* new in 2.2 beta2 */
+EOF
+fi
+fi
+cat >> conftest.$ac_ext <<EOF
+    return 0;
+}
+EOF
+])
+
+AC_DEFUN(KDE_USE_QT,
+[
+
+if test -z "$1"; then
+  kde_qtver=2
+  kde_qtsubver=1
+else
+  kde_qtsubver=`echo "$1" | sed -e 's#[0-9]\+\.\([0-9]\+\).*#\1#'`
+  # following is the check if subversion isn�t found in passed argument
+  if test "$kde_qtsubver" = "$1"; then
+    kde_qtsubver=1
+  fi
+  kde_qtver=`echo "$1" | sed -e 's#^\([0-9]\+\)\..*#\1#'`
+  if test "$kde_qtver" = "1"; then
+    kde_qtsubver=42
+  else
+   # this is the version number fallback to 2.1, unless major version is 1 or 2
+   if test "$kde_qtver" != "2"; then
+    kde_qtver=2
+    kde_qtsubver=1
+   fi
+  fi
+fi
+
+if test -z "$2"; then
+  if test $kde_qtver = 2; then
+    if test $kde_qtsubver -gt 0; then
+      kde_qt_minversion=">= Qt 2.2.2"
+    else
+      kde_qt_minversion=">= Qt 2.0.2"
+    fi
+  else
+    kde_qt_minversion=">= 1.42 and < 2.0"
+  fi
+else
+   kde_qt_minversion=$2
+fi
+
+if test -z "$3"; then
+   if test $kde_qtver = 2; then
+    if test $kde_qtsubver -gt 0; then
+      kde_qt_verstring="QT_VERSION >= 222"
+    else
+      kde_qt_verstring="QT_VERSION >= 200"
+    fi
+   else
+    kde_qt_verstring="QT_VERSION >= 142 && QT_VERSION < 200"
+  fi
+else
+   kde_qt_verstring=$3
+fi
+
+if test $kde_qtver = 2; then
+   kde_qt_dirs="$QTDIR /usr/lib/qt2 /usr/lib/qt"
+else
+   kde_qt_dirs="$QTDIR /usr/lib/qt"
+fi
+])
+
+AC_DEFUN(KDE_CHECK_QT_DIRECT,
+[
+AC_REQUIRE([KDE_USE_QT])
+AC_MSG_CHECKING([if Qt compiles without flags])
+AC_CACHE_VAL(kde_cv_qt_direct,
+[
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+ac_LD_LIBRARY_PATH_safe=$LD_LIBRARY_PATH
+ac_LIBRARY_PATH="$LIBRARY_PATH"
+ac_cxxflags_safe="$CXXFLAGS"
+ac_ldflags_safe="$LDFLAGS"
+ac_libs_safe="$LIBS"
+
+CXXFLAGS="$CXXFLAGS -I$qt_includes"
+LDFLAGS="$LDFLAGS $X_LDFLAGS"
+LIBS="$LIBQT -lXext -lX11 $LIBSOCKET"
+LD_LIBRARY_PATH=
+export LD_LIBRARY_PATH
+LIBRARY_PATH=
+export LIBRARY_PATH
+
+KDE_PRINT_QT_PROGRAM
+
+if AC_TRY_EVAL(ac_link) && test -s conftest; then
+  kde_cv_qt_direct="yes"
+else
+  kde_cv_qt_direct="no"
+  echo "configure: failed program was:" >&AC_FD_CC
+  cat conftest.$ac_ext >&AC_FD_CC
+fi
+
+rm -f conftest*
+CXXFLAGS="$ac_cxxflags_safe"
+LDFLAGS="$ac_ldflags_safe"
+LIBS="$ac_libs_safe"
+
+LD_LIBRARY_PATH="$ac_LD_LIBRARY_PATH_safe"
+export LD_LIBRARY_PATH
+LIBRARY_PATH="$ac_LIBRARY_PATH"
+export LIBRARY_PATH
+AC_LANG_RESTORE
+])
+
+if test "$kde_cv_qt_direct" = "yes"; then
+  AC_MSG_RESULT(yes)
+  $1
+else
+  AC_MSG_RESULT(no)
+  $2
+fi
+])
+
+dnl ------------------------------------------------------------------------
+dnl Try to find the Qt headers and libraries.
+dnl $(QT_LDFLAGS) will be -Lqtliblocation (if needed)
+dnl and $(QT_INCLUDES) will be -Iqthdrlocation (if needed)
+dnl ------------------------------------------------------------------------
+dnl
+AC_DEFUN(AC_PATH_QT_1_3,
+[
+AC_REQUIRE([K_PATH_X])
+AC_REQUIRE([KDE_USE_QT])
+
+dnl ------------------------------------------------------------------------
+dnl Add configure flag to enable linking to MT version of Qt library.
+dnl ------------------------------------------------------------------------
+
+AC_ARG_ENABLE(
+  mt,
+  [  --enable-mt             link to threaded Qt (experimental)],
+  kde_use_qt_mt=$enableval,
+  kde_use_qt_mt=no
+)
+
+USING_QT_MT=""
+
+dnl ------------------------------------------------------------------------
+dnl If we got --enable-qt-mt then adjust some vars for the host.
+dnl ------------------------------------------------------------------------
+
+if test "x$kde_use_qt_mt" = "xyes"; then
+
+  case $host in
+  *-*-linux-*)
+    if test "x$GCC" = "xyes"; then
+      CPPFLAGS="$CPPFLAGS -DQT_THREAD_SUPPORT -pthread"
+      X_EXTRA_LIBS="$X_EXTRA_LIBS -pthread"
+    else
+      AC_MSG_WARN([Compiler is not gcc. MT support disabled.])
+    fi
+    ;;
+  *)
+    AC_MSG_WARN([MT not yet supported on $host - disabled.])
+    ;;
+  esac
+
+fi
+
+kde_qt_was_given=yes
+
+dnl ------------------------------------------------------------------------
+dnl If we haven't been told how to link to Qt, we work it out for ourselves.
+dnl ------------------------------------------------------------------------
+
+if test -z "$LIBQT_GLOB"; then
+
+  LIBQT_GLOB="libqt.*"
+
+fi
+
+if test -z "$LIBQT"; then
+
+  LIBQT="-lqt"
+  kde_int_qt="-lqt"
+
+dnl ------------------------------------------------------------------------
+dnl If we got --enable-qt-mt then adjust the Qt library name for the host.
+dnl ------------------------------------------------------------------------
+
+  if test "x$kde_use_qt_mt" = "xyes"; then
+
+      case $host in
+      *-*-linux-*)
+        if test "x$GCC" = "xyes"; then
+          LIBQT="-lqt-mt"
+          kde_int_qt="-lqt-mt"
+          LIBQT_GLOB="libqt-mt.*"
+          USING_QT_MT="using -mt"
+        fi
+      ;;
+      esac
+  fi
+
+  kde_qt_was_given=no
+
+else
+  kde_int_qt="$LIBQT"
+fi
+
+if test $kde_qtver = 2; then
+
+  AC_REQUIRE([AC_FIND_PNG])
+  AC_REQUIRE([AC_FIND_JPEG])
+  LIBQT="$LIBQT $LIBPNG $LIBJPEG"
+fi
+
+AC_MSG_CHECKING([for Qt])
+
+LIBQT="$LIBQT $X_PRE_LIBS -lXext -lX11 $LIBSM $LIBSOCKET"
+ac_qt_includes=NO ac_qt_libraries=NO ac_qt_bindir=NO
+qt_libraries=""
+qt_includes=""
+AC_ARG_WITH(qt-dir,
+    [  --with-qt-dir=DIR       where the root of Qt is installed ],
+    [  ac_qt_includes="$withval"/include
+       ac_qt_libraries="$withval"/lib
+       ac_qt_bindir="$withval"/bin
+    ])
+
+AC_ARG_WITH(qt-includes,
+    [  --with-qt-includes=DIR  where the Qt includes are. ],
+    [
+       ac_qt_includes="$withval"
+    ])
+
+kde_qt_libs_given=no
+
+AC_ARG_WITH(qt-libraries,
+    [  --with-qt-libraries=DIR where the Qt library is installed.],
+    [  ac_qt_libraries="$withval"
+       kde_qt_libs_given=yes
+    ])
+
+AC_CACHE_VAL(ac_cv_have_qt,
+[#try to guess Qt locations
+
+qt_incdirs=""
+for dir in $kde_qt_dirs; do
+   qt_incdirs="$qt_incdirs $dir/include $dir"
+done
+qt_incdirs="$QTINC $qt_incdirs /usr/local/qt/include /usr/include/qt /usr/include /usr/X11R6/include/X11/qt /usr/X11R6/include/qt $x_includes"
+if test ! "$ac_qt_includes" = "NO"; then
+   qt_incdirs="$ac_qt_includes $qt_incdirs"
+fi
+
+if test "$kde_qtver" = "2"; then
+  kde_qt_header=qstyle.h
+else
+  kde_qt_header=qglobal.h
+fi
+
+AC_FIND_FILE($kde_qt_header, $qt_incdirs, qt_incdir)
+ac_qt_includes="$qt_incdir"
+
+qt_libdirs=""
+for dir in $kde_qt_dirs; do
+   qt_libdirs="$qt_libdirs $dir/lib $dir"
+done
+qt_libdirs="$QTLIB $qt_libdirs /usr/X11R6/lib /usr/lib /usr/local/qt/lib $x_libraries"
+if test ! "$ac_qt_libraries" = "NO"; then
+  qt_libdir=$ac_qt_libraries
+else
+  qt_libdirs="$ac_qt_libraries $qt_libdirs"
+  # if the Qt was given, the chance is too big that libqt.* doesn't exist
+  qt_libdir=NONE
+  for dir in $qt_libdirs; do
+    try="ls -1 $dir/${LIBQT_GLOB}"
+    if test -n "`$try 2> /dev/null`"; then qt_libdir=$dir; break; else echo "tried $dir" >&AC_FD_CC ; fi
+  done
+fi
+
+ac_qt_libraries="$qt_libdir"
+
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+
+ac_cxxflags_safe="$CXXFLAGS"
+ac_ldflags_safe="$LDFLAGS"
+ac_libs_safe="$LIBS"
+
+CXXFLAGS="$CXXFLAGS -I$qt_incdir $all_includes"
+LDFLAGS="$LDFLAGS -L$qt_libdir $all_libraries $USER_LDFLAGS"
+LIBS="$LIBS $LIBQT"
+
+KDE_PRINT_QT_PROGRAM
+
+if AC_TRY_EVAL(ac_link) && test -s conftest; then
+  rm -f conftest*
+else
+  echo "configure: failed program was:" >&AC_FD_CC
+  cat conftest.$ac_ext >&AC_FD_CC
+  ac_qt_libraries="NO"
+fi
+rm -f conftest*
+CXXFLAGS="$ac_cxxflags_safe"
+LDFLAGS="$ac_ldflags_safe"
+LIBS="$ac_libs_safe"
+
+AC_LANG_RESTORE
+if test "$ac_qt_includes" = NO || test "$ac_qt_libraries" = NO; then
+  ac_cv_have_qt="have_qt=no"
+  ac_qt_notfound=""
+  if test "$ac_qt_includes" = NO; then
+    if test "$ac_qt_libraries" = NO; then
+      ac_qt_notfound="(headers and libraries)";
+    else
+      ac_qt_notfound="(headers)";
+    fi
+  else
+    ac_qt_notfound="(libraries)";
+  fi
+
+  AC_MSG_ERROR([Qt ($kde_qt_minversion) $ac_qt_notfound not found. Please check your installation!
+For more details about this problem, look at the end of config.log.])
+else
+  have_qt="yes"
+fi
+])
+
+eval "$ac_cv_have_qt"
+
+if test "$have_qt" != yes; then
+  AC_MSG_RESULT([$have_qt]);
+else
+  ac_cv_have_qt="have_qt=yes \
+    ac_qt_includes=$ac_qt_includes ac_qt_libraries=$ac_qt_libraries"
+  AC_MSG_RESULT([libraries $ac_qt_libraries, headers $ac_qt_includes $USING_QT_MT])
+
+  qt_libraries="$ac_qt_libraries"
+  qt_includes="$ac_qt_includes"
+fi
+
+if test ! "$kde_qt_libs_given" = "yes"; then
+KDE_CHECK_QT_DIRECT(qt_libraries= ,[])
+fi
+
+AC_SUBST(qt_libraries)
+AC_SUBST(qt_includes)
+
+if test "$qt_includes" = "$x_includes" || test -z "$qt_includes"; then
+ QT_INCLUDES="";
+else
+ QT_INCLUDES="-I$qt_includes"
+ all_includes="$QT_INCLUDES $all_includes"
+fi
+
+if test "$qt_libraries" = "$x_libraries" || test -z "$qt_libraries"; then
+ QT_LDFLAGS=""
+else
+ QT_LDFLAGS="-L$qt_libraries"
+ all_libraries="$all_libraries $QT_LDFLAGS"
+fi
+
+AC_SUBST(QT_INCLUDES)
+AC_SUBST(QT_LDFLAGS)
+AC_PATH_QT_MOC_UIC
+
+LIB_QT="$kde_int_qt "'$(LIBPNG) $(LIBJPEG) -lXext $(LIB_X11) $(LIBSM)'
+AC_SUBST(LIB_QT)
+
+])
+
+AC_DEFUN(AC_PATH_QT,
+[
+AC_PATH_QT_1_3
+])
+
+AC_DEFUN(KDE_CHECK_FINAL,
+[
+  AC_ARG_ENABLE(final, [  --enable-final          build size optimized apps (experimental - needs lots of memory)],
+	kde_use_final=$enableval, kde_use_final=no)
+
+  KDE_COMPILER_REPO
+  if test "x$kde_use_final" = "xyes"; then
+      KDE_USE_FINAL_TRUE=""
+      KDE_USE_FINAL_FALSE="#"
+   else
+      KDE_USE_FINAL_TRUE="#"
+      KDE_USE_FINAL_FALSE=""
+  fi
+  AC_SUBST(KDE_USE_FINAL_TRUE)
+  AC_SUBST(KDE_USE_FINAL_FALSE)
+
+  AC_ARG_ENABLE(closure, [  --disable-closure       don't delay template instantiation],
+  	kde_use_closure=$enableval, kde_use_closure=yes)
+
+  if test "x$kde_use_closure" = "xyes"; then
+       KDE_USE_CLOSURE_TRUE=""
+       KDE_USE_CLOSURE_FALSE="#"
+#       CXXFLAGS="$CXXFLAGS $REPO"
+  else
+       KDE_USE_CLOSURE_TRUE="#"
+       KDE_USE_CLOSURE_FALSE=""
+  fi
+  AC_SUBST(KDE_USE_CLOSURE_TRUE)
+  AC_SUBST(KDE_USE_CLOSURE_FALSE)
+])
+
+dnl ------------------------------------------------------------------------
+dnl Now, the same with KDE
+dnl $(KDE_LDFLAGS) will be the kdeliblocation (if needed)
+dnl and $(kde_includes) will be the kdehdrlocation (if needed)
+dnl ------------------------------------------------------------------------
+dnl
+AC_DEFUN(AC_BASE_PATH_KDE,
+[
+AC_PREREQ([2.13])
+AC_REQUIRE([AC_PATH_QT])dnl
+AC_CHECK_RPATH
+AC_MSG_CHECKING([for KDE])
+
+if test "${prefix}" != NONE; then
+  kde_includes=${prefix}/include
+  ac_kde_includes=$prefix/include
+
+  if test "${exec_prefix}" != NONE; then
+    kde_libraries=${exec_prefix}/lib
+    ac_kde_libraries=$exec_prefix/lib
+  else
+    kde_libraries=${prefix}/lib
+    ac_kde_libraries=$prefix/lib
+  fi
+else
+  ac_kde_includes=
+  ac_kde_libraries=
+  kde_libraries=""
+  kde_includes=""
+fi
+
+AC_CACHE_VAL(ac_cv_have_kde,
+[#try to guess kde locations
+
+if test "$kde_qtver" = 1; then
+  kde_check_header="ksock.h"
+  kde_check_lib="libkdecore.la"
+else
+  kde_check_header="ksharedptr.h"
+  kde_check_lib="libkio.la"
+fi
+
+if test -z "$1"; then
+
+kde_incdirs="/usr/lib/kde/include /usr/local/kde/include /usr/kde/include /usr/include/kde /usr/include /opt/kde2/include /opt/kde/include $x_includes $qt_includes"
+test -n "$KDEDIR" && kde_incdirs="$KDEDIR/include $KDEDIR/include/kde $KDEDIR $kde_incdirs"
+kde_incdirs="$ac_kde_includes $kde_incdirs"
+AC_FIND_FILE($kde_check_header, $kde_incdirs, kde_incdir)
+ac_kde_includes="$kde_incdir"
+
+if test -n "$ac_kde_includes" && test ! -r "$ac_kde_includes/$kde_check_header"; then
+  AC_MSG_ERROR([
+in the prefix, you've chosen, are no KDE headers installed. This will fail.
+So, check this please and use another prefix!])
+fi
+
+kde_libdirs="/usr/lib/kde/lib /usr/local/kde/lib /usr/kde/lib /usr/lib/kde /usr/lib /usr/X11R6/lib /opt/kde2/lib /opt/kde/lib /usr/X11R6/kde/lib"
+test -n "$KDEDIR" && kde_libdirs="$KDEDIR/lib $KDEDIR $kde_libdirs"
+kde_libdirs="$ac_kde_libraries $kde_libdirs"
+AC_FIND_FILE($kde_check_lib, $kde_libdirs, kde_libdir)
+ac_kde_libraries="$kde_libdir"
+
+if test -n "$ac_kde_libraries" && test ! -r "$ac_kde_libraries/$kde_check_lib"; then
+AC_MSG_ERROR([
+in the prefix, you've chosen, are no KDE libraries installed. This will fail.
+So, check this please and use another prefix!])
+fi
+ac_kde_libraries="$kde_libdir"
+
+if test "$ac_kde_includes" = NO || test "$ac_kde_libraries" = NO; then
+  ac_cv_have_kde="have_kde=no"
+else
+  ac_cv_have_kde="have_kde=yes \
+    ac_kde_includes=$ac_kde_includes ac_kde_libraries=$ac_kde_libraries"
+fi
+
+else dnl test -z $1
+
+  ac_cv_have_kde="have_kde=no"
+
+fi
+])dnl
+
+eval "$ac_cv_have_kde"
+
+if test "$have_kde" != "yes"; then
+ if test "${prefix}" = NONE; then
+  ac_kde_prefix="$ac_default_prefix"
+ else
+  ac_kde_prefix="$prefix"
+ fi
+ if test "$exec_prefix" = NONE; then
+  ac_kde_exec_prefix="$ac_kde_prefix"
+  AC_MSG_RESULT([will be installed in $ac_kde_prefix])
+ else
+  ac_kde_exec_prefix="$exec_prefix"
+  AC_MSG_RESULT([will be installed in $ac_kde_prefix and $ac_kde_exec_prefix])
+ fi
+
+ kde_libraries="${ac_kde_exec_prefix}/lib"
+ kde_includes=${ac_kde_prefix}/include
+
+else
+  ac_cv_have_kde="have_kde=yes \
+    ac_kde_includes=$ac_kde_includes ac_kde_libraries=$ac_kde_libraries"
+  AC_MSG_RESULT([libraries $ac_kde_libraries, headers $ac_kde_includes])
+
+  kde_libraries="$ac_kde_libraries"
+  kde_includes="$ac_kde_includes"
+fi
+AC_SUBST(kde_libraries)
+AC_SUBST(kde_includes)
+
+if test "$kde_includes" = "$x_includes" || test "$kde_includes" = "$qt_includes" ; then
+ KDE_INCLUDES=""
+else
+ KDE_INCLUDES="-I$kde_includes"
+ all_includes="$KDE_INCLUDES $all_includes"
+fi
+ 
+KDE_LDFLAGS="-L$kde_libraries"
+if test ! "$kde_libraries" = "$x_libraries" && test ! "$kde_libraries" = "$qt_libraries" ; then 
+ all_libraries="$all_libraries $KDE_LDFLAGS"
+fi
+
+AC_SUBST(KDE_LDFLAGS)
+AC_SUBST(KDE_INCLUDES)
+
+AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
+
+all_libraries="$all_libraries $USER_LDFLAGS"
+all_includes="$all_includes $USER_INCLUDES"
+AC_SUBST(all_includes)
+AC_SUBST(all_libraries)
+
+AC_SUBST(AUTODIRS)
+])
+
+AC_DEFUN(KDE_CHECK_EXTRA_LIBS,
+[
+AC_MSG_CHECKING(for extra includes)
+AC_ARG_WITH(extra-includes, [  --with-extra-includes=DIR
+                          adds non standard include paths],
+  kde_use_extra_includes="$withval",
+  kde_use_extra_includes=NONE
+)
+kde_extra_includes=
+if test -n "$kde_use_extra_includes" && \
+   test "$kde_use_extra_includes" != "NONE"; then
+
+   ac_save_ifs=$IFS
+   IFS=':'
+   for dir in $kde_use_extra_includes; do
+     kde_extra_includes="$kde_extra_includes $dir"
+     USER_INCLUDES="$USER_INCLUDES -I$dir"
+   done
+   IFS=$ac_save_ifs
+   kde_use_extra_includes="added"
+else
+   kde_use_extra_includes="no"
+fi
+AC_SUBST(USER_INCLUDES)
+
+AC_MSG_RESULT($kde_use_extra_includes)
+
+kde_extra_libs=
+AC_MSG_CHECKING(for extra libs)
+AC_ARG_WITH(extra-libs, [  --with-extra-libs=DIR   adds non standard library paths],
+  kde_use_extra_libs=$withval,
+  kde_use_extra_libs=NONE
+)
+if test -n "$kde_use_extra_libs" && \
+   test "$kde_use_extra_libs" != "NONE"; then
+
+   ac_save_ifs=$IFS
+   IFS=':'
+   for dir in $kde_use_extra_libs; do
+     kde_extra_libs="$kde_extra_libs $dir"
+     KDE_EXTRA_RPATH="$KDE_EXTRA_RPATH -R $dir"
+     USER_LDFLAGS="$USER_LDFLAGS -L$dir"
+   done
+   IFS=$ac_save_ifs
+   kde_use_extra_libs="added"
+else
+   kde_use_extra_libs="no"
+fi
+
+AC_SUBST(USER_LDFLAGS)
+
+AC_MSG_RESULT($kde_use_extra_libs)
+
+])
+
+AC_DEFUN(KDE_1_CHECK_PATH_HEADERS,
+[
+    AC_MSG_CHECKING([for KDE headers installed])
+    AC_LANG_SAVE
+    AC_LANG_CPLUSPLUS
+cat > conftest.$ac_ext <<EOF
+#include <stdio.h>
+#include "confdefs.h"
+#include <kapp.h>
+
+int main() {
+    printf("kde_htmldir=\\"%s\\"\n", KApplication::kde_htmldir().data());
+    printf("kde_appsdir=\\"%s\\"\n", KApplication::kde_appsdir().data());
+    printf("kde_icondir=\\"%s\\"\n", KApplication::kde_icondir().data());
+    printf("kde_sounddir=\\"%s\\"\n", KApplication::kde_sounddir().data());
+    printf("kde_datadir=\\"%s\\"\n", KApplication::kde_datadir().data());
+    printf("kde_locale=\\"%s\\"\n", KApplication::kde_localedir().data());
+    printf("kde_cgidir=\\"%s\\"\n", KApplication::kde_cgidir().data());
+    printf("kde_confdir=\\"%s\\"\n", KApplication::kde_configdir().data());
+    printf("kde_mimedir=\\"%s\\"\n", KApplication::kde_mimedir().data());
+    printf("kde_toolbardir=\\"%s\\"\n", KApplication::kde_toolbardir().data());
+    printf("kde_wallpaperdir=\\"%s\\"\n",
+	KApplication::kde_wallpaperdir().data());
+    printf("kde_bindir=\\"%s\\"\n", KApplication::kde_bindir().data());
+    printf("kde_partsdir=\\"%s\\"\n", KApplication::kde_partsdir().data());
+    printf("kde_servicesdir=\\"/tmp/dummy\\"\n");
+    printf("kde_servicetypesdir=\\"/tmp/dummy\\"\n");
+    printf("kde_moduledir=\\"/tmp/dummy\\"\n");
+    return 0;
+    }
+EOF
+
+ ac_compile='${CXX-g++} -c $CXXFLAGS $all_includes $CPPFLAGS conftest.$ac_ext'
+ if AC_TRY_EVAL(ac_compile); then
+   AC_MSG_RESULT(yes)
+ else
+   AC_MSG_ERROR([your system is not able to compile a small KDE application!
+Check, if you installed the KDE header files correctly.
+For more details about this problem, look at the end of config.log.])
+  fi
+
+  AC_LANG_RESTORE
+])
+
+AC_DEFUN(KDE_CHECK_KDEQTADDON,
+[
+AC_MSG_CHECKING(for kde-qt-addon)
+AC_CACHE_VAL(kde_cv_have_kdeqtaddon,
+[
+ kde_ldflags_safe="$LDFLAGS"
+ kde_libs_safe="$LIBS"
+ kde_cxxflags_safe="$CXXFLAGS"
+
+ LIBS="-lkde-qt-addon $LIBQT $LIBS"
+ CXXFLAGS="$CXXFLAGS -I$prefix/include -I$prefix/include/kde $all_includes"
+ LDFLAGS="$LDFLAGS $all_libraries $USER_LDFLAGS"
+
+ AC_TRY_LINK([
+   #include <qdom.h>
+ ],
+ [
+   QDomDocument doc;
+ ],
+  kde_cv_have_kdeqtaddon=yes,
+  kde_cv_have_kdeqtaddon=no
+ )
+
+ LDFLAGS=$kde_ldflags_safe
+ LIBS=$kde_libs_safe
+ kde_cxxflags_safe="$CXXFLAGS"
+])
+
+AC_MSG_RESULT($kde_cv_have_kdeqtaddon)
+
+if test "$kde_cv_have_kdeqtaddon" = "no"; then
+  AC_MSG_ERROR([Can't find libkde-qt-addon. You need to install it first.
+It is a separate package (and CVS module) named kde-qt-addon.])
+fi
+])
+
+AC_DEFUN(KDE_CHECK_KIMGIO,
+[
+   AC_REQUIRE([AC_BASE_PATH_KDE])
+   AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
+   AC_REQUIRE([AC_FIND_TIFF])
+   AC_REQUIRE([AC_FIND_JPEG])
+   AC_REQUIRE([AC_FIND_PNG])
+   AC_REQUIRE([KDE_CREATE_LIBS_ALIASES])
+
+   if test "$1" = "existance"; then
+     AC_LANG_SAVE
+     AC_LANG_CPLUSPLUS
+     kde_save_LIBS="$LIBS"
+     LIBS="$LIBS $all_libraries $LIBJPEG $LIBTIFF $LIBPNG $LIBQT -lm"
+     AC_CHECK_LIB(kimgio, kimgioRegister, [
+      LIBKIMGIO_EXISTS=yes],LIBKIMGIO_EXISTS=no)
+      LIBS="$kde_save_LIBS"
+      AC_LANG_RESTORE
+   else
+      LIBKIMGIO_EXISTS=yes
+   fi
+
+   if test "$LIBKIMGIO_EXISTS" = "yes"; then
+     LIB_KIMGIO='-lkimgio'
+   else
+     LIB_KIMGIO=''
+   fi
+   AC_SUBST(LIB_KIMGIO)
+])
+
+AC_DEFUN(KDE_CREATE_LIBS_ALIASES,
+[
+   AC_REQUIRE([KDE_MISC_TESTS])
+   AC_REQUIRE([KDE_CHECK_LIBDL])
+   AC_REQUIRE([K_PATH_X])
+
+if test $kde_qtver = 2; then
+   LIB_KDECORE='-lkdecore'
+   AC_SUBST(LIB_KDECORE)
+   LIB_KDEUI='-lkdeui'
+   AC_SUBST(LIB_KDEUI)
+   LIB_KFORMULA='-lkformula'
+   AC_SUBST(LIB_KFORMULA)
+   LIB_KIO='-lkio'
+   AC_SUBST(LIB_KIO)
+   LIB_KSYCOCA='-lksycoca'
+   AC_SUBST(LIB_KSYCOCA)
+   LIB_SMB='-lsmb'
+   AC_SUBST(LIB_SMB)
+   LIB_KFILE='-lkfile'
+   AC_SUBST(LIB_KFILE)
+   LIB_KAB='-lkab'
+   AC_SUBST(LIB_KAB)
+   LIB_KHTML='-lkhtml'
+   AC_SUBST(LIB_KHTML)
+   LIB_KSPELL='-lkspell'
+   AC_SUBST(LIB_KSPELL)
+   LIB_KPARTS='-lkparts'
+   AC_SUBST(LIB_KPARTS)
+   LIB_KWRITE='-lkwrite'
+   AC_SUBST(LIB_KWRITE)
+else
+   LIB_KDECORE='-lkdecore -lXext $(LIB_QT)'
+   AC_SUBST(LIB_KDECORE)
+   LIB_KDEUI='-lkdeui $(LIB_KDECORE)'
+   AC_SUBST(LIB_KDEUI)
+   LIB_KFM='-lkfm $(LIB_KDECORE)'
+   AC_SUBST(LIB_KFM)
+   LIB_KFILE='-lkfile $(LIB_KFM) $(LIB_KDEUI)'
+   AC_SUBST(LIB_KFILE)
+   LIB_KAB='-lkab $(LIB_KIMGIO) $(LIB_KDECORE)'
+   AC_SUBST(LIB_KAB)
+fi
+])
+
+AC_DEFUN(AC_PATH_KDE,
+[
+  AC_BASE_PATH_KDE
+  AC_ARG_ENABLE(path-check, [  --disable-path-check    don't try to find out, where to install],
+  [
+  if test "$enableval" = "no";
+    then ac_use_path_checking="default"
+    else ac_use_path_checking=""
+  fi
+  ],
+  [
+  if test "$kde_qtver" = 1;
+    then ac_use_path_checking=""
+    else ac_use_path_checking="default"
+  fi
+  ]
+  )
+
+  AC_CREATE_KFSSTND($ac_use_path_checking)
+
+  AC_SUBST_KFSSTND
+  KDE_CREATE_LIBS_ALIASES
+])
+
+dnl obsolete
+AC_DEFUN(AC_CHECK_SETENV,
+[
+   AC_OBSOLETE([$0], [; instead use AC_CHECK_FUNCS([setenv unsetenv])])dnl 
+   AC_CHECK_FUNCS([setenv unsetenv])
+])
+
+AC_DEFUN(AC_CHECK_GETDOMAINNAME,
+[
+AC_MSG_CHECKING(for getdomainname)
+AC_CACHE_VAL(ac_cv_func_getdomainname,
+[
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+save_CXXFLAGS="$CXXFLAGS"
+kde_safe_LIBS="$LIBS"
+LIBS="$LIBS $X_EXTRA_LIBS"
+if test "$GCC" = "yes"; then
+CXXFLAGS="$CXXFLAGS -pedantic-errors"
+fi
+AC_TRY_COMPILE([
+#include <stdlib.h>
+#include <unistd.h>
+],
+[
+char buffer[200];
+getdomainname(buffer, 200);
+],
+ac_cv_func_getdomainname=yes,
+ac_cv_func_getdomainname=no)
+CXXFLAGS="$save_CXXFLAGS"
+LIBS=$kde_safe_LIBS
+AC_LANG_RESTORE
+])
+AC_MSG_RESULT($ac_cv_func_getdomainname)
+
+AC_MSG_CHECKING([if getdomainname needs custom prototype])
+AC_CACHE_VAL(ac_cv_proto_getdomainname,
+[
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+if eval "test \"`echo $ac_cv_func_getdomainname`\" = yes"; then
+  ac_cv_proto_getdomainname=no
+else
+  kde_safe_libs=$LIBS
+  LIBS="$LIBS $X_EXTRA_LIBS"
+  AC_TRY_LINK([
+#include <stdlib.h>
+#include <unistd.h>
+
+extern "C" int getdomainname (char *, int);
+],
+[
+char buffer[200];
+getdomainname(buffer, 200);
+],
+  ac_cv_func_getdomainname=yes
+  ac_cv_proto_getdomainname=yes,
+  AC_MSG_RESULT([fatal error])
+  AC_MSG_ERROR([getdomainname unavailable]))
+fi
+LIBS=$kde_safe_libs
+AC_LANG_RESTORE
+])
+AC_MSG_RESULT($ac_cv_proto_getdomainname)
+
+if eval "test \"`echo $ac_cv_func_getdomainname`\" = yes"; then
+  AC_DEFINE(HAVE_GETDOMAINNAME, 1, [Define if you have getdomainname])
+fi
+if eval "test \"`echo $ac_cv_proto_getdomainname`\" = no"; then
+  AC_DEFINE(HAVE_GETDOMAINNAME_PROTO, 1,
+  [Define if you have getdomainname prototype])
+fi
+
+])
+
+AC_DEFUN(AC_CHECK_GETHOSTNAME,
+[
+
+AC_MSG_CHECKING([for gethostname])
+AC_CACHE_VAL(ac_cv_func_gethostname,
+[
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+save_CXXFLAGS="$CXXFLAGS"
+if test "$GCC" = "yes"; then
+CXXFLAGS="$CXXFLAGS -pedantic-errors"
+fi
+AC_TRY_LINK([
+#include <stdlib.h>
+#include <unistd.h>
+],
+[
+char buffer[200];
+gethostname(buffer, 200);
+],
+ac_cv_func_gethostname=yes,
+ac_cv_func_gethostname=no)
+CXXFLAGS="$save_CXXFLAGS"
+AC_LANG_RESTORE
+])
+AC_MSG_RESULT($ac_cv_func_gethostname)
+
+AC_MSG_CHECKING([if gethostname needs custom prototype])
+AC_CACHE_VAL(ac_cv_proto_gethostname,
+[
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+if eval "test \"`echo $ac_cv_func_gethostname`\" = yes"; then
+  ac_cv_proto_gethostname=no
+else
+  AC_TRY_LINK([
+#include <stdlib.h>
+#include <unistd.h>
+
+extern "C" int gethostname (char *, int);
+],
+[
+char buffer[200];
+gethostname(buffer, 200);
+],
+  ac_cv_func_gethostname=yes
+  ac_cv_proto_gethostname=yes,
+  AC_MSG_RESULT([fatal error])
+  AC_MSG_ERROR(gethostname unavailable))
+fi
+AC_LANG_RESTORE
+])
+AC_MSG_RESULT($ac_cv_proto_gethostname)
+
+if eval "test \"`echo $ac_cv_proto_gethostname`\" = no"; then
+  AC_DEFINE(HAVE_GETHOSTNAME_PROTO, 1,
+  [Define if you have gethostname prototype])
+fi
+if eval "test \"`echo $ac_cv_func_gethostname`\" = yes"; then
+  AC_DEFINE(HAVE_GETHOSTNAME, 1, [Define if you have getdomainname])
+fi
+])
+
+AC_DEFUN(AC_CHECK_USLEEP,
+[
+AC_MSG_CHECKING([for usleep])
+AC_CACHE_VAL(ac_cv_func_usleep,
+[
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+ac_libs_safe="$LIBS"
+LIBS="$LIBS $LIBUCB"
+AC_TRY_LINK([
+#include <stdlib.h>
+#include <unistd.h>
+],
+[
+usleep(200);
+],
+ac_cv_func_usleep=yes,
+ac_cv_func_usleep=no)
+LIBS="$ac_libs_safe"
+AC_LANG_RESTORE
+])
+AC_MSG_RESULT($ac_cv_func_usleep)
+if eval "test \"`echo $ac_cv_func_usleep`\" = yes"; then
+  AC_DEFINE(HAVE_USLEEP, 1, [Define if you have the usleep function])
+fi
+])
+
+AC_DEFUN(AC_CHECK_RANDOM,
+[
+AC_MSG_CHECKING([for random])
+AC_CACHE_VAL(ac_cv_func_random,
+[
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+ac_libs_safe="$LIBS"
+LIBS="$LIBS $LIBUCB"
+AC_TRY_LINK([
+#include <stdlib.h>
+],
+[
+random();
+],
+ac_cv_func_random=yes,
+ac_cv_func_random=no)
+LIBS="$ac_libs_safe"
+AC_LANG_RESTORE
+])
+AC_MSG_RESULT($ac_cv_func_random)
+if eval "test \"`echo $ac_cv_func_random`\" = yes"; then
+  AC_DEFINE(HAVE_RANDOM, 1, [Define if you have random])
+fi
+])
+
+AC_DEFUN(AC_FIND_GIF,
+   [AC_MSG_CHECKING([for giflib])
+AC_CACHE_VAL(ac_cv_lib_gif,
+[ac_save_LIBS="$LIBS"
+LIBS="$all_libraries -lgif -lX11 $LIBSOCKET"
+AC_TRY_LINK(dnl
+[
+#ifdef __cplusplus
+extern "C" {
+#endif
+int GifLastError(void);
+#ifdef __cplusplus
+}
+#endif
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+],
+            [return GifLastError();],
+            eval "ac_cv_lib_gif=yes",
+            eval "ac_cv_lib_gif=no")
+LIBS="$ac_save_LIBS"
+])dnl
+if eval "test \"`echo $ac_cv_lib_gif`\" = yes"; then
+  AC_MSG_RESULT(yes)
+  AC_DEFINE_UNQUOTED(HAVE_LIBGIF, 1, [Define if you have libgif])
+else
+  AC_MSG_ERROR(You need giflib30. Please install the kdesupport package)
+fi
+])
+
+AC_DEFUN(KDE_FIND_JPEG_HELPER,
+[
+AC_MSG_CHECKING([for libjpeg$2])
+AC_CACHE_VAL(ac_cv_lib_jpeg_$1,
+[
+AC_LANG_C
+ac_save_LIBS="$LIBS"
+LIBS="$all_libraries $USER_LDFLAGS -ljpeg$2 -lm"
+ac_save_CFLAGS="$CFLAGS"
+CFLAGS="$CFLAGS $all_includes $USER_INCLUDES"
+AC_TRY_LINK(
+[/* Override any gcc2 internal prototype to avoid an error.  */
+struct jpeg_decompress_struct;
+typedef struct jpeg_decompress_struct * j_decompress_ptr;
+typedef int size_t;
+#ifdef __cplusplus
+extern "C" {
+#endif
+    void jpeg_CreateDecompress(j_decompress_ptr cinfo,
+                                    int version, size_t structsize);
+#ifdef __cplusplus
+}
+#endif
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+],
+            [jpeg_CreateDecompress(0L, 0, 0);],
+            eval "ac_cv_lib_jpeg_$1=-ljpeg$2",
+            eval "ac_cv_lib_jpeg_$1=no")
+LIBS="$ac_save_LIBS"
+CFLAGS="$ac_save_CFLAGS"
+])
+
+if eval "test ! \"`echo $ac_cv_lib_jpeg_$1`\" = no"; then
+  LIBJPEG="$ac_cv_lib_jpeg_$1"
+  AC_MSG_RESULT($ac_cv_lib_jpeg_$1)
+else
+  AC_MSG_RESULT(no)
+  $3
+fi
+
+])
+
+AC_DEFUN(AC_FIND_JPEG,
+[
+dnl first look for libraries
+KDE_FIND_JPEG_HELPER(6b, 6b,
+   KDE_FIND_JPEG_HELPER(normal, [],
+    [
+dnl what to do, if the normal way fails:
+	if test -f "$kde_libraries/libjpeg.so"; then
+	   test -f ./libjpegkde.so || $LN_S $kde_libraries/libjpeg.so ./libjpegkde.so
+	   ac_cv_lib_jpeg="-L\${topdir} -ljpegkde"
+	else if test -f "$kde_libraries/libjpeg.sl"; then
+	   test -f ./libjpegkde.sl ||$LN_S $kde_libraries/libjpeg.sl ./libjpegkde.sl
+	   ac_cv_lib_jpeg="-L\${topdir} -ljpegkde"	
+	else if test -f "$kde_libraries/libjpeg.a"; then
+	   test -f ./libjpegkde.a || $LN_S $kde_libraries/libjpeg.a ./libjpegkde.a
+	   ac_cv_lib_jpeg="-L\${topdir} -ljpegkde"
+        else
+	  ac_cv_lib_jpeg=
+	fi
+      fi
+   fi
+
+   LIBJPEG=$ac_cv_lib_jpeg
+]))
+
+dnl then search the headers (can't use simply AC_TRY_xxx, as jpeglib.h
+dnl requires system dependent includes loaded before it)
+jpeg_incdirs="/usr/include /usr/local/include $kde_extra_includes"
+AC_FIND_FILE(jpeglib.h, $jpeg_incdirs, jpeg_incdir)
+test "x$jpeg_incdir" = xNO && jpeg_incdir=
+
+dnl if headers _and_ libraries are missing, this is no error, and we
+dnl continue with a warning (the user will get no jpeg support in khtml)
+dnl if only one is missing, it means a configuration error, but we still
+dnl only warn
+if test -n "$jpeg_incdir" && test -n "$LIBJPEG" ; then
+  AC_DEFINE_UNQUOTED(HAVE_LIBJPEG, 1, [Define if you have libjpeg])
+else
+  if test -n "$jpeg_incdir" || test -n "$LIBJPEG" ; then
+    AC_MSG_WARN([
+There is an installation error in jpeg support. You seem to have only one
+of either the headers _or_ the libraries installed. You may need to either
+provide correct --with-extra-... options, or the development package of
+libjpeg6b. You can get a source package of libjpeg from http://www.ijg.org/
+Disabling JPEG support.
+])
+  else
+    AC_MSG_WARN([libjpeg not found. disable JPEG support.])
+  fi
+  jpeg_incdir=
+  LIBJPEG=
+fi
+
+AC_SUBST(LIBJPEG)
+])
+
+AC_DEFUN(AC_FIND_ZLIB,
+[
+AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
+AC_MSG_CHECKING([for libz])
+AC_CACHE_VAL(ac_cv_lib_z,
+[
+AC_LANG_C
+kde_save_LIBS="$LIBS"
+LIBS="$all_libraries $USER_LDFLAGS -lz $LIBSOCKET"
+kde_save_CFLAGS="$CFLAGS"
+CFLAGS="$CFLAGS $all_includes $USER_INCLUDES"
+AC_TRY_LINK(dnl
+[
+#include<zlib.h>
+],
+            [return (zlibVersion() == ZLIB_VERSION); ],
+            eval "ac_cv_lib_z='-lz'",
+            eval "ac_cv_lib_z=no")
+LIBS="$kde_save_LIBS"
+CFLAGS="$kde_save_CFLAGS"
+])dnl
+if test ! "$ac_cv_lib_z" = no; then
+  AC_DEFINE_UNQUOTED(HAVE_LIBZ, 1, [Define if you have libz])
+  LIBZ="$ac_cv_lib_z"
+  AC_SUBST(LIBZ)
+  AC_MSG_RESULT($ac_cv_lib_z)
+else
+  AC_MSG_ERROR(not found. Check your installation and look into config.log)
+  LIBZ=""
+  AC_SUBST(LIBZ)
+fi
+])
+
+AC_DEFUN(KDE_TRY_TIFFLIB,
+[
+AC_MSG_CHECKING([for libtiff $1])
+
+AC_CACHE_VAL(kde_cv_libtiff_$1,
+[
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+kde_save_LIBS="$LIBS"
+LIBS="$all_libraries $USER_LDFLAGS -l$1 $LIBJPEG $LIBZ -lX11 $LIBSOCKET -lm"
+kde_save_CXXFLAGS="$CXXFLAGS"
+CXXFLAGS="$CXXFLAGS $all_includes $USER_INCLUDES"
+
+AC_TRY_LINK(dnl
+[
+#include<tiffio.h>
+],
+    [return (TIFFOpen( "", "r") == 0); ],
+[
+    kde_cv_libtiff_$1="-l$1 $LIBJPEG $LIBZ"
+], [
+    kde_cv_libtiff_$1=no
+])
+
+LIBS="$kde_save_LIBS"
+CXXFLAGS="$kde_save_CXXFLAGS"
+AC_LANG_RESTORE
+])
+
+if test "$kde_cv_libtiff_$1" = "no"; then
+    AC_MSG_RESULT(no)
+    LIBTIFF=""
+    $3
+else
+    LIBTIFF="$kde_cv_libtiff_$1"
+    AC_MSG_RESULT(yes)
+    AC_DEFINE_UNQUOTED(HAVE_LIBTIFF, 1, [Define if you have libtiff])
+    $2
+fi
+
+])
+
+AC_DEFUN(AC_FIND_TIFF,
+[
+AC_REQUIRE([K_PATH_X])
+AC_REQUIRE([AC_FIND_ZLIB])
+AC_REQUIRE([AC_FIND_JPEG])
+AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
+
+KDE_TRY_TIFFLIB(tiff, [],
+   KDE_TRY_TIFFLIB(tiff34))
+
+AC_SUBST(LIBTIFF)
+])
+
+
+AC_DEFUN(AC_FIND_PNG,
+[
+AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
+AC_REQUIRE([AC_FIND_ZLIB])
+AC_MSG_CHECKING([for libpng])
+AC_CACHE_VAL(ac_cv_lib_png,
+[
+kde_save_LIBS="$LIBS"
+LIBS="$LIBS $all_libraries $USER_LDFLAGS -lpng $LIBZ -lm -lX11 $LIBSOCKET"
+kde_save_CFLAGS="$CFLAGS"
+CFLAGS="$CFLAGS $all_includes $USER_INCLUDES"
+AC_LANG_C
+AC_TRY_LINK(dnl
+    [
+    #include<png.h>
+    ],
+    [
+    png_structp png_ptr = png_create_read_struct(  /* image ptr */
+		PNG_LIBPNG_VER_STRING, 0, 0, 0 );
+    return( png_ptr != 0 );
+    ],
+    eval "ac_cv_lib_png='-lpng $LIBZ -lm'",
+    eval "ac_cv_lib_png=no"
+)
+LIBS="$kde_save_LIBS"
+CFLAGS="$kde_save_CFLAGS"
+])dnl
+if eval "test ! \"`echo $ac_cv_lib_png`\" = no"; then
+  AC_DEFINE_UNQUOTED(HAVE_LIBPNG, 1, [Define if you have libpng])
+  LIBPNG="$ac_cv_lib_png"
+  AC_SUBST(LIBPNG)
+  AC_MSG_RESULT($ac_cv_lib_png)
+else
+  AC_MSG_RESULT(no)
+  LIBPNG=""
+  AC_SUBST(LIBPNG)
+fi
+])
+
+AC_DEFUN(AC_CHECK_BOOL,
+[
+  AC_DEFINE_UNQUOTED(HAVE_BOOL, 1, [You _must_ have bool])
+])
+
+AC_DEFUN(AC_CHECK_GNU_EXTENSIONS,
+[
+AC_MSG_CHECKING(if you need GNU extensions)
+AC_CACHE_VAL(ac_cv_gnu_extensions,
+[
+cat > conftest.c << EOF
+#include <features.h>
+
+#ifdef __GNU_LIBRARY__
+yes
+#endif
+EOF
+
+if (eval "$ac_cpp conftest.c") 2>&5 |
+  egrep "yes" >/dev/null 2>&1; then
+  rm -rf conftest*
+  ac_cv_gnu_extensions=yes
+else
+  ac_cv_gnu_extensions=no
+fi
+])
+
+AC_MSG_RESULT($ac_cv_gnu_extensions)
+if test "$ac_cv_gnu_extensions" = "yes"; then
+  AC_DEFINE_UNQUOTED(_GNU_SOURCE, 1, [Define if you need to use the GNU extensions])
+fi
+])
+
+AC_DEFUN(KDE_CHECK_COMPILER_FLAG,
+[
+AC_REQUIRE([AC_CHECK_COMPILERS])
+AC_MSG_CHECKING(whether $CXX supports -$1)
+kde_cache=`echo $1 | sed 'y%.=/+-%___p_%'`
+AC_CACHE_VAL(kde_cv_prog_cxx_$kde_cache,
+[
+echo 'int main() { return 0; }' >conftest.cc
+eval "kde_cv_prog_cxx_$kde_cache=no"
+if test -z "`$CXX -$1 -c conftest.cc 2>&1`"; then
+  if test -z "`$CXX -$1 -o conftest conftest.o 2>&1`"; then
+    eval "kde_cv_prog_cxx_$kde_cache=yes"
+  fi
+fi
+rm -f conftest*
+])
+if eval "test \"`echo '$kde_cv_prog_cxx_'$kde_cache`\" = yes"; then
+ AC_MSG_RESULT(yes)
+ :
+ $2
+else
+ AC_MSG_RESULT(no)
+ :
+ $3
+fi
+])
+
+AC_DEFUN(KDE_PROG_CC_PG,
+[ AC_CACHE_CHECK(whether ${CC-cc} accepts -pg, kde_cv_prog_cc_pg,
+  [echo 'void f(){}' > conftest.c
+   if test -z "`${CC-cc} -pg -c conftest.c 2>&1`"; then
+     kde_cv_prog_cc_pg=yes
+   else
+     kde_cv_prog_cc_pg=no
+   fi
+   rm -f conftest*
+])])
+
+AC_DEFUN(KDE_PROG_CXX_PG,
+[ AC_CACHE_CHECK(whether ${CXX-g++} accepts -pg, kde_cv_prog_cxx_pg,
+  [echo 'void f(){}' > conftest.cc
+   if test -z "`${CXX-g++} -pg -c conftest.cc 2>&1`"; then
+     kde_cv_prog_cxx_pg=yes
+   else
+     kde_cv_prog_cxx_pg=no
+   fi
+  rm -f conftest*
+])])
+
+dnl AC_REMOVE_FORBIDDEN removes forbidden arguments from variables
+dnl use: AC_REMOVE_FORBIDDEN(CC, [-forbid -bad-option whatever])
+dnl it's all white-space separated
+AC_DEFUN(AC_REMOVE_FORBIDDEN,
+[ __val=$$1
+  __forbid=" $2 "
+  if test -n "$__val"; then
+    __new=""
+    ac_save_IFS=$IFS
+    IFS=" 	"
+    for i in $__val; do
+      case "$__forbid" in
+        *" $i "*) AC_MSG_WARN([found forbidden $i in $1, removing it]) ;;
+	*) # Careful to not add spaces, where there were none, because otherwise
+	   # libtool gets confused, if we change e.g. CXX
+	   if test -z "$__new" ; then __new=$i ; else __new="$__new $i" ; fi ;;
+      esac
+    done
+    IFS=$ac_save_IFS
+    $1=$__new
+  fi
+])
+
+dnl AC_VALIDIFY_CXXFLAGS checks for forbidden flags the user may have given
+AC_DEFUN(AC_VALIDIFY_CXXFLAGS,
+[dnl
+ AC_REMOVE_FORBIDDEN(CXX, [-fno-rtti -rpath])
+ AC_REMOVE_FORBIDDEN(CXXFLAGS, [-fno-rtti -rpath])
+])
+
+AC_DEFUN(AC_CHECK_COMPILERS,
+[
+  dnl this is somehow a fat lie, but prevents other macros from double checking
+  AC_PROVIDE([AC_PROG_CC])
+  AC_PROVIDE([AC_PROG_CPP])
+  AC_PROVIDE([AC_PROG_CXX])
+  AC_PROVIDE([AC_PROG_CXXCPP])
+
+  AC_ARG_ENABLE(debug,[  --enable-debug          enables debug symbols [default=no]],
+  [
+   if test $enableval = "no"; dnl
+     then
+       kde_use_debug_code="no"
+       kde_use_debug_define=yes
+     else
+       kde_use_debug_code="yes"
+       kde_use_debug_define=no
+   fi
+  ], [kde_use_debug_code="no"
+      kde_use_debug_define=no
+    ])
+  dnl Just for configure --help
+  AC_ARG_ENABLE(dummyoption,[  --disable-debug         disables debug output and debug symbols [default=no]],[],[])
+
+  AC_ARG_ENABLE(strict,[  --enable-strict         compiles with strict compiler options (may not work!)],
+   [
+    if test $enableval = "no"; then
+         kde_use_strict_options="no"
+       else
+         kde_use_strict_options="yes"
+    fi
+   ], [kde_use_strict_options="no"])
+
+  AC_ARG_ENABLE(profile,[  --enable-profile        creates profiling infos [default=no]],
+     [kde_use_profiling=$enableval],
+     [kde_use_profiling="no"]
+  )
+
+dnl this was AC_PROG_CC. I had to include it manualy, since I had to patch it
+  AC_MSG_CHECKING(for a C-Compiler)
+  dnl if there is one, print out. if not, don't matter
+  AC_MSG_RESULT($CC)
+
+  if test -z "$CC"; then AC_CHECK_PROG(CC, gcc, gcc) fi
+  if test -z "$CC"; then AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc) fi
+  if test -z "$CC"; then AC_CHECK_PROG(CC, xlc, xlc) fi
+  test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
+
+  AC_PROG_CC_WORKS
+  AC_PROG_CC_GNU
+
+  if test $ac_cv_prog_gcc = yes; then
+    GCC=yes
+  else
+    GCC=
+  fi
+
+  USER_CFLAGS=$CFLAGS
+  CFLAGS=
+
+  if test -z "$CFLAGS"; then
+    if test "$kde_use_debug_code" = "yes"; then
+      AC_PROG_CC_G
+      if test $ac_cv_prog_cc_g = yes; then
+	CFLAGS="-g"
+	case $host in
+   	*-*-linux-gnu)	
+           CFLAGS="$CFLAGS -ansi -W -Wall -pedantic -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -D_XOPEN_SOURCE -D_BSD_SOURCE"
+         ;;
+        esac
+      fi
+    else
+      if test "$GCC" = "yes"; then
+        CFLAGS="-O2"
+      else
+        CFLAGS=""
+      fi
+      if test "$kde_use_debug_define" = "yes"; then
+        CFLAGS="$CFLAGS -DNDEBUG"
+	dnl damn buggy compilers :-(
+	dnl if test "$GCC" = "yes"; then
+    	dnl  CFLAGS="$CFLAGS -fomit-frame-pointer"
+	dnl   CXXFLAGS="$CXXFLAGS -fomit-frame-pointer"
+	dnl fi
+      fi
+    fi
+
+    if test "$kde_use_profiling" = yes; then
+      KDE_PROG_CC_PG
+      if test "$kde_cv_prog_cc_pg" = yes; then
+        CFLAGS="$CFLAGS -pg"
+      fi
+    fi
+
+    if test "$GCC" = "yes"; then
+     CFLAGS="$CFLAGS"
+
+     if test "$kde_use_strict_options" = "yes"; then
+	CFLAGS="$CFLAGS -W -Wall -ansi -pedantic -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings"
+     fi
+    fi
+
+  fi
+
+  case "$host" in
+  *-*-sysv4.2uw*) CFLAGS="$CFLAGS -D_UNIXWARE";;
+  *-*-sysv5uw7*) CFLAGS="$CFLAGS -D_UNIXWARE7";;
+  esac
+
+  if test -n "$USER_CFLAGS"; then
+    CFLAGS="$CFLAGS $USER_CFLAGS"
+  fi
+
+  if test -z "$LDFLAGS" && test "$kde_use_debug_code" = "no" && test "$GCC" = "yes"; then
+     LDFLAGS=""
+  fi
+
+
+dnl this is AC_PROG_CPP. I had to include it here, since autoconf checks
+dnl dependecies between AC_PROG_CPP and AC_PROG_CC (or is it automake?)
+
+  AC_MSG_CHECKING(how to run the C preprocessor)
+  # On Suns, sometimes $CPP names a directory.
+  if test -n "$CPP" && test -d "$CPP"; then
+    CPP=
+  fi
+  if test -z "$CPP"; then
+  AC_CACHE_VAL(ac_cv_prog_CPP,
+  [  # This must be in double quotes, not single quotes, because CPP may get
+    # substituted into the Makefile and "${CC-cc}" will confuse make.
+    CPP="${CC-cc} -E"
+    # On the NeXT, cc -E runs the code through the compiler's parser,
+    # not just through cpp.
+    dnl Use a header file that comes with gcc, so configuring glibc
+    dnl with a fresh cross-compiler works.
+    AC_TRY_CPP([#include <assert.h>
+    Syntax Error], ,
+    CPP="${CC-cc} -E -traditional-cpp"
+    AC_TRY_CPP([#include <assert.h>
+    Syntax Error], , CPP=/lib/cpp))
+    ac_cv_prog_CPP="$CPP"])dnl
+    CPP="$ac_cv_prog_CPP"
+  else
+    ac_cv_prog_CPP="$CPP"
+  fi
+  AC_MSG_RESULT($CPP)
+  AC_SUBST(CPP)dnl
+
+
+  AC_MSG_CHECKING(for a C++-Compiler)
+  dnl if there is one, print out. if not, don't matter
+  AC_MSG_RESULT($CXX)
+
+  if test -z "$CXX"; then AC_CHECK_PROG(CXX, g++, g++) fi
+  if test -z "$CXX"; then AC_CHECK_PROG(CXX, CC, CC) fi
+  if test -z "$CXX"; then AC_CHECK_PROG(CXX, xlC, xlC) fi
+  if test -z "$CXX"; then AC_CHECK_PROG(CXX, DCC, DCC) fi
+  test -z "$CXX" && AC_MSG_ERROR([no acceptable C++-compiler found in \$PATH])
+
+  AC_PROG_CXX_WORKS
+  AC_PROG_CXX_GNU
+
+  if test $ac_cv_prog_gxx = yes; then
+    GXX=yes
+  fi
+
+  USER_CXXFLAGS=$CXXFLAGS
+  CXXFLAGS=""
+
+  if test -z "$CXXFLAGS"; then
+    if test "$kde_use_debug_code" = "yes"; then
+      AC_PROG_CXX_G
+      if test $ac_cv_prog_cxx_g = yes; then
+        CXXFLAGS="-g"
+	case $host in  dnl
+   	*-*-linux-gnu)
+           CXXFLAGS="$CXXFLAGS -ansi -D_XOPEN_SOURCE -D_BSD_SOURCE -Wbad-function-cast -Wcast-align -Wundef -Wconversion"
+         ;;
+        esac
+      fi
+    else
+      if test "$GXX" = "yes"; then
+         CXXFLAGS="-O2"
+      fi
+      if test "$kde_use_debug_define" = "yes"; then
+         CXXFLAGS="$CXXFLAGS -DNDEBUG"
+      fi
+    fi
+
+    if test "$kde_use_profiling" = yes; then
+      KDE_PROG_CXX_PG
+      if test "$kde_cv_prog_cxx_pg" = yes; then
+        CXXFLAGS="$CXXFLAGS -pg"
+      fi
+    fi
+    
+    KDE_CHECK_COMPILER_FLAG(fno-exceptions,
+    [
+      CXXFLAGS="$CXXFLAGS -fno-exceptions"
+    ])
+      
+dnl WABA: Nothing wrong with RTTI, keep it on.
+dnl    KDE_CHECK_COMPILER_FLAG(fno-rtti,
+dnl	[
+dnl	  CXXFLAGS="$CXXFLAGS -fno-rtti"
+dnl	])
+
+    KDE_CHECK_COMPILER_FLAG(fno-check-new,
+	[
+	  CXXFLAGS="$CXXFLAGS -fno-check-new"
+	])
+
+    if test "$GXX" = "yes"; then
+       CXXFLAGS="$CXXFLAGS"
+
+       if test true || test "$kde_use_debug_code" = "yes"; then
+	 CXXFLAGS="$CXXFLAGS -Wall -pedantic -W -Wpointer-arith -Wmissing-prototypes -Wwrite-strings"
+
+         KDE_CHECK_COMPILER_FLAG(Wno-long-long,
+	 [
+	   CXXFLAGS="$CXXFLAGS -Wno-long-long"
+	 ])
+         KDE_CHECK_COMPILER_FLAG(Wnon-virtual-dtor,
+         [
+           CXXFLAGS="$CXXFLAGS -Wnon-virtual-dtor"
+         ])
+         KDE_CHECK_COMPILER_FLAG(fno-builtin,
+         [
+           CXXFLAGS="$CXXFLAGS -fno-builtin"
+         ])
+	
+       fi
+
+       if test "$kde_use_strict_options" = "yes"; then
+	CXXFLAGS="$CXXFLAGS -Wcast-qual -Wbad-function-cast -Wshadow -Wcast-align"
+       fi
+
+       if test "$kde_very_strict" = "yes"; then
+         CXXFLAGS="$CXXFLAGS -Wold-style-cast -Wredundant-decls -Wconversion"
+       fi
+    fi
+  fi
+
+    KDE_CHECK_COMPILER_FLAG(fexceptions,
+	[
+	  USE_EXCEPTIONS="-fexceptions"
+	],
+	  USE_EXCEPTIONS=
+	)
+    AC_SUBST(USE_EXCEPTIONS)
+
+    KDE_CHECK_COMPILER_FLAG(frtti,
+	[
+	  USE_RTTI="-frtti"
+	],
+	  USE_RTTI=
+	)
+    AC_SUBST(USE_RTTI)
+
+    case "$host" in
+      *-*-irix*)  test "$GXX" = yes && CXXFLAGS="$CXXFLAGS -D_LANGUAGE_C_PLUS_PLUS -D__LANGUAGE_C_PLUS_PLUS" ;;
+      *-*-sysv4.2uw*) CXXFLAGS="$CXXFLAGS -D_UNIXWARE";;
+      *-*-sysv5uw7*) CXXFLAGS="$CXXFLAGS -D_UNIXWARE7";;
+      *-*-solaris*) 
+        if test "$GXX" = yes; then
+          libstdcpp=`gcc -print-file-name=libstdc++.so`
+          if test ! -f $libstdcpp; then
+             AC_MSG_ERROR([You've compiled gcc without --enable-shared. This doesn't work with KDE. Please recompile gcc with --enable-shared to receive a libstdc++.so])
+          fi
+        fi
+        ;;
+    esac
+
+    if test -n "$USER_CXXFLAGS"; then
+       CXXFLAGS="$CXXFLAGS $USER_CXXFLAGS"
+    fi
+
+    AC_VALIDIFY_CXXFLAGS
+
+    AC_MSG_CHECKING(how to run the C++ preprocessor)
+    if test -z "$CXXCPP"; then
+      AC_CACHE_VAL(ac_cv_prog_CXXCPP,
+      [
+         AC_LANG_SAVE[]dnl
+         AC_LANG_CPLUSPLUS[]dnl
+         CXXCPP="${CXX-g++} -E"
+         AC_TRY_CPP([#include <stdlib.h>], , CXXCPP=/lib/cpp)
+         ac_cv_prog_CXXCPP="$CXXCPP"
+         AC_LANG_RESTORE[]dnl
+     ])dnl
+     CXXCPP="$ac_cv_prog_CXXCPP"
+    fi
+    AC_MSG_RESULT($CXXCPP)
+    AC_SUBST(CXXCPP)dnl
+
+    # the following is to allow programs, that are known to
+    # have problems when compiled with -O2
+    if test -n "$CXXFLAGS"; then
+      kde_safe_IFS=$IFS
+      IFS=" "
+      NOOPT_CXXFLAGS=""
+      for i in $CXXFLAGS; do
+        case $i in
+          -O*)
+                ;;
+          *)
+                NOOPT_CXXFLAGS="$NOOPT_CXXFLAGS $i"
+                ;;
+        esac
+      done
+      IFS=$kde_safe_IFS
+    fi
+    AC_SUBST(NOOPT_CXXFLAGS)
+
+    KDE_CHECK_FINAL
+
+    ifdef([AM_DEPENDENCIES], AC_REQUIRE([KDE_ADD_DEPENDENCIES]), [])
+
+    KDE_CXXFLAGS=
+    AC_SUBST(KDE_CXXFLAGS)
+])
+
+AC_DEFUN(KDE_ADD_DEPENDENCIES,
+[
+   [A]M_DEPENDENCIES(CC)
+   [A]M_DEPENDENCIES(CXX)
+])
+
+dnl just a wrapper to clean up configure.in
+AC_DEFUN(KDE_PROG_LIBTOOL,
+[
+AC_REQUIRE([AC_CHECK_COMPILERS])
+AC_REQUIRE([AC_ENABLE_SHARED])
+AC_REQUIRE([AC_ENABLE_STATIC])
+
+AC_REQUIRE([AC_LIBTOOL_DLOPEN])
+
+AC_LANG_SAVE
+AC_LANG_C
+AC_OBJEXT
+AC_EXEEXT
+AC_LANG_RESTORE
+
+AM_PROG_LIBTOOL
+AC_LIBTOOL_CXX
+
+LIBTOOL_SHELL="/bin/sh ./libtool"
+#  LIBTOOL="$LIBTOOL --silent"
+KDE_PLUGIN="-avoid-version -module -no-undefined"
+AC_SUBST(KDE_PLUGIN)
+])
+
+AC_DEFUN(KDE_CHECK_TYPES,
+[  AC_CHECK_SIZEOF(int, 4)dnl
+  AC_CHECK_SIZEOF(long, 4)dnl
+  AC_CHECK_SIZEOF(char *, 4)dnl
+])dnl
+
+AC_DEFUN(KDE_DO_IT_ALL,
+[
+AC_CANONICAL_SYSTEM
+AC_ARG_PROGRAM
+AM_INIT_AUTOMAKE($1, $2)
+AM_DISABLE_LIBRARIES
+AC_PREFIX_DEFAULT(${KDEDIR:-/usr/local/kde})
+AC_CHECK_COMPILERS
+KDE_PROG_LIBTOOL
+AM_KDE_WITH_NLS
+AC_PATH_KDE
+])
+
+AC_DEFUN(AC_CHECK_RPATH,
+[
+AC_MSG_CHECKING(for rpath)
+AC_ARG_ENABLE(rpath,
+      [  --disable-rpath         do not use the rpath feature of ld],
+      USE_RPATH=$enableval, USE_RPATH=yes)
+
+if test -z "$KDE_RPATH" && test "$USE_RPATH" = "yes"; then
+
+  KDE_RPATH="-R \$(kde_libraries)"
+
+  if test -n "$qt_libraries"; then
+    KDE_RPATH="$KDE_RPATH -R \$(qt_libraries)"
+  fi
+  dnl $x_libraries is set to /usr/lib in case
+  if test -n "$X_LDFLAGS"; then
+    KDE_RPATH="$KDE_RPATH -R \$(x_libraries)"
+  fi
+  if test -n "$KDE_EXTRA_RPATH"; then
+    KDE_RPATH="$KDE_RPATH \$(KDE_EXTRA_RPATH)"
+  fi
+fi
+AC_SUBST(KDE_EXTRA_RPATH)
+AC_SUBST(KDE_RPATH)
+AC_MSG_RESULT($USE_RPATH)
+])
+
+dnl Check for the type of the third argument of getsockname
+AC_DEFUN(AC_CHECK_KSIZE_T,
+[AC_MSG_CHECKING(for the third argument of getsockname)
+AC_CACHE_VAL(ac_cv_ksize_t,
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+[AC_TRY_COMPILE([
+#include <sys/types.h>
+#include <sys/socket.h>
+],[
+socklen_t a=0;
+getsockname(0,(struct sockaddr*)0, &a);
+],
+ac_cv_ksize_t=socklen_t,
+ac_cv_ksize_t=)
+if test -z "$ac_cv_ksize_t"; then
+ac_safe_cxxflags="$CXXFLAGS"
+if test "$GCC" = "yes"; then
+  CXXFLAGS="-Werror $CXXFLAGS"
+fi
+AC_TRY_COMPILE([
+#include <sys/types.h>
+#include <sys/socket.h>
+],[
+int a=0;
+getsockname(0,(struct sockaddr*)0, &a);
+],
+ac_cv_ksize_t=int,
+ac_cv_ksize_t=size_t)
+CXXFLAGS="$ac_safe_cxxflags"
+fi
+AC_LANG_RESTORE
+])
+
+if test -z "$ac_cv_ksize_t"; then
+  ac_cv_ksize_t=int
+fi
+
+AC_MSG_RESULT($ac_cv_ksize_t)
+AC_DEFINE_UNQUOTED(ksize_t, $ac_cv_ksize_t,
+      [Define the type of the third argument for getsockname]
+)
+
+])
+
+dnl This is a merge of some macros out of the gettext aclocal.m4
+dnl since we don't need anything, I took the things we need
+dnl the copyright for them is:
+dnl >
+dnl Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
+dnl This Makefile.in is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+dnl PARTICULAR PURPOSE.
+dnl >
+dnl for this file it is relicensed under LGPL
+
+AC_DEFUN(AM_KDE_WITH_NLS,
+  [
+    dnl If we use NLS figure out what method
+
+    AM_PATH_PROG_WITH_TEST_KDE(MSGFMT, msgfmt,
+        [test -n "`$ac_dir/$ac_word --version 2>&1 | grep 'GNU gettext'`"], msgfmt)
+    AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
+
+     if test -z "`$GMSGFMT --version 2>&1 | grep 'GNU gettext'`"; then
+        AC_MSG_RESULT([found msgfmt program is not GNU msgfmt; ignore it])
+        GMSGFMT=":"
+      fi
+      MSGFMT=$GMSGFMT
+      AC_SUBST(GMSGFMT)
+      AC_SUBST(MSGFMT)
+
+      AM_PATH_PROG_WITH_TEST_KDE(XGETTEXT, xgettext,
+	[test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
+
+      dnl Test whether we really found GNU xgettext.
+      if test "$XGETTEXT" != ":"; then
+	dnl If it is no GNU xgettext we define it as : so that the
+	dnl Makefiles still can work.
+	if $XGETTEXT --omit-header /dev/null 2> /dev/null; then
+	  : ;
+	else
+	  AC_MSG_RESULT(
+	    [found xgettext programs is not GNU xgettext; ignore it])
+	  XGETTEXT=":"
+	fi
+      fi
+     AC_SUBST(XGETTEXT)
+
+  ])
+
+# Search path for a program which passes the given test.
+# Ulrich Drepper <drepper at cygnus.com>, 1996.
+
+# serial 1
+# Stephan Kulow: I appended a _KDE against name conflicts
+
+dnl AM_PATH_PROG_WITH_TEST_KDE(VARIABLE, PROG-TO-CHECK-FOR,
+dnl   TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
+AC_DEFUN(AM_PATH_PROG_WITH_TEST_KDE,
+[# Extract the first word of "$2", so it can be a program name with args.
+set dummy $2; ac_word=[$]2
+AC_MSG_CHECKING([for $ac_word])
+AC_CACHE_VAL(ac_cv_path_$1,
+[case "[$]$1" in
+  /*)
+  ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
+  ;;
+  *)
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+  for ac_dir in ifelse([$5], , $PATH, [$5]); do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      if [$3]; then
+	ac_cv_path_$1="$ac_dir/$ac_word"
+	break
+      fi
+    fi
+  done
+  IFS="$ac_save_ifs"
+dnl If no 4th arg is given, leave the cache variable unset,
+dnl so AC_PATH_PROGS will keep looking.
+ifelse([$4], , , [  test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
+])dnl
+  ;;
+esac])dnl
+$1="$ac_cv_path_$1"
+if test -n "[$]$1"; then
+  AC_MSG_RESULT([$]$1)
+else
+  AC_MSG_RESULT(no)
+fi
+AC_SUBST($1)dnl
+])
+
+
+# Check whether LC_MESSAGES is available in <locale.h>.
+# Ulrich Drepper <drepper at cygnus.com>, 1995.
+
+# serial 1
+
+AC_DEFUN(AM_LC_MESSAGES,
+  [if test $ac_cv_header_locale_h = yes; then
+    AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES,
+      [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],
+       am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)])
+    if test $am_cv_val_LC_MESSAGES = yes; then
+      AC_DEFINE(HAVE_LC_MESSAGES, 1, [Define if your locale.h file contains LC_MESSAGES])
+    fi
+  fi])
+
+dnl From Jim Meyering.
+dnl FIXME: migrate into libit.
+
+AC_DEFUN(AM_FUNC_OBSTACK,
+[AC_CACHE_CHECK([for obstacks], am_cv_func_obstack,
+ [AC_TRY_LINK([#include "obstack.h"],
+	      [struct obstack *mem;obstack_free(mem,(char *) 0)],
+	      am_cv_func_obstack=yes,
+	      am_cv_func_obstack=no)])
+ if test $am_cv_func_obstack = yes; then
+   AC_DEFINE(HAVE_OBSTACK)
+ else
+   LIBOBJS="$LIBOBJS obstack.o"
+ fi
+])
+
+dnl From Jim Meyering.  Use this if you use the GNU error.[ch].
+dnl FIXME: Migrate into libit
+
+AC_DEFUN(AM_FUNC_ERROR_AT_LINE,
+[AC_CACHE_CHECK([for error_at_line], am_cv_lib_error_at_line,
+ [AC_TRY_LINK([],[error_at_line(0, 0, "", 0, "");],
+              am_cv_lib_error_at_line=yes,
+	      am_cv_lib_error_at_line=no)])
+ if test $am_cv_lib_error_at_line = no; then
+   LIBOBJS="$LIBOBJS error.o"
+ fi
+ AC_SUBST(LIBOBJS)dnl
+])
+
+# Macro to add for using GNU gettext.
+# Ulrich Drepper <drepper at cygnus.com>, 1995.
+
+# serial 1
+# Stephan Kulow: I put a KDE in it to avoid name conflicts
+
+AC_DEFUN(AM_KDE_GNU_GETTEXT,
+  [AC_REQUIRE([AC_PROG_MAKE_SET])dnl
+   AC_REQUIRE([AC_PROG_RANLIB])dnl
+   AC_REQUIRE([AC_HEADER_STDC])dnl
+   AC_REQUIRE([AC_TYPE_OFF_T])dnl
+   AC_REQUIRE([AC_TYPE_SIZE_T])dnl
+   AC_REQUIRE([AC_FUNC_ALLOCA])dnl
+   AC_REQUIRE([AC_FUNC_MMAP])dnl
+   AC_REQUIRE([AM_KDE_WITH_NLS])dnl
+   AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h string.h values.h alloca.h])
+   AC_CHECK_FUNCS([getcwd munmap putenv setenv setlocale strchr strcasecmp \
+__argz_count __argz_stringify __argz_next])
+
+   AC_MSG_CHECKING(for stpcpy)
+   AC_CACHE_VAL(kde_cv_func_stpcpy,
+   [
+   kde_safe_cxxflags=$CXXFLAGS
+   CXXFLAGS="-Wmissing-prototypes -Werror"
+   AC_LANG_SAVE
+   AC_LANG_CPLUSPLUS
+   AC_TRY_COMPILE([
+   #include <string.h>
+   ],
+   [
+   char buffer[200];
+   stpcpy(buffer, buffer);
+   ],
+   kde_cv_func_stpcpy=yes,
+   kde_cv_func_stpcpy=no)
+   AC_LANG_RESTORE
+   CXXFLAGS=$kde_safe_cxxflags
+   ])
+   AC_MSG_RESULT($kde_cv_func_stpcpy)
+   if eval "test \"`echo $kde_cv_func_stpcpy`\" = yes"; then
+     AC_DEFINE(HAVE_STPCPY, 1, [Define if you have stpcpy])
+   fi
+
+   AM_LC_MESSAGES
+
+   if test "x$CATOBJEXT" != "x"; then
+     if test "x$ALL_LINGUAS" = "x"; then
+       LINGUAS=
+     else
+       AC_MSG_CHECKING(for catalogs to be installed)
+       NEW_LINGUAS=
+       for lang in ${LINGUAS=$ALL_LINGUAS}; do
+         case "$ALL_LINGUAS" in
+          *$lang*) NEW_LINGUAS="$NEW_LINGUAS $lang" ;;
+         esac
+       done
+       LINGUAS=$NEW_LINGUAS
+       AC_MSG_RESULT($LINGUAS)
+     fi
+
+     dnl Construct list of names of catalog files to be constructed.
+     if test -n "$LINGUAS"; then
+       for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done
+     fi
+   fi
+
+  ])
+
+AC_DEFUN(AC_HAVE_XPM,
+ [AC_REQUIRE_CPP()dnl
+  AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
+
+ test -z "$XPM_LDFLAGS" && XPM_LDFLAGS=
+ test -z "$XPM_INCLUDE" && XPM_INCLUDE=
+
+ AC_ARG_WITH(xpm, [  --without-xpm           disable color pixmap XPM tests],
+	xpm_test=$withval, xpm_test="yes")
+ if test "x$xpm_test" = xno; then
+   ac_cv_have_xpm=no
+ else
+   AC_MSG_CHECKING(for XPM)
+   AC_CACHE_VAL(ac_cv_have_xpm,
+   [
+    AC_LANG_C
+    ac_save_ldflags="$LDFLAGS"
+    ac_save_cflags="$CFLAGS"
+    LDFLAGS="$LDFLAGS $X_LDFLAGS $USER_LDFLAGS $LDFLAGS $XPM_LDFLAGS $all_libraries -lXpm -lX11 -lXext $LIBZ $LIBSOCKET"
+    CFLAGS="$CFLAGS $X_INCLUDES $USER_INCLUDES"
+    test -n "$XPM_INCLUDE" && CFLAGS="-I$XPM_INCLUDE $CFLAGS"
+    AC_TRY_LINK([#include <X11/xpm.h>],[],
+	ac_cv_have_xpm="yes",ac_cv_have_xpm="no")
+    LDFLAGS="$ac_save_ldflags"
+    CFLAGS="$ac_save_cflags"
+   ])dnl
+
+  if test "$ac_cv_have_xpm" = no; then
+    AC_MSG_RESULT(no)
+    XPM_LDFLAGS=""
+    XPMINC=""
+    $2
+  else
+    AC_DEFINE(HAVE_XPM, 1, [Define if you have XPM support])
+    if test "$XPM_LDFLAGS" = ""; then
+       XPMLIB='-lXpm $(LIB_X11)'
+    else
+       XPMLIB="-L$XPM_LDFLAGS -lXpm "'$(LIB_X11)'
+    fi
+    if test "$XPM_INCLUDE" = ""; then
+       XPMINC=""
+    else
+       XPMINC="-I$XPM_INCLUDE"
+    fi
+    AC_MSG_RESULT(yes)
+    $1
+  fi
+ fi
+ AC_SUBST(XPMINC)
+ AC_SUBST(XPMLIB)
+])
+
+AC_DEFUN(AC_HAVE_DPMS,
+ [AC_REQUIRE_CPP()dnl
+  AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
+
+ test -z "$DPMS_LDFLAGS" && DPMS_LDFLAGS=
+ test -z "$DPMS_INCLUDE" && DPMS_INCLUDE=
+ DPMS_LIB=
+
+ AC_ARG_WITH(dpms, [  --without-dpms          disable DPMS power saving],
+	dpms_test=$withval, dpms_test="yes")
+ if test "x$dpms_test" = xno; then
+   ac_cv_have_dpms=no
+ else
+   AC_MSG_CHECKING(for DPMS)
+   dnl Note: ac_cv_have_dpms can be no, yes, or -lXdpms.
+   dnl 'yes' means DPMS_LIB="", '-lXdpms' means DPMS_LIB="-lXdpms".
+   AC_CACHE_VAL(ac_cv_have_dpms,
+   [
+    AC_LANG_C
+    ac_save_ldflags="$LDFLAGS"
+    ac_save_cflags="$CFLAGS"
+    ac_save_libs="$LIBS"
+    LDFLAGS="$LDFLAGS $DPMS_LDFLAGS $all_libraries -lX11 -lXext $LIBSOCKET"
+    CFLAGS="$CFLAGS $X_INCLUDES"
+    test -n "$DPMS_INCLUDE" && CFLAGS="-I$DPMS_INCLUDE $CFLAGS"
+    AC_TRY_LINK([
+	#include <X11/Xproto.h>
+	#include <X11/X.h>
+	#include <X11/Xlib.h>
+	#include <X11/extensions/dpms.h>
+	int foo_test_dpms()
+	{ return DPMSSetTimeouts( 0, 0, 0, 0 ); }],[],
+	ac_cv_have_dpms="yes", [
+            LDFLAGS="$ac_save_ldflags"
+            CFLAGS="$ac_save_cflags"
+            LDFLAGS="$LDFLAGS $DPMS_LDFLAGS $all_libraries -lX11 -lXext $LIBSOCKET"
+            LIBS="$LIBS -lXdpms"
+            CFLAGS="$CFLAGS $X_INCLUDES"
+            test -n "$DPMS_INCLUDE" && CFLAGS="-I$DPMS_INCLUDE $CFLAGS"
+            AC_TRY_LINK([
+	        #include <X11/Xproto.h>
+        	#include <X11/X.h>
+        	#include <X11/Xlib.h>
+        	#include <X11/extensions/dpms.h>
+        	int foo_test_dpms()
+        	{ return DPMSSetTimeouts( 0, 0, 0, 0 ); }],[],
+        	[
+                ac_cv_have_dpms="-lXdpms"
+                ],ac_cv_have_dpms="no")
+            ])
+    LDFLAGS="$ac_save_ldflags"
+    CFLAGS="$ac_save_cflags"
+    LIBS="$ac_save_libs"
+   ])dnl
+
+  if test "$ac_cv_have_dpms" = no; then
+    AC_MSG_RESULT(no)
+    DPMS_LDFLAGS=""
+    DPMSINC=""
+    $2
+  else
+    AC_DEFINE(HAVE_DPMS, 1, [Define if you have DPMS support])
+    if test "$ac_cv_have_dpms" = "-lXdpms"; then
+       DPMS_LIB="-lXdpms"
+    fi
+    if test "$DPMS_LDFLAGS" = ""; then
+       DPMSLIB="$DPMS_LIB "'$(LIB_X11)'
+    else
+       DPMSLIB="$DPMS_LDFLAGS $DPMS_LIB "'$(LIB_X11)'
+    fi
+    if test "$DPMS_INCLUDE" = ""; then
+       DPMSINC=""
+    else
+       DPMSINC="-I$DPMS_INCLUDE"
+    fi
+    AC_MSG_RESULT(yes)
+    $1
+  fi
+ fi
+ AC_SUBST(DPMSINC)
+ AC_SUBST(DPMSLIB)
+])
+
+AC_DEFUN(AC_HAVE_GL,
+ [AC_REQUIRE_CPP()dnl
+  AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
+
+ test -z "$GL_LDFLAGS" && GL_LDFLAGS=
+ test -z "$GL_INCLUDE" && GL_INCLUDE=
+
+ AC_ARG_WITH(gl, [  --without-gl            disable 3D GL modes],
+	gl_test=$withval, gl_test="yes")
+ if test "x$gl_test" = xno; then
+   ac_cv_have_gl=no
+ else
+   AC_MSG_CHECKING(for GL)
+   AC_CACHE_VAL(ac_cv_have_gl,
+   [
+    AC_LANG_C
+    ac_save_ldflags="$LDFLAGS"
+    ac_save_cflags="$CFLAGS"
+    LDFLAGS="$LDFLAGS $GL_LDFLAGS $X_LDFLAGS $all_libraries -lMesaGL -lMesaGLU -lX11 -lXext -lm $LIBSOCKET"
+    CFLAGS="$CFLAGS $X_INCLUDES"
+    test -n "$GL_INCLUDE" && CFLAGS="-I$GL_INCLUDE $CFLAGS"
+    AC_TRY_LINK([#include <GL/gl.h>
+#include <GL/glu.h>           
+], [],
+	ac_cv_have_gl="mesa", ac_cv_have_gl="no")
+    if test "x$ac_cv_have_gl" = "xno"; then
+      LDFLAGS="$ac_save_ldflags $X_LDFLAGS $GL_LDFLAGS $all_libraries -lGL -lGLU -lX11 -lXext -lm $LIBSOCKET"
+      CFLAGS="$ac_save_cflags $X_INCLUDES"
+      test -n "$GL_INCLUDE" && CFLAGS="-I$GL_INCLUDE $CFLAGS"
+      AC_TRY_LINK([#include <GL/gl.h>
+#include <GL/glu.h>
+], [],
+	  ac_cv_have_gl="yes", ac_cv_have_gl="no")
+    fi
+    LDFLAGS="$ac_save_ldflags"
+    CFLAGS="$ac_save_cflags"
+   ])dnl
+
+  if test "$ac_cv_have_gl" = "no"; then
+    AC_MSG_RESULT(no)
+    GL_LDFLAGS=""
+    GLINC=""
+    $2
+  else
+    AC_DEFINE(HAVE_GL, 1, [Defines if you have GL (Mesa, OpenGL, ...)])
+    if test "$GL_LDFLAGS" = ""; then
+       if test "$ac_cv_have_gl" = "mesa"; then
+          GLLIB='-lMesaGL -lMesaGLU $(LIB_X11)'
+       else
+          GLLIB='-lGL -lGLU $(LIB_X11)'
+       fi
+    else
+       if test "$ac_cv_have_gl" = "mesa"; then
+          GLLIB="$GL_LDFLAGS -lMesaGL -lMesaGLU "'$(LIB_X11)'
+       else
+          GLLIB="$GL_LDFLAGS -lGL -lGLU "'$(LIB_X11)'
+       fi
+    fi
+    if test "$GL_INCLUDE" = ""; then
+       GLINC=""
+    else
+       GLINC="-I$GL_INCLUDE"
+    fi
+    AC_MSG_RESULT($ac_cv_have_gl)
+    $1
+  fi
+ fi
+ AC_SUBST(GLINC)
+ AC_SUBST(GLLIB)
+])
+
+ dnl PAM pam
+
+ dnl Should test for PAM (Pluggable Authentication Modules)
+ AC_DEFUN(AC_PATH_PAM_DIRECT,
+ [
+ test -z "$pam_direct_test_library" && pam_direct_test_library=pam
+ test -z "$pam_direct_test_include" && pam_direct_test_include=security/pam_appl.h
+
+   for ac_dir in               \
+                               \
+     /usr/local/include        \
+     /usr/include              \
+     /usr/unsupported/include  \
+     /opt/include              \
+     /usr/pam/include          \
+     /usr/local/pam/include    \
+     /usr/lib/pam/include      \
+ 			      \
+     $extra_include            \
+     ; \
+   do
+     if test -r "$ac_dir/$pam_direct_test_include"; then
+       no_pam= ac_pam_includes=$ac_dir
+       break
+     fi
+   done
+
+ # First see if replacing the include by lib works.
+ for ac_dir in `echo "$ac_pam_includes" | sed s/include/lib/` \
+                           \
+     /lib                  \
+     /usr/lib              \
+     /usr/local/lib        \
+     /usr/unsupported/lib  \
+     /lib/security         \
+     /usr/security/lib     \
+     $extra_lib            \
+     ; \
+ do
+   for ac_extension in a so sl; do
+     if test -r $ac_dir/lib${pam_direct_test_library}.$ac_extension; then
+       no_pam= ac_pam_libraries=$ac_dir
+       break 2
+     fi
+   done
+ done
+])
+
+AC_DEFUN(AC_PATH_PAM,
+ [
+  AC_REQUIRE([KDE_CHECK_LIBDL])
+  AC_REQUIRE_CPP()dnl
+
+dnl AC_CHECK_LIB(pam_misc, main, [PAM_MISC_LIB="-lpam_misc"
+dnl              AC_DEFINE_UNQUOTED(HAVE_PAM_MISC, 1, [Define if you have a PAM implementation with the pam_misc library])], [], [-lpam $LIBDL])
+
+ AC_MSG_CHECKING(for PAM)
+ AC_ARG_WITH(pam,
+[  --with-pam[=ARG]        enable support for PAM: ARG=[yes|no|service name]],
+  [
+    if test "x$withval" = "xyes"; then
+      no_pam=
+      default_pam=yes
+    elif test "x$withval" = "xno"; then
+      no_pam=yes
+    else
+      no_pam=
+      pam_service="$withval"
+        if test -z "$pam_service"; then
+        default_pam=yes
+        else
+        default_pam=
+        fi
+      fi
+  ], no_pam=yes
+ )
+
+ if test ! "$no_pam" = yes; then
+
+ AC_CACHE_VAL(ac_cv_path_pam,
+ [
+ ac_pam_includes=NONE
+ ac_pam_libraries=NONE
+ if test -z "$pam_libraries"; then
+   pam_libraries=NONE
+ fi
+ if test -z "$pam_includes"; then
+   pam_includes=NONE
+ fi
+
+ AC_PATH_PAM_DIRECT
+
+ test "x$pam_includes" = xNONE && pam_includes=$ac_pam_includes
+ test "x$pam_libraries" = xNONE && pam_libraries=$ac_pam_libraries
+
+ if test ! "x$pam_includes" = xNONE && test ! "x$pam_libraries" = xNONE; then
+   ac_pam_libs="-lpam $PAM_MISC_LIB $LIBDL"
+   ac_cv_path_pam="no_pam= ac_pam_includes=$ac_pam_includes ac_pam_libraries=$ac_pam_libraries ac_pam_libs=\"$ac_pam_libs\""
+ else
+   ac_cv_path_pam="no_pam=yes"
+ fi
+ ])
+
+ eval "$ac_cv_path_pam"
+
+ fi
+
+ if test "$no_pam" = yes; then
+   AC_MSG_RESULT(no)
+ else
+   AC_DEFINE(HAVE_PAM, 1, [Defines if you have PAM (Pluggable Authentication Modules); Redhat-Users!])
+   PAMLIBS="$ac_pam_libs"
+   test "x$pam_includes" = xNONE && pam_includes=$ac_pam_includes
+   test "x$pam_libraries" = xNONE && pam_libraries=$ac_pam_libraries
+   AC_MSG_RESULT([libraries $pam_libraries, headers $pam_includes])
+ if test "$default_pam" = yes; then
+   AC_MSG_RESULT(["default pam service name will be used"])
+ else
+   AC_DEFINE_UNQUOTED(KDE_PAM_SERVICE,"$pam_service", [Define to change the default name of the PAM service used by KDE])
+   AC_MSG_RESULT(["pam service name will be: " $pam_service])
+ fi
+dnl test whether struct pam_message is const (Linux) or not (Sun)
+   pam_appl_h="$ac_pam_includes/security/pam_appl.h"
+   AC_MSG_CHECKING(for const pam_message)
+   AC_EGREP_HEADER([struct pam_message],
+      $pam_appl_h,
+      [ AC_EGREP_HEADER([const struct pam_message],
+                        $pam_appl_h,
+                        [AC_MSG_RESULT(["const: Linux-type PAM"]) ],
+                        [AC_MSG_RESULT(["nonconst: Sun-type PAM"])
+                        AC_DEFINE(PAM_MESSAGE_NONCONST, 1, [Define if your PAM support takes non-const arguments (Solaris)])]
+                        )],
+       [AC_MSG_RESULT(["not found - assume const, Linux-type PAM"])]
+       )
+ fi
+
+ if test "x$pam_libraries" != x && test "x$pam_libraries" != xNONE ; then
+     PAMLIBPATHS="-L$pam_libraries"
+ fi
+ if test "x$pam_includes" != x && test "x$pam_includes" != xNONE ; then
+     PAMINC="-I$pam_includes"
+ fi
+
+ AC_SUBST(PAMINC)
+ AC_SUBST(PAMLIBS)
+ AC_SUBST(PAMLIBPATHS)
+
+])
+
+AC_DEFUN(KDE_CHECK_LIBDL,
+[
+AC_CHECK_LIB(dl, dlopen, [
+LIBDL="-ldl"
+ac_cv_have_dlfcn=yes
+])
+
+AC_CHECK_LIB(dld, shl_unload, [
+LIBDL="-ldld"
+ac_cv_have_shload=yes
+])
+
+AC_SUBST(LIBDL)
+])
+
+AC_DEFUN(KDE_CHECK_DLOPEN,
+[
+KDE_CHECK_LIBDL
+AC_CHECK_HEADERS(dlfcn.h dl.h)
+if test "$ac_cv_header_dlfcn_h" = "no"; then
+  ac_cv_have_dlfcn=no
+fi
+
+if test "$ac_cv_header_dl_h" = "no"; then
+  ac_cv_have_shload=no
+fi
+
+dnl XXX why change enable_dlopen? its already set by autoconf's AC_ARG_ENABLE
+dnl (MM)
+AC_ARG_ENABLE(dlopen,
+[  --disable-dlopen        link statically [default=no]] ,
+enable_dlopen=$enableval,
+enable_dlopen=yes)
+
+# override the user's opinion, if we know it better ;)
+if test "$ac_cv_have_dlfcn" = "no" && test "$ac_cv_have_shload" = "no"; then
+  enable_dlopen=no
+fi
+
+if test "$ac_cv_have_dlfcn" = "yes"; then
+  AC_DEFINE_UNQUOTED(HAVE_DLFCN, 1, [Define if you have dlfcn])
+fi
+
+if test "$ac_cv_have_shload" = "yes"; then
+  AC_DEFINE_UNQUOTED(HAVE_SHLOAD, 1, [Define if you have shload])
+fi
+
+if test "$enable_dlopen" = no ; then
+  test -n "$1" && eval $1
+else
+  test -n "$2" && eval $2
+fi
+
+])
+
+AC_DEFUN(KDE_CHECK_DYNAMIC_LOADING,
+[
+KDE_CHECK_DLOPEN(libtool_enable_shared=yes, libtool_enable_static=no)
+KDE_PROG_LIBTOOL
+AC_MSG_CHECKING([dynamic loading])
+eval "`egrep '^build_libtool_libs=' libtool`"
+if test "$build_libtool_libs" = "yes" && test "$enable_dlopen" = "yes"; then
+  dynamic_loading=yes
+  AC_DEFINE_UNQUOTED(HAVE_DYNAMIC_LOADING)
+else
+  dynamic_loading=no
+fi
+AC_MSG_RESULT($dynamic_loading)
+if test "$dynamic_loading" = "yes"; then
+  $1
+else
+  $2
+fi
+])
+
+AC_DEFUN(KDE_ADD_INCLUDES,
+[
+if test -z "$1"; then
+  test_include="Pix.h"
+else
+  test_include="$1"
+fi
+
+AC_MSG_CHECKING([for libg++ ($test_include)])
+
+AC_CACHE_VAL(kde_cv_libgpp_includes,
+[
+kde_cv_libgpp_includes=no
+
+   for ac_dir in               \
+                               \
+     /usr/include/g++          \
+     /usr/include              \
+     /usr/unsupported/include  \
+     /opt/include              \
+     $extra_include            \
+     ; \
+   do
+     if test -r "$ac_dir/$test_include"; then
+       kde_cv_libgpp_includes=$ac_dir
+       break
+     fi
+   done
+])
+
+AC_MSG_RESULT($kde_cv_libgpp_includes)
+if test "$kde_cv_libgpp_includes" != "no"; then
+  all_includes="-I$kde_cv_libgpp_includes $all_includes $USER_INCLUDES"
+fi
+])
+])
+
+
+AC_DEFUN(KDE_CHECK_MICO,
+[
+AC_REQUIRE([KDE_CHECK_LIBDL])
+AC_REQUIRE([KDE_MISC_TESTS])
+AC_MSG_CHECKING(for MICO)
+
+if test -z "$MICODIR"; then
+    kde_micodir=/usr/local
+ else
+    kde_micodir="$MICODIR"
+fi
+
+AC_ARG_WITH(micodir,
+  [  --with-micodir=micodir  where mico is installed ],
+  kde_micodir=$withval,
+  kde_micodir=$kde_micodir
+)
+
+AC_CACHE_VAL(kde_cv_mico_incdir,
+[
+  mico_incdirs="$kde_micodir/include /usr/include /usr/local/include /usr/local/include /opt/local/include $kde_extra_includes"
+AC_FIND_FILE(CORBA.h, $mico_incdirs, kde_cv_mico_incdir)
+
+])
+kde_micodir=`echo $kde_cv_mico_incdir | sed -e 's#/include##'`
+
+if test ! -r  $kde_micodir/include/CORBA.h; then
+  AC_MSG_ERROR([No CORBA.h found, specify another micodir])
+fi
+
+AC_MSG_RESULT($kde_micodir)
+
+MICO_INCLUDES=-I$kde_micodir/include
+AC_SUBST(MICO_INCLUDES)
+MICO_LDFLAGS=-L$kde_micodir/lib
+AC_SUBST(MICO_LDFLAGS)
+micodir=$kde_micodir
+AC_SUBST(micodir)
+
+AC_MSG_CHECKING([for MICO version])
+AC_CACHE_VAL(kde_cv_mico_version,
+[
+AC_LANG_C
+cat >conftest.$ac_ext <<EOF
+#include <stdio.h>
+#include <mico/version.h>
+int main() {
+
+   printf("MICO_VERSION=%s\n",MICO_VERSION);
+   return (0);
+}
+EOF
+ac_compile='${CC-gcc} $CFLAGS $MICO_INCLUDES conftest.$ac_ext -o conftest'
+if AC_TRY_EVAL(ac_compile); then
+  if eval `./conftest 2>&5`; then
+    kde_cv_mico_version=$MICO_VERSION
+  else
+    AC_MSG_ERROR([your system is not able to execute a small application to
+    find MICO version! Check $kde_micodir/include/mico/version.h])
+  fi
+else
+  AC_MSG_ERROR([your system is not able to compile a small application to
+  find MICO version! Check $kde_micodir/include/mico/version.h])
+fi
+])
+
+dnl installed MICO version
+mico_v_maj=`echo $kde_cv_mico_version | sed -e 's/^\(.*\)\..*\..*$/\1/'`
+mico_v_mid=`echo $kde_cv_mico_version | sed -e 's/^.*\.\(.*\)\..*$/\1/'`
+mico_v_min=`echo $kde_cv_mico_version | sed -e 's/^.*\..*\.\(.*\)$/\1/'`
+
+if test "x$1" = "x"; then
+ req_version="2.3.0"
+else
+ req_version=$1
+fi
+
+dnl required MICO version
+req_v_maj=`echo $req_version | sed -e 's/^\(.*\)\..*\..*$/\1/'`
+req_v_mid=`echo $req_version | sed -e 's/^.*\.\(.*\)\..*$/\1/'`
+req_v_min=`echo $req_version | sed -e 's/^.*\..*\.\(.*\)$/\1/'`
+
+if test "$mico_v_maj" -lt "$req_v_maj" || \
+   ( test "$mico_v_maj" -eq "$req_v_maj" && \
+        test "$mico_v_mid" -lt "$req_v_mid" ) || \
+   ( test "$mico_v_mid" -eq "$req_v_mid" && \
+        test "$mico_v_min" -lt "$req_v_min" )
+
+then
+  AC_MSG_ERROR([found MICO version $kde_cv_mico_version but version $req_version \
+at least is required. You should upgrade MICO.])
+else
+  AC_MSG_RESULT([$kde_cv_mico_version (minimum version $req_version, ok)])
+fi
+
+LIBMICO="-lmico$kde_cv_mico_version $LIBCRYPT $LIBSOCKET $LIBDL"
+AC_SUBST(LIBMICO)
+if test -z "$IDL"; then
+  IDL='$(kde_bindir)/cuteidl'
+fi
+AC_SUBST(IDL)
+IDL_DEPENDENCIES='$(kde_includes)/CUTE.h'
+AC_SUBST(IDL_DEPENDENCIES)
+
+idldir="\$(includedir)/idl"
+AC_SUBST(idldir)
+
+])
+
+AC_DEFUN(KDE_CHECK_MINI_STL,
+[
+AC_REQUIRE([KDE_CHECK_MICO])
+
+AC_MSG_CHECKING(if we use mico's mini-STL)
+AC_CACHE_VAL(kde_cv_have_mini_stl,
+[
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+kde_save_cxxflags="$CXXFLAGS"
+CXXFLAGS="$CXXFLAGS $MICO_INCLUDES"
+AC_TRY_COMPILE(
+[
+#include <mico/config.h>
+],
+[
+#ifdef HAVE_MINI_STL
+#error "nothing"
+#endif
+],
+kde_cv_have_mini_stl=no,
+kde_cv_have_mini_stl=yes)
+CXXFLAGS="$kde_save_cxxflags"
+AC_LANG_RESTORE
+])
+
+if test "x$kde_cv_have_mini_stl" = "xyes"; then
+   AC_MSG_RESULT(yes)
+   $1
+else
+   AC_MSG_RESULT(no)
+   $2
+fi
+])
+
+])
+
+
+AC_DEFUN(KDE_CHECK_LIBPTHREAD,
+[
+AC_CHECK_LIB(pthread, pthread_create, [LIBPTHREAD="-lpthread"] )
+AC_SUBST(LIBPTHREAD)
+])
+
+AC_DEFUN(KDE_CHECK_PTHREAD_OPTION,
+[
+    AC_ARG_ENABLE(kernel-threads, [  --enable-kernel-threads Enable the use of the LinuxThreads port on FreeBSD/i386 only.],
+	kde_use_kernthreads=$enableval, kde_use_kernthreads=no)
+
+    if test "$kde_use_kernthreads" = "yes"; then
+      ac_save_CXXFLAGS="$CXXFLAGS"
+      ac_save_CFLAGS="$CXXFLAGS"
+      CXXFLAGS="-I/usr/local/include/pthread/linuxthreads $CXXFLAGS"
+      CFLAGS="-I/usr/local/include/pthread/linuxthreads $CFLAGS"
+      AC_CHECK_HEADERS(pthread/linuxthreads/pthread.h)
+      CXXFLAGS="$ac_save_CXXFLAGS"
+      CFLAGS="$ac_save_CFLAGS"
+      if test "$ac_cv_header_pthread_linuxthreads_pthread_h" = "no"; then
+        kde_use_kernthreads=no
+      else
+        dnl Add proper -I and -l statements
+        AC_CHECK_LIB(lthread, pthread_join, [LIBPTHREAD="-llthread -llgcc_r"]) dnl for FreeBSD
+        if test "x$LIBPTHREAD" = "x"; then
+          kde_use_kernthreads=no
+        else
+          USE_THREADS="-D_THREAD_SAFE -I/usr/local/include/pthread/linuxthreads"
+        fi
+      fi
+    else 
+      USE_THREADS=""
+      if test -z "$LIBPTHREAD"; then
+        KDE_CHECK_COMPILER_FLAG(pthread, [USE_THREADS="-pthread"] )
+      fi
+    fi
+
+    case $host_os in
+ 	solaris*)
+		KDE_CHECK_COMPILER_FLAG(mt, [USE_THREADS="-mt"])
+                CPPFLAGS="$CPPFLAGS -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -DUSE_SOLARIS"
+                echo "Setting Solaris pthread compilation options"
+    		;;
+        freebsd*)
+                CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE"
+                echo "Setting FreeBSD pthread compilation options"
+                ;;
+        aix*)
+                CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE"
+                LIBPTHREAD="$LIBPTHREAD -lc_r"
+                echo "Setting AIX pthread compilation options"
+                ;;
+        linux*) CPPFLAGS="$CPPFLAGS -D_REENTRANT"
+                USE_THREADS="$USE_THREADS -DPIC -fPIC"
+                echo "Setting Linux pthread compilation options"
+                ;;
+	*)
+		;;
+    esac
+    AC_SUBST(USE_THREADS)
+    AC_SUBST(LIBPTHREAD)
+])
+
+AC_DEFUN(KDE_CHECK_THREADING,
+[
+  AC_REQUIRE([KDE_CHECK_LIBPTHREAD])
+  AC_REQUIRE([KDE_CHECK_PTHREAD_OPTION])
+  dnl default is yes if libpthread is found and no if no libpthread is available
+  if test -z "$LIBPTHREAD"; then
+    kde_check_threading_default=no
+  else
+    kde_check_threading_default=yes
+  fi
+  AC_ARG_ENABLE(threading, [  --disable-threading     disables threading even if libpthread found ],
+   kde_use_threading=$enableval, kde_use_threading=$kde_check_threading_default)
+
+  if test "x$kde_use_threading" = "xyes"; then
+    AC_DEFINE(HAVE_LIBPTHREAD, 1, [Define if you have a working libpthread (will enable threaded code)])
+  fi
+])
+
+AC_DEFUN(KDE_TRY_LINK_PYTHON,
+[
+if test "$kde_python_link_found" = no; then
+
+if test "$1" = normal; then
+  AC_MSG_CHECKING(if a Python application links)
+else
+  AC_MSG_CHECKING(if Python depends on $2)
+fi
+
+AC_CACHE_VAL(kde_cv_try_link_python_$1,
+[
+AC_LANG_SAVE
+AC_LANG_C
+kde_save_cflags="$CFLAGS"
+CFLAGS="$CFLAGS $PYTHONINC"
+kde_save_libs="$LIBS"
+LIBS="$LIBS $LIBPYTHON $2 $LIBDL $LIBSOCKET"
+kde_save_ldflags="$LDFLAGS"
+LDFLAGS="$LDFLAGS $PYTHONLIB"
+
+AC_TRY_LINK(
+[
+#include <Python.h>
+],[
+	PySys_SetArgv(1, 0);
+],
+	[kde_cv_try_link_python_$1=yes],
+	[kde_cv_try_link_python_$1=no]
+)
+CFLAGS="$kde_save_cflags"
+LIBS="$kde_save_libs"
+LDFLAGS="$kde_save_ldflags"
+])
+
+if test "$kde_cv_try_link_python_$1" = "yes"; then
+  AC_MSG_RESULT(yes)
+  kde_python_link_found=yes
+  if test ! "$1" = normal; then
+    LIBPYTHON="$LIBPYTHON $2"
+  fi
+  $3
+else
+  AC_MSG_RESULT(no)
+  $4
+fi
+AC_LANG_RESTORE
+
+fi
+
+])
+
+AC_DEFUN(KDE_CHECK_PYTHON,
+[
+AC_REQUIRE([KDE_CHECK_LIBDL])
+AC_REQUIRE([KDE_CHECK_LIBPTHREAD])
+
+AC_MSG_CHECKING([for Python directory])
+
+AC_CACHE_VAL(kde_cv_pythondir,
+[
+  if test -z "$PYTHONDIR"; then
+    kde_cv_pythondir=/usr/local
+  else
+    kde_cv_pythondir="$PYTHONDIR"
+  fi
+])
+
+AC_ARG_WITH(pythondir,
+[  --with-pythondir=pythondir   use python installed in pythondir ],
+[
+  ac_python_dir=$withval
+], ac_python_dir=$kde_cv_pythondir
+)
+
+AC_MSG_RESULT($ac_python_dir)
+
+if test -z "$1"; then
+  version="1.5"
+else
+  version="$1"
+fi
+
+AC_MSG_CHECKING([for Python$version])
+
+python_incdirs="$ac_python_dir/include /usr/include /usr/local/include/ $kde_extra_includes"
+AC_FIND_FILE(Python.h, $python_incdirs, python_incdir)
+if test ! -r $python_incdir/Python.h; then
+  AC_FIND_FILE(python$version/Python.h, $python_incdirs, python_incdir)
+  python_incdir=$python_incdir/python$version
+  if test ! -r $python_incdir/Python.h; then
+    AC_MSG_ERROR(Python.h not found.)
+  fi
+fi
+
+PYTHONINC=-I$python_incdir
+
+python_libdirs="$ac_python_dir/lib /usr/lib /usr/local /usr/lib $kde_extra_libs"
+AC_FIND_FILE(libpython$version.a, $python_libdirs, python_libdir)
+if test ! -r $python_libdir/libpython$version.a; then
+  AC_FIND_FILE(python$version/config/libpython$version.a, $python_libdirs, python_libdir)
+  python_libdir=$python_libdir/python$version/config
+  if test ! -r $python_libdir/libpython$version.a; then
+    AC_MSG_ERROR(libpython$version.a not found.)
+  fi
+fi
+
+PYTHONLIB=-L$python_libdir
+if test -z "$LIBPYTHON"; then
+LIBPYTHON=-lpython$version
+fi
+
+python_libdirs="$ac_python_dir/lib /usr/lib /usr/local /usr/lib $kde_extra_libs"
+AC_FIND_FILE(python$version/copy.py, $python_libdirs, python_moddir)
+python_moddir=$python_moddir/python$version
+if test ! -r $python_moddir/copy.py; then
+  AC_MSG_ERROR(python module directory not found.)
+fi
+
+PYTHONMODDIR=$python_moddir
+
+AC_MSG_RESULT(header $python_incdir library $python_libdir modules $python_moddir)
+
+dnl Note: this test is very weak
+kde_python_link_found=no
+KDE_TRY_LINK_PYTHON(normal)
+KDE_TRY_LINK_PYTHON(m, -lm)
+KDE_TRY_LINK_PYTHON(pthread, $LIBPTHREAD)
+KDE_TRY_LINK_PYTHON(tcl, -ltcl)
+KDE_TRY_LINK_PYTHON(m_and_thread, [$LIBPTHREAD -lm], [],
+	[AC_MSG_WARN([it seems, Python depends on another library.
+    Pleae use \"make LIBPTYHON='-lpython$version -lotherlib'\" to fix this
+    and contact the authors to let them know about this problem])
+	])
+
+LIBPYTHON="$LIBPYTHON $LIBDL $LIBSOCKET"
+AC_SUBST(PYTHONINC)
+AC_SUBST(PYTHONLIB)
+AC_SUBST(LIBPYTHON)
+AC_SUBST(PYTHONMODDIR)
+
+])
+
+
+AC_DEFUN(KDE_CHECK_STL_SGI,
+[
+    AC_MSG_CHECKING([if STL implementation is SGI like])
+    AC_CACHE_VAL(kde_cv_stl_type_sgi,
+    [
+      AC_TRY_COMPILE([
+#include <string>
+using namespace std;
+],[
+  string astring="Hallo Welt.";
+  astring.erase(0, 6); // now astring is "Welt"
+  return 0;
+], kde_cv_stl_type_sgi=yes,
+   kde_cv_stl_type_sgi=no)
+])
+
+   AC_MSG_RESULT($kde_cv_stl_type_sgi)
+
+   if test "$kde_cv_stl_type_sgi" = "yes"; then
+	AC_DEFINE_UNQUOTED(HAVE_SGI_STL, 1, [Define if you have a STL implementation by SGI])
+   fi
+])
+
+AC_DEFUN(KDE_CHECK_STL_HP,
+[
+    AC_MSG_CHECKING([if STL implementation is HP like])
+    AC_CACHE_VAL(kde_cv_stl_type_hp,
+    [
+      AC_TRY_COMPILE([
+#include <string>
+using namespace std;
+],[
+  string astring="Hello World";
+  astring.remove(0, 6); // now astring is "World"
+  return 0;
+], kde_cv_stl_type_hp=yes,
+   kde_cv_stl_type_hp=no)
+])
+   AC_MSG_RESULT($kde_cv_stl_type_hp)
+
+   if test "$kde_cv_stl_type_hp" = "yes"; then
+	AC_DEFINE_UNQUOTED(HAVE_HP_STL, 1, [Define if you have a STL implementation by SGI])
+   fi
+])
+
+AC_DEFUN(KDE_CHECK_STL,
+[
+    AC_LANG_SAVE
+    AC_LANG_CPLUSPLUS
+    ac_save_CXXFLAGS="$CXXFLAGS"
+    CXXFLAGS="`echo $CXXFLAGS | sed s/-fno-exceptions//`"
+    KDE_CHECK_STL_SGI
+
+    if test "$kde_cv_stl_type_sgi" = "no"; then
+       KDE_CHECK_STL_HP
+
+       if test "$kde_cv_stl_type_hp" = "no"; then
+         AC_MSG_ERROR("no known STL type found")
+       fi
+    fi
+
+    CXXFLAGS="$ac_save_CXXFLAGS"
+    AC_LANG_RESTORE
+])
+
+AC_DEFUN(AC_FIND_QIMGIO,
+   [AC_REQUIRE([AC_FIND_JPEG])
+AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
+AC_MSG_CHECKING([for qimgio])
+AC_CACHE_VAL(ac_cv_lib_qimgio,
+[
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+ac_save_LIBS="$LIBS"
+ac_save_CXXFLAGS="$CXXFLAGS"
+LIBS="$all_libraries -lqimgio -lpng -lz $LIBJPEG $LIBQT"
+CXXFLAGS="$CXXFLAGS -I$qt_incdir $all_includes"
+AC_TRY_RUN(dnl
+[
+#include <qimageio.h>
+#include <qstring.h>
+int main() {
+		QString t = "hallo";
+		t.fill('t');
+		qInitImageIO();
+}
+],
+            ac_cv_lib_qimgio=yes,
+            ac_cv_lib_qimgio=no,
+	    ac_cv_lib_qimgio=no)
+LIBS="$ac_save_LIBS"
+CXXFLAGS="$ac_save_CXXFLAGS"
+AC_LANG_RESTORE
+])dnl
+if eval "test \"`echo $ac_cv_lib_qimgio`\" = yes"; then
+  LIBQIMGIO="-lqimgio -lpng -lz $LIBJPEG"
+  AC_MSG_RESULT(yes)
+  AC_DEFINE_UNQUOTED(HAVE_QIMGIO, 1, [Define if you have the Qt extension qimgio available])
+  AC_SUBST(LIBQIMGIO)
+else
+  AC_MSG_RESULT(not found)
+fi
+])
+
+AC_DEFUN(KDE_CHECK_ANSI,
+[
+])
+
+AC_DEFUN(KDE_CHECK_INSURE,
+[
+  AC_ARG_ENABLE(insure, [  --enable-insure             use insure++ for debugging [default=no]],
+  [
+  if test $enableval = "no"; dnl
+	then ac_use_insure="no"
+	else ac_use_insure="yes"
+   fi
+  ], [ac_use_insure="no"])
+
+  AC_MSG_CHECKING(if we will use Insure++ to debug)
+  AC_MSG_RESULT($ac_use_insure)
+  if test "$ac_use_insure" = "yes"; dnl
+       then CC="insure"; CXX="insure"; dnl CFLAGS="$CLAGS -fno-rtti -fno-exceptions "????
+   fi
+])
+
+AC_DEFUN(AM_DISABLE_LIBRARIES,
+[
+    AC_PROVIDE([AM_ENABLE_STATIC])
+    AC_PROVIDE([AM_ENABLE_SHARED])
+    enable_static=no
+    enable_shared=yes
+])
+
+
+AC_DEFUN(AC_CHECK_UTMP_FILE,
+[
+    AC_MSG_CHECKING([for utmp file])
+
+    AC_CACHE_VAL(kde_cv_utmp_file,
+    [
+    kde_cv_utmp_file=no
+
+    for ac_file in    \
+                      \
+	/var/run/utmp \
+	/var/adm/utmp \
+	/etc/utmp     \
+     ; \
+    do
+     if test -r "$ac_file"; then
+       kde_cv_utmp_file=$ac_file
+       break
+     fi
+    done
+    ])
+
+    if test "$kde_cv_utmp_file" != "no"; then
+	AC_DEFINE_UNQUOTED(UTMP, "$kde_cv_utmp_file", [Define the file for utmp entries])
+	$1
+	AC_MSG_RESULT($kde_cv_utmp_file)
+    else
+    	$2
+	AC_MSG_RESULT([non found])
+    fi
+])
+
+
+AC_DEFUN(KDE_CREATE_SUBDIRSLIST,
+[
+
+DO_NOT_COMPILE="$DO_NOT_COMPILE CVS debian bsd-port admin"
+
+if test ! -s $srcdir/subdirs; then
+  dnl Note: Makefile.common creates subdirs, so this is just a fallback
+  TOPSUBDIRS=""
+  files=`cd $srcdir && ls -1`
+  dirs=`for i in $files; do if test -d $i; then echo $i; fi; done`
+  for i in $dirs; do
+    echo $i >> $srcdir/subdirs
+  done
+fi
+
+if test -s $srcdir/inst-apps; then
+  ac_topsubdirs="`cat $srcdir/inst-apps`"
+else
+  ac_topsubdirs="`cat $srcdir/subdirs`"
+fi
+
+for i in $ac_topsubdirs; do
+  AC_MSG_CHECKING([if $i should be compiled])
+  if test -d $srcdir/$i; then
+    install_it="yes"
+    for j in $DO_NOT_COMPILE; do
+      if test $i = $j; then
+        install_it="no"
+      fi
+    done
+  else
+    install_it="no"
+  fi
+  AC_MSG_RESULT($install_it)
+  if test $install_it = "yes"; then
+    TOPSUBDIRS="$TOPSUBDIRS $i"
+  fi
+done
+
+AC_SUBST(TOPSUBDIRS)
+])
+
+AC_DEFUN(KDE_CHECK_NAMESPACES,
+[
+AC_MSG_CHECKING(whether C++ compiler supports namespaces)
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+AC_TRY_COMPILE([
+],
+[
+namespace Foo {
+  extern int i;
+  namespace Bar {
+    extern int i;
+  }
+}
+
+int Foo::i = 0;
+int Foo::Bar::i = 1;
+],[
+  AC_MSG_RESULT(yes)
+  AC_DEFINE(HAVE_NAMESPACES)
+], [
+AC_MSG_RESULT(no)
+])
+AC_LANG_RESTORE
+])
+
+AC_DEFUN(KDE_CHECK_NEWLIBS,
+[
+
+])
+
+dnl ------------------------------------------------------------------------
+dnl Check for S_ISSOCK macro. Doesn't exist on Unix SCO. faure at kde.org
+dnl ------------------------------------------------------------------------
+dnl
+AC_DEFUN(AC_CHECK_S_ISSOCK,
+[
+AC_MSG_CHECKING(for S_ISSOCK)
+AC_CACHE_VAL(ac_cv_have_s_issock,
+[
+AC_LANG_SAVE
+AC_LANG_C
+AC_TRY_LINK(
+[
+#include <sys/stat.h>
+],
+[
+struct stat buff;
+int b = S_ISSOCK( buff.st_mode );
+],
+ac_cv_have_s_issock=yes,
+ac_cv_have_s_issock=no)
+AC_LANG_RESTORE
+])
+AC_MSG_RESULT($ac_cv_have_s_issock)
+if test "$ac_cv_have_s_issock" = "yes"; then
+  AC_DEFINE_UNQUOTED(HAVE_S_ISSOCK, 1, [Define if sys/stat.h declares S_ISSOCK.])
+fi
+])
+
+dnl ------------------------------------------------------------------------
+dnl Check for MAXPATHLEN macro, defines KDEMAXPATHLEN. faure at kde.org
+dnl ------------------------------------------------------------------------
+dnl
+AC_DEFUN(AC_CHECK_KDEMAXPATHLEN,
+[
+AC_MSG_CHECKING(for MAXPATHLEN)
+AC_CACHE_VAL(ac_cv_maxpathlen,
+[
+AC_LANG_C
+cat > conftest.$ac_ext <<EOF
+#include <stdio.h>
+#include <sys/param.h>
+#ifndef MAXPATHLEN
+#define MAXPATHLEN 1024
+#endif
+
+KDE_HELLO MAXPATHLEN
+
+EOF
+
+ac_try="$ac_cpp conftest.$ac_ext 2>/dev/null | grep '^KDE_HELLO' >conftest.out"
+
+if AC_TRY_EVAL(ac_try) && test -s conftest.out; then
+    ac_cv_maxpathlen=`sed 's#KDE_HELLO ##' conftest.out`
+else
+    ac_cv_maxpathlen=1024
+fi
+
+rm conftest.*
+
+])
+AC_MSG_RESULT($ac_cv_maxpathlen)
+AC_DEFINE_UNQUOTED(KDEMAXPATHLEN,$ac_cv_maxpathlen, [Define a safe value for MAXPATHLEN] )
+])
+
+dnl -------------------------------------------------------------------------
+dnl See if the compiler supports a template repository         bero at redhat.de
+dnl -------------------------------------------------------------------------
+AC_DEFUN(KDE_COMPILER_REPO,
+[
+  REPO=""
+  NOREPO=""
+
+  KDE_CHECK_COMPILER_FLAG(frepo,
+   [
+     REPO="-frepo"
+     NOREPO="-fno-repo"
+   ])
+
+  if test -z "$REPO"; then
+  KDE_CHECK_COMPILER_FLAG(instances=explicit,
+  [
+     REPO="-instances=explicit"
+     NOREPO="-instances=extern"
+  ])
+  fi
+
+  if test -n "$REPO"; then
+     AC_DEFINE_UNQUOTED(HAVE_TEMPLATE_REPOSITORY, 1,
+		[C++ compiler supports template repository])
+     $1
+  fi
+
+  AC_SUBST(REPO)
+  AC_SUBST(NOREPO)
+])
+
+AC_DEFUN(KDE_CHECK_HEADER,
+[
+   AC_LANG_SAVE
+   kde_safe_cppflags=$CPPFLAGS
+   CPPFLAGS="$CPPFLAGS $all_includes"
+   AC_LANG_CPLUSPLUS
+   AC_CHECK_HEADER($1, $2, $3)
+   CPPFLAGS=$kde_safe_cppflags
+   AC_LANG_RESTORE
+])
+
+AC_DEFUN(KDE_CHECK_QWSPRITEFIELD,
+[
+  KDE_CHECK_HEADER(QwSpriteField.h, ,
+  [
+    AC_MSG_WARN([you don't have QwSpriteField.h somewhere. Please install
+       QwSpriteField out of kdesupport.])
+      $1
+  ])
+])
+
+AC_DEFUN(KDE_FAST_CONFIGURE,
+[
+  dnl makes configure fast (needs perl)
+  AC_ARG_ENABLE(fast-perl, [  --disable-fast-perl     disable fast Makefile generation (needs perl)],
+      with_fast_perl=$enableval, with_fast_perl=yes)
+])
+
+AC_DEFUN(KDE_CONF_FILES,
+[
+  val=
+  if test -f $srcdir/configure.files ; then
+    val=`sed -e 's%^%\$(top_srcdir)/%' $srcdir/configure.files`
+  fi
+  CONF_FILES=
+  if test -n "$val" ; then
+    for i in $val ; do
+      CONF_FILES="$CONF_FILES $i"
+    done
+  fi
+  AC_SUBST(CONF_FILES)
+])dnl
+
+AC_DEFUN(KDE_SET_PREFIX,
+[
+  unset CDPATH
+  dnl make $KDEDIR the default for the installation
+  AC_PREFIX_DEFAULT(${KDEDIR:-/usr/local/kde})
+
+  if test "x$prefix" = "xNONE"; then
+    prefix=$ac_default_prefix
+    ac_configure_args="$ac_configure_args --prefix $prefix"
+  fi
+  KDE_FAST_CONFIGURE
+  KDE_CONF_FILES
+])
+
+pushdef([AC_PROG_INSTALL],
+[
+  dnl our own version, testing for a -p flag
+  popdef([AC_PROG_INSTALL])
+  dnl as AC_PROG_INSTALL works as it works we first have
+  dnl to save if the user didn't specify INSTALL, as the
+  dnl autoconf one overwrites INSTALL and we have no chance to find
+  dnl out afterwards
+  test -n "$INSTALL" && kde_save_INSTALL_given=$INSTALL
+  test -n "$INSTALL_PROGRAM" && kde_save_INSTALL_PROGRAM_given=$INSTALL_PROGRAM
+  test -n "$INSTALL_SCRIPT" && kde_save_INSTALL_SCRIPT_given=$INSTALL_SCRIPT
+  AC_PROG_INSTALL
+
+  if test -z "$kde_save_INSTALL_given" ; then
+    # OK, user hasn't given any INSTALL, autoconf found one for us
+    # now we test, if it supports the -p flag
+    AC_MSG_CHECKING(for -p flag to install)
+    rm -f confinst.$$.* > /dev/null 2>&1
+    echo "Testtest" > confinst.$$.orig
+    ac_res=no
+    if ${INSTALL} -p confinst.$$.orig confinst.$$.new > /dev/null 2>&1 ; then
+      if test -f confinst.$$.new ; then
+        # OK, -p seems to do no harm to install
+	INSTALL="${INSTALL} -p"
+	ac_res=yes
+      fi
+    fi
+    rm -f confinst.$$.*
+    AC_MSG_RESULT($ac_res)
+  fi
+  dnl the following tries to resolve some signs and wonders coming up
+  dnl with different autoconf/automake versions
+  dnl e.g.:
+  dnl  *automake 1.4 install-strip sets A_M_INSTALL_PROGRAM_FLAGS to -s
+  dnl   and has INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(A_M_INSTALL_PROGRAM_FLAGS)
+  dnl   it header-vars.am, so there the actual INSTALL_PROGRAM gets the -s
+  dnl  *automake 1.4a (and above) use INSTALL_STRIP_FLAG and only has
+  dnl   INSTALL_PROGRAM = @INSTALL_PROGRAM@ there, but changes the
+  dnl   install- at DIR@PROGRAMS targets to explicitly use that flag
+  dnl  *autoconf 2.13 is dumb, and thinks it can use INSTALL_PROGRAM as
+  dnl   INSTALL_SCRIPT, which breaks with automake <= 1.4
+  dnl  *autoconf >2.13 (since 10.Apr 1999) has not that failure
+  dnl  *sometimes KDE does not use the install- at DIR@PROGRAM targets from
+  dnl   automake (due to broken Makefile.am or whatever) to install programs,
+  dnl   and so does not see the -s flag in automake > 1.4
+  dnl to clean up that mess we:
+  dnl  +set INSTALL_PROGRAM to use INSTALL_STRIP_FLAG
+  dnl   which cleans KDE's program with automake > 1.4;
+  dnl  +set INSTALL_SCRIPT to only use INSTALL, to clean up autoconf's problems
+  dnl   with automake<=1.4
+  dnl  note that dues to this sometimes two '-s' flags are used (if KDE
+  dnl   properly uses install- at DIR@PROGRAMS, but I don't care
+  dnl
+  dnl And to all this comes, that I even can't write in comments variable
+  dnl  names used by automake, because it is so stupid to think I wanted to
+  dnl  _use_ them, therefor I have written A_M_... instead of AM_
+  dnl hmm, I wanted to say something ... ahh yes: Arghhh.
+
+  if test -z "$kde_save_INSTALL_PROGRAM_given" ; then
+    INSTALL_PROGRAM='${INSTALL} $(INSTALL_STRIP_FLAG)'
+  fi
+  if test -z "$kde_save_INSTALL_SCRIPT_given" ; then
+    INSTALL_SCRIPT='${INSTALL}'
+  fi
+])dnl
+
+AC_DEFUN(KDE_LANG_CPLUSPLUS,
+[AC_LANG_CPLUSPLUS
+ac_link='rm -rf SunWS_cache; ${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&AC_FD_CC'
+pushdef([AC_LANG_CPLUSPLUS], [popdef([AC_LANG_CPLUSPLUS]) KDE_LANG_CPLUSPLUS])
+])
+
+pushdef([AC_LANG_CPLUSPLUS],
+[popdef([AC_LANG_CPLUSPLUS])
+KDE_LANG_CPLUSPLUS
+])
+
+AC_DEFUN(KDE_CHECK_LONG_LONG,
+[
+AC_MSG_CHECKING(for long long)
+AC_CACHE_VAL(kde_cv_c_long_long,
+[
+  AC_LANG_SAVE
+  AC_LANG_CPLUSPLUS
+  AC_TRY_LINK([], [
+  long long foo = 0;
+  foo = foo+1;
+  ],
+  kde_cv_c_long_long=yes, kde_cv_c_long_long=no)
+])
+AC_MSG_RESULT($kde_cv_c_long_long)
+if test "$kde_cv_c_long_long" = yes; then
+   AC_DEFINE(HAVE_LONG_LONG, 1, [Define if you have long long as datatype])
+fi
+])
+
+
+# serial 46 AC_PROG_LIBTOOL
+AC_DEFUN([AC_PROG_LIBTOOL],
+[AC_REQUIRE([_AC_PROG_LIBTOOL])dnl
+dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX
+dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX.
+  AC_PROVIDE_IFELSE([AC_PROG_CXX],
+    [AC_LIBTOOL_CXX],
+    [define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX
+])])
+
+dnl Quote A][M_PROG_GCJ so that aclocal doesn't bring it in needlessly.
+dnl If either AC_PROG_GCJ or A][M_PROG_GCJ have already been expanded, run
+dnl AC_LIBTOOL_GCJ immediately, otherwise, hook it in at the end of both.
+  AC_PROVIDE_IFELSE([AC_PROG_GCJ],
+    [AC_LIBTOOL_GCJ],
+    [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
+        [AC_LIBTOOL_GCJ],
+	[AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],
+	  [AC_LIBTOOL_GCJ],
+	[ifdef([AC_PROG_GCJ],
+	       [define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[AC_LIBTOOL_GCJ
+])])
+	 ifdef([A][M_PROG_GCJ],
+	       [define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[AC_LIBTOOL_GCJ
+])])
+	 ifdef([LT_AC_PROG_GCJ],
+	       [define([LT_AC_PROG_GCJ], defn([LT_AC_PROG_GCJ])[AC_LIBTOOL_GCJ
+])])])])])])
+
+AC_DEFUN([_AC_PROG_LIBTOOL],
+[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl
+AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl
+AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl
+
+# Save cache, so that ltconfig can load it
+AC_CACHE_SAVE
+
+# Actually configure libtool.  ac_aux_dir is where install-sh is found.
+AR="$AR" LTCC="$CC" CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \
+MAGIC_CMD="$MAGIC_CMD" LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \
+LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" STRIP="$STRIP" \
+AS="$AS" DLLTOOL="$DLLTOOL" OBJDUMP="$OBJDUMP" \
+objext="$OBJEXT" exeext="$EXEEXT" reload_flag="$reload_flag" \
+deplibs_check_method="$deplibs_check_method" file_magic_cmd="$file_magic_cmd" \
+${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig --no-reexec \
+$libtool_flags --no-verify --build="$build" $ac_aux_dir/ltmain.sh $host \
+|| AC_MSG_ERROR([libtool configure failed])
+
+# Reload cache, that may have been modified by ltconfig
+AC_CACHE_LOAD
+
+# This can be used to rebuild libtool when needed
+LIBTOOL_DEPS="$ac_aux_dir/ltconfig $ac_aux_dir/ltmain.sh $ac_aux_dir/ltcf-c.sh"
+
+# Always use our own libtool.
+LIBTOOL='$(SHELL) $(top_builddir)/libtool'
+AC_SUBST(LIBTOOL)dnl
+
+# Redirect the config.log output again, so that the ltconfig log is not
+# clobbered by the next message.
+exec 5>>./config.log
+])
+
+AC_DEFUN([AC_LIBTOOL_SETUP],
+[AC_PREREQ(2.13)dnl
+AC_REQUIRE([AC_ENABLE_SHARED])dnl
+AC_REQUIRE([AC_ENABLE_STATIC])dnl
+AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl
+AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_PROG_LD])dnl
+AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl
+AC_REQUIRE([AC_PROG_NM])dnl
+AC_REQUIRE([AC_PROG_LN_S])dnl
+AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl
+# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers!
+AC_REQUIRE([AC_OBJEXT])dnl
+AC_REQUIRE([AC_EXEEXT])dnl
+dnl
+
+# Only perform the check for file, if the check method requires it
+case "$deplibs_check_method" in
+file_magic*)
+  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
+    AC_PATH_MAGIC
+  fi
+  ;;
+esac
+
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+AC_CHECK_TOOL(STRIP, strip, :)
+
+# Check for any special flags to pass to ltconfig.
+libtool_flags="--cache-file=$cache_file"
+test "$enable_shared" = no && libtool_flags="$libtool_flags --disable-shared"
+test "$enable_static" = no && libtool_flags="$libtool_flags --disable-static"
+test "$enable_fast_install" = no && libtool_flags="$libtool_flags --disable-fast-install"
+test "$GCC" = yes && libtool_flags="$libtool_flags --with-gcc"
+test "$lt_cv_prog_gnu_ld" = yes && libtool_flags="$libtool_flags --with-gnu-ld"
+ifdef([AC_PROVIDE_AC_LIBTOOL_DLOPEN],
+[libtool_flags="$libtool_flags --enable-dlopen"])
+ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL],
+[libtool_flags="$libtool_flags --enable-win32-dll"])
+AC_ARG_ENABLE(libtool-lock,
+  [  --disable-libtool-lock  avoid locking (might break parallel builds)])
+test "x$enable_libtool_lock" = xno && libtool_flags="$libtool_flags --disable-lock"
+test x"$silent" = xyes && libtool_flags="$libtool_flags --silent"
+
+AC_ARG_WITH(pic,
+  [  --with-pic              try to use only PIC/non-PIC objects [default=use both]],
+     pic_mode="$withval", pic_mode=default)
+test x"$pic_mode" = xyes && libtool_flags="$libtool_flags --prefer-pic"
+test x"$pic_mode" = xno && libtool_flags="$libtool_flags --prefer-non-pic"
+
+# Some flags need to be propagated to the compiler or linker for good
+# libtool support.
+case "$host" in
+*-*-irix6*)
+  # Find out which ABI we are using.
+  echo '[#]line __oline__ "configure"' > conftest.$ac_ext
+  if AC_TRY_EVAL(ac_compile); then
+    case "`/usr/bin/file conftest.$ac_objext`" in
+    *32-bit*)
+      LD="${LD-ld} -32"
+      ;;
+    *N32*)
+      LD="${LD-ld} -n32"
+      ;;
+    *64-bit*)
+      LD="${LD-ld} -64"
+      ;;
+    esac
+  fi
+  rm -rf conftest*
+  ;;
+
+*-*-sco3.2v5*)
+  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
+  SAVE_CFLAGS="$CFLAGS"
+  CFLAGS="$CFLAGS -belf"
+  AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
+    [AC_LANG_SAVE
+     AC_LANG_C
+     AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
+     AC_LANG_RESTORE])
+  if test x"$lt_cv_cc_needs_belf" != x"yes"; then
+    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
+    CFLAGS="$SAVE_CFLAGS"
+  fi
+  ;;
+
+ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL],
+[*-*-cygwin* | *-*-mingw* | *-*-pw32*)
+  AC_CHECK_TOOL(DLLTOOL, dlltool, false)
+  AC_CHECK_TOOL(AS, as, false)
+  AC_CHECK_TOOL(OBJDUMP, objdump, false)
+
+  # recent cygwin and mingw systems supply a stub DllMain which the user
+  # can override, but on older systems we have to supply one
+  AC_CACHE_CHECK([if libtool should supply DllMain function], lt_cv_need_dllmain,
+    [AC_TRY_LINK([],
+      [extern int __attribute__((__stdcall__)) DllMain(void*, int, void*);
+      DllMain (0, 0, 0);],
+      [lt_cv_need_dllmain=no],[lt_cv_need_dllmain=yes])])
+
+  case "$host/$CC" in
+  *-*-cygwin*/gcc*-mno-cygwin*|*-*-mingw*)
+    # old mingw systems require "-dll" to link a DLL, while more recent ones
+    # require "-mdll"
+    SAVE_CFLAGS="$CFLAGS"
+    CFLAGS="$CFLAGS -mdll"
+    AC_CACHE_CHECK([how to link DLLs], lt_cv_cc_dll_switch,
+      [AC_TRY_LINK([], [], [lt_cv_cc_dll_switch=-mdll],[lt_cv_cc_dll_switch=-dll])])
+    CFLAGS="$SAVE_CFLAGS" ;;
+  *-*-cygwin* | *-*-pw32*)
+    # cygwin systems need to pass --dll to the linker, and not link
+    # crt.o which will require a WinMain at 16 definition.
+    lt_cv_cc_dll_switch="-Wl,--dll -nostartfiles" ;;
+  esac
+  ;;
+  ])
+esac
+])
+
+# AC_LIBTOOL_DLOPEN - enable checks for dlopen support
+AC_DEFUN([AC_LIBTOOL_DLOPEN], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])])
+
+# AC_LIBTOOL_WIN32_DLL - declare package support for building win32 dll's
+AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [AC_BEFORE([$0], [AC_LIBTOOL_SETUP])])
+
+# AC_ENABLE_SHARED - implement the --enable-shared flag
+# Usage: AC_ENABLE_SHARED[(DEFAULT)]
+#   Where DEFAULT is either `yes' or `no'.  If omitted, it defaults to
+#   `yes'.
+AC_DEFUN([AC_ENABLE_SHARED],
+[define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl
+AC_ARG_ENABLE(shared,
+changequote(<<, >>)dnl
+<<  --enable-shared[=PKGS]  build shared libraries [default=>>AC_ENABLE_SHARED_DEFAULT],
+changequote([, ])dnl
+[p=${PACKAGE-default}
+case "$enableval" in
+yes) enable_shared=yes ;;
+no) enable_shared=no ;;
+*)
+  enable_shared=no
+  # Look at the argument we got.  We use all the common list separators.
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
+  for pkg in $enableval; do
+    if test "X$pkg" = "X$p"; then
+      enable_shared=yes
+    fi
+  done
+  IFS="$ac_save_ifs"
+  ;;
+esac],
+enable_shared=AC_ENABLE_SHARED_DEFAULT)dnl
+])
+
+# AC_DISABLE_SHARED - set the default shared flag to --disable-shared
+AC_DEFUN([AC_DISABLE_SHARED], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+AC_ENABLE_SHARED(no)])
+
+# AC_ENABLE_STATIC - implement the --enable-static flag
+# Usage: AC_ENABLE_STATIC[(DEFAULT)]
+#   Where DEFAULT is either `yes' or `no'.  If omitted, it defaults to
+#   `yes'.
+AC_DEFUN([AC_ENABLE_STATIC],
+[define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl
+AC_ARG_ENABLE(static,
+changequote(<<, >>)dnl
+<<  --enable-static[=PKGS]  build static libraries [default=>>AC_ENABLE_STATIC_DEFAULT],
+changequote([, ])dnl
+[p=${PACKAGE-default}
+case "$enableval" in
+yes) enable_static=yes ;;
+no) enable_static=no ;;
+*)
+  enable_static=no
+  # Look at the argument we got.  We use all the common list separators.
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
+  for pkg in $enableval; do
+    if test "X$pkg" = "X$p"; then
+      enable_static=yes
+    fi
+  done
+  IFS="$ac_save_ifs"
+  ;;
+esac],
+enable_static=AC_ENABLE_STATIC_DEFAULT)dnl
+])
+
+# AC_DISABLE_STATIC - set the default static flag to --disable-static
+AC_DEFUN([AC_DISABLE_STATIC],
+[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+AC_ENABLE_STATIC(no)])
+
+
+# AC_ENABLE_FAST_INSTALL - implement the --enable-fast-install flag
+# Usage: AC_ENABLE_FAST_INSTALL[(DEFAULT)]
+#   Where DEFAULT is either `yes' or `no'.  If omitted, it defaults to
+#   `yes'.
+AC_DEFUN([AC_ENABLE_FAST_INSTALL],
+[define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl
+AC_ARG_ENABLE(fast-install,
+changequote(<<, >>)dnl
+<<  --enable-fast-install[=PKGS]  optimize for fast installation [default=>>AC_ENABLE_FAST_INSTALL_DEFAULT],
+changequote([, ])dnl
+[p=${PACKAGE-default}
+case "$enableval" in
+yes) enable_fast_install=yes ;;
+no) enable_fast_install=no ;;
+*)
+  enable_fast_install=no
+  # Look at the argument we got.  We use all the common list separators.
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
+  for pkg in $enableval; do
+    if test "X$pkg" = "X$p"; then
+      enable_fast_install=yes
+    fi
+  done
+  IFS="$ac_save_ifs"
+  ;;
+esac],
+enable_fast_install=AC_ENABLE_FAST_INSTALL_DEFAULT)dnl
+])
+
+# AC_DISABLE_FAST_INSTALL - set the default to --disable-fast-install
+AC_DEFUN([AC_DISABLE_FAST_INSTALL],
+[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+AC_ENABLE_FAST_INSTALL(no)])
+
+# AC_LIBTOOL_PICMODE - implement the --with-pic flag
+# Usage: AC_LIBTOOL_PICMODE[(MODE)]
+#   Where MODE is either `yes' or `no'.  If omitted, it defaults to
+#   `both'.
+AC_DEFUN([AC_LIBTOOL_PICMODE],
+[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+pic_mode=ifelse($#,1,$1,default)])
+
+
+# AC_PATH_TOOL_PREFIX - find a file program which can recognise shared library
+AC_DEFUN([AC_PATH_TOOL_PREFIX],
+[AC_MSG_CHECKING([for $1])
+AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
+[case "$MAGIC_CMD" in
+  /*)
+  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+  ;;
+  ?:/*)
+  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a dos path.
+  ;;
+  *)
+  ac_save_MAGIC_CMD="$MAGIC_CMD"
+  IFS="${IFS=   }"; ac_save_ifs="$IFS"; IFS=":"
+dnl $ac_dummy forces splitting on constant user-supplied paths.
+dnl POSIX.2 word splitting is done only on the output of word expansions,
+dnl not every word.  This closes a longstanding sh security hole.
+  ac_dummy="ifelse([$2], , $PATH, [$2])"
+  for ac_dir in $ac_dummy; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$1; then
+      lt_cv_path_MAGIC_CMD="$ac_dir/$1"
+      if test -n "$file_magic_test_file"; then
+	case "$deplibs_check_method" in
+	"file_magic "*)
+	  file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`"
+	  MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+	  if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+	    egrep "$file_magic_regex" > /dev/null; then
+	    :
+	  else
+	    cat <<EOF 1>&2
+
+*** Warning: the command libtool uses to detect shared libraries,
+*** $file_magic_cmd, produces output that libtool cannot recognize.
+*** The result is that libtool may fail to recognize shared libraries
+*** as such.  This will affect the creation of libtool libraries that
+*** depend on shared libraries, but programs linked with such libtool
+*** libraries will work regardless of this problem.  Nevertheless, you
+*** may want to report the problem to your system manager and/or to
+*** bug-libtool at gnu.org
+
+EOF
+	  fi ;;
+	esac
+      fi
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+  MAGIC_CMD="$ac_save_MAGIC_CMD"
+  ;;
+esac])
+MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+if test -n "$MAGIC_CMD"; then
+  AC_MSG_RESULT($MAGIC_CMD)
+else
+  AC_MSG_RESULT(no)
+fi
+])
+
+
+# AC_PATH_MAGIC - find a file program which can recognise a shared library
+AC_DEFUN([AC_PATH_MAGIC],
+[AC_REQUIRE([AC_CHECK_TOOL_PREFIX])dnl
+AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin:$PATH)
+if test -z "$lt_cv_path_MAGIC_CMD"; then
+  if test -n "$ac_tool_prefix"; then
+    AC_PATH_TOOL_PREFIX(file, /usr/bin:$PATH)
+  else
+    MAGIC_CMD=:
+  fi
+fi
+])
+
+
+# AC_PROG_LD - find the path to the GNU or non-GNU linker
+AC_DEFUN([AC_PROG_LD],
+[AC_ARG_WITH(gnu-ld,
+[  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]],
+test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+ac_prog=ld
+if test "$GCC" = yes; then
+  # Check if gcc -print-prog-name=ld gives a path.
+  AC_MSG_CHECKING([for ld used by GCC])
+  case $host in
+  *-*-mingw*)
+    # gcc leaves a trailing carriage return which upsets mingw
+    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+  *)
+    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+  esac
+  case "$ac_prog" in
+    # Accept absolute paths.
+changequote(,)dnl
+    [\\/]* | [A-Za-z]:[\\/]*)
+      re_direlt='/[^/][^/]*/\.\./'
+changequote([,])dnl
+      # Canonicalize the path of ld
+      ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
+      while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
+	ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
+      done
+      test -z "$LD" && LD="$ac_prog"
+      ;;
+  "")
+    # If it fails, then pretend we aren't using GCC.
+    ac_prog=ld
+    ;;
+  *)
+    # If it is relative, then search for the first ld in PATH.
+    with_gnu_ld=unknown
+    ;;
+  esac
+elif test "$with_gnu_ld" = yes; then
+  AC_MSG_CHECKING([for GNU ld])
+else
+  AC_MSG_CHECKING([for non-GNU ld])
+fi
+AC_CACHE_VAL(lt_cv_path_LD,
+[if test -z "$LD"; then
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
+  for ac_dir in $PATH; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+      lt_cv_path_LD="$ac_dir/$ac_prog"
+      # Check to see if the program is GNU ld.  I'd rather use --version,
+      # but apparently some GNU ld's only accept -v.
+      # Break only if it was the GNU/non-GNU ld that we prefer.
+      if "$lt_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
+	test "$with_gnu_ld" != no && break
+      else
+	test "$with_gnu_ld" != yes && break
+      fi
+    fi
+  done
+  IFS="$ac_save_ifs"
+else
+  lt_cv_path_LD="$LD" # Let the user override the test with a path.
+fi])
+LD="$lt_cv_path_LD"
+if test -n "$LD"; then
+  AC_MSG_RESULT($LD)
+else
+  AC_MSG_RESULT(no)
+fi
+test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
+AC_PROG_LD_GNU
+])
+
+AC_DEFUN([AC_PROG_LD_GNU],
+[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
+[# I'd rather use --version here, but apparently some GNU ld's only accept -v.
+if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
+  lt_cv_prog_gnu_ld=yes
+else
+  lt_cv_prog_gnu_ld=no
+fi])
+with_gnu_ld=$lt_cv_prog_gnu_ld
+])
+
+# AC_PROG_LD_RELOAD_FLAG - find reload flag for linker
+#   -- PORTME Some linkers may need a different reload flag.
+AC_DEFUN([AC_PROG_LD_RELOAD_FLAG],
+[AC_CACHE_CHECK([for $LD option to reload object files], lt_cv_ld_reload_flag,
+[lt_cv_ld_reload_flag='-r'])
+reload_flag=$lt_cv_ld_reload_flag
+test -n "$reload_flag" && reload_flag=" $reload_flag"
+])
+
+# AC_DEPLIBS_CHECK_METHOD - how to check for library dependencies
+#  -- PORTME fill in with the dynamic library characteristics
+AC_DEFUN([AC_DEPLIBS_CHECK_METHOD],
+[AC_CACHE_CHECK([how to recognise dependant libraries],
+lt_cv_deplibs_check_method,
+[lt_cv_file_magic_cmd='$MAGIC_CMD'
+lt_cv_file_magic_test_file=
+lt_cv_deplibs_check_method='unknown'
+# Need to set the preceding variable on all platforms that support
+# interlibrary dependencies.
+# 'none' -- dependencies not supported.
+# `unknown' -- same as none, but documents that we really don't know.
+# 'pass_all' -- all dependencies passed with no checks.
+# 'test_compile' -- check by making test program.
+# 'file_magic [regex]' -- check by looking for files in library path
+# which responds to the $file_magic_cmd with a given egrep regex.
+# If you have `file' or equivalent on your system and you're not sure
+# whether `pass_all' will *always* work, you probably want this one.
+
+case "$host_os" in
+aix4*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+beos*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+bsdi4*)
+  changequote(,)dnl
+  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
+  changequote([, ])dnl
+  lt_cv_file_magic_cmd='/usr/bin/file -L'
+  lt_cv_file_magic_test_file=/shlib/libc.so
+  ;;
+
+cygwin* | mingw* |pw32*)
+  lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
+  lt_cv_file_magic_cmd='$OBJDUMP -f'
+  ;;
+
+darwin* | rhapsody*)
+  lt_cv_deplibs_check_method='file_magic Mach-O dynamically linked shared library'
+  lt_cv_file_magic_cmd=/usr/bin/file
+  lt_cv_file_magic_test_file=`echo /System/Library/Frameworks/System.framework/Versions/*/System | head -1`
+  ;;
+
+freebsd* )
+  if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
+    case "$host_cpu" in
+    i*86 )
+      # Not sure whether the presence of OpenBSD here was a mistake.
+      # Let's accept both of them until this is cleared up.
+      changequote(,)dnl
+      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD)/i[3-9]86 (compact )?demand paged shared library'
+      changequote([, ])dnl
+      lt_cv_file_magic_cmd=/usr/bin/file
+      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
+      ;;
+    esac
+  else
+    lt_cv_deplibs_check_method=pass_all
+  fi
+  ;;
+
+gnu*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+hpux10.20*|hpux11*)
+  # TODO:  Does this work for hpux-11 too?
+  changequote(,)dnl
+  lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library'
+  changequote([, ])dnl
+  lt_cv_file_magic_cmd=/usr/bin/file
+  lt_cv_file_magic_test_file=/usr/lib/libc.sl
+  ;;
+
+irix5* | irix6*)
+  case "$host_os" in
+  irix5*)
+    # this will be overridden with pass_all, but let us keep it just in case
+    lt_cv_deplibs_check_method="file_magic ELF 32-bit MSB dynamic lib MIPS - version 1"
+    ;;
+  *)
+    case "$LD" in
+    *-32|*"-32 ") libmagic=32-bit;;
+    *-n32|*"-n32 ") libmagic=N32;;
+    *-64|*"-64 ") libmagic=64-bit;;
+    *) libmagic=never-match;;
+    esac
+    # this will be overridden with pass_all, but let us keep it just in case
+    changequote(,)dnl
+    lt_cv_deplibs_check_method="file_magic ELF ${libmagic} MSB mips-[1234] dynamic lib MIPS - version 1"
+    changequote([, ])dnl
+    ;;
+  esac
+  lt_cv_file_magic_test_file=`echo /lib${libsuff}/libc.so*`
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+# This must be Linux ELF.
+linux-gnu*)
+  case "$host_cpu" in
+  alpha* | i*86 | powerpc* | sparc* | ia64* | s390* )
+    lt_cv_deplibs_check_method=pass_all ;;
+  *)
+    # glibc up to 2.1.1 does not perform some relocations on ARM
+    changequote(,)dnl
+    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' ;;
+    changequote([, ])dnl
+  esac
+  lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
+  ;;
+
+netbsd*)
+  if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
+    [lt_cv_deplibs_check_method='file_magic NetBSD/[a-z0-9]* demand paged shared library']
+  else
+    [lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB shared object']
+  fi
+  lt_cv_file_magic_cmd='/usr/bin/file -L'
+  lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
+  ;;
+
+openbsd* )
+  if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
+    case "$host_cpu" in
+    i*86 )
+      changequote(,)dnl
+      lt_cv_deplibs_check_method='file_magic OpenBSD/i[3-9]86 demand paged shared library'
+      changequote([, ])dnl
+      lt_cv_file_magic_cmd=/usr/bin/file
+      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
+      ;;
+    esac
+  else
+    lt_cv_deplibs_check_method=pass_all
+  fi
+  ;;
+
+newsos6)
+  [lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)']
+  lt_cv_file_magic_cmd=/usr/bin/file
+  lt_cv_file_magic_test_file=/usr/lib/libnls.so
+  ;;
+
+osf3* | osf4* | osf5*)
+  # this will be overridden with pass_all, but let us keep it just in case
+  lt_cv_deplibs_check_method='file_magic COFF format alpha shared library'
+  lt_cv_file_magic_test_file=/shlib/libc.so
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+sco3.2v5*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+solaris*)
+  lt_cv_deplibs_check_method=pass_all
+  lt_cv_file_magic_test_file=/lib/libc.so
+  ;;
+
+sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+  case "$host_vendor" in
+  ncr)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  motorola)
+    changequote(,)dnl
+    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
+    changequote([, ])dnl
+    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
+    ;;
+  esac
+  ;;
+esac
+])
+file_magic_cmd=$lt_cv_file_magic_cmd
+deplibs_check_method=$lt_cv_deplibs_check_method
+])
+
+
+# AC_PROG_NM - find the path to a BSD-compatible name lister
+AC_DEFUN([AC_PROG_NM],
+[AC_MSG_CHECKING([for BSD-compatible nm])
+AC_CACHE_VAL(lt_cv_path_NM,
+[if test -n "$NM"; then
+  # Let the user override the test.
+  lt_cv_path_NM="$NM"
+else
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
+  for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do
+    test -z "$ac_dir" && ac_dir=.
+    tmp_nm=$ac_dir/${ac_tool_prefix}nm
+    if test -f $tmp_nm || test -f $tmp_nm$ac_exeext ; then
+      # Check to see if the nm accepts a BSD-compat flag.
+      # Adding the `sed 1q' prevents false positives on HP-UX, which says:
+      #   nm: unknown option "B" ignored
+      # Tru64's nm complains that /dev/null is an invalid object file
+      if ($tmp_nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep '(/dev/null|Invalid file or object type)' >/dev/null; then
+	lt_cv_path_NM="$tmp_nm -B"
+	break
+      elif ($tmp_nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
+	lt_cv_path_NM="$tmp_nm -p"
+	break
+      else
+	lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
+	continue # so that we can try to find one that supports BSD flags
+      fi
+    fi
+  done
+  IFS="$ac_save_ifs"
+  test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm
+fi])
+NM="$lt_cv_path_NM"
+AC_MSG_RESULT([$NM])
+])
+
+# AC_CHECK_LIBM - check for math library
+AC_DEFUN([AC_CHECK_LIBM],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+LIBM=
+case "$host" in
+*-*-beos* | *-*-cygwin* | *-*-pw32*)
+  # These system don't have libm
+  ;;
+*-ncr-sysv4.3*)
+  AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
+  AC_CHECK_LIB(m, main, LIBM="$LIBM -lm")
+  ;;
+*)
+  AC_CHECK_LIB(m, main, LIBM="-lm")
+  ;;
+esac
+])
+
+# AC_LIBLTDL_CONVENIENCE[(dir)] - sets LIBLTDL to the link flags for
+# the libltdl convenience library and INCLTDL to the include flags for
+# the libltdl header and adds --enable-ltdl-convenience to the
+# configure arguments.  Note that LIBLTDL and INCLTDL are not
+# AC_SUBSTed, nor is AC_CONFIG_SUBDIRS called.  If DIR is not
+# provided, it is assumed to be `libltdl'.  LIBLTDL will be prefixed
+# with '${top_builddir}/' and INCLTDL will be prefixed with
+# '${top_srcdir}/' (note the single quotes!).  If your package is not
+# flat and you're not using automake, define top_builddir and
+# top_srcdir appropriately in the Makefiles.
+AC_DEFUN([AC_LIBLTDL_CONVENIENCE],
+[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+  case "$enable_ltdl_convenience" in
+  no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;;
+  "") enable_ltdl_convenience=yes
+      ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;;
+  esac
+  LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la
+  INCLTDL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
+])
+
+# AC_LIBLTDL_INSTALLABLE[(dir)] - sets LIBLTDL to the link flags for
+# the libltdl installable library and INCLTDL to the include flags for
+# the libltdl header and adds --enable-ltdl-install to the configure
+# arguments.  Note that LIBLTDL and INCLTDL are not AC_SUBSTed, nor is
+# AC_CONFIG_SUBDIRS called.  If DIR is not provided and an installed
+# libltdl is not found, it is assumed to be `libltdl'.  LIBLTDL will
+# be prefixed with '${top_builddir}/' and INCLTDL will be prefixed
+# with '${top_srcdir}/' (note the single quotes!).  If your package is
+# not flat and you're not using automake, define top_builddir and
+# top_srcdir appropriately in the Makefiles.
+# In the future, this macro may have to be called after AC_PROG_LIBTOOL.
+AC_DEFUN([AC_LIBLTDL_INSTALLABLE],
+[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+  AC_CHECK_LIB(ltdl, main,
+  [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no],
+  [if test x"$enable_ltdl_install" = xno; then
+     AC_MSG_WARN([libltdl not installed, but installation disabled])
+   else
+     enable_ltdl_install=yes
+   fi
+  ])
+  if test x"$enable_ltdl_install" = x"yes"; then
+    ac_configure_args="$ac_configure_args --enable-ltdl-install"
+    LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la
+    INCLTDL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
+  else
+    ac_configure_args="$ac_configure_args --enable-ltdl-install=no"
+    LIBLTDL="-lltdl"
+    INCLTDL=
+  fi
+])
+
+# If this macro is not defined by Autoconf, define it here.
+ifdef([AC_PROVIDE_IFELSE],
+      [],
+      [define([AC_PROVIDE_IFELSE],
+              [ifdef([AC_PROVIDE_$1],
+                     [$2], [$3])])])
+
+# AC_LIBTOOL_CXX - enable support for C++ libraries
+AC_DEFUN([AC_LIBTOOL_CXX], [AC_REQUIRE([_AC_LIBTOOL_CXX])])
+
+AC_DEFUN([_AC_LIBTOOL_CXX],
+[AC_REQUIRE([AC_PROG_CXX])
+AC_REQUIRE([AC_PROG_CXXCPP])
+LIBTOOL_DEPS=$LIBTOOL_DEPS" $ac_aux_dir/ltcf-cxx.sh"
+lt_save_CC="$CC"
+lt_save_CFLAGS="$CFLAGS"
+dnl Make sure LTCC is set to the C compiler, i.e. set LTCC before CC
+dnl is set to the C++ compiler.
+AR="$AR" LTCC="$CC" CC="$CXX" CXX="$CXX" CFLAGS="$CXXFLAGS" CPPFLAGS="$CPPFLAGS" \
+MAGIC_CMD="$MAGIC_CMD" LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \
+LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" STRIP="$STRIP" \
+AS="$AS" DLLTOOL="$DLLTOOL" OBJDUMP="$OBJDUMP" \
+objext="$OBJEXT" exeext="$EXEEXT" reload_flag="$reload_flag" \
+deplibs_check_method="$deplibs_check_method" \
+file_magic_cmd="$file_magic_cmd" \
+${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig -o libtool $libtool_flags \
+--build="$build" --add-tag=CXX $ac_aux_dir/ltcf-cxx.sh $host \
+|| AC_MSG_ERROR([libtool tag configuration failed])
+CC="$lt_save_CC"
+CFLAGS="$lt_save_CFLAGS"
+
+# Redirect the config.log output again, so that the ltconfig log is not
+# clobbered by the next message.
+exec 5>>./config.log
+])
+
+# AC_LIBTOOL_GCJ - enable support for GCJ libraries
+AC_DEFUN([AC_LIBTOOL_GCJ],[AC_REQUIRE([_AC_LIBTOOL_GCJ])])
+
+AC_DEFUN([_AC_LIBTOOL_GCJ],
+[AC_REQUIRE([AC_PROG_LIBTOOL])
+AC_PROVIDE_IFELSE([AC_PROG_GCJ],[],
+  [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],[],
+    [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],[],
+      [ifdef([AC_PROG_GCJ],[AC_REQUIRE([AC_PROG_GCJ])],
+         [ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])],
+           [AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])])])
+LIBTOOL_DEPS=$LIBTOOL_DEPS" $ac_aux_dir/ltcf-gcj.sh"
+lt_save_CC="$CC"
+lt_save_CFLAGS="$CFLAGS"
+dnl Make sure LTCC is set to the C compiler, i.e. set LTCC before CC
+dnl is set to the C++ compiler.
+AR="$AR" LTCC="$CC" CC="$GCJ" CFLAGS="$GCJFLAGS" CPPFLAGS="$CPPFLAGS" \
+MAGIC_CMD="$MAGIC_CMD" LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \
+LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" STRIP="$STRIP" \
+AS="$AS" DLLTOOL="$DLLTOOL" OBJDUMP="$OBJDUMP" \
+objext="$OBJEXT" exeext="$EXEEXT" reload_flag="$reload_flag" \
+deplibs_check_method="$deplibs_check_method" \
+file_magic_cmd="$file_magic_cmd" \
+${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig -o libtool $libtool_flags \
+--build="$build" --add-tag=GCJ $ac_aux_dir/ltcf-gcj.sh $host \
+|| AC_MSG_ERROR([libtool tag configuration failed])
+CC="$lt_save_CC"
+CFLAGS="$lt_save_CFLAGS"
+
+# Redirect the config.log output again, so that the ltconfig log is not
+# clobbered by the next message.
+exec 5>>./config.log
+])
+
+dnl old names
+AC_DEFUN([AM_PROG_LIBTOOL],   [AC_PROG_LIBTOOL])
+AC_DEFUN([AM_ENABLE_SHARED],  [AC_ENABLE_SHARED($@)])
+AC_DEFUN([AM_ENABLE_STATIC],  [AC_ENABLE_STATIC($@)])
+AC_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
+AC_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
+AC_DEFUN([AM_PROG_LD],        [AC_PROG_LD])
+AC_DEFUN([AM_PROG_NM],        [AC_PROG_NM])
+
+dnl This is just to silence aclocal about the macro not being used
+ifelse([AC_DISABLE_FAST_INSTALL])dnl
+
+AC_DEFUN([LT_AC_PROG_GCJ],
+[AC_CHECK_TOOL(GCJ, gcj, no)
+  test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
+  AC_SUBST(GCJFLAGS)
+])
+
+# Do all the work for Automake.  This macro actually does too much --
+# some checks are only needed if your package does certain things.
+# But this isn't really a big deal.
+
+# serial 1
+
+dnl Usage:
+dnl AM_INIT_AUTOMAKE(package,version, [no-define])
+
+AC_DEFUN(AM_INIT_AUTOMAKE,
+[AC_REQUIRE([AC_PROG_INSTALL])
+PACKAGE=[$1]
+AC_SUBST(PACKAGE)
+VERSION=[$2]
+AC_SUBST(VERSION)
+dnl test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+  AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+fi
+ifelse([$3],,
+AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]))
+AC_REQUIRE([AM_SANITY_CHECK])
+AC_REQUIRE([AC_ARG_PROGRAM])
+dnl FIXME This is truly gross.
+missing_dir=`cd $ac_aux_dir && pwd`
+AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
+AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
+AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
+AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
+AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
+AC_REQUIRE([AC_PROG_MAKE_SET])])
+
+#
+# Check to make sure that the build environment is sane.
+#
+
+AC_DEFUN(AM_SANITY_CHECK,
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments.  Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+   set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+   if test "[$]*" = "X"; then
+      # -L didn't work.
+      set X `ls -t $srcdir/configure conftestfile`
+   fi
+   if test "[$]*" != "X $srcdir/configure conftestfile" \
+      && test "[$]*" != "X conftestfile $srcdir/configure"; then
+
+      # If neither matched, then we have a broken ls.  This can happen
+      # if, for instance, CONFIG_SHELL is bash and it inherits a
+      # broken ls alias from the environment.  This has actually
+      # happened.  Such a system could not be considered "sane".
+      AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
+alias in your environment])
+   fi
+
+   test "[$]2" = conftestfile
+   )
+then
+   # Ok.
+   :
+else
+   AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+rm -f conftest*
+AC_MSG_RESULT(yes)])
+
+dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
+dnl The program must properly implement --version.
+AC_DEFUN(AM_MISSING_PROG,
+[AC_MSG_CHECKING(for working $2)
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf.  Sigh.
+if ($2 --version) < /dev/null > /dev/null 2>&1; then
+   $1=$2
+   AC_MSG_RESULT(found)
+else
+   $1="$3/missing $2"
+   AC_MSG_RESULT(missing)
+fi
+AC_SUBST($1)])
+
+# Like AC_CONFIG_HEADER, but automatically create stamp file.
+
+AC_DEFUN(AM_CONFIG_HEADER,
+[AC_PREREQ([2.12])
+AC_CONFIG_HEADER([$1])
+dnl When config.status generates a header, we must update the stamp-h file.
+dnl This file resides in the same directory as the config header
+dnl that is generated.  We must strip everything past the first ":",
+dnl and everything past the last "/".
+AC_OUTPUT_COMMANDS(changequote(<<,>>)dnl
+ifelse(patsubst(<<$1>>, <<[^ ]>>, <<>>), <<>>,
+<<test -z "<<$>>CONFIG_HEADERS" || echo timestamp > patsubst(<<$1>>, <<^\([^:]*/\)?.*>>, <<\1>>)stamp-h<<>>dnl>>,
+<<am_indx=1
+for am_file in <<$1>>; do
+  case " <<$>>CONFIG_HEADERS " in
+  *" <<$>>am_file "*<<)>>
+    echo timestamp > `echo <<$>>am_file | sed -e 's%:.*%%' -e 's%[^/]*$%%'`stamp-h$am_indx
+    ;;
+  esac
+  am_indx=`expr "<<$>>am_indx" + 1`
+done<<>>dnl>>)
+changequote([,]))])
+
diff --git a/admin/ChangeLog b/admin/ChangeLog
new file mode 100644
index 0000000..20e979b
--- /dev/null
+++ b/admin/ChangeLog
@@ -0,0 +1,748 @@
+2000-11-30  David Faure  <faure at kde.org>
+
+	* acinclude.m4.in: Added kde_moduledir which points to $prefix/lib/kde2/
+
+2000-07-24  Alex Zepeda  <jazepeda at pacbell.net>
+
+	* acinclude.m4.in: Remove the test for malloc.h
+
+2000-04-05  Michael Matz  <matz at ifh.de>
+
+        * config.pl : added kludge for compiling regexp's even if
+	perl < 5.005 is installed
+	* conf.change.pl : added support for autoconf 2.14.1
+
+2000-03-27  David Faure  <faure at kde.org>
+
+	* acinclude.m4.in, Makefile.common: changed inst-apps semantics
+	If present, only the subdirs it lists will be configured and compiled.
+	If absent, then subdirs is used (and inst-apps isn't generated anymore)
+
+2000-03-22  David Faure  <faure at kde.org>
+
+	* am_edit: Added support for KDE_ICON = AUTO
+
+2000-03-18  David Faure  <faure at kde.org>
+
+	* Makefile.common: Rewrote the list-of-Makefiles generation to make it
+	simpler and nicer, using create_makefiles' way of doing it.
+	Added support for COMPILE_LAST and COMPILE_FIRST in toplevel Makefile.am
+
+2000-01-05  David Faure  <faure at kde.org>
+
+	* Makefile.common: hacked around autoconf bug (setting INSTALL to ".."
+	when calling a subconfigure and INSTALL is already set).
+
+1999-12-15  Waldo Bastian  <bastian at kde.org>
+
+        * acinclude.m4.in: Test whether Qt compiles AND LINKS without flags.
+
+1999-06-24  Stephan Kulow  <coolo at kde.org>
+
+	* am_edit: generate correct Makefile entries for kde-i18n toplevel directories
+	* am_edit:
+
+1999-06-14  Stephan Kulow  <coolo at kde.org>
+
+	* am_edit: remove idl generated files on make clean
+
+1999-06-09  Stephan Kulow  <coolo at kde.org>
+
+	* am_edit: skipping programs with variables in sources for final
+
+1999-06-07  Stephan Kulow  <coolo at kde.org>
+
+	* am_edit: added support for idl files
+
+1999-06-02  Stephan Kulow  <coolo at kde.org>
+
+	* Makefile.common: preserve comments in .pot files to make it
+		possible for programmers and translators to comment them
+
+1999-06-02  Simon Hausmann <hausmann at kde.org>
+
+        * acinclude.m4.in: added kde_servicetypesdir
+
+1999-06-02  David Faure  <faure at kde.org>
+
+	* acinclude.m4.in: removed LIB_KFM and LIB_KDEUTIL aliases
+
+1999-05-28  Simon Hausmann <hausmann at kde.org>
+
+	* acinclude.m4.in: added kde_servicesdir
+
+1999-05-27  Stephan Kulow  <coolo at kde.org>
+
+	* am_edit: lots of changes for better support of --enable-final
+
+1999-05-22  Stephan Kulow  <coolo at kde.org>
+
+	* acinclude.m4.in: added support for --with-dmalloc
+
+1999-05-19  Stephan Kulow  <coolo at kde.org>
+
+	* acinclude.m4.in: added support for --enable-final
+
+	* am_edit: added support for --enable-final
+	
+1999-05-06  Stephan Kulow  <coolo at kde.org>
+
+	* acinclude.m4.in: change the meaning of --disable-debug
+
+1999-05-04  Helge Deller <deller at gmx.de>
+
+	* acinclude.m4.in: the test for the X-includes/directories failed,
+	when compile & link work without special directories (as on HP-UX).
+
+1999-04-20  Stephan Kulow  <coolo at kde.org>
+
+	* am_edit: adding DESTDIR replacement for rm and uninstall-local
+	too. Seems very useless, but makes testing for uninstall easier
+
+1999-04-01  David Faure  <faure at kde.org>
+
+	* acinclude.m4.in: Added -lkfile to $(LIB_KIO)
+
+1999-03-30  David Faure  <faure at kde.org>
+
+	* acinclude.m4.in: Added AC_CHECK_KDEMAXPATHLEN, which defines KDEMAXPATHLEN.
+
+1999-03-29  David Faure  <faure at kde.org>
+
+	* acinclude.m4.in: added LIB_X11 to XPMLIB and GLLIB, because
+	on SCO, they need it _after_ themselves.
+
+1999-03-28  David Faure  <faure at kde.org>
+
+	* acinclude.m4.in: added LIB_KFM to LIB_KAB alias
+
+1999-03-26  David Faure  <faure at kde.org>
+
+	* acinclude.m4.in: made LIB_KFILE use LIB_KIO instead of LIB_KFM
+	added LIB_KFORMULA
+
+1999-03-20  Stephan Kulow  <coolo at kde.org>
+
+	* acinclude.m4.in: check for libXext - for Russel :)
+
+1999-03-16  Stephan Kulow  <coolo at kde.org>
+
+	* acinclud3.m4.in: extend the MICO test with a list of possible
+	places where to find CORBA.h
+
+1999-03-15  Stephan Kulow  <coolo at kde.org>
+
+	* acinclude.m4.in: move $QTINC and $QTLIB in search path
+
+1999-03-14  Stephan Kulow  <coolo at kde.org>
+
+	* am_edit: install-root is obsolute. Use DESTDIR always
+
+1999-03-03  Stephan Kulow  <coolo at kde.org>
+
+	* acinclude.m4.in: fixing a bug, that $QTDIR was taken before --with-qt*
+	* acinclude.m4.in: added KDE_USE_QT, that you can choose if to
+	use QT 2.0 or KDE 1.0
+	
+	* Makefile.common: added target package-merge
+
+	* am_edit: many fixes to the POFILES handeling of am_edit
+
+1999-03-02  Stephan Kulow  <coolo at kde.org>
+
+	* acinclude.m4.in: first look at libjpeg6b (from kdesupport) then
+	for libjpeg
+
+	* config.*, libtool.*: update to the latest FSF tools
+
+1999-02-23  Stephan Kulow  <coolo at kde.org>
+
+	* acinclude.m4.in: error when Sparc CC is used. Better use it in
+	configure and tell him the story then letting him find it while
+	compiling
+
+	* acinclude.m4.in: adding KDE_CHECK_EXTRA_LIBS to all possible tests,
+	so that --with-extra-includes is used when needed.
+
+	* acinclude.m4.in: configure looks for giflib30, so it should say so
+
+	* acinclude.m4.in: don't overwrite x include parameters. Patch by
+	Ari Lemmke <ari.lemmke at regex.fi> (bug report 741)
+	
+1999-02-20  Stephan Kulow <coolo at kde.org>
+
+	* acinclude.m4.in: fixing KDE_CHECK_PATHS for rechecking. In case
+	of defaults (kdelibs) configure didn't cache the results
+
+1999-02-18  David Faure  <faure at kde.org>
+
+	* acinclude.m4.in: added AC_CHECK_S_ISSOCK, to fix #706.
+
+1999-02-17  David Faure  <faure at kde.org>
+
+	* acinclude.m4.in: added AC_CHECK_RANDOM, just like
+	AC_CHECK_USLEEP, to enable the fake if necessary.
+
+1999-02-13  Kurt Granroth <granroth at kde.org>
+
+        * acinclude.m4.in: look for QT-2.0
+
+1999-02-05  Stephan Kulow  <coolo at kde.org>
+
+	* acinclude.m4.in: in macro KDE_FIND_PATH treat user given dirs
+	and $PATH dirs the same. Added seperate test for to find binary
+	($5) to replace findperl
+
+1999-01-28  Stephan Kulow  <coolo at kde.org>
+
+	* automoc: added patch by jbb to be a little bit more precise about
+	the number of sourcefiles that include the moc file if it's != 1.
+	Besides that automoc will fail with exit code, so the Makefile.cvs
+	process does stop in case a problem accoured.
+
+	* automoc: don't hardcode header suffix, but allow *.h, *.hh and *.H
+	
+1999-01-27  Stephan Kulow  <coolo at kde.org>
+
+	* acinclude.m4.in: try qobjcoll.h and qapplication.h before saying
+	OK to qt headers. (I could kill SuSE for splitting into qt-dev
+	and qt-compat)
+
+1991-01-23  Stephan Kulow  <coolo at kde.org>
+
+	* automoc: added fixes by JB <jb.nz at writeme.com>
+
+1999-01-21  Stephan Kulow  <coolo at kde.org>
+
+	* automoc: added --help and --path (for use in dist-hook)
+
+1999-01-20  Alex Zepeda  <garbanzo at hooked.net>
+	
+	* ltconfig: added entries for FreeBSD 4.x
+
+1999-01-19  Stephan Kulow  <coolo at kde.org>
+
+	* automoc: added a distclean-metasources target which deletes all
+	moc files and let distclean depend on it
+
+1999-01-18  Stephan Kulow  <coolo at kde.org>
+
+        * automoc: several fixes (ignore comment lines + join lines
+         with \ )
+	
+	* automoc: support META_INCLUDES in case the header files are
+	not in the same dir as the sources.
+
+1999-01-17  Stephan Kulow  <coolo at kde.org>
+
+	* automoc: several fixes.
+
+1999-01-16  Stephan Kulow  <coolo at kde.org>
+
+	* automoc: added support for included MOC files.
+
+	* acinclude.m4.in: use srcdir for the subdirs stuff as well
+
+	* automoc: added better command line parsing and some preparation
+	for handling "normal" moc files
+
+	* acinclude.m4.in: added aliases for libkio and libkdeutil
+
+1999-01-15  Harri Porten  <porten at kde.org>
+
+	* automoc: Carved in stone syntax for Makefile.in:
+	{program}_METASOURCES = USE_AUTOMOC [{suffix}]
+
+1999-01-15  Stephan Kulow  <coolo at kde.org>
+
+	* Makefile.common: set top_srcdir to .
+
+1999-01-14  Stephan Kulow  <coolo at kde.org>
+
+	* acinclude.m4.in: don't use config.h.bot any longer
+
+1999-01-08  Stephan Kulow  <coolo at kde.org>
+
+	* acinclude.m4.in: added KDE_CHECK_NEWLIBS
+
+	* acinclude.m4.in: test for Qt even if both --with-qt-headers and
+	--with-qt-libraries are given. They may be wrong.
+	
+1999-01-06  Stephan Kulow  <coolo at kde.org>
+
+	* acinclude.m4.in: change the MOC test so it can be used for other
+	tools as well
+
+1998-12-28  Stephan Kulow  <coolo at kde.org>
+
+	* acinclude.m4.in: look for QT-1.42 since kpanel needs it
+
+1998-12-27  Stephan Kulow  <coolo at kde.org>
+
+	* acinclude.m4.in: added /usr/lib for libpython test
+	
+	* acinclude.m4.in: take my email address out of it and added a
+	reference to www.kde.org/faq
+
+	* acinclude.m4.in: use Qt >= 1.4
+
+	* acinclude.m4.in: added KDE_CHECK_NAMESPACES
+	
+1998-12-18  Stephan Kulow  <coolo at kde.org>
+
+	* acinclude.m4.in: test for directories to exist before saying yes
+	to compilation :)
+
+1998-12-14  Stephan Kulow  <coolo at kde.org>
+
+	* acinclude.m4.in: added CPLUSPLUS for the kimgio test. It's
+	only important for shaman right now, but at least there it is :)
+
+1998-12-12  Stephan Kulow  <coolo at kde.org>
+
+	* Makefile.cvs: added common Makefile.cvs
+
+	* acinclude.m4.in: Thomas.Schwarz at pro-sieben.de reported a very ugly
+	bug in AC_PROG_CXXCPP, so I added my own version
+	
+	* acinclude.m4.in: added KDE_CREATE_SUBDIRS_LIST to simplify
+	most toplevel configures
+
+1998-12-11  Stephan Kulow  <coolo at kde.org>
+
+	* acinclude.m4.in: added call to AC_PROG_CXXCPP. Not really sure why
+	it never caused problems
+
+	* acinclude.m4.in: moved LIBTIFF alias
+
+	* acinclude.m4.in: only test for the existance of libkimgio if the
+	user wants to. For 99% of the applications it doesn't matter if
+	configure can find libkimgio :)
+	
+1998-12-10  Stephan Kulow  <coolo at kde.org>
+
+	* acinclude.m4.in: some changes to the python check to handle $LIBDL
+
+1998-12-09  Stephan Kulow  <coolo at kde.org>
+
+	* acinclude.m4.in: make Alex's tiff test a real one
+	
+	* acinclude.m4.in: fix the LIB_TIFF alias to really expand
+
+1998-12-08  Alex Zepeda  <garbanzo at hooked.net>
+
+	* acinclude.m4.in: Fix tiff test to use libtiff34 if it exists.
+	This is what the FreeBSD port installs to for whatever reason.
+
+	* acinclude.m4.in: s/kde/KDE/ (at least in some of the
+	descriptions, obviously no variable names were touched.
+
+1998-12-08  Stephan Kulow  <coolo at kde.org>
+
+	* acinclude.m4.in: moved the LIB_QT alias to the Qt check
+	
+	* acinclude.m4.in: unset KDEDIR before running conftest
+	
+	* acinclude.m4.in: fixed mean typo
+	
+	* acinclude.m4.in: added the copyright header for the gettext
+	tests, so that people know we're legal ;)
+
+	* acinclude.m4.in: set language to C++ before testing QIMGIO	
+
+1998-12-07  Alex Zepeda  <garbanzo at hooked.net>
+
+	* acinclude.m4.in: Fix PNG test to use correct ANSI C code, and
+	not trip up gcc.
+
+1998-12-07  Stephan Kulow  <coolo at kde.org>
+
+	* acinclude.m4.in: don't hardcode -ldl
+	
+	* acinclude.m4.in: move the LIB_X11 alias to the X test to make it
+	useful for kdesupport as well
+	
+	* acinclude.m4.in: give the word CHECK_KIMGIO a meaning in really
+	checking for it
+
+	* acinclude.m4.in: simple fix to prevent kimgio test from compiling
+	KDE application in kdelibs
+
+1998-12-05  Stephan Kulow  <coolo at kde.org>
+
+	* acinclude.m4.in: let KDE_CHECK_KIMGIO depend on AC_PATH_KDE,
+	otherwise most tests fail. It didn't mean anything to 90% of the
+	packages since they test for KDE before kimgio, but for shaman
+	it does
+
+	* ltconfig: the real fix for the Solaris && gcc problem.
+	Thanks Kurt for reporting it and Alexandre for fixing it :)
+
+1998-12-04  Stephan Kulow  <coolo at kde.org>
+
+	* libtool.*: update again
+
+	* acinclude.m4.in: changed the function to test for libnsl to
+	inet_ntoa since UnixWare 7's version did not have gethostbyname,
+	but needs libnsl
+
+1998-12-02  Stephan Kulow  <coolo at kde.org>
+
+	* acinclude.m4.in: fixed the MOC test (again) to use the PATH variable
+	correctly (with the correct seperator)
+
+	* config.guess: update from the soon to be released autoconf-2.13
+
+1998-12-01  Stephan Kulow  <coolo at kde.org>
+
+	* acinclude.m4.in: fixes for the MOC test. Use PATH now when found
+
+1998-11-30  Stephan Kulow  <coolo at kde.org>
+
+	* acinclude.m4.in: extended the MOC test. It checks now for the
+	first line of the output of "moc --help" and looks for Qt in it.
+
+1998-11-27  Stephan Kulow  <coolo at kde.org>
+
+	* ltconfig: another libtool update. Fixes an ugly bug on Solaris,
+	when GNU ld is in path before Solaris ld, but gcc uses the later
+
+1998-11-26  Stephan Kulow  <coolo at kde.org>
+
+	* acinclude.m4.in: made the Qt test more advance to check for qt
+	1.41 - I still need to make it better, but there shouldn't be too
+	many qt releases in a row, would there? ;)
+
+	* ltconfig: libtool update with better BSD/OS support
+
+1998-11-22  Stephan Kulow  <coolo at kde.org>
+
+	* ltconfig: cool - libtool uses g++ now to link libraries on Solaris.
+	This means, static objects become usuable on that plattforms (some
+	others as well).
+
+1998-11-20  Stephan Kulow  <coolo at kde.org>
+
+	* ltmain.sh: updated libtool from their CVS - fixes bugs we haven't
+	found and adds some more features, that we do not need ;-)
+
+1998-11-19  David Faure  <faure at kde.org>
+
+	* acinclude.m4.in: added AC_CHECK_UTMP_FILE, taken from kdebase
+
+1998-11-16  Harri Porten  <porten at kde.org>
+
+	* automoc: take care of "ar" object files, too.
+
+1998-11-16  Stephan Kulow  <coolo at kde.org>
+
+	* libtool.m4.in: revised my --silent patch. The solution
+	Alexandre suggested is much better.
+
+1998-11-15  Stephan Kulow  <coolo at kde.org>
+
+	* ltconfig.in: done some tweakings to support -export-dynamic
+	with egcs
+
+	* config.sub: wow - BeOS support :)
+
+1998-11-14  Stephan Kulow  <coolo at kde.org>
+
+	* acinclude.m4.in: don't use rpath for test program, if rpath is
+	disabled for applications
+
+	* ltconfig: patched libtool to make it silent without making
+	ltconfig silent
+
+	* acinclude.m4.in: make libtool silent again
+
+	* libtool.m4.in: update to libtool-981114 (untested stuff, but
+	we have to test it to make it tested - sounds that logical? :-)
+
+	* libtool.m4.in: moved the self stricked libtool tests to "our"
+	file.
+
+	* acinclude.m4.in: moved ChangeLog of kdebase which I used to
+	maintain acinclude.m4.in logs to kde-common/admin. Hopefully I
+	will maintain it more often from now on :)
+
+1998-07-27  Stephan Kulow  <coolo at kde.org>
+
+	* acinclude.m4.in: fixed some things in the MOC test
+
+	* acinclude.m4.in: fixed this damn msgfmt test
+
+1998-06-02  Stephan Kulow  <coolo at kde.org>
+
+	* acinclude.m4.in: ignore msgfmt, if not GNU gettext
+
+1998-05-28  Stephan Kulow  <coolo at kde.org>
+
+	* acinclude.m4.in: fixed KDE_CHECK_STL. Checks for HP and SGI type
+
+	* acinclude.m4.in: embraced every variable with "" to make
+	it consistent
+
+	* acinclude.m4.in: various fixes for the koffice checks
+	(mico, ministl and python)
+
+1998-05-16  Stephan Kulow  <coolo at kde.org>
+
+	* acinclude.m4.in: don't use KDE_CHECK_QT_DIRECT, when
+	--with-qt-libs are given
+
+1998-04-21  Stephan Kulow  <coolo at kde.org>
+
+	* acinclude.m4.in: cool, I found the trick to suppress the ls
+	errors
+
+1998-04-20  Stephan Kulow  <coolo at kde.org>
+
+	* acinclude.m4.in: rewrote the qt checking test, since it
+	didn't work under FreeBSD, since it relied on the .so link.
+	The new version is a little bit buggy, but I need some testing
+	to make it perfect
+
+	* acinclude.m4.in: fixed the side effects of the PAM test
+
+1998-04-18  Stephan Kulow  <coolo at kde.org>
+
+	* acinclude.m4.in: hopefully fixed the PAM test (I rewrote it)
+
+1998-04-16  Stephan Kulow  <coolo at kde.org>
+
+	* acinclude.m4.in: extended the getsockname test inspired
+	by a patch by Martin Baulig
+
+	* configure.in: added test for utmp file
+
+	* acinclude.m4.in: made --without-pam default
+	
+
+1998-04-06  Stephan Kulow  <coolo at kde.org>
+
+	* acinclude.m4.in: don't test compiling, linking, running in
+	one step. This proved to be too dangerous for my mail box.
+	
+1998-03-21  Stephan Kulow  <coolo at kde.org>
+
+	* libtool.m4.in: created some new macros to work around this
+	ugly (because long) help of configure --enable-shared/static
+
+1998-03-05  Stephan Kulow  <coolo at kde.org>
+
+	* acinclude.m4.in: set language to C++ before trying the ksize_t
+	test
+
+	* configure.in: sorted the Makefile entries alphabeticly (and all
+	together: we love xemacs! we love xemacs! ;)
+	
+	* configure.in: added sk
+
+	* acinclude.m4.in: substitute x_libraries to fix the empty -rpath
+	
+1998-03-03  Stephan Kulow  <coolo at kde.org>
+
+	* acinclude.m4.in: add a rpath for every shared library, that is
+	linked too (especially X11 libraries)
+	
+Tue Feb 24 22:04:59 1998  Stephan Kulow  <coolo at kde.org>
+
+	* acinclude.m4.in: added kde_sounddir and set kde_minidir to
+	kde_icondir/mini to break not too much
+
+Sun Feb 15 18:25:50 1998  Stephan Kulow  <coolo at kde.org>
+
+	* configure.in: added bugfix by Bob Miller <kbob at engr.sgi.com>
+	(correct reset of IFS)
+	
+Wed Feb 11 00:53:11 1998  Stephan Kulow  <coolo at kde.org>
+
+	* configure.in: made shadow under Linux default, since the
+	binaries will work also under non-shadow systems. The only problem
+	left is PAM, so I disabled shadow in case, PAM is present
+
+Tue Feb 10 16:46:32 1998  Stephan Kulow  <coolo at kde.org>
+
+	* configure.in: added test for nice to find out, if the option
+	-nice works for the screensavers
+
+	* acinclude.m4.in: port to LynxOS. For this I moved all library
+	search routines in KDE_MISC_TESTS, so I don't need to write this
+	in every package
+
+	* README: some grammar fixes
+
+	* acinclude.m4.in: search for the libs in the exec_prefix, when
+	it's present
+	
+Sun Feb  8 14:07:23 1998  Stephan Kulow  <coolo at kde.org>
+
+	* acinclude.m4.in: updated all packages
+
+	* libtool.m4.in: applied patch for libtool.m4.in to show the
+	correct default for shared and static
+	
+
+Sat Feb  7 10:56:00 1998  Stephan Kulow  <coolo at kde.org>
+
+	* configure.in: good news - KDE is relocatable again.
+
+	* libtool.m4.in: updated to latest libtool 1.0i
+
+Fri Feb  6 21:26:51 1998  Stephan Kulow  <coolo at kde.org>
+
+	* acinclude.m4.in: added a AC_PROVIDE for AC_PROG_CC and
+	AC_PROG_CPP to KDE_CHECK_COMPILERS
+
+Thu Feb  5 16:27:47 1998  Stephan Kulow  <coolo at kde.org>
+
+	* acinclude.m4.in: put $QTDIR/bin before /usr/bin in the path to
+	look for moc. I don't know why, but I got a report, that configure
+	found /usr/bin/moc under Solaris
+
+Fri Jan 30 15:47:50 1998  Stephan Kulow  <coolo at kde.org>
+
+	* acinclude.m4.in: export LIBRARY_PATH after reset to the saved
+	value
+	
+	* acinclude.m4.in: unset the LIBRARY_PATH to get a relieable
+	result when trying to find, if Qt compiles without -L
+
+Sat Jan 24 00:45:52 1998  Stephan Kulow  <coolo at kde.org>
+
+	* acinclude.m4.in: fixed another bug in AC_PATH_KDE
+
+Thu Jan 22 14:46:15 1998  Stephan Kulow  <coolo at kde.org>
+
+	* configure.in: fixed an ugly bug in AC_BASE_PATH_KDE
+
+	* kappfinder/kappfinder.in: let kappfinder create by configure to
+	allow the use of the kde_ paths
+
+Wed Jan 21 22:19:35 1998  Stephan Kulow  <coolo at kde.org>
+
+	* acinclude.m4.in: - added a install_root prefix to all paths, if
+	set, to enable package managers to move the whole installation at once
+	- added --with-install-root to set the install_root prefix
+
+Tue Jan 20 22:41:04 1998  Stephan Kulow  <coolo at kde.org>
+
+	* configure.in: added NOOPT_CXXFLAGS to allow kioslave to be
+	compiled without -O2
+
+Mon Jan 19 21:55:21 1998  Stephan Kulow  <coolo at kde.org>
+
+	* configure.in: some little fixes for the Makefiles
+
+	* acinclude.m4.in: --prefix will no longer override the search for
+	libraries. If they are present somewhere, they are used (through
+	the methodes in KApplication)
+
+Mon Jan 12 00:30:36 1998  Stephan Kulow  <coolo at kde.org>
+
+	* acinclude.m4.in fixed an ugly bug, that accoured, when
+	qt_libraries is not set (empty/equals X11/not necessary)
+	
+	* acinclude.m4.in moved the remove of the files after the error
+	detection
+	
+
+Sun Jan 11 17:27:53 1998  Stephan Kulow  <coolo at kde.org>
+
+	* acinclude.m4.in added a new macro KDE_CHECK_QT_DIRECT to unset
+	the Qt library path, if a Qt program compiles without them
+		
+	* acinclude.m4.in added a return value in the CREATE_KFSSTND
+	macro. Perhaps this has caused the problems
+
+Sat Jan 10 17:40:44 1998  Stephan Kulow  <coolo at kde.org>
+
+	* ChangeLog started to maintain a ChangeLog file again
+	* acinclude.m4.in the AC_CREATE_KFSSTND to get better debug output
+	to find the problem
+	
+
+Old logs, Stephan Kulow made:
+	
+0.1 : first steps with libkde
+0.2 : first release with libkde, khtmlw, kdehelp, acli, kwm, kpanel
+0.3 : added kfm and bugfixes
+0.4 : updated khtmlw, kdehelp, kwm, changed install in all subdirs
+0.5 : support libtool (chooseable shared libs)
+0.6 : split libkde in kdecore and kdeui
+0.6.1 : Bugfixes
+0.7 : added code from Janos Farkas (configure)
+    : added @{kde,qt}_{includes,libraries}@
+0.7.1: Bugfixes
+0.7.2: Bugfixes
+0.7.3: added @all_includes@ and @all_libraries@
+       replaced all incompatible flags like $(CC) and -DHAVE_UNISTD_H
+0.7.4: changed support for libkde (back in it's own)
+       added kpat
+       updated kpanel, kwm, kghostview
+0.8: removed a bug in kghostview
+	lifted installation process of several apps
+	splitt kdebase into kdelibs and kdeapps	
+	updated khtmlw, kfm and kdehelp
+	added kcalc and kpaint
+	updated kdisplay
+	added kscreensaver
+	added --enable-kscreensaver
+	added --enable-debug (and @CXXFLAGS@ to all Makefile.ins)
+	updated kwm to 0.4.7
+	added make uninstall to every app
+	added kvt
+	added khexdit
+	added .kdelnk for kmines, kedit, ktetris
+	put kwm, kfind's .kdelnk in the right directories
+	replaced --enable-kscreensaver by --disable-kscreensaver
+	updated kpanel to 0.15
+	some bugfixes (thanks Marco)
+	some bugfixes (thanks Martin)
+	changed acinclude.m4, because aclocal won't
+	updated kwm to 0.4.8 (patched it again for Qt-1.2)
+	updated kvt to 0.13 (patch from Matthias)
+	patched kvt and kwm
+	updated kwm to 0.5.0
+	updated kvt for 0.14 (again and again :-)
+	updated kview to 0.10
+	updated kfm to 0.6.3
+ 	patched kscreensaver for FreeBSD (thanks Marc)
+0.9: updated kdisplay to 0.5.3
+	added klogout
+	patches from Matthias
+	updated kfm to 0.6.4
+	updated kghostview to 0.4
+	added QTINC and QTLIB
+	updated kdehelp to 0.4.11
+	patched kfm to support ktoolbar
+	updated kedit to kedit+
+	added kfontmanager 0.2.1
+0.9.1: changed kpaint's make style
+	bugfixing
+	updated kmines to 0.6.5
+	updated ktetris to 0.2.4
+	changed to Makefiles to depend on Makefile.in
+	changed the Makefiles to let install depend on all
+	added kjots-0.2.2
+	updated kjots-0.2.3
+	updated kfm to 0.6.6
+	updated kjots-0.2.4
+	updated kpaint-0.2
+	updated kedit to 0.5
+	updated kfontmanager to 0.2.2
+	updated kfm to 0.6.7
+	updated ktetris to 0.2.5
+	updated kjots to 0.2.5
+0.10: added HAVE_SQRTL
+	added HAVE_CRYPT_H
+	updated kfind
+	updated kfm to kfm-0.8.1
+	re-introduced automake to kdebase
+	bugfixes for the configure.in
+	added XPM, GL and PAM tests to configure
+	added morph3d to kscreensavers
+	updated kfind to 0.3.2
+	added some patches for SGI
+... lost the time to maintain a Changelog ;)
diff --git a/admin/Makefile.common b/admin/Makefile.common
new file mode 100644
index 0000000..e91e1b8
--- /dev/null
+++ b/admin/Makefile.common
@@ -0,0 +1,286 @@
+
+cvs:
+	@if grep '$$(top_srcdir)/acinclude.m4:' Makefile.am >/dev/null; then \
+	  echo "*** Concatenating configure tests into acinclude.m4" ;\
+	  rm -f acinclude.m4 configure.files ;\
+	  $(MAKE) -f Makefile.am top_srcdir=. acinclude.m4 ;\
+	fi
+	@if test -r configure.in.in; then \
+	  rm -f subdirs configure.in ;\
+	  echo "*** Creating list of subdirectories in subdirs" ;\
+	  $(MAKE) -f Makefile.am top_srcdir=. subdirs ;\
+	  echo "*** Searching for subdirectories..." ;\
+	  $(MAKE) -f Makefile.am top_srcdir=. configure.in ;\
+	fi
+	@echo "*** Retrieving configure tests needed by configure.in"
+	@aclocal
+	@echo "*** Scanning for include statements"
+	@autoheader
+	@echo "*** Building Makefile templates"
+	@automake
+	@echo "*** Scanning for moc files and kde tags"
+	@perl admin/am_edit
+	@echo "*** Building configure"
+	@autoconf
+	@if test -r configure.in.in ; then \
+	  perl -pi -e 'print "if test \"x\$$with_fast_perl\" = \"xyes\" ;\
+	  then\n  perl -i.bak \$$ac_aux_dir/conf.change.pl \$$CONFIG_STATUS\
+	  || mv \$$CONFIG_STATUS.bak \$$CONFIG_STATUS;\
+	  \n  rm -f \$$CONFIG_STATUS.bak;\nfi\
+	  \n" if /^\s*chmod\s+.*\+x\s+.*CONFIG_STATUS/;' configure ;\
+	fi
+	@echo "*** Creating date/time stamp"
+	@touch stamp-h.in
+	@if egrep "^cvs-local:" Makefile.am >/dev/null; then \
+	  $(MAKE) -f Makefile.am cvs-local ;\
+	fi
+	@if grep '} \$$ac_kw foo' configure >/dev/null 2>&1; then perl -p -i -e "s/ac_kw foo/ac_kw int foo/" configure; fi
+#David's hack for autoconf bug when $INSTALL is set
+	@perl -pi -e 'if (/\[\/\$$\]\*. INSTALL=/) { print $$_ ; $$_ = "\"\") ;;\n"; }' configure
+	@echo "*** Finished"
+	@echo "    Don't forget to run ./configure"
+	@echo "    If you haven't done so in a while, run ./configure --help"
+
+dist:	
+	@if grep -e '$$(top_srcdir)/acinclude.m4:' Makefile.am >/dev/null; then \
+	  $(MAKE) -f Makefile.am top_srcdir=. acinclude.m4 ;\
+	fi
+	@if test -r configure.in.in; then \
+	  $(MAKE) -f Makefile.am top_srcdir=. subdirs configure.in; \
+	fi ;\
+	aclocal; \
+	autoheader; \
+	automake --foreign --include-deps; \
+	perl admin/am_edit; \
+	autoconf; \
+	if test -r configure.in.in ; then \
+	  perl -pi -e 'print "if test \"x\$$with_fast_perl\" = \"xyes\" ;\
+	  then\n  perl -i.bak \$$ac_aux_dir/conf.change.pl \$$CONFIG_STATUS\
+	  || mv \$$CONFIG_STATUS.bak \$$CONFIG_STATUS;\
+	  \n  rm -f \$$CONFIG_STATUS.bak;\nfi\
+	  \n" if /^\s*chmod\s+.*\+x\s+.*CONFIG_STATUS/;' configure ;\
+	fi ;\
+	touch stamp-h.in; \
+	if grep -e "^cvs-local:" Makefile.am >/dev/null; then \
+	  $(MAKE) -f Makefile.am cvs-local ;\
+	fi ;\
+	if grep "ac_kw foo" configure >/dev/null 2>&1; then perl -p -i -e "s/ac_kw foo/ac_kw int foo/" configure; fi ;\
+	if test -d po; then \
+	 LIST=`find ./po -name "*.po"`; \
+	 for i in $$LIST; do \
+	  file2=`echo $$i | sed -e "s#\.po#\.gmo#"`; \
+	  msgfmt -o $$file2 $$i || touch $$file2; \
+	 done ;\
+	fi
+	@if grep -e "^cvs-dist-local:" Makefile.am >/dev/null; then \
+	  $(MAKE) -f Makefile.am cvs-dist-local ;\
+	fi
+
+cvs-clean:
+	@if test ! -d CVS; then \
+	  echo "You don't have a toplevel CVS directory."; \
+	  echo "You most certainly didn't use cvs to get these sources."; \
+	  echo "But this function depends on cvs's information."; \
+	  exit 1 ;\
+	fi;\
+	pwd=`pwd` ;\
+	dirs=`find . -type d | grep -v CVS | sed -e "s#^./##"` ;\
+	for i in $$dirs; do \
+	  if test ! -d "$$pwd/$$i/CVS"; then \
+	    echo "D $$i" ;\
+	    rm -rf "$$pwd/$$i"; \
+	    continue; \
+	  fi ;\
+	  cd $$pwd/$$i ;\
+	  for f in * .*; do \
+	    if test ! -d "$$f"; then \
+	      if grep "^/$$f/" CVS/Entries > /dev/null; then \
+		a="b"; \
+	      else \
+	        echo "F $$i/$$f"; \
+		rm -f "$$pwd/$$i/$$f"; \
+	      fi; \
+	    fi ; \
+	  done; \
+	done
+
+
+# The Makefiles have to be sorted for slashes, since configure creates
+# only one directory per Makefile not the whole hierarchy
+configure.in: configure.files $(shell test -f configure.files && cat configure.files) subdirs
+	@rm -f configure.in rm -f configure.in.new ;\
+	cat `cat configure.files | egrep -v "^configure.in.bot"` >> configure.in.new ;\
+	echo "KDE_CREATE_SUBDIRSLIST" >> configure.in.new ;\
+	echo "AC_OUTPUT( \\" >> configure.in.new ;\
+	mfs=`find . -type d -print | fgrep -v "/." | sed -e "s#\./##" -e "/^debian/d" | sort`; \
+	for i in $$mfs; do \
+	  topleveldir=`echo $$i| sed -e "s#/.*##"`; \
+	  if test -f $$topleveldir/configure.in; then \
+		continue; \
+	  fi ;\
+	  if test ! -f $$i/Makefile.am; then \
+		continue; \
+	  fi ;\
+	  if test -s inst-apps; then \
+	    if test -z "`grep \"^$$topleveldir\" inst-apps`"; then \
+		continue; \
+	    fi ;\
+	  fi ;\
+	  echo "$$i/Makefile \\" >> configure.in.new ;\
+	done ;\
+	egrep '^dnl AC_OUTPUT\(.*\)' `cat configure.files` | sed -e "s#^.*dnl AC_OUTPUT(\(.*\))#\1#" >> configure.in.new ;\
+	echo ")" >> configure.in.new 
+	@modulename= ;\
+	if test -f configure.in.in; then \
+	   if head -2 configure.in.in | egrep "^#MIN_CONFIG$$" > /dev/null; then \
+	      line=`egrep "^AM_INIT_AUTOMAKE\(" configure.in.in` ;\
+	      if test -n "$$line"; then \
+		  modulename=`echo $$line | sed -e "s#AM_INIT_AUTOMAKE(\([^,]*\),.*#\1#"` ;\
+		  VERSION=`echo $$line | sed -e "s#AM_INIT_AUTOMAKE([^,]*, *\([^)]*\)).*#\1#"` ;\
+	       fi ;\
+	      sed -e "s#AM_INIT_AUTOMAKE([^@].*#dnl PACKAGE set before#" configure.in.new > configure.in \
+		  && mv configure.in configure.in.new ;\
+	   fi ;\
+	fi ;\
+	if test -z "$$modulename" || test "$$modulename" = "@MODULENAME@"; then \
+	   modulename=`pwd`; modulename=`basename $$modulename`; \
+	fi ;\
+	if test -z "$$VERSION" || test "$$VERSION" = "@VERSION@"; then \
+	     VERSION="\"2.1 beta 2\"";  \
+	fi ;\
+	sed -e "s#@MODULENAME@#$$modulename#" configure.in.new | \
+		sed -e "s#@VERSION@#$$VERSION#" > configure.in
+	@if test -f configure.in.bot ; then cat configure.in.bot >> configure.in ; fi
+	@rm -f configure.in.new
+
+configure.files: subdirs
+	@admindir=NO ;\
+	for i in . .. ../.. ../../..; do \
+	  if test -x $$i/admin; then admindir=$$i/admin; break; fi; \
+	done ;\
+	rm -rf configure.files ;\
+	if test -f configure.in.in && head -2 configure.in.in | egrep "^#MIN_CONFIG$$" > /dev/null; then \
+		echo $$admindir/configure.in.min >> configure.files  ;\
+	fi
+	@test -f configure.in.in && echo configure.in.in >> configure.files
+	@list=`find . -name "configure.in.in" | sort`; \
+	for i in $$list; do if test -f $$i && test ! `dirname $$i` = "." ; then \
+	  echo $$i >> configure.files ;\
+	fi; done
+	@if test -f configure.in.mid ; then echo configure.in.mid >> configure.files ; fi 
+	@if test -f configure.in.bot ; then echo configure.in.bot >> configure.files ; fi
+
+subdirs:
+	@files=`ls -1 | sort`; \
+	dirs= ;\
+	lib_dirs= ;\
+	first_dirs= ;\
+	last_dirs= ;\
+	compilefirst=`grep '^COMPILE_FIRST[ ]*=' Makefile.am | \
+		sed -e 's#^COMPILE_FIRST[ ]*=[ ]*#|#' | sed -e 's#$$#|#' | sed -e 's# #|#g'`;\
+	compilelast=`grep '^COMPILE_LAST[ ]*=' Makefile.am | \
+		sed -e 's#^COMPILE_LAST[ ]*=[ ]*#|#' | sed -e 's#$$#|#' | sed -e 's# #|#g'`;\
+	for i in $$files; do if test -d $$i; then \
+	    if test -f $$i/Makefile.am; then \
+		if echo $$compilefirst | grep "|$$i|" >/dev/null; then \
+			first_dirs="$$first_dirs $$i" ;\
+		elif echo $$compilelast | grep "|$$i|" >/dev/null; then \
+			last_dirs="$$last_dirs $$i" ; \
+		else dirs="$$dirs $$i" ;\
+		fi ;\
+	     fi ;\
+	   fi; \
+	done ;\
+	rm -f SUBDIRS ;\
+	for i in $$dirs; do \
+	echo $$i >> ./SUBDIRS; \
+	done
+	@if test -r subdirs && diff subdirs SUBDIRS > /dev/null; then \
+	  rm -f SUBDIRS; \
+	fi
+	@test -r SUBDIRS && mv SUBDIRS subdirs || true
+
+package-merge:
+	@catalogs='$(POFILES)'; \
+	for cat in $$catalogs; do \
+	echo $$cat $$name; \
+	msgmerge -o $$cat.new $$cat $(PACKAGE).pot ; \
+	if test -s $$cat.new; then \
+	  grep -v "\"POT-Creation" $$cat.new > $$cat.new.2 ; \
+	  grep -v "\"POT-Creation" $$cat >> $$cat.new.1; \
+	  if diff $$cat.new.1 $$cat.new.2; then \
+		rm $$cat.new;  \
+	  else  \
+		mv $$cat.new $$cat ; \
+	fi; \
+	rm -f $$cat.new.1 $$cat.new.2 ;\
+	fi ;\
+	done
+
+
+package-messages:
+	@rm -rf po.backup ;\
+	mkdir po.backup ;\
+	for i in `ls -1 po/*.pot 2>/dev/null | sed -e "s#po/##"`; do \
+	  egrep -v '^#([^:]|$)' po/$$i | egrep '^.*[^ ]+.*$$' | grep -v "\"POT-Creation" > po.backup/$$i ; \
+	  cp po/$$i po.backup/backup_$$i ;  \
+	  touch -r po/$$i po.backup/backup_$$i ;\
+	  rm po/$$i ;\
+	done
+	@podir=$${podir:-$$PWD/po} ;\
+	files=`find . -name Makefile.am | xargs egrep -l '^messages:' `; \
+	dirs=`for i in $$files; do echo \`dirname $$i\`; done`; \
+	tmpname="$$PWD/messages.log" ;\
+	for subdir in $$dirs; do \
+	  test -z "$$VERBOSE" || echo "Making messages in $$subdir"; \
+	  (cd $$subdir ;\
+	   if test -n "`grep -e '^messages:.*rc.cpp' Makefile.am`"; then \
+	   	$${EXTRACTRC:-extractrc} *.rc *.ui > rc.cpp ;\
+	   else \
+		candidates=`ls -1 *.rc *.ui 2>/dev/null` ;\
+		if test -n "$$candidates"; then \
+		    echo "$$subdir has *.rc or *.ui files, but not correct messages line" ;\
+		fi ;\
+	   fi ;\
+	   if test -n "`grep -r KAboutData *.c* *.C* 2>/dev/null`"; then \
+		echo -e 'i18n("_: NAME OF TRANSLATORS\\n"\n"Your names")\ni18n("_: EMAIL OF TRANSLATORS\\n"\n"Your emails")' > _translatorinfo.cpp ;\
+	   else echo " " > _translatorinfo.cpp ;\
+	   fi; \
+	   perl -e '$$mes=0; while (<STDIN>) { if (/^messages:/) { $$mes=1; print $$_; next; } if ($$mes) { if (/$$\\(XGETTEXT\)/ && / -o/) { s/ -o \$$\(podir\)/ _translatorinfo.cpp -o \$$\(podir\)/ } print $$_; } else { print $$_; } }' < Makefile.am > _transMakefile ;\
+	   $(MAKE) -s -f _transMakefile podir=$$podir \
+	   XGETTEXT="$${XGETTEXT:-xgettext} -C -ki18n \
+	   -kI18N_NOOP -ktranslate -kaliasLocale \
+	   -x $${includedir:-$$KDEDIR/include}/kde.pot" \
+	   messages ) >$$tmpname 2>&1 ;\
+	   test -s $$tmpname && (echo $$subdir ; cat $$tmpname) ;\
+	   test ! -f $$subdir/rc.cpp || rm -f $$subdir/rc.cpp ;\
+	   rm -f $$subdir/_translatorinfo.cpp ;\
+	   rm -f $$subdir/_transMakefile ;\
+	done
+	rm -f $$tmpname
+	@for i in `ls -1 po.backup/*.pot 2>/dev/null | sed -e "s#po.backup/##" | egrep -v '^backup_'`; do \
+	  if test ! -f po/$$i; then echo "disappeared: $$i"; fi ;\
+	done
+	@for  i in `ls -1 po/*.pot 2>/dev/null | sed -e "s#po/##"`; do \
+	   egrep -v '^#([^:]|$)' po/$$i | egrep '^.*[^ ]+.*$$' | grep -v "\"POT-Creation" > temp.pot ;\
+	  if test -f po.backup/$$i && test -n "`diff temp.pot po.backup/$$i`"; then \
+	 	echo "will update $$i"; \
+		msgmerge -q po.backup/backup_$$i po/$$i > temp.pot ;\
+	        mv temp.pot po/$$i; \
+	   else \
+	    if test -f po.backup/backup_$$i; then \
+	      test -z "$$VERBOSE" || echo "I'm restoring $$i" ;\
+	      mv po.backup/backup_$$i po/$$i; \
+	      rm po.backup/$$i; \
+	    else \
+	      echo "will add $$i" ;\
+	    fi ;\
+	fi ;\
+	done
+	@rm -f temp.pot
+	@rm -rf po.backup
+
+test:
+	perl -e '$$mes=0; while (<STDIN>) { if (/^messages:/) { $$mes=1; print $$_; next; } if ($$mes) { if (! /^\t/) { exit(0); } if (/$$\\(XGETTEXT\)/ && / -o/) { s/ -o/ _translatorinfo.cpp -o/ } print $$_;  } }' < Makefile.am 
+
+.SILENT:
diff --git a/admin/acinclude.m4.in b/admin/acinclude.m4.in
new file mode 100644
index 0000000..a09936f
--- /dev/null
+++ b/admin/acinclude.m4.in
@@ -0,0 +1,4027 @@
+##   -*- autoconf -*-
+
+dnl    This file is part of the KDE libraries/packages
+dnl    Copyright (C) 1997 Janos Farkas (chexum at shadow.banki.hu)
+dnl              (C) 1997,98,99 Stephan Kulow (coolo at kde.org)
+
+dnl    This file is free software; you can redistribute it and/or
+dnl    modify it under the terms of the GNU Library General Public
+dnl    License as published by the Free Software Foundation; either
+dnl    version 2 of the License, or (at your option) any later version.
+
+dnl    This library is distributed in the hope that it will be useful,
+dnl    but WITHOUT ANY WARRANTY; without even the implied warranty of
+dnl    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+dnl    Library General Public License for more details.
+
+dnl    You should have received a copy of the GNU Library General Public License
+dnl    along with this library; see the file COPYING.LIB.  If not, write to
+dnl    the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+dnl    Boston, MA 02111-1307, USA.
+
+dnl IMPORTANT NOTE:
+dnl Please do not modify this file unless you expect your modifications to be
+dnl carried into every other module in the repository. If you decide that you
+dnl really want to modify it, contact coolo at kde.org mentioning that you have
+dnl and that the modified file should be committed to every module.
+dnl
+dnl Single-module modifications are best placed in configure.in for kdelibs
+dnl and kdebase or configure.in.in if present.
+
+
+dnl ------------------------------------------------------------------------
+dnl Find a file (or one of more files in a list of dirs)
+dnl ------------------------------------------------------------------------
+dnl
+AC_DEFUN(AC_FIND_FILE,
+[
+$3=NO
+for i in $2;
+do
+  for j in $1;
+  do
+    if test -r "$i/$j"; then
+      $3=$i
+      break 2
+    fi
+  done
+done
+])
+
+dnl KDE_FIND_PATH(programm-name, variable-name, list of directories,
+dnl	if-not-found, test-parameter)
+AC_DEFUN(KDE_FIND_PATH,
+[
+   AC_MSG_CHECKING([for $1])
+   if test -n "$$2"; then
+        kde_cv_path="$$2";
+   else
+        kde_cache=`echo $1 | sed 'y%./+-%__p_%'`
+
+        AC_CACHE_VAL(kde_cv_path_$kde_cache,
+        [
+        kde_cv_path="NONE"
+	dirs="$3"
+	kde_save_IFS=$IFS
+	IFS=':'
+	for dir in $PATH; do
+	  dirs="$dirs $dir"
+        done
+	IFS=$kde_save_IFS
+
+        for dir in $dirs; do
+	  if test -x "$dir/$1"; then
+	    if test -n "$5"
+	    then
+              evalstr="$dir/$1 $5 2>&1 "
+	      if eval $evalstr; then
+                kde_cv_path="$dir/$1"
+                break
+	      fi
+            else
+		kde_cv_path="$dir/$1"
+                break
+	    fi
+          fi
+        done
+
+        eval "kde_cv_path_$kde_cache=$kde_cv_path"
+
+        ])
+
+      eval "kde_cv_path=\"`echo '$kde_cv_path_'$kde_cache`\""
+
+   fi
+
+   if test -z "$kde_cv_path" || test "$kde_cv_path" = NONE; then
+      AC_MSG_RESULT(not found)
+      $4
+   else
+      AC_MSG_RESULT($kde_cv_path)
+      $2=$kde_cv_path
+
+   fi
+])
+
+AC_DEFUN(KDE_MOC_ERROR_MESSAGE,
+[
+    AC_MSG_ERROR([No Qt meta object compiler (moc) found!
+Please check whether you installed Qt correctly.
+You need to have a running moc binary.
+configure tried to run $ac_cv_path_moc and the test didn't
+succeed. If configure shouldn't have tried this one, set
+the environment variable MOC to the right one before running
+configure.
+])
+])
+
+AC_DEFUN(KDE_UIC_ERROR_MESSAGE,
+[
+    AC_MSG_WARN([No Qt ui compiler (uic) found!
+Please check whether you installed Qt correctly.
+You need to have a running uic binary.
+configure tried to run $ac_cv_path_uic and the test didn't
+succeed. If configure shouldn't have tried this one, set
+the environment variable UIC to the right one before running
+configure.
+])
+])
+
+dnl ------------------------------------------------------------------------
+dnl Find the meta object compiler and the ui compiler in the PATH,
+dnl in $QTDIR/bin, and some more usual places
+dnl ------------------------------------------------------------------------
+dnl
+AC_DEFUN(AC_PATH_QT_MOC_UIC,
+[
+   qt_bindirs=""
+   for dir in $kde_qt_dirs; do
+      qt_bindirs="$qt_bindirs $dir/bin $dir/src/moc"
+   done
+   qt_bindirs="$qt_bindirs /usr/bin /usr/X11R6/bin /usr/local/qt/bin"
+   if test ! "$ac_qt_bindir" = "NO"; then
+      qt_bindirs="$ac_qt_bindir $qt_bindirs"
+   fi
+
+   KDE_FIND_PATH(moc, MOC, [$qt_bindirs], [KDE_MOC_ERROR_MESSAGE])
+   KDE_FIND_PATH(uic, UIC, [$qt_bindirs], [UIC="" ; KDE_UIC_ERROR_MESSAGE])
+   if test -z "$UIC" ; then
+     if test -z "$UIC_NOT_NEEDED" ; then
+       exit 1
+     else
+       UIC="echo uic not available: "
+     fi
+   fi
+   AC_SUBST(MOC)
+   AC_SUBST(UIC)
+])
+
+AC_DEFUN(KDE_1_CHECK_PATHS,
+[
+  KDE_1_CHECK_PATH_HEADERS
+
+  KDE_TEST_RPATH=
+
+  if test -n "$USE_RPATH"; then
+
+     if test -n "$kde_libraries"; then
+       KDE_TEST_RPATH="-R $kde_libraries"
+     fi
+
+     if test -n "$qt_libraries"; then
+       KDE_TEST_RPATH="$KDE_TEST_RPATH -R $qt_libraries"
+     fi
+
+     if test -n "$x_libraries"; then
+       KDE_TEST_RPATH="$KDE_TEST_RPATH -R $x_libraries"
+     fi
+
+     KDE_TEST_RPATH="$KDE_TEST_RPATH $KDE_EXTRA_RPATH"
+  fi
+
+AC_MSG_CHECKING([for KDE libraries installed])
+ac_link='$LIBTOOL_SHELL --silent --mode=link ${CXX-g++} -o conftest $CXXFLAGS $all_includes $CPPFLAGS $LDFLAGS $all_libraries conftest.$ac_ext $LIBS -lkdecore $LIBQT $KDE_TEST_RPATH 1>&5'
+
+if AC_TRY_EVAL(ac_link) && test -s conftest; then
+  AC_MSG_RESULT(yes)
+else
+  AC_MSG_ERROR([your system fails at linking a small KDE application!
+Check, if your compiler is installed correctly and if you have used the
+same compiler to compile Qt and kdelibs as you did use now.
+For more details about this problem, look at the end of config.log.])
+fi
+
+if eval `KDEDIR= ./conftest 2>&5`; then
+  kde_result=done
+else
+  kde_result=problems
+fi
+
+KDEDIR= ./conftest 2> /dev/null >&5 # make an echo for config.log
+kde_have_all_paths=yes
+
+KDE_SET_PATHS($kde_result)
+
+])
+
+AC_DEFUN(KDE_SET_PATHS,
+[
+  kde_cv_all_paths="kde_have_all_paths=\"yes\" \
+	kde_htmldir=\"$kde_htmldir\" \
+	kde_appsdir=\"$kde_appsdir\" \
+	kde_icondir=\"$kde_icondir\" \
+	kde_sounddir=\"$kde_sounddir\" \
+	kde_datadir=\"$kde_datadir\" \
+	kde_locale=\"$kde_locale\" \
+	kde_cgidir=\"$kde_cgidir\" \
+	kde_confdir=\"$kde_confdir\" \
+	kde_mimedir=\"$kde_mimedir\" \
+	kde_toolbardir=\"$kde_toolbardir\" \
+	kde_wallpaperdir=\"$kde_wallpaperdir\" \
+	kde_templatesdir=\"$kde_templatesdir\" \
+	kde_bindir=\"$kde_bindir\" \
+	kde_servicesdir=\"$kde_servicesdir\" \
+	kde_servicetypesdir=\"$kde_servicetypesdir\" \
+	kde_moduledir=\"$kde_moduledir\" \
+	kde_result=$1"
+])
+
+AC_DEFUN(KDE_SET_DEFAULT_PATHS,
+[
+if test "$1" = "default"; then
+
+  if test -z "$kde_htmldir"; then
+    kde_htmldir='\${prefix}/share/doc/HTML'
+  fi
+  if test -z "$kde_appsdir"; then
+    kde_appsdir='\${prefix}/share/applnk'
+  fi
+  if test -z "$kde_icondir"; then
+    kde_icondir='\${prefix}/share/icons'
+  fi
+  if test -z "$kde_sounddir"; then
+    kde_sounddir='\${prefix}/share/sounds'
+  fi
+  if test -z "$kde_datadir"; then
+    kde_datadir='\${prefix}/share/apps'
+  fi
+  if test -z "$kde_locale"; then
+    kde_locale='\${prefix}/share/locale'
+  fi
+  if test -z "$kde_cgidir"; then
+    kde_cgidir='\${exec_prefix}/cgi-bin'
+  fi
+  if test -z "$kde_confdir"; then
+    kde_confdir='\${prefix}/share/config'
+  fi
+  if test -z "$kde_mimedir"; then
+    kde_mimedir='\${prefix}/share/mimelnk'
+  fi
+  if test -z "$kde_toolbardir"; then
+    kde_toolbardir='\${prefix}/share/toolbar'
+  fi
+  if test -z "$kde_wallpaperdir"; then
+    kde_wallpaperdir='\${prefix}/share/wallpapers'
+  fi
+  if test -z "$kde_templatesdir"; then
+    kde_templatesdir='\${prefix}/share/templates'
+  fi
+  if test -z "$kde_bindir"; then
+    kde_bindir='\${exec_prefix}/bin'
+  fi
+  if test -z "$kde_servicesdir"; then
+    kde_servicesdir='\${prefix}/share/services'
+  fi
+  if test -z "$kde_servicetypesdir"; then
+    kde_servicetypesdir='\${prefix}/share/servicetypes'
+  fi
+  if test -z "$kde_moduledir"; then
+    kde_moduledir='\${prefix}/lib/kde2'
+  fi
+
+  KDE_SET_PATHS(defaults)
+
+else
+
+  if test $kde_qtver = 1; then
+     AC_MSG_RESULT([compiling])
+     KDE_1_CHECK_PATHS
+  else
+     AC_MSG_ERROR([path checking not yet supported for KDE 2])
+  fi
+
+fi
+])
+
+AC_DEFUN(KDE_CHECK_PATHS_FOR_COMPLETENESS,
+[ if test -z "$kde_htmldir" || test -z "$kde_appsdir" ||
+   test -z "$kde_icondir" || test -z "$kde_sounddir" ||
+   test -z "$kde_datadir" || test -z "$kde_locale"  ||
+   test -z "$kde_cgidir"  || test -z "$kde_confdir" ||
+   test -z "$kde_mimedir" || test -z "$kde_toolbardir" ||
+   test -z "$kde_wallpaperdir" || test -z "$kde_templatesdir" ||
+   test -z "$kde_bindir" || test -z "$kde_servicesdir" ||
+   test -z "$kde_servicetypesdir" || test -z "$kde_moduledir" ||
+   test "$kde_have_all_paths" != "yes"; then
+     kde_have_all_paths=no
+  fi
+])
+
+AC_DEFUN(KDE_MISSING_PROG_ERROR,
+[
+    AC_MSG_ERROR([The important program $1 was not found!
+Please check whether you installed KDE correctly.
+])
+])
+
+AC_DEFUN(KDE_SUBST_PROGRAMS,
+[AC_REQUIRE([AC_CREATE_KFSSTND])dnl
+
+        kde_default_bindirs="/usr/bin /usr/local/bin /opt/local/bin /usr/X11R6/bin /opt/kde/bin /opt/kde2/bin /usr/kde/bin /usr/local/kde/bin"
+        if test -n "$KDEDIRS"; then
+           kde_save_IFS=$IFS
+           IFS=:
+           for dir in $KDEDIRS; do
+                kde_default_bindirs="$dir/bin $kde_default_bindirs "
+           done
+           IFS=$kde_save_IFS
+        fi
+        kde_default_bindirs="$exec_prefix/bin $prefix/bin $kde_default_bindirs"
+        KDE_FIND_PATH(dcopidl, DCOPIDL, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(dcopidl)])
+        KDE_FIND_PATH(dcopidl2cpp, DCOPIDL2CPP, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(dcopidl2cpp)])
+        KDE_FIND_PATH(mcopidl, MCOPIDL, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(mcopidl)])
+        KDE_FIND_PATH(kdb2html, KDB2HTML, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(kdb2html)])
+        KDE_FIND_PATH(artsc-config, ARTSCCONFIG, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(artsc-config)])
+        KDE_FIND_PATH(kde-config, KDECONFIG, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(kde-config)])
+
+        DCOP_DEPENDENCIES='$(DCOPIDL)'
+        AC_SUBST(DCOPIDL)
+        AC_SUBST(DCOPIDL2CPP)
+        AC_SUBST(DCOP_DEPENDENCIES)
+        AC_SUBST(MCOPIDL)
+        AC_SUBST(KDB2HTML)
+        AC_SUBST(ARTSCCONFIG)
+        AC_SUBST(KDECONFIG)
+
+        if test -x "$KDECONFIG"; then # it can be "compiled"
+          kde_libs_prefix=`$KDECONFIG --prefix`
+          if test -z "$kde_libs_prefix" || test ! -x "$kde_libs_prefix"; then
+               AC_MSG_ERROR([$KDECONFIG --prefix outputed the non existant prefix '$kde_libs_prefix' for kdelibs.
+                          This means it has been moved since you installed it.
+                          This won't work. Please recompile kdelibs for the new prefix.
+                          ])
+           fi
+           kde_libs_htmldir=`$KDECONFIG --install html --expandvars`
+        else
+           kde_libs_prefix='$(prefix)'
+           kde_libs_htmldir='$(kde_htmldir)'
+        fi
+        AC_SUBST(kde_libs_prefix)
+        AC_SUBST(kde_libs_htmldir)
+])dnl
+
+AC_DEFUN(AC_CREATE_KFSSTND,
+[
+AC_REQUIRE([AC_CHECK_RPATH])
+
+AC_MSG_CHECKING([for KDE paths])
+kde_result=""
+kde_cached_paths=yes
+AC_CACHE_VAL(kde_cv_all_paths,
+[
+  KDE_SET_DEFAULT_PATHS($1)
+  kde_cached_paths=no
+])
+eval "$kde_cv_all_paths"
+KDE_CHECK_PATHS_FOR_COMPLETENESS
+if test "$kde_have_all_paths" = "no" && test "$kde_cached_paths" = "yes"; then
+  # wrong values were cached, may be, we can set better ones
+  kde_result=
+  kde_htmldir= kde_appsdir= kde_icondir= kde_sounddir=
+  kde_datadir= kde_locale=  kde_cgidir=  kde_confdir=
+  kde_mimedir= kde_toolbardir= kde_wallpaperdir= kde_templatesdir=
+  kde_bindir= kde_servicesdir= kde_servicetypesdir= kde_moduledir=
+  kde_have_all_paths=
+  KDE_SET_DEFAULT_PATHS($1)
+  eval "$kde_cv_all_paths"
+  KDE_CHECK_PATHS_FOR_COMPLETENESS
+  kde_result="$kde_result (cache overridden)"
+fi
+if test "$kde_have_all_paths" = "no"; then
+  AC_MSG_ERROR([configure could not run a little KDE program to test the environment.
+Since it had compiled and linked before, it must be a strange problem on your system.
+Look at config.log for details. If you are not able to fix this, look at
+http://www.kde.org/faq/installation.html or any www.kde.org mirror.
+(If you're using an egcs version on Linux, you may update binutils!)
+])
+else
+  rm -f conftest*
+  AC_MSG_RESULT($kde_result)
+fi
+
+bindir=$kde_bindir
+
+KDE_SUBST_PROGRAMS
+
+])
+
+AC_DEFUN(AC_SUBST_KFSSTND,
+[
+AC_SUBST(kde_htmldir)
+AC_SUBST(kde_appsdir)
+AC_SUBST(kde_icondir)
+AC_SUBST(kde_sounddir)
+AC_SUBST(kde_datadir)
+AC_SUBST(kde_locale)
+AC_SUBST(kde_confdir)
+AC_SUBST(kde_mimedir)
+AC_SUBST(kde_wallpaperdir)
+AC_SUBST(kde_bindir)
+dnl for KDE 2
+AC_SUBST(kde_templatesdir)
+AC_SUBST(kde_servicesdir)
+AC_SUBST(kde_servicetypesdir)
+AC_SUBST(kde_moduledir)
+if test "$kde_qtver" = 1; then
+  kde_minidir="$kde_icondir/mini"
+else
+# for KDE 1 - this breaks KDE2 apps using minidir, but
+# that's the plan ;-/
+  kde_minidir="/dev/null"
+fi
+dnl AC_SUBST(kde_minidir)
+dnl AC_SUBST(kde_cgidir)
+dnl AC_SUBST(kde_toolbardir)
+])
+
+AC_DEFUN(KDE_MISC_TESTS,
+[
+   AC_LANG_C
+   dnl Checks for libraries.
+   AC_CHECK_LIB(compat, main, [LIBCOMPAT="-lcompat"]) dnl for FreeBSD
+   AC_SUBST(LIBCOMPAT)
+   kde_have_crypt=
+   AC_CHECK_LIB(crypt, crypt, [LIBCRYPT="-lcrypt"; kde_have_crypt=yes],
+      AC_CHECK_LIB(c, crypt, [kde_have_crypt=yes], [
+        AC_MSG_WARN([you have no crypt in either libcrypt or libc.
+You should install libcrypt from another source or configure with PAM
+support])
+	kde_have_crypt=no
+      ]))
+   AC_SUBST(LIBCRYPT)
+   if test $kde_have_crypt = yes; then
+      AC_DEFINE_UNQUOTED(HAVE_CRYPT, 1, [Defines if your system has the crypt function])
+   fi
+   AC_CHECK_KSIZE_T
+   AC_LANG_C
+   AC_CHECK_LIB(dnet, dnet_ntoa, [X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet"])
+   if test $ac_cv_lib_dnet_dnet_ntoa = no; then
+      AC_CHECK_LIB(dnet_stub, dnet_ntoa,
+        [X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub"])
+   fi
+   AC_CHECK_FUNC(inet_ntoa)
+   if test $ac_cv_func_inet_ntoa = no; then
+     AC_CHECK_LIB(nsl, inet_ntoa, X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl")
+   fi
+   AC_CHECK_FUNC(connect)
+   if test $ac_cv_func_connect = no; then
+      AC_CHECK_LIB(socket, connect, X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS", ,
+        $X_EXTRA_LIBS)
+   fi
+
+   AC_CHECK_FUNC(remove)
+   if test $ac_cv_func_remove = no; then
+      AC_CHECK_LIB(posix, remove, X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix")
+   fi
+
+   # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay.
+   AC_CHECK_FUNC(shmat, ,
+     AC_CHECK_LIB(ipc, shmat, X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc"))
+   
+   # Solaris 2.6 needs -lresolv for res_init
+   AC_CHECK_FUNC(res_init, ,
+     AC_CHECK_LIB(resolv, res_init, X_EXTRA_LIBS="$X_EXTRA_LIBS -lresolv"))
+
+   LIBSOCKET="$X_EXTRA_LIBS"
+   AC_SUBST(LIBSOCKET)
+   AC_SUBST(X_EXTRA_LIBS)
+   AC_CHECK_LIB(ucb, killpg, [LIBUCB="-lucb"]) dnl for Solaris2.4
+   AC_SUBST(LIBUCB)
+
+   case $host in  dnl this *is* LynxOS specific
+   *-*-lynxos* )
+        AC_MSG_CHECKING([LynxOS header file wrappers])
+        [CFLAGS="$CFLAGS -D__NO_INCLUDE_WARN__"]
+        AC_MSG_RESULT(disabled)
+        AC_CHECK_LIB(bsd, gethostbyname, [LIBSOCKET="-lbsd"]) dnl for LynxOS
+         ;;
+    esac
+
+   KDE_CHECK_TYPES
+   KDE_CHECK_LIBDL
+])
+
+dnl ------------------------------------------------------------------------
+dnl Find the header files and libraries for X-Windows. Extended the
+dnl macro AC_PATH_X
+dnl ------------------------------------------------------------------------
+dnl
+AC_DEFUN(K_PATH_X,
+[
+AC_REQUIRE([AC_PROG_CPP])dnl
+AC_REQUIRE([KDE_MISC_TESTS])dnl
+AC_MSG_CHECKING(for X)
+AC_LANG_SAVE
+AC_LANG_C
+AC_CACHE_VAL(kde_cv_have_x,
+[# One or both of the vars are not set, and there is no cached value.
+if test "{$x_includes+set}" = set || test "$x_includes" = NONE; then
+   kde_x_includes=NO
+else
+   kde_x_includes=$x_includes
+fi
+if test "{$x_libraries+set}" = set || test "$x_libraries" = NONE; then
+   kde_x_libraries=NO
+else
+   kde_x_libraries=$x_libraries
+fi
+
+# below we use the standard autoconf calls
+ac_x_libraries=$kde_x_libraries
+ac_x_includes=$kde_x_includes
+
+AC_PATH_X_DIRECT
+dnl AC_PATH_X_XMKMF picks /usr/lib as the path for the X libraries.
+dnl Unfortunately, if compiling with the N32 ABI, this is not the correct
+dnl location. The correct location is /usr/lib32 or an undefined value
+dnl (the linker is smart enough to pick the correct default library).
+dnl Things work just fine if you use just AC_PATH_X_DIRECT.
+case "$host" in
+mips-sgi-irix6*)
+  ;;
+*)
+  AC_PATH_X_XMKMF
+  if test -z "$ac_x_includes"; then
+    ac_x_includes="."
+  fi
+  if test -z "$ac_x_libraries"; then
+    ac_x_libraries="/usr/lib"
+  fi
+esac
+#from now on we use our own again
+
+# when the user already gave --x-includes, we ignore
+# what the standard autoconf macros told us.
+if test "$kde_x_includes" = NO; then
+  kde_x_includes=$ac_x_includes
+fi
+
+# for --x-libraries too
+if test "$kde_x_libraries" = NO; then
+  kde_x_libraries=$ac_x_libraries
+fi
+
+if test "$kde_x_includes" = NO; then
+  AC_MSG_ERROR([Can't find X includes. Please check your installation and add the correct paths!])
+fi
+
+if test "$kde_x_libraries" = NO; then
+  AC_MSG_ERROR([Can't find X libraries. Please check your installation and add the correct paths!])
+fi
+
+# Record where we found X for the cache.
+kde_cv_have_x="have_x=yes \
+         kde_x_includes=$kde_x_includes kde_x_libraries=$kde_x_libraries"
+])dnl
+eval "$kde_cv_have_x"
+
+if test "$have_x" != yes; then
+  AC_MSG_RESULT($have_x)
+  no_x=yes
+else
+  AC_MSG_RESULT([libraries $kde_x_libraries, headers $kde_x_includes])
+fi
+
+if test -z "$kde_x_includes" || test "x$kde_x_includes" = xNONE; then
+  X_INCLUDES=""
+  x_includes="."; dnl better than nothing :-
+ else
+  x_includes=$kde_x_includes
+  X_INCLUDES="-I$x_includes"
+fi
+
+if test -z "$kde_x_libraries" || test "x$kde_x_libraries" = xNONE; then
+  X_LDFLAGS=""
+  x_libraries="/usr/lib"; dnl better than nothing :-
+ else
+  x_libraries=$kde_x_libraries
+  X_LDFLAGS="-L$x_libraries"
+fi
+all_includes="$X_INCLUDES"
+all_libraries="$X_LDFLAGS"
+
+AC_SUBST(X_INCLUDES)
+AC_SUBST(X_LDFLAGS)
+AC_SUBST(x_libraries)
+AC_SUBST(x_includes)
+
+# Check for libraries that X11R6 Xt/Xaw programs need.
+ac_save_LDFLAGS="$LDFLAGS"
+LDFLAGS="$LDFLAGS $X_LDFLAGS"
+# SM needs ICE to (dynamically) link under SunOS 4.x (so we have to
+# check for ICE first), but we must link in the order -lSM -lICE or
+# we get undefined symbols.  So assume we have SM if we have ICE.
+# These have to be linked with before -lX11, unlike the other
+# libraries we check for below, so use a different variable.
+#  --interran at uluru.Stanford.EDU, kb at cs.umb.edu.
+AC_CHECK_LIB(ICE, IceConnectionNumber,
+  [LIBSM="-lSM -lICE"], , $X_EXTRA_LIBS)
+AC_SUBST(LIBSM)
+LDFLAGS="$ac_save_LDFLAGS"
+
+AC_SUBST(X_PRE_LIBS)
+
+LIB_X11='-lX11 $(LIBSOCKET)'
+AC_SUBST(LIB_X11)
+
+AC_MSG_CHECKING(for libXext)
+AC_CACHE_VAL(kde_cv_have_libXext,
+[
+kde_ldflags_safe="$LDFLAGS"
+kde_libs_safe="$LIBS"
+
+LDFLAGS="$LDFLAGS $X_LDFLAGS $USER_LDFLAGS"
+LIBS="-lXext -lX11 $LIBSOCKET"
+
+AC_TRY_LINK([
+#include <stdio.h>
+],
+[
+printf("hello Xext\n");
+],
+kde_cv_have_libXext=yes,
+kde_cv_have_libXext=no
+   )
+
+LDFLAGS=$kde_ldflags_safe
+LIBS=$kde_libs_safe
+ ])
+
+AC_MSG_RESULT($kde_cv_have_libXext)
+
+if test "$kde_cv_have_libXext" = "no"; then
+  AC_MSG_ERROR([We need a working libXext to proceed. Since configure
+can't find it itself, we stop here assuming that make wouldn't find
+them either.])
+fi
+
+])
+
+AC_LANG_RESTORE
+])
+
+AC_DEFUN(KDE_PRINT_QT_PROGRAM,
+[
+AC_REQUIRE([KDE_USE_QT])
+cat > conftest.$ac_ext <<EOF
+#include "confdefs.h"
+#include <qglobal.h>
+#include <qapplication.h>
+#include <qapp.h>
+#include <qobjcoll.h>
+EOF
+if test "$kde_qtver" = "2"; then
+cat >> conftest.$ac_ext <<EOF
+#include <qevent.h>
+#include <qstring.h>
+#include <qstyle.h>
+EOF
+
+if test $kde_qtsubver -gt 0; then
+cat >> conftest.$ac_ext <<EOF
+#include <qiconview.h>
+EOF
+fi
+
+fi
+
+echo "#if ! ($kde_qt_verstring)" >> conftest.$ac_ext
+cat >> conftest.$ac_ext <<EOF
+#error 1
+#endif
+
+int main() {
+EOF
+if test "$kde_qtver" = "2"; then
+cat >> conftest.$ac_ext <<EOF
+    QStringList *t = new QStringList();
+EOF
+if test $kde_qtsubver -gt 0; then
+cat >> conftest.$ac_ext <<EOF
+    QIconView iv(0);
+    iv.setWordWrapIconText(false);
+    QString s;
+    s.setLatin1("Elvis is alive", 14);
+    int magnolia = QEvent::Speech; /* new in 2.2 beta2 */
+EOF
+fi
+fi
+cat >> conftest.$ac_ext <<EOF
+    return 0;
+}
+EOF
+])
+
+AC_DEFUN(KDE_USE_QT,
+[
+
+if test -z "$1"; then
+  kde_qtver=2
+  kde_qtsubver=1
+else
+  kde_qtsubver=`echo "$1" | sed -e 's#[0-9]\+\.\([0-9]\+\).*#\1#'`
+  # following is the check if subversion isn�t found in passed argument
+  if test "$kde_qtsubver" = "$1"; then
+    kde_qtsubver=1
+  fi
+  kde_qtver=`echo "$1" | sed -e 's#^\([0-9]\+\)\..*#\1#'`
+  if test "$kde_qtver" = "1"; then
+    kde_qtsubver=42
+  else
+   # this is the version number fallback to 2.1, unless major version is 1 or 2
+   if test "$kde_qtver" != "2"; then
+    kde_qtver=2
+    kde_qtsubver=1
+   fi
+  fi
+fi
+
+if test -z "$2"; then
+  if test $kde_qtver = 2; then
+    if test $kde_qtsubver -gt 0; then
+      kde_qt_minversion=">= Qt 2.2.2"
+    else
+      kde_qt_minversion=">= Qt 2.0.2"
+    fi
+  else
+    kde_qt_minversion=">= 1.42 and < 2.0"
+  fi
+else
+   kde_qt_minversion=$2
+fi
+
+if test -z "$3"; then
+   if test $kde_qtver = 2; then
+    if test $kde_qtsubver -gt 0; then
+      kde_qt_verstring="QT_VERSION >= 222"
+    else
+      kde_qt_verstring="QT_VERSION >= 200"
+    fi
+   else
+    kde_qt_verstring="QT_VERSION >= 142 && QT_VERSION < 200"
+  fi
+else
+   kde_qt_verstring=$3
+fi
+
+if test $kde_qtver = 2; then
+   kde_qt_dirs="$QTDIR /usr/lib/qt2 /usr/lib/qt"
+else
+   kde_qt_dirs="$QTDIR /usr/lib/qt"
+fi
+])
+
+AC_DEFUN(KDE_CHECK_QT_DIRECT,
+[
+AC_REQUIRE([KDE_USE_QT])
+AC_MSG_CHECKING([if Qt compiles without flags])
+AC_CACHE_VAL(kde_cv_qt_direct,
+[
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+ac_LD_LIBRARY_PATH_safe=$LD_LIBRARY_PATH
+ac_LIBRARY_PATH="$LIBRARY_PATH"
+ac_cxxflags_safe="$CXXFLAGS"
+ac_ldflags_safe="$LDFLAGS"
+ac_libs_safe="$LIBS"
+
+CXXFLAGS="$CXXFLAGS -I$qt_includes"
+LDFLAGS="$LDFLAGS $X_LDFLAGS"
+LIBS="$LIBQT -lXext -lX11 $LIBSOCKET"
+LD_LIBRARY_PATH=
+export LD_LIBRARY_PATH
+LIBRARY_PATH=
+export LIBRARY_PATH
+
+KDE_PRINT_QT_PROGRAM
+
+if AC_TRY_EVAL(ac_link) && test -s conftest; then
+  kde_cv_qt_direct="yes"
+else
+  kde_cv_qt_direct="no"
+  echo "configure: failed program was:" >&AC_FD_CC
+  cat conftest.$ac_ext >&AC_FD_CC
+fi
+
+rm -f conftest*
+CXXFLAGS="$ac_cxxflags_safe"
+LDFLAGS="$ac_ldflags_safe"
+LIBS="$ac_libs_safe"
+
+LD_LIBRARY_PATH="$ac_LD_LIBRARY_PATH_safe"
+export LD_LIBRARY_PATH
+LIBRARY_PATH="$ac_LIBRARY_PATH"
+export LIBRARY_PATH
+AC_LANG_RESTORE
+])
+
+if test "$kde_cv_qt_direct" = "yes"; then
+  AC_MSG_RESULT(yes)
+  $1
+else
+  AC_MSG_RESULT(no)
+  $2
+fi
+])
+
+dnl ------------------------------------------------------------------------
+dnl Try to find the Qt headers and libraries.
+dnl $(QT_LDFLAGS) will be -Lqtliblocation (if needed)
+dnl and $(QT_INCLUDES) will be -Iqthdrlocation (if needed)
+dnl ------------------------------------------------------------------------
+dnl
+AC_DEFUN(AC_PATH_QT_1_3,
+[
+AC_REQUIRE([K_PATH_X])
+AC_REQUIRE([KDE_USE_QT])
+
+dnl ------------------------------------------------------------------------
+dnl Add configure flag to enable linking to MT version of Qt library.
+dnl ------------------------------------------------------------------------
+
+AC_ARG_ENABLE(
+  mt,
+  [  --enable-mt             link to threaded Qt (experimental)],
+  kde_use_qt_mt=$enableval,
+  kde_use_qt_mt=no
+)
+
+USING_QT_MT=""
+
+dnl ------------------------------------------------------------------------
+dnl If we got --enable-qt-mt then adjust some vars for the host.
+dnl ------------------------------------------------------------------------
+
+if test "x$kde_use_qt_mt" = "xyes"; then
+
+  case $host in
+  *-*-linux-*)
+    if test "x$GCC" = "xyes"; then
+      CPPFLAGS="$CPPFLAGS -DQT_THREAD_SUPPORT -pthread"
+      X_EXTRA_LIBS="$X_EXTRA_LIBS -pthread"
+    else
+      AC_MSG_WARN([Compiler is not gcc. MT support disabled.])
+    fi
+    ;;
+  *)
+    AC_MSG_WARN([MT not yet supported on $host - disabled.])
+    ;;
+  esac
+
+fi
+
+kde_qt_was_given=yes
+
+dnl ------------------------------------------------------------------------
+dnl If we haven't been told how to link to Qt, we work it out for ourselves.
+dnl ------------------------------------------------------------------------
+
+if test -z "$LIBQT_GLOB"; then
+
+  LIBQT_GLOB="libqt.*"
+
+fi
+
+if test -z "$LIBQT"; then
+
+  LIBQT="-lqt"
+  kde_int_qt="-lqt"
+
+dnl ------------------------------------------------------------------------
+dnl If we got --enable-qt-mt then adjust the Qt library name for the host.
+dnl ------------------------------------------------------------------------
+
+  if test "x$kde_use_qt_mt" = "xyes"; then
+
+      case $host in
+      *-*-linux-*)
+        if test "x$GCC" = "xyes"; then
+          LIBQT="-lqt-mt"
+          kde_int_qt="-lqt-mt"
+          LIBQT_GLOB="libqt-mt.*"
+          USING_QT_MT="using -mt"
+        fi
+      ;;
+      esac
+  fi
+
+  kde_qt_was_given=no
+
+else
+  kde_int_qt="$LIBQT"
+fi
+
+if test $kde_qtver = 2; then
+
+  AC_REQUIRE([AC_FIND_PNG])
+  AC_REQUIRE([AC_FIND_JPEG])
+  LIBQT="$LIBQT $LIBPNG $LIBJPEG"
+fi
+
+AC_MSG_CHECKING([for Qt])
+
+LIBQT="$LIBQT $X_PRE_LIBS -lXext -lX11 $LIBSM $LIBSOCKET"
+ac_qt_includes=NO ac_qt_libraries=NO ac_qt_bindir=NO
+qt_libraries=""
+qt_includes=""
+AC_ARG_WITH(qt-dir,
+    [  --with-qt-dir=DIR       where the root of Qt is installed ],
+    [  ac_qt_includes="$withval"/include
+       ac_qt_libraries="$withval"/lib
+       ac_qt_bindir="$withval"/bin
+    ])
+
+AC_ARG_WITH(qt-includes,
+    [  --with-qt-includes=DIR  where the Qt includes are. ],
+    [
+       ac_qt_includes="$withval"
+    ])
+
+kde_qt_libs_given=no
+
+AC_ARG_WITH(qt-libraries,
+    [  --with-qt-libraries=DIR where the Qt library is installed.],
+    [  ac_qt_libraries="$withval"
+       kde_qt_libs_given=yes
+    ])
+
+AC_CACHE_VAL(ac_cv_have_qt,
+[#try to guess Qt locations
+
+qt_incdirs=""
+for dir in $kde_qt_dirs; do
+   qt_incdirs="$qt_incdirs $dir/include $dir"
+done
+qt_incdirs="$QTINC $qt_incdirs /usr/local/qt/include /usr/include/qt /usr/include /usr/X11R6/include/X11/qt /usr/X11R6/include/qt $x_includes"
+if test ! "$ac_qt_includes" = "NO"; then
+   qt_incdirs="$ac_qt_includes $qt_incdirs"
+fi
+
+if test "$kde_qtver" = "2"; then
+  kde_qt_header=qstyle.h
+else
+  kde_qt_header=qglobal.h
+fi
+
+AC_FIND_FILE($kde_qt_header, $qt_incdirs, qt_incdir)
+ac_qt_includes="$qt_incdir"
+
+qt_libdirs=""
+for dir in $kde_qt_dirs; do
+   qt_libdirs="$qt_libdirs $dir/lib $dir"
+done
+qt_libdirs="$QTLIB $qt_libdirs /usr/X11R6/lib /usr/lib /usr/local/qt/lib $x_libraries"
+if test ! "$ac_qt_libraries" = "NO"; then
+  qt_libdir=$ac_qt_libraries
+else
+  qt_libdirs="$ac_qt_libraries $qt_libdirs"
+  # if the Qt was given, the chance is too big that libqt.* doesn't exist
+  qt_libdir=NONE
+  for dir in $qt_libdirs; do
+    try="ls -1 $dir/${LIBQT_GLOB}"
+    if test -n "`$try 2> /dev/null`"; then qt_libdir=$dir; break; else echo "tried $dir" >&AC_FD_CC ; fi
+  done
+fi
+
+ac_qt_libraries="$qt_libdir"
+
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+
+ac_cxxflags_safe="$CXXFLAGS"
+ac_ldflags_safe="$LDFLAGS"
+ac_libs_safe="$LIBS"
+
+CXXFLAGS="$CXXFLAGS -I$qt_incdir $all_includes"
+LDFLAGS="$LDFLAGS -L$qt_libdir $all_libraries $USER_LDFLAGS"
+LIBS="$LIBS $LIBQT"
+
+KDE_PRINT_QT_PROGRAM
+
+if AC_TRY_EVAL(ac_link) && test -s conftest; then
+  rm -f conftest*
+else
+  echo "configure: failed program was:" >&AC_FD_CC
+  cat conftest.$ac_ext >&AC_FD_CC
+  ac_qt_libraries="NO"
+fi
+rm -f conftest*
+CXXFLAGS="$ac_cxxflags_safe"
+LDFLAGS="$ac_ldflags_safe"
+LIBS="$ac_libs_safe"
+
+AC_LANG_RESTORE
+if test "$ac_qt_includes" = NO || test "$ac_qt_libraries" = NO; then
+  ac_cv_have_qt="have_qt=no"
+  ac_qt_notfound=""
+  if test "$ac_qt_includes" = NO; then
+    if test "$ac_qt_libraries" = NO; then
+      ac_qt_notfound="(headers and libraries)";
+    else
+      ac_qt_notfound="(headers)";
+    fi
+  else
+    ac_qt_notfound="(libraries)";
+  fi
+
+  AC_MSG_ERROR([Qt ($kde_qt_minversion) $ac_qt_notfound not found. Please check your installation!
+For more details about this problem, look at the end of config.log.])
+else
+  have_qt="yes"
+fi
+])
+
+eval "$ac_cv_have_qt"
+
+if test "$have_qt" != yes; then
+  AC_MSG_RESULT([$have_qt]);
+else
+  ac_cv_have_qt="have_qt=yes \
+    ac_qt_includes=$ac_qt_includes ac_qt_libraries=$ac_qt_libraries"
+  AC_MSG_RESULT([libraries $ac_qt_libraries, headers $ac_qt_includes $USING_QT_MT])
+
+  qt_libraries="$ac_qt_libraries"
+  qt_includes="$ac_qt_includes"
+fi
+
+if test ! "$kde_qt_libs_given" = "yes"; then
+KDE_CHECK_QT_DIRECT(qt_libraries= ,[])
+fi
+
+AC_SUBST(qt_libraries)
+AC_SUBST(qt_includes)
+
+if test "$qt_includes" = "$x_includes" || test -z "$qt_includes"; then
+ QT_INCLUDES="";
+else
+ QT_INCLUDES="-I$qt_includes"
+ all_includes="$QT_INCLUDES $all_includes"
+fi
+
+if test "$qt_libraries" = "$x_libraries" || test -z "$qt_libraries"; then
+ QT_LDFLAGS=""
+else
+ QT_LDFLAGS="-L$qt_libraries"
+ all_libraries="$all_libraries $QT_LDFLAGS"
+fi
+
+AC_SUBST(QT_INCLUDES)
+AC_SUBST(QT_LDFLAGS)
+AC_PATH_QT_MOC_UIC
+
+LIB_QT="$kde_int_qt "'$(LIBPNG) $(LIBJPEG) -lXext $(LIB_X11) $(LIBSM)'
+AC_SUBST(LIB_QT)
+
+])
+
+AC_DEFUN(AC_PATH_QT,
+[
+AC_PATH_QT_1_3
+])
+
+AC_DEFUN(KDE_CHECK_FINAL,
+[
+  AC_ARG_ENABLE(final, [  --enable-final          build size optimized apps (experimental - needs lots of memory)],
+	kde_use_final=$enableval, kde_use_final=no)
+
+  KDE_COMPILER_REPO
+  if test "x$kde_use_final" = "xyes"; then
+      KDE_USE_FINAL_TRUE=""
+      KDE_USE_FINAL_FALSE="#"
+   else
+      KDE_USE_FINAL_TRUE="#"
+      KDE_USE_FINAL_FALSE=""
+  fi
+  AC_SUBST(KDE_USE_FINAL_TRUE)
+  AC_SUBST(KDE_USE_FINAL_FALSE)
+
+  AC_ARG_ENABLE(closure, [  --disable-closure       don't delay template instantiation],
+  	kde_use_closure=$enableval, kde_use_closure=yes)
+
+  if test "x$kde_use_closure" = "xyes"; then
+       KDE_USE_CLOSURE_TRUE=""
+       KDE_USE_CLOSURE_FALSE="#"
+#       CXXFLAGS="$CXXFLAGS $REPO"
+  else
+       KDE_USE_CLOSURE_TRUE="#"
+       KDE_USE_CLOSURE_FALSE=""
+  fi
+  AC_SUBST(KDE_USE_CLOSURE_TRUE)
+  AC_SUBST(KDE_USE_CLOSURE_FALSE)
+])
+
+dnl ------------------------------------------------------------------------
+dnl Now, the same with KDE
+dnl $(KDE_LDFLAGS) will be the kdeliblocation (if needed)
+dnl and $(kde_includes) will be the kdehdrlocation (if needed)
+dnl ------------------------------------------------------------------------
+dnl
+AC_DEFUN(AC_BASE_PATH_KDE,
+[
+AC_PREREQ([2.13])
+AC_REQUIRE([AC_PATH_QT])dnl
+AC_CHECK_RPATH
+AC_MSG_CHECKING([for KDE])
+
+if test "${prefix}" != NONE; then
+  kde_includes=${prefix}/include
+  ac_kde_includes=$prefix/include
+
+  if test "${exec_prefix}" != NONE; then
+    kde_libraries=${exec_prefix}/lib
+    ac_kde_libraries=$exec_prefix/lib
+  else
+    kde_libraries=${prefix}/lib
+    ac_kde_libraries=$prefix/lib
+  fi
+else
+  ac_kde_includes=
+  ac_kde_libraries=
+  kde_libraries=""
+  kde_includes=""
+fi
+
+AC_CACHE_VAL(ac_cv_have_kde,
+[#try to guess kde locations
+
+if test "$kde_qtver" = 1; then
+  kde_check_header="ksock.h"
+  kde_check_lib="libkdecore.la"
+else
+  kde_check_header="ksharedptr.h"
+  kde_check_lib="libkio.la"
+fi
+
+if test -z "$1"; then
+
+kde_incdirs="/usr/lib/kde/include /usr/local/kde/include /usr/kde/include /usr/include/kde /usr/include /opt/kde2/include /opt/kde/include $x_includes $qt_includes"
+test -n "$KDEDIR" && kde_incdirs="$KDEDIR/include $KDEDIR/include/kde $KDEDIR $kde_incdirs"
+kde_incdirs="$ac_kde_includes $kde_incdirs"
+AC_FIND_FILE($kde_check_header, $kde_incdirs, kde_incdir)
+ac_kde_includes="$kde_incdir"
+
+if test -n "$ac_kde_includes" && test ! -r "$ac_kde_includes/$kde_check_header"; then
+  AC_MSG_ERROR([
+in the prefix, you've chosen, are no KDE headers installed. This will fail.
+So, check this please and use another prefix!])
+fi
+
+kde_libdirs="/usr/lib/kde/lib /usr/local/kde/lib /usr/kde/lib /usr/lib/kde /usr/lib /usr/X11R6/lib /opt/kde2/lib /opt/kde/lib /usr/X11R6/kde/lib"
+test -n "$KDEDIR" && kde_libdirs="$KDEDIR/lib $KDEDIR $kde_libdirs"
+kde_libdirs="$ac_kde_libraries $kde_libdirs"
+AC_FIND_FILE($kde_check_lib, $kde_libdirs, kde_libdir)
+ac_kde_libraries="$kde_libdir"
+
+if test -n "$ac_kde_libraries" && test ! -r "$ac_kde_libraries/$kde_check_lib"; then
+AC_MSG_ERROR([
+in the prefix, you've chosen, are no KDE libraries installed. This will fail.
+So, check this please and use another prefix!])
+fi
+ac_kde_libraries="$kde_libdir"
+
+if test "$ac_kde_includes" = NO || test "$ac_kde_libraries" = NO; then
+  ac_cv_have_kde="have_kde=no"
+else
+  ac_cv_have_kde="have_kde=yes \
+    ac_kde_includes=$ac_kde_includes ac_kde_libraries=$ac_kde_libraries"
+fi
+
+else dnl test -z $1
+
+  ac_cv_have_kde="have_kde=no"
+
+fi
+])dnl
+
+eval "$ac_cv_have_kde"
+
+if test "$have_kde" != "yes"; then
+ if test "${prefix}" = NONE; then
+  ac_kde_prefix="$ac_default_prefix"
+ else
+  ac_kde_prefix="$prefix"
+ fi
+ if test "$exec_prefix" = NONE; then
+  ac_kde_exec_prefix="$ac_kde_prefix"
+  AC_MSG_RESULT([will be installed in $ac_kde_prefix])
+ else
+  ac_kde_exec_prefix="$exec_prefix"
+  AC_MSG_RESULT([will be installed in $ac_kde_prefix and $ac_kde_exec_prefix])
+ fi
+
+ kde_libraries="${ac_kde_exec_prefix}/lib"
+ kde_includes=${ac_kde_prefix}/include
+
+else
+  ac_cv_have_kde="have_kde=yes \
+    ac_kde_includes=$ac_kde_includes ac_kde_libraries=$ac_kde_libraries"
+  AC_MSG_RESULT([libraries $ac_kde_libraries, headers $ac_kde_includes])
+
+  kde_libraries="$ac_kde_libraries"
+  kde_includes="$ac_kde_includes"
+fi
+AC_SUBST(kde_libraries)
+AC_SUBST(kde_includes)
+
+if test "$kde_includes" = "$x_includes" || test "$kde_includes" = "$qt_includes" ; then
+ KDE_INCLUDES=""
+else
+ KDE_INCLUDES="-I$kde_includes"
+ all_includes="$KDE_INCLUDES $all_includes"
+fi
+ 
+KDE_LDFLAGS="-L$kde_libraries"
+if test ! "$kde_libraries" = "$x_libraries" && test ! "$kde_libraries" = "$qt_libraries" ; then 
+ all_libraries="$all_libraries $KDE_LDFLAGS"
+fi
+
+AC_SUBST(KDE_LDFLAGS)
+AC_SUBST(KDE_INCLUDES)
+
+AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
+
+all_libraries="$all_libraries $USER_LDFLAGS"
+all_includes="$all_includes $USER_INCLUDES"
+AC_SUBST(all_includes)
+AC_SUBST(all_libraries)
+
+AC_SUBST(AUTODIRS)
+])
+
+AC_DEFUN(KDE_CHECK_EXTRA_LIBS,
+[
+AC_MSG_CHECKING(for extra includes)
+AC_ARG_WITH(extra-includes, [  --with-extra-includes=DIR
+                          adds non standard include paths],
+  kde_use_extra_includes="$withval",
+  kde_use_extra_includes=NONE
+)
+kde_extra_includes=
+if test -n "$kde_use_extra_includes" && \
+   test "$kde_use_extra_includes" != "NONE"; then
+
+   ac_save_ifs=$IFS
+   IFS=':'
+   for dir in $kde_use_extra_includes; do
+     kde_extra_includes="$kde_extra_includes $dir"
+     USER_INCLUDES="$USER_INCLUDES -I$dir"
+   done
+   IFS=$ac_save_ifs
+   kde_use_extra_includes="added"
+else
+   kde_use_extra_includes="no"
+fi
+AC_SUBST(USER_INCLUDES)
+
+AC_MSG_RESULT($kde_use_extra_includes)
+
+kde_extra_libs=
+AC_MSG_CHECKING(for extra libs)
+AC_ARG_WITH(extra-libs, [  --with-extra-libs=DIR   adds non standard library paths],
+  kde_use_extra_libs=$withval,
+  kde_use_extra_libs=NONE
+)
+if test -n "$kde_use_extra_libs" && \
+   test "$kde_use_extra_libs" != "NONE"; then
+
+   ac_save_ifs=$IFS
+   IFS=':'
+   for dir in $kde_use_extra_libs; do
+     kde_extra_libs="$kde_extra_libs $dir"
+     KDE_EXTRA_RPATH="$KDE_EXTRA_RPATH -R $dir"
+     USER_LDFLAGS="$USER_LDFLAGS -L$dir"
+   done
+   IFS=$ac_save_ifs
+   kde_use_extra_libs="added"
+else
+   kde_use_extra_libs="no"
+fi
+
+AC_SUBST(USER_LDFLAGS)
+
+AC_MSG_RESULT($kde_use_extra_libs)
+
+])
+
+AC_DEFUN(KDE_1_CHECK_PATH_HEADERS,
+[
+    AC_MSG_CHECKING([for KDE headers installed])
+    AC_LANG_SAVE
+    AC_LANG_CPLUSPLUS
+cat > conftest.$ac_ext <<EOF
+#include <stdio.h>
+#include "confdefs.h"
+#include <kapp.h>
+
+int main() {
+    printf("kde_htmldir=\\"%s\\"\n", KApplication::kde_htmldir().data());
+    printf("kde_appsdir=\\"%s\\"\n", KApplication::kde_appsdir().data());
+    printf("kde_icondir=\\"%s\\"\n", KApplication::kde_icondir().data());
+    printf("kde_sounddir=\\"%s\\"\n", KApplication::kde_sounddir().data());
+    printf("kde_datadir=\\"%s\\"\n", KApplication::kde_datadir().data());
+    printf("kde_locale=\\"%s\\"\n", KApplication::kde_localedir().data());
+    printf("kde_cgidir=\\"%s\\"\n", KApplication::kde_cgidir().data());
+    printf("kde_confdir=\\"%s\\"\n", KApplication::kde_configdir().data());
+    printf("kde_mimedir=\\"%s\\"\n", KApplication::kde_mimedir().data());
+    printf("kde_toolbardir=\\"%s\\"\n", KApplication::kde_toolbardir().data());
+    printf("kde_wallpaperdir=\\"%s\\"\n",
+	KApplication::kde_wallpaperdir().data());
+    printf("kde_bindir=\\"%s\\"\n", KApplication::kde_bindir().data());
+    printf("kde_partsdir=\\"%s\\"\n", KApplication::kde_partsdir().data());
+    printf("kde_servicesdir=\\"/tmp/dummy\\"\n");
+    printf("kde_servicetypesdir=\\"/tmp/dummy\\"\n");
+    printf("kde_moduledir=\\"/tmp/dummy\\"\n");
+    return 0;
+    }
+EOF
+
+ ac_compile='${CXX-g++} -c $CXXFLAGS $all_includes $CPPFLAGS conftest.$ac_ext'
+ if AC_TRY_EVAL(ac_compile); then
+   AC_MSG_RESULT(yes)
+ else
+   AC_MSG_ERROR([your system is not able to compile a small KDE application!
+Check, if you installed the KDE header files correctly.
+For more details about this problem, look at the end of config.log.])
+  fi
+
+  AC_LANG_RESTORE
+])
+
+AC_DEFUN(KDE_CHECK_KDEQTADDON,
+[
+AC_MSG_CHECKING(for kde-qt-addon)
+AC_CACHE_VAL(kde_cv_have_kdeqtaddon,
+[
+ kde_ldflags_safe="$LDFLAGS"
+ kde_libs_safe="$LIBS"
+ kde_cxxflags_safe="$CXXFLAGS"
+
+ LIBS="-lkde-qt-addon $LIBQT $LIBS"
+ CXXFLAGS="$CXXFLAGS -I$prefix/include -I$prefix/include/kde $all_includes"
+ LDFLAGS="$LDFLAGS $all_libraries $USER_LDFLAGS"
+
+ AC_TRY_LINK([
+   #include <qdom.h>
+ ],
+ [
+   QDomDocument doc;
+ ],
+  kde_cv_have_kdeqtaddon=yes,
+  kde_cv_have_kdeqtaddon=no
+ )
+
+ LDFLAGS=$kde_ldflags_safe
+ LIBS=$kde_libs_safe
+ kde_cxxflags_safe="$CXXFLAGS"
+])
+
+AC_MSG_RESULT($kde_cv_have_kdeqtaddon)
+
+if test "$kde_cv_have_kdeqtaddon" = "no"; then
+  AC_MSG_ERROR([Can't find libkde-qt-addon. You need to install it first.
+It is a separate package (and CVS module) named kde-qt-addon.])
+fi
+])
+
+AC_DEFUN(KDE_CHECK_KIMGIO,
+[
+   AC_REQUIRE([AC_BASE_PATH_KDE])
+   AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
+   AC_REQUIRE([AC_FIND_TIFF])
+   AC_REQUIRE([AC_FIND_JPEG])
+   AC_REQUIRE([AC_FIND_PNG])
+   AC_REQUIRE([KDE_CREATE_LIBS_ALIASES])
+
+   if test "$1" = "existance"; then
+     AC_LANG_SAVE
+     AC_LANG_CPLUSPLUS
+     kde_save_LIBS="$LIBS"
+     LIBS="$LIBS $all_libraries $LIBJPEG $LIBTIFF $LIBPNG $LIBQT -lm"
+     AC_CHECK_LIB(kimgio, kimgioRegister, [
+      LIBKIMGIO_EXISTS=yes],LIBKIMGIO_EXISTS=no)
+      LIBS="$kde_save_LIBS"
+      AC_LANG_RESTORE
+   else
+      LIBKIMGIO_EXISTS=yes
+   fi
+
+   if test "$LIBKIMGIO_EXISTS" = "yes"; then
+     LIB_KIMGIO='-lkimgio'
+   else
+     LIB_KIMGIO=''
+   fi
+   AC_SUBST(LIB_KIMGIO)
+])
+
+AC_DEFUN(KDE_CREATE_LIBS_ALIASES,
+[
+   AC_REQUIRE([KDE_MISC_TESTS])
+   AC_REQUIRE([KDE_CHECK_LIBDL])
+   AC_REQUIRE([K_PATH_X])
+
+if test $kde_qtver = 2; then
+   LIB_KDECORE='-lkdecore'
+   AC_SUBST(LIB_KDECORE)
+   LIB_KDEUI='-lkdeui'
+   AC_SUBST(LIB_KDEUI)
+   LIB_KFORMULA='-lkformula'
+   AC_SUBST(LIB_KFORMULA)
+   LIB_KIO='-lkio'
+   AC_SUBST(LIB_KIO)
+   LIB_KSYCOCA='-lksycoca'
+   AC_SUBST(LIB_KSYCOCA)
+   LIB_SMB='-lsmb'
+   AC_SUBST(LIB_SMB)
+   LIB_KFILE='-lkfile'
+   AC_SUBST(LIB_KFILE)
+   LIB_KAB='-lkab'
+   AC_SUBST(LIB_KAB)
+   LIB_KHTML='-lkhtml'
+   AC_SUBST(LIB_KHTML)
+   LIB_KSPELL='-lkspell'
+   AC_SUBST(LIB_KSPELL)
+   LIB_KPARTS='-lkparts'
+   AC_SUBST(LIB_KPARTS)
+   LIB_KWRITE='-lkwrite'
+   AC_SUBST(LIB_KWRITE)
+else
+   LIB_KDECORE='-lkdecore -lXext $(LIB_QT)'
+   AC_SUBST(LIB_KDECORE)
+   LIB_KDEUI='-lkdeui $(LIB_KDECORE)'
+   AC_SUBST(LIB_KDEUI)
+   LIB_KFM='-lkfm $(LIB_KDECORE)'
+   AC_SUBST(LIB_KFM)
+   LIB_KFILE='-lkfile $(LIB_KFM) $(LIB_KDEUI)'
+   AC_SUBST(LIB_KFILE)
+   LIB_KAB='-lkab $(LIB_KIMGIO) $(LIB_KDECORE)'
+   AC_SUBST(LIB_KAB)
+fi
+])
+
+AC_DEFUN(AC_PATH_KDE,
+[
+  AC_BASE_PATH_KDE
+  AC_ARG_ENABLE(path-check, [  --disable-path-check    don't try to find out, where to install],
+  [
+  if test "$enableval" = "no";
+    then ac_use_path_checking="default"
+    else ac_use_path_checking=""
+  fi
+  ],
+  [
+  if test "$kde_qtver" = 1;
+    then ac_use_path_checking=""
+    else ac_use_path_checking="default"
+  fi
+  ]
+  )
+
+  AC_CREATE_KFSSTND($ac_use_path_checking)
+
+  AC_SUBST_KFSSTND
+  KDE_CREATE_LIBS_ALIASES
+])
+
+dnl obsolete
+AC_DEFUN(AC_CHECK_SETENV,
+[
+   AC_OBSOLETE([$0], [; instead use AC_CHECK_FUNCS([setenv unsetenv])])dnl 
+   AC_CHECK_FUNCS([setenv unsetenv])
+])
+
+AC_DEFUN(AC_CHECK_GETDOMAINNAME,
+[
+AC_MSG_CHECKING(for getdomainname)
+AC_CACHE_VAL(ac_cv_func_getdomainname,
+[
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+save_CXXFLAGS="$CXXFLAGS"
+kde_safe_LIBS="$LIBS"
+LIBS="$LIBS $X_EXTRA_LIBS"
+if test "$GCC" = "yes"; then
+CXXFLAGS="$CXXFLAGS -pedantic-errors"
+fi
+AC_TRY_COMPILE([
+#include <stdlib.h>
+#include <unistd.h>
+],
+[
+char buffer[200];
+getdomainname(buffer, 200);
+],
+ac_cv_func_getdomainname=yes,
+ac_cv_func_getdomainname=no)
+CXXFLAGS="$save_CXXFLAGS"
+LIBS=$kde_safe_LIBS
+AC_LANG_RESTORE
+])
+AC_MSG_RESULT($ac_cv_func_getdomainname)
+
+AC_MSG_CHECKING([if getdomainname needs custom prototype])
+AC_CACHE_VAL(ac_cv_proto_getdomainname,
+[
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+if eval "test \"`echo $ac_cv_func_getdomainname`\" = yes"; then
+  ac_cv_proto_getdomainname=no
+else
+  kde_safe_libs=$LIBS
+  LIBS="$LIBS $X_EXTRA_LIBS"
+  AC_TRY_LINK([
+#include <stdlib.h>
+#include <unistd.h>
+
+extern "C" int getdomainname (char *, int);
+],
+[
+char buffer[200];
+getdomainname(buffer, 200);
+],
+  ac_cv_func_getdomainname=yes
+  ac_cv_proto_getdomainname=yes,
+  AC_MSG_RESULT([fatal error])
+  AC_MSG_ERROR([getdomainname unavailable]))
+fi
+LIBS=$kde_safe_libs
+AC_LANG_RESTORE
+])
+AC_MSG_RESULT($ac_cv_proto_getdomainname)
+
+if eval "test \"`echo $ac_cv_func_getdomainname`\" = yes"; then
+  AC_DEFINE(HAVE_GETDOMAINNAME, 1, [Define if you have getdomainname])
+fi
+if eval "test \"`echo $ac_cv_proto_getdomainname`\" = no"; then
+  AC_DEFINE(HAVE_GETDOMAINNAME_PROTO, 1,
+  [Define if you have getdomainname prototype])
+fi
+
+])
+
+AC_DEFUN(AC_CHECK_GETHOSTNAME,
+[
+
+AC_MSG_CHECKING([for gethostname])
+AC_CACHE_VAL(ac_cv_func_gethostname,
+[
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+save_CXXFLAGS="$CXXFLAGS"
+if test "$GCC" = "yes"; then
+CXXFLAGS="$CXXFLAGS -pedantic-errors"
+fi
+AC_TRY_LINK([
+#include <stdlib.h>
+#include <unistd.h>
+],
+[
+char buffer[200];
+gethostname(buffer, 200);
+],
+ac_cv_func_gethostname=yes,
+ac_cv_func_gethostname=no)
+CXXFLAGS="$save_CXXFLAGS"
+AC_LANG_RESTORE
+])
+AC_MSG_RESULT($ac_cv_func_gethostname)
+
+AC_MSG_CHECKING([if gethostname needs custom prototype])
+AC_CACHE_VAL(ac_cv_proto_gethostname,
+[
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+if eval "test \"`echo $ac_cv_func_gethostname`\" = yes"; then
+  ac_cv_proto_gethostname=no
+else
+  AC_TRY_LINK([
+#include <stdlib.h>
+#include <unistd.h>
+
+extern "C" int gethostname (char *, int);
+],
+[
+char buffer[200];
+gethostname(buffer, 200);
+],
+  ac_cv_func_gethostname=yes
+  ac_cv_proto_gethostname=yes,
+  AC_MSG_RESULT([fatal error])
+  AC_MSG_ERROR(gethostname unavailable))
+fi
+AC_LANG_RESTORE
+])
+AC_MSG_RESULT($ac_cv_proto_gethostname)
+
+if eval "test \"`echo $ac_cv_proto_gethostname`\" = no"; then
+  AC_DEFINE(HAVE_GETHOSTNAME_PROTO, 1,
+  [Define if you have gethostname prototype])
+fi
+if eval "test \"`echo $ac_cv_func_gethostname`\" = yes"; then
+  AC_DEFINE(HAVE_GETHOSTNAME, 1, [Define if you have getdomainname])
+fi
+])
+
+AC_DEFUN(AC_CHECK_USLEEP,
+[
+AC_MSG_CHECKING([for usleep])
+AC_CACHE_VAL(ac_cv_func_usleep,
+[
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+ac_libs_safe="$LIBS"
+LIBS="$LIBS $LIBUCB"
+AC_TRY_LINK([
+#include <stdlib.h>
+#include <unistd.h>
+],
+[
+usleep(200);
+],
+ac_cv_func_usleep=yes,
+ac_cv_func_usleep=no)
+LIBS="$ac_libs_safe"
+AC_LANG_RESTORE
+])
+AC_MSG_RESULT($ac_cv_func_usleep)
+if eval "test \"`echo $ac_cv_func_usleep`\" = yes"; then
+  AC_DEFINE(HAVE_USLEEP, 1, [Define if you have the usleep function])
+fi
+])
+
+AC_DEFUN(AC_CHECK_RANDOM,
+[
+AC_MSG_CHECKING([for random])
+AC_CACHE_VAL(ac_cv_func_random,
+[
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+ac_libs_safe="$LIBS"
+LIBS="$LIBS $LIBUCB"
+AC_TRY_LINK([
+#include <stdlib.h>
+],
+[
+random();
+],
+ac_cv_func_random=yes,
+ac_cv_func_random=no)
+LIBS="$ac_libs_safe"
+AC_LANG_RESTORE
+])
+AC_MSG_RESULT($ac_cv_func_random)
+if eval "test \"`echo $ac_cv_func_random`\" = yes"; then
+  AC_DEFINE(HAVE_RANDOM, 1, [Define if you have random])
+fi
+])
+
+AC_DEFUN(AC_FIND_GIF,
+   [AC_MSG_CHECKING([for giflib])
+AC_CACHE_VAL(ac_cv_lib_gif,
+[ac_save_LIBS="$LIBS"
+LIBS="$all_libraries -lgif -lX11 $LIBSOCKET"
+AC_TRY_LINK(dnl
+[
+#ifdef __cplusplus
+extern "C" {
+#endif
+int GifLastError(void);
+#ifdef __cplusplus
+}
+#endif
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+],
+            [return GifLastError();],
+            eval "ac_cv_lib_gif=yes",
+            eval "ac_cv_lib_gif=no")
+LIBS="$ac_save_LIBS"
+])dnl
+if eval "test \"`echo $ac_cv_lib_gif`\" = yes"; then
+  AC_MSG_RESULT(yes)
+  AC_DEFINE_UNQUOTED(HAVE_LIBGIF, 1, [Define if you have libgif])
+else
+  AC_MSG_ERROR(You need giflib30. Please install the kdesupport package)
+fi
+])
+
+AC_DEFUN(KDE_FIND_JPEG_HELPER,
+[
+AC_MSG_CHECKING([for libjpeg$2])
+AC_CACHE_VAL(ac_cv_lib_jpeg_$1,
+[
+AC_LANG_C
+ac_save_LIBS="$LIBS"
+LIBS="$all_libraries $USER_LDFLAGS -ljpeg$2 -lm"
+ac_save_CFLAGS="$CFLAGS"
+CFLAGS="$CFLAGS $all_includes $USER_INCLUDES"
+AC_TRY_LINK(
+[/* Override any gcc2 internal prototype to avoid an error.  */
+struct jpeg_decompress_struct;
+typedef struct jpeg_decompress_struct * j_decompress_ptr;
+typedef int size_t;
+#ifdef __cplusplus
+extern "C" {
+#endif
+    void jpeg_CreateDecompress(j_decompress_ptr cinfo,
+                                    int version, size_t structsize);
+#ifdef __cplusplus
+}
+#endif
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+],
+            [jpeg_CreateDecompress(0L, 0, 0);],
+            eval "ac_cv_lib_jpeg_$1=-ljpeg$2",
+            eval "ac_cv_lib_jpeg_$1=no")
+LIBS="$ac_save_LIBS"
+CFLAGS="$ac_save_CFLAGS"
+])
+
+if eval "test ! \"`echo $ac_cv_lib_jpeg_$1`\" = no"; then
+  LIBJPEG="$ac_cv_lib_jpeg_$1"
+  AC_MSG_RESULT($ac_cv_lib_jpeg_$1)
+else
+  AC_MSG_RESULT(no)
+  $3
+fi
+
+])
+
+AC_DEFUN(AC_FIND_JPEG,
+[
+dnl first look for libraries
+KDE_FIND_JPEG_HELPER(6b, 6b,
+   KDE_FIND_JPEG_HELPER(normal, [],
+    [
+dnl what to do, if the normal way fails:
+	if test -f "$kde_libraries/libjpeg.so"; then
+	   test -f ./libjpegkde.so || $LN_S $kde_libraries/libjpeg.so ./libjpegkde.so
+	   ac_cv_lib_jpeg="-L\${topdir} -ljpegkde"
+	else if test -f "$kde_libraries/libjpeg.sl"; then
+	   test -f ./libjpegkde.sl ||$LN_S $kde_libraries/libjpeg.sl ./libjpegkde.sl
+	   ac_cv_lib_jpeg="-L\${topdir} -ljpegkde"	
+	else if test -f "$kde_libraries/libjpeg.a"; then
+	   test -f ./libjpegkde.a || $LN_S $kde_libraries/libjpeg.a ./libjpegkde.a
+	   ac_cv_lib_jpeg="-L\${topdir} -ljpegkde"
+        else
+	  ac_cv_lib_jpeg=
+	fi
+      fi
+   fi
+
+   LIBJPEG=$ac_cv_lib_jpeg
+]))
+
+dnl then search the headers (can't use simply AC_TRY_xxx, as jpeglib.h
+dnl requires system dependent includes loaded before it)
+jpeg_incdirs="/usr/include /usr/local/include $kde_extra_includes"
+AC_FIND_FILE(jpeglib.h, $jpeg_incdirs, jpeg_incdir)
+test "x$jpeg_incdir" = xNO && jpeg_incdir=
+
+dnl if headers _and_ libraries are missing, this is no error, and we
+dnl continue with a warning (the user will get no jpeg support in khtml)
+dnl if only one is missing, it means a configuration error, but we still
+dnl only warn
+if test -n "$jpeg_incdir" && test -n "$LIBJPEG" ; then
+  AC_DEFINE_UNQUOTED(HAVE_LIBJPEG, 1, [Define if you have libjpeg])
+else
+  if test -n "$jpeg_incdir" || test -n "$LIBJPEG" ; then
+    AC_MSG_WARN([
+There is an installation error in jpeg support. You seem to have only one
+of either the headers _or_ the libraries installed. You may need to either
+provide correct --with-extra-... options, or the development package of
+libjpeg6b. You can get a source package of libjpeg from http://www.ijg.org/
+Disabling JPEG support.
+])
+  else
+    AC_MSG_WARN([libjpeg not found. disable JPEG support.])
+  fi
+  jpeg_incdir=
+  LIBJPEG=
+fi
+
+AC_SUBST(LIBJPEG)
+])
+
+AC_DEFUN(AC_FIND_ZLIB,
+[
+AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
+AC_MSG_CHECKING([for libz])
+AC_CACHE_VAL(ac_cv_lib_z,
+[
+AC_LANG_C
+kde_save_LIBS="$LIBS"
+LIBS="$all_libraries $USER_LDFLAGS -lz $LIBSOCKET"
+kde_save_CFLAGS="$CFLAGS"
+CFLAGS="$CFLAGS $all_includes $USER_INCLUDES"
+AC_TRY_LINK(dnl
+[
+#include<zlib.h>
+],
+            [return (zlibVersion() == ZLIB_VERSION); ],
+            eval "ac_cv_lib_z='-lz'",
+            eval "ac_cv_lib_z=no")
+LIBS="$kde_save_LIBS"
+CFLAGS="$kde_save_CFLAGS"
+])dnl
+if test ! "$ac_cv_lib_z" = no; then
+  AC_DEFINE_UNQUOTED(HAVE_LIBZ, 1, [Define if you have libz])
+  LIBZ="$ac_cv_lib_z"
+  AC_SUBST(LIBZ)
+  AC_MSG_RESULT($ac_cv_lib_z)
+else
+  AC_MSG_ERROR(not found. Check your installation and look into config.log)
+  LIBZ=""
+  AC_SUBST(LIBZ)
+fi
+])
+
+AC_DEFUN(KDE_TRY_TIFFLIB,
+[
+AC_MSG_CHECKING([for libtiff $1])
+
+AC_CACHE_VAL(kde_cv_libtiff_$1,
+[
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+kde_save_LIBS="$LIBS"
+LIBS="$all_libraries $USER_LDFLAGS -l$1 $LIBJPEG $LIBZ -lX11 $LIBSOCKET -lm"
+kde_save_CXXFLAGS="$CXXFLAGS"
+CXXFLAGS="$CXXFLAGS $all_includes $USER_INCLUDES"
+
+AC_TRY_LINK(dnl
+[
+#include<tiffio.h>
+],
+    [return (TIFFOpen( "", "r") == 0); ],
+[
+    kde_cv_libtiff_$1="-l$1 $LIBJPEG $LIBZ"
+], [
+    kde_cv_libtiff_$1=no
+])
+
+LIBS="$kde_save_LIBS"
+CXXFLAGS="$kde_save_CXXFLAGS"
+AC_LANG_RESTORE
+])
+
+if test "$kde_cv_libtiff_$1" = "no"; then
+    AC_MSG_RESULT(no)
+    LIBTIFF=""
+    $3
+else
+    LIBTIFF="$kde_cv_libtiff_$1"
+    AC_MSG_RESULT(yes)
+    AC_DEFINE_UNQUOTED(HAVE_LIBTIFF, 1, [Define if you have libtiff])
+    $2
+fi
+
+])
+
+AC_DEFUN(AC_FIND_TIFF,
+[
+AC_REQUIRE([K_PATH_X])
+AC_REQUIRE([AC_FIND_ZLIB])
+AC_REQUIRE([AC_FIND_JPEG])
+AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
+
+KDE_TRY_TIFFLIB(tiff, [],
+   KDE_TRY_TIFFLIB(tiff34))
+
+AC_SUBST(LIBTIFF)
+])
+
+
+AC_DEFUN(AC_FIND_PNG,
+[
+AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
+AC_REQUIRE([AC_FIND_ZLIB])
+AC_MSG_CHECKING([for libpng])
+AC_CACHE_VAL(ac_cv_lib_png,
+[
+kde_save_LIBS="$LIBS"
+LIBS="$LIBS $all_libraries $USER_LDFLAGS -lpng $LIBZ -lm -lX11 $LIBSOCKET"
+kde_save_CFLAGS="$CFLAGS"
+CFLAGS="$CFLAGS $all_includes $USER_INCLUDES"
+AC_LANG_C
+AC_TRY_LINK(dnl
+    [
+    #include<png.h>
+    ],
+    [
+    png_structp png_ptr = png_create_read_struct(  /* image ptr */
+		PNG_LIBPNG_VER_STRING, 0, 0, 0 );
+    return( png_ptr != 0 );
+    ],
+    eval "ac_cv_lib_png='-lpng $LIBZ -lm'",
+    eval "ac_cv_lib_png=no"
+)
+LIBS="$kde_save_LIBS"
+CFLAGS="$kde_save_CFLAGS"
+])dnl
+if eval "test ! \"`echo $ac_cv_lib_png`\" = no"; then
+  AC_DEFINE_UNQUOTED(HAVE_LIBPNG, 1, [Define if you have libpng])
+  LIBPNG="$ac_cv_lib_png"
+  AC_SUBST(LIBPNG)
+  AC_MSG_RESULT($ac_cv_lib_png)
+else
+  AC_MSG_RESULT(no)
+  LIBPNG=""
+  AC_SUBST(LIBPNG)
+fi
+])
+
+AC_DEFUN(AC_CHECK_BOOL,
+[
+  AC_DEFINE_UNQUOTED(HAVE_BOOL, 1, [You _must_ have bool])
+])
+
+AC_DEFUN(AC_CHECK_GNU_EXTENSIONS,
+[
+AC_MSG_CHECKING(if you need GNU extensions)
+AC_CACHE_VAL(ac_cv_gnu_extensions,
+[
+cat > conftest.c << EOF
+#include <features.h>
+
+#ifdef __GNU_LIBRARY__
+yes
+#endif
+EOF
+
+if (eval "$ac_cpp conftest.c") 2>&5 |
+  egrep "yes" >/dev/null 2>&1; then
+  rm -rf conftest*
+  ac_cv_gnu_extensions=yes
+else
+  ac_cv_gnu_extensions=no
+fi
+])
+
+AC_MSG_RESULT($ac_cv_gnu_extensions)
+if test "$ac_cv_gnu_extensions" = "yes"; then
+  AC_DEFINE_UNQUOTED(_GNU_SOURCE, 1, [Define if you need to use the GNU extensions])
+fi
+])
+
+AC_DEFUN(KDE_CHECK_COMPILER_FLAG,
+[
+AC_REQUIRE([AC_CHECK_COMPILERS])
+AC_MSG_CHECKING(whether $CXX supports -$1)
+kde_cache=`echo $1 | sed 'y%.=/+-%___p_%'`
+AC_CACHE_VAL(kde_cv_prog_cxx_$kde_cache,
+[
+echo 'int main() { return 0; }' >conftest.cc
+eval "kde_cv_prog_cxx_$kde_cache=no"
+if test -z "`$CXX -$1 -c conftest.cc 2>&1`"; then
+  if test -z "`$CXX -$1 -o conftest conftest.o 2>&1`"; then
+    eval "kde_cv_prog_cxx_$kde_cache=yes"
+  fi
+fi
+rm -f conftest*
+])
+if eval "test \"`echo '$kde_cv_prog_cxx_'$kde_cache`\" = yes"; then
+ AC_MSG_RESULT(yes)
+ :
+ $2
+else
+ AC_MSG_RESULT(no)
+ :
+ $3
+fi
+])
+
+AC_DEFUN(KDE_PROG_CC_PG,
+[ AC_CACHE_CHECK(whether ${CC-cc} accepts -pg, kde_cv_prog_cc_pg,
+  [echo 'void f(){}' > conftest.c
+   if test -z "`${CC-cc} -pg -c conftest.c 2>&1`"; then
+     kde_cv_prog_cc_pg=yes
+   else
+     kde_cv_prog_cc_pg=no
+   fi
+   rm -f conftest*
+])])
+
+AC_DEFUN(KDE_PROG_CXX_PG,
+[ AC_CACHE_CHECK(whether ${CXX-g++} accepts -pg, kde_cv_prog_cxx_pg,
+  [echo 'void f(){}' > conftest.cc
+   if test -z "`${CXX-g++} -pg -c conftest.cc 2>&1`"; then
+     kde_cv_prog_cxx_pg=yes
+   else
+     kde_cv_prog_cxx_pg=no
+   fi
+  rm -f conftest*
+])])
+
+dnl AC_REMOVE_FORBIDDEN removes forbidden arguments from variables
+dnl use: AC_REMOVE_FORBIDDEN(CC, [-forbid -bad-option whatever])
+dnl it's all white-space separated
+AC_DEFUN(AC_REMOVE_FORBIDDEN,
+[ __val=$$1
+  __forbid=" $2 "
+  if test -n "$__val"; then
+    __new=""
+    ac_save_IFS=$IFS
+    IFS=" 	"
+    for i in $__val; do
+      case "$__forbid" in
+        *" $i "*) AC_MSG_WARN([found forbidden $i in $1, removing it]) ;;
+	*) # Careful to not add spaces, where there were none, because otherwise
+	   # libtool gets confused, if we change e.g. CXX
+	   if test -z "$__new" ; then __new=$i ; else __new="$__new $i" ; fi ;;
+      esac
+    done
+    IFS=$ac_save_IFS
+    $1=$__new
+  fi
+])
+
+dnl AC_VALIDIFY_CXXFLAGS checks for forbidden flags the user may have given
+AC_DEFUN(AC_VALIDIFY_CXXFLAGS,
+[dnl
+ AC_REMOVE_FORBIDDEN(CXX, [-fno-rtti -rpath])
+ AC_REMOVE_FORBIDDEN(CXXFLAGS, [-fno-rtti -rpath])
+])
+
+AC_DEFUN(AC_CHECK_COMPILERS,
+[
+  dnl this is somehow a fat lie, but prevents other macros from double checking
+  AC_PROVIDE([AC_PROG_CC])
+  AC_PROVIDE([AC_PROG_CPP])
+  AC_PROVIDE([AC_PROG_CXX])
+  AC_PROVIDE([AC_PROG_CXXCPP])
+
+  AC_ARG_ENABLE(debug,[  --enable-debug          enables debug symbols [default=no]],
+  [
+   if test $enableval = "no"; dnl
+     then
+       kde_use_debug_code="no"
+       kde_use_debug_define=yes
+     else
+       kde_use_debug_code="yes"
+       kde_use_debug_define=no
+   fi
+  ], [kde_use_debug_code="no"
+      kde_use_debug_define=no
+    ])
+  dnl Just for configure --help
+  AC_ARG_ENABLE(dummyoption,[  --disable-debug         disables debug output and debug symbols [default=no]],[],[])
+
+  AC_ARG_ENABLE(strict,[  --enable-strict         compiles with strict compiler options (may not work!)],
+   [
+    if test $enableval = "no"; then
+         kde_use_strict_options="no"
+       else
+         kde_use_strict_options="yes"
+    fi
+   ], [kde_use_strict_options="no"])
+
+  AC_ARG_ENABLE(profile,[  --enable-profile        creates profiling infos [default=no]],
+     [kde_use_profiling=$enableval],
+     [kde_use_profiling="no"]
+  )
+
+dnl this was AC_PROG_CC. I had to include it manualy, since I had to patch it
+  AC_MSG_CHECKING(for a C-Compiler)
+  dnl if there is one, print out. if not, don't matter
+  AC_MSG_RESULT($CC)
+
+  if test -z "$CC"; then AC_CHECK_PROG(CC, gcc, gcc) fi
+  if test -z "$CC"; then AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc) fi
+  if test -z "$CC"; then AC_CHECK_PROG(CC, xlc, xlc) fi
+  test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
+
+  AC_PROG_CC_WORKS
+  AC_PROG_CC_GNU
+
+  if test $ac_cv_prog_gcc = yes; then
+    GCC=yes
+  else
+    GCC=
+  fi
+
+  USER_CFLAGS=$CFLAGS
+  CFLAGS=
+
+  if test -z "$CFLAGS"; then
+    if test "$kde_use_debug_code" = "yes"; then
+      AC_PROG_CC_G
+      if test $ac_cv_prog_cc_g = yes; then
+	CFLAGS="-g"
+	case $host in
+   	*-*-linux-gnu)	
+           CFLAGS="$CFLAGS -ansi -W -Wall -pedantic -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -D_XOPEN_SOURCE -D_BSD_SOURCE"
+         ;;
+        esac
+      fi
+    else
+      if test "$GCC" = "yes"; then
+        CFLAGS="-O2"
+      else
+        CFLAGS=""
+      fi
+      if test "$kde_use_debug_define" = "yes"; then
+        CFLAGS="$CFLAGS -DNDEBUG"
+	dnl damn buggy compilers :-(
+	dnl if test "$GCC" = "yes"; then
+    	dnl  CFLAGS="$CFLAGS -fomit-frame-pointer"
+	dnl   CXXFLAGS="$CXXFLAGS -fomit-frame-pointer"
+	dnl fi
+      fi
+    fi
+
+    if test "$kde_use_profiling" = yes; then
+      KDE_PROG_CC_PG
+      if test "$kde_cv_prog_cc_pg" = yes; then
+        CFLAGS="$CFLAGS -pg"
+      fi
+    fi
+
+    if test "$GCC" = "yes"; then
+     CFLAGS="$CFLAGS"
+
+     if test "$kde_use_strict_options" = "yes"; then
+	CFLAGS="$CFLAGS -W -Wall -ansi -pedantic -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings"
+     fi
+    fi
+
+  fi
+
+  case "$host" in
+  *-*-sysv4.2uw*) CFLAGS="$CFLAGS -D_UNIXWARE";;
+  *-*-sysv5uw7*) CFLAGS="$CFLAGS -D_UNIXWARE7";;
+  esac
+
+  if test -n "$USER_CFLAGS"; then
+    CFLAGS="$CFLAGS $USER_CFLAGS"
+  fi
+
+  if test -z "$LDFLAGS" && test "$kde_use_debug_code" = "no" && test "$GCC" = "yes"; then
+     LDFLAGS=""
+  fi
+
+
+dnl this is AC_PROG_CPP. I had to include it here, since autoconf checks
+dnl dependecies between AC_PROG_CPP and AC_PROG_CC (or is it automake?)
+
+  AC_MSG_CHECKING(how to run the C preprocessor)
+  # On Suns, sometimes $CPP names a directory.
+  if test -n "$CPP" && test -d "$CPP"; then
+    CPP=
+  fi
+  if test -z "$CPP"; then
+  AC_CACHE_VAL(ac_cv_prog_CPP,
+  [  # This must be in double quotes, not single quotes, because CPP may get
+    # substituted into the Makefile and "${CC-cc}" will confuse make.
+    CPP="${CC-cc} -E"
+    # On the NeXT, cc -E runs the code through the compiler's parser,
+    # not just through cpp.
+    dnl Use a header file that comes with gcc, so configuring glibc
+    dnl with a fresh cross-compiler works.
+    AC_TRY_CPP([#include <assert.h>
+    Syntax Error], ,
+    CPP="${CC-cc} -E -traditional-cpp"
+    AC_TRY_CPP([#include <assert.h>
+    Syntax Error], , CPP=/lib/cpp))
+    ac_cv_prog_CPP="$CPP"])dnl
+    CPP="$ac_cv_prog_CPP"
+  else
+    ac_cv_prog_CPP="$CPP"
+  fi
+  AC_MSG_RESULT($CPP)
+  AC_SUBST(CPP)dnl
+
+
+  AC_MSG_CHECKING(for a C++-Compiler)
+  dnl if there is one, print out. if not, don't matter
+  AC_MSG_RESULT($CXX)
+
+  if test -z "$CXX"; then AC_CHECK_PROG(CXX, g++, g++) fi
+  if test -z "$CXX"; then AC_CHECK_PROG(CXX, CC, CC) fi
+  if test -z "$CXX"; then AC_CHECK_PROG(CXX, xlC, xlC) fi
+  if test -z "$CXX"; then AC_CHECK_PROG(CXX, DCC, DCC) fi
+  test -z "$CXX" && AC_MSG_ERROR([no acceptable C++-compiler found in \$PATH])
+
+  AC_PROG_CXX_WORKS
+  AC_PROG_CXX_GNU
+
+  if test $ac_cv_prog_gxx = yes; then
+    GXX=yes
+  fi
+
+  USER_CXXFLAGS=$CXXFLAGS
+  CXXFLAGS=""
+
+  if test -z "$CXXFLAGS"; then
+    if test "$kde_use_debug_code" = "yes"; then
+      AC_PROG_CXX_G
+      if test $ac_cv_prog_cxx_g = yes; then
+        CXXFLAGS="-g"
+	case $host in  dnl
+   	*-*-linux-gnu)
+           CXXFLAGS="$CXXFLAGS -ansi -D_XOPEN_SOURCE -D_BSD_SOURCE -Wbad-function-cast -Wcast-align -Wundef -Wconversion"
+         ;;
+        esac
+      fi
+    else
+      if test "$GXX" = "yes"; then
+         CXXFLAGS="-O2"
+      fi
+      if test "$kde_use_debug_define" = "yes"; then
+         CXXFLAGS="$CXXFLAGS -DNDEBUG"
+      fi
+    fi
+
+    if test "$kde_use_profiling" = yes; then
+      KDE_PROG_CXX_PG
+      if test "$kde_cv_prog_cxx_pg" = yes; then
+        CXXFLAGS="$CXXFLAGS -pg"
+      fi
+    fi
+    
+    KDE_CHECK_COMPILER_FLAG(fno-exceptions,
+    [
+      CXXFLAGS="$CXXFLAGS -fno-exceptions"
+    ])
+      
+dnl WABA: Nothing wrong with RTTI, keep it on.
+dnl    KDE_CHECK_COMPILER_FLAG(fno-rtti,
+dnl	[
+dnl	  CXXFLAGS="$CXXFLAGS -fno-rtti"
+dnl	])
+
+    KDE_CHECK_COMPILER_FLAG(fno-check-new,
+	[
+	  CXXFLAGS="$CXXFLAGS -fno-check-new"
+	])
+
+    if test "$GXX" = "yes"; then
+       CXXFLAGS="$CXXFLAGS"
+
+       if test true || test "$kde_use_debug_code" = "yes"; then
+	 CXXFLAGS="$CXXFLAGS -Wall -pedantic -W -Wpointer-arith -Wmissing-prototypes -Wwrite-strings"
+
+         KDE_CHECK_COMPILER_FLAG(Wno-long-long,
+	 [
+	   CXXFLAGS="$CXXFLAGS -Wno-long-long"
+	 ])
+         KDE_CHECK_COMPILER_FLAG(Wnon-virtual-dtor,
+         [
+           CXXFLAGS="$CXXFLAGS -Wnon-virtual-dtor"
+         ])
+         KDE_CHECK_COMPILER_FLAG(fno-builtin,
+         [
+           CXXFLAGS="$CXXFLAGS -fno-builtin"
+         ])
+	
+       fi
+
+       if test "$kde_use_strict_options" = "yes"; then
+	CXXFLAGS="$CXXFLAGS -Wcast-qual -Wbad-function-cast -Wshadow -Wcast-align"
+       fi
+
+       if test "$kde_very_strict" = "yes"; then
+         CXXFLAGS="$CXXFLAGS -Wold-style-cast -Wredundant-decls -Wconversion"
+       fi
+    fi
+  fi
+
+    KDE_CHECK_COMPILER_FLAG(fexceptions,
+	[
+	  USE_EXCEPTIONS="-fexceptions"
+	],
+	  USE_EXCEPTIONS=
+	)
+    AC_SUBST(USE_EXCEPTIONS)
+
+    KDE_CHECK_COMPILER_FLAG(frtti,
+	[
+	  USE_RTTI="-frtti"
+	],
+	  USE_RTTI=
+	)
+    AC_SUBST(USE_RTTI)
+
+    case "$host" in
+      *-*-irix*)  test "$GXX" = yes && CXXFLAGS="$CXXFLAGS -D_LANGUAGE_C_PLUS_PLUS -D__LANGUAGE_C_PLUS_PLUS" ;;
+      *-*-sysv4.2uw*) CXXFLAGS="$CXXFLAGS -D_UNIXWARE";;
+      *-*-sysv5uw7*) CXXFLAGS="$CXXFLAGS -D_UNIXWARE7";;
+      *-*-solaris*) 
+        if test "$GXX" = yes; then
+          libstdcpp=`gcc -print-file-name=libstdc++.so`
+          if test ! -f $libstdcpp; then
+             AC_MSG_ERROR([You've compiled gcc without --enable-shared. This doesn't work with KDE. Please recompile gcc with --enable-shared to receive a libstdc++.so])
+          fi
+        fi
+        ;;
+    esac
+
+    if test -n "$USER_CXXFLAGS"; then
+       CXXFLAGS="$CXXFLAGS $USER_CXXFLAGS"
+    fi
+
+    AC_VALIDIFY_CXXFLAGS
+
+    AC_MSG_CHECKING(how to run the C++ preprocessor)
+    if test -z "$CXXCPP"; then
+      AC_CACHE_VAL(ac_cv_prog_CXXCPP,
+      [
+         AC_LANG_SAVE[]dnl
+         AC_LANG_CPLUSPLUS[]dnl
+         CXXCPP="${CXX-g++} -E"
+         AC_TRY_CPP([#include <stdlib.h>], , CXXCPP=/lib/cpp)
+         ac_cv_prog_CXXCPP="$CXXCPP"
+         AC_LANG_RESTORE[]dnl
+     ])dnl
+     CXXCPP="$ac_cv_prog_CXXCPP"
+    fi
+    AC_MSG_RESULT($CXXCPP)
+    AC_SUBST(CXXCPP)dnl
+
+    # the following is to allow programs, that are known to
+    # have problems when compiled with -O2
+    if test -n "$CXXFLAGS"; then
+      kde_safe_IFS=$IFS
+      IFS=" "
+      NOOPT_CXXFLAGS=""
+      for i in $CXXFLAGS; do
+        case $i in
+          -O*)
+                ;;
+          *)
+                NOOPT_CXXFLAGS="$NOOPT_CXXFLAGS $i"
+                ;;
+        esac
+      done
+      IFS=$kde_safe_IFS
+    fi
+    AC_SUBST(NOOPT_CXXFLAGS)
+
+    KDE_CHECK_FINAL
+
+    ifdef([AM_DEPENDENCIES], AC_REQUIRE([KDE_ADD_DEPENDENCIES]), [])
+
+    KDE_CXXFLAGS=
+    AC_SUBST(KDE_CXXFLAGS)
+])
+
+AC_DEFUN(KDE_ADD_DEPENDENCIES,
+[
+   [A]M_DEPENDENCIES(CC)
+   [A]M_DEPENDENCIES(CXX)
+])
+
+dnl just a wrapper to clean up configure.in
+AC_DEFUN(KDE_PROG_LIBTOOL,
+[
+AC_REQUIRE([AC_CHECK_COMPILERS])
+AC_REQUIRE([AC_ENABLE_SHARED])
+AC_REQUIRE([AC_ENABLE_STATIC])
+
+AC_REQUIRE([AC_LIBTOOL_DLOPEN])
+
+AC_LANG_SAVE
+AC_LANG_C
+AC_OBJEXT
+AC_EXEEXT
+AC_LANG_RESTORE
+
+AM_PROG_LIBTOOL
+AC_LIBTOOL_CXX
+
+LIBTOOL_SHELL="/bin/sh ./libtool"
+#  LIBTOOL="$LIBTOOL --silent"
+KDE_PLUGIN="-avoid-version -module -no-undefined"
+AC_SUBST(KDE_PLUGIN)
+])
+
+AC_DEFUN(KDE_CHECK_TYPES,
+[  AC_CHECK_SIZEOF(int, 4)dnl
+  AC_CHECK_SIZEOF(long, 4)dnl
+  AC_CHECK_SIZEOF(char *, 4)dnl
+])dnl
+
+AC_DEFUN(KDE_DO_IT_ALL,
+[
+AC_CANONICAL_SYSTEM
+AC_ARG_PROGRAM
+AM_INIT_AUTOMAKE($1, $2)
+AM_DISABLE_LIBRARIES
+AC_PREFIX_DEFAULT(${KDEDIR:-/usr/local/kde})
+AC_CHECK_COMPILERS
+KDE_PROG_LIBTOOL
+AM_KDE_WITH_NLS
+AC_PATH_KDE
+])
+
+AC_DEFUN(AC_CHECK_RPATH,
+[
+AC_MSG_CHECKING(for rpath)
+AC_ARG_ENABLE(rpath,
+      [  --disable-rpath         do not use the rpath feature of ld],
+      USE_RPATH=$enableval, USE_RPATH=yes)
+
+if test -z "$KDE_RPATH" && test "$USE_RPATH" = "yes"; then
+
+  KDE_RPATH="-R \$(kde_libraries)"
+
+  if test -n "$qt_libraries"; then
+    KDE_RPATH="$KDE_RPATH -R \$(qt_libraries)"
+  fi
+  dnl $x_libraries is set to /usr/lib in case
+  if test -n "$X_LDFLAGS"; then
+    KDE_RPATH="$KDE_RPATH -R \$(x_libraries)"
+  fi
+  if test -n "$KDE_EXTRA_RPATH"; then
+    KDE_RPATH="$KDE_RPATH \$(KDE_EXTRA_RPATH)"
+  fi
+fi
+AC_SUBST(KDE_EXTRA_RPATH)
+AC_SUBST(KDE_RPATH)
+AC_MSG_RESULT($USE_RPATH)
+])
+
+dnl Check for the type of the third argument of getsockname
+AC_DEFUN(AC_CHECK_KSIZE_T,
+[AC_MSG_CHECKING(for the third argument of getsockname)
+AC_CACHE_VAL(ac_cv_ksize_t,
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+[AC_TRY_COMPILE([
+#include <sys/types.h>
+#include <sys/socket.h>
+],[
+socklen_t a=0;
+getsockname(0,(struct sockaddr*)0, &a);
+],
+ac_cv_ksize_t=socklen_t,
+ac_cv_ksize_t=)
+if test -z "$ac_cv_ksize_t"; then
+ac_safe_cxxflags="$CXXFLAGS"
+if test "$GCC" = "yes"; then
+  CXXFLAGS="-Werror $CXXFLAGS"
+fi
+AC_TRY_COMPILE([
+#include <sys/types.h>
+#include <sys/socket.h>
+],[
+int a=0;
+getsockname(0,(struct sockaddr*)0, &a);
+],
+ac_cv_ksize_t=int,
+ac_cv_ksize_t=size_t)
+CXXFLAGS="$ac_safe_cxxflags"
+fi
+AC_LANG_RESTORE
+])
+
+if test -z "$ac_cv_ksize_t"; then
+  ac_cv_ksize_t=int
+fi
+
+AC_MSG_RESULT($ac_cv_ksize_t)
+AC_DEFINE_UNQUOTED(ksize_t, $ac_cv_ksize_t,
+      [Define the type of the third argument for getsockname]
+)
+
+])
+
+dnl This is a merge of some macros out of the gettext aclocal.m4
+dnl since we don't need anything, I took the things we need
+dnl the copyright for them is:
+dnl >
+dnl Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
+dnl This Makefile.in is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+dnl PARTICULAR PURPOSE.
+dnl >
+dnl for this file it is relicensed under LGPL
+
+AC_DEFUN(AM_KDE_WITH_NLS,
+  [
+    dnl If we use NLS figure out what method
+
+    AM_PATH_PROG_WITH_TEST_KDE(MSGFMT, msgfmt,
+        [test -n "`$ac_dir/$ac_word --version 2>&1 | grep 'GNU gettext'`"], msgfmt)
+    AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
+
+     if test -z "`$GMSGFMT --version 2>&1 | grep 'GNU gettext'`"; then
+        AC_MSG_RESULT([found msgfmt program is not GNU msgfmt; ignore it])
+        GMSGFMT=":"
+      fi
+      MSGFMT=$GMSGFMT
+      AC_SUBST(GMSGFMT)
+      AC_SUBST(MSGFMT)
+
+      AM_PATH_PROG_WITH_TEST_KDE(XGETTEXT, xgettext,
+	[test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
+
+      dnl Test whether we really found GNU xgettext.
+      if test "$XGETTEXT" != ":"; then
+	dnl If it is no GNU xgettext we define it as : so that the
+	dnl Makefiles still can work.
+	if $XGETTEXT --omit-header /dev/null 2> /dev/null; then
+	  : ;
+	else
+	  AC_MSG_RESULT(
+	    [found xgettext programs is not GNU xgettext; ignore it])
+	  XGETTEXT=":"
+	fi
+      fi
+     AC_SUBST(XGETTEXT)
+
+  ])
+
+# Search path for a program which passes the given test.
+# Ulrich Drepper <drepper at cygnus.com>, 1996.
+
+# serial 1
+# Stephan Kulow: I appended a _KDE against name conflicts
+
+dnl AM_PATH_PROG_WITH_TEST_KDE(VARIABLE, PROG-TO-CHECK-FOR,
+dnl   TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
+AC_DEFUN(AM_PATH_PROG_WITH_TEST_KDE,
+[# Extract the first word of "$2", so it can be a program name with args.
+set dummy $2; ac_word=[$]2
+AC_MSG_CHECKING([for $ac_word])
+AC_CACHE_VAL(ac_cv_path_$1,
+[case "[$]$1" in
+  /*)
+  ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
+  ;;
+  *)
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+  for ac_dir in ifelse([$5], , $PATH, [$5]); do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      if [$3]; then
+	ac_cv_path_$1="$ac_dir/$ac_word"
+	break
+      fi
+    fi
+  done
+  IFS="$ac_save_ifs"
+dnl If no 4th arg is given, leave the cache variable unset,
+dnl so AC_PATH_PROGS will keep looking.
+ifelse([$4], , , [  test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
+])dnl
+  ;;
+esac])dnl
+$1="$ac_cv_path_$1"
+if test -n "[$]$1"; then
+  AC_MSG_RESULT([$]$1)
+else
+  AC_MSG_RESULT(no)
+fi
+AC_SUBST($1)dnl
+])
+
+
+# Check whether LC_MESSAGES is available in <locale.h>.
+# Ulrich Drepper <drepper at cygnus.com>, 1995.
+
+# serial 1
+
+AC_DEFUN(AM_LC_MESSAGES,
+  [if test $ac_cv_header_locale_h = yes; then
+    AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES,
+      [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],
+       am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)])
+    if test $am_cv_val_LC_MESSAGES = yes; then
+      AC_DEFINE(HAVE_LC_MESSAGES, 1, [Define if your locale.h file contains LC_MESSAGES])
+    fi
+  fi])
+
+dnl From Jim Meyering.
+dnl FIXME: migrate into libit.
+
+AC_DEFUN(AM_FUNC_OBSTACK,
+[AC_CACHE_CHECK([for obstacks], am_cv_func_obstack,
+ [AC_TRY_LINK([#include "obstack.h"],
+	      [struct obstack *mem;obstack_free(mem,(char *) 0)],
+	      am_cv_func_obstack=yes,
+	      am_cv_func_obstack=no)])
+ if test $am_cv_func_obstack = yes; then
+   AC_DEFINE(HAVE_OBSTACK)
+ else
+   LIBOBJS="$LIBOBJS obstack.o"
+ fi
+])
+
+dnl From Jim Meyering.  Use this if you use the GNU error.[ch].
+dnl FIXME: Migrate into libit
+
+AC_DEFUN(AM_FUNC_ERROR_AT_LINE,
+[AC_CACHE_CHECK([for error_at_line], am_cv_lib_error_at_line,
+ [AC_TRY_LINK([],[error_at_line(0, 0, "", 0, "");],
+              am_cv_lib_error_at_line=yes,
+	      am_cv_lib_error_at_line=no)])
+ if test $am_cv_lib_error_at_line = no; then
+   LIBOBJS="$LIBOBJS error.o"
+ fi
+ AC_SUBST(LIBOBJS)dnl
+])
+
+# Macro to add for using GNU gettext.
+# Ulrich Drepper <drepper at cygnus.com>, 1995.
+
+# serial 1
+# Stephan Kulow: I put a KDE in it to avoid name conflicts
+
+AC_DEFUN(AM_KDE_GNU_GETTEXT,
+  [AC_REQUIRE([AC_PROG_MAKE_SET])dnl
+   AC_REQUIRE([AC_PROG_RANLIB])dnl
+   AC_REQUIRE([AC_HEADER_STDC])dnl
+   AC_REQUIRE([AC_TYPE_OFF_T])dnl
+   AC_REQUIRE([AC_TYPE_SIZE_T])dnl
+   AC_REQUIRE([AC_FUNC_ALLOCA])dnl
+   AC_REQUIRE([AC_FUNC_MMAP])dnl
+   AC_REQUIRE([AM_KDE_WITH_NLS])dnl
+   AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h string.h values.h alloca.h])
+   AC_CHECK_FUNCS([getcwd munmap putenv setenv setlocale strchr strcasecmp \
+__argz_count __argz_stringify __argz_next])
+
+   AC_MSG_CHECKING(for stpcpy)
+   AC_CACHE_VAL(kde_cv_func_stpcpy,
+   [
+   kde_safe_cxxflags=$CXXFLAGS
+   CXXFLAGS="-Wmissing-prototypes -Werror"
+   AC_LANG_SAVE
+   AC_LANG_CPLUSPLUS
+   AC_TRY_COMPILE([
+   #include <string.h>
+   ],
+   [
+   char buffer[200];
+   stpcpy(buffer, buffer);
+   ],
+   kde_cv_func_stpcpy=yes,
+   kde_cv_func_stpcpy=no)
+   AC_LANG_RESTORE
+   CXXFLAGS=$kde_safe_cxxflags
+   ])
+   AC_MSG_RESULT($kde_cv_func_stpcpy)
+   if eval "test \"`echo $kde_cv_func_stpcpy`\" = yes"; then
+     AC_DEFINE(HAVE_STPCPY, 1, [Define if you have stpcpy])
+   fi
+
+   AM_LC_MESSAGES
+
+   if test "x$CATOBJEXT" != "x"; then
+     if test "x$ALL_LINGUAS" = "x"; then
+       LINGUAS=
+     else
+       AC_MSG_CHECKING(for catalogs to be installed)
+       NEW_LINGUAS=
+       for lang in ${LINGUAS=$ALL_LINGUAS}; do
+         case "$ALL_LINGUAS" in
+          *$lang*) NEW_LINGUAS="$NEW_LINGUAS $lang" ;;
+         esac
+       done
+       LINGUAS=$NEW_LINGUAS
+       AC_MSG_RESULT($LINGUAS)
+     fi
+
+     dnl Construct list of names of catalog files to be constructed.
+     if test -n "$LINGUAS"; then
+       for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done
+     fi
+   fi
+
+  ])
+
+AC_DEFUN(AC_HAVE_XPM,
+ [AC_REQUIRE_CPP()dnl
+  AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
+
+ test -z "$XPM_LDFLAGS" && XPM_LDFLAGS=
+ test -z "$XPM_INCLUDE" && XPM_INCLUDE=
+
+ AC_ARG_WITH(xpm, [  --without-xpm           disable color pixmap XPM tests],
+	xpm_test=$withval, xpm_test="yes")
+ if test "x$xpm_test" = xno; then
+   ac_cv_have_xpm=no
+ else
+   AC_MSG_CHECKING(for XPM)
+   AC_CACHE_VAL(ac_cv_have_xpm,
+   [
+    AC_LANG_C
+    ac_save_ldflags="$LDFLAGS"
+    ac_save_cflags="$CFLAGS"
+    LDFLAGS="$LDFLAGS $X_LDFLAGS $USER_LDFLAGS $LDFLAGS $XPM_LDFLAGS $all_libraries -lXpm -lX11 -lXext $LIBZ $LIBSOCKET"
+    CFLAGS="$CFLAGS $X_INCLUDES $USER_INCLUDES"
+    test -n "$XPM_INCLUDE" && CFLAGS="-I$XPM_INCLUDE $CFLAGS"
+    AC_TRY_LINK([#include <X11/xpm.h>],[],
+	ac_cv_have_xpm="yes",ac_cv_have_xpm="no")
+    LDFLAGS="$ac_save_ldflags"
+    CFLAGS="$ac_save_cflags"
+   ])dnl
+
+  if test "$ac_cv_have_xpm" = no; then
+    AC_MSG_RESULT(no)
+    XPM_LDFLAGS=""
+    XPMINC=""
+    $2
+  else
+    AC_DEFINE(HAVE_XPM, 1, [Define if you have XPM support])
+    if test "$XPM_LDFLAGS" = ""; then
+       XPMLIB='-lXpm $(LIB_X11)'
+    else
+       XPMLIB="-L$XPM_LDFLAGS -lXpm "'$(LIB_X11)'
+    fi
+    if test "$XPM_INCLUDE" = ""; then
+       XPMINC=""
+    else
+       XPMINC="-I$XPM_INCLUDE"
+    fi
+    AC_MSG_RESULT(yes)
+    $1
+  fi
+ fi
+ AC_SUBST(XPMINC)
+ AC_SUBST(XPMLIB)
+])
+
+AC_DEFUN(AC_HAVE_DPMS,
+ [AC_REQUIRE_CPP()dnl
+  AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
+
+ test -z "$DPMS_LDFLAGS" && DPMS_LDFLAGS=
+ test -z "$DPMS_INCLUDE" && DPMS_INCLUDE=
+ DPMS_LIB=
+
+ AC_ARG_WITH(dpms, [  --without-dpms          disable DPMS power saving],
+	dpms_test=$withval, dpms_test="yes")
+ if test "x$dpms_test" = xno; then
+   ac_cv_have_dpms=no
+ else
+   AC_MSG_CHECKING(for DPMS)
+   dnl Note: ac_cv_have_dpms can be no, yes, or -lXdpms.
+   dnl 'yes' means DPMS_LIB="", '-lXdpms' means DPMS_LIB="-lXdpms".
+   AC_CACHE_VAL(ac_cv_have_dpms,
+   [
+    AC_LANG_C
+    ac_save_ldflags="$LDFLAGS"
+    ac_save_cflags="$CFLAGS"
+    ac_save_libs="$LIBS"
+    LDFLAGS="$LDFLAGS $DPMS_LDFLAGS $all_libraries -lX11 -lXext $LIBSOCKET"
+    CFLAGS="$CFLAGS $X_INCLUDES"
+    test -n "$DPMS_INCLUDE" && CFLAGS="-I$DPMS_INCLUDE $CFLAGS"
+    AC_TRY_LINK([
+	#include <X11/Xproto.h>
+	#include <X11/X.h>
+	#include <X11/Xlib.h>
+	#include <X11/extensions/dpms.h>
+	int foo_test_dpms()
+	{ return DPMSSetTimeouts( 0, 0, 0, 0 ); }],[],
+	ac_cv_have_dpms="yes", [
+            LDFLAGS="$ac_save_ldflags"
+            CFLAGS="$ac_save_cflags"
+            LDFLAGS="$LDFLAGS $DPMS_LDFLAGS $all_libraries -lX11 -lXext $LIBSOCKET"
+            LIBS="$LIBS -lXdpms"
+            CFLAGS="$CFLAGS $X_INCLUDES"
+            test -n "$DPMS_INCLUDE" && CFLAGS="-I$DPMS_INCLUDE $CFLAGS"
+            AC_TRY_LINK([
+	        #include <X11/Xproto.h>
+        	#include <X11/X.h>
+        	#include <X11/Xlib.h>
+        	#include <X11/extensions/dpms.h>
+        	int foo_test_dpms()
+        	{ return DPMSSetTimeouts( 0, 0, 0, 0 ); }],[],
+        	[
+                ac_cv_have_dpms="-lXdpms"
+                ],ac_cv_have_dpms="no")
+            ])
+    LDFLAGS="$ac_save_ldflags"
+    CFLAGS="$ac_save_cflags"
+    LIBS="$ac_save_libs"
+   ])dnl
+
+  if test "$ac_cv_have_dpms" = no; then
+    AC_MSG_RESULT(no)
+    DPMS_LDFLAGS=""
+    DPMSINC=""
+    $2
+  else
+    AC_DEFINE(HAVE_DPMS, 1, [Define if you have DPMS support])
+    if test "$ac_cv_have_dpms" = "-lXdpms"; then
+       DPMS_LIB="-lXdpms"
+    fi
+    if test "$DPMS_LDFLAGS" = ""; then
+       DPMSLIB="$DPMS_LIB "'$(LIB_X11)'
+    else
+       DPMSLIB="$DPMS_LDFLAGS $DPMS_LIB "'$(LIB_X11)'
+    fi
+    if test "$DPMS_INCLUDE" = ""; then
+       DPMSINC=""
+    else
+       DPMSINC="-I$DPMS_INCLUDE"
+    fi
+    AC_MSG_RESULT(yes)
+    $1
+  fi
+ fi
+ AC_SUBST(DPMSINC)
+ AC_SUBST(DPMSLIB)
+])
+
+AC_DEFUN(AC_HAVE_GL,
+ [AC_REQUIRE_CPP()dnl
+  AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
+
+ test -z "$GL_LDFLAGS" && GL_LDFLAGS=
+ test -z "$GL_INCLUDE" && GL_INCLUDE=
+
+ AC_ARG_WITH(gl, [  --without-gl            disable 3D GL modes],
+	gl_test=$withval, gl_test="yes")
+ if test "x$gl_test" = xno; then
+   ac_cv_have_gl=no
+ else
+   AC_MSG_CHECKING(for GL)
+   AC_CACHE_VAL(ac_cv_have_gl,
+   [
+    AC_LANG_C
+    ac_save_ldflags="$LDFLAGS"
+    ac_save_cflags="$CFLAGS"
+    LDFLAGS="$LDFLAGS $GL_LDFLAGS $X_LDFLAGS $all_libraries -lMesaGL -lMesaGLU -lX11 -lXext -lm $LIBSOCKET"
+    CFLAGS="$CFLAGS $X_INCLUDES"
+    test -n "$GL_INCLUDE" && CFLAGS="-I$GL_INCLUDE $CFLAGS"
+    AC_TRY_LINK([#include <GL/gl.h>
+#include <GL/glu.h>           
+], [],
+	ac_cv_have_gl="mesa", ac_cv_have_gl="no")
+    if test "x$ac_cv_have_gl" = "xno"; then
+      LDFLAGS="$ac_save_ldflags $X_LDFLAGS $GL_LDFLAGS $all_libraries -lGL -lGLU -lX11 -lXext -lm $LIBSOCKET"
+      CFLAGS="$ac_save_cflags $X_INCLUDES"
+      test -n "$GL_INCLUDE" && CFLAGS="-I$GL_INCLUDE $CFLAGS"
+      AC_TRY_LINK([#include <GL/gl.h>
+#include <GL/glu.h>
+], [],
+	  ac_cv_have_gl="yes", ac_cv_have_gl="no")
+    fi
+    LDFLAGS="$ac_save_ldflags"
+    CFLAGS="$ac_save_cflags"
+   ])dnl
+
+  if test "$ac_cv_have_gl" = "no"; then
+    AC_MSG_RESULT(no)
+    GL_LDFLAGS=""
+    GLINC=""
+    $2
+  else
+    AC_DEFINE(HAVE_GL, 1, [Defines if you have GL (Mesa, OpenGL, ...)])
+    if test "$GL_LDFLAGS" = ""; then
+       if test "$ac_cv_have_gl" = "mesa"; then
+          GLLIB='-lMesaGL -lMesaGLU $(LIB_X11)'
+       else
+          GLLIB='-lGL -lGLU $(LIB_X11)'
+       fi
+    else
+       if test "$ac_cv_have_gl" = "mesa"; then
+          GLLIB="$GL_LDFLAGS -lMesaGL -lMesaGLU "'$(LIB_X11)'
+       else
+          GLLIB="$GL_LDFLAGS -lGL -lGLU "'$(LIB_X11)'
+       fi
+    fi
+    if test "$GL_INCLUDE" = ""; then
+       GLINC=""
+    else
+       GLINC="-I$GL_INCLUDE"
+    fi
+    AC_MSG_RESULT($ac_cv_have_gl)
+    $1
+  fi
+ fi
+ AC_SUBST(GLINC)
+ AC_SUBST(GLLIB)
+])
+
+ dnl PAM pam
+
+ dnl Should test for PAM (Pluggable Authentication Modules)
+ AC_DEFUN(AC_PATH_PAM_DIRECT,
+ [
+ test -z "$pam_direct_test_library" && pam_direct_test_library=pam
+ test -z "$pam_direct_test_include" && pam_direct_test_include=security/pam_appl.h
+
+   for ac_dir in               \
+                               \
+     /usr/local/include        \
+     /usr/include              \
+     /usr/unsupported/include  \
+     /opt/include              \
+     /usr/pam/include          \
+     /usr/local/pam/include    \
+     /usr/lib/pam/include      \
+ 			      \
+     $extra_include            \
+     ; \
+   do
+     if test -r "$ac_dir/$pam_direct_test_include"; then
+       no_pam= ac_pam_includes=$ac_dir
+       break
+     fi
+   done
+
+ # First see if replacing the include by lib works.
+ for ac_dir in `echo "$ac_pam_includes" | sed s/include/lib/` \
+                           \
+     /lib                  \
+     /usr/lib              \
+     /usr/local/lib        \
+     /usr/unsupported/lib  \
+     /lib/security         \
+     /usr/security/lib     \
+     $extra_lib            \
+     ; \
+ do
+   for ac_extension in a so sl; do
+     if test -r $ac_dir/lib${pam_direct_test_library}.$ac_extension; then
+       no_pam= ac_pam_libraries=$ac_dir
+       break 2
+     fi
+   done
+ done
+])
+
+AC_DEFUN(AC_PATH_PAM,
+ [
+  AC_REQUIRE([KDE_CHECK_LIBDL])
+  AC_REQUIRE_CPP()dnl
+
+dnl AC_CHECK_LIB(pam_misc, main, [PAM_MISC_LIB="-lpam_misc"
+dnl              AC_DEFINE_UNQUOTED(HAVE_PAM_MISC, 1, [Define if you have a PAM implementation with the pam_misc library])], [], [-lpam $LIBDL])
+
+ AC_MSG_CHECKING(for PAM)
+ AC_ARG_WITH(pam,
+[  --with-pam[=ARG]        enable support for PAM: ARG=[yes|no|service name]],
+  [
+    if test "x$withval" = "xyes"; then
+      no_pam=
+      default_pam=yes
+    elif test "x$withval" = "xno"; then
+      no_pam=yes
+    else
+      no_pam=
+      pam_service="$withval"
+        if test -z "$pam_service"; then
+        default_pam=yes
+        else
+        default_pam=
+        fi
+      fi
+  ], no_pam=yes
+ )
+
+ if test ! "$no_pam" = yes; then
+
+ AC_CACHE_VAL(ac_cv_path_pam,
+ [
+ ac_pam_includes=NONE
+ ac_pam_libraries=NONE
+ if test -z "$pam_libraries"; then
+   pam_libraries=NONE
+ fi
+ if test -z "$pam_includes"; then
+   pam_includes=NONE
+ fi
+
+ AC_PATH_PAM_DIRECT
+
+ test "x$pam_includes" = xNONE && pam_includes=$ac_pam_includes
+ test "x$pam_libraries" = xNONE && pam_libraries=$ac_pam_libraries
+
+ if test ! "x$pam_includes" = xNONE && test ! "x$pam_libraries" = xNONE; then
+   ac_pam_libs="-lpam $PAM_MISC_LIB $LIBDL"
+   ac_cv_path_pam="no_pam= ac_pam_includes=$ac_pam_includes ac_pam_libraries=$ac_pam_libraries ac_pam_libs=\"$ac_pam_libs\""
+ else
+   ac_cv_path_pam="no_pam=yes"
+ fi
+ ])
+
+ eval "$ac_cv_path_pam"
+
+ fi
+
+ if test "$no_pam" = yes; then
+   AC_MSG_RESULT(no)
+ else
+   AC_DEFINE(HAVE_PAM, 1, [Defines if you have PAM (Pluggable Authentication Modules); Redhat-Users!])
+   PAMLIBS="$ac_pam_libs"
+   test "x$pam_includes" = xNONE && pam_includes=$ac_pam_includes
+   test "x$pam_libraries" = xNONE && pam_libraries=$ac_pam_libraries
+   AC_MSG_RESULT([libraries $pam_libraries, headers $pam_includes])
+ if test "$default_pam" = yes; then
+   AC_MSG_RESULT(["default pam service name will be used"])
+ else
+   AC_DEFINE_UNQUOTED(KDE_PAM_SERVICE,"$pam_service", [Define to change the default name of the PAM service used by KDE])
+   AC_MSG_RESULT(["pam service name will be: " $pam_service])
+ fi
+dnl test whether struct pam_message is const (Linux) or not (Sun)
+   pam_appl_h="$ac_pam_includes/security/pam_appl.h"
+   AC_MSG_CHECKING(for const pam_message)
+   AC_EGREP_HEADER([struct pam_message],
+      $pam_appl_h,
+      [ AC_EGREP_HEADER([const struct pam_message],
+                        $pam_appl_h,
+                        [AC_MSG_RESULT(["const: Linux-type PAM"]) ],
+                        [AC_MSG_RESULT(["nonconst: Sun-type PAM"])
+                        AC_DEFINE(PAM_MESSAGE_NONCONST, 1, [Define if your PAM support takes non-const arguments (Solaris)])]
+                        )],
+       [AC_MSG_RESULT(["not found - assume const, Linux-type PAM"])]
+       )
+ fi
+
+ if test "x$pam_libraries" != x && test "x$pam_libraries" != xNONE ; then
+     PAMLIBPATHS="-L$pam_libraries"
+ fi
+ if test "x$pam_includes" != x && test "x$pam_includes" != xNONE ; then
+     PAMINC="-I$pam_includes"
+ fi
+
+ AC_SUBST(PAMINC)
+ AC_SUBST(PAMLIBS)
+ AC_SUBST(PAMLIBPATHS)
+
+])
+
+AC_DEFUN(KDE_CHECK_LIBDL,
+[
+AC_CHECK_LIB(dl, dlopen, [
+LIBDL="-ldl"
+ac_cv_have_dlfcn=yes
+])
+
+AC_CHECK_LIB(dld, shl_unload, [
+LIBDL="-ldld"
+ac_cv_have_shload=yes
+])
+
+AC_SUBST(LIBDL)
+])
+
+AC_DEFUN(KDE_CHECK_DLOPEN,
+[
+KDE_CHECK_LIBDL
+AC_CHECK_HEADERS(dlfcn.h dl.h)
+if test "$ac_cv_header_dlfcn_h" = "no"; then
+  ac_cv_have_dlfcn=no
+fi
+
+if test "$ac_cv_header_dl_h" = "no"; then
+  ac_cv_have_shload=no
+fi
+
+dnl XXX why change enable_dlopen? its already set by autoconf's AC_ARG_ENABLE
+dnl (MM)
+AC_ARG_ENABLE(dlopen,
+[  --disable-dlopen        link statically [default=no]] ,
+enable_dlopen=$enableval,
+enable_dlopen=yes)
+
+# override the user's opinion, if we know it better ;)
+if test "$ac_cv_have_dlfcn" = "no" && test "$ac_cv_have_shload" = "no"; then
+  enable_dlopen=no
+fi
+
+if test "$ac_cv_have_dlfcn" = "yes"; then
+  AC_DEFINE_UNQUOTED(HAVE_DLFCN, 1, [Define if you have dlfcn])
+fi
+
+if test "$ac_cv_have_shload" = "yes"; then
+  AC_DEFINE_UNQUOTED(HAVE_SHLOAD, 1, [Define if you have shload])
+fi
+
+if test "$enable_dlopen" = no ; then
+  test -n "$1" && eval $1
+else
+  test -n "$2" && eval $2
+fi
+
+])
+
+AC_DEFUN(KDE_CHECK_DYNAMIC_LOADING,
+[
+KDE_CHECK_DLOPEN(libtool_enable_shared=yes, libtool_enable_static=no)
+KDE_PROG_LIBTOOL
+AC_MSG_CHECKING([dynamic loading])
+eval "`egrep '^build_libtool_libs=' libtool`"
+if test "$build_libtool_libs" = "yes" && test "$enable_dlopen" = "yes"; then
+  dynamic_loading=yes
+  AC_DEFINE_UNQUOTED(HAVE_DYNAMIC_LOADING)
+else
+  dynamic_loading=no
+fi
+AC_MSG_RESULT($dynamic_loading)
+if test "$dynamic_loading" = "yes"; then
+  $1
+else
+  $2
+fi
+])
+
+AC_DEFUN(KDE_ADD_INCLUDES,
+[
+if test -z "$1"; then
+  test_include="Pix.h"
+else
+  test_include="$1"
+fi
+
+AC_MSG_CHECKING([for libg++ ($test_include)])
+
+AC_CACHE_VAL(kde_cv_libgpp_includes,
+[
+kde_cv_libgpp_includes=no
+
+   for ac_dir in               \
+                               \
+     /usr/include/g++          \
+     /usr/include              \
+     /usr/unsupported/include  \
+     /opt/include              \
+     $extra_include            \
+     ; \
+   do
+     if test -r "$ac_dir/$test_include"; then
+       kde_cv_libgpp_includes=$ac_dir
+       break
+     fi
+   done
+])
+
+AC_MSG_RESULT($kde_cv_libgpp_includes)
+if test "$kde_cv_libgpp_includes" != "no"; then
+  all_includes="-I$kde_cv_libgpp_includes $all_includes $USER_INCLUDES"
+fi
+])
+])
+
+
+AC_DEFUN(KDE_CHECK_MICO,
+[
+AC_REQUIRE([KDE_CHECK_LIBDL])
+AC_REQUIRE([KDE_MISC_TESTS])
+AC_MSG_CHECKING(for MICO)
+
+if test -z "$MICODIR"; then
+    kde_micodir=/usr/local
+ else
+    kde_micodir="$MICODIR"
+fi
+
+AC_ARG_WITH(micodir,
+  [  --with-micodir=micodir  where mico is installed ],
+  kde_micodir=$withval,
+  kde_micodir=$kde_micodir
+)
+
+AC_CACHE_VAL(kde_cv_mico_incdir,
+[
+  mico_incdirs="$kde_micodir/include /usr/include /usr/local/include /usr/local/include /opt/local/include $kde_extra_includes"
+AC_FIND_FILE(CORBA.h, $mico_incdirs, kde_cv_mico_incdir)
+
+])
+kde_micodir=`echo $kde_cv_mico_incdir | sed -e 's#/include##'`
+
+if test ! -r  $kde_micodir/include/CORBA.h; then
+  AC_MSG_ERROR([No CORBA.h found, specify another micodir])
+fi
+
+AC_MSG_RESULT($kde_micodir)
+
+MICO_INCLUDES=-I$kde_micodir/include
+AC_SUBST(MICO_INCLUDES)
+MICO_LDFLAGS=-L$kde_micodir/lib
+AC_SUBST(MICO_LDFLAGS)
+micodir=$kde_micodir
+AC_SUBST(micodir)
+
+AC_MSG_CHECKING([for MICO version])
+AC_CACHE_VAL(kde_cv_mico_version,
+[
+AC_LANG_C
+cat >conftest.$ac_ext <<EOF
+#include <stdio.h>
+#include <mico/version.h>
+int main() {
+
+   printf("MICO_VERSION=%s\n",MICO_VERSION);
+   return (0);
+}
+EOF
+ac_compile='${CC-gcc} $CFLAGS $MICO_INCLUDES conftest.$ac_ext -o conftest'
+if AC_TRY_EVAL(ac_compile); then
+  if eval `./conftest 2>&5`; then
+    kde_cv_mico_version=$MICO_VERSION
+  else
+    AC_MSG_ERROR([your system is not able to execute a small application to
+    find MICO version! Check $kde_micodir/include/mico/version.h])
+  fi
+else
+  AC_MSG_ERROR([your system is not able to compile a small application to
+  find MICO version! Check $kde_micodir/include/mico/version.h])
+fi
+])
+
+dnl installed MICO version
+mico_v_maj=`echo $kde_cv_mico_version | sed -e 's/^\(.*\)\..*\..*$/\1/'`
+mico_v_mid=`echo $kde_cv_mico_version | sed -e 's/^.*\.\(.*\)\..*$/\1/'`
+mico_v_min=`echo $kde_cv_mico_version | sed -e 's/^.*\..*\.\(.*\)$/\1/'`
+
+if test "x$1" = "x"; then
+ req_version="2.3.0"
+else
+ req_version=$1
+fi
+
+dnl required MICO version
+req_v_maj=`echo $req_version | sed -e 's/^\(.*\)\..*\..*$/\1/'`
+req_v_mid=`echo $req_version | sed -e 's/^.*\.\(.*\)\..*$/\1/'`
+req_v_min=`echo $req_version | sed -e 's/^.*\..*\.\(.*\)$/\1/'`
+
+if test "$mico_v_maj" -lt "$req_v_maj" || \
+   ( test "$mico_v_maj" -eq "$req_v_maj" && \
+        test "$mico_v_mid" -lt "$req_v_mid" ) || \
+   ( test "$mico_v_mid" -eq "$req_v_mid" && \
+        test "$mico_v_min" -lt "$req_v_min" )
+
+then
+  AC_MSG_ERROR([found MICO version $kde_cv_mico_version but version $req_version \
+at least is required. You should upgrade MICO.])
+else
+  AC_MSG_RESULT([$kde_cv_mico_version (minimum version $req_version, ok)])
+fi
+
+LIBMICO="-lmico$kde_cv_mico_version $LIBCRYPT $LIBSOCKET $LIBDL"
+AC_SUBST(LIBMICO)
+if test -z "$IDL"; then
+  IDL='$(kde_bindir)/cuteidl'
+fi
+AC_SUBST(IDL)
+IDL_DEPENDENCIES='$(kde_includes)/CUTE.h'
+AC_SUBST(IDL_DEPENDENCIES)
+
+idldir="\$(includedir)/idl"
+AC_SUBST(idldir)
+
+])
+
+AC_DEFUN(KDE_CHECK_MINI_STL,
+[
+AC_REQUIRE([KDE_CHECK_MICO])
+
+AC_MSG_CHECKING(if we use mico's mini-STL)
+AC_CACHE_VAL(kde_cv_have_mini_stl,
+[
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+kde_save_cxxflags="$CXXFLAGS"
+CXXFLAGS="$CXXFLAGS $MICO_INCLUDES"
+AC_TRY_COMPILE(
+[
+#include <mico/config.h>
+],
+[
+#ifdef HAVE_MINI_STL
+#error "nothing"
+#endif
+],
+kde_cv_have_mini_stl=no,
+kde_cv_have_mini_stl=yes)
+CXXFLAGS="$kde_save_cxxflags"
+AC_LANG_RESTORE
+])
+
+if test "x$kde_cv_have_mini_stl" = "xyes"; then
+   AC_MSG_RESULT(yes)
+   $1
+else
+   AC_MSG_RESULT(no)
+   $2
+fi
+])
+
+])
+
+
+AC_DEFUN(KDE_CHECK_LIBPTHREAD,
+[
+AC_CHECK_LIB(pthread, pthread_create, [LIBPTHREAD="-lpthread"] )
+AC_SUBST(LIBPTHREAD)
+])
+
+AC_DEFUN(KDE_CHECK_PTHREAD_OPTION,
+[
+    AC_ARG_ENABLE(kernel-threads, [  --enable-kernel-threads Enable the use of the LinuxThreads port on FreeBSD/i386 only.],
+	kde_use_kernthreads=$enableval, kde_use_kernthreads=no)
+
+    if test "$kde_use_kernthreads" = "yes"; then
+      ac_save_CXXFLAGS="$CXXFLAGS"
+      ac_save_CFLAGS="$CXXFLAGS"
+      CXXFLAGS="-I/usr/local/include/pthread/linuxthreads $CXXFLAGS"
+      CFLAGS="-I/usr/local/include/pthread/linuxthreads $CFLAGS"
+      AC_CHECK_HEADERS(pthread/linuxthreads/pthread.h)
+      CXXFLAGS="$ac_save_CXXFLAGS"
+      CFLAGS="$ac_save_CFLAGS"
+      if test "$ac_cv_header_pthread_linuxthreads_pthread_h" = "no"; then
+        kde_use_kernthreads=no
+      else
+        dnl Add proper -I and -l statements
+        AC_CHECK_LIB(lthread, pthread_join, [LIBPTHREAD="-llthread -llgcc_r"]) dnl for FreeBSD
+        if test "x$LIBPTHREAD" = "x"; then
+          kde_use_kernthreads=no
+        else
+          USE_THREADS="-D_THREAD_SAFE -I/usr/local/include/pthread/linuxthreads"
+        fi
+      fi
+    else 
+      USE_THREADS=""
+      if test -z "$LIBPTHREAD"; then
+        KDE_CHECK_COMPILER_FLAG(pthread, [USE_THREADS="-pthread"] )
+      fi
+    fi
+
+    case $host_os in
+ 	solaris*)
+		KDE_CHECK_COMPILER_FLAG(mt, [USE_THREADS="-mt"])
+                CPPFLAGS="$CPPFLAGS -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -DUSE_SOLARIS"
+                echo "Setting Solaris pthread compilation options"
+    		;;
+        freebsd*)
+                CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE"
+                echo "Setting FreeBSD pthread compilation options"
+                ;;
+        aix*)
+                CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE"
+                LIBPTHREAD="$LIBPTHREAD -lc_r"
+                echo "Setting AIX pthread compilation options"
+                ;;
+        linux*) CPPFLAGS="$CPPFLAGS -D_REENTRANT"
+                USE_THREADS="$USE_THREADS -DPIC -fPIC"
+                echo "Setting Linux pthread compilation options"
+                ;;
+	*)
+		;;
+    esac
+    AC_SUBST(USE_THREADS)
+    AC_SUBST(LIBPTHREAD)
+])
+
+AC_DEFUN(KDE_CHECK_THREADING,
+[
+  AC_REQUIRE([KDE_CHECK_LIBPTHREAD])
+  AC_REQUIRE([KDE_CHECK_PTHREAD_OPTION])
+  dnl default is yes if libpthread is found and no if no libpthread is available
+  if test -z "$LIBPTHREAD"; then
+    kde_check_threading_default=no
+  else
+    kde_check_threading_default=yes
+  fi
+  AC_ARG_ENABLE(threading, [  --disable-threading     disables threading even if libpthread found ],
+   kde_use_threading=$enableval, kde_use_threading=$kde_check_threading_default)
+
+  if test "x$kde_use_threading" = "xyes"; then
+    AC_DEFINE(HAVE_LIBPTHREAD, 1, [Define if you have a working libpthread (will enable threaded code)])
+  fi
+])
+
+AC_DEFUN(KDE_TRY_LINK_PYTHON,
+[
+if test "$kde_python_link_found" = no; then
+
+if test "$1" = normal; then
+  AC_MSG_CHECKING(if a Python application links)
+else
+  AC_MSG_CHECKING(if Python depends on $2)
+fi
+
+AC_CACHE_VAL(kde_cv_try_link_python_$1,
+[
+AC_LANG_SAVE
+AC_LANG_C
+kde_save_cflags="$CFLAGS"
+CFLAGS="$CFLAGS $PYTHONINC"
+kde_save_libs="$LIBS"
+LIBS="$LIBS $LIBPYTHON $2 $LIBDL $LIBSOCKET"
+kde_save_ldflags="$LDFLAGS"
+LDFLAGS="$LDFLAGS $PYTHONLIB"
+
+AC_TRY_LINK(
+[
+#include <Python.h>
+],[
+	PySys_SetArgv(1, 0);
+],
+	[kde_cv_try_link_python_$1=yes],
+	[kde_cv_try_link_python_$1=no]
+)
+CFLAGS="$kde_save_cflags"
+LIBS="$kde_save_libs"
+LDFLAGS="$kde_save_ldflags"
+])
+
+if test "$kde_cv_try_link_python_$1" = "yes"; then
+  AC_MSG_RESULT(yes)
+  kde_python_link_found=yes
+  if test ! "$1" = normal; then
+    LIBPYTHON="$LIBPYTHON $2"
+  fi
+  $3
+else
+  AC_MSG_RESULT(no)
+  $4
+fi
+AC_LANG_RESTORE
+
+fi
+
+])
+
+AC_DEFUN(KDE_CHECK_PYTHON,
+[
+AC_REQUIRE([KDE_CHECK_LIBDL])
+AC_REQUIRE([KDE_CHECK_LIBPTHREAD])
+
+AC_MSG_CHECKING([for Python directory])
+
+AC_CACHE_VAL(kde_cv_pythondir,
+[
+  if test -z "$PYTHONDIR"; then
+    kde_cv_pythondir=/usr/local
+  else
+    kde_cv_pythondir="$PYTHONDIR"
+  fi
+])
+
+AC_ARG_WITH(pythondir,
+[  --with-pythondir=pythondir   use python installed in pythondir ],
+[
+  ac_python_dir=$withval
+], ac_python_dir=$kde_cv_pythondir
+)
+
+AC_MSG_RESULT($ac_python_dir)
+
+if test -z "$1"; then
+  version="1.5"
+else
+  version="$1"
+fi
+
+AC_MSG_CHECKING([for Python$version])
+
+python_incdirs="$ac_python_dir/include /usr/include /usr/local/include/ $kde_extra_includes"
+AC_FIND_FILE(Python.h, $python_incdirs, python_incdir)
+if test ! -r $python_incdir/Python.h; then
+  AC_FIND_FILE(python$version/Python.h, $python_incdirs, python_incdir)
+  python_incdir=$python_incdir/python$version
+  if test ! -r $python_incdir/Python.h; then
+    AC_MSG_ERROR(Python.h not found.)
+  fi
+fi
+
+PYTHONINC=-I$python_incdir
+
+python_libdirs="$ac_python_dir/lib /usr/lib /usr/local /usr/lib $kde_extra_libs"
+AC_FIND_FILE(libpython$version.a, $python_libdirs, python_libdir)
+if test ! -r $python_libdir/libpython$version.a; then
+  AC_FIND_FILE(python$version/config/libpython$version.a, $python_libdirs, python_libdir)
+  python_libdir=$python_libdir/python$version/config
+  if test ! -r $python_libdir/libpython$version.a; then
+    AC_MSG_ERROR(libpython$version.a not found.)
+  fi
+fi
+
+PYTHONLIB=-L$python_libdir
+if test -z "$LIBPYTHON"; then
+LIBPYTHON=-lpython$version
+fi
+
+python_libdirs="$ac_python_dir/lib /usr/lib /usr/local /usr/lib $kde_extra_libs"
+AC_FIND_FILE(python$version/copy.py, $python_libdirs, python_moddir)
+python_moddir=$python_moddir/python$version
+if test ! -r $python_moddir/copy.py; then
+  AC_MSG_ERROR(python module directory not found.)
+fi
+
+PYTHONMODDIR=$python_moddir
+
+AC_MSG_RESULT(header $python_incdir library $python_libdir modules $python_moddir)
+
+dnl Note: this test is very weak
+kde_python_link_found=no
+KDE_TRY_LINK_PYTHON(normal)
+KDE_TRY_LINK_PYTHON(m, -lm)
+KDE_TRY_LINK_PYTHON(pthread, $LIBPTHREAD)
+KDE_TRY_LINK_PYTHON(tcl, -ltcl)
+KDE_TRY_LINK_PYTHON(m_and_thread, [$LIBPTHREAD -lm], [],
+	[AC_MSG_WARN([it seems, Python depends on another library.
+    Pleae use \"make LIBPTYHON='-lpython$version -lotherlib'\" to fix this
+    and contact the authors to let them know about this problem])
+	])
+
+LIBPYTHON="$LIBPYTHON $LIBDL $LIBSOCKET"
+AC_SUBST(PYTHONINC)
+AC_SUBST(PYTHONLIB)
+AC_SUBST(LIBPYTHON)
+AC_SUBST(PYTHONMODDIR)
+
+])
+
+
+AC_DEFUN(KDE_CHECK_STL_SGI,
+[
+    AC_MSG_CHECKING([if STL implementation is SGI like])
+    AC_CACHE_VAL(kde_cv_stl_type_sgi,
+    [
+      AC_TRY_COMPILE([
+#include <string>
+using namespace std;
+],[
+  string astring="Hallo Welt.";
+  astring.erase(0, 6); // now astring is "Welt"
+  return 0;
+], kde_cv_stl_type_sgi=yes,
+   kde_cv_stl_type_sgi=no)
+])
+
+   AC_MSG_RESULT($kde_cv_stl_type_sgi)
+
+   if test "$kde_cv_stl_type_sgi" = "yes"; then
+	AC_DEFINE_UNQUOTED(HAVE_SGI_STL, 1, [Define if you have a STL implementation by SGI])
+   fi
+])
+
+AC_DEFUN(KDE_CHECK_STL_HP,
+[
+    AC_MSG_CHECKING([if STL implementation is HP like])
+    AC_CACHE_VAL(kde_cv_stl_type_hp,
+    [
+      AC_TRY_COMPILE([
+#include <string>
+using namespace std;
+],[
+  string astring="Hello World";
+  astring.remove(0, 6); // now astring is "World"
+  return 0;
+], kde_cv_stl_type_hp=yes,
+   kde_cv_stl_type_hp=no)
+])
+   AC_MSG_RESULT($kde_cv_stl_type_hp)
+
+   if test "$kde_cv_stl_type_hp" = "yes"; then
+	AC_DEFINE_UNQUOTED(HAVE_HP_STL, 1, [Define if you have a STL implementation by SGI])
+   fi
+])
+
+AC_DEFUN(KDE_CHECK_STL,
+[
+    AC_LANG_SAVE
+    AC_LANG_CPLUSPLUS
+    ac_save_CXXFLAGS="$CXXFLAGS"
+    CXXFLAGS="`echo $CXXFLAGS | sed s/-fno-exceptions//`"
+    KDE_CHECK_STL_SGI
+
+    if test "$kde_cv_stl_type_sgi" = "no"; then
+       KDE_CHECK_STL_HP
+
+       if test "$kde_cv_stl_type_hp" = "no"; then
+         AC_MSG_ERROR("no known STL type found")
+       fi
+    fi
+
+    CXXFLAGS="$ac_save_CXXFLAGS"
+    AC_LANG_RESTORE
+])
+
+AC_DEFUN(AC_FIND_QIMGIO,
+   [AC_REQUIRE([AC_FIND_JPEG])
+AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
+AC_MSG_CHECKING([for qimgio])
+AC_CACHE_VAL(ac_cv_lib_qimgio,
+[
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+ac_save_LIBS="$LIBS"
+ac_save_CXXFLAGS="$CXXFLAGS"
+LIBS="$all_libraries -lqimgio -lpng -lz $LIBJPEG $LIBQT"
+CXXFLAGS="$CXXFLAGS -I$qt_incdir $all_includes"
+AC_TRY_RUN(dnl
+[
+#include <qimageio.h>
+#include <qstring.h>
+int main() {
+		QString t = "hallo";
+		t.fill('t');
+		qInitImageIO();
+}
+],
+            ac_cv_lib_qimgio=yes,
+            ac_cv_lib_qimgio=no,
+	    ac_cv_lib_qimgio=no)
+LIBS="$ac_save_LIBS"
+CXXFLAGS="$ac_save_CXXFLAGS"
+AC_LANG_RESTORE
+])dnl
+if eval "test \"`echo $ac_cv_lib_qimgio`\" = yes"; then
+  LIBQIMGIO="-lqimgio -lpng -lz $LIBJPEG"
+  AC_MSG_RESULT(yes)
+  AC_DEFINE_UNQUOTED(HAVE_QIMGIO, 1, [Define if you have the Qt extension qimgio available])
+  AC_SUBST(LIBQIMGIO)
+else
+  AC_MSG_RESULT(not found)
+fi
+])
+
+AC_DEFUN(KDE_CHECK_ANSI,
+[
+])
+
+AC_DEFUN(KDE_CHECK_INSURE,
+[
+  AC_ARG_ENABLE(insure, [  --enable-insure             use insure++ for debugging [default=no]],
+  [
+  if test $enableval = "no"; dnl
+	then ac_use_insure="no"
+	else ac_use_insure="yes"
+   fi
+  ], [ac_use_insure="no"])
+
+  AC_MSG_CHECKING(if we will use Insure++ to debug)
+  AC_MSG_RESULT($ac_use_insure)
+  if test "$ac_use_insure" = "yes"; dnl
+       then CC="insure"; CXX="insure"; dnl CFLAGS="$CLAGS -fno-rtti -fno-exceptions "????
+   fi
+])
+
+AC_DEFUN(AM_DISABLE_LIBRARIES,
+[
+    AC_PROVIDE([AM_ENABLE_STATIC])
+    AC_PROVIDE([AM_ENABLE_SHARED])
+    enable_static=no
+    enable_shared=yes
+])
+
+
+AC_DEFUN(AC_CHECK_UTMP_FILE,
+[
+    AC_MSG_CHECKING([for utmp file])
+
+    AC_CACHE_VAL(kde_cv_utmp_file,
+    [
+    kde_cv_utmp_file=no
+
+    for ac_file in    \
+                      \
+	/var/run/utmp \
+	/var/adm/utmp \
+	/etc/utmp     \
+     ; \
+    do
+     if test -r "$ac_file"; then
+       kde_cv_utmp_file=$ac_file
+       break
+     fi
+    done
+    ])
+
+    if test "$kde_cv_utmp_file" != "no"; then
+	AC_DEFINE_UNQUOTED(UTMP, "$kde_cv_utmp_file", [Define the file for utmp entries])
+	$1
+	AC_MSG_RESULT($kde_cv_utmp_file)
+    else
+    	$2
+	AC_MSG_RESULT([non found])
+    fi
+])
+
+
+AC_DEFUN(KDE_CREATE_SUBDIRSLIST,
+[
+
+DO_NOT_COMPILE="$DO_NOT_COMPILE CVS debian bsd-port admin"
+
+if test ! -s $srcdir/subdirs; then
+  dnl Note: Makefile.common creates subdirs, so this is just a fallback
+  TOPSUBDIRS=""
+  files=`cd $srcdir && ls -1`
+  dirs=`for i in $files; do if test -d $i; then echo $i; fi; done`
+  for i in $dirs; do
+    echo $i >> $srcdir/subdirs
+  done
+fi
+
+if test -s $srcdir/inst-apps; then
+  ac_topsubdirs="`cat $srcdir/inst-apps`"
+else
+  ac_topsubdirs="`cat $srcdir/subdirs`"
+fi
+
+for i in $ac_topsubdirs; do
+  AC_MSG_CHECKING([if $i should be compiled])
+  if test -d $srcdir/$i; then
+    install_it="yes"
+    for j in $DO_NOT_COMPILE; do
+      if test $i = $j; then
+        install_it="no"
+      fi
+    done
+  else
+    install_it="no"
+  fi
+  AC_MSG_RESULT($install_it)
+  if test $install_it = "yes"; then
+    TOPSUBDIRS="$TOPSUBDIRS $i"
+  fi
+done
+
+AC_SUBST(TOPSUBDIRS)
+])
+
+AC_DEFUN(KDE_CHECK_NAMESPACES,
+[
+AC_MSG_CHECKING(whether C++ compiler supports namespaces)
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+AC_TRY_COMPILE([
+],
+[
+namespace Foo {
+  extern int i;
+  namespace Bar {
+    extern int i;
+  }
+}
+
+int Foo::i = 0;
+int Foo::Bar::i = 1;
+],[
+  AC_MSG_RESULT(yes)
+  AC_DEFINE(HAVE_NAMESPACES)
+], [
+AC_MSG_RESULT(no)
+])
+AC_LANG_RESTORE
+])
+
+AC_DEFUN(KDE_CHECK_NEWLIBS,
+[
+
+])
+
+dnl ------------------------------------------------------------------------
+dnl Check for S_ISSOCK macro. Doesn't exist on Unix SCO. faure at kde.org
+dnl ------------------------------------------------------------------------
+dnl
+AC_DEFUN(AC_CHECK_S_ISSOCK,
+[
+AC_MSG_CHECKING(for S_ISSOCK)
+AC_CACHE_VAL(ac_cv_have_s_issock,
+[
+AC_LANG_SAVE
+AC_LANG_C
+AC_TRY_LINK(
+[
+#include <sys/stat.h>
+],
+[
+struct stat buff;
+int b = S_ISSOCK( buff.st_mode );
+],
+ac_cv_have_s_issock=yes,
+ac_cv_have_s_issock=no)
+AC_LANG_RESTORE
+])
+AC_MSG_RESULT($ac_cv_have_s_issock)
+if test "$ac_cv_have_s_issock" = "yes"; then
+  AC_DEFINE_UNQUOTED(HAVE_S_ISSOCK, 1, [Define if sys/stat.h declares S_ISSOCK.])
+fi
+])
+
+dnl ------------------------------------------------------------------------
+dnl Check for MAXPATHLEN macro, defines KDEMAXPATHLEN. faure at kde.org
+dnl ------------------------------------------------------------------------
+dnl
+AC_DEFUN(AC_CHECK_KDEMAXPATHLEN,
+[
+AC_MSG_CHECKING(for MAXPATHLEN)
+AC_CACHE_VAL(ac_cv_maxpathlen,
+[
+AC_LANG_C
+cat > conftest.$ac_ext <<EOF
+#include <stdio.h>
+#include <sys/param.h>
+#ifndef MAXPATHLEN
+#define MAXPATHLEN 1024
+#endif
+
+KDE_HELLO MAXPATHLEN
+
+EOF
+
+ac_try="$ac_cpp conftest.$ac_ext 2>/dev/null | grep '^KDE_HELLO' >conftest.out"
+
+if AC_TRY_EVAL(ac_try) && test -s conftest.out; then
+    ac_cv_maxpathlen=`sed 's#KDE_HELLO ##' conftest.out`
+else
+    ac_cv_maxpathlen=1024
+fi
+
+rm conftest.*
+
+])
+AC_MSG_RESULT($ac_cv_maxpathlen)
+AC_DEFINE_UNQUOTED(KDEMAXPATHLEN,$ac_cv_maxpathlen, [Define a safe value for MAXPATHLEN] )
+])
+
+dnl -------------------------------------------------------------------------
+dnl See if the compiler supports a template repository         bero at redhat.de
+dnl -------------------------------------------------------------------------
+AC_DEFUN(KDE_COMPILER_REPO,
+[
+  REPO=""
+  NOREPO=""
+
+  KDE_CHECK_COMPILER_FLAG(frepo,
+   [
+     REPO="-frepo"
+     NOREPO="-fno-repo"
+   ])
+
+  if test -z "$REPO"; then
+  KDE_CHECK_COMPILER_FLAG(instances=explicit,
+  [
+     REPO="-instances=explicit"
+     NOREPO="-instances=extern"
+  ])
+  fi
+
+  if test -n "$REPO"; then
+     AC_DEFINE_UNQUOTED(HAVE_TEMPLATE_REPOSITORY, 1,
+		[C++ compiler supports template repository])
+     $1
+  fi
+
+  AC_SUBST(REPO)
+  AC_SUBST(NOREPO)
+])
+
+AC_DEFUN(KDE_CHECK_HEADER,
+[
+   AC_LANG_SAVE
+   kde_safe_cppflags=$CPPFLAGS
+   CPPFLAGS="$CPPFLAGS $all_includes"
+   AC_LANG_CPLUSPLUS
+   AC_CHECK_HEADER($1, $2, $3)
+   CPPFLAGS=$kde_safe_cppflags
+   AC_LANG_RESTORE
+])
+
+AC_DEFUN(KDE_CHECK_QWSPRITEFIELD,
+[
+  KDE_CHECK_HEADER(QwSpriteField.h, ,
+  [
+    AC_MSG_WARN([you don't have QwSpriteField.h somewhere. Please install
+       QwSpriteField out of kdesupport.])
+      $1
+  ])
+])
+
+AC_DEFUN(KDE_FAST_CONFIGURE,
+[
+  dnl makes configure fast (needs perl)
+  AC_ARG_ENABLE(fast-perl, [  --disable-fast-perl     disable fast Makefile generation (needs perl)],
+      with_fast_perl=$enableval, with_fast_perl=yes)
+])
+
+AC_DEFUN(KDE_CONF_FILES,
+[
+  val=
+  if test -f $srcdir/configure.files ; then
+    val=`sed -e 's%^%\$(top_srcdir)/%' $srcdir/configure.files`
+  fi
+  CONF_FILES=
+  if test -n "$val" ; then
+    for i in $val ; do
+      CONF_FILES="$CONF_FILES $i"
+    done
+  fi
+  AC_SUBST(CONF_FILES)
+])dnl
+
+AC_DEFUN(KDE_SET_PREFIX,
+[
+  unset CDPATH
+  dnl make $KDEDIR the default for the installation
+  AC_PREFIX_DEFAULT(${KDEDIR:-/usr/local/kde})
+
+  if test "x$prefix" = "xNONE"; then
+    prefix=$ac_default_prefix
+    ac_configure_args="$ac_configure_args --prefix $prefix"
+  fi
+  KDE_FAST_CONFIGURE
+  KDE_CONF_FILES
+])
+
+pushdef([AC_PROG_INSTALL],
+[
+  dnl our own version, testing for a -p flag
+  popdef([AC_PROG_INSTALL])
+  dnl as AC_PROG_INSTALL works as it works we first have
+  dnl to save if the user didn't specify INSTALL, as the
+  dnl autoconf one overwrites INSTALL and we have no chance to find
+  dnl out afterwards
+  test -n "$INSTALL" && kde_save_INSTALL_given=$INSTALL
+  test -n "$INSTALL_PROGRAM" && kde_save_INSTALL_PROGRAM_given=$INSTALL_PROGRAM
+  test -n "$INSTALL_SCRIPT" && kde_save_INSTALL_SCRIPT_given=$INSTALL_SCRIPT
+  AC_PROG_INSTALL
+
+  if test -z "$kde_save_INSTALL_given" ; then
+    # OK, user hasn't given any INSTALL, autoconf found one for us
+    # now we test, if it supports the -p flag
+    AC_MSG_CHECKING(for -p flag to install)
+    rm -f confinst.$$.* > /dev/null 2>&1
+    echo "Testtest" > confinst.$$.orig
+    ac_res=no
+    if ${INSTALL} -p confinst.$$.orig confinst.$$.new > /dev/null 2>&1 ; then
+      if test -f confinst.$$.new ; then
+        # OK, -p seems to do no harm to install
+	INSTALL="${INSTALL} -p"
+	ac_res=yes
+      fi
+    fi
+    rm -f confinst.$$.*
+    AC_MSG_RESULT($ac_res)
+  fi
+  dnl the following tries to resolve some signs and wonders coming up
+  dnl with different autoconf/automake versions
+  dnl e.g.:
+  dnl  *automake 1.4 install-strip sets A_M_INSTALL_PROGRAM_FLAGS to -s
+  dnl   and has INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(A_M_INSTALL_PROGRAM_FLAGS)
+  dnl   it header-vars.am, so there the actual INSTALL_PROGRAM gets the -s
+  dnl  *automake 1.4a (and above) use INSTALL_STRIP_FLAG and only has
+  dnl   INSTALL_PROGRAM = @INSTALL_PROGRAM@ there, but changes the
+  dnl   install- at DIR@PROGRAMS targets to explicitly use that flag
+  dnl  *autoconf 2.13 is dumb, and thinks it can use INSTALL_PROGRAM as
+  dnl   INSTALL_SCRIPT, which breaks with automake <= 1.4
+  dnl  *autoconf >2.13 (since 10.Apr 1999) has not that failure
+  dnl  *sometimes KDE does not use the install- at DIR@PROGRAM targets from
+  dnl   automake (due to broken Makefile.am or whatever) to install programs,
+  dnl   and so does not see the -s flag in automake > 1.4
+  dnl to clean up that mess we:
+  dnl  +set INSTALL_PROGRAM to use INSTALL_STRIP_FLAG
+  dnl   which cleans KDE's program with automake > 1.4;
+  dnl  +set INSTALL_SCRIPT to only use INSTALL, to clean up autoconf's problems
+  dnl   with automake<=1.4
+  dnl  note that dues to this sometimes two '-s' flags are used (if KDE
+  dnl   properly uses install- at DIR@PROGRAMS, but I don't care
+  dnl
+  dnl And to all this comes, that I even can't write in comments variable
+  dnl  names used by automake, because it is so stupid to think I wanted to
+  dnl  _use_ them, therefor I have written A_M_... instead of AM_
+  dnl hmm, I wanted to say something ... ahh yes: Arghhh.
+
+  if test -z "$kde_save_INSTALL_PROGRAM_given" ; then
+    INSTALL_PROGRAM='${INSTALL} $(INSTALL_STRIP_FLAG)'
+  fi
+  if test -z "$kde_save_INSTALL_SCRIPT_given" ; then
+    INSTALL_SCRIPT='${INSTALL}'
+  fi
+])dnl
+
+AC_DEFUN(KDE_LANG_CPLUSPLUS,
+[AC_LANG_CPLUSPLUS
+ac_link='rm -rf SunWS_cache; ${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&AC_FD_CC'
+pushdef([AC_LANG_CPLUSPLUS], [popdef([AC_LANG_CPLUSPLUS]) KDE_LANG_CPLUSPLUS])
+])
+
+pushdef([AC_LANG_CPLUSPLUS],
+[popdef([AC_LANG_CPLUSPLUS])
+KDE_LANG_CPLUSPLUS
+])
+
+AC_DEFUN(KDE_CHECK_LONG_LONG,
+[
+AC_MSG_CHECKING(for long long)
+AC_CACHE_VAL(kde_cv_c_long_long,
+[
+  AC_LANG_SAVE
+  AC_LANG_CPLUSPLUS
+  AC_TRY_LINK([], [
+  long long foo = 0;
+  foo = foo+1;
+  ],
+  kde_cv_c_long_long=yes, kde_cv_c_long_long=no)
+])
+AC_MSG_RESULT($kde_cv_c_long_long)
+if test "$kde_cv_c_long_long" = yes; then
+   AC_DEFINE(HAVE_LONG_LONG, 1, [Define if you have long long as datatype])
+fi
+])
+
diff --git a/admin/am_edit b/admin/am_edit
new file mode 100644
index 0000000..be2d0f8
--- /dev/null
+++ b/admin/am_edit
@@ -0,0 +1,1939 @@
+#!/usr/bin/perl
+
+# Expands the specilised KDE tags in Makefile.in to (hopefully) valid
+# make syntax.
+# When called without file parameters, we work recursively on all Makefile.in
+# in and below the current subdirectory. When called with file parameters,
+# only those Makefile.in are changed.
+# The currently supported tags are
+#
+# {program}_METASOURCES
+# where you have a choice of two styles
+#   {program}_METASOURCES = name1.moc name2.moc ... [\]
+#   {program}_METASOURCES = AUTO
+#       The second style requires other tags as well.
+#
+# To install icons :
+#    KDE_ICON = iconname iconname2 ...
+#    KDE_ICON = AUTO
+#
+# For documentation :
+#    ...
+#
+# and more new tags TBD!
+#
+# The concept (and base code) for this program came from automoc,
+# supplied by the following
+#
+# Matthias Ettrich <ettrich\@kde.org>      (The originator)
+# Kalle Dalheimer <kalle\@kde.org>      (The original implementator)
+# Harri Porten  <porten at tu-harburg.de>
+# Alex Zepeda  <garbanzo at hooked.net>
+# David Faure <faure at kde.org>
+# Stephan Kulow <coolo at kde.org>
+#
+# I've puddled around with automoc and produced something different
+# 1999-02-01 John Birch <jb.nz at writeme.com>
+#       * Rewritten automoc to cater for more than just moc file expansion
+#         Version 0.01 does the same as automoc at this stage.
+# 1999-02-18 jb
+#       * We must always write a Makefile.in file out even if we fail
+#         because we need the "perl autokmake" in the AUTOMAKE so that a
+#         "make" will regenerate the Makefile.in correctly.
+#         Reworked moc file checking so that missing includes in cpp
+#         will work and includes in cpp when using use_automoc will also
+#         work.
+# 1999-02-23 jb
+#       * Added POFILE processing and changed the USE_AUTOMOC tag to
+#         AUTO instead.
+# ... See ChangeLog for more logs
+
+use Cwd;
+use File::Find;
+use File::Basename;
+
+# Prototype the functions
+sub initialise ();
+sub processMakefile ($);
+sub updateMakefile ();
+sub restoreMakefile ();
+
+sub removeLine ($$);
+sub appendLines ($);
+sub substituteLine ($$);
+
+sub findMocCandidates ();
+sub pruneMocCandidates ($);
+sub checkMocCandidates ();
+sub addMocRules ();
+
+sub tag_AUTOMAKE ();
+sub tag_META_INCLUDES ();
+sub tag_METASOURCES ();
+sub tag_POFILES ();
+sub tag_DOCFILES ();
+sub tag_LOCALINSTALL();
+sub tag_IDLFILES();
+sub tag_UIFILES();
+sub tag_TOPLEVEL();
+sub tag_SUBDIRS();
+sub tag_ICON();
+sub tag_CLOSURE();
+sub tag_DIST();
+
+# Some global globals...
+$verbose    = 0;        # a debug flag
+$thisProg   = "$0";     # This programs name
+$topdir     = cwd();    # The current directory
+ at makefiles  = ();       # Contains all the files we'll process
+ at foreignfiles = ();
+$start      = (times)[0]; # some stats for testing - comment out for release
+$version    = "v0.2";
+$errorflag  = 0;
+$cppExt     = "*.cpp *.cc *.cxx *.C *.c++";           # used by grep
+$hExt       = "*.h *.H *.hh *.hxx *.h++";             # used by grep
+$progId     = "KDE tags expanded automatically by " . basename($thisProg);
+$automkCall = "\n";
+$printname  = "";  # used to display the directory the Makefile is in
+$use_final  = 1;        # create code for --enable-final
+$cleantarget = "clean";
+$dryrun     = 0;
+$pathoption = 0;
+
+while (defined ($ARGV[0]))
+{
+    $_ = shift;
+    if (/^--version$/)
+    {
+        print STDOUT "\n";
+        print STDOUT basename($thisProg), " $version\n",
+                "This is really free software, unencumbered by the GPL.\n",
+                "You can do anything you like with it except sueing me.\n",
+                "Copyright 1998 Kalle Dalheimer <kalle\@kde.org>\n",
+                "Concept, design and unnecessary questions about perl\n",
+                "       by Matthias Ettrich <ettrich\@kde.org>\n\n",
+                "Making it useful by Stephan Kulow <coolo\@kde.org> and\n",
+                "Harri Porten <porten\@kde.org>\n",
+                "Updated (Feb-1999), John Birch <jb.nz\@writeme.com>\n",
+	        "Current Maintainer Stephan Kulow\n\n";
+        exit 0;
+    }
+    elsif (/^--verbose$|^-v$/)
+    {
+        $verbose = 1;       # Oh is there a problem...?
+    }
+    elsif (/^-p(.+)$|^--path=(.+)$/)
+    {
+        $thisProg = "$1/".basename($thisProg) if($1);
+        $thisProg = "$2/".basename($thisProg) if($2);
+        warn ("$thisProg doesn't exist\n")      if (!(-f $thisProg));
+        $pathoption=1;
+    }
+    elsif (/^--help$|^-h$/)
+    {
+        print STDOUT "Usage $thisProg [OPTION] ... [dir/Makefile.in]...\n",
+                "\n",
+                "Patches dir/Makefile.in generated from automake\n",
+                "(where dir can be a full or relative directory name)",
+                "\n",
+                "  -v, --verbose      verbosely list files processed\n",
+                "  -h, --help         print this help, then exit\n",
+                "  --version          print version number, then exit\n",
+                "  -p, --path=        use the path to am_edit if the path\n",
+	        "  --no-final         don't patch for --enable-final\n",
+                "                     called from is not the one to be used\n";
+	
+        exit 0;
+    }
+    elsif (/^--no-final$/)
+    {
+	$use_final = 0;
+        $thisProg .= " --no-final";
+    }
+    elsif (/^-n$/)
+    {
+    	$dryrun = 1;
+    }
+    else
+    {
+        # user selects what input files to check
+        # add full path if relative path is given
+        $_ = cwd()."/".$_   if (! /^\//);
+        print "User wants $_\n" if ($verbose);
+        push (@makefiles, $_);
+    }
+}
+
+if ($thisProg =~ /^\// && !$pathoption )
+{
+  print STDERR "Illegal full pathname call performed...\n",
+      "The call to \"$thisProg\"\nwould be inserted in some Makefile.in.\n",
+      "Please use option --path.\n";
+  exit 1;
+}
+
+# Only scan for files when the user hasn't entered data
+if (!@makefiles)
+{
+    print STDOUT "Scanning for Makefile.in\n"       if ($verbose);
+    find (\&add_makefile, cwd());
+    #chdir('$topdir');
+} else {
+    print STDOUT "Using user enter input files\n"   if ($verbose);
+}
+
+foreach $makefile (sort(@makefiles))
+{
+    processMakefile ($makefile);
+    last            if ($errorflag);
+}
+
+# Just some debug statistics - comment out for release as it uses printf.
+printf STDOUT "Time %.2f CPU sec\n", (times)[0] - $start     if ($verbose);
+
+exit $errorflag;        # causes make to fail if erroflag is set
+
+#-----------------------------------------------------------------------------
+
+# In conjunction with the "find" call, this builds the list of input files
+sub add_makefile ()
+{
+  push (@makefiles, $File::Find::name) if (/Makefile.in$/);
+}
+
+#-----------------------------------------------------------------------------
+
+# Processes a single make file
+# The parameter contains the full path name of the Makefile.in to use
+sub processMakefile ($)
+{
+    # some useful globals for the subroutines called here
+    local ($makefile)       = @_;
+    local @headerdirs       = ('.');
+    local $haveAutomocTag   = 0;
+    local $MakefileData     = "";
+
+    local $cxxsuffix  = "KKK";
+
+    local @programs = ();  # lists the names of programs and libraries
+    local $program = "";
+
+    local %realObjs = ();  # lists the objects compiled into $program
+    local %sources = ();   # lists the sources used for $program
+    local %finalObjs = (); # lists the objects compiled when final
+    local %realname = ();  # the binary name of program variable
+    local %idlfiles = ();  # lists the idl files used for $program
+    local %globalmocs = ();# list of all mocfiles (in %mocFiles format)
+    local %important = (); # list of files to be generated asap
+
+    local $allidls = "";
+    local $alluis = "";
+    local $idl_output = "";# lists all idl generated files for cleantarget
+    local $ui_output = "";# lists all uic generated files for cleantarget
+    local $ui_mocs = "";# lists all moc files associated with generated uic files
+
+    local %depedmocs = ();
+    
+    local $metasourceTags = 0;
+    local $dep_files      = "";
+    local $dep_finals     = "";
+    local %target_adds    = (); # the targets to add
+    local $kdelang        = "";
+    local @cleanfiles     = ();
+    local $cleanMoc       = "";
+    local $closure_output = "";
+
+    $makefileDir = dirname($makefile);
+    chdir ($makefileDir);
+    $printname = $makefile;
+    $printname =~ s/^\Q$topdir\E\///;
+    $makefile = basename($makefile);
+
+    print STDOUT "Processing makefile $printname\n"   if ($verbose);
+    
+    # Setup and see if we need to do this.
+    return      if (!initialise());
+    
+    tag_AUTOMAKE ();            # Allows a "make" to redo the Makefile.in
+    tag_META_INCLUDES ();       # Supplies directories for src locations
+    
+    foreach $program (@programs) {
+        $sources_changed{$program} = 0;
+        $depedmocs{$program} = "";
+        $important{$program} = "";
+	tag_IDLFILES();             # Sorts out idl rules
+	tag_UIFILES();             # Sorts out ui rules
+	tag_CLOSURE();
+        tag_METASOURCES ();         # Sorts out the moc rules
+        if ($sources_changed{$program}) {
+            my $lookup = "$program" . '_SOURCES\s*=\s*(.*)';
+            substituteLine($lookup, "$program\_SOURCES=" . $sources{$program});
+        }
+        if ($important{$program}) {
+            local %source_dict = ();
+            for $source (split(/[\034\s]+/, $sources{$program})) {
+                $source_dict{$source} = 1;
+            }
+            for $source (@cleanfiles) {
+                $source_dict{$source} = 0;
+            }
+            for $source (keys %source_dict) {
+                next if (!$source);
+                if ($source_dict{$source}) {
+                    # sanity check
+                    if (! -f $source) {
+                        print STDERR "Error: $source is listed in a _SOURCE line in $printname, but doesn't exist yet. Put it in DISTCLEANFILES!\n";
+                    } else {
+                        $target_adds{"\$(srcdir)/$source"} .= $important{$program};
+                    }
+                }
+            }
+        }
+    }
+    if ($cleanMoc) {
+        # Always add dist clean tag
+        # Add extra *.moc.cpp files created for USE_AUTOMOC because they
+        # aren't included in the normal *.moc clean rules.
+        appendLines ("$cleantarget-metasources:\n\t-rm -f $cleanMoc\n");
+        $target_adds{"$cleantarget-am"} .= "$cleantarget-metasources ";
+    }
+    tag_DIST();
+
+    if ($idl_output) {
+        appendLines ("$cleantarget-idl:\n\t-rm -f $idl_output\n");
+        $target_adds{"$cleantarget-am"} .= "$cleantarget-idl ";
+    }
+
+    if ($ui_output) {
+        appendLines ("$cleantarget-ui:\n\t-rm -f $ui_output\n");
+        $target_adds{"$cleantarget-am"} .= "$cleantarget-ui ";
+    }
+
+    if ($closure_output) {
+        appendLines ("$cleantarget-closures:\n\t-rm -f $closure_output\n");
+        $target_adds{"$cleantarget-am"} .= "$cleantarget-closures ";
+    }
+
+    if ($MakefileData =~ /\nKDE_LANG\s*=\s*(\S*)\s*\n/) {
+        $kdelang = '$(KDE_LANG)'
+    } else {
+        $kdelang = '';
+    }
+
+    tag_POFILES ();             # language rules for po directory
+    tag_DOCFILES ();            # language rules for doc directories
+    tag_TOPLEVEL ();            # language rules for po toplevel
+    tag_LOCALINSTALL();         # add $(DESTDIR) before all kde_ dirs
+    tag_ICON();
+
+    my $tmp = "force-reedit:\n";
+    $tmp   .= "\t$automkCall\n\tcd \$(top_srcdir) && perl $thisProg $printname\n\n";
+    appendLines($tmp);
+    
+    make_meta_classes();
+    tag_FINAL() if (!$kdeopts{"nofinal"});
+
+    my $final_lines = "final:\n\t\$(MAKE) ";
+    my $nofinal_lines = "no-final:\n\t\$(MAKE) ";
+
+    foreach $program (@programs) {
+        
+        my $lookup = "$program\_OBJECTS.*=[^\n]*";
+        
+        my $new = "";
+        
+        my @list = split(/[\034\s]+/, $realObjs{$program});
+        
+        if (!$kdeopts{"nofinal"} && @list > 1 && $finalObjs{$program}) {
+            
+            $new .= "$program\_final\_OBJECTS = " . $finalObjs{$program};
+            $new .= "\n$program\_nofinal\_OBJECTS = " . $realObjs{$program};
+            $new .= "\n\@KDE_USE_FINAL_FALSE\@$program\_OBJECTS = \$($program\_nofinal\_OBJECTS)";
+            $new .= "\n\@KDE_USE_FINAL_TRUE\@$program\_OBJECTS = \$($program\_final\_OBJECTS)";
+            
+            $final_lines .= "$program\_OBJECTS=\"\$($program\_final_OBJECTS)\" ";
+            $nofinal_lines .= "$program\_OBJECTS=\"\$($program\_nofinal\_OBJECTS)\" ";
+        } else {
+            $new = "$program\_OBJECTS = " . $realObjs{$program};
+        }
+        substituteLine ($lookup, $new);
+    }
+    appendLines($final_lines . "all-am");
+    appendLines($nofinal_lines . "all-am");
+    
+    my $lookup = 'DEP_FILES\s*=([^\n]*)';
+    if ($MakefileData =~ /\n$lookup\n/) {
+        $depfiles = $1;
+        
+        if ($dep_finals) {
+            $lines  = "\@KDE_USE_FINAL_TRUE\@DEP_FILES = $dep_files $dep_finals \034\t$depfiles\n";
+            $lines .= "\@KDE_USE_FINAL_FALSE\@DEP_FILES = $dep_files $depfiles\n";
+        } else {
+            $lines = "DEP_FILES = $dep_files $depfiles\n";
+        }
+        
+        substituteLine($lookup, $lines);
+    }
+    
+    my $cvs_lines = "cvs-clean:\n";
+    $cvs_lines .= "\t\$(MAKE) -f \$(top_srcdir)/admin/Makefile.common cvs-clean\n";
+    appendLines($cvs_lines);
+    
+    $cvs_lines  = "kde-rpo-clean:\n";
+    $cvs_lines .= "\t-rm -f *.rpo\n";
+    appendLines($cvs_lines);
+    $target_adds{"clean"} .= "kde-rpo-clean ";
+    
+    my $lines = "";
+
+    foreach $add (keys %target_adds) {
+        my $lookup = quotemeta($add) . ":\s*(.*)";
+        if ($MakefileData =~ /\n$lookup\n/) {
+            substituteLine($lookup, "$add: " . $target_adds{$add} . $1);
+        } else {
+            $lines .= "$add: " . $target_adds{$add} . "\n";
+        }
+    }
+    if ($lines) {
+        appendLines($lines);
+    }
+
+    my $found = 1;
+    
+    while ($found) {
+        if ($MakefileData =~ m/\n(.*)\$\(CXXFLAGS\)(.*)\n/) {
+            my $vor = $1;
+            my $nach = $2;
+            my $lookup = quotemeta("$1\$(CXXFLAGS)$2");
+            my $replacement = "$1\$(KCXXFLAGS)$2";
+            $MakefileData =~ s/$lookup/$replacement/;
+            $lookup =~ s/\\\$\\\(CXXFLAGS\\\)/\\\$\\\(KCXXFLAGS\\\)/;
+            $replacement = "$vor\$(KCXXFLAGS) \$(KDE_CXXFLAGS)$nach";
+            substituteLine($lookup, $replacement);
+        } else {
+            $found = 0;
+        }
+    }
+
+    $lookup = '(\n[^#].*\$\(LIBTOOL\) --mode=link) (\$\(CXXLD\).*\$\(KCXXFLAGS\))';
+    
+    if ($MakefileData =~ m/$lookup/ ) {
+        $MakefileData =~ s/$lookup/$1 --tag=CXX $2/;
+    }
+
+    $lookup = '(\n[^#].*\$\(LIBTOOL\) --mode=compile) (\$\(CXX\).*\$\(KCXXFLAGS\))';
+    if ($MakefileData =~ m/$lookup/ ) {
+        $MakefileData =~ s/$lookup/$1 --tag=CXX $2/;
+    }
+
+    $MakefileData =~ s/\$\(KCXXFLAGS\)/\$\(CXXFLAGS\)/g;
+
+    $lookup = '(.*)cp -pr \$\$/\$\$file \$\(distdir\)/\$\$file(.*)';
+    if ($MakefileData =~ m/$lookup/) {
+        substituteLine($lookup, "$1cp -pr \$\$d/\$\$file \$(distdir)/\$\$file$2");
+    }
+
+    # Always update the Makefile.in
+    updateMakefile ();
+    return;
+}
+
+#-----------------------------------------------------------------------------
+
+# Check to see whether we should process this make file.
+# This is where we look for tags that we need to process.
+# A small amount of initialising on the tags is also done here.
+# And of course we open and/or create the needed make files.
+sub initialise ()
+{
+    if (! -r "Makefile.am") {
+	print STDOUT "found Makefile.in without Makefile.am\n" if ($verbose);
+	return 0;
+    }
+
+    # Checking for files to process...
+    open (FILEIN, $makefile)
+      || die "Could not open $makefileDir/$makefile: $!\n";
+    # Read the file
+    while ( <FILEIN> )
+    {
+        $MakefileData .= $_;
+        if ($_ =~ /\r\n$/) {
+            die "DOS-Linefeeds within $makefileDir/$makefile!\n";
+        }
+    }
+    close FILEIN;
+
+    # Remove the line continuations, but keep them marked
+    # Note: we lose the trailing spaces but that's ok.
+    $MakefileData =~ s/\\\s*\n/\034/g;
+
+    # If we've processed the file before...
+    restoreMakefile ()      if ($MakefileData =~ /$progId/);
+
+    foreach $dir (@foreignfiles) {
+      if (substr($makefileDir,0,length($dir)) eq $dir) {
+	return 0;
+      }
+    }
+
+    %kdeopts = ();
+    $kdeopts{"foreign"} = 0;
+    $kdeopts{"qtonly"} = 0;
+    $kdeopts{"nofinal"} = !$use_final; # default
+
+    if ($MakefileData =~ /\nKDE_OPTIONS\s*=\s*([^\n]*)\n/) {
+        local @kde_options = split(/[\s\034]/, $1);
+        if (grep(/^foreign$/, @kde_options)) {
+            push(@foreignfiles, $makefileDir . "/");
+            return 0; # don't touch me
+        }
+        for $opt (@kde_options) {
+            if (!defined $kdeopts{$opt}) {
+                print STDERR "Warning: unknown option $opt in $printname\n";
+            } else {
+                $kdeopts{$opt} = 1;
+            }
+        }
+    }
+
+    # Look for the tags that mean we should process this file.
+    $metasourceTags = 0;
+    $metasourceTags++    while ($MakefileData =~ /\n[^=\#]*METASOURCES\s*=/g);
+
+    my $pofileTag = 0;
+    $pofileTag++    while ($MakefileData =~ /\nPOFILES\s*=/g);
+    if ($pofileTag > 1)
+      {
+          print STDERR "Error: Only one POFILES tag allowed\n";
+          $errorflag = 1;
+      }
+
+    while ($MakefileData =~ /\n\.SUFFIXES:([^\n]+)\n/g) {
+	my @list=split(' ', $1);
+	my $extions = " " . $cppExt . " ";
+	foreach $ext (@list) {
+	    if ($extions =~ / \*\Q$ext\E /) {
+		$cxxsuffix = $ext;
+		$cxxsuffix =~ s/\.//g;
+		print STDOUT "will use suffix $cxxsuffix\n" if ($verbose);
+		last;
+	    }
+	}
+    }
+                                                     
+    while ($MakefileData =~ /\n(\S*)_OBJECTS\s*=[ \t\034]*([^\n]*)\n/g) {
+        
+        my $program = $1;
+        my $objs = $2; # safe them
+        
+        my $ocv = 0;
+        
+        my @objlist = split(/[\s\034]+/, $objs);
+        foreach $obj (@objlist) {
+            if ($obj =~ /\$\((\S+)\)/ ) {
+                my $variable = $1;
+                if ($variable !~ 'OBJEXT') {
+                    $ocv = 1;
+                }
+            }
+        }
+        
+        next if ($ocv);
+        
+        $program =~ s/^am_// if ($program =~ /^am_/);
+        
+        print STDOUT "found program $program\n" if ($verbose);
+        push(@programs, $program);
+        
+        $realObjs{$program} = $objs;
+        
+        if ($MakefileData =~ /\n$program\_SOURCES\s*=\s*(.*)\n/) {
+            $sources{$program} = $1;
+        } else {
+            $sources{$program} = "";
+            print STDERR "found program with no _SOURCES: $program\n";
+        }
+        
+        my $realprogram = $program;
+        $realprogram =~ s/_/./g; # unmask to regexp
+        if ($MakefileData =~ /\n($realprogram)(\$\(EXEEXT\)?)?:.*\$\($program\_OBJECTS\)/) {
+            $realname{$program} = $1;
+        } else {
+            # not standard Makefile - nothing to worry about
+            $realname{$program} = "";
+        }
+    }
+    
+    my $lookup = '\nDEPDIR\s*=.*';
+    if ($MakefileData !~ /($lookup)\n/) {
+        $lookup = '\nbindir\s*=.*';
+        if ($MakefileData =~ /($lookup)\n/) {
+            substituteLine ($lookup, "DEPDIR = .deps\n$1");
+        }
+    } else {
+        print STDERR "$printname defines DEPDIR. This means you're using automake > 1.4 - this is not supported!\n";
+    }
+
+    my @marks = ('MAINTAINERCLEANFILES', 'CLEANFILES', 'DISTCLEANFILES');
+    foreach $mark (@marks) {
+        while ($MakefileData =~ /\n($mark)\s*=\s*([^\n]*)/g) {
+            foreach $file (split('[\034\s]', $2)) {
+                $file =~ s/\.\///;
+                push(@cleanfiles, $file);
+            }
+        }
+    }
+
+    my $localTag = 0;
+    $localTag++ if ($MakefileData =~ /\ninstall-\S+-local:/);
+    
+    return (!$errorflag);
+}
+
+#-----------------------------------------------------------------------------
+
+# Gets the list of user defined directories - relative to $srcdir - where
+# header files could be located.
+sub tag_META_INCLUDES ()
+{
+    my $lookup = '[^=\n]*META_INCLUDES\s*=\s*(.*)';
+    return 1    if ($MakefileData !~ /($lookup)\n/);
+    print STDOUT "META_INCLUDE processing <$1>\n"       if ($verbose);
+
+    my $headerStr = $2;
+    removeLine ($lookup, $1);
+
+    $headerStr =~ tr/\034/ /;
+    my @headerlist = split(' ', $headerStr);
+
+    foreach $dir (@headerlist)
+    {
+        $dir =~ s#\$\(srcdir\)#.#;
+        if (! -d $dir)
+        {
+            print STDERR "Warning: $dir can't be found. ",
+                            "Must be a relative path to \$(srcdir)\n";
+        }
+        else
+        {
+            push (@headerdirs, $dir);
+        }
+    }
+
+    return 0;
+}
+
+#-----------------------------------------------------------------------------
+
+sub tag_FINAL()
+{
+    my @final_names = ();
+    
+    foreach $program (@programs) {
+        
+        if ($sources{$program} =~ /\(/) {
+            print STDOUT "found ( in $program\_SOURCES. skipping\n" if ($verbose);
+            next;
+        }
+        
+        my $mocsources = "";
+        
+        my @progsources = split(/[\s\034]+/, $sources{$program});
+        my %sourcelist = ();
+        
+        foreach $source (@progsources) {
+            my $suffix = $source;
+            $suffix =~ s/^.*\.([^\.]+)$/$1/;
+            
+            if (defined($sourcelist{$suffix})) {
+                $sourcelist{$suffix} .= " " . $source;
+            } else {
+                $sourcelist{$suffix} .= $source;
+            }
+        }
+        
+        foreach $suffix (keys %sourcelist) {
+            
+            # See if this file contains c++ code. (ie Just check the files suffix against
+            my $suffix_is_cxx = 0;
+            foreach $cxx_suffix (split(' ', $cppExt)) {
+                $cxx_suffix =~ s/^\*\.//;
+                $cxx_suffix = quotemeta($cxx_suffix);
+                if ($suffix =~ $cxx_suffix) {
+                    $suffix_is_cxx = 1;
+                    last; # $cxx_suffix
+                }
+            }
+            
+            my $mocfiles_in = ($suffix eq $cxxsuffix) &&
+              defined($depedmocs{$program});
+            
+            my @sourcelist = split(/[\s\034]+/, $sourcelist{$suffix});
+            
+            if ((@sourcelist == 1 && !$mocfiles_in) || $suffix_is_cxx != 1 ) {
+                
+                # we support IDL on our own
+                if ($suffix =~ /^skel$/ || $suffix =~ /^stub/ || $suffix =~ /^h$/
+                    || $suffix =~ /^ui$/ ) {
+                    next;
+                }
+                
+                foreach $file (@sourcelist) {
+                    
+                    $file =~ s/\Q$suffix\E$//;
+                    
+                    $finalObjs{$program} .= $file;
+                    if ($program =~ /_la$/) {
+                        $finalObjs{$program} .= "lo ";
+                    } else {
+                        $finalObjs{$program} .= "o ";
+                    }
+                }
+                next; # suffix
+            }
+            
+            my $source_deps = "";
+            foreach $source (@sourcelist) {
+                if (-f $source) {
+                    $source_deps .= "\$(srcdir)/$source ";
+                } else {
+                    $source_deps .= "$source ";
+                }
+            }
+            
+            $handling = "$program.all_$suffix.$suffix: \$(srcdir)/Makefile.in " . $source_deps . " ";
+            
+            if ($mocfiles_in) {
+                $handling .= $depedmocs{$program};
+                foreach $mocfile (split(' ', $depedmocs{$program})) {
+                    if ($mocfile =~ m/\.$suffix$/) {
+                        $mocsources .= " " . $mocfile;
+                    }
+                }
+            }
+            
+            $handling .= "\n";
+            $handling .= "\t\@echo 'creating $program.all_$suffix.$suffix ...'; \\\n";
+            $handling .= "\trm -f $program.all_$suffix.files $program.all_$suffix.final; \\\n";
+            $handling .= "\techo \"#define KDE_USE_FINAL 1\" >> $program.all_$suffix.final; \\\n";
+            $handling .= "\tfor file in " . $sourcelist{$suffix} . " $mocsources; do \\\n";
+            $handling .= "\t  echo \"#include \\\"\$\$file\\\"\" >> $program.all_$suffix.files; \\\n";
+            $handling .= "\t  test ! -f \$\(srcdir\)/\$\$file || egrep '^#pragma +implementation' \$\(srcdir\)/\$\$file >> $program.all_$suffix.final; \\\n";
+            $handling .= "\tdone; \\\n";
+            $handling .= "\tcat $program.all_$suffix.final $program.all_$suffix.files  > $program.all_$suffix.$suffix; \\\n";
+            $handling .= "\trm -f $program.all_$suffix.final $program.all_$suffix.files\n";
+            
+            appendLines($handling);
+            
+            push(@final_names, "$program.all_$suffix.$suffix");
+            $finalObjs{$program} .= "$program.all_$suffix.";
+            if ($program =~ /_la$/) {
+                $finalObjs{$program} .= "lo ";
+            } else {
+                $finalObjs{$program} .= "o ";
+            }
+        }
+    }
+    
+    if (!$kdeopts{"nofinal"} && @final_names >= 1) {
+        # add clean-final target
+        my $lines = "$cleantarget-final:\n";
+        $lines .= "\t-rm -f " . join(' ', @final_names) . "\n" if (@final_names);
+        appendLines($lines);
+        $target_adds{"$cleantarget-am"} .= "$cleantarget-final ";
+        
+        foreach $finalfile (@final_names) {
+            $finalfile =~ s/\.[^.]*$/.P/;
+            $dep_finals .= " \$(DEPDIR)/$finalfile";
+        }
+    }
+}
+
+# Organises the list of headers that we'll use to produce moc files
+# from.
+sub tag_METASOURCES ()
+{
+    local @newObs           = ();  # here we add to create object files
+    local @deped            = ();  # here we add to create moc files
+    local $mocExt           = ".moc";
+    local %mocFiles         = ();
+
+    my $line = "";
+    my $postEqual = "";
+
+    my $lookup;
+    my $found = "";
+
+    if ($metasourceTags > 1) {
+	$lookup = $program . '_METASOURCES\s*=\s*(.*)';
+	return 1    if ($MakefileData !~ /\n($lookup)\n/);
+	$found = $1;
+    } else {
+	$lookup = $program . '_METASOURCES\s*=\s*(.*)';
+	if ($MakefileData !~ /\n($lookup)\n/) {
+	    $lookup = 'METASOURCES\s*=\s*(.*)';
+	    return 1    if ($MakefileData !~ /\n($lookup)\n/);
+	    $found = $1;
+	    $metasourceTags = 0; # we can use the general target only once
+	} else {
+            $found = $1;
+        }
+    }
+    print STDOUT "METASOURCE processing <$found>)\n"      if ($verbose);
+    
+    $postEqual = $found;
+    $postEqual =~ s/[^=]*=//;
+    
+    removeLine ($lookup, $found);
+    
+    # Always find the header files that could be used to "moc"
+    return 1    if (findMocCandidates ());
+    
+    if ($postEqual =~ /AUTO\s*(\S*)|USE_AUTOMOC\s*(\S*)/)
+      {
+	print STDERR "$printname: the argument for AUTO|USE_AUTOMOC is obsolete" if ($+);
+	$mocExt = ".moc.$cxxsuffix";
+	$haveAutomocTag = 1;
+    }
+    else
+    {
+        # Not automoc so read the list of files supplied which
+        # should be .moc files.
+
+        $postEqual =~ tr/\034/ /;
+
+        # prune out extra headers - This also checks to make sure that
+        # the list is valid.
+        pruneMocCandidates ($postEqual);
+    }
+
+    checkMocCandidates ();
+    
+    if (@newObs) {
+        my $ext =  ($program =~ /_la$/) ? ".moc.lo " : ".moc.o ";
+        $realObjs{$program} .= "\034" . join ($ext, @newObs) . $ext;
+        $depedmocs{$program} = join (".moc.$cxxsuffix " , @newObs) . ".moc.$cxxsuffix";
+        foreach $file (@newObs) {
+            $dep_files .= " \$(DEPDIR)/$file.moc.P";
+        }
+    }
+    if (@deped) {
+        $depedmocs{$program} .= " ";
+        $depedmocs{$program} .= join('.moc ', @deped) . ".moc";
+        $depedmocs{$program} .= " ";
+    }
+    addMocRules ();
+    @globalmocs{keys %mocFiles}=values %mocFiles;
+}
+
+#-----------------------------------------------------------------------------
+
+# Returns 0 if the line was processed - 1 otherwise.
+# Errors are logged in the global $errorflags
+sub tag_AUTOMAKE ()
+{
+    my $lookup = '.*cd \$\(top_srcdir\)\s+&&\s+\$\(AUTOMAKE\)(.*)';
+    return 1    if ($MakefileData !~ /($lookup)/);
+    print STDOUT "AUTOMAKE processing <$1>\n"        if ($verbose);
+
+    my $newLine = $1."\n\tcd \$(top_srcdir) && perl $thisProg $printname";
+    substituteLine ($lookup, $newLine);
+    $automkCall = $1;
+    return 0;
+}
+
+#-----------------------------------------------------------------------------
+
+sub tag_TOPLEVEL()
+{
+    my $lookup = 'TOPLEVEL_LANG\s*=\s*(\S+)';
+    return 1 if ($MakefileData !~ /\n$lookup\n/);
+    my $lang = $1;
+
+    if (tag_SUBDIRS()) {
+        print STDERR "Error: TOPLEVEL_LANG without SUBDIRS = \$(AUTODIRS) in $printname\n";
+        $errorflag = 1;
+        return 1;
+    }
+    
+    my $pofiles = "";
+    my @restfiles = ();
+    opendir (THISDIR, ".");
+    foreach $entry (readdir(THISDIR)) {
+        next if (-d $entry);
+        
+        next if ($entry eq "CVS" || $entry =~ /^\./  || $entry =~ /^Makefile/ || $entry =~ /~$/ || $entry =~ /^\#.*\#$/ || $entry =~ /.gmo$/);
+                 
+        if ($entry =~ /\.po$/) {
+            $pofiles .= "$entry ";
+            next;
+        }
+        push(@restfiles, $entry);
+    }
+    closedir (THISDIR);
+    
+    print STDOUT "pofiles found = $pofiles\n"   if ($verbose);
+    handle_POFILES($pofiles, '$(TOPLEVEL_LANG)') if ($pofiles);
+    
+    if (@restfiles) {
+        $target_adds{"install-data-am"} .= "install-nls-files ";
+        $lines = "install-nls-files:\n";
+        $lines .= "\t\$(mkinstalldirs) \$(DESTDIR)\$(kde_locale)/$lang\n";
+        for $file (@restfiles) {
+            $lines .= "\t\$(INSTALL_DATA) \$\(srcdir\)/$file \$(DESTDIR)\$(kde_locale)/$lang/$file\n";
+        }
+        appendLines($lines);
+    }
+    
+    return 0;
+}
+
+#-----------------------------------------------------------------------------
+
+sub tag_SUBDIRS ()
+{
+  if ($MakefileData !~ /\nSUBDIRS\s*=\s*\$\(AUTODIRS\)\s*\n/) {
+    return 1;
+  }
+
+  my $subdirs;
+
+  opendir (THISDIR, ".");
+  foreach $entry (readdir(THISDIR)) {
+    next if ($entry eq "CVS" || $entry =~ /^\./);
+    if (-d $entry && -f $entry . "/Makefile.am") {
+      $subdirs .= " $entry";
+      next;
+    }
+  }
+  closedir (THISDIR);
+
+  my $lines = "SUBDIRS =$subdirs\n";
+  substituteLine('SUBDIRS\s*=.*', $lines);
+  return 0;
+}
+
+sub tag_IDLFILES ()
+{
+    my @psources = split(/[\034\s]+/, $sources{$program});
+    my $dep_lines = "";
+    my @cppFiles = ();
+    
+    foreach $source (@psources) {
+        
+        my $skel = ($source =~ m/\.skel$/);
+        
+        if ($source =~ m/\.stub$/ || $skel) {
+            
+            my $qs = quotemeta($source);
+            $sources{$program} =~ s/$qs//;
+            $sources_changed{$program} = 1;
+            
+            print STDOUT "adding IDL file $source\n" if ($verbose);
+            
+            $source =~ s/\.(stub|skel)$//;
+            
+            my $sourcename;
+            
+            if ($skel) {
+                $sourcename = "$source\_skel";
+            } else {
+                $sourcename = "$source\_stub";
+            }
+            
+            my $sourcedir = '';
+            if (-f "$makefileDir/$source.h") {
+                $sourcedir = '$(srcdir)/';
+            } else {
+                if ($MakefileData =~ /\n$source\_DIR\s*=\s*(\S+)\n/) {
+                    $sourcedir = $1;
+                    $sourcedir .= "/" if ($sourcedir !~ /\/$/);
+                }
+            }
+            
+            if ($allidls !~ /$source\_kidl/) {
+                
+                $dep_lines .= "$source.kidl: $sourcedir$source.h \$(DCOPIDL_DEPENDENCIES)\n";
+                $dep_lines .= "\t\$(DCOPIDL) $sourcedir$source.h > $source.kidl || ( rm -f $source.kidl ; /bin/false )\n";
+                
+                $allidls .= $source . "_kidl ";
+            }
+            
+            if ($allidls !~ /$sourcename/) {
+                
+                if ($skel) {
+                    $dep_lines .= "$sourcename.$cxxsuffix: $source.kidl\n";
+                    $dep_lines .= "\t\$(DCOPIDL2CPP) --c++-suffix $cxxsuffix --no-stub $source.kidl\n";
+                } else {
+                    $target_adds{"$sourcename.$cxxsuffix"} .= "$sourcename.h ";
+                    $dep_lines .= "$sourcename.h: $source.kidl\n";
+                    $dep_lines .= "\t\$(DCOPIDL2CPP) --c++-suffix $cxxsuffix --no-skel $source.kidl\n";
+                }
+                
+                $allidls .= $sourcename . " ";
+            }
+            
+            $idlfiles{$program} .= $sourcename . " ";
+            
+            if ($program =~ /_la$/) {
+                $realObjs{$program} .= " $sourcename.lo";
+            } else {
+                $realObjs{$program} .= " $sourcename.\$(OBJEXT)";
+            }
+            $sources{$program} .= " $sourcename.$cxxsuffix";
+            $sources_changed{$program} = 1;
+            $important{$program} .= "$sourcename.h " if (!$skel);
+            $idl_output .= "\\\n\t$sourcename.$cxxsuffix $sourcename.h $source.kidl ";
+            push(@cleanfiles, "$sourcename.$cxxsuffix");
+            push(@cleanfiles, "$sourcename.h");
+            push(@cleanfiles, "$sourcename.kidl");
+            $dep_files .= " \$(DEPDIR)/$sourcename.P";
+        }
+    }
+    if ($dep_lines) {
+        appendLines($dep_lines);
+    }
+    
+    if (0) {
+        my $lookup = "($program)";
+        $lookup .= '(|\$\(EXEEXT\))';
+        $lookup =~ s/\_/./g;
+        $lookup .= ":(.*..$program\_OBJECTS..*)";
+        #    $lookup = quotemeta($lookup);
+        if ($MakefileData =~ /\n$lookup\n/) {
+            
+            my $line = "$1$2: ";
+            foreach $file (split(' ', $idlfiles{$program})) {
+                $line .= "$file.$cxxsuffix ";
+            }
+            $line .= $3;
+            substituteLine($lookup, $line);
+        } else {
+            print STDERR "no built dependency found $lookup\n";
+        }
+    }
+}
+
+sub tag_UIFILES ()
+{
+    my @psources = split(/[\034\s]+/, $sources{$program});
+    my $dep_lines = "";
+    my @depFiles = ();
+    
+    foreach $source (@psources) {
+
+        if ($source =~ m/\.ui$/) {
+
+            print STDERR "adding UI file $source\n" if ($verbose);
+
+            my $qs = quotemeta($source);
+            $sources{$program} =~ s/$qs//;
+            $sources_changed{$program} = 1;
+      
+            $source =~ s/\.ui$//;
+
+            my $sourcedir = '';
+            if (-f "$makefileDir/$source.ui") {
+                $sourcedir = '$(srcdir)/';
+            }
+
+            if ($alluis !~ /$source/) {
+
+                $dep_lines .= "$source.$cxxsuffix: $sourcedir$source.ui $source.h $source.moc\n";
+                $dep_lines .= "\trm -f $source.$cxxsuffix\n";
+                if (!$kdeopts{"qtonly"}) {
+                    $dep_lines .= "\techo '#include <klocale.h>' > $source.$cxxsuffix\n";
+                    $dep_lines .= "\t\$(UIC) -tr i18n -i $source.h $sourcedir$source.ui | sed -e \"s,i18n( \\\"\\\" ),QString::null,g\" >> $source.$cxxsuffix || rm -f $source.$cxxsuffix\n";
+                } else {
+                    $dep_lines .= "\t\$(UIC) -i $source.h $sourcedir$source.ui > $source.$cxxsuffix || rm -f $source.$cxxsuffix\n";
+                }
+                $dep_lines .= "\techo '#include \"$source.moc\"' >> $source.$cxxsuffix\n\n";
+                $dep_lines .= "$source.h: $sourcedir$source.ui\n";
+                $dep_lines .= "\t\$(UIC) -o $source.h $sourcedir$source.ui\n\n";
+                $dep_lines .= "$source.moc: $source.h\n";
+                $dep_lines .= "\t\$(MOC) $source.h -o $source.moc\n";
+
+                $alluis .= "$source ";
+                $ui_mocs .= " $source.moc";
+                $depedmocs{$program} .= " $source.moc";
+            }
+            
+            if ($program =~ /_la$/) {
+                $realObjs{$program} .= " $source.lo";
+            } else {
+                $realObjs{$program} .= " $source.\$(OBJEXT)";
+            }
+            $sources{$program} .= " $source.$cxxsuffix";
+            $sources_changed{$program} = 1;
+            $important{$program} .= "$source.h ";
+            $ui_output .= "\\\n\t$source.$cxxsuffix $source.h $source.moc ";
+            push(@cleanfiles, "$source.$cxxsuffix");
+            push(@cleanfiles, "source.h");
+            push(@cleanfiles, "$source.moc");
+
+            $dep_files .= " \$(DEPDIR)/$source.P";
+        }
+    }
+    if ($dep_lines) {
+        appendLines($dep_lines);
+    }
+}
+
+sub tag_ICON()
+{
+    my $lookup = '([^\s]*)_ICON\s*=\s*([^\n]*)';
+    my $install = "";
+    my $uninstall = "";
+
+    while ($MakefileData =~ /\n$lookup/g) {
+        my $destdir;
+        if ($1 eq "KDE") {
+            $destdir = "kde_icondir";
+        } else {
+            $destdir = $1 . "dir";
+        }
+        my $iconauto = ($2 =~ /AUTO\s*$/);
+        my @appnames = ();
+        if ( ! $iconauto ) {
+            my @_appnames = split(" ", $2);
+            print STDOUT "KDE_ICON processing <@_appnames>\n"   if ($verbose);
+            foreach $appname (@_appnames) {
+                push(@appnames, quotemeta($appname));
+            }
+        } else {
+            print STDOUT "KDE_ICON processing <AUTO>\n"   if ($verbose);
+        }
+
+        my @files = ();
+        opendir (THISDIR, ".");
+        foreach $entry (readdir(THISDIR)) {
+            next if ($entry eq "CVS" || $entry =~ /^\./  || $entry =~ /^Makefile/ || $entry =~ /~$/ || $entry =~ /^\#.*\#$/);
+            next if (! -f $entry);
+            if ( $iconauto )
+              {
+                  push(@files, $entry)
+                    if ($entry =~ /\.xpm/ || $entry =~ /\.png/);
+              } else {
+                  foreach $appname (@appnames) {
+                      push(@files, $entry)
+                        if ($entry =~ /-$appname\.xpm/ || $entry =~ /-$appname\.png/);
+                  }
+              }
+        }
+        closedir (THISDIR);
+        
+        my %directories = ();
+        
+        foreach $file (@files) {
+            my $newfile = $file;
+            my $prefix = $file;
+            $prefix =~ s/\.(png|xpm)$//;
+            my $appname = $prefix;
+            $appname =~ s/^[^-]+-// if ($appname =~ /-/) ;
+            $appname =~ s/^[^-]+-// if ($appname =~ /-/) ;
+            $appname = quotemeta($appname);
+            $prefix =~ s/$appname$//;
+            $prefix =~ s/-$//;
+            
+            $prefix = 'lo16-app' if ($prefix eq 'mini');
+            $prefix = 'lo32-app' if ($prefix eq 'lo');
+            $prefix = 'hi48-app' if ($prefix eq 'large');
+            $prefix .= '-app' if ($prefix =~ m/^...$/);
+            
+            my $type = $prefix;
+            $type =~ s/^.*-([^-]+)$/$1/;
+            $prefix =~ s/^(.*)-[^-]+$/$1/;
+            
+            my %type_hash =
+              (
+               'action' => 'actions',
+               'app' => 'apps',
+               'device' => 'devices',
+               'filesys' => 'filesystems',
+               'mime' => 'mimetypes'
+              );
+            
+            if (! defined $type_hash{$type} ) {
+                print STDERR "unknown icon type $type in $printname ($file)\n";
+                next;
+            }
+            
+            my %dir_hash =
+              (
+               'los' => 'locolor/16x16',
+               'lom' => 'locolor/32x32',
+               'him' => 'hicolor/32x32',
+               'hil' => 'hicolor/48x48',
+               'lo16' => 'locolor/16x16',
+               'lo22' => 'locolor/22x22',
+               'lo32' => 'locolor/32x32',
+               'hi16' => 'hicolor/16x16',
+               'hi22' => 'hicolor/22x22',
+               'hi32' => 'hicolor/32x32',
+               'hi48' => 'hicolor/48x48',
+               'hisc' => 'hicolor/scalable'
+              );
+            
+            $newfile =~ s at .*-($appname\.(png|xpm?))@$1@;
+            
+            if (! defined $dir_hash{$prefix}) {
+                print STDERR "unknown icon prefix $prefix in $printname\n";
+                next;
+            }
+            
+            my $dir = $dir_hash{$prefix} . "/" . $type_hash{$type};
+            if ($newfile =~ /-[^\.]/) {
+                my $tmp = $newfile;
+                $tmp =~ s/^([^-]+)-.*$/$1/;
+                $dir = $dir . "/" . $tmp;
+                $newfile =~ s/^[^-]+-//;
+            }
+            
+            if (!defined $directories{$dir}) {
+                $install .= "\t\$(mkinstalldirs) \$(DESTDIR)\$($destdir)/$dir\n";
+                $directories{$dir} = 1;
+            }
+            
+            $install .= "\t\$(INSTALL_DATA) \$(srcdir)/$file \$(DESTDIR)\$($destdir)/$dir/$newfile\n";
+            $uninstall .= "\t-rm -f \$(DESTDIR)\$($destdir)/$dir/$newfile\n";
+            
+        }
+    }
+    
+    if (length($install)) {
+        $target_adds{"install-data-am"} .= "install-kde-icons ";
+        $target_adds{"uninstall-am"} .= "uninstall-kde-icons ";
+        appendLines("install-kde-icons:\n" . $install . "\nuninstall-kde-icons:\n" . $uninstall);
+    }
+}
+
+sub handle_POFILES($$)
+{
+  my @pofiles = split(" ", $_[0]);
+  my $lang = $_[1];
+
+  # Build rules for creating the gmo files
+  my $tmp = "";
+  my $allgmofiles     = "";
+  my $pofileLine   = "POFILES =";
+  foreach $pofile (@pofiles)
+    {
+        $pofile =~ /(.*)\.[^\.]*$/;          # Find name minus extension
+        $tmp .= "$1.gmo: $pofile\n";
+        $tmp .= "\trm -f $1.gmo; \$(GMSGFMT) -o $1.gmo \$(srcdir)/$pofile\n";
+        $tmp .= "\ttest ! -f $1.gmo || touch $1.gmo\n";
+        $allgmofiles .= " $1.gmo";
+        $pofileLine  .= " $1.po";
+    }
+  appendLines ($tmp);
+  my $lookup = 'POFILES\s*=([^\n]*)';
+  if ($MakefileData !~ /\n$lookup/) {
+    appendLines("$pofileLine\nGMOFILES =$allgmofiles");
+  } else {
+    substituteLine ($lookup, "$pofileLine\nGMOFILES =$allgmofiles");
+  }
+
+    if ($allgmofiles) {
+
+        # Add the "clean" rule so that the maintainer-clean does something
+        appendLines ("clean-nls:\n\t-rm -f $allgmofiles\n");
+
+	$target_adds{"maintainer-clean"} .= "clean-nls ";
+
+	$lookup = 'DISTFILES\s*=\s*(.*)';
+	if ($MakefileData =~ /\n$lookup\n/) {
+	  $tmp = "DISTFILES = \$(GMOFILES) \$(POFILES) $1";
+	  substituteLine ($lookup, $tmp);
+	}
+    }
+
+  $target_adds{"install-data-am"} .= "install-nls ";
+
+  $tmp = "install-nls:\n";
+  $tmp .= "install-nls:\n";
+  if ($lang) {
+    $tmp  .= "\t\$(mkinstalldirs) \$(DESTDIR)\$(kde_locale)/$lang/LC_MESSAGES\n";
+  }
+  $tmp .= "\t\@for base in ";
+  foreach $pofile (@pofiles)
+    {
+      $pofile =~ /(.*)\.[^\.]*$/;          # Find name minus extension
+      $tmp .= "$1 ";
+    }
+
+  $tmp .= "; do \\\n";
+  if ($lang) {
+    $tmp .= "\t  echo \$(INSTALL_DATA) \$\$base.gmo \$(DESTDIR)\$(kde_locale)/$lang/LC_MESSAGES/\$\$base.mo ;\\\n";
+    $tmp .= "\t  test ! -f \$\$base.gmo || \$(INSTALL_DATA) \$\$base.gmo \$(DESTDIR)\$(kde_locale)/$lang/LC_MESSAGES/\$\$base.mo ;\\\n"
+  } else {
+    $tmp .= "\t  echo \$(INSTALL_DATA) \$\$base.gmo \$(DESTDIR)\$(kde_locale)/\$\$base/LC_MESSAGES/\$(PACKAGE).mo ;\\\n";
+    $tmp .= "\t  \$(mkinstalldirs) \$(DESTDIR)\$(kde_locale)/\$\$base/LC_MESSAGES ; \\\n";
+    $tmp .= "\t  test ! -f \$\$base.gmo || \$(INSTALL_DATA) \$\$base.gmo \$(DESTDIR)\$(kde_locale)/\$\$base/LC_MESSAGES/\$(PACKAGE).mo ;\\\n";
+  }
+  $tmp .= "\tdone\n\n";
+  appendLines ($tmp);
+
+  $target_adds{"uninstall"} .= "uninstall-nls ";
+
+  $tmp = "uninstall-nls:\n";
+  foreach $pofile (@pofiles)
+    {
+      $pofile =~ /(.*)\.[^\.]*$/;          # Find name minus extension
+      if ($lang) {
+	$tmp .= "\trm -f \$(DESTDIR)\$(kde_locale)/$lang/LC_MESSAGES/$1.mo\n";
+      } else {
+	$tmp .= "\trm -f \$(DESTDIR)\$(kde_locale)/$1/LC_MESSAGES/\$(PACKAGE).mo\n";
+      }
+    }
+  appendLines($tmp);
+
+  $target_adds{"all"} .= "all-nls ";
+
+  $tmp = "all-nls: \$(GMOFILES)\n";
+
+  appendLines($tmp);
+
+  $target_adds{"distdir"} .= "distdir-nls ";
+
+  $tmp = "distdir-nls:\$(GMOFILES)\n";
+  $tmp .= "\tfor file in \$(POFILES); do \\\n";
+  $tmp .= "\t  cp \$(srcdir)/\$\$file \$(distdir); \\\n";
+  $tmp .= "\tdone\n";
+  $tmp .= "\ttest -z \"\$(GMOFILES)\" || cp \$(GMOFILES) \$(distdir)\n";
+
+  appendLines ($tmp);
+
+  if (!$lang) {
+    appendLines("merge:\n\t\$(MAKE) -f \$(top_srcdir)/admin/Makefile.common package-merge POFILES=\"\${POFILES}\" PACKAGE=\${PACKAGE}\n\n");
+  }
+ 
+}
+
+#-----------------------------------------------------------------------------
+
+# Returns 0 if the line was processed - 1 otherwise.
+# Errors are logged in the global $errorflags
+sub tag_POFILES ()
+{
+    my $lookup = 'POFILES\s*=([^\n]*)';
+    return 1    if ($MakefileData !~ /\n$lookup/);
+    print STDOUT "POFILES processing <$1>\n"   if ($verbose);
+
+    my $tmp = $1;
+
+    # make sure these are all gone.
+    if ($MakefileData =~ /\n\.po\.gmo:\n/)
+    {
+        print STDERR "Warning: Found old .po.gmo rules in $printname. New po rules not added\n";
+        return 1;
+    }
+
+    # Either find the pofiles in the directory (AUTO) or use
+    # only the specified po files.
+    my $pofiles = "";
+    if ($tmp =~ /^\s*AUTO\s*$/)
+    {
+        opendir (THISDIR, ".");
+	next if ($entry eq "CVS" || $entry =~ /^\./  || $entry =~ /^Makefile/ || $entry =~ /~$/ || $entry =~ /^#.*#$/);
+	$pofiles =  join(" ", grep(/\.po$/, readdir(THISDIR)));
+        closedir (THISDIR);
+        print STDOUT "pofiles found = $pofiles\n"   if ($verbose);
+    }
+    else
+    {
+        $tmp =~ s/\034/ /g;
+        $pofiles = $tmp;
+    }
+    return 1    if (!$pofiles);        # Nothing to do
+
+    handle_POFILES($pofiles, $kdelang);
+
+    return 0;
+}
+
+sub helper_LOCALINSTALL($)
+{
+  my $lookup = "\n" . $_[0] . ":";
+  if ($MakefileData =~ /($lookup)/) {
+
+    my $install = $MakefileData;
+    $install =~ s/\n/\035/g;
+    $install =~ s/.*\035$_[0]:[^\035]*\035//;
+    my $emptyline = 0;
+    while (! $emptyline) {
+      if ($install =~ /([^\035]*)\035(.*)/) {
+	local $line = $1;
+	$install = $2;
+	if ($line !~ /^\s*$/ && $line !~ /^(\@.*\@)*\t/) {
+	  $emptyline = 1;
+	} else {
+	  replaceDestDir($line);
+	}
+      } else {
+	$emptyline = 1;
+      }
+    }
+  }
+
+}
+
+sub tag_LOCALINSTALL ()
+{
+  helper_LOCALINSTALL('install-exec-local');
+  helper_LOCALINSTALL('install-data-local');
+  helper_LOCALINSTALL('uninstall-local');
+
+  return 0;
+}
+
+sub replaceDestDir($) {
+  local $line = $_[0];
+
+  if (   $line =~ /^\s*(\@.*\@)*\s*\$\(mkinstalldirs\)/
+      || $line =~ /^\s*(\@.*\@)*\s*\$\(INSTALL\S*\)/
+      || $line =~ /^\s*(\@.*\@)*\s*(-?rm.*) \S*$/)
+  {
+    $line =~ s/^(.*) ([^\s]*)\s*$/$1 \$(DESTDIR)$2/ if ($line !~ /\$\(DESTDIR\)/);
+  }
+
+  if ($line ne $_[0]) {
+    $_[0] = quotemeta $_[0];
+    substituteLine($_[0], $line);
+  }
+}
+
+#---------------------------------------------------------------------------
+sub tag_CLOSURE () {
+    return if ($program !~ /_la$/);
+    
+    my $lookup = quotemeta($realname{$program}) . ":.*?\n\t.*?\\((.*?)\\) .*\n";
+    $MakefileData =~ m/$lookup/;
+    return if ($1 !~ /CXXLINK/);
+
+    if ($MakefileData !~ /\n$program\_LDFLAGS\s*=.*-no-undefined/ &&
+        $MakefileData !~ /\n$program\_LDFLAGS\s*=.*KDE_PLUGIN/ ) {
+        print STDERR "Report: $program contains undefined in $printname\n" if ($program =~ /^lib/ && $dryrun);
+        return;
+    }
+    my $closure = $realname{$program} . ".closure";
+    my $lines = "$closure: \$($program\_OBJECTS) \$($program\_DEPENDENCIES)\n";
+    $lines .= "\t\@echo \"int main() {return 0;}\" > $program\_closure.$cxxsuffix\n";
+    $lines .= "\t\@\$\(LTCXXCOMPILE\) -c $program\_closure.$cxxsuffix\n";
+    $lines .= "\t\@\$\(CXXLINK\) $program\_closure.lo \$($program\_LDFLAGS) \$($program\_OBJECTS) \$($program\_LIBADD) \$(LIBS)\n";
+    $lines .= "\t\@rm -f $program\_closure.* $closure\n";
+    $lines .= "\t\@echo \"timestamp\" > $closure\n";
+    $lines .= "\n";
+    appendLines($lines);
+    $lookup = $realname{$program} . ": (.*)";
+    if ($MakefileData =~ /\n$lookup\n/) {
+        $lines  = "\@KDE_USE_CLOSURE_TRUE@". $realname{$program} . ": $closure $1";
+        $lines .= "\n\@KDE_USE_CLOSURE_FALSE@" . $realname{$program} . ": $1";
+        substituteLine($lookup, $lines);
+    }
+    $closure_output .= " $closure";
+}
+
+sub tag_DIST () {
+    my %foundfiles = ();
+    opendir (THISDIR, ".");
+    foreach $entry (readdir(THISDIR)) {
+        next if ($entry eq "CVS" || $entry =~ /^\./  || $entry =~ /^Makefile$$/ || $entry =~ /~$/ || $entry =~ /^\#.*\#$/);
+        next if (! -f $entry);
+        next if ($entry =~ /\.moc/ || $entry =~ /\.lo$/ || $entry =~ /\.la$/ || $entry =~ /\.o/);
+        $foundfiles{$entry} = 1;
+    }
+    closedir (THISDIR);
+
+    my @marks = ("EXTRA_DIST", "DIST_COMMON", '\S*_SOURCES', '\S*_HEADERS', 'MAINTAINERCLEANFILES', 'CLEANFILES', 'DISTCLEANFILES', '\S*_OBJECTS');
+    foreach $mark (@marks) {
+        while ($MakefileData =~ /\n($mark)\s*=\s*([^\n]*)/g) {
+            foreach $file (split('[\034\s]', $2)) {
+                $file =~ s/\.\///;
+                $foundfiles{$file} = 0 if (defined $foundfiles{$file});
+            }
+        }
+    }
+    my @files = ("Makefile", "config.cache", "config.log", "stamp-h",
+                 "stamp-h1", "stamp-h1", "config.h", "Makefile", "config.status", "config.h", "libtool");
+    foreach $file (@files) {
+        $foundfiles{$file} = 0 if (defined $foundfiles{$file});
+    }
+
+    my $KDE_DIST = "";
+    foreach $file (keys %foundfiles) {
+        if ($foundfiles{$file} == 1) {
+            $KDE_DIST .= "$file ";
+        }
+    }
+    if ($KDE_DIST) {
+        print "KDE_DIST $printname $KDE_DIST\n" if ($verbose);
+        
+        my $lookup = "DISTFILES *=(.*)";
+        if ($MakefileData =~ /\n$lookup\n/) {
+            substituteLine($lookup, "KDE_DIST=$KDE_DIST\n\nDISTFILES=$1 \$(KDE_DIST)\n");
+        }
+    }
+}
+
+#-----------------------------------------------------------------------------
+# Returns 0 if the line was processed - 1 otherwise.
+# Errors are logged in the global $errorflags
+sub tag_DOCFILES ()
+{
+#    if ($MakefileData =~ /\nSUBDIRS\s*=/) { # subdirs
+#      $MakefileData =~ /\n(.*-recursive:\s*)\n/;
+#      my $orig_rules = $1;
+#      my $rules = $orig_rules;
+#      $rules =~ s/:\s*$//;
+#      substituteLine($orig_rules, "$rules docs-recursive:");
+#      appendLines("docs: docs-recursive docs-am\n");
+#    } else {
+#      appendLines("docs: docs-am\n");
+#    }
+    $target_adds{"all"} .= "docs-am ";
+
+    my $lookup = 'KDE_DOCS\s*=\s*([^\n]*)';
+    goto nodocs    if ($MakefileData !~ /\n$lookup/);
+    print STDOUT "KDE_DOCS processing <$1>\n"   if ($verbose);
+
+    tag_SUBDIRS();
+
+    my $tmp = $1;
+
+    # Either find the files in the directory (AUTO) or use
+    # only the specified po files.
+    my $files = "";
+    my $appname = $tmp;
+    $appname =~ s/^(\S*)\s*.*$/$1/;
+    if ($appname =~ /AUTO/) {
+      $appname = basename($makefileDir);
+      if ("$appname" eq "en") {
+      	  print STDERR "Error: KDE_DOCS = AUTO relies on the directory name. Yours is 'en' - you most likely want something else, e.g. KDE_DOCS = myapp\n";
+          exit(1);
+      }
+    }
+
+    if ($tmp !~ / - /)
+    {
+        opendir (THISDIR, ".");
+	foreach $entry (readdir(THISDIR)) {
+	  next if ($entry eq "CVS" || $entry =~ /^\./  || $entry =~ /^Makefile/ || $entry =~ /~$/ || $entry =~ /^\#.*\#$/);
+	  next if (! -f $entry);
+	  $files .= "$entry ";
+	}
+        closedir (THISDIR);
+        print STDOUT "docfiles found = $files\n"   if ($verbose);
+    }
+    else
+    {
+        $tmp =~ s/\034/ /g;
+	$tmp =~ s/^\S*\s*-\s*//;
+        $files = $tmp;
+    }
+    goto nodocs if (!$files);        # Nothing to do
+
+    if ($files =~ /(^| )index\.docbook($| )/) {
+      
+      my $lines = "";
+      my $lookup = 'KDB2HTML\s*=';
+      #if ($MakefileData !~ /\n($lookup)/) {
+#	$lines = "KDB2HTML = \$(SHELL) /\$(kde_bindir)/kdb2html\n";
+#      }
+      $lines .= "docs-am: HTML HTML/index.html\n";
+      $lines .= "\n";
+      $lines .= "HTML:\n";
+      $lines .= "\ttest -d HTML || mkdir HTML\n";
+      $lines .= "\n";
+      $lines .= "HTML/index.html: HTML index.docbook\n";
+      $lines .= "\t\@test -d HTML && rm -r HTML\n";
+      $lines .= "\t\$(KDB2HTML) \$(srcdir)/index.docbook\n";
+      $lines .= "\n";
+      $lines .= "install-docs:\n";
+      $lines .= "\t\$(mkinstalldirs) \$(DESTDIR)\$(kde_htmldir)/$kdelang/$appname\n";
+      $lines .= "\t-\@filelist=\"\" ;\\\n";
+      $lines .= "\tif test -d HTML; then \\\n";
+      $lines .= "\t  filelist=`(cd HTML && ls -1 * .anchors 2> /dev/null)`; \\\n";
+      $lines .= "\t  dir=HTML; \\\n";
+      $lines .= "\telse if test -d \$(srcdir)/HTML; then \\\n";
+      $lines .= "\t  filelist=`(cd \$(srcdir)/HTML && ls -1 * .anchors 2> /dev/null)`; \\\n";
+      $lines .= "\t  dir=\"\$(srcdir)/HTML\" ;\\\n";
+      $lines .= "\tfi ; fi ;\\\n";
+      $lines .= "\tfor file in \$\$filelist; do if test -f \$\$dir/\$\$file; then \\\n";
+      $lines .= "\techo \$(INSTALL_DATA) \$\$dir/\$\$file \$(DESTDIR)\$(kde_htmldir)/$kdelang/$appname/\$\$file ;\\\n";
+      $lines .= "\t\$(INSTALL_DATA) \$\$dir/\$\$file \$(DESTDIR)\$(kde_htmldir)/$kdelang/$appname/\$\$file; \\\n";
+      $lines .= "\tfi; done\n";
+      $lines .= "\t-rm -f \$(DESTDIR)\$(kde_htmldir)/$kdelang/$appname/common\n";
+      $lines .= "\t\$(LN_S) \$(kde_libs_htmldir)/$kdelang/common \$(DESTDIR)\$(kde_htmldir)/$kdelang/$appname/common\n";
+
+      $lines .= "\n";
+      $lines .= "uninstall-docs:\n";
+      $lines .= "\t-rm -rf \$(kde_htmldir)/$kdelang/$appname\n";
+      $lines .= "\n";
+      $target_adds{"install-data-am"} .= "install-docs ";
+      $target_adds{"uninstall"} .= "uninstall-docs ";
+      appendLines ($lines);
+    } else {
+      appendLines("docs-am:\n");
+    }
+
+    $target_adds{"install-data-am"} .= "install-nls";
+    $target_adds{"uninstall"} .= "uninstall-nls ";
+
+    $tmp = "install-nls:\n";
+    $tmp .= "\t\$(mkinstalldirs) \$(DESTDIR)\$(kde_htmldir)/$kdelang/$appname\n";
+    $tmp .= "\t\@for base in $files; do \\\n";
+    $tmp .= "\t  echo \$(INSTALL_DATA) \$\$base \$(DESTDIR)\$(kde_htmldir)/$kdelang/$appname/\$\$base ;\\\n";
+    $tmp .= "\t  \$(INSTALL_DATA) \$(srcdir)/\$\$base \$(DESTDIR)\$(kde_htmldir)/$kdelang/$appname/\$\$base ;\\\n";
+    $tmp .= "\tdone\n";
+    if ($appname eq 'common') {
+      $tmp .= "\t\@echo \"merging common and language specific dir\" ;\\\n";
+	  $tmp .= "\tif test ! -e \$(kde_htmldir)/en/common/kde-common.css; then echo 'no english docs found in \$(kde_htmldir)/en/common/'; exit 1; fi \n";
+      $tmp .= "\t\@com_files=`cd \$(kde_htmldir)/en/common && echo *` ;\\\n";
+      $tmp .= "\tcd \$(DESTDIR)\$(kde_htmldir)/$kdelang/common ;\\\n";
+      $tmp .= "\tif test -n \"\$\$com_files\"; then for p in \$\$com_files ; do \\\n";
+      $tmp .= "\t  case \" $files \" in \\\n";
+      $tmp .= "\t    *\" \$\$p \"*) ;; \\\n";
+      $tmp .= "\t    *) test ! -e \$\$p && echo \$(LN_S) ../../en/common/\$\$p \$(DESTDIR)\$(kde_htmldir)/$kdelang/common/\$\$p && \$(LN_S) ../../en/common/\$\$p \$\$p ;; \\\n";
+      $tmp .= "\t  esac ; \\\n";
+      $tmp .= "\tdone ; fi ; true\n";
+    }
+    $tmp .= "\n";
+    $tmp .= "uninstall-nls:\n";
+    $tmp .= "\tfor base in $files; do \\\n";
+    $tmp .= "\t  rm -f \$(DESTDIR)\$(kde_htmldir)/$kdelang/$appname/\$\$base ;\\\n";
+    $tmp .= "\tdone\n\n";
+    appendLines ($tmp);
+
+    $target_adds{"distdir"} .= "distdir-nls ";
+
+    $tmp = "distdir-nls:\n";
+    $tmp .= "\tfor file in $files; do \\\n";
+    $tmp .= "\t  cp \$(srcdir)/\$\$file \$(distdir); \\\n";
+    $tmp .= "\tdone\n";
+
+    appendLines ($tmp);
+
+    return 0;
+
+  nodocs:
+    appendLines("docs-am:\n");
+    return 1;
+}
+
+#-----------------------------------------------------------------------------
+# Find headers in any of the source directories specified previously, that
+# are candidates for "moc-ing".
+sub findMocCandidates ()
+{
+    my @list = ();
+    foreach $dir (@headerdirs)
+    {
+        chdir ($dir);
+        @list = `grep -l '^.*Q_OBJECT' $hExt 2> /dev/null`;
+        chdir ($makefileDir);
+
+        # The assoc array of root of headerfile and header filename
+        foreach $hFile (@list)
+        {
+            chomp ($hFile);
+            $hFile =~ /(.*)\.[^\.]*$/;          # Find name minus extension
+            if ($mocFiles{$1})
+            {
+                print STDERR "Warning: Multiple header files found for $1\n";
+                next;                           # Use the first one
+            }
+            $mocFiles{$1} = "$dir\035$hFile";   # Add relative dir
+        }
+    }
+
+    return 0;
+}
+
+#-----------------------------------------------------------------------------
+
+# The programmer has specified a moc list. Prune out the moc candidates
+# list that we found based on looking at the header files. This generates
+# a warning if the programmer gets the list wrong, but this doesn't have
+# to be fatal here.
+sub pruneMocCandidates ($)
+{
+    my %prunedMoc = ();
+    local @mocList = split(' ', $_[0]);
+
+    foreach $mocname (@mocList)
+    {
+        $mocname =~ s/\.moc$//;
+        if ($mocFiles{$mocname})
+        {
+            $prunedMoc{$mocname} = $mocFiles{$mocname};
+        }
+        else
+        {
+            my $print = $makefileDir;
+            $print =~ s/^\Q$topdir\E\\//;
+            # They specified a moc file but we can't find a header that
+            # will generate this moc file. That's possible fatal!
+            print STDERR "Warning: No moc-able header file for $print/$mocname\n";
+        }
+    }
+
+    undef %mocFiles;
+    %mocFiles = %prunedMoc;
+}
+
+#-----------------------------------------------------------------------------
+
+# Finds the cpp files (If they exist).
+# The cpp files get appended to the header file separated by \035
+sub checkMocCandidates ()
+{
+    my @cppFiles = ();
+
+    foreach $mocFile (keys (%mocFiles))
+    {
+        # Find corresponding c++ files that includes the moc file
+        @cppFiles = `echo \`ls -1d $cppExt 2> /dev/null | egrep -v "\.moc\.$cxxsuffix\$" | egrep -v "all_$cxxsuffix\.$cxxsuffix\$"\``;
+
+        if (@cppFiles)  {
+            my $files = join(" ", @cppFiles);
+            @cppFiles =
+              `egrep -l "^[ 	]*#include[ 	]*.$mocFile\.moc." $files 2>/dev/null`;
+        }
+
+        if (@cppFiles == 1)
+        {
+            chomp $cppFiles[0];
+            $mocFiles{$mocFile} .= "\035" . $cppFiles[0];
+	    push(@deped, $mocFile);
+            next;
+        }
+
+        if (@cppFiles == 0)
+        {
+            push (@newObs, $mocFile);           # Produce new object file
+            next    if ($haveAutomocTag);       # This is expected...
+            # But this is an error we can deal with - let them know
+            print STDERR
+                "Warning: No c++ file that includes $mocFile.moc\n";
+            next;
+        }
+        else
+        {
+            # We can't decide which file to use, so it's fatal. Although as a
+            # guess we could use the mocFile.cpp file if it's in the list???
+            print STDERR
+                "Error: Multiple c++ files that include $mocFile.moc\n";
+            print STDERR "\t",join ("\t", @cppFiles),"\n";
+            $errorflag = 1;
+            delete $mocFiles{$mocFile};
+            # Let's continue and see what happens - They have been told!
+        }
+    }
+}
+
+#-----------------------------------------------------------------------------
+
+# Add the rules for generating moc source from header files
+# For Automoc output *.moc.cpp but normally we'll output *.moc
+# (We must compile *.moc.cpp separately. *.moc files are included
+# in the appropriate *.cpp file by the programmer)
+sub addMocRules ()
+{
+    my $cppFile;
+    my $hFile;
+
+    foreach $mocFile (keys (%mocFiles))
+    {
+        undef $cppFile;
+        ($dir, $hFile, $cppFile) =  split ("\035", $mocFiles{$mocFile}, 3);
+        $dir =~ s#^\.#\$(srcdir)#;
+        if (defined ($cppFile))
+        {
+            $target_adds{"\$(srcdir)/$cppFile"} .= "$mocFile.moc ";
+            appendLines ("$mocFile.moc: $dir/$hFile\n\t\$(MOC) $dir/$hFile -o $mocFile.moc\n");
+            $cleanMoc .= " $mocFile.moc";
+        }
+        else
+        {
+            appendLines ("$mocFile$mocExt: $dir/$hFile\n\t\$(MOC) $dir/$hFile -o $mocFile$mocExt\n");
+            $cleanMoc .= " $mocFile$mocExt";
+        }
+    }
+}
+
+sub make_meta_classes ()
+{
+    return if ($kdeopts{"qtonly"});
+
+    my $cppFile;
+    my $hFile;
+    my $moc_class_headers = "";
+    my @cppFiles =
+	`grep -l "setMocClasses[ 	]*(.*)[ 	]*;" $cppExt 2> /dev/null`;
+    chomp(@cppFiles);
+    print STDOUT "C++ files with setMocClasses() = [".join(' ', @cppFiles)."]\n"
+        if $verbose;
+    foreach $program (@programs) {
+	my $mocs = "";
+	my @progsources = split(/[\s\034]+/, $sources{$program});
+	my @depmocs = split(' ', $depedmocs{$program});
+	my %shash = (), %mhash = ();
+	@shash{@progsources} = 1;  # we are only interested in the existence
+	@mhash{@depmocs} = 1;
+
+	print STDOUT "program=$program\n" if ($verbose);
+	print STDOUT "psources=[".join(' ', keys %shash)."]\n" if ($verbose);
+	print STDOUT "depmocs=[".join(' ', keys %mhash)."]\n" if ($verbose);
+	print STDOUT "globalmocs=[".join(' ', keys(%globalmocs))."]\n" if ($verbose);
+	foreach my $mocFile (keys (%globalmocs))
+	{
+	    undef $cppFile;
+	    ($dir, $hFile, $cppFile) = split ("\035", $globalmocs{$mocFile}, 3);
+	    $dir =~ s#^\.#\$(srcdir)#;
+	    if (defined ($cppFile))
+	    {
+		#print STDOUT "cpp=$cppFile\n";
+		$mocs .= " $mocFile.moc" if exists $shash{$cppFile};
+	    }
+	    else
+	    {
+		# Bah. This is the case, if no C++ file includes the .moc
+		# file. We make a .moc.cpp file for that. Unfortunately this
+		# is not included in the %sources hash, but rather is mentioned
+		# in %depedmocs. If the user wants to use AUTO he can't just
+		# use an unspecific METAINCLUDES. Instead he must use
+		# program_METAINCLUDES. Anyway, it's not working real nicely.
+		# E.g. Its not clear what happens if user specifies two
+		# METAINCLUDES=AUTO in the same Makefile.am.
+		$mocs .= " $mocFile.moc.$cxxsuffix"
+		    if exists $mhash{$mocFile.".moc.$cxxsuffix"};
+	    }
+	}
+  	$mocs .= $ui_mocs;
+	if ($mocs) {
+	    print STDOUT "==> mocs=[".$mocs."]\n" if ($verbose);
+	    my $sourcename = $program."_meta_unload";
+	    my $ext = ($program =~ /_la$/) ? ".lo" : ".o";
+	    my $srcfile = $sourcename.".$cxxsuffix";
+	    my $objfile = $sourcename.$ext;
+	    $moc_class_headers .= " $srcfile";
+	    my $appl;
+	    $appl  = "$srcfile: $mocs\n";
+	    $appl .= "\t\@echo 'creating $srcfile'\n";
+	    $appl .= "\t-rm -f $srcfile\n";
+	    $appl .= "\t\@echo 'static const char * _metalist_$program\[\] = {' > $srcfile\n";
+	    $appl .= "\tcat $mocs | grep 'char.*className' | ";
+	    $appl .=  "sed -e 's/.*[^A-Za-z0-9_:]\\([A-Za-z0-9_:]*\\)::className.*\$\$/\\\"\\1\\\",/' | sort | uniq >> $srcfile\n";
+	    $appl .= "\t\@echo '0};' >> $srcfile\n";
+	    $appl .= "\t\@echo '#include <kunload.h>' >> $srcfile\n";
+	    $appl .= "\t\@echo '_UNLOAD($program)' >> $srcfile\n";
+		$appl .= "\n";
+	    
+	    $realObjs{$program} .= " \034" . $objfile . " ";
+	    $sources{$program} .= " $srcfile";
+            $sources_changed{$program} = 1;
+            $dep_files .= " \$(DEPDIR)/$sourcename.P";
+
+	    # now also add a dependency for the C++ file which includes a
+	    # setMocClasses() call, and is part of this program (if any)
+	    #foreach $cppFile (@cppFiles) {
+		#print STDOUT "testing $cppFile\n" if $verbose;
+	        #if (exists $shash{$cppFile}) {
+		#    $appl .= "\$(srcdir)/$cppFile: $header\n";
+		#}
+	    #}
+	    appendLines ($appl);
+	}
+	print STDOUT "\n" if $verbose;
+    }
+    if ($moc_class_headers) {
+        appendLines ("$cleantarget-moc-classes:\n\t-rm -f $moc_class_headers\n");
+        $target_adds{"$cleantarget-am"} .= "$cleantarget-moc-classes ";
+    }
+}
+
+#-----------------------------------------------------------------------------
+
+sub updateMakefile ()
+{
+    return if ($dryrun);
+
+    open (FILEOUT, "> $makefile")
+                        || die "Could not create $makefile: $!\n";
+
+    print FILEOUT "\# $progId - " . '$Revision: 1.237 $ '  . "\n";
+    $MakefileData =~ s/\034/\\\n/g;    # Restore continuation lines
+    print FILEOUT $MakefileData;
+    close FILEOUT;
+}
+
+#-----------------------------------------------------------------------------
+
+# The given line needs to be removed from the makefile
+# Do this by adding the special "removed line" comment at the line start.
+sub removeLine ($$)
+{
+    my ($lookup, $old) = @_;
+
+    $old =~ s/\034/\\\n#>- /g;          # Fix continuation lines
+    $MakefileData =~ s/\n$lookup/\n#>\- $old/;
+}
+
+#-----------------------------------------------------------------------------
+
+# Replaces the old line with the new line
+# old line(s) are retained but tagged as removed. The new line(s) have the
+# "added" tag placed before it.
+sub substituteLine ($$)
+{
+    my ($lookup, $new) = @_;
+
+    if ($MakefileData =~ /\n($lookup)/) {
+      $old = $1;
+      $old =~ s/\034/\\\n#>\- /g;         # Fix continuation lines
+      $new =~ s/\034/\\\n/g;
+      my $newCount = 1;
+      $newCount++  while ($new =~ /\n/g);
+
+      $MakefileData =~ s/\n$lookup/\n#>- $old\n#>\+ $newCount\n$new/;
+    } else {
+      print STDERR "Warning: substitution of \"$lookup\" in $printname failed\n";
+    }
+}
+
+#-----------------------------------------------------------------------------
+
+# Slap new lines on the back of the file.
+sub appendLines ($)
+{
+    my ($new) = @_;
+
+    $new =~ s/\034/\\\n/g;        # Fix continuation lines
+    my $newCount = 1;
+    $newCount++  while ($new =~ /\n/g);
+
+    $MakefileData .= "\n#>\+ $newCount\n$new";
+}
+
+#-----------------------------------------------------------------------------
+
+# Restore the Makefile.in to the state it was before we fiddled with it
+sub restoreMakefile ()
+{
+    $MakefileData =~ s/# $progId[^\n\034]*[\n\034]*//g;
+    # Restore removed lines
+    $MakefileData =~ s/([\n\034])#>\- /$1/g;
+    # Remove added lines
+    while ($MakefileData =~ /[\n\034]#>\+ ([^\n\034]*)/)
+    {
+        my $newCount = $1;
+        my $removeLines = "";
+        while ($newCount--) {
+            $removeLines .= "[^\n\034]*([\n\034]|)";
+        }
+        $MakefileData =~ s/[\n\034]#>\+.*[\n\034]$removeLines/\n/;
+    }
+}
+
+#-----------------------------------------------------------------------------
diff --git a/admin/am_edit.py b/admin/am_edit.py
new file mode 100644
index 0000000..dfe574e
--- /dev/null
+++ b/admin/am_edit.py
@@ -0,0 +1,330 @@
+import getopt, string, posixpath, sys, os, os.path, re
+
+# Some global globals...
+verbose     = 0
+thisProg    = posixpath.basename(sys.argv[0])
+if not thisProg: # happy only when running in xemacs ;/
+    thisProg = 'am_edit.py'
+cppsuffixes = ['cpp', 'cc', 'cxx', 'C', 'c++']
+hExt        = ['h', 'H', 'hh', 'hxx', 'h++']
+progId      = "KDE tags expanded automatically by " + thisProg
+use_final   = 1
+dryrun      = 0
+pathoption  = 0
+topdir      = os.path.abspath(os.curdir) + "/"
+foreigndirs = []
+
+class Makefile:
+    def __init__(self, file):
+        # some useful globals for the subroutines called here
+        self.headerdirs = ['.']
+        self.haveAutomocTag   = 0
+
+        self.programs = []
+
+        # lists the objects compiled into $program
+        self.realobjs = {}
+        # lists the sources used for $program
+        self.sources = {}
+        # lists the objects compiled when final
+        self.finalObjs = {}
+        # the binary name of program variable
+        self.realname = {}
+        # lists the idl files used for $program
+        self.idlfiles = {}
+        # lists all idl generated files for cleantarget
+        self.idl_output = ""
+
+        self.depedmocs = {}
+
+        self.dep_files      = ""
+        self.dep_finals     = ""
+        # the targets to add
+        self.target_adds    = {}
+        self.kdelang        = ""
+        self.makefile       = file
+        self.makefileDir    = os.path.dirname(self.makefile)
+        self.options        = {}
+
+
+    NoMakefileAmFound = "found Makefile.in without Makefile.am"
+
+    def findLine(self, line):
+        import types
+        if type(line) is types.StringType:
+            regexp = re.compile(line)
+        else:
+            regexp = line
+        for line in self.lines:
+            match = regexp.match(line)
+            if match:
+                return match
+    
+    def substituteLine(self, old, new):
+        import types
+        if type(old) is types.StringType:
+            regexp = re.compile(old)
+        else:
+            regexp = old
+            
+        for index in range(len(self.lines)):
+            line = self.lines[index]
+            match = regexp.match(line)
+            if match:
+                line = '#>- ' + line
+                newlines = string.split(new, '\n')
+                self.lines[index:index+1] = [line, '#>+ %d' % len(newlines)] + newlines
+                return
+
+    def addTarget(self, target, dependson):
+        if not self.target_adds.has_key(target):
+            self.target_adds[target] = [dependson]
+        else:
+            self.target_adds[target].append(dependson)
+            
+    def appendLines(self, newlines):
+        lines = string.split(newlines, '\n') + ['\n']
+        self.lines.extend(['#>+ %d' % len(lines)] + lines)
+        
+    def restore(self):
+        index = 0
+        while index < len(self.lines):
+            line = self.lines[index]
+            if line[0:3] == '#>+':
+                # the +1 is the comment itself
+                linec = string.atoi(line[3:]) + 1
+                del self.lines[index:index+linec]
+                continue
+            if line[0:3] == '#>-':
+                self.lines[index] = self.lines[index][4:]
+            index = index + 1
+        
+    def initialize(self):
+        global foreigndirs
+
+        os.chdir(self.makefileDir)
+        self.printname = string.replace(self.makefile, topdir, "")
+        self.makefile = os.path.basename(self.makefile)
+
+        if not posixpath.exists("Makefile.am"):
+            raise self.NoMakefileAmFound, self.makefileDir
+
+        for dir in foreigndirs:
+            if dir.match(self.makefileDir):
+                print 'leaving ' + self.makefileDir
+                return 0
+
+        f = open(self.makefile)
+        self.lines = []
+      
+        while 1:
+            line = f.readline()
+            if not line: break
+            self.lines.append(string.rstrip(line))
+
+        f.close()
+        
+        # take out the 
+        self.restore()
+        
+        optionline = re.compile('^\s*(\w+)\s*=\s*([^\n]*)$')
+        linecontinued = re.compile('\\\s*\n')
+        lastline = ''
+
+        index = 0
+        while index < len(self.lines):
+            line = self.lines[index]
+            if linecontinued.search(line):
+                self.lines[index] = linecontinued.sub(' ', line) + self.lines[index+1]
+                continue
+            else:
+                index = index + 1
+
+            match = optionline.search(line)
+            if match:
+                self.options[match.group(1)] = match.group(2)
+
+        if self.options.has_key('KDE_OPTIONS'):
+            options = string.split(self.options['KDE_OPTIONS'])
+            if 'foreign' in options:
+                foreigndirs.append(re.compile(self.makefileDir + "/.*"))
+                return 0
+
+        self.cxxsuffix = ""
+        suffixes = re.compile('^\.SUFFIXES:(.*)$')
+
+        for line in self.lines:
+            match = suffixes.match(line)
+            if match:
+                existing_suffixes = string.split(match.group(1))
+                for suffix in existing_suffixes:
+                    # leave out the .
+                    if suffix[1:] in cppsuffixes:
+                        self.cxxsuffix = suffix[1:]
+                        break
+                if self.cxxsuffix:
+                    break
+
+        search_real_programs = {}
+
+        for option in self.options.keys():
+            if string.rfind(option, '_OBJECTS') > 0:
+
+                program = option[0:string.find(option, '_OBJECTS')]
+                objs = self.options[option]
+
+                variable_in_objects = 0
+
+                objlist = string.split(objs)
+                variable = re.compile('\$\((\w+)\)')
+                for obj in objlist:
+                    match = variable.match(obj)
+                    if match and not match.group(1) == 'OBJEXT':
+                        variable_in_objects = 1
+                        break
+
+                if variable_in_objects:
+                    continue
+
+                if len(program) > 3 and program[3] == 'am_':
+                    program = program[3:]
+
+                if verbose:
+                    print "found program " + program
+
+                self.programs.append(program)
+                self.realobjs[program] = objs
+
+                if self.options.has_key(program + "_SOURCES"):
+                    self.sources[program] = self.options[program + "_SOURCES"]
+                else:
+                    self.sources[program] = ""
+                    sys.stderr.write("found program with no _SOURCES: " + program + '\n')
+
+                # unmask to regexp
+                realprogram = string.replace(program, '_', '.')
+                search_real_programs[program] = re.compile('.*(' + realprogram +
+                                                           ')(\$\(EXEEXT\)?)?:.*\$\(' +
+                                                           program + '_OBJECTS\).*')
+
+                self.realname[program] = "";
+
+        for line in self.lines:
+            if string.find(line, '_OBJECTS') > 0: # just a random piece to not use at _every_ line
+                for program in self.programs:
+                    match = search_real_programs[program].match(line)
+                    if match:
+                        self.realname[program] = match.group(1)
+
+    def finalTouch(self):
+        if self.options.has_key('DEPDIR'):
+            sys.stderr.write(self.printname + " defines DEPDIR. This means you're using automake > 1.4 - this is not supported!")
+        else:
+            # taken out a random variable
+            self.substituteLine('bindir\s*=.*', 'DEPDIR = .deps\nbindir = ' + self.options['bindir'])
+
+        self.appendLines('cvs-clean:\n' +
+                         '\t$(MAKE) -f $(top_srcdir)/admin/Makefile.common cvs-clean')
+
+        self.appendLines('kde-rpo-clean:\n'+
+                         '\t-rm -f *.rpo')
+
+        self.addTarget('clean', 'kde-rpo-clean')
+        self.addAllTargets()
+
+    def addAllTargets(self):
+        for target in self.target_adds.keys():
+            match = self.findLine(target + ':\s*(.*)')
+            if match:
+                self.substituteLine(match.re, target + ': ' +
+                                    string.join(self.target_adds[target]) +
+                                    ' ' + match.group(1))
+                    
+    def writeback(self):
+        f = open(self.makefile, 'w')
+        for line in self.lines:
+            f.write(line)
+            f.write('\n')
+        f.close()
+
+    def tag_automake(self):
+        match = self.findLine('^(.*cd \$\(top_srcdir\)\s+&&\s+\$\(AUTOMAKE\).*)$')
+        if not match: return 1
+        self.substituteLine(match.re, match.group(1) + '\n' +
+                       '\tcd $(top_srcdir) && python ' +
+                       thisProg + ' ' + self.printname)
+        
+def main():
+    global use_final, dryrun, pathoption, thisProg, verbose
+
+    optlist, makefiles = getopt.getopt(sys.argv[1:], 'vhp:n', [
+        'version', 'verbose', 'path=', 'help', 'no-final'])
+
+    for option, param in optlist:
+        if option == '--version':
+            print "\n"
+            print thisProg + "$Revision: 1.3 $"
+            print "This is really free software, unencumbered by the GPL."
+            print "You can do anything you like with it except sueing me."
+            print "Copyright 1998 Kalle Dalheimer <kalle\@kde.org>"
+            print "Concept, design and unnecessary questions about perl"
+            print "     by Matthias Ettrich <ettrich\@kde.org>"
+            print ""
+            print "Making it useful by Stephan Kulow <coolo\@kde.org> and"
+            print "Harri Porten <porten\@kde.org>"
+            print "Updated (Feb-1999), John Birch <jb.nz\@writeme.com>"
+            print "Current Maintainer Stephan Kulow"
+            sys.exit(0)
+        if option == '--verbose' or option == '-v':
+            verbose = 1
+        if option == '-p' or option == '--path':
+            thisProg = param + "/" + thisProg
+            if (not posixpath.exists(thisProg)):
+                sys.stderr.write(thisProg + " doesn't exist\n")
+            pathoption=1
+        if option == '--help' or option == '-h':
+            print "Usage " + thisProg + " [OPTION] ... [dir/Makefile.in]..."
+            print "Patches dir/Makefile.in generated from automake"
+            print "(where dir can be a full or relative directory name)"
+            print "  -v, --verbose      verbosely list files processed"
+            print "  -h, --help         print this help, then exit"
+            print "  --version          print version number, then exit"
+            print "  -p, --path=        use the path to am_edit if the path"
+            print "  --no-final         don't patch for --enable-final"
+            print "                     called from is not the one to be used"
+            sys.exit(0)
+        if option == '--no-final':
+            use_final = 0
+        if option == '-n':
+            dryrun = 1
+
+    if not use_final:
+        thisProg = thisProg + " --no-final"
+
+    if thisProg[0] == '/' and not pathoption:
+        sys.stderr.write( "Illegal full pathname call performed...\n"
+                          "The call to \"" + thisProg + "\"\n"
+                          "would be inserted in some Makefile.in.\n"
+                          "Please use option --path.\n")
+        sys.exit(1)
+
+    if len(makefiles) == 0:
+        import find
+        makefiles = find.find('Makefile.in')
+
+    for index in range(len(makefiles)):
+        if not makefiles[index][0] == '/':
+            makefiles[index] = os.path.normcase(os.path.abspath(makefiles[index]))
+
+    makefiles.sort()
+    for file in makefiles:
+        makefile = Makefile(file)
+        try:
+            makefile.initialize()
+            makefile.tag_automake()
+            makefile.finalTouch()
+            makefile.writeback()
+        except Makefile.NoMakefileAmFound, param:
+            if verbose: print Makefile.NoMakefileAmFound + ' in ' + param
+
+main()
diff --git a/admin/conf.change.pl b/admin/conf.change.pl
new file mode 100644
index 0000000..e35ce45
--- /dev/null
+++ b/admin/conf.change.pl
@@ -0,0 +1,111 @@
+#!/usr/bin/perl -w
+
+# this script patches a config.status file, to use our own perl script
+# in the main loop
+# we do it this way to circumvent hacking (and thereby including)
+# autoconf function (which are GPL) into our LGPL acinclude.m4.in
+# written by Michael Matz <matz at ifh.de>
+
+# we have to change two places
+# 1. the splitting of the substitutions into chunks of 90 (or even 48 in
+#    later autoconf's
+# 2. the big main loop which patches all Makefile.in's
+use File::Basename;
+
+my $ac_aux_dir = dirname($0);
+my ($flag);
+my $ac_version = 0;
+my $vpath_seen = 0;
+$flag = 0;
+
+while (<>) {
+# usage of $flag: 0 -- we have seen nothing yet
+#   1 -- we are in (1)
+#   2 -- we have ended (1)
+#   3 -- we are in (2)
+#   4 -- we ended (2)
+
+    if ($flag == 4) {
+        print;
+    } elsif ($flag == 0) {
+# 1. begins with (including): "ac_max_sed_\S+\s*=\s*[0-9]+..."
+#    ends with (excluding) "CONFIG_FILE=..."
+#    in later autoconf (2.14.1) there is no CONFIG_FILES= line,
+#    but instead the (2) directly follow (1)
+        if (/^\s*ac_max_sed_([a-z]+).*=\s*[0-9]+/ ) {
+	    $flag = 1;
+	    if ($1 eq 'lines') {
+	        $ac_version = 2141;
+	    } elsif ($1 eq 'cmds') {
+	        $ac_version = 213;
+	    }
+	    # hmm, we don't know the autoconf version, but we try anyway
+	} else {
+	    print;
+	}
+    } elsif ($flag == 1) {
+        if (/^\s*CONFIG_FILES=/ ) {
+	     print;
+	     $flag = 2;
+	} elsif (/^\s*for\s+ac_file\s+in\s+.*CONFIG_FILES/ ) {
+	     $flag = 3;
+	     if ($ac_version != 2141) {
+	         $ac_version = 2141;
+	     }
+	}
+    } elsif ($flag == 2) {
+# 2. begins with: "for ac_file in.*CONFIG_FILES"  (the next 'for' after (1))
+#    end with: "rm -f conftest.s\*"
+	if (/^\s*for\s+ac_file\s+in\s+.*CONFIG_FILES/ ) {
+	    $flag = 3;
+	} else {
+	    print;
+	}
+    } elsif ($flag == 3) {
+        if (/^\s*rm\s+-f\s+conftest/ ) {
+	    $flag = 4;
+	    insert_main_loop();
+	} elsif (/^\s*rm\s+-f\s+.*ac_cs_root/ ) {
+	    $flag = 4;
+	    insert_main_loop();
+	    #die "hhhhhhh";
+	    if ($ac_version != 2141) {
+	        print STDERR "hmm, don't know autoconf version\n";
+	    }
+	} elsif (/VPATH/ ) {
+	    $vpath_seen = 1;
+	}
+    }
+}
+
+die "wrong input (flag != 4)" unless $flag == 4;
+print STDERR "hmm, don't know autoconf version\n" unless $ac_version;
+
+sub insert_main_loop {
+    print <<EOF;
+#echo Doing the fast build of Makefiles -- autoconf $ac_version
+if test "x\$ac_cs_root" = "x" ; then
+    ac_cs_root=conftest
+fi
+EOF
+    if ($vpath_seen) {
+        print <<EOF;
+# VPATH subst was seen in original config.status main loop
+echo '/^[ 	]*VPATH[ 	]*=[^:]*\$/d' >> \$ac_cs_root.subs
+EOF
+    }
+    print <<EOF;
+rm -f \$ac_cs_root.sacfiles
+for ac_file in .. \$CONFIG_FILES ; do
+    if test "x\$ac_file" != x..; then
+        echo \$ac_file >> \$ac_cs_root.sacfiles
+    fi
+done
+if test -f \$ac_cs_root.sacfiles ; then
+    perl $ac_aux_dir/config.pl "\$ac_cs_root" "\$ac_given_srcdir" "\$ac_given_INSTALL"
+fi
+rm -f \$ac_cs_root.s*
+
+EOF
+    return;
+}
diff --git a/admin/config.guess b/admin/config.guess
new file mode 100755
index 0000000..3b0cc04
--- /dev/null
+++ b/admin/config.guess
@@ -0,0 +1,1356 @@
+#! /bin/sh
+# Attempt to guess a canonical system name.
+#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000
+#   Free Software Foundation, Inc.
+
+timestamp='2000-12-02'
+
+# This file is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# Written by Per Bothner <bothner at cygnus.com>.
+# Please send patches to <config-patches at gnu.org>.
+#
+# This script attempts to guess a canonical system name similar to
+# config.sub.  If it succeeds, it prints the system name on stdout, and
+# exits with 0.  Otherwise, it exits with 1.
+#
+# The plan is that this can be called by configure scripts if you
+# don't specify an explicit build system type.
+#
+# Only a few systems have been added to this list; please add others
+# (but try to keep the structure clean).
+#
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION]
+
+Output the configuration name of the system \`$me' is run on.
+
+Operation modes:
+  -h, --help         print this help, then exit
+  -t, --time-stamp   print date of last modification, then exit
+
+Report bugs and patches to <config-patches at gnu.org>.
+
+Written by Per Bothner.
+Copyright (C) 1992, 93, 94, 95, 96, 97, 98, 99, 2000
+Free Software Foundation, Inc.  See the source for copying conditions."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+  case $1 in
+    --time-stamp | --time* | -t)
+       echo "$timestamp" ; exit 0 ;;
+    --help | --h* | -h )
+       echo "$usage"; exit 0 ;;
+    -- )     # Stop option processing
+       shift; break ;;
+    - )	# Use stdin as input.
+       break ;;
+    -* )
+       echo "$me: invalid option $1$help" >&2
+       exit 1 ;;
+    * )
+       break ;;
+  esac
+done
+
+if test $# != 0; then
+  echo "$me: too many arguments$help" >&2
+  exit 1
+fi
+
+
+dummy=dummy-$$
+trap 'rm -f $dummy.c $dummy.o $dummy; exit 1' 1 2 15
+
+# CC_FOR_BUILD -- compiler used by this script.
+# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
+# use `HOST_CC' if defined, but it is deprecated.
+
+case $CC_FOR_BUILD,$HOST_CC,$CC in
+ ,,)    echo "int dummy(){}" > $dummy.c
+	for c in cc gcc c89 ; do
+	  ($c $dummy.c -c -o $dummy.o) >/dev/null 2>&1
+	  if test $? = 0 ; then
+	     CC_FOR_BUILD="$c"; break
+	  fi
+	done
+	rm -f $dummy.c $dummy.o
+	if test x"$CC_FOR_BUILD" = x ; then
+	  CC_FOR_BUILD=no_compiler_found
+	fi
+	;;
+ ,,*)   CC_FOR_BUILD=$CC ;;
+ ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
+esac
+
+# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
+# (ghazi at noc.rutgers.edu 8/24/94.)
+if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
+	PATH=$PATH:/.attbin ; export PATH
+fi
+
+UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
+UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
+UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
+UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
+
+# Note: order is significant - the case branches are not exclusive.
+
+case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
+    *:NetBSD:*:*)
+	# Netbsd (nbsd) targets should (where applicable) match one or
+	# more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
+	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
+	# switched to ELF, *-*-netbsd* would select the old
+	# object file format.  This provides both forward
+	# compatibility and a consistent mechanism for selecting the
+	# object file format.
+	# Determine the machine/vendor (is the vendor relevant).
+	case "${UNAME_MACHINE}" in
+	    amiga) machine=m68k-unknown ;;
+	    arm32) machine=arm-unknown ;;
+	    atari*) machine=m68k-atari ;;
+	    sun3*) machine=m68k-sun ;;
+	    mac68k) machine=m68k-apple ;;
+	    macppc) machine=powerpc-apple ;;
+	    hp3[0-9][05]) machine=m68k-hp ;;
+	    ibmrt|romp-ibm) machine=romp-ibm ;;
+	    *) machine=${UNAME_MACHINE}-unknown ;;
+	esac
+	# The Operating System including object format, if it has switched
+	# to ELF recently, or will in the future.
+	case "${UNAME_MACHINE}" in
+	    i386|sparc|amiga|arm*|hp300|mvme68k|vax|atari|luna68k|mac68k|news68k|next68k|pc532|sun3*|x68k)
+		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
+			| grep __ELF__ >/dev/null
+		then
+		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
+		    # Return netbsd for either.  FIX?
+		    os=netbsd
+		else
+		    os=netbsdelf
+		fi
+		;;
+	    *)
+	        os=netbsd
+		;;
+	esac
+	# The OS release
+	release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
+	# contains redundant information, the shorter form:
+	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
+	echo "${machine}-${os}${release}"
+	exit 0 ;;
+    alpha:OSF1:*:*)
+	if test $UNAME_RELEASE = "V4.0"; then
+		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
+	fi
+	# A Vn.n version is a released version.
+	# A Tn.n version is a released field test version.
+	# A Xn.n version is an unreleased experimental baselevel.
+	# 1.2 uses "1.2" for uname -r.
+	cat <<EOF >$dummy.s
+	.data
+\$Lformat:
+	.byte 37,100,45,37,120,10,0	# "%d-%x\n"
+
+	.text
+	.globl main
+	.align 4
+	.ent main
+main:
+	.frame \$30,16,\$26,0
+	ldgp \$29,0(\$27)
+	.prologue 1
+	.long 0x47e03d80 # implver \$0
+	lda \$2,-1
+	.long 0x47e20c21 # amask \$2,\$1
+	lda \$16,\$Lformat
+	mov \$0,\$17
+	not \$1,\$18
+	jsr \$26,printf
+	ldgp \$29,0(\$26)
+	mov 0,\$16
+	jsr \$26,exit
+	.end main
+EOF
+	$CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null
+	if test "$?" = 0 ; then
+		case `./$dummy` in
+			0-0)
+				UNAME_MACHINE="alpha"
+				;;
+			1-0)
+				UNAME_MACHINE="alphaev5"
+				;;
+			1-1)
+				UNAME_MACHINE="alphaev56"
+				;;
+			1-101)
+				UNAME_MACHINE="alphapca56"
+				;;
+			2-303)
+				UNAME_MACHINE="alphaev6"
+				;;
+			2-307)
+				UNAME_MACHINE="alphaev67"
+				;;
+		esac
+	fi
+	rm -f $dummy.s $dummy
+	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+	exit 0 ;;
+    Alpha\ *:Windows_NT*:*)
+	# How do we know it's Interix rather than the generic POSIX subsystem?
+	# Should we change UNAME_MACHINE based on the output of uname instead
+	# of the specific Alpha model?
+	echo alpha-pc-interix
+	exit 0 ;;
+    21064:Windows_NT:50:3)
+	echo alpha-dec-winnt3.5
+	exit 0 ;;
+    Amiga*:UNIX_System_V:4.0:*)
+	echo m68k-unknown-sysv4
+	exit 0;;
+    amiga:OpenBSD:*:*)
+	echo m68k-unknown-openbsd${UNAME_RELEASE}
+	exit 0 ;;
+    *:[Aa]miga[Oo][Ss]:*:*)
+	echo ${UNAME_MACHINE}-unknown-amigaos
+	exit 0 ;;
+    arc64:OpenBSD:*:*)
+	echo mips64el-unknown-openbsd${UNAME_RELEASE}
+	exit 0 ;;
+    arc:OpenBSD:*:*)
+	echo mipsel-unknown-openbsd${UNAME_RELEASE}
+	exit 0 ;;
+    hkmips:OpenBSD:*:*)
+	echo mips-unknown-openbsd${UNAME_RELEASE}
+	exit 0 ;;
+    pmax:OpenBSD:*:*)
+	echo mipsel-unknown-openbsd${UNAME_RELEASE}
+	exit 0 ;;
+    sgi:OpenBSD:*:*)
+	echo mips-unknown-openbsd${UNAME_RELEASE}
+	exit 0 ;;
+    wgrisc:OpenBSD:*:*)
+	echo mipsel-unknown-openbsd${UNAME_RELEASE}
+	exit 0 ;;
+    *:OS/390:*:*)
+	echo i370-ibm-openedition
+	exit 0 ;;
+    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
+	echo arm-acorn-riscix${UNAME_RELEASE}
+	exit 0;;
+    SR2?01:HI-UX/MPP:*:*)
+	echo hppa1.1-hitachi-hiuxmpp
+	exit 0;;
+    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
+	# akee at wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
+	if test "`(/bin/universe) 2>/dev/null`" = att ; then
+		echo pyramid-pyramid-sysv3
+	else
+		echo pyramid-pyramid-bsd
+	fi
+	exit 0 ;;
+    NILE*:*:*:dcosx)
+	echo pyramid-pyramid-svr4
+	exit 0 ;;
+    sun4H:SunOS:5.*:*)
+	echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit 0 ;;
+    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
+	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit 0 ;;
+    i86pc:SunOS:5.*:*)
+	echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit 0 ;;
+    sun4*:SunOS:6*:*)
+	# According to config.sub, this is the proper way to canonicalize
+	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
+	# it's likely to be more like Solaris than SunOS4.
+	echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit 0 ;;
+    sun4*:SunOS:*:*)
+	case "`/usr/bin/arch -k`" in
+	    Series*|S4*)
+		UNAME_RELEASE=`uname -v`
+		;;
+	esac
+	# Japanese Language versions have a version number like `4.1.3-JL'.
+	echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
+	exit 0 ;;
+    sun3*:SunOS:*:*)
+	echo m68k-sun-sunos${UNAME_RELEASE}
+	exit 0 ;;
+    sun*:*:4.2BSD:*)
+	UNAME_RELEASE=`(head -1 /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
+	test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
+	case "`/bin/arch`" in
+	    sun3)
+		echo m68k-sun-sunos${UNAME_RELEASE}
+		;;
+	    sun4)
+		echo sparc-sun-sunos${UNAME_RELEASE}
+		;;
+	esac
+	exit 0 ;;
+    aushp:SunOS:*:*)
+	echo sparc-auspex-sunos${UNAME_RELEASE}
+	exit 0 ;;
+    atari*:OpenBSD:*:*)
+	echo m68k-unknown-openbsd${UNAME_RELEASE}
+	exit 0 ;;
+    # The situation for MiNT is a little confusing.  The machine name
+    # can be virtually everything (everything which is not
+    # "atarist" or "atariste" at least should have a processor
+    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
+    # to the lowercase version "mint" (or "freemint").  Finally
+    # the system name "TOS" denotes a system which is actually not
+    # MiNT.  But MiNT is downward compatible to TOS, so this should
+    # be no problem.
+    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
+        echo m68k-atari-mint${UNAME_RELEASE}
+	exit 0 ;;
+    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
+	echo m68k-atari-mint${UNAME_RELEASE}
+        exit 0 ;;
+    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
+        echo m68k-atari-mint${UNAME_RELEASE}
+	exit 0 ;;
+    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
+        echo m68k-milan-mint${UNAME_RELEASE}
+        exit 0 ;;
+    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
+        echo m68k-hades-mint${UNAME_RELEASE}
+        exit 0 ;;
+    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
+        echo m68k-unknown-mint${UNAME_RELEASE}
+        exit 0 ;;
+    sun3*:OpenBSD:*:*)
+	echo m68k-unknown-openbsd${UNAME_RELEASE}
+	exit 0 ;;
+    mac68k:OpenBSD:*:*)
+	echo m68k-unknown-openbsd${UNAME_RELEASE}
+	exit 0 ;;
+    mvme68k:OpenBSD:*:*)
+	echo m68k-unknown-openbsd${UNAME_RELEASE}
+	exit 0 ;;
+    mvme88k:OpenBSD:*:*)
+	echo m88k-unknown-openbsd${UNAME_RELEASE}
+	exit 0 ;;
+    powerpc:machten:*:*)
+	echo powerpc-apple-machten${UNAME_RELEASE}
+	exit 0 ;;
+    RISC*:Mach:*:*)
+	echo mips-dec-mach_bsd4.3
+	exit 0 ;;
+    RISC*:ULTRIX:*:*)
+	echo mips-dec-ultrix${UNAME_RELEASE}
+	exit 0 ;;
+    VAX*:ULTRIX*:*:*)
+	echo vax-dec-ultrix${UNAME_RELEASE}
+	exit 0 ;;
+    2020:CLIX:*:* | 2430:CLIX:*:*)
+	echo clipper-intergraph-clix${UNAME_RELEASE}
+	exit 0 ;;
+    mips:*:*:UMIPS | mips:*:*:RISCos)
+	sed 's/^	//' << EOF >$dummy.c
+#ifdef __cplusplus
+#include <stdio.h>  /* for printf() prototype */
+	int main (int argc, char *argv[]) {
+#else
+	int main (argc, argv) int argc; char *argv[]; {
+#endif
+	#if defined (host_mips) && defined (MIPSEB)
+	#if defined (SYSTYPE_SYSV)
+	  printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
+	#endif
+	#if defined (SYSTYPE_SVR4)
+	  printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
+	#endif
+	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
+	  printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
+	#endif
+	#endif
+	  exit (-1);
+	}
+EOF
+	$CC_FOR_BUILD $dummy.c -o $dummy \
+	  && ./$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
+	  && rm $dummy.c $dummy && exit 0
+	rm -f $dummy.c $dummy
+	echo mips-mips-riscos${UNAME_RELEASE}
+	exit 0 ;;
+    Night_Hawk:Power_UNIX:*:*)
+	echo powerpc-harris-powerunix
+	exit 0 ;;
+    m88k:CX/UX:7*:*)
+	echo m88k-harris-cxux7
+	exit 0 ;;
+    m88k:*:4*:R4*)
+	echo m88k-motorola-sysv4
+	exit 0 ;;
+    m88k:*:3*:R3*)
+	echo m88k-motorola-sysv3
+	exit 0 ;;
+    AViiON:dgux:*:*)
+        # DG/UX returns AViiON for all architectures
+        UNAME_PROCESSOR=`/usr/bin/uname -p`
+	if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
+	then
+	    if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
+	       [ ${TARGET_BINARY_INTERFACE}x = x ]
+	    then
+		echo m88k-dg-dgux${UNAME_RELEASE}
+	    else
+		echo m88k-dg-dguxbcs${UNAME_RELEASE}
+	    fi
+	else
+	    echo i586-dg-dgux${UNAME_RELEASE}
+	fi
+ 	exit 0 ;;
+    M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
+	echo m88k-dolphin-sysv3
+	exit 0 ;;
+    M88*:*:R3*:*)
+	# Delta 88k system running SVR3
+	echo m88k-motorola-sysv3
+	exit 0 ;;
+    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
+	echo m88k-tektronix-sysv3
+	exit 0 ;;
+    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
+	echo m68k-tektronix-bsd
+	exit 0 ;;
+    *:IRIX*:*:*)
+	echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
+	exit 0 ;;
+    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
+	echo romp-ibm-aix      # uname -m gives an 8 hex-code CPU id
+	exit 0 ;;              # Note that: echo "'`uname -s`'" gives 'AIX '
+    i?86:AIX:*:*)
+	echo i386-ibm-aix
+	exit 0 ;;
+    *:AIX:2:3)
+	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
+		sed 's/^		//' << EOF >$dummy.c
+		#include <sys/systemcfg.h>
+
+		main()
+			{
+			if (!__power_pc())
+				exit(1);
+			puts("powerpc-ibm-aix3.2.5");
+			exit(0);
+			}
+EOF
+		$CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm $dummy.c $dummy && exit 0
+		rm -f $dummy.c $dummy
+		echo rs6000-ibm-aix3.2.5
+	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
+		echo rs6000-ibm-aix3.2.4
+	else
+		echo rs6000-ibm-aix3.2
+	fi
+	exit 0 ;;
+    *:AIX:*:4)
+	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | head -1 | awk '{ print $1 }'`
+	if /usr/sbin/lsattr -EHl ${IBM_CPU_ID} | grep POWER >/dev/null 2>&1; then
+		IBM_ARCH=rs6000
+	else
+		IBM_ARCH=powerpc
+	fi
+	if [ -x /usr/bin/oslevel ] ; then
+		IBM_REV=`/usr/bin/oslevel`
+	else
+		IBM_REV=4.${UNAME_RELEASE}
+	fi
+	echo ${IBM_ARCH}-ibm-aix${IBM_REV}
+	exit 0 ;;
+    *:AIX:*:*)
+	echo rs6000-ibm-aix
+	exit 0 ;;
+    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
+	echo romp-ibm-bsd4.4
+	exit 0 ;;
+    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
+	echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
+	exit 0 ;;                           # report: romp-ibm BSD 4.3
+    *:BOSX:*:*)
+	echo rs6000-bull-bosx
+	exit 0 ;;
+    DPX/2?00:B.O.S.:*:*)
+	echo m68k-bull-sysv3
+	exit 0 ;;
+    9000/[34]??:4.3bsd:1.*:*)
+	echo m68k-hp-bsd
+	exit 0 ;;
+    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
+	echo m68k-hp-bsd4.4
+	exit 0 ;;
+    9000/[34678]??:HP-UX:*:*)
+	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+	case "${UNAME_MACHINE}" in
+	    9000/31? )            HP_ARCH=m68000 ;;
+	    9000/[34]?? )         HP_ARCH=m68k ;;
+	    9000/[678][0-9][0-9])
+              case "${HPUX_REV}" in
+                11.[0-9][0-9])
+                  if [ -x /usr/bin/getconf ]; then
+                    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
+                    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
+                    case "${sc_cpu_version}" in
+                      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
+                      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
+                      532)                      # CPU_PA_RISC2_0
+                        case "${sc_kernel_bits}" in
+                          32) HP_ARCH="hppa2.0n" ;;
+                          64) HP_ARCH="hppa2.0w" ;;
+                        esac ;;
+                    esac
+                  fi ;;
+              esac
+              if [ "${HP_ARCH}" = "" ]; then
+              sed 's/^              //' << EOF >$dummy.c
+
+              #define _HPUX_SOURCE
+              #include <stdlib.h>
+              #include <unistd.h>
+
+              int main ()
+              {
+              #if defined(_SC_KERNEL_BITS)
+                  long bits = sysconf(_SC_KERNEL_BITS);
+              #endif
+                  long cpu  = sysconf (_SC_CPU_VERSION);
+
+                  switch (cpu)
+              	{
+              	case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
+              	case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
+              	case CPU_PA_RISC2_0:
+              #if defined(_SC_KERNEL_BITS)
+              	    switch (bits)
+              		{
+              		case 64: puts ("hppa2.0w"); break;
+              		case 32: puts ("hppa2.0n"); break;
+              		default: puts ("hppa2.0"); break;
+              		} break;
+              #else  /* !defined(_SC_KERNEL_BITS) */
+              	    puts ("hppa2.0"); break;
+              #endif
+              	default: puts ("hppa1.0"); break;
+              	}
+                  exit (0);
+              }
+EOF
+	(CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null ) && HP_ARCH=`./$dummy`
+	if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi
+	rm -f $dummy.c $dummy
+	fi ;;
+	esac
+	echo ${HP_ARCH}-hp-hpux${HPUX_REV}
+	exit 0 ;;
+    3050*:HI-UX:*:*)
+	sed 's/^	//' << EOF >$dummy.c
+	#include <unistd.h>
+	int
+	main ()
+	{
+	  long cpu = sysconf (_SC_CPU_VERSION);
+	  /* The order matters, because CPU_IS_HP_MC68K erroneously returns
+	     true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
+	     results, however.  */
+	  if (CPU_IS_PA_RISC (cpu))
+	    {
+	      switch (cpu)
+		{
+		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
+		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
+		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
+		  default: puts ("hppa-hitachi-hiuxwe2"); break;
+		}
+	    }
+	  else if (CPU_IS_HP_MC68K (cpu))
+	    puts ("m68k-hitachi-hiuxwe2");
+	  else puts ("unknown-hitachi-hiuxwe2");
+	  exit (0);
+	}
+EOF
+	$CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm $dummy.c $dummy && exit 0
+	rm -f $dummy.c $dummy
+	echo unknown-hitachi-hiuxwe2
+	exit 0 ;;
+    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
+	echo hppa1.1-hp-bsd
+	exit 0 ;;
+    9000/8??:4.3bsd:*:*)
+	echo hppa1.0-hp-bsd
+	exit 0 ;;
+    *9??*:MPE/iX:*:*)
+	echo hppa1.0-hp-mpeix
+	exit 0 ;;
+    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
+	echo hppa1.1-hp-osf
+	exit 0 ;;
+    hp8??:OSF1:*:*)
+	echo hppa1.0-hp-osf
+	exit 0 ;;
+    i?86:OSF1:*:*)
+	if [ -x /usr/sbin/sysversion ] ; then
+	    echo ${UNAME_MACHINE}-unknown-osf1mk
+	else
+	    echo ${UNAME_MACHINE}-unknown-osf1
+	fi
+	exit 0 ;;
+    parisc*:Lites*:*:*)
+	echo hppa1.1-hp-lites
+	exit 0 ;;
+    hppa*:OpenBSD:*:*)
+	echo hppa-unknown-openbsd
+	exit 0 ;;
+    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
+	echo c1-convex-bsd
+        exit 0 ;;
+    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
+	if getsysinfo -f scalar_acc
+	then echo c32-convex-bsd
+	else echo c2-convex-bsd
+	fi
+        exit 0 ;;
+    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
+	echo c34-convex-bsd
+        exit 0 ;;
+    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
+	echo c38-convex-bsd
+        exit 0 ;;
+    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
+	echo c4-convex-bsd
+        exit 0 ;;
+    CRAY*X-MP:*:*:*)
+	echo xmp-cray-unicos
+        exit 0 ;;
+    CRAY*Y-MP:*:*:*)
+	echo ymp-cray-unicos${UNAME_RELEASE}
+	exit 0 ;;
+    CRAY*[A-Z]90:*:*:*)
+	echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
+	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
+	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/
+	exit 0 ;;
+    CRAY*TS:*:*:*)
+	echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit 0 ;;
+    CRAY*T3D:*:*:*)
+	echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit 0 ;;
+    CRAY*T3E:*:*:*)
+	echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit 0 ;;
+    CRAY*SV1:*:*:*)
+	echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit 0 ;;
+    CRAY-2:*:*:*)
+	echo cray2-cray-unicos
+        exit 0 ;;
+    F300:UNIX_System_V:*:*)
+        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+        FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
+        echo "f300-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+        exit 0 ;;
+    F301:UNIX_System_V:*:*)
+       echo f301-fujitsu-uxpv`echo $UNAME_RELEASE | sed 's/ .*//'`
+       exit 0 ;;
+    hp300:OpenBSD:*:*)
+	echo m68k-unknown-openbsd${UNAME_RELEASE}
+	exit 0 ;;
+    i?86:BSD/386:*:* | i?86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
+	echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
+	exit 0 ;;
+    sparc*:BSD/OS:*:*)
+	echo sparc-unknown-bsdi${UNAME_RELEASE}
+	exit 0 ;;
+    *:BSD/OS:*:*)
+	echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
+	exit 0 ;;
+    *:FreeBSD:*:*)
+	echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+	exit 0 ;;
+    *:OpenBSD:*:*)
+	echo ${UNAME_MACHINE}-unknown-openbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+	exit 0 ;;
+    i*:CYGWIN*:*)
+	echo ${UNAME_MACHINE}-pc-cygwin
+	exit 0 ;;
+    i*:MINGW*:*)
+	echo ${UNAME_MACHINE}-pc-mingw32
+	exit 0 ;;
+    i*:PW*:*)
+	echo ${UNAME_MACHINE}-pc-pw32
+	exit 0 ;;
+    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
+	# How do we know it's Interix rather than the generic POSIX subsystem?
+	# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
+	# UNAME_MACHINE based on the output of uname instead of i386?
+	echo i386-pc-interix
+	exit 0 ;;
+    i*:UWIN*:*)
+	echo ${UNAME_MACHINE}-pc-uwin
+	exit 0 ;;
+    p*:CYGWIN*:*)
+	echo powerpcle-unknown-cygwin
+	exit 0 ;;
+    prep*:SunOS:5.*:*)
+	echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit 0 ;;
+    *:GNU:*:*)
+	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
+	exit 0 ;;
+    i*86:Minix:*:*)
+	echo ${UNAME_MACHINE}-pc-minix
+	exit 0 ;;
+    *:Linux:*:*)
+
+	# The BFD linker knows what the default object file format is, so
+	# first see if it will tell us. cd to the root directory to prevent
+	# problems with other programs or directories called `ld' in the path.
+	ld_supported_emulations=`cd /; ld --help 2>&1 \
+			 | sed -ne '/supported emulations:/!d
+				    s/[ 	][ 	]*/ /g
+				    s/.*supported emulations: *//
+				    s/ .*//
+				    p'`
+        case "$ld_supported_emulations" in
+	  *ia64)
+		echo "${UNAME_MACHINE}-unknown-linux"
+		exit 0
+		;;
+	  i?86linux)
+		echo "${UNAME_MACHINE}-pc-linux-gnuaout"
+		exit 0
+		;;
+	  elf_i?86)
+		TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
+		;;
+	  i?86coff)
+		echo "${UNAME_MACHINE}-pc-linux-gnucoff"
+		exit 0
+		;;
+	  sparclinux)
+		echo "${UNAME_MACHINE}-unknown-linux-gnuaout"
+		exit 0
+		;;
+	  elf32_sparc)
+		echo "${UNAME_MACHINE}-unknown-linux-gnu"
+		exit 0
+		;;
+	  armlinux)
+		echo "${UNAME_MACHINE}-unknown-linux-gnuaout"
+		exit 0
+		;;
+	  elf32arm*)
+		echo "${UNAME_MACHINE}-unknown-linux-gnuoldld"
+		exit 0
+		;;
+	  armelf_linux*)
+		echo "${UNAME_MACHINE}-unknown-linux-gnu"
+		exit 0
+		;;
+	  m68klinux)
+		echo "${UNAME_MACHINE}-unknown-linux-gnuaout"
+		exit 0
+		;;
+	  elf32ppc | elf32ppclinux)
+		# Determine Lib Version
+		cat >$dummy.c <<EOF
+#include <features.h>
+#if defined(__GLIBC__)
+extern char __libc_version[];
+extern char __libc_release[];
+#endif
+main(argc, argv)
+     int argc;
+     char *argv[];
+{
+#if defined(__GLIBC__)
+  printf("%s %s\n", __libc_version, __libc_release);
+#else
+  printf("unkown\n");
+#endif
+  return 0;
+}
+EOF
+		LIBC=""
+		$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null
+		if test "$?" = 0 ; then
+			./$dummy | grep 1\.99 > /dev/null
+			if test "$?" = 0 ; then
+				LIBC="libc1"
+			fi
+		fi
+		rm -f $dummy.c $dummy
+		echo powerpc-unknown-linux-gnu${LIBC}
+		exit 0
+		;;
+	  shelf_linux)
+		echo "${UNAME_MACHINE}-unknown-linux-gnu"
+		exit 0
+		;;
+	esac
+
+	if test "${UNAME_MACHINE}" = "alpha" ; then
+		cat <<EOF >$dummy.s
+			.data
+		\$Lformat:
+			.byte 37,100,45,37,120,10,0	# "%d-%x\n"
+
+			.text
+			.globl main
+			.align 4
+			.ent main
+		main:
+			.frame \$30,16,\$26,0
+			ldgp \$29,0(\$27)
+			.prologue 1
+			.long 0x47e03d80 # implver \$0
+			lda \$2,-1
+			.long 0x47e20c21 # amask \$2,\$1
+			lda \$16,\$Lformat
+			mov \$0,\$17
+			not \$1,\$18
+			jsr \$26,printf
+			ldgp \$29,0(\$26)
+			mov 0,\$16
+			jsr \$26,exit
+			.end main
+EOF
+		LIBC=""
+		$CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null
+		if test "$?" = 0 ; then
+			case `./$dummy` in
+			0-0)
+				UNAME_MACHINE="alpha"
+				;;
+			1-0)
+				UNAME_MACHINE="alphaev5"
+				;;
+			1-1)
+				UNAME_MACHINE="alphaev56"
+				;;
+			1-101)
+				UNAME_MACHINE="alphapca56"
+				;;
+			2-303)
+				UNAME_MACHINE="alphaev6"
+				;;
+			2-307)
+				UNAME_MACHINE="alphaev67"
+				;;
+			esac
+
+			objdump --private-headers $dummy | \
+			  grep ld.so.1 > /dev/null
+			if test "$?" = 0 ; then
+				LIBC="libc1"
+			fi
+		fi
+		rm -f $dummy.s $dummy
+		echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} ; exit 0
+	elif test "${UNAME_MACHINE}" = "mips" ; then
+	  cat >$dummy.c <<EOF
+#ifdef __cplusplus
+#include <stdio.h>  /* for printf() prototype */
+	int main (int argc, char *argv[]) {
+#else
+	int main (argc, argv) int argc; char *argv[]; {
+#endif
+#ifdef __MIPSEB__
+  printf ("%s-unknown-linux-gnu\n", argv[1]);
+#endif
+#ifdef __MIPSEL__
+  printf ("%sel-unknown-linux-gnu\n", argv[1]);
+#endif
+  return 0;
+}
+EOF
+	  $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm $dummy.c $dummy && exit 0
+	  rm -f $dummy.c $dummy
+	elif test "${UNAME_MACHINE}" = "s390"; then
+	  echo s390-ibm-linux && exit 0
+	elif test "${UNAME_MACHINE}" = "x86_64"; then
+	  echo x86_64-unknown-linux-gnu && exit 0
+	elif test "${UNAME_MACHINE}" = "parisc" -o "${UNAME_MACHINE}" = "hppa"; then
+	  # Look for CPU level
+	  case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
+	    PA7*)
+		echo hppa1.1-unknown-linux-gnu
+		;;
+	    PA8*)
+		echo hppa2.0-unknown-linux-gnu
+		;;
+	    *)
+		echo hppa-unknown-linux-gnu
+		;;
+	  esac
+	  exit 0
+	else
+	  # Either a pre-BFD a.out linker (linux-gnuoldld)
+	  # or one that does not give us useful --help.
+	  # GCC wants to distinguish between linux-gnuoldld and linux-gnuaout.
+	  # If ld does not provide *any* "supported emulations:"
+	  # that means it is gnuoldld.
+	  test -z "$ld_supported_emulations" \
+	    && echo "${UNAME_MACHINE}-pc-linux-gnuoldld" && exit 0
+
+	  case "${UNAME_MACHINE}" in
+	  i?86)
+	    VENDOR=pc;
+	    ;;
+	  *)
+	    VENDOR=unknown;
+	    ;;
+	  esac
+	  # Determine whether the default compiler is a.out or elf
+	  cat >$dummy.c <<EOF
+#include <features.h>
+#ifdef __cplusplus
+#include <stdio.h>  /* for printf() prototype */
+	int main (int argc, char *argv[]) {
+#else
+	int main (argc, argv) int argc; char *argv[]; {
+#endif
+#ifdef __ELF__
+# ifdef __GLIBC__
+#  if __GLIBC__ >= 2
+    printf ("%s-${VENDOR}-linux-gnu\n", argv[1]);
+#  else
+    printf ("%s-${VENDOR}-linux-gnulibc1\n", argv[1]);
+#  endif
+# else
+   printf ("%s-${VENDOR}-linux-gnulibc1\n", argv[1]);
+# endif
+#else
+  printf ("%s-${VENDOR}-linux-gnuaout\n", argv[1]);
+#endif
+  return 0;
+}
+EOF
+	  $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm $dummy.c $dummy && exit 0
+	  rm -f $dummy.c $dummy
+	  test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
+	fi ;;
+# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.  earlier versions
+# are messed up and put the nodename in both sysname and nodename.
+    i?86:DYNIX/ptx:4*:*)
+	echo i386-sequent-sysv4
+	exit 0 ;;
+    i?86:UNIX_SV:4.2MP:2.*)
+        # Unixware is an offshoot of SVR4, but it has its own version
+        # number series starting with 2...
+        # I am not positive that other SVR4 systems won't match this,
+	# I just have to hope.  -- rms.
+        # Use sysv4.2uw... so that sysv4* matches it.
+	echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
+	exit 0 ;;
+    i?86:*:4.*:* | i?86:SYSTEM_V:4.*:*)
+	UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
+	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
+		echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
+	else
+		echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
+	fi
+	exit 0 ;;
+    i?86:*:5:7*)
+        # Fixed at (any) Pentium or better
+        UNAME_MACHINE=i586
+        if [ ${UNAME_SYSTEM} = "UnixWare" ] ; then
+	    echo ${UNAME_MACHINE}-sco-sysv${UNAME_RELEASE}uw${UNAME_VERSION}
+	else
+	    echo ${UNAME_MACHINE}-pc-sysv${UNAME_RELEASE}
+	fi
+	exit 0 ;;
+    i?86:*:3.2:*)
+	if test -f /usr/options/cb.name; then
+		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
+		echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
+	elif /bin/uname -X 2>/dev/null >/dev/null ; then
+		UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')`
+		(/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486
+		(/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \
+			&& UNAME_MACHINE=i586
+		(/bin/uname -X|egrep '^Machine.*Pent ?II' >/dev/null) \
+			&& UNAME_MACHINE=i686
+		(/bin/uname -X|egrep '^Machine.*Pentium Pro' >/dev/null) \
+			&& UNAME_MACHINE=i686
+		echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
+	else
+		echo ${UNAME_MACHINE}-pc-sysv32
+	fi
+	exit 0 ;;
+    i?86:*DOS:*:*)
+	echo ${UNAME_MACHINE}-pc-msdosdjgpp
+	exit 0 ;;
+    pc:*:*:*)
+	# Left here for compatibility:
+        # uname -m prints for DJGPP always 'pc', but it prints nothing about
+        # the processor, so we play safe by assuming i386.
+	echo i386-pc-msdosdjgpp
+        exit 0 ;;
+    Intel:Mach:3*:*)
+	echo i386-pc-mach3
+	exit 0 ;;
+    paragon:*:*:*)
+	echo i860-intel-osf1
+	exit 0 ;;
+    i860:*:4.*:*) # i860-SVR4
+	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
+	  echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
+	else # Add other i860-SVR4 vendors below as they are discovered.
+	  echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
+	fi
+	exit 0 ;;
+    mini*:CTIX:SYS*5:*)
+	# "miniframe"
+	echo m68010-convergent-sysv
+	exit 0 ;;
+    M68*:*:R3V[567]*:*)
+	test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
+    3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 4850:*:4.0:3.0)
+	OS_REL=''
+	test -r /etc/.relid \
+	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
+	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+	  && echo i486-ncr-sysv4.3${OS_REL} && exit 0
+	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+	  && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
+    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
+        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+          && echo i486-ncr-sysv4 && exit 0 ;;
+    m68*:LynxOS:2.*:*)
+	echo m68k-unknown-lynxos${UNAME_RELEASE}
+	exit 0 ;;
+    mc68030:UNIX_System_V:4.*:*)
+	echo m68k-atari-sysv4
+	exit 0 ;;
+    i?86:LynxOS:2.*:* | i?86:LynxOS:3.[01]*:*)
+	echo i386-unknown-lynxos${UNAME_RELEASE}
+	exit 0 ;;
+    TSUNAMI:LynxOS:2.*:*)
+	echo sparc-unknown-lynxos${UNAME_RELEASE}
+	exit 0 ;;
+    rs6000:LynxOS:2.*:* | PowerPC:LynxOS:2.*:*)
+	echo rs6000-unknown-lynxos${UNAME_RELEASE}
+	exit 0 ;;
+    SM[BE]S:UNIX_SV:*:*)
+	echo mips-dde-sysv${UNAME_RELEASE}
+	exit 0 ;;
+    RM*:ReliantUNIX-*:*:*)
+	echo mips-sni-sysv4
+	exit 0 ;;
+    RM*:SINIX-*:*:*)
+	echo mips-sni-sysv4
+	exit 0 ;;
+    *:SINIX-*:*:*)
+	if uname -p 2>/dev/null >/dev/null ; then
+		UNAME_MACHINE=`(uname -p) 2>/dev/null`
+		echo ${UNAME_MACHINE}-sni-sysv4
+	else
+		echo ns32k-sni-sysv
+	fi
+	exit 0 ;;
+    PENTIUM:CPunix:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
+                           # says <Richard.M.Bartel at ccMail.Census.GOV>
+        echo i586-unisys-sysv4
+        exit 0 ;;
+    *:UNIX_System_V:4*:FTX*)
+	# From Gerald Hewes <hewes at openmarket.com>.
+	# How about differentiating between stratus architectures? -djm
+	echo hppa1.1-stratus-sysv4
+	exit 0 ;;
+    *:*:*:FTX*)
+	# From seanf at swdc.stratus.com.
+	echo i860-stratus-sysv4
+	exit 0 ;;
+    mc68*:A/UX:*:*)
+	echo m68k-apple-aux${UNAME_RELEASE}
+	exit 0 ;;
+    news*:NEWS-OS:6*:*)
+	echo mips-sony-newsos6
+	exit 0 ;;
+    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
+	if [ -d /usr/nec ]; then
+	        echo mips-nec-sysv${UNAME_RELEASE}
+	else
+	        echo mips-unknown-sysv${UNAME_RELEASE}
+	fi
+        exit 0 ;;
+    BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
+	echo powerpc-be-beos
+	exit 0 ;;
+    BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
+	echo powerpc-apple-beos
+	exit 0 ;;
+    BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
+	echo i586-pc-beos
+	exit 0 ;;
+    SX-4:SUPER-UX:*:*)
+	echo sx4-nec-superux${UNAME_RELEASE}
+	exit 0 ;;
+    SX-5:SUPER-UX:*:*)
+	echo sx5-nec-superux${UNAME_RELEASE}
+	exit 0 ;;
+    Power*:Rhapsody:*:*)
+	echo powerpc-apple-rhapsody${UNAME_RELEASE}
+	exit 0 ;;
+    *:Rhapsody:*:*)
+	echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
+	exit 0 ;;
+    *:Darwin:*:*)
+	echo `uname -p`-apple-darwin${UNAME_RELEASE}
+	exit 0 ;;
+    *:procnto*:*:* | *:QNX:[0123456789]*:*)
+	if test "${UNAME_MACHINE}" = "x86pc"; then
+		UNAME_MACHINE=pc
+	fi
+	echo `uname -p`-${UNAME_MACHINE}-nto-qnx
+	exit 0 ;;
+    *:QNX:*:4*)
+	echo i386-pc-qnx
+	exit 0 ;;
+    NSR-[KW]:NONSTOP_KERNEL:*:*)
+	echo nsr-tandem-nsk${UNAME_RELEASE}
+	exit 0 ;;
+    *:NonStop-UX:*:*)
+	echo mips-compaq-nonstopux
+	exit 0 ;;
+    BS2000:POSIX*:*:*)
+	echo bs2000-siemens-sysv
+	exit 0 ;;
+    DS/*:UNIX_System_V:*:*)
+	echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
+	exit 0 ;;
+    *:Plan9:*:*)
+	# "uname -m" is not consistent, so use $cputype instead. 386
+	# is converted to i386 for consistency with other x86
+	# operating systems.
+	if test "$cputype" = "386"; then
+	    UNAME_MACHINE=i386
+	else
+	    UNAME_MACHINE="$cputype"
+	fi
+	echo ${UNAME_MACHINE}-unknown-plan9
+	exit 0 ;;
+    i?86:OS/2:*:*)
+	# If we were able to find `uname', then EMX Unix compatibility
+	# is probably installed.
+	echo ${UNAME_MACHINE}-pc-os2-emx
+	exit 0 ;;
+esac
+
+#echo '(No uname command or uname output not recognized.)' 1>&2
+#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
+
+cat >$dummy.c <<EOF
+#ifdef _SEQUENT_
+# include <sys/types.h>
+# include <sys/utsname.h>
+#endif
+main ()
+{
+#if defined (sony)
+#if defined (MIPSEB)
+  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
+     I don't know....  */
+  printf ("mips-sony-bsd\n"); exit (0);
+#else
+#include <sys/param.h>
+  printf ("m68k-sony-newsos%s\n",
+#ifdef NEWSOS4
+          "4"
+#else
+	  ""
+#endif
+         ); exit (0);
+#endif
+#endif
+
+#if defined (__arm) && defined (__acorn) && defined (__unix)
+  printf ("arm-acorn-riscix"); exit (0);
+#endif
+
+#if defined (hp300) && !defined (hpux)
+  printf ("m68k-hp-bsd\n"); exit (0);
+#endif
+
+#if defined (NeXT)
+#if !defined (__ARCHITECTURE__)
+#define __ARCHITECTURE__ "m68k"
+#endif
+  int version;
+  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
+  if (version < 4)
+    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
+  else
+    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
+  exit (0);
+#endif
+
+#if defined (MULTIMAX) || defined (n16)
+#if defined (UMAXV)
+  printf ("ns32k-encore-sysv\n"); exit (0);
+#else
+#if defined (CMU)
+  printf ("ns32k-encore-mach\n"); exit (0);
+#else
+  printf ("ns32k-encore-bsd\n"); exit (0);
+#endif
+#endif
+#endif
+
+#if defined (__386BSD__)
+  printf ("i386-pc-bsd\n"); exit (0);
+#endif
+
+#if defined (sequent)
+#if defined (i386)
+  printf ("i386-sequent-dynix\n"); exit (0);
+#endif
+#if defined (ns32000)
+  printf ("ns32k-sequent-dynix\n"); exit (0);
+#endif
+#endif
+
+#if defined (_SEQUENT_)
+    struct utsname un;
+
+    uname(&un);
+
+    if (strncmp(un.version, "V2", 2) == 0) {
+	printf ("i386-sequent-ptx2\n"); exit (0);
+    }
+    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
+	printf ("i386-sequent-ptx1\n"); exit (0);
+    }
+    printf ("i386-sequent-ptx\n"); exit (0);
+
+#endif
+
+#if defined (vax)
+#if !defined (ultrix)
+  printf ("vax-dec-bsd\n"); exit (0);
+#else
+  printf ("vax-dec-ultrix\n"); exit (0);
+#endif
+#endif
+
+#if defined (alliant) && defined (i860)
+  printf ("i860-alliant-bsd\n"); exit (0);
+#endif
+
+  exit (1);
+}
+EOF
+
+$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm $dummy.c $dummy && exit 0
+rm -f $dummy.c $dummy
+
+# Apollos put the system type in the environment.
+
+test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
+
+# Convex versions that predate uname can use getsysinfo(1)
+
+if [ -x /usr/convex/getsysinfo ]
+then
+    case `getsysinfo -f cpu_type` in
+    c1*)
+	echo c1-convex-bsd
+	exit 0 ;;
+    c2*)
+	if getsysinfo -f scalar_acc
+	then echo c32-convex-bsd
+	else echo c2-convex-bsd
+	fi
+	exit 0 ;;
+    c34*)
+	echo c34-convex-bsd
+	exit 0 ;;
+    c38*)
+	echo c38-convex-bsd
+	exit 0 ;;
+    c4*)
+	echo c4-convex-bsd
+	exit 0 ;;
+    esac
+fi
+
+cat >&2 <<EOF
+$0: unable to guess system type
+
+The $version version of this script cannot recognize your system type.
+Please download the most up to date version of the config scripts:
+
+    ftp://ftp.gnu.org/pub/gnu/config/
+
+If the version you run ($0) is already up to date, please
+send the following data and any information you think might be
+pertinent to <config-patches at gnu.org> in order to provide the needed
+information to handle your system.
+
+config.guess version = $version
+
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
+/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
+
+hostinfo               = `(hostinfo) 2>/dev/null`
+/bin/universe          = `(/bin/universe) 2>/dev/null`
+/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
+/bin/arch              = `(/bin/arch) 2>/dev/null`
+/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
+
+UNAME_MACHINE = ${UNAME_MACHINE}
+UNAME_RELEASE = ${UNAME_RELEASE}
+UNAME_SYSTEM  = ${UNAME_SYSTEM}
+UNAME_VERSION = ${UNAME_VERSION}
+EOF
+
+exit 1
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:
diff --git a/admin/config.pl b/admin/config.pl
new file mode 100644
index 0000000..011cd25
--- /dev/null
+++ b/admin/config.pl
@@ -0,0 +1,210 @@
+#!/usr/bin/perl
+# a script for use by autoconf to make the Makefiles
+# from the Makefile.in's
+#
+# the original autoconf mechanism first splits all substitutions into groups
+# of ca. 90, and than invokes sed for _every_ Makefile.in and every group
+# (so around 2-3 times per Makefile.in). So this takes forever, as sed
+# has to recompile the regexps every time.
+#
+# this script does better. It changes all Makefile.ins in one process.
+# in kdelibs the time for building Makefile went down from 2:59 min to 13 sec!
+#
+# written by Michael Matz <matz at ifh.de>
+#
+# the first part was done by looking at the config.status files generated
+# by configure.
+# 
+my $ac_cs_root=$ARGV[0];
+my $ac_given_srcdir=$ARGV[1];
+my $ac_given_INSTALL=$ARGV[2];
+
+# print "ac_cs_root=$ac_cs_root\n";
+# print "ac_given_srcdir=$ac_given_srcdir\n";
+# print "ac_given_INSTALL=$ac_given_INSTALL\n";
+
+my ($srcdir, $top_srcdir);
+my $INSTALL;
+my $bad_perl = ($] < 5.005);
+
+open(CF, "< $ac_cs_root.subs") || die "can't open $ac_cs_root.subs: $!";
+my @subs = <CF>;
+close(CF);
+chomp @subs;
+ at comp_match=();
+ at comp_subs=();
+
+if ($bad_perl) {
+    print "Using perl older than version 5.005\n";
+    foreach my $pat (@subs) {
+	if (  ($pat =~ /s%([^%]*)%([^%]*)%g/ )
+	   || ($pat =~ m%/([^/]*)/([^/]*)/g% )
+	   || ($pat =~ /s%([^%]*)%([^%]*)%;t/ )
+	   || ($pat =~ m%/([^/]*)/([^/]*)/;t% )
+	   ) {
+            # form : s%bla%blubb%g
+	    # or     s%bla%blubb%;t t   (newer autoconf)
+	    push @comp_subs, make_closure($1, $2);
+	} elsif ( ($pat =~ /%([^%]*)%d/ )
+	   || ($pat =~ m%/([^/]*)/d% )
+	   ) {
+	    push @comp_subs, make_closure($1, "");
+	} else {
+	    die "Uhh. Malformed pattern in $ac_cs_root.subs ($pat)"
+		unless ( $pat =~ /^\s*$/ );   # ignore white lines
+	}
+    }
+} else {
+    foreach my $pat (@subs) {
+	if (  ($pat =~ /s%([^%]*)%([^%]*)%g/ )
+	   || ($pat =~ m%/([^/]*)/([^/]*)/g% )
+	   || ($pat =~ /s%([^%]*)%([^%]*)%;t/ )
+	   || ($pat =~ m%/([^/]*)/([^/]*)/;t% )
+	   ) {
+            # form : s%bla%blubb%g
+	    # or     s%bla%blubb%;t t   (newer autoconf)
+	    push @comp_match, eval "qr/\Q$1\E/";  # compile match pattern
+	    push @comp_subs, $2;
+	} elsif ( ($pat =~ /%([^%]*)%d/ )
+	   || ($pat =~ m%/([^/]*)/d% )
+	   ) {
+	    push @comp_match, eval "qr/\Q$1\E/";
+	    push @comp_subs, "";
+	} else {
+	    die "Uhh. Malformed pattern in $ac_cs_root.subs ($pat)"
+		unless ( $pat =~ /^\s*$/ );   # ignore white lines
+	}
+    }
+}
+undef @subs;
+
+# read the list of files to be patched, form:
+# ./Makefile arts/Makefile arts/examples/Makefile arts/flow/Makefile
+
+open(CF, "< $ac_cs_root.sacfiles") || die "can't open $ac_cs_root.sacfiles: $!";
+my @ac_files = <CF>;
+close(CF);
+chomp @ac_files;
+
+my $ac_file;
+foreach $ac_file (@ac_files) {
+    next if $ac_file =~ /\.\./;
+    next if $ac_file =~ /^\s*$/;
+    my $ac_file_in;
+    my ($ac_dir, $ac_dots, $ac_dir_suffix);
+
+    if ($ac_file =~ /.*:.*/ ) {
+	($ac_file_in = $ac_file) =~ s%[^:]*:%%;
+	$ac_file =~ s%:.*%%;
+    } else {
+	$ac_file_in = $ac_file.".in";
+    }
+
+# Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
+
+# Remove last slash and all that follows it.  Not all systems have dirname.
+    ($ac_dir = $ac_file) =~ s%/[^/][^/]*$%%;
+    if ( ($ac_dir ne $ac_file) && ($ac_dir ne ".")) {
+# The file is in a subdirectory.
+	if (! -d "$ac_dir") { mkdir "$ac_dir", 0777; }
+	($ac_dir_suffix = $ac_dir) =~ s%^./%%;
+	$ac_dir_suffix="/".$ac_dir_suffix;
+# A "../" for each directory in $ac_dir_suffix.
+	($ac_dots = $ac_dir_suffix) =~ s%/[^/]*%../%g;
+    } else {
+	$ac_dir_suffix="";
+	$ac_dots="";
+    }
+
+    if ($ac_given_srcdir eq ".") {
+	$srcdir=".";
+	if ($ac_dots) {
+	    ( $top_srcdir = $ac_dots) =~ s%/$%%;
+	} else { $top_srcdir="."; }
+    } elsif ($ac_given_srcdir =~ m%^/%) {
+	$srcdir=$ac_given_srcdir.$ac_dir_suffix;
+	$top_srcdir = $ac_given_srcdir;
+    } else {
+	$srcdir = $ac_dots.$ac_given_srcdir.$ac_dir_suffix;
+	$top_srcdir = $ac_dots.$ac_given_srcdir;
+    }
+
+    if ($ac_given_INSTALL) {
+	if ($ac_given_INSTALL =~ m%^/% ) {
+	    $INSTALL = $ac_given_INSTALL;
+	} else {
+	    $INSTALL = $ac_dots.$ac_given_INSTALL;
+	}
+    }
+
+    print "fast creating $ac_file\n";
+    unlink $ac_file;
+    my $ac_comsub="";
+    my $fname=$ac_file_in;
+    $fname =~ s%.*/%%;
+    my $configure_input="Generated automatically from $fname by config.pl.";
+    if ($ac_file =~ /.*[Mm]akefile.*/) {
+	$ac_comsub="# ".$configure_input."\n";  # for the first line in $ac_file
+    }
+
+    my $ac_file_inputs;
+    ($ac_file_inputs = $ac_file_in) =~ s%^%$ac_given_srcdir/%;
+    $ac_file_inputs =~ s%:% $ac_given_srcdir/%g;
+
+    patch_file($ac_file, $ac_file_inputs, $ac_comsub);
+}
+
+sub patch_file {
+    my ($outf, $infiles, $firstline) = @_;
+    my $filedata;
+    my @infiles=split(' ', $infiles);
+    my $i=0;
+
+    if ($firstline) {
+	$filedata = $firstline;
+    }
+    foreach my $name (@infiles) {
+	if (open(CF, "< $name")) {
+	    while (<CF>) {
+		$filedata .= $_;
+	    }
+	    close(CF);
+	} else {
+	    print STDERR "can't open $name: $!"."\n";
+	}
+    }
+
+    $filedata =~ s%\@configure_input\@%$configure_input%g;
+    $filedata =~ s%\@srcdir\@%$srcdir%g;
+    $filedata =~ s%\@top_srcdir\@%$top_srcdir%g;
+    $filedata =~ s%\@INSTALL\@%$INSTALL%g;
+
+    if ($bad_perl) {
+	while ($i <= $#comp_subs) {
+	    my $ref = $comp_subs[$i];
+	    &$ref(\$filedata);
+	    $i++;
+	}
+    } else {
+	while ($i <= $#comp_match) {
+	    $filedata =~ s/$comp_match[$i]/$comp_subs[$i]/g;
+	    $i++;
+	}
+    }
+    open(CF, "> $outf") || die "can't create $outf: $!";
+    print CF $filedata;
+    close(CF);
+}
+
+sub make_closure {
+    my ($pat, $sub) = @_;
+    $pat =~ s/\@/\\@/g;   # @bla@ -> \@bla\@
+    $pat =~ s/\$/\\\$/g;  # $bla -> \$bla
+    $sub =~ s/\@/\\@/g;
+    $sub =~ s/\$/\\\$/g;
+    my $ret = eval "return sub { my \$ref=shift; \$\$ref =~ s%$pat%$sub%g; }";
+    if ($@) {
+        print "can't create CODE: $@\n";
+    }
+    return $ret;
+}
diff --git a/admin/config.sub b/admin/config.sub
new file mode 100755
index 0000000..b522aaf
--- /dev/null
+++ b/admin/config.sub
@@ -0,0 +1,1337 @@
+#! /bin/sh
+# Configuration validation subroutine script.
+#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000
+#   Free Software Foundation, Inc.
+
+timestamp='2000-11-26'
+
+# This file is (in principle) common to ALL GNU software.
+# The presence of a machine in this file suggests that SOME GNU software
+# can handle that machine.  It does not imply ALL GNU software can.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# Please send patches to <config-patches at gnu.org>.
+#
+# Configuration subroutine to validate and canonicalize a configuration type.
+# Supply the specified configuration type as an argument.
+# If it is invalid, we print an error message on stderr and exit with code 1.
+# Otherwise, we print the canonical config type on stdout and succeed.
+
+# This file is supposed to be the same for all GNU packages
+# and recognize all the CPU types, system types and aliases
+# that are meaningful with *any* GNU software.
+# Each package is responsible for reporting which valid configurations
+# it does not support.  The user should be able to distinguish
+# a failure to support a valid configuration from a meaningless
+# configuration.
+
+# The goal of this file is to map all the various variations of a given
+# machine specification into a single specification in the form:
+#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
+# or in some cases, the newer four-part form:
+#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
+# It is wrong to echo any other type of specification.
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION] CPU-MFR-OPSYS
+       $0 [OPTION] ALIAS
+
+Canonicalize a configuration name.
+
+Operation modes:
+  -h, --help         print this help, then exit
+  -t, --time-stamp   print date of last modification, then exit
+
+Report bugs and patches to <config-patches at gnu.org>.
+
+Copyright (C) 1992, 93, 94, 95, 96, 97, 98, 99, 2000
+Free Software Foundation, Inc.  See the source for copying conditions."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+  case $1 in
+    --time-stamp | --time* | -t )
+       echo "$timestamp" ; exit 0 ;;
+    --help | --h* | -h )
+       echo "$usage"; exit 0 ;;
+    -- )     # Stop option processing
+       shift; break ;;
+    - )	# Use stdin as input.
+       break ;;
+    -* )
+       echo "$me: invalid option $1$help"
+       exit 1 ;;
+
+    *local*)
+       # First pass through any local machine types.
+       echo $1
+       exit 0;;
+
+    * )
+       break ;;
+  esac
+done
+
+case $# in
+ 0) echo "$me: missing argument$help" >&2
+    exit 1;;
+ 1) ;;
+ *) echo "$me: too many arguments$help" >&2
+    exit 1;;
+esac
+
+# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
+# Here we must recognize all the valid KERNEL-OS combinations.
+maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
+case $maybe_os in
+  nto-qnx* | linux-gnu* | storm-chaos*)
+    os=-$maybe_os
+    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
+    ;;
+  *)
+    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
+    if [ $basic_machine != $1 ]
+    then os=`echo $1 | sed 's/.*-/-/'`
+    else os=; fi
+    ;;
+esac
+
+### Let's recognize common machines as not being operating systems so
+### that things like config.sub decstation-3100 work.  We also
+### recognize some manufacturers as not being operating systems, so we
+### can provide default operating systems below.
+case $os in
+	-sun*os*)
+		# Prevent following clause from handling this invalid input.
+		;;
+	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
+	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
+	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
+	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
+	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
+	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
+	-apple | -axis)
+		os=
+		basic_machine=$1
+		;;
+	-sim | -cisco | -oki | -wec | -winbond)
+		os=
+		basic_machine=$1
+		;;
+	-scout)
+		;;
+	-wrs)
+		os=-vxworks
+		basic_machine=$1
+		;;
+	-hiux*)
+		os=-hiuxwe2
+		;;
+	-sco5)
+		os=-sco3.2v5
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-sco4)
+		os=-sco3.2v4
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-sco3.2.[4-9]*)
+		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-sco3.2v[4-9]*)
+		# Don't forget version if it is 3.2v4 or newer.
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-sco*)
+		os=-sco3.2v2
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-udk*)
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-isc)
+		os=-isc2.2
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-clix*)
+		basic_machine=clipper-intergraph
+		;;
+	-isc*)
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-lynx*)
+		os=-lynxos
+		;;
+	-ptx*)
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
+		;;
+	-windowsnt*)
+		os=`echo $os | sed -e 's/windowsnt/winnt/'`
+		;;
+	-psos*)
+		os=-psos
+		;;
+	-mint | -mint[0-9]*)
+		basic_machine=m68k-atari
+		os=-mint
+		;;
+esac
+
+# Decode aliases for certain CPU-COMPANY combinations.
+case $basic_machine in
+	# Recognize the basic CPU types without company name.
+	# Some are omitted here because they have special meanings below.
+	tahoe | i860 | ia64 | m32r | m68k | m68000 | m88k | ns32k | arc \
+	        | arm | arme[lb] | arm[bl]e | armv[2345] | armv[345][lb] | strongarm | xscale \
+		| pyramid | mn10200 | mn10300 | tron | a29k \
+		| 580 | i960 | h8300 \
+		| x86 | ppcbe | mipsbe | mipsle | shbe | shle \
+		| hppa | hppa1.0 | hppa1.1 | hppa2.0 | hppa2.0w | hppa2.0n \
+		| hppa64 \
+		| alpha | alphaev[4-8] | alphaev56 | alphapca5[67] \
+		| alphaev6[78] \
+		| we32k | ns16k | clipper | i370 | sh | sh[34] \
+		| powerpc | powerpcle \
+		| 1750a | dsp16xx | pdp11 | mips16 | mips64 | mipsel | mips64el \
+		| mips64orion | mips64orionel | mipstx39 | mipstx39el \
+		| mips64vr4300 | mips64vr4300el | mips64vr4100 | mips64vr4100el \
+		| mips64vr5000 | miprs64vr5000el | mcore \
+		| sparc | sparclet | sparclite | sparc64 | sparcv9 | v850 | c4x \
+		| thumb | d10v | d30v | fr30 | avr)
+		basic_machine=$basic_machine-unknown
+		;;
+	m6811 | m68hc11 | m6812 | m68hc12)
+		# Motorola 68HC11/12.
+		basic_machine=$basic_machine-unknown
+		os=-none
+		;;
+	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | z8k | v70 | h8500 | w65 | pj | pjl)
+		;;
+
+	# We use `pc' rather than `unknown'
+	# because (1) that's what they normally are, and
+	# (2) the word "unknown" tends to confuse beginning users.
+	i[234567]86 | x86_64)
+	  basic_machine=$basic_machine-pc
+	  ;;
+	# Object if more than one company name word.
+	*-*-*)
+		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+		exit 1
+		;;
+	# Recognize the basic CPU types with company name.
+	# FIXME: clean up the formatting here.
+	vax-* | tahoe-* | i[234567]86-* | i860-* | ia64-* | m32r-* | m68k-* | m68000-* \
+	      | m88k-* | sparc-* | ns32k-* | fx80-* | arc-* | c[123]* \
+	      | arm-*  | armbe-* | armle-* | armv*-* | strongarm-* | xscale-* \
+	      | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \
+	      | power-* | none-* | 580-* | cray2-* | h8300-* | h8500-* | i960-* \
+	      | xmp-* | ymp-* \
+	      | x86-* | ppcbe-* | mipsbe-* | mipsle-* | shbe-* | shle-* \
+	      | hppa-* | hppa1.0-* | hppa1.1-* | hppa2.0-* | hppa2.0w-* \
+	      | hppa2.0n-* | hppa64-* \
+	      | alpha-* | alphaev[4-8]-* | alphaev56-* | alphapca5[67]-* \
+	      | alphaev6[78]-* \
+	      | we32k-* | cydra-* | ns16k-* | pn-* | np1-* | xps100-* \
+	      | clipper-* | orion-* \
+	      | sparclite-* | pdp11-* | sh-* | powerpc-* | powerpcle-* \
+	      | sparc64-* | sparcv9-* | sparc86x-* | mips16-* | mips64-* | mipsel-* \
+	      | mips64el-* | mips64orion-* | mips64orionel-* \
+	      | mips64vr4100-* | mips64vr4100el-* | mips64vr4300-* | mips64vr4300el-* \
+	      | mipstx39-* | mipstx39el-* | mcore-* \
+	      | f301-* | s390-* | sv1-* | t3e-* \
+	      | m88110-* | m680[01234]0-* | m683?2-* | m68360-* | z8k-* | d10v-* \
+	      | thumb-* | v850-* | d30v-* | tic30-* | c30-* | fr30-* \
+	      | bs2000-* | tic54x-* | c54x-* | x86_64-*)
+		;;
+	# Recognize the various machine names and aliases which stand
+	# for a CPU type and a company and sometimes even an OS.
+	386bsd)
+		basic_machine=i386-unknown
+		os=-bsd
+		;;
+	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
+		basic_machine=m68000-att
+		;;
+	3b*)
+		basic_machine=we32k-att
+		;;
+	a29khif)
+		basic_machine=a29k-amd
+		os=-udi
+		;;
+	adobe68k)
+		basic_machine=m68010-adobe
+		os=-scout
+		;;
+	alliant | fx80)
+		basic_machine=fx80-alliant
+		;;
+	altos | altos3068)
+		basic_machine=m68k-altos
+		;;
+	am29k)
+		basic_machine=a29k-none
+		os=-bsd
+		;;
+	amdahl)
+		basic_machine=580-amdahl
+		os=-sysv
+		;;
+	amiga | amiga-*)
+		basic_machine=m68k-unknown
+		;;
+	amigaos | amigados)
+		basic_machine=m68k-unknown
+		os=-amigaos
+		;;
+	amigaunix | amix)
+		basic_machine=m68k-unknown
+		os=-sysv4
+		;;
+	apollo68)
+		basic_machine=m68k-apollo
+		os=-sysv
+		;;
+	apollo68bsd)
+		basic_machine=m68k-apollo
+		os=-bsd
+		;;
+	aux)
+		basic_machine=m68k-apple
+		os=-aux
+		;;
+	balance)
+		basic_machine=ns32k-sequent
+		os=-dynix
+		;;
+	convex-c1)
+		basic_machine=c1-convex
+		os=-bsd
+		;;
+	convex-c2)
+		basic_machine=c2-convex
+		os=-bsd
+		;;
+	convex-c32)
+		basic_machine=c32-convex
+		os=-bsd
+		;;
+	convex-c34)
+		basic_machine=c34-convex
+		os=-bsd
+		;;
+	convex-c38)
+		basic_machine=c38-convex
+		os=-bsd
+		;;
+	cray | ymp)
+		basic_machine=ymp-cray
+		os=-unicos
+		;;
+	cray2)
+		basic_machine=cray2-cray
+		os=-unicos
+		;;
+	[ctj]90-cray)
+		basic_machine=c90-cray
+		os=-unicos
+		;;
+	crds | unos)
+		basic_machine=m68k-crds
+		;;
+	cris | cris-* | etrax*)
+		basic_machine=cris-axis
+		;;
+	da30 | da30-*)
+		basic_machine=m68k-da30
+		;;
+	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
+		basic_machine=mips-dec
+		;;
+	delta | 3300 | motorola-3300 | motorola-delta \
+	      | 3300-motorola | delta-motorola)
+		basic_machine=m68k-motorola
+		;;
+	delta88)
+		basic_machine=m88k-motorola
+		os=-sysv3
+		;;
+	dpx20 | dpx20-*)
+		basic_machine=rs6000-bull
+		os=-bosx
+		;;
+	dpx2* | dpx2*-bull)
+		basic_machine=m68k-bull
+		os=-sysv3
+		;;
+	ebmon29k)
+		basic_machine=a29k-amd
+		os=-ebmon
+		;;
+	elxsi)
+		basic_machine=elxsi-elxsi
+		os=-bsd
+		;;
+	encore | umax | mmax)
+		basic_machine=ns32k-encore
+		;;
+	es1800 | OSE68k | ose68k | ose | OSE)
+		basic_machine=m68k-ericsson
+		os=-ose
+		;;
+	fx2800)
+		basic_machine=i860-alliant
+		;;
+	genix)
+		basic_machine=ns32k-ns
+		;;
+	gmicro)
+		basic_machine=tron-gmicro
+		os=-sysv
+		;;
+	h3050r* | hiux*)
+		basic_machine=hppa1.1-hitachi
+		os=-hiuxwe2
+		;;
+	h8300hms)
+		basic_machine=h8300-hitachi
+		os=-hms
+		;;
+	h8300xray)
+		basic_machine=h8300-hitachi
+		os=-xray
+		;;
+	h8500hms)
+		basic_machine=h8500-hitachi
+		os=-hms
+		;;
+	harris)
+		basic_machine=m88k-harris
+		os=-sysv3
+		;;
+	hp300-*)
+		basic_machine=m68k-hp
+		;;
+	hp300bsd)
+		basic_machine=m68k-hp
+		os=-bsd
+		;;
+	hp300hpux)
+		basic_machine=m68k-hp
+		os=-hpux
+		;;
+	hp3k9[0-9][0-9] | hp9[0-9][0-9])
+		basic_machine=hppa1.0-hp
+		;;
+	hp9k2[0-9][0-9] | hp9k31[0-9])
+		basic_machine=m68000-hp
+		;;
+	hp9k3[2-9][0-9])
+		basic_machine=m68k-hp
+		;;
+	hp9k6[0-9][0-9] | hp6[0-9][0-9])
+		basic_machine=hppa1.0-hp
+		;;
+	hp9k7[0-79][0-9] | hp7[0-79][0-9])
+		basic_machine=hppa1.1-hp
+		;;
+	hp9k78[0-9] | hp78[0-9])
+		# FIXME: really hppa2.0-hp
+		basic_machine=hppa1.1-hp
+		;;
+	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
+		# FIXME: really hppa2.0-hp
+		basic_machine=hppa1.1-hp
+		;;
+	hp9k8[0-9][13679] | hp8[0-9][13679])
+		basic_machine=hppa1.1-hp
+		;;
+	hp9k8[0-9][0-9] | hp8[0-9][0-9])
+		basic_machine=hppa1.0-hp
+		;;
+	hppa-next)
+		os=-nextstep3
+		;;
+	hppaosf)
+		basic_machine=hppa1.1-hp
+		os=-osf
+		;;
+	hppro)
+		basic_machine=hppa1.1-hp
+		os=-proelf
+		;;
+	i370-ibm* | ibm*)
+		basic_machine=i370-ibm
+		;;
+# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
+	i[34567]86v32)
+		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+		os=-sysv32
+		;;
+	i[34567]86v4*)
+		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+		os=-sysv4
+		;;
+	i[34567]86v)
+		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+		os=-sysv
+		;;
+	i[34567]86sol2)
+		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+		os=-solaris2
+		;;
+	i386mach)
+		basic_machine=i386-mach
+		os=-mach
+		;;
+	i386-vsta | vsta)
+		basic_machine=i386-unknown
+		os=-vsta
+		;;
+	i386-go32 | go32)
+		basic_machine=i386-unknown
+		os=-go32
+		;;
+	i386-mingw32 | mingw32)
+		basic_machine=i386-unknown
+		os=-mingw32
+		;;
+	i[34567]86-pw32 | pw32)
+		basic_machine=i586-unknown
+		os=-pw32
+		;;
+	iris | iris4d)
+		basic_machine=mips-sgi
+		case $os in
+		    -irix*)
+			;;
+		    *)
+			os=-irix4
+			;;
+		esac
+		;;
+	isi68 | isi)
+		basic_machine=m68k-isi
+		os=-sysv
+		;;
+	m88k-omron*)
+		basic_machine=m88k-omron
+		;;
+	magnum | m3230)
+		basic_machine=mips-mips
+		os=-sysv
+		;;
+	merlin)
+		basic_machine=ns32k-utek
+		os=-sysv
+		;;
+	miniframe)
+		basic_machine=m68000-convergent
+		;;
+	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
+		basic_machine=m68k-atari
+		os=-mint
+		;;
+	mipsel*-linux*)
+		basic_machine=mipsel-unknown
+		os=-linux-gnu
+		;;
+	mips*-linux*)
+		basic_machine=mips-unknown
+		os=-linux-gnu
+		;;
+	mips3*-*)
+		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
+		;;
+	mips3*)
+		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
+		;;
+	mmix*)
+		basic_machine=mmix-knuth
+		os=-mmixware
+		;;
+	monitor)
+		basic_machine=m68k-rom68k
+		os=-coff
+		;;
+	msdos)
+		basic_machine=i386-unknown
+		os=-msdos
+		;;
+	mvs)
+		basic_machine=i370-ibm
+		os=-mvs
+		;;
+	ncr3000)
+		basic_machine=i486-ncr
+		os=-sysv4
+		;;
+	netbsd386)
+		basic_machine=i386-unknown
+		os=-netbsd
+		;;
+	netwinder)
+		basic_machine=armv4l-rebel
+		os=-linux
+		;;
+	news | news700 | news800 | news900)
+		basic_machine=m68k-sony
+		os=-newsos
+		;;
+	news1000)
+		basic_machine=m68030-sony
+		os=-newsos
+		;;
+	news-3600 | risc-news)
+		basic_machine=mips-sony
+		os=-newsos
+		;;
+	necv70)
+		basic_machine=v70-nec
+		os=-sysv
+		;;
+	next | m*-next )
+		basic_machine=m68k-next
+		case $os in
+		    -nextstep* )
+			;;
+		    -ns2*)
+		      os=-nextstep2
+			;;
+		    *)
+		      os=-nextstep3
+			;;
+		esac
+		;;
+	nh3000)
+		basic_machine=m68k-harris
+		os=-cxux
+		;;
+	nh[45]000)
+		basic_machine=m88k-harris
+		os=-cxux
+		;;
+	nindy960)
+		basic_machine=i960-intel
+		os=-nindy
+		;;
+	mon960)
+		basic_machine=i960-intel
+		os=-mon960
+		;;
+	nonstopux)
+		basic_machine=mips-compaq
+		os=-nonstopux
+		;;
+	np1)
+		basic_machine=np1-gould
+		;;
+	nsr-tandem)
+		basic_machine=nsr-tandem
+		;;
+	op50n-* | op60c-*)
+		basic_machine=hppa1.1-oki
+		os=-proelf
+		;;
+	OSE68000 | ose68000)
+		basic_machine=m68000-ericsson
+		os=-ose
+		;;
+	os68k)
+		basic_machine=m68k-none
+		os=-os68k
+		;;
+	pa-hitachi)
+		basic_machine=hppa1.1-hitachi
+		os=-hiuxwe2
+		;;
+	paragon)
+		basic_machine=i860-intel
+		os=-osf
+		;;
+	pbd)
+		basic_machine=sparc-tti
+		;;
+	pbb)
+		basic_machine=m68k-tti
+		;;
+        pc532 | pc532-*)
+		basic_machine=ns32k-pc532
+		;;
+	pentium | p5 | k5 | k6 | nexgen)
+		basic_machine=i586-pc
+		;;
+	pentiumpro | p6 | 6x86 | athlon)
+		basic_machine=i686-pc
+		;;
+	pentiumii | pentium2)
+		basic_machine=i686-pc
+		;;
+	pentium-* | p5-* | k5-* | k6-* | nexgen-*)
+		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	pentiumpro-* | p6-* | 6x86-* | athlon-*)
+		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	pentiumii-* | pentium2-*)
+		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	pn)
+		basic_machine=pn-gould
+		;;
+	power)	basic_machine=power-ibm
+		;;
+	ppc)	basic_machine=powerpc-unknown
+	        ;;
+	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	ppcle | powerpclittle | ppc-le | powerpc-little)
+		basic_machine=powerpcle-unknown
+	        ;;
+	ppcle-* | powerpclittle-*)
+		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	ps2)
+		basic_machine=i386-ibm
+		;;
+	rom68k)
+		basic_machine=m68k-rom68k
+		os=-coff
+		;;
+	rm[46]00)
+		basic_machine=mips-siemens
+		;;
+	rtpc | rtpc-*)
+		basic_machine=romp-ibm
+		;;
+	sa29200)
+		basic_machine=a29k-amd
+		os=-udi
+		;;
+	sequent)
+		basic_machine=i386-sequent
+		;;
+	sh)
+		basic_machine=sh-hitachi
+		os=-hms
+		;;
+	sparclite-wrs)
+		basic_machine=sparclite-wrs
+		os=-vxworks
+		;;
+	sps7)
+		basic_machine=m68k-bull
+		os=-sysv2
+		;;
+	spur)
+		basic_machine=spur-unknown
+		;;
+	st2000)
+		basic_machine=m68k-tandem
+		;;
+	stratus)
+		basic_machine=i860-stratus
+		os=-sysv4
+		;;
+	sun2)
+		basic_machine=m68000-sun
+		;;
+	sun2os3)
+		basic_machine=m68000-sun
+		os=-sunos3
+		;;
+	sun2os4)
+		basic_machine=m68000-sun
+		os=-sunos4
+		;;
+	sun3os3)
+		basic_machine=m68k-sun
+		os=-sunos3
+		;;
+	sun3os4)
+		basic_machine=m68k-sun
+		os=-sunos4
+		;;
+	sun4os3)
+		basic_machine=sparc-sun
+		os=-sunos3
+		;;
+	sun4os4)
+		basic_machine=sparc-sun
+		os=-sunos4
+		;;
+	sun4sol2)
+		basic_machine=sparc-sun
+		os=-solaris2
+		;;
+	sun3 | sun3-*)
+		basic_machine=m68k-sun
+		;;
+	sun4)
+		basic_machine=sparc-sun
+		;;
+	sun386 | sun386i | roadrunner)
+		basic_machine=i386-sun
+		;;
+	sv1)
+		basic_machine=sv1-cray
+		os=-unicos
+		;;
+	symmetry)
+		basic_machine=i386-sequent
+		os=-dynix
+		;;
+	t3e)
+		basic_machine=t3e-cray
+		os=-unicos
+		;;
+	tic54x | c54x*)
+		basic_machine=tic54x-unknown
+		os=-coff
+		;;
+	tx39)
+		basic_machine=mipstx39-unknown
+		;;
+	tx39el)
+		basic_machine=mipstx39el-unknown
+		;;
+	tower | tower-32)
+		basic_machine=m68k-ncr
+		;;
+	udi29k)
+		basic_machine=a29k-amd
+		os=-udi
+		;;
+	ultra3)
+		basic_machine=a29k-nyu
+		os=-sym1
+		;;
+	v810 | necv810)
+		basic_machine=v810-nec
+		os=-none
+		;;
+	vaxv)
+		basic_machine=vax-dec
+		os=-sysv
+		;;
+	vms)
+		basic_machine=vax-dec
+		os=-vms
+		;;
+	vpp*|vx|vx-*)
+               basic_machine=f301-fujitsu
+               ;;
+	vxworks960)
+		basic_machine=i960-wrs
+		os=-vxworks
+		;;
+	vxworks68)
+		basic_machine=m68k-wrs
+		os=-vxworks
+		;;
+	vxworks29k)
+		basic_machine=a29k-wrs
+		os=-vxworks
+		;;
+	w65*)
+		basic_machine=w65-wdc
+		os=-none
+		;;
+	w89k-*)
+		basic_machine=hppa1.1-winbond
+		os=-proelf
+		;;
+	xmp)
+		basic_machine=xmp-cray
+		os=-unicos
+		;;
+        xps | xps100)
+		basic_machine=xps100-honeywell
+		;;
+	z8k-*-coff)
+		basic_machine=z8k-unknown
+		os=-sim
+		;;
+	none)
+		basic_machine=none-none
+		os=-none
+		;;
+
+# Here we handle the default manufacturer of certain CPU types.  It is in
+# some cases the only manufacturer, in others, it is the most popular.
+	w89k)
+		basic_machine=hppa1.1-winbond
+		;;
+	op50n)
+		basic_machine=hppa1.1-oki
+		;;
+	op60c)
+		basic_machine=hppa1.1-oki
+		;;
+	mips)
+		if [ x$os = x-linux-gnu ]; then
+			basic_machine=mips-unknown
+		else
+			basic_machine=mips-mips
+		fi
+		;;
+	romp)
+		basic_machine=romp-ibm
+		;;
+	rs6000)
+		basic_machine=rs6000-ibm
+		;;
+	vax)
+		basic_machine=vax-dec
+		;;
+	pdp11)
+		basic_machine=pdp11-dec
+		;;
+	we32k)
+		basic_machine=we32k-att
+		;;
+	sh3 | sh4)
+		basic_machine=sh-unknown
+		;;
+	sparc | sparcv9)
+		basic_machine=sparc-sun
+		;;
+        cydra)
+		basic_machine=cydra-cydrome
+		;;
+	orion)
+		basic_machine=orion-highlevel
+		;;
+	orion105)
+		basic_machine=clipper-highlevel
+		;;
+	mac | mpw | mac-mpw)
+		basic_machine=m68k-apple
+		;;
+	pmac | pmac-mpw)
+		basic_machine=powerpc-apple
+		;;
+	c4x*)
+		basic_machine=c4x-none
+		os=-coff
+		;;
+	*)
+		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+		exit 1
+		;;
+esac
+
+# Here we canonicalize certain aliases for manufacturers.
+case $basic_machine in
+	*-digital*)
+		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
+		;;
+	*-commodore*)
+		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
+		;;
+	*)
+		;;
+esac
+
+# Decode manufacturer-specific aliases for certain operating systems.
+
+if [ x"$os" != x"" ]
+then
+case $os in
+        # First match some system type aliases
+        # that might get confused with valid system types.
+	# -solaris* is a basic system type, with this one exception.
+	-solaris1 | -solaris1.*)
+		os=`echo $os | sed -e 's|solaris1|sunos4|'`
+		;;
+	-solaris)
+		os=-solaris2
+		;;
+	-svr4*)
+		os=-sysv4
+		;;
+	-unixware*)
+		os=-sysv4.2uw
+		;;
+	-gnu/linux*)
+		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
+		;;
+	# First accept the basic system types.
+	# The portable systems comes first.
+	# Each alternative MUST END IN A *, to match a version number.
+	# -sysv* is not here because it comes later, after sysvr4.
+	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
+	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
+	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
+	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
+	      | -aos* \
+	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
+	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
+	      | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \
+	      | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
+	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
+	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
+	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
+	      | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
+	      | -interix* | -uwin* | -rhapsody* | -darwin* | -opened* \
+	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* | -storm-chaos*)
+	# Remember, each alternative MUST END IN *, to match a version number.
+		;;
+	-qnx*)
+		case $basic_machine in
+		    x86-* | i[34567]86-*)
+			;;
+		    *)
+			os=-nto$os
+			;;
+		esac
+		;;
+	-nto*)
+		os=-nto-qnx
+		;;
+	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
+	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* \
+	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
+		;;
+	-mac*)
+		os=`echo $os | sed -e 's|mac|macos|'`
+		;;
+	-linux*)
+		os=`echo $os | sed -e 's|linux|linux-gnu|'`
+		;;
+	-sunos5*)
+		os=`echo $os | sed -e 's|sunos5|solaris2|'`
+		;;
+	-sunos6*)
+		os=`echo $os | sed -e 's|sunos6|solaris3|'`
+		;;
+	-opened*)
+		os=-openedition
+		;;
+	-wince*)
+		os=-wince
+		;;
+	-osfrose*)
+		os=-osfrose
+		;;
+	-osf*)
+		os=-osf
+		;;
+	-utek*)
+		os=-bsd
+		;;
+	-dynix*)
+		os=-bsd
+		;;
+	-acis*)
+		os=-aos
+		;;
+	-386bsd)
+		os=-bsd
+		;;
+	-ctix* | -uts*)
+		os=-sysv
+		;;
+	-ns2 )
+	        os=-nextstep2
+		;;
+	-nsk*)
+		os=-nsk
+		;;
+	# Preserve the version number of sinix5.
+	-sinix5.*)
+		os=`echo $os | sed -e 's|sinix|sysv|'`
+		;;
+	-sinix*)
+		os=-sysv4
+		;;
+	-triton*)
+		os=-sysv3
+		;;
+	-oss*)
+		os=-sysv3
+		;;
+	-svr4)
+		os=-sysv4
+		;;
+	-svr3)
+		os=-sysv3
+		;;
+	-sysvr4)
+		os=-sysv4
+		;;
+	# This must come after -sysvr4.
+	-sysv*)
+		;;
+	-ose*)
+		os=-ose
+		;;
+	-es1800*)
+		os=-ose
+		;;
+	-xenix)
+		os=-xenix
+		;;
+        -*mint | -*MiNT)
+	        os=-mint
+		;;
+	-none)
+		;;
+	*)
+		# Get rid of the `-' at the beginning of $os.
+		os=`echo $os | sed 's/[^-]*-//'`
+		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
+		exit 1
+		;;
+esac
+else
+
+# Here we handle the default operating systems that come with various machines.
+# The value should be what the vendor currently ships out the door with their
+# machine or put another way, the most popular os provided with the machine.
+
+# Note that if you're going to try to match "-MANUFACTURER" here (say,
+# "-sun"), then you have to tell the case statement up towards the top
+# that MANUFACTURER isn't an operating system.  Otherwise, code above
+# will signal an error saying that MANUFACTURER isn't an operating
+# system, and we'll never get to this point.
+
+case $basic_machine in
+	*-acorn)
+		os=-riscix1.2
+		;;
+	arm*-rebel)
+		os=-linux
+		;;
+	arm*-semi)
+		os=-aout
+		;;
+        pdp11-*)
+		os=-none
+		;;
+	*-dec | vax-*)
+		os=-ultrix4.2
+		;;
+	m68*-apollo)
+		os=-domain
+		;;
+	i386-sun)
+		os=-sunos4.0.2
+		;;
+	m68000-sun)
+		os=-sunos3
+		# This also exists in the configure program, but was not the
+		# default.
+		# os=-sunos4
+		;;
+	m68*-cisco)
+		os=-aout
+		;;
+	mips*-cisco)
+		os=-elf
+		;;
+	mips*-*)
+		os=-elf
+		;;
+	*-tti)	# must be before sparc entry or we get the wrong os.
+		os=-sysv3
+		;;
+	sparc-* | *-sun)
+		os=-sunos4.1.1
+		;;
+	*-be)
+		os=-beos
+		;;
+	*-ibm)
+		os=-aix
+		;;
+	*-wec)
+		os=-proelf
+		;;
+	*-winbond)
+		os=-proelf
+		;;
+	*-oki)
+		os=-proelf
+		;;
+	*-hp)
+		os=-hpux
+		;;
+	*-hitachi)
+		os=-hiux
+		;;
+	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
+		os=-sysv
+		;;
+	*-cbm)
+		os=-amigaos
+		;;
+	*-dg)
+		os=-dgux
+		;;
+	*-dolphin)
+		os=-sysv3
+		;;
+	m68k-ccur)
+		os=-rtu
+		;;
+	m88k-omron*)
+		os=-luna
+		;;
+	*-next )
+		os=-nextstep
+		;;
+	*-sequent)
+		os=-ptx
+		;;
+	*-crds)
+		os=-unos
+		;;
+	*-ns)
+		os=-genix
+		;;
+	i370-*)
+		os=-mvs
+		;;
+	*-next)
+		os=-nextstep3
+		;;
+        *-gould)
+		os=-sysv
+		;;
+        *-highlevel)
+		os=-bsd
+		;;
+	*-encore)
+		os=-bsd
+		;;
+        *-sgi)
+		os=-irix
+		;;
+        *-siemens)
+		os=-sysv4
+		;;
+	*-masscomp)
+		os=-rtu
+		;;
+	f301-fujitsu)
+		os=-uxpv
+		;;
+	*-rom68k)
+		os=-coff
+		;;
+	*-*bug)
+		os=-coff
+		;;
+	*-apple)
+		os=-macos
+		;;
+	*-atari*)
+		os=-mint
+		;;
+	*)
+		os=-none
+		;;
+esac
+fi
+
+# Here we handle the case where we know the os, and the CPU type, but not the
+# manufacturer.  We pick the logical manufacturer.
+vendor=unknown
+case $basic_machine in
+	*-unknown)
+		case $os in
+			-riscix*)
+				vendor=acorn
+				;;
+			-sunos*)
+				vendor=sun
+				;;
+			-aix*)
+				vendor=ibm
+				;;
+			-beos*)
+				vendor=be
+				;;
+			-hpux*)
+				vendor=hp
+				;;
+			-mpeix*)
+				vendor=hp
+				;;
+			-hiux*)
+				vendor=hitachi
+				;;
+			-unos*)
+				vendor=crds
+				;;
+			-dgux*)
+				vendor=dg
+				;;
+			-luna*)
+				vendor=omron
+				;;
+			-genix*)
+				vendor=ns
+				;;
+			-mvs* | -opened*)
+				vendor=ibm
+				;;
+			-ptx*)
+				vendor=sequent
+				;;
+			-vxsim* | -vxworks*)
+				vendor=wrs
+				;;
+			-aux*)
+				vendor=apple
+				;;
+			-hms*)
+				vendor=hitachi
+				;;
+			-mpw* | -macos*)
+				vendor=apple
+				;;
+			-*mint | -*MiNT)
+				vendor=atari
+				;;
+		esac
+		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
+		;;
+esac
+
+echo $basic_machine$os
+exit 0
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:
diff --git a/admin/configure.in.min b/admin/configure.in.min
new file mode 100644
index 0000000..881b687
--- /dev/null
+++ b/admin/configure.in.min
@@ -0,0 +1,37 @@
+# Original Author was Kalle at kde.org
+# I lifted it in some mater. (Stephan Kulow)
+# I used much code from Janos Farkas
+
+dnl Process this file with autoconf to produce a configure script.
+
+AC_INIT(acinclude.m4) dnl a source file from your sub dir
+
+dnl This is so we can use kde-common
+AC_CONFIG_AUX_DIR(admin)
+
+AC_CANONICAL_SYSTEM 
+AC_ARG_PROGRAM
+
+dnl Automake doc recommends to do this only here. (Janos)
+AM_INIT_AUTOMAKE(@MODULENAME@, @VERSION@) dnl searches for some needed programs
+
+KDE_SET_PREFIX
+
+dnl generate the config header
+AM_CONFIG_HEADER(config.h) dnl at the distribution this done
+
+dnl Checks for programs.
+AC_CHECK_COMPILERS
+AC_ENABLE_SHARED(yes)
+AC_ENABLE_STATIC(no)
+KDE_PROG_LIBTOOL
+
+dnl for NLS support. Call them in this order!
+dnl WITH_NLS is for the po files
+AM_KDE_WITH_NLS
+
+AC_PATH_KDE
+
+dnl Perform program name transformation
+AC_ARG_PROGRAM
+
diff --git a/admin/debianrules b/admin/debianrules
new file mode 100755
index 0000000..9da861b
--- /dev/null
+++ b/admin/debianrules
@@ -0,0 +1,82 @@
+#!/usr/bin/perl -w
+
+use Shell qw(mv cp mkdir rm) ;
+use File::Find;
+use Cwd;
+
+$origPwd = `pwd`;
+chomp $origPwd;
+
+
+if (@ARGV && $ARGV[0] eq 'cleanup') {
+
+if (-d "debian/tmp/usr/share/config") {
+	if (! -d "debian/tmp/$kde_confdir") {
+	  system("mv debian/tmp/usr/share/config debian/tmp/$kde_confdir");
+	}
+}
+system("rm -f `find debian/ -name \".anchors\"`");
+system("chmod 755 debian/*preinst debian/*postinst");
+
+exit;
+}
+
+$QTDIR="/usr/share/qt";
+$kde_prefix="/usr";
+$kde_htmldir="$kde_prefix/share/doc/kde/HTML";
+$kde_icondir="$kde_prefix/share/icons";
+$kde_sounddir="$kde_prefix/share/sounds";
+$kde_datadir="$kde_prefix/share/apps";
+$kde_locale="$kde_prefix/share/locale";
+$kde_confdir="/etc/kde2";
+$kde_cgidir="$kde_prefix/lib/cgi-bin";
+$kde_appsdir="$kde_prefix/share/applnk";
+$kde_mimedir="$kde_prefix/share/mimelnk";
+$kde_wallpaperdir="$kde_prefix/share/wallpapers";
+$kde_bindir="$kde_prefix/bin";
+$kde_servicesdir="$kde_prefix/share/services";
+$kde_servicetypesdir="$kde_prefix/share/servicetypes";
+$kde_includedir="$kde_prefix/include/kde";
+$kde_libdir="$kde_prefix/lib";
+$mandir="$kde_prefix/share/man"; 
+$infodir="$kde_prefix/share/info";
+$IDL="$kde_bindir/cuteidl";
+$DCOPIDL="$kde_bindir/dcopidl";
+$DCOPIDL2CPP="$kde_bindir/dcopidl2cpp";
+$KDB2HTML="$kde_bindir/kdb2html";
+$MCOPIDL="$kde_bindir/mcopidl";
+$ARTSCCONFIG="$kde_bindir/artsc-config";
+
+if (@ARGV && $ARGV[0] eq 'echodirs') {
+  print STDOUT "export kde_htmldir=$kde_htmldir\n";
+  print STDOUT "export kde_appsdir=$kde_appsdir\n";
+  print STDOUT "export kde_icondir=$kde_icondir\n";
+  print STDOUT "export kde_sounddir=$kde_sounddir\n";
+  print STDOUT "export kde_datadir=$kde_datadir\n";
+  print STDOUT "export kde_cgidir=$kde_cgidir\n";
+  print STDOUT "export kde_locale=$kde_locale\n";
+  print STDOUT "export kde_confdir=$kde_confdir\n";
+  print STDOUT "export kde_mimedir=$kde_mimedir\n";
+  print STDOUT "export kde_wallpaperdir=$kde_wallpaperdir\n";
+  print STDOUT "export kde_bindir=$kde_bindir\n";
+  print STDOUT "export kde_servicesdir=$kde_servicesdir\n";
+  print STDOUT "export kde_servicetypesdir=$kde_servicetypesdir\n";
+  print STDOUT "export kde_includedir=$kde_includedir\n";
+  print STDOUT "export kde_libdir=$kde_libdir\n";
+  print STDOUT "export mandir=$mandir\n";
+  print STDOUT "export infodir=$infodir\n";
+  print STDOUT "export QTDIR=$QTDIR\n";
+  print STDOUT "export kde_prefix=$kde_prefix\n";
+  print STDOUT "export INSTALL_DATA=install -p -c -m 644\n";
+  print STDOUT "export IDL=$IDL\n";
+  print STDOUT "export DCOPIDL=$DCOPIDL\n";
+  print STDOUT "export DCOPIDL2CPP=$DCOPIDL2CPP\n";
+  print STDOUT "export KDB2HTML=$KDB2HTML\n";
+  print STDOUT "export MCOPIDL=$MCOPIDL\n";
+  print STDOUT "export ARTSCCONFIG=$ARTSCCONFIG\n";
+  print STDOUT "configkde=--disable-rpath --prefix=\$(kde_prefix) --libexecdir=\$(kde_bindir) --with-qt-includes=/usr/include/qt --mandir=\$(mandir) --infodir=\$(infodir)\n";
+  print STDOUT "configkdevelop=--enable-docbase --enable-kdoc2 --disable-rpath --libdir=\$(kde_libdir) --includedir=\$(kde_includedir) --with-qt-includes=/usr/include/qt --mandir=\$(mandir) --with-kdelibsdoc-dir=/usr/share/doc/kdelibs3-doc/html\n";
+  print STDOUT "configkdepim=--with-extra-includes=/usr/include/libpisock --enable-shared --disable-rpath --prefix=\$(kde_prefix) --libexecdir=\$(kde_bindir) --with-qt-includes=/usr/include/qt --mandir=\$(mandir) --infodir=\$(infodir)\n";
+  exit
+}
+
diff --git a/admin/depcomp b/admin/depcomp
new file mode 100755
index 0000000..7906096
--- /dev/null
+++ b/admin/depcomp
@@ -0,0 +1,269 @@
+#! /bin/sh
+
+# depcomp - compile a program generating dependencies as side-effects
+# Copyright (C) 1999 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+# Originally written by Alexandre Oliva <oliva at dcc.unicamp.br>.
+
+if test -z "$depmode" || test -z "$source" || test -z "$object"; then
+  echo "depcomp: Variables source, object and depmode must be set" 1>&2
+  exit 1
+fi
+# `libtool' can also be set to `yes' or `no'.
+
+depfile=${depfile-`echo "$object" | sed 's,\([^/]*\)$,.deps/\1,;s/\.\([^.]*\)$/.P\1/'`}
+tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
+
+rm -f "$tmpdepfile"
+
+# Some modes work just like other modes, but use different flags.  We
+# parameterize here, but still list the modes in the big case below,
+# to make depend.m4 easier to write.  Note that we *cannot* use a case
+# here, because this file can only contain one case statement.
+if test "$depmode" = hp; then
+  # HP compiler uses -M and no extra arg.
+  gccflag=-M
+  depmode=gcc
+fi
+
+if test "$depmode" = dashXmstdout; then
+   # This is just like dashmstdout with a different argument.
+   dashmflag=-xM
+   depmode=dashmstdout
+fi
+
+case "$depmode" in
+gcc)
+## There are various ways to get dependency output from gcc.  Here's
+## why we pick this rather obscure method:
+## - Don't want to use -MD because we'd like the dependencies to end
+##   up in a subdir.  Having to rename by hand is ugly.
+##   (We might end up doing this anyway to support other compilers.)
+## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
+##   -MM, not -M (despite what the docs say).
+## - Using -M directly means running the compiler twice (even worse
+##   than renaming).
+  if test -z "$gccflag"; then
+    gccflag=-MD,
+  fi
+  if "$@" -Wp,"$gccflag$tmpdepfile"; then :
+  else
+    stat=$?
+    rm -f "$tmpdepfile"
+    exit $stat
+  fi
+  rm -f "$depfile" 
+  echo "$object : \\" > "$depfile"
+  sed 's/^[^:]*: / /' < "$tmpdepfile" >> "$depfile"
+## This next piece of magic avoids the `deleted header file' problem.
+## The problem is that when a header file which appears in a .P file
+## is deleted, the dependency causes make to die (because there is
+## typically no way to rebuild the header).  We avoid this by adding
+## dummy dependencies for each header file.  Too bad gcc doesn't do
+## this for us directly.
+  tr ' ' '
+' < "$tmpdepfile" |
+## Some versions of gcc put a space before the `:'.  On the theory
+## that the space means something, we add a space to the output as
+## well.
+## Some versions of the HPUX 10.20 sed can't process this invocation
+## correctly.  Breaking it into two sed invocations is a workaround.
+    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+  rm -f "$tmpdepfile"
+  ;;
+
+hp)
+  # This case exists only to let depend.m4 do its work.  It works by
+  # looking at the text of this script.  This case will never be run,
+  # since it is checked for above.
+  exit 1
+  ;;
+
+dashmd)
+  # The Java front end to gcc doesn't run cpp, so we can't use the -Wp
+  # trick.  Instead we must use -M and then rename the resulting .d
+  # file.  This is also the case for older versions of gcc, which
+  # don't implement -Wp.
+  if "$@" -MD; then :
+  else
+    stat=$?
+    rm -f FIXME
+    exit $stat
+  fi
+  FIXME: rewrite the file
+  ;;
+
+sgi)
+  if test "$libtool" = yes; then
+    "$@" "-Wc,-MDupdate,$tmpdepfile"
+  else
+    "$@" -MDupdate "$tmpdepfile"
+  fi
+  stat=$?
+  if test $stat -eq 0; then :
+  else
+    stat=$?
+    rm -f "$tmpdepfile"
+    exit $stat
+  fi
+  rm -f "$depfile" 
+  echo "$object : \\" > "$depfile"
+  sed 's/^[^:]*: / /' < "$tmpdepfile" >> "$depfile"
+  tr ' ' '
+' < "$tmpdepfile" | \
+## Some versions of the HPUX 10.20 sed can't process this invocation
+## correctly.  Breaking it into two sed invocations is a workaround.
+    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+  rm -f "$tmpdepfile"
+  ;;
+
+#nosideeffect)
+  # This comment above is used by automake to tell side-effect
+  # dependency tracking mechanisms from slower ones.
+
+dashmstdout)
+  # Important note: in order to support this mode, a compiler *must*
+  # always write the proprocessed file to stdout, regardless of -o,
+  # because we must use -o when running libtool.
+  test -z "$dashmflag" && dashmflag=-M
+  ( IFS=" "
+    case " $* " in
+    *" --mode=compile "*) # this is libtool, let us make it quiet
+      for arg
+      do # cycle over the arguments
+        case "$arg" in
+	"--mode=compile")
+	  # insert --quiet before "--mode=compile"
+	  set fnord "$@" --quiet
+	  shift # fnord
+	  ;;
+	esac
+	set fnord "$@" "$arg"
+	shift # fnord
+	shift # "$arg"
+      done
+      ;;
+    esac
+    "$@" $dashmflag | sed 's:^[^:]*\:[ 	]*:'"$object"'\: :' > "$tmpdepfile"
+  ) &
+  proc=$!
+  "$@"
+  stat=$?
+  wait "$proc"
+  if test "$stat" != 0; then exit $stat; fi
+  rm -f "$depfile" 
+  cat < "$tmpdepfile" > "$depfile"
+  tr ' ' '
+' < "$tmpdepfile" | \
+## Some versions of the HPUX 10.20 sed can't process this invocation
+## correctly.  Breaking it into two sed invocations is a workaround.
+    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+  rm -f "$tmpdepfile"
+  ;;
+
+dashXmstdout)
+  # This case only exists to satisfy depend.m4.  It is never actually
+  # run, as this mode is specially recognized in the preamble.
+  exit 1
+  ;;
+
+makedepend)
+  # X makedepend
+  (
+    shift
+    cleared=no
+    for arg in "$@"; do
+      case $cleared in no)
+        set ""; shift
+	cleared=yes
+      esac
+      case "$arg" in
+        -D*|-I*)
+	  set fnord "$@" "$arg"; shift;;
+	-*)
+	  ;;
+	*)
+	  set fnord "$@" "$arg"; shift;;
+      esac
+    done
+    obj_suffix="`echo $object | sed 's/^.*\././'`"
+    touch "$tmpdepfile"
+    ${MAKEDEPEND-makedepend} 2>/dev/null -o"$obj_suffix" -f"$tmpdepfile" "$@"
+  ) &
+  proc=$!
+  "$@"
+  stat=$?
+  wait "$proc"
+  if test "$stat" != 0; then exit $stat; fi
+  rm -f "$depfile" 
+  cat < "$tmpdepfile" > "$depfile"
+  tail +3 "$tmpdepfile" | tr ' ' '
+' | \
+## Some versions of the HPUX 10.20 sed can't process this invocation
+## correctly.  Breaking it into two sed invocations is a workaround.
+    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+  rm -f "$tmpdepfile" "$tmpdepfile".bak
+  ;;
+
+cpp)
+  # Important note: in order to support this mode, a compiler *must*
+  # always write the proprocessed file to stdout, regardless of -o,
+  # because we must use -o when running libtool.
+  ( IFS=" "
+    case " $* " in
+    *" --mode=compile "*)
+      for arg
+      do # cycle over the arguments
+        case "$arg" in
+	"--mode=compile")
+	  # insert --quiet before "--mode=compile"
+	  set fnord "$@" --quiet
+	  shift # fnord
+	  ;;
+	esac
+	set fnord "$@" "$arg"
+	shift # fnord
+	shift # "$arg"
+      done
+      ;;
+    esac
+    "$@" -E |
+    sed -n '/^# [0-9][0-9]* "\([^"]*\)"/ s::'"$object"'\: \1:p' > "$tmpdepfile"
+  ) &
+  proc=$!
+  "$@"
+  stat=$?
+  wait "$proc"
+  if test "$stat" != 0; then exit $stat; fi
+  rm -f "$depfile"
+  cat < "$tmpdepfile" > "$depfile"
+  sed < "$tmpdepfile" -e 's/^[^:]*: //' -e 's/$/ :/' >> "$depfile"
+  rm -f "$tmpdepfile"
+  ;;
+
+none)
+  exec "$@"
+  ;;
+
+*)
+  echo "Unknown depmode $depmode" 1>&2
+  exit 1
+  ;;
+esac
+
+exit 0
diff --git a/admin/install-sh b/admin/install-sh
new file mode 100755
index 0000000..c41be2a
--- /dev/null
+++ b/admin/install-sh
@@ -0,0 +1,248 @@
+#!/bin/sh
+#
+# install - install a program, script, or datafile
+# This comes from X11R5 (mit/util/scripts/install.sh).
+#
+# Copyright 1991 by the Massachusetts Institute of Technology
+#
+# Permission to use, copy, modify, distribute, and sell this software and its
+# documentation for any purpose is hereby granted without fee, provided that
+# the above copyright notice appear in all copies and that both that
+# copyright notice and this permission notice appear in supporting
+# documentation, and that the name of M.I.T. not be used in advertising or
+# publicity pertaining to distribution of the software without specific,
+# written prior permission.  M.I.T. makes no representations about the
+# suitability of this software for any purpose.  It is provided "as is"
+# without express or implied warranty.
+#
+# Calling this script install-sh is preferred over install.sh, to prevent
+# `make' implicit rules from creating a file called install from it
+# when there is no Makefile.
+#
+# This script is compatible with the BSD install script, but was written
+# from scratch.  It can only install one file at a time, a restriction
+# shared with many OS's install programs.
+
+
+# set DOITPROG to echo to test this script
+
+# Don't use :- since 4.3BSD and earlier shells don't like it.
+doit="${DOITPROG-}"
+
+
+# put in absolute paths if you don't have them in your path; or use env. vars.
+
+mvprog="${MVPROG-mv}"
+cpprog="${CPPROG-cp}"
+chmodprog="${CHMODPROG-chmod}"
+chownprog="${CHOWNPROG-chown}"
+chgrpprog="${CHGRPPROG-chgrp}"
+stripprog="${STRIPPROG-strip}"
+rmprog="${RMPROG-rm}"
+mkdirprog="${MKDIRPROG-mkdir}"
+
+transformbasename=""
+transform_arg=""
+instcmd="$mvprog"
+chmodcmd="$chmodprog 0755"
+chowncmd=""
+chgrpcmd=""
+stripcmd=""
+rmcmd="$rmprog -f"
+mvcmd="$mvprog"
+src=""
+dst=""
+dir_arg=""
+
+while [ x"$1" != x ]; do
+    case $1 in
+	-c) instcmd="$cpprog"
+	    shift
+	    continue;;
+
+	-d) dir_arg=true
+	    shift
+	    continue;;
+
+	-m) chmodcmd="$chmodprog $2"
+	    shift
+	    shift
+	    continue;;
+
+	-o) chowncmd="$chownprog $2"
+	    shift
+	    shift
+	    continue;;
+
+	-g) chgrpcmd="$chgrpprog $2"
+	    shift
+	    shift
+	    continue;;
+
+	-s) stripcmd="$stripprog"
+	    shift
+	    continue;;
+
+	-t=*) transformarg=`echo $1 | sed 's/-t=//'`
+	    shift
+	    continue;;
+
+	-b=*) transformbasename=`echo $1 | sed 's/-b=//'`
+	    shift
+	    continue;;
+
+	*)  if [ x"$src" = x ]
+	    then
+		src="$1"
+	    else
+		# this colon is to work around a 386BSD /bin/sh bug
+		:
+		dst="$1"
+	    fi
+	    shift
+	    continue;;
+    esac
+done
+
+if [ x"$src" = x ]
+then
+	echo "install:	no input file specified"
+	exit 1
+else
+	true
+fi
+
+if [ x"$dir_arg" != x ]; then
+	dst="$src"
+	src=""
+	
+	if [ -d $dst ]; then
+		instcmd=:
+	else
+		instcmd=mkdir
+	fi
+else
+
+# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
+# might cause directories to be created, which would be especially bad 
+# if $src (and thus $dsttmp) contains '*'.
+
+	if [ -f "$src" -o -d "$src" ]
+	then
+		true
+	else
+		echo "install:  $src does not exist"
+		exit 1
+	fi
+	
+	if [ x"$dst" = x ]
+	then
+		echo "install:	no destination specified"
+		exit 1
+	else
+		true
+	fi
+
+# If destination is a directory, append the input filename; if your system
+# does not like double slashes in filenames, you may need to add some logic
+
+	if [ -d "$dst" ]
+	then
+		dst="$dst"/`basename $src`
+	else
+		true
+	fi
+fi
+
+## this sed command emulates the dirname command
+dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
+
+# Make sure that the destination directory exists.
+#  this part is taken from Noah Friedman's mkinstalldirs script
+
+# Skip lots of stat calls in the usual case.
+if [ ! -d "$dstdir" ]; then
+defaultIFS='	
+'
+IFS="${IFS-${defaultIFS}}"
+
+oIFS="${IFS}"
+# Some sh's can't handle IFS=/ for some reason.
+IFS='%'
+set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'`
+IFS="${oIFS}"
+
+pathcomp=''
+
+while [ $# -ne 0 ] ; do
+	pathcomp="${pathcomp}${1}"
+	shift
+
+	if [ ! -d "${pathcomp}" ] ;
+        then
+		$mkdirprog "${pathcomp}"
+	else
+		true
+	fi
+
+	pathcomp="${pathcomp}/"
+done
+fi
+
+if [ x"$dir_arg" != x ]
+then
+	$doit $instcmd $dst &&
+
+	if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi &&
+	if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi &&
+	if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi &&
+	if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi
+else
+
+# If we're going to rename the final executable, determine the name now.
+
+	if [ x"$transformarg" = x ] 
+	then
+		dstfile=`basename "$dst"`
+	else
+		dstfile=`basename "$dst" $transformbasename | 
+			sed $transformarg`$transformbasename
+	fi
+
+# don't allow the sed command to completely eliminate the filename
+
+	if [ x"$dstfile" = x ] 
+	then
+		dstfile=`basename "$dst"`
+	else
+		true
+	fi
+
+# Make a temp file name in the proper directory.
+
+	dsttmp=$dstdir/#inst.$$#
+
+# Move or copy the file name to the temp name
+
+	$doit $instcmd "$src" "$dsttmp" &&
+
+	trap "rm -f \"${dsttmp}\"" 0 &&
+
+# and set any options; do chmod last to preserve setuid bits
+
+# If any of these fail, we abort the whole thing.  If we want to
+# ignore errors from any of these, just make sure not to ignore
+# errors from the above "$doit $instcmd $src $dsttmp" command.
+
+	if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi &&
+	if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi &&
+	if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi &&
+	if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi &&
+
+# Now rename the file to the real destination.
+	$doit $rmcmd -f "$dstdir/$dstfile" &&
+	$doit $mvcmd "$dsttmp" "$dstdir/$dstfile"
+fi &&
+
+
+exit 0
diff --git a/admin/libtool.m4.in b/admin/libtool.m4.in
new file mode 100644
index 0000000..5be9fd0
--- /dev/null
+++ b/admin/libtool.m4.in
@@ -0,0 +1,876 @@
+## libtool.m4 - Configure libtool for the host system. -*-Shell-script-*-
+## Copyright 1996, 1997, 1998, 1999, 2000, 2001
+## Free Software Foundation, Inc.
+## Originally by Gordon Matzigkeit <gord at gnu.ai.mit.edu>, 1996
+##
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2 of the License, or
+## (at your option) any later version.
+##
+## This program is distributed in the hope that it will be useful, but
+## WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+## General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+##
+## As a special exception to the GNU General Public License, if you
+## distribute this file as part of a program that contains a
+## configuration script generated by Autoconf, you may include it under
+## the same distribution terms that you use for the rest of that program.
+
+# serial 46 AC_PROG_LIBTOOL
+AC_DEFUN([AC_PROG_LIBTOOL],
+[AC_REQUIRE([_AC_PROG_LIBTOOL])dnl
+dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX
+dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX.
+  AC_PROVIDE_IFELSE([AC_PROG_CXX],
+    [AC_LIBTOOL_CXX],
+    [define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX
+])])
+
+dnl Quote A][M_PROG_GCJ so that aclocal doesn't bring it in needlessly.
+dnl If either AC_PROG_GCJ or A][M_PROG_GCJ have already been expanded, run
+dnl AC_LIBTOOL_GCJ immediately, otherwise, hook it in at the end of both.
+  AC_PROVIDE_IFELSE([AC_PROG_GCJ],
+    [AC_LIBTOOL_GCJ],
+    [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
+        [AC_LIBTOOL_GCJ],
+	[AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],
+	  [AC_LIBTOOL_GCJ],
+	[ifdef([AC_PROG_GCJ],
+	       [define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[AC_LIBTOOL_GCJ
+])])
+	 ifdef([A][M_PROG_GCJ],
+	       [define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[AC_LIBTOOL_GCJ
+])])
+	 ifdef([LT_AC_PROG_GCJ],
+	       [define([LT_AC_PROG_GCJ], defn([LT_AC_PROG_GCJ])[AC_LIBTOOL_GCJ
+])])])])])])
+
+AC_DEFUN([_AC_PROG_LIBTOOL],
+[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl
+AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl
+AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl
+
+# Save cache, so that ltconfig can load it
+AC_CACHE_SAVE
+
+# Actually configure libtool.  ac_aux_dir is where install-sh is found.
+AR="$AR" LTCC="$CC" CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \
+MAGIC_CMD="$MAGIC_CMD" LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \
+LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" STRIP="$STRIP" \
+AS="$AS" DLLTOOL="$DLLTOOL" OBJDUMP="$OBJDUMP" \
+objext="$OBJEXT" exeext="$EXEEXT" reload_flag="$reload_flag" \
+deplibs_check_method="$deplibs_check_method" file_magic_cmd="$file_magic_cmd" \
+${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig --no-reexec \
+$libtool_flags --no-verify --build="$build" $ac_aux_dir/ltmain.sh $host \
+|| AC_MSG_ERROR([libtool configure failed])
+
+# Reload cache, that may have been modified by ltconfig
+AC_CACHE_LOAD
+
+# This can be used to rebuild libtool when needed
+LIBTOOL_DEPS="$ac_aux_dir/ltconfig $ac_aux_dir/ltmain.sh $ac_aux_dir/ltcf-c.sh"
+
+# Always use our own libtool.
+LIBTOOL='$(SHELL) $(top_builddir)/libtool'
+AC_SUBST(LIBTOOL)dnl
+
+# Redirect the config.log output again, so that the ltconfig log is not
+# clobbered by the next message.
+exec 5>>./config.log
+])
+
+AC_DEFUN([AC_LIBTOOL_SETUP],
+[AC_PREREQ(2.13)dnl
+AC_REQUIRE([AC_ENABLE_SHARED])dnl
+AC_REQUIRE([AC_ENABLE_STATIC])dnl
+AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl
+AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_PROG_LD])dnl
+AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl
+AC_REQUIRE([AC_PROG_NM])dnl
+AC_REQUIRE([AC_PROG_LN_S])dnl
+AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl
+# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers!
+AC_REQUIRE([AC_OBJEXT])dnl
+AC_REQUIRE([AC_EXEEXT])dnl
+dnl
+
+# Only perform the check for file, if the check method requires it
+case "$deplibs_check_method" in
+file_magic*)
+  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
+    AC_PATH_MAGIC
+  fi
+  ;;
+esac
+
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+AC_CHECK_TOOL(STRIP, strip, :)
+
+# Check for any special flags to pass to ltconfig.
+libtool_flags="--cache-file=$cache_file"
+test "$enable_shared" = no && libtool_flags="$libtool_flags --disable-shared"
+test "$enable_static" = no && libtool_flags="$libtool_flags --disable-static"
+test "$enable_fast_install" = no && libtool_flags="$libtool_flags --disable-fast-install"
+test "$GCC" = yes && libtool_flags="$libtool_flags --with-gcc"
+test "$lt_cv_prog_gnu_ld" = yes && libtool_flags="$libtool_flags --with-gnu-ld"
+ifdef([AC_PROVIDE_AC_LIBTOOL_DLOPEN],
+[libtool_flags="$libtool_flags --enable-dlopen"])
+ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL],
+[libtool_flags="$libtool_flags --enable-win32-dll"])
+AC_ARG_ENABLE(libtool-lock,
+  [  --disable-libtool-lock  avoid locking (might break parallel builds)])
+test "x$enable_libtool_lock" = xno && libtool_flags="$libtool_flags --disable-lock"
+test x"$silent" = xyes && libtool_flags="$libtool_flags --silent"
+
+AC_ARG_WITH(pic,
+  [  --with-pic              try to use only PIC/non-PIC objects [default=use both]],
+     pic_mode="$withval", pic_mode=default)
+test x"$pic_mode" = xyes && libtool_flags="$libtool_flags --prefer-pic"
+test x"$pic_mode" = xno && libtool_flags="$libtool_flags --prefer-non-pic"
+
+# Some flags need to be propagated to the compiler or linker for good
+# libtool support.
+case "$host" in
+*-*-irix6*)
+  # Find out which ABI we are using.
+  echo '[#]line __oline__ "configure"' > conftest.$ac_ext
+  if AC_TRY_EVAL(ac_compile); then
+    case "`/usr/bin/file conftest.$ac_objext`" in
+    *32-bit*)
+      LD="${LD-ld} -32"
+      ;;
+    *N32*)
+      LD="${LD-ld} -n32"
+      ;;
+    *64-bit*)
+      LD="${LD-ld} -64"
+      ;;
+    esac
+  fi
+  rm -rf conftest*
+  ;;
+
+*-*-sco3.2v5*)
+  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
+  SAVE_CFLAGS="$CFLAGS"
+  CFLAGS="$CFLAGS -belf"
+  AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
+    [AC_LANG_SAVE
+     AC_LANG_C
+     AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
+     AC_LANG_RESTORE])
+  if test x"$lt_cv_cc_needs_belf" != x"yes"; then
+    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
+    CFLAGS="$SAVE_CFLAGS"
+  fi
+  ;;
+
+ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL],
+[*-*-cygwin* | *-*-mingw* | *-*-pw32*)
+  AC_CHECK_TOOL(DLLTOOL, dlltool, false)
+  AC_CHECK_TOOL(AS, as, false)
+  AC_CHECK_TOOL(OBJDUMP, objdump, false)
+
+  # recent cygwin and mingw systems supply a stub DllMain which the user
+  # can override, but on older systems we have to supply one
+  AC_CACHE_CHECK([if libtool should supply DllMain function], lt_cv_need_dllmain,
+    [AC_TRY_LINK([],
+      [extern int __attribute__((__stdcall__)) DllMain(void*, int, void*);
+      DllMain (0, 0, 0);],
+      [lt_cv_need_dllmain=no],[lt_cv_need_dllmain=yes])])
+
+  case "$host/$CC" in
+  *-*-cygwin*/gcc*-mno-cygwin*|*-*-mingw*)
+    # old mingw systems require "-dll" to link a DLL, while more recent ones
+    # require "-mdll"
+    SAVE_CFLAGS="$CFLAGS"
+    CFLAGS="$CFLAGS -mdll"
+    AC_CACHE_CHECK([how to link DLLs], lt_cv_cc_dll_switch,
+      [AC_TRY_LINK([], [], [lt_cv_cc_dll_switch=-mdll],[lt_cv_cc_dll_switch=-dll])])
+    CFLAGS="$SAVE_CFLAGS" ;;
+  *-*-cygwin* | *-*-pw32*)
+    # cygwin systems need to pass --dll to the linker, and not link
+    # crt.o which will require a WinMain at 16 definition.
+    lt_cv_cc_dll_switch="-Wl,--dll -nostartfiles" ;;
+  esac
+  ;;
+  ])
+esac
+])
+
+# AC_LIBTOOL_DLOPEN - enable checks for dlopen support
+AC_DEFUN([AC_LIBTOOL_DLOPEN], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])])
+
+# AC_LIBTOOL_WIN32_DLL - declare package support for building win32 dll's
+AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [AC_BEFORE([$0], [AC_LIBTOOL_SETUP])])
+
+# AC_ENABLE_SHARED - implement the --enable-shared flag
+# Usage: AC_ENABLE_SHARED[(DEFAULT)]
+#   Where DEFAULT is either `yes' or `no'.  If omitted, it defaults to
+#   `yes'.
+AC_DEFUN([AC_ENABLE_SHARED],
+[define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl
+AC_ARG_ENABLE(shared,
+changequote(<<, >>)dnl
+<<  --enable-shared[=PKGS]  build shared libraries [default=>>AC_ENABLE_SHARED_DEFAULT],
+changequote([, ])dnl
+[p=${PACKAGE-default}
+case "$enableval" in
+yes) enable_shared=yes ;;
+no) enable_shared=no ;;
+*)
+  enable_shared=no
+  # Look at the argument we got.  We use all the common list separators.
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
+  for pkg in $enableval; do
+    if test "X$pkg" = "X$p"; then
+      enable_shared=yes
+    fi
+  done
+  IFS="$ac_save_ifs"
+  ;;
+esac],
+enable_shared=AC_ENABLE_SHARED_DEFAULT)dnl
+])
+
+# AC_DISABLE_SHARED - set the default shared flag to --disable-shared
+AC_DEFUN([AC_DISABLE_SHARED], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+AC_ENABLE_SHARED(no)])
+
+# AC_ENABLE_STATIC - implement the --enable-static flag
+# Usage: AC_ENABLE_STATIC[(DEFAULT)]
+#   Where DEFAULT is either `yes' or `no'.  If omitted, it defaults to
+#   `yes'.
+AC_DEFUN([AC_ENABLE_STATIC],
+[define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl
+AC_ARG_ENABLE(static,
+changequote(<<, >>)dnl
+<<  --enable-static[=PKGS]  build static libraries [default=>>AC_ENABLE_STATIC_DEFAULT],
+changequote([, ])dnl
+[p=${PACKAGE-default}
+case "$enableval" in
+yes) enable_static=yes ;;
+no) enable_static=no ;;
+*)
+  enable_static=no
+  # Look at the argument we got.  We use all the common list separators.
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
+  for pkg in $enableval; do
+    if test "X$pkg" = "X$p"; then
+      enable_static=yes
+    fi
+  done
+  IFS="$ac_save_ifs"
+  ;;
+esac],
+enable_static=AC_ENABLE_STATIC_DEFAULT)dnl
+])
+
+# AC_DISABLE_STATIC - set the default static flag to --disable-static
+AC_DEFUN([AC_DISABLE_STATIC],
+[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+AC_ENABLE_STATIC(no)])
+
+
+# AC_ENABLE_FAST_INSTALL - implement the --enable-fast-install flag
+# Usage: AC_ENABLE_FAST_INSTALL[(DEFAULT)]
+#   Where DEFAULT is either `yes' or `no'.  If omitted, it defaults to
+#   `yes'.
+AC_DEFUN([AC_ENABLE_FAST_INSTALL],
+[define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl
+AC_ARG_ENABLE(fast-install,
+changequote(<<, >>)dnl
+<<  --enable-fast-install[=PKGS]  optimize for fast installation [default=>>AC_ENABLE_FAST_INSTALL_DEFAULT],
+changequote([, ])dnl
+[p=${PACKAGE-default}
+case "$enableval" in
+yes) enable_fast_install=yes ;;
+no) enable_fast_install=no ;;
+*)
+  enable_fast_install=no
+  # Look at the argument we got.  We use all the common list separators.
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
+  for pkg in $enableval; do
+    if test "X$pkg" = "X$p"; then
+      enable_fast_install=yes
+    fi
+  done
+  IFS="$ac_save_ifs"
+  ;;
+esac],
+enable_fast_install=AC_ENABLE_FAST_INSTALL_DEFAULT)dnl
+])
+
+# AC_DISABLE_FAST_INSTALL - set the default to --disable-fast-install
+AC_DEFUN([AC_DISABLE_FAST_INSTALL],
+[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+AC_ENABLE_FAST_INSTALL(no)])
+
+# AC_LIBTOOL_PICMODE - implement the --with-pic flag
+# Usage: AC_LIBTOOL_PICMODE[(MODE)]
+#   Where MODE is either `yes' or `no'.  If omitted, it defaults to
+#   `both'.
+AC_DEFUN([AC_LIBTOOL_PICMODE],
+[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+pic_mode=ifelse($#,1,$1,default)])
+
+
+# AC_PATH_TOOL_PREFIX - find a file program which can recognise shared library
+AC_DEFUN([AC_PATH_TOOL_PREFIX],
+[AC_MSG_CHECKING([for $1])
+AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
+[case "$MAGIC_CMD" in
+  /*)
+  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+  ;;
+  ?:/*)
+  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a dos path.
+  ;;
+  *)
+  ac_save_MAGIC_CMD="$MAGIC_CMD"
+  IFS="${IFS=   }"; ac_save_ifs="$IFS"; IFS=":"
+dnl $ac_dummy forces splitting on constant user-supplied paths.
+dnl POSIX.2 word splitting is done only on the output of word expansions,
+dnl not every word.  This closes a longstanding sh security hole.
+  ac_dummy="ifelse([$2], , $PATH, [$2])"
+  for ac_dir in $ac_dummy; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$1; then
+      lt_cv_path_MAGIC_CMD="$ac_dir/$1"
+      if test -n "$file_magic_test_file"; then
+	case "$deplibs_check_method" in
+	"file_magic "*)
+	  file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`"
+	  MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+	  if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+	    egrep "$file_magic_regex" > /dev/null; then
+	    :
+	  else
+	    cat <<EOF 1>&2
+
+*** Warning: the command libtool uses to detect shared libraries,
+*** $file_magic_cmd, produces output that libtool cannot recognize.
+*** The result is that libtool may fail to recognize shared libraries
+*** as such.  This will affect the creation of libtool libraries that
+*** depend on shared libraries, but programs linked with such libtool
+*** libraries will work regardless of this problem.  Nevertheless, you
+*** may want to report the problem to your system manager and/or to
+*** bug-libtool at gnu.org
+
+EOF
+	  fi ;;
+	esac
+      fi
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+  MAGIC_CMD="$ac_save_MAGIC_CMD"
+  ;;
+esac])
+MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+if test -n "$MAGIC_CMD"; then
+  AC_MSG_RESULT($MAGIC_CMD)
+else
+  AC_MSG_RESULT(no)
+fi
+])
+
+
+# AC_PATH_MAGIC - find a file program which can recognise a shared library
+AC_DEFUN([AC_PATH_MAGIC],
+[AC_REQUIRE([AC_CHECK_TOOL_PREFIX])dnl
+AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin:$PATH)
+if test -z "$lt_cv_path_MAGIC_CMD"; then
+  if test -n "$ac_tool_prefix"; then
+    AC_PATH_TOOL_PREFIX(file, /usr/bin:$PATH)
+  else
+    MAGIC_CMD=:
+  fi
+fi
+])
+
+
+# AC_PROG_LD - find the path to the GNU or non-GNU linker
+AC_DEFUN([AC_PROG_LD],
+[AC_ARG_WITH(gnu-ld,
+[  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]],
+test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+ac_prog=ld
+if test "$GCC" = yes; then
+  # Check if gcc -print-prog-name=ld gives a path.
+  AC_MSG_CHECKING([for ld used by GCC])
+  case $host in
+  *-*-mingw*)
+    # gcc leaves a trailing carriage return which upsets mingw
+    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+  *)
+    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+  esac
+  case "$ac_prog" in
+    # Accept absolute paths.
+changequote(,)dnl
+    [\\/]* | [A-Za-z]:[\\/]*)
+      re_direlt='/[^/][^/]*/\.\./'
+changequote([,])dnl
+      # Canonicalize the path of ld
+      ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
+      while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
+	ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
+      done
+      test -z "$LD" && LD="$ac_prog"
+      ;;
+  "")
+    # If it fails, then pretend we aren't using GCC.
+    ac_prog=ld
+    ;;
+  *)
+    # If it is relative, then search for the first ld in PATH.
+    with_gnu_ld=unknown
+    ;;
+  esac
+elif test "$with_gnu_ld" = yes; then
+  AC_MSG_CHECKING([for GNU ld])
+else
+  AC_MSG_CHECKING([for non-GNU ld])
+fi
+AC_CACHE_VAL(lt_cv_path_LD,
+[if test -z "$LD"; then
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
+  for ac_dir in $PATH; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+      lt_cv_path_LD="$ac_dir/$ac_prog"
+      # Check to see if the program is GNU ld.  I'd rather use --version,
+      # but apparently some GNU ld's only accept -v.
+      # Break only if it was the GNU/non-GNU ld that we prefer.
+      if "$lt_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
+	test "$with_gnu_ld" != no && break
+      else
+	test "$with_gnu_ld" != yes && break
+      fi
+    fi
+  done
+  IFS="$ac_save_ifs"
+else
+  lt_cv_path_LD="$LD" # Let the user override the test with a path.
+fi])
+LD="$lt_cv_path_LD"
+if test -n "$LD"; then
+  AC_MSG_RESULT($LD)
+else
+  AC_MSG_RESULT(no)
+fi
+test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
+AC_PROG_LD_GNU
+])
+
+AC_DEFUN([AC_PROG_LD_GNU],
+[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
+[# I'd rather use --version here, but apparently some GNU ld's only accept -v.
+if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
+  lt_cv_prog_gnu_ld=yes
+else
+  lt_cv_prog_gnu_ld=no
+fi])
+with_gnu_ld=$lt_cv_prog_gnu_ld
+])
+
+# AC_PROG_LD_RELOAD_FLAG - find reload flag for linker
+#   -- PORTME Some linkers may need a different reload flag.
+AC_DEFUN([AC_PROG_LD_RELOAD_FLAG],
+[AC_CACHE_CHECK([for $LD option to reload object files], lt_cv_ld_reload_flag,
+[lt_cv_ld_reload_flag='-r'])
+reload_flag=$lt_cv_ld_reload_flag
+test -n "$reload_flag" && reload_flag=" $reload_flag"
+])
+
+# AC_DEPLIBS_CHECK_METHOD - how to check for library dependencies
+#  -- PORTME fill in with the dynamic library characteristics
+AC_DEFUN([AC_DEPLIBS_CHECK_METHOD],
+[AC_CACHE_CHECK([how to recognise dependant libraries],
+lt_cv_deplibs_check_method,
+[lt_cv_file_magic_cmd='$MAGIC_CMD'
+lt_cv_file_magic_test_file=
+lt_cv_deplibs_check_method='unknown'
+# Need to set the preceding variable on all platforms that support
+# interlibrary dependencies.
+# 'none' -- dependencies not supported.
+# `unknown' -- same as none, but documents that we really don't know.
+# 'pass_all' -- all dependencies passed with no checks.
+# 'test_compile' -- check by making test program.
+# 'file_magic [regex]' -- check by looking for files in library path
+# which responds to the $file_magic_cmd with a given egrep regex.
+# If you have `file' or equivalent on your system and you're not sure
+# whether `pass_all' will *always* work, you probably want this one.
+
+case "$host_os" in
+aix4*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+beos*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+bsdi4*)
+  changequote(,)dnl
+  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
+  changequote([, ])dnl
+  lt_cv_file_magic_cmd='/usr/bin/file -L'
+  lt_cv_file_magic_test_file=/shlib/libc.so
+  ;;
+
+cygwin* | mingw* |pw32*)
+  lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
+  lt_cv_file_magic_cmd='$OBJDUMP -f'
+  ;;
+
+darwin* | rhapsody*)
+  lt_cv_deplibs_check_method='file_magic Mach-O dynamically linked shared library'
+  lt_cv_file_magic_cmd=/usr/bin/file
+  lt_cv_file_magic_test_file=`echo /System/Library/Frameworks/System.framework/Versions/*/System | head -1`
+  ;;
+
+freebsd* )
+  if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
+    case "$host_cpu" in
+    i*86 )
+      # Not sure whether the presence of OpenBSD here was a mistake.
+      # Let's accept both of them until this is cleared up.
+      changequote(,)dnl
+      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD)/i[3-9]86 (compact )?demand paged shared library'
+      changequote([, ])dnl
+      lt_cv_file_magic_cmd=/usr/bin/file
+      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
+      ;;
+    esac
+  else
+    lt_cv_deplibs_check_method=pass_all
+  fi
+  ;;
+
+gnu*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+hpux10.20*|hpux11*)
+  # TODO:  Does this work for hpux-11 too?
+  changequote(,)dnl
+  lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library'
+  changequote([, ])dnl
+  lt_cv_file_magic_cmd=/usr/bin/file
+  lt_cv_file_magic_test_file=/usr/lib/libc.sl
+  ;;
+
+irix5* | irix6*)
+  case "$host_os" in
+  irix5*)
+    # this will be overridden with pass_all, but let us keep it just in case
+    lt_cv_deplibs_check_method="file_magic ELF 32-bit MSB dynamic lib MIPS - version 1"
+    ;;
+  *)
+    case "$LD" in
+    *-32|*"-32 ") libmagic=32-bit;;
+    *-n32|*"-n32 ") libmagic=N32;;
+    *-64|*"-64 ") libmagic=64-bit;;
+    *) libmagic=never-match;;
+    esac
+    # this will be overridden with pass_all, but let us keep it just in case
+    changequote(,)dnl
+    lt_cv_deplibs_check_method="file_magic ELF ${libmagic} MSB mips-[1234] dynamic lib MIPS - version 1"
+    changequote([, ])dnl
+    ;;
+  esac
+  lt_cv_file_magic_test_file=`echo /lib${libsuff}/libc.so*`
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+# This must be Linux ELF.
+linux-gnu*)
+  case "$host_cpu" in
+  alpha* | i*86 | powerpc* | sparc* | ia64* | s390* )
+    lt_cv_deplibs_check_method=pass_all ;;
+  *)
+    # glibc up to 2.1.1 does not perform some relocations on ARM
+    changequote(,)dnl
+    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' ;;
+    changequote([, ])dnl
+  esac
+  lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
+  ;;
+
+netbsd*)
+  if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
+    [lt_cv_deplibs_check_method='file_magic NetBSD/[a-z0-9]* demand paged shared library']
+  else
+    [lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB shared object']
+  fi
+  lt_cv_file_magic_cmd='/usr/bin/file -L'
+  lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
+  ;;
+
+openbsd* )
+  if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
+    case "$host_cpu" in
+    i*86 )
+      changequote(,)dnl
+      lt_cv_deplibs_check_method='file_magic OpenBSD/i[3-9]86 demand paged shared library'
+      changequote([, ])dnl
+      lt_cv_file_magic_cmd=/usr/bin/file
+      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
+      ;;
+    esac
+  else
+    lt_cv_deplibs_check_method=pass_all
+  fi
+  ;;
+
+newsos6)
+  [lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)']
+  lt_cv_file_magic_cmd=/usr/bin/file
+  lt_cv_file_magic_test_file=/usr/lib/libnls.so
+  ;;
+
+osf3* | osf4* | osf5*)
+  # this will be overridden with pass_all, but let us keep it just in case
+  lt_cv_deplibs_check_method='file_magic COFF format alpha shared library'
+  lt_cv_file_magic_test_file=/shlib/libc.so
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+sco3.2v5*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+solaris*)
+  lt_cv_deplibs_check_method=pass_all
+  lt_cv_file_magic_test_file=/lib/libc.so
+  ;;
+
+sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+  case "$host_vendor" in
+  ncr)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  motorola)
+    changequote(,)dnl
+    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
+    changequote([, ])dnl
+    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
+    ;;
+  esac
+  ;;
+esac
+])
+file_magic_cmd=$lt_cv_file_magic_cmd
+deplibs_check_method=$lt_cv_deplibs_check_method
+])
+
+
+# AC_PROG_NM - find the path to a BSD-compatible name lister
+AC_DEFUN([AC_PROG_NM],
+[AC_MSG_CHECKING([for BSD-compatible nm])
+AC_CACHE_VAL(lt_cv_path_NM,
+[if test -n "$NM"; then
+  # Let the user override the test.
+  lt_cv_path_NM="$NM"
+else
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
+  for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do
+    test -z "$ac_dir" && ac_dir=.
+    tmp_nm=$ac_dir/${ac_tool_prefix}nm
+    if test -f $tmp_nm || test -f $tmp_nm$ac_exeext ; then
+      # Check to see if the nm accepts a BSD-compat flag.
+      # Adding the `sed 1q' prevents false positives on HP-UX, which says:
+      #   nm: unknown option "B" ignored
+      # Tru64's nm complains that /dev/null is an invalid object file
+      if ($tmp_nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep '(/dev/null|Invalid file or object type)' >/dev/null; then
+	lt_cv_path_NM="$tmp_nm -B"
+	break
+      elif ($tmp_nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
+	lt_cv_path_NM="$tmp_nm -p"
+	break
+      else
+	lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
+	continue # so that we can try to find one that supports BSD flags
+      fi
+    fi
+  done
+  IFS="$ac_save_ifs"
+  test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm
+fi])
+NM="$lt_cv_path_NM"
+AC_MSG_RESULT([$NM])
+])
+
+# AC_CHECK_LIBM - check for math library
+AC_DEFUN([AC_CHECK_LIBM],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+LIBM=
+case "$host" in
+*-*-beos* | *-*-cygwin* | *-*-pw32*)
+  # These system don't have libm
+  ;;
+*-ncr-sysv4.3*)
+  AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
+  AC_CHECK_LIB(m, main, LIBM="$LIBM -lm")
+  ;;
+*)
+  AC_CHECK_LIB(m, main, LIBM="-lm")
+  ;;
+esac
+])
+
+# AC_LIBLTDL_CONVENIENCE[(dir)] - sets LIBLTDL to the link flags for
+# the libltdl convenience library and INCLTDL to the include flags for
+# the libltdl header and adds --enable-ltdl-convenience to the
+# configure arguments.  Note that LIBLTDL and INCLTDL are not
+# AC_SUBSTed, nor is AC_CONFIG_SUBDIRS called.  If DIR is not
+# provided, it is assumed to be `libltdl'.  LIBLTDL will be prefixed
+# with '${top_builddir}/' and INCLTDL will be prefixed with
+# '${top_srcdir}/' (note the single quotes!).  If your package is not
+# flat and you're not using automake, define top_builddir and
+# top_srcdir appropriately in the Makefiles.
+AC_DEFUN([AC_LIBLTDL_CONVENIENCE],
+[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+  case "$enable_ltdl_convenience" in
+  no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;;
+  "") enable_ltdl_convenience=yes
+      ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;;
+  esac
+  LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la
+  INCLTDL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
+])
+
+# AC_LIBLTDL_INSTALLABLE[(dir)] - sets LIBLTDL to the link flags for
+# the libltdl installable library and INCLTDL to the include flags for
+# the libltdl header and adds --enable-ltdl-install to the configure
+# arguments.  Note that LIBLTDL and INCLTDL are not AC_SUBSTed, nor is
+# AC_CONFIG_SUBDIRS called.  If DIR is not provided and an installed
+# libltdl is not found, it is assumed to be `libltdl'.  LIBLTDL will
+# be prefixed with '${top_builddir}/' and INCLTDL will be prefixed
+# with '${top_srcdir}/' (note the single quotes!).  If your package is
+# not flat and you're not using automake, define top_builddir and
+# top_srcdir appropriately in the Makefiles.
+# In the future, this macro may have to be called after AC_PROG_LIBTOOL.
+AC_DEFUN([AC_LIBLTDL_INSTALLABLE],
+[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+  AC_CHECK_LIB(ltdl, main,
+  [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no],
+  [if test x"$enable_ltdl_install" = xno; then
+     AC_MSG_WARN([libltdl not installed, but installation disabled])
+   else
+     enable_ltdl_install=yes
+   fi
+  ])
+  if test x"$enable_ltdl_install" = x"yes"; then
+    ac_configure_args="$ac_configure_args --enable-ltdl-install"
+    LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la
+    INCLTDL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
+  else
+    ac_configure_args="$ac_configure_args --enable-ltdl-install=no"
+    LIBLTDL="-lltdl"
+    INCLTDL=
+  fi
+])
+
+# If this macro is not defined by Autoconf, define it here.
+ifdef([AC_PROVIDE_IFELSE],
+      [],
+      [define([AC_PROVIDE_IFELSE],
+              [ifdef([AC_PROVIDE_$1],
+                     [$2], [$3])])])
+
+# AC_LIBTOOL_CXX - enable support for C++ libraries
+AC_DEFUN([AC_LIBTOOL_CXX], [AC_REQUIRE([_AC_LIBTOOL_CXX])])
+
+AC_DEFUN([_AC_LIBTOOL_CXX],
+[AC_REQUIRE([AC_PROG_CXX])
+AC_REQUIRE([AC_PROG_CXXCPP])
+LIBTOOL_DEPS=$LIBTOOL_DEPS" $ac_aux_dir/ltcf-cxx.sh"
+lt_save_CC="$CC"
+lt_save_CFLAGS="$CFLAGS"
+dnl Make sure LTCC is set to the C compiler, i.e. set LTCC before CC
+dnl is set to the C++ compiler.
+AR="$AR" LTCC="$CC" CC="$CXX" CXX="$CXX" CFLAGS="$CXXFLAGS" CPPFLAGS="$CPPFLAGS" \
+MAGIC_CMD="$MAGIC_CMD" LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \
+LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" STRIP="$STRIP" \
+AS="$AS" DLLTOOL="$DLLTOOL" OBJDUMP="$OBJDUMP" \
+objext="$OBJEXT" exeext="$EXEEXT" reload_flag="$reload_flag" \
+deplibs_check_method="$deplibs_check_method" \
+file_magic_cmd="$file_magic_cmd" \
+${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig -o libtool $libtool_flags \
+--build="$build" --add-tag=CXX $ac_aux_dir/ltcf-cxx.sh $host \
+|| AC_MSG_ERROR([libtool tag configuration failed])
+CC="$lt_save_CC"
+CFLAGS="$lt_save_CFLAGS"
+
+# Redirect the config.log output again, so that the ltconfig log is not
+# clobbered by the next message.
+exec 5>>./config.log
+])
+
+# AC_LIBTOOL_GCJ - enable support for GCJ libraries
+AC_DEFUN([AC_LIBTOOL_GCJ],[AC_REQUIRE([_AC_LIBTOOL_GCJ])])
+
+AC_DEFUN([_AC_LIBTOOL_GCJ],
+[AC_REQUIRE([AC_PROG_LIBTOOL])
+AC_PROVIDE_IFELSE([AC_PROG_GCJ],[],
+  [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],[],
+    [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],[],
+      [ifdef([AC_PROG_GCJ],[AC_REQUIRE([AC_PROG_GCJ])],
+         [ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])],
+           [AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])])])
+LIBTOOL_DEPS=$LIBTOOL_DEPS" $ac_aux_dir/ltcf-gcj.sh"
+lt_save_CC="$CC"
+lt_save_CFLAGS="$CFLAGS"
+dnl Make sure LTCC is set to the C compiler, i.e. set LTCC before CC
+dnl is set to the C++ compiler.
+AR="$AR" LTCC="$CC" CC="$GCJ" CFLAGS="$GCJFLAGS" CPPFLAGS="$CPPFLAGS" \
+MAGIC_CMD="$MAGIC_CMD" LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \
+LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" STRIP="$STRIP" \
+AS="$AS" DLLTOOL="$DLLTOOL" OBJDUMP="$OBJDUMP" \
+objext="$OBJEXT" exeext="$EXEEXT" reload_flag="$reload_flag" \
+deplibs_check_method="$deplibs_check_method" \
+file_magic_cmd="$file_magic_cmd" \
+${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig -o libtool $libtool_flags \
+--build="$build" --add-tag=GCJ $ac_aux_dir/ltcf-gcj.sh $host \
+|| AC_MSG_ERROR([libtool tag configuration failed])
+CC="$lt_save_CC"
+CFLAGS="$lt_save_CFLAGS"
+
+# Redirect the config.log output again, so that the ltconfig log is not
+# clobbered by the next message.
+exec 5>>./config.log
+])
+
+dnl old names
+AC_DEFUN([AM_PROG_LIBTOOL],   [AC_PROG_LIBTOOL])
+AC_DEFUN([AM_ENABLE_SHARED],  [AC_ENABLE_SHARED($@)])
+AC_DEFUN([AM_ENABLE_STATIC],  [AC_ENABLE_STATIC($@)])
+AC_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
+AC_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
+AC_DEFUN([AM_PROG_LD],        [AC_PROG_LD])
+AC_DEFUN([AM_PROG_NM],        [AC_PROG_NM])
+
+dnl This is just to silence aclocal about the macro not being used
+ifelse([AC_DISABLE_FAST_INSTALL])dnl
+
+AC_DEFUN([LT_AC_PROG_GCJ],
+[AC_CHECK_TOOL(GCJ, gcj, no)
+  test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
+  AC_SUBST(GCJFLAGS)
+])
diff --git a/admin/linpsk.spec b/admin/linpsk.spec
new file mode 100644
index 0000000..e74d05e
--- /dev/null
+++ b/admin/linpsk.spec
@@ -0,0 +1,48 @@
+# This spec file was generated using Kpp
+# If you find any problems with this spec file please report
+# the error to ian geiser <geiseri at msoe.edu>
+Summary:   
+Name:      linpsk
+Version:   0.6.1
+Release:   control=None
+Copyright: GPL
+Vendor:    Volker Schroer <dl1ksv at gmx.de>
+Url:       linpsk.sourceforge.net
+
+Packager:  Volker Schroer <dl1ksv at gmx.de>
+Group:     
+Source:    linpsk-0.6.1.tar.gz
+BuildRoot: 
+
+%description
+
+
+%prep
+%setup
+CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" ./configure \
+                --with-qt-dir=/usr/lib/qt-2.3.0 \
+                $LOCALFLAGS
+%build
+# Setup for parallel builds
+numprocs=`egrep -c ^cpu[0-9]+ /proc/stat || :`
+if [ "$numprocs" = "0" ]; then
+  numprocs=1
+fi
+
+make -j$numprocs
+
+%install
+make install-strip DESTDIR=$RPM_BUILD_ROOT
+
+cd $RPM_BUILD_ROOT
+find . -type d | sed '1,2d;s,^\.,\%attr(-\,root\,root) \%dir ,' > $RPM_BUILD_DIR/file.list.linpsk
+find . -type f | sed 's,^\.,\%attr(-\,root\,root) ,' >> $RPM_BUILD_DIR/file.list.linpsk
+find . -type l | sed 's,^\.,\%attr(-\,root\,root) ,' >> $RPM_BUILD_DIR/file.list.linpsk
+
+%clean
+rm -rf $RPM_BUILD_ROOT/*
+rm -rf $RPM_BUILD_DIR/linpsk
+rm -rf ../file.list.linpsk
+
+
+%files -f ../file.list.linpsk
diff --git a/admin/ltcf-c.sh b/admin/ltcf-c.sh
new file mode 100644
index 0000000..8ebbea9
--- /dev/null
+++ b/admin/ltcf-c.sh
@@ -0,0 +1,746 @@
+#### This script is meant to be sourced by ltconfig.
+
+# $Id: ltcf-c.sh,v 1.14 2001/02/19 02:14:44 matz Exp $
+
+# ltcf-c.sh - Create a C compiler specific configuration
+#
+# Copyright (C) 1996-2000 Free Software Foundation, Inc.
+# Originally by Gordon Matzigkeit <gord at gnu.ai.mit.edu>, 1996
+#
+# This file is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+
+# Source file extension for C test sources.
+ac_ext=c
+
+# Object file extension for compiled C test sources.
+objext=o
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="int some_variable = 0;"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='main(){return(0);}'
+
+## Linker Characteristics
+case "$host_os" in
+cygwin* | mingw*)
+  # FIXME: the MSVC++ port hasn't been tested in a loooong time
+  # When not using gcc, we currently assume that we are using
+  # Microsoft Visual C++.
+  if test "$with_gcc" != yes; then
+    with_gnu_ld=no
+  fi
+  ;;
+
+esac
+
+ld_shlibs=yes
+if test "$with_gnu_ld" = yes; then
+  # If archive_cmds runs LD, not CC, wlarc should be empty
+  wlarc='${wl}'
+
+  # See if GNU ld supports shared libraries.
+  case "$host_os" in
+  aix3* | aix4*)
+    # On AIX, the GNU linker is very broken
+    ld_shlibs=no
+    cat <<EOF 1>&2
+
+*** Warning: the GNU linker, at least up to release 2.9.1, is reported
+*** to be unable to reliably create shared libraries on AIX.
+*** Therefore, libtool is disabling shared libraries support.  If you
+*** really care for shared libraries, you may want to modify your PATH
+*** so that a non-GNU linker is found, and then restart.
+
+EOF
+    ;;
+
+  amigaos*)
+    archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+    hardcode_libdir_flag_spec='-L$libdir'
+    hardcode_minus_L=yes
+
+    # Samuel A. Falvo II <kc5tja at dolphin.openprojects.net> reports
+    # that the semantics of dynamic libraries on AmigaOS, at least up
+    # to version 4, is to share data among multiple programs linked
+    # with the same dynamic library.  Since this doesn't match the
+    # behavior of shared libraries on other platforms, we can use
+    # them.
+    ld_shlibs=no
+    ;;
+
+  beos*)
+    if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
+      allow_undefined_flag=unsupported
+      # Joseph Beckenbach <jrb3 at best.com> says some releases of gcc
+      # support --undefined.  This deserves some investigation.  FIXME
+      archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+    else
+      ld_shlibs=no
+    fi
+    ;;
+
+  cygwin* | mingw*)
+    # hardcode_libdir_flag_spec is actually meaningless, as there is
+    # no search path for DLLs.
+    hardcode_libdir_flag_spec='-L$libdir'
+    allow_undefined_flag=unsupported
+    always_export_symbols=yes
+
+    extract_expsyms_cmds='test -f $output_objdir/impgen.c || \
+      sed -e "/^# \/\* impgen\.c starts here \*\//,/^# \/\* impgen.c ends here \*\// { s/^# //; p; }" -e d < $0 > $output_objdir/impgen.c~
+      test -f $output_objdir/impgen.exe || (cd $output_objdir && \
+      if test "x$HOST_CC" != "x" ; then $HOST_CC -o impgen impgen.c ; \
+      else $CC -o impgen impgen.c ; fi)~
+      $output_objdir/impgen $dir/$soname > $output_objdir/$soname-def'
+
+    old_archive_from_expsyms_cmds='$DLLTOOL --as=$AS --dllname $soname --def $output_objdir/$soname-def --output-lib $output_objdir/$newlib'
+
+    # cygwin and mingw dlls have different entry points and sets of symbols
+    # to exclude.
+    # FIXME: what about values for MSVC?
+    dll_entry=__cygwin_dll_entry at 12
+    dll_exclude_symbols=DllMain at 12,_cygwin_dll_entry at 12,_cygwin_noncygwin_dll_entry at 12~
+    case "$host_os" in
+    mingw*)
+      # mingw values
+      dll_entry=_DllMainCRTStartup at 12
+      dll_exclude_symbols=DllMain at 12,DllMainCRTStartup at 12,DllEntryPoint at 12~
+      ;;
+    esac
+
+    # mingw and cygwin differ, and it's simplest to just exclude the union
+    # of the two symbol sets.
+    dll_exclude_symbols=DllMain at 12,_cygwin_dll_entry at 12,_cygwin_noncygwin_dll_entry at 12,DllMainCRTStartup at 12,DllEntryPoint at 12
+
+    # recent cygwin and mingw systems supply a stub DllMain which the user
+    # can override, but on older systems we have to supply one (in ltdll.c)
+    if test "x$lt_cv_need_dllmain" = "xyes"; then
+      ltdll_obj='$output_objdir/$soname-ltdll.'"$objext "
+      ltdll_cmds='test -f $output_objdir/$soname-ltdll.c || sed -e "/^# \/\* ltdll\.c starts here \*\//,/^# \/\* ltdll.c ends here \*\// { s/^# //; p; }" -e d < $0 > $output_objdir/$soname-ltdll.c~
+	test -f $output_objdir/$soname-ltdll.$objext || (cd $output_objdir && $CC -c $soname-ltdll.c)~'
+    else
+      ltdll_obj=
+      ltdll_cmds=
+    fi
+
+    # Extract the symbol export list from an `--export-all' def file,
+    # then regenerate the def file from the symbol export list, so that
+    # the compiled dll only exports the symbol export list.
+    # Be careful not to strip the DATA tag left be newer dlltools.
+    export_symbols_cmds="$ltdll_cmds"'
+      $DLLTOOL --export-all --exclude-symbols '$dll_exclude_symbols' --output-def $output_objdir/$soname-def '$ltdll_obj'$libobjs $convenience~
+      sed -e "1,/EXPORTS/d" -e "s/ @ [0-9]*//" -e "s/ *;.*$//" < $output_objdir/$soname-def > $export_symbols'
+
+    # If DATA tags from a recent dlltool are present, honour them!
+    archive_expsym_cmds='echo EXPORTS > $output_objdir/$soname-def~
+      _lt_hint=1;
+      cat $export_symbols | while read symbol; do
+	set dummy \$symbol;
+	case \$# in
+	  2) echo "	\$2 @ \$_lt_hint ; " >> $output_objdir/$soname-def;;
+	  *) echo "     \$2 @ \$_lt_hint \$3 ; " >> $output_objdir/$soname-def;;
+	esac;
+	_lt_hint=`expr 1 + \$_lt_hint`;
+      done~
+      '"$ltdll_cmds"'
+      $CC -Wl,--base-file,$output_objdir/$soname-base '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $lib '$ltdll_obj'$libobjs $deplibs $compiler_flags~
+      $DLLTOOL --as=$AS --dllname $soname --exclude-symbols '$dll_exclude_symbols' --def $output_objdir/$soname-def --base-file $output_objdir/$soname-base --output-exp $output_objdir/$soname-exp~
+      $CC -Wl,--base-file,$output_objdir/$soname-base $output_objdir/$soname-exp '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $lib '$ltdll_obj'$libobjs $deplibs $compiler_flags~
+      $DLLTOOL --as=$AS --dllname $soname --exclude-symbols '$dll_exclude_symbols' --def $output_objdir/$soname-def --base-file $output_objdir/$soname-base --output-exp $output_objdir/$soname-exp~
+      $CC $output_objdir/$soname-exp '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $lib '$ltdll_obj'$libobjs $deplibs $compiler_flags'
+    ;;
+
+  darwin*|rhapsody*)
+    allow_undefined_flag='-undefined warning'
+    archive_cmds='$CC $(if test "$module" = "yes"; then echo -bundle; else
+      echo -dynamiclib; fi) -o $lib $libobjs $deplibs $linkopts'
+    archive_expsym_cmds="$archive_cmds"' && strip -s $export_symbols'
+    ## What we need is to hardcode the path to the library, not the search path
+    #hardcode_direct=yes
+    #hardcode_libdir_flag_spec='-install_name $libdir/$lib'
+    hardcode_shlibpath_var=no
+    whole_archive_flag_spec='-all_load'
+    ;;
+
+  netbsd*)
+    if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+      archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+      wlarc=
+    else
+      archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+      archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+    fi
+    ;;
+
+  solaris* | sysv5*)
+    if $LD -v 2>&1 | egrep 'BFD 2\.8' > /dev/null; then
+      ld_shlibs=no
+      cat <<EOF 1>&2
+
+*** Warning: The releases 2.8.* of the GNU linker cannot reliably
+*** create shared libraries on Solaris systems.  Therefore, libtool
+*** is disabling shared libraries support.  We urge you to upgrade GNU
+*** binutils to release 2.9.1 or newer.  Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+EOF
+    elif $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
+      archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+      archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+    else
+      ld_shlibs=no
+    fi
+    ;;
+
+  sunos4*)
+    archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+    wlarc=
+    hardcode_direct=yes
+    hardcode_shlibpath_var=no
+    ;;
+
+  *)
+    if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
+      archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+      archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+    else
+      ld_shlibs=no
+    fi
+    ;;
+  esac
+
+  case "$host_os" in
+  freebsd*)
+    skip_need_lc_check=yes
+    ;;
+  esac
+
+  if test "$ld_shlibs" = yes; then
+    runpath_var=LD_RUN_PATH
+    hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir'
+    export_dynamic_flag_spec='${wl}--export-dynamic'
+    case $host_os in
+    cygwin* | mingw*)
+      # dlltool doesn't understand --whole-archive et. al.
+      whole_archive_flag_spec=
+      ;;
+    *)
+      # ancient GNU ld didn't support --whole-archive et. al.
+      if $LD --help 2>&1 | egrep 'no-whole-archive' > /dev/null; then
+	whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+      else
+	whole_archive_flag_spec=
+      fi
+      ;;
+    esac
+  fi
+else
+  # PORTME fill in a description of your system's linker (not GNU ld)
+  case "$host_os" in
+  aix3*)
+    allow_undefined_flag=unsupported
+    always_export_symbols=yes
+    archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
+    # Note: this linker hardcodes the directories in LIBPATH if there
+    # are no directories specified by -L.
+    hardcode_minus_L=yes
+    if test "$with_gcc" = yes && test -z "$link_static_flag"; then
+      # Neither direct hardcoding nor static linking is supported with a
+      # broken collect2.
+      hardcode_direct=unsupported
+    fi
+    ;;
+
+  # this was the old aix4 code, Reza Arbab says, it isn't working anymore (MM)
+  #aix4*)
+  #  hardcode_libdir_flag_spec='${wl}-b ${wl}nolibpath ${wl}-b ${wl}libpath:$libdir:/usr/lib:/lib'
+  #  hardcode_libdir_separator=':'
+  #  if test "$with_gcc" = yes; then
+  #    collect2name=`${CC} -print-prog-name=collect2`
+  #    if test -f "$collect2name" && \
+  #       strings "$collect2name" | grep resolve_lib_name >/dev/null
+  #    then
+  #      # We have reworked collect2
+  #      hardcode_direct=yes
+  #    else
+  #      # We have old collect2
+  #      hardcode_direct=unsupported
+  #      # It fails to find uninstalled libraries when the uninstalled
+  #      # path is not listed in the libpath.  Setting hardcode_minus_L
+  #      # to unsupported forces relinking
+  #      hardcode_minus_L=yes
+  #      hardcode_libdir_flag_spec='-L$libdir'
+  #      hardcode_libdir_separator=
+  #    fi
+  #    shared_flag='-shared'
+  #  else
+  #    shared_flag='${wl}-bM:SRE'
+  #    hardcode_direct=yes
+  #  fi
+  #  allow_undefined_flag=' ${wl}-berok'
+  #  archive_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bexpall ${wl}-bnoentry${allow_undefined_flag}'
+  #  archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}'
+  #  case "$host_os" in aix4.[01]|aix4.[01].*)
+  #    # According to Greg Wooledge, -bexpall is only supported from AIX 4.2 on
+  #    always_export_symbols=yes ;;
+  #  esac
+  #;;                                                                         
+
+  aix4*)
+    if test "$with_gcc" = yes; then
+      # GNU compiler
+      archive_cmds='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-G -o $lib'
+      archive_expsym_cmds='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-G ${wl}-bE:$export_symbols -o $lib'
+    else
+      # IBM compiler (xlc).  Anything older than Visual Age C 5.0 probably won't work.
+      archive_cmds='$CC -qmkshrobj $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-G -o $lib'
+      archive_expsym_cmds='$CC -qmkshrobj $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-G ${wl}-bE:$export_symbols -o $lib'
+    fi
+  
+    hardcode_libdir_flag_spec='${wl}-bnolibpath ${wl}-blibpath:$libdir:/usr/lib:/lib'
+    hardcode_libdir_separator=':'
+    hardcode_direct=unsupported
+    link_all_deplibs=yes
+   ;;
+
+  amigaos*)
+    archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+    hardcode_libdir_flag_spec='-L$libdir'
+    hardcode_minus_L=yes
+    # see comment about different semantics on the GNU ld section
+    ld_shlibs=no
+    ;;
+
+  cygwin* | mingw*)
+    # When not using gcc, we currently assume that we are using
+    # Microsoft Visual C++.
+    # hardcode_libdir_flag_spec is actually meaningless, as there is
+    # no search path for DLLs.
+    hardcode_libdir_flag_spec=' '
+    allow_undefined_flag=unsupported
+    # Tell ltmain to make .lib files, not .a files.
+    libext=lib
+    # FIXME: Setting linknames here is a bad hack.
+    archive_cmds='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | sed -e '\''s/ -lc$//'\''` -link -dll~linknames='
+    # The linker will automatically build a .lib file if we build a DLL.
+    old_archive_from_new_cmds='true'
+    # FIXME: Should let the user specify the lib program.
+    old_archive_cmds='lib /OUT:$oldlib$oldobjs$old_deplibs'
+    fix_srcfile_path='`cygpath -w "$srcfile"`'
+    ;;
+
+  freebsd1*)
+    ld_shlibs=no
+    ;;
+
+  # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
+  # support.  Future versions do this automatically, but an explicit c++rt0.o
+  # does not break anything, and helps significantly (at the cost of a little
+  # extra space).
+  freebsd2.2*)
+    archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
+    hardcode_libdir_flag_spec='-R$libdir'
+    hardcode_direct=yes
+    hardcode_shlibpath_var=no
+    ;;
+
+  # Unfortunately, older versions of FreeBSD 2 do not have this feature.
+  freebsd2*)
+    archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+    hardcode_direct=yes
+    hardcode_minus_L=yes
+    hardcode_shlibpath_var=no
+    ;;
+
+  # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+  freebsd*)
+    archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
+    hardcode_libdir_flag_spec='-R$libdir'
+    hardcode_direct=yes
+    hardcode_shlibpath_var=no
+    skip_need_lc_check=yes
+    ;;
+
+  hpux9* | hpux10* | hpux11*)
+    case "$host_os" in
+    hpux9*) archive_cmds='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' ;;
+    *) archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' ;;
+    esac
+    hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+    hardcode_libdir_separator=:
+    hardcode_direct=yes
+    hardcode_minus_L=yes # Not in the search PATH, but as the default
+			 # location of the library.
+    export_dynamic_flag_spec='${wl}-E'
+    ;;
+
+  irix5* | irix6*)
+    if test "$with_gcc" = yes; then
+      archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
+    else
+      archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib'
+    fi
+    hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+    hardcode_libdir_separator=:
+    link_all_deplibs=yes
+    ;;
+
+  netbsd*)
+    if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
+    else
+      archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
+    fi
+    hardcode_libdir_flag_spec='-R$libdir'
+    hardcode_direct=yes
+    hardcode_shlibpath_var=no
+    ;;
+
+  newsos6)
+    archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts'
+    hardcode_direct=yes
+    hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+    hardcode_libdir_separator=:
+    hardcode_shlibpath_var=no
+    ;;
+
+  openbsd*)
+    archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+    hardcode_libdir_flag_spec='-R$libdir'
+    hardcode_direct=yes
+    hardcode_shlibpath_var=no
+    ;;
+
+  os2*)
+    hardcode_libdir_flag_spec='-L$libdir'
+    hardcode_minus_L=yes
+    allow_undefined_flag=unsupported
+    archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
+    old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
+    ;;
+
+  osf3*)
+    if test "$with_gcc" = yes; then
+      allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
+      archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
+    else
+      allow_undefined_flag=' -expect_unresolved \*'
+      archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib'
+    fi
+    hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+    hardcode_libdir_separator=:
+    ;;
+
+  osf4* | osf5*)	# as osf3* with the addition of -msym flag
+    if test "$with_gcc" = yes; then
+      allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
+      archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
+    else
+      allow_undefined_flag=' -expect_unresolved \*'
+      archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib'
+      archive_expsym_cmds='for i in `cat $export_symbols`; do printf "-exported_symbol " >> $lib.exp; echo "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
+      $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib~$rm $lib.exp'
+    fi
+    hardcode_libdir_flag_spec='-rpath $libdir'
+    hardcode_libdir_separator=:
+    ;;
+
+  sco3.2v5*)
+    archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+    hardcode_shlibpath_var=no
+    runpath_var=LD_RUN_PATH
+    hardcode_runpath_var=yes
+    ;;
+
+  solaris*)
+    no_undefined_flag=' -z text'
+    # $CC -shared without GNU ld will not create a library from C++
+    # object files and a static libstdc++, better avoid it by now
+    archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+    archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+		$LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
+    hardcode_libdir_flag_spec='-R$libdir'
+    hardcode_shlibpath_var=no
+    case "$host_os" in
+    solaris2.[0-5] | solaris2.[0-5].*) ;;
+    *) # Supported since Solaris 2.6 (maybe 2.5.1?)
+      whole_archive_flag_spec='-z allextract$convenience -z defaultextract' ;;
+    esac
+    link_all_deplibs=yes
+    ;;
+
+  sunos4*)
+    archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
+    hardcode_libdir_flag_spec='-L$libdir'
+    hardcode_direct=yes
+    hardcode_minus_L=yes
+    hardcode_shlibpath_var=no
+    ;;
+
+  sysv4)
+    archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+    runpath_var='LD_RUN_PATH'
+    hardcode_shlibpath_var=no
+    hardcode_direct=no #Motorola manual says yes, but my tests say they lie
+    ;;
+
+  sysv4.3*)
+    archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+    hardcode_shlibpath_var=no
+    export_dynamic_flag_spec='-Bexport'
+    ;;
+
+  sysv5*)
+    no_undefined_flag=' -z text'
+    # $CC -shared without GNU ld will not create a library from C++
+    # object files and a static libstdc++, better avoid it by now
+    archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+    archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+		$LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
+    hardcode_libdir_flag_spec=
+    hardcode_shlibpath_var=no
+    runpath_var='LD_RUN_PATH'
+    ;;
+
+  uts4*)
+    archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+    hardcode_libdir_flag_spec='-L$libdir'
+    hardcode_shlibpath_var=no
+    ;;
+
+  dgux*)
+    archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+    hardcode_libdir_flag_spec='-L$libdir'
+    hardcode_shlibpath_var=no
+    ;;
+
+  sysv4*MP*)
+    if test -d /usr/nec; then
+      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_shlibpath_var=no
+      runpath_var=LD_RUN_PATH
+      hardcode_runpath_var=yes
+      ld_shlibs=yes
+    fi
+    ;;
+
+  sysv4.2uw2*)
+    archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
+    hardcode_direct=yes
+    hardcode_minus_L=no
+    hardcode_shlibpath_var=no
+    hardcode_runpath_var=yes
+    runpath_var=LD_RUN_PATH
+    ;;
+
+  unixware7*)
+    archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+    runpath_var='LD_RUN_PATH'
+    hardcode_shlibpath_var=no
+    ;;
+
+  *)
+    ld_shlibs=no
+    ;;
+  esac
+fi
+
+## Compiler Characteristics: PIC flags, static flags, etc
+if test "X${ac_cv_prog_cc_pic+set}" = Xset; then
+  :
+else
+  ac_cv_prog_cc_pic=
+  ac_cv_prog_cc_shlib=
+  ac_cv_prog_cc_wl=
+  ac_cv_prog_cc_static=
+  ac_cv_prog_cc_no_builtin=
+  ac_cv_prog_cc_can_build_shared=$can_build_shared
+
+  if test "$with_gcc" = yes; then
+    ac_cv_prog_cc_wl='-Wl,'
+    ac_cv_prog_cc_static='-static'
+
+    case "$host_os" in
+    beos* | irix5* | irix6* | osf3* | osf4* | osf5*)
+      # PIC is the default for these OSes.
+      ;;
+    aix*)
+      # Below there is a dirty hack to force normal static linking with -ldl
+      # The problem is because libdl dynamically linked with both libc and
+      # libC (AIX C++ library), which obviously doesn't included in libraries
+      # list by gcc. This cause undefined symbols with -static flags.
+      # This hack allows C programs to be linked with "-static -ldl", but
+      # we not sure about C++ programs.
+      ac_cv_prog_cc_static="$ac_cv_prog_cc_static ${ac_cv_prog_cc_wl}-lC"
+      ;;
+    cygwin* | mingw* | os2*)
+      # This hack is so that the source file can tell whether it is being
+      # built for inclusion in a dll (and should export symbols for example).
+      ac_cv_prog_cc_pic='-DDLL_EXPORT'
+      ;;
+    amigaos*)
+      # FIXME: we need at least 68020 code to build shared libraries, but
+      # adding the `-m68020' flag to GCC prevents building anything better,
+      # like `-m68040'.
+      ac_cv_prog_cc_pic='-m68020 -resident32 -malways-restore-a4'
+      ;;
+    sysv4*MP*)
+      if test -d /usr/nec; then
+	 ac_cv_prog_cc_pic=-Kconform_pic
+      fi
+      ;;
+    *)
+      ac_cv_prog_cc_pic='-fPIC'
+      ;;
+    esac
+  else
+    # PORTME Check for PIC flags for the system compiler.
+    case "$host_os" in
+    aix3* | aix4*)
+     # All AIX code is PIC.
+      ac_cv_prog_cc_static='-bnso -bI:/lib/syscalls.exp'
+      ;;
+
+    hpux9* | hpux10* | hpux11*)
+      # Is there a better ac_cv_prog_cc_static that works with the bundled CC?
+      ac_cv_prog_cc_wl='-Wl,'
+      ac_cv_prog_cc_static="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive"
+      ac_cv_prog_cc_pic='+Z'
+      ;;
+
+    irix5* | irix6*)
+      ac_cv_prog_cc_wl='-Wl,'
+      ac_cv_prog_cc_static='-non_shared'
+      # PIC (with -KPIC) is the default.
+      ;;
+
+    cygwin* | mingw* | os2*)
+      # This hack is so that the source file can tell whether it is being
+      # built for inclusion in a dll (and should export symbols for example).
+      ac_cv_prog_cc_pic='-DDLL_EXPORT'
+      ;;
+
+    newsos6)
+      ac_cv_prog_cc_pic='-KPIC'
+      ac_cv_prog_cc_static='-Bstatic'
+      ;;
+
+    osf3* | osf4* | osf5*)
+      # All OSF/1 code is PIC.
+      ac_cv_prog_cc_wl='-Wl,'
+      ac_cv_prog_cc_static='-non_shared'
+      ;;
+
+    sco3.2v5*)
+      ac_cv_prog_cc_pic='-Kpic'
+      ac_cv_prog_cc_static='-dn'
+      ac_cv_prog_cc_shlib='-belf'
+      ;;
+
+    solaris*)
+      ac_cv_prog_cc_pic='-KPIC'
+      ac_cv_prog_cc_static='-Bstatic'
+      ac_cv_prog_cc_wl='-Wl,'
+      ;;
+
+    sunos4*)
+      ac_cv_prog_cc_pic='-PIC'
+      ac_cv_prog_cc_static='-Bstatic'
+      ac_cv_prog_cc_wl='-Qoption ld '
+      ;;
+
+    sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+      ac_cv_prog_cc_pic='-KPIC'
+      ac_cv_prog_cc_static='-Bstatic'
+      ac_cv_prog_cc_wl='-Wl,'
+      ;;
+
+    uts4*)
+      ac_cv_prog_cc_pic='-pic'
+      ac_cv_prog_cc_static='-Bstatic'
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec ;then
+	ac_cv_prog_cc_pic='-Kconform_pic'
+	ac_cv_prog_cc_static='-Bstatic'
+      fi
+      ;;
+
+    *)
+      ac_cv_prog_cc_can_build_shared=no
+      ;;
+    esac
+  fi
+  ac_cv_prog_cc_pic="$ac_cv_prog_cc_pic -DPIC"
+fi
+
+need_lc=yes
+if test "$enable_shared" = yes && test "$with_gcc" = yes; then
+  case "$archive_cmds" in
+  *'~'*)
+    # FIXME: we may have to deal with multi-command sequences.
+    ;;
+  '$CC '*)
+    # Test whether the compiler implicitly links with -lc since on some
+    # systems, -lgcc has to come before -lc. If gcc already passes -lc
+    # to ld, don't add -lc before -lgcc.
+    echo $ac_n "checking whether -lc should be explicitly linked in... $ac_c" 1>&6
+    if eval "test \"`echo '$''{'ac_cv_archive_cmds_needs_lc'+set}'`\" = set"; then
+      echo $ac_n "(cached) $ac_c" 1>&6
+      need_lc=$ac_cv_archive_cmds_needs_lc
+    elif test "x$skip_need_lc_check" = "xyes" ; then
+      echo $ac_n "(skipping, using no) $ac_c" 1>&6
+      need_lc=no
+    else
+      $rm conftest*
+      echo "static int dummy;" > conftest.$ac_ext
+      if { (eval echo ltcf-c.sh:need_lc: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; }; then
+	# Append any warnings to the config.log.
+	cat conftest.err 1>&5
+	soname=conftest
+	lib=conftest
+	libobjs=conftest.$ac_objext
+	deplibs=
+	wl=$ac_cv_prog_cc_wl
+	compiler_flags=-v
+	linker_flags=-v
+	verstring=
+	output_objdir=.
+	libname=conftest
+	save_allow_undefined_flag=$allow_undefined_flag
+	allow_undefined_flag=
+	if { (eval echo ltcf-c.sh:need_lc: \"$archive_cmds\") 1>&5; (eval $archive_cmds) 2>&1 | grep " -lc " 1>&5 ; }; then
+	  need_lc=no
+	fi
+	allow_undefined_flag=$save_allow_undefined_flag
+      else
+	cat conftest.err 1>&5
+      fi
+    fi
+    $rm conftest*
+    echo "$ac_t$need_lc" 1>&6
+    ;;
+  esac
+fi
+ac_cv_archive_cmds_needs_lc=$need_lc
diff --git a/admin/ltcf-cxx.sh b/admin/ltcf-cxx.sh
new file mode 100644
index 0000000..ab8e77e
--- /dev/null
+++ b/admin/ltcf-cxx.sh
@@ -0,0 +1,962 @@
+#### This script is meant to be sourced by ltconfig.
+
+# $Id: ltcf-cxx.sh,v 1.31 2001/02/19 02:40:15 matz Exp $
+
+# ltcf-cxx.sh - Create a C++ compiler specific configuration
+#
+# Copyright (C) 1996-1999,2000 Free Software Foundation, Inc.
+# Originally by Gordon Matzigkeit <gord at gnu.ai.mit.edu>, 1996
+#
+# Original C++ support by:
+#    Alexandre Oliva <oliva at lsd.ic.unicamp.br>
+#    Ossama Othman <ossama at debian.org>
+#    Thomas Thanner <tanner at gmx.de>
+#
+# This file is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+
+# Source file extension for C++ test sources.
+ac_ext=cc
+
+# Object file extension for compiled C++ test sources.
+objext=o
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="int some_variable = 0;"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='int main(int, char *[]) { return (0); }'
+
+# C++ compiler
+CXX=${CXX-c++}
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+CC=${CC-"$CXX"}
+CFLAGS=${CFLAGS-"$CXXFLAGS"}
+
+# Allow CC (or CXX) to be a program name with arguments.
+set dummy $CC
+compiler=$2
+cc_basename=`$echo X"$compiler" | $Xsed -e 's%^.*/%%'`
+
+# we are optimistic. (Too optimistic if you ask me, down there we switch it
+# off again for most platforms ;) (MM)
+ld_shlibs=yes
+
+# Check if we are using GNU gcc  (taken/adapted from configure script)
+# We need to check here since "--with-gcc" is set at configure time,
+# not ltconfig time!
+cat > conftest.$ac_ext <<EOF
+#ifdef __GNUC__
+  yes;
+#endif
+EOF
+if { ac_try='${CC-c++} -E conftest.$ac_ext'; { (eval echo \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+  with_gcc=yes
+
+  # Set up default GNU C++ configuration
+
+  # Check if GNU C++ uses GNU ld as the underlying linker, since the
+  # archiving commands below assume that GNU ld is being used.
+  if eval "`$CC -print-prog-name=ld` --version 2>&1" | \
+      egrep 'GNU ld' > /dev/null; then
+    with_gnu_ld=yes
+
+    archive_cmds='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+    archive_expsym_cmds='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+
+    runpath_var=LD_RUN_PATH
+    hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir'
+    export_dynamic_flag_spec='${wl}--export-dynamic'
+
+    # If archive_cmds runs LD, not CC, wlarc should be empty
+    # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
+    #     investigate it a little bit more. (MM)
+    wlarc='${wl}'
+
+    # ancient GNU ld didn't support --whole-archive et. al.
+    if eval "`$CC -print-prog-name=ld` --help 2>&1" | \
+        egrep 'no-whole-archive' > /dev/null; then
+      whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+    else
+      whole_archive_flag_spec=
+    fi
+  else
+    with_gnu_ld=no
+    wlarc=
+
+    # A generic and very simple default shared library creation
+    # command for GNU C++ for the case where it uses the native
+    # linker, instead of GNU ld.  If possible, this setting should
+    # overridden to take advantage of the native linker features on
+    # the platform it is being used on.
+    archive_cmds='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+  fi
+
+  # Commands to make compiler produce verbose output that lists
+  # what "hidden" libraries, object files and flags are used when
+  # linking a shared library.
+  output_verbose_link_cmds='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | egrep "\-L"'
+
+else
+  with_gcc=no
+  with_gnu_ld=no
+  wlarc=
+fi
+
+echo "ltcf-cxx: with_gcc=$with_gcc ; with_gnu_ld=$with_gnu_ld"
+
+# In general, the C++ compiler should always link C++ objects.
+LD="$CC"
+LDFLAGS="$LDFLAGS"
+
+# PORTME: fill in a description of your system's C++ link characteristics
+case "$host_os" in
+  aix3*)
+    # FIXME: insert proper C++ library support
+    ld_shlibs=no
+    ;;
+  aix4*)
+    case "$cc_basename" in
+      xlC)
+        # IBM C++ compiler (xlC).  Anything older than Visual Age C++ 5.0 probably won't work.
+        archive_cmds='$CC -qmkshrobj $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-G -o $lib'
+        archive_expsym_cmds='$CC -qmkshrobj $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-G ${wl}-bE:$export_symbols -o $lib'
+        ;;
+      *)
+        if test "$with_gcc" = yes; then
+          # GNU C++ compiler
+          archive_cmds='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-G -o $lib'
+          archive_expsym_cmds='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-G ${wl}-bE:$export_symbols -o $lib'
+        fi
+        ;;
+    esac
+  
+    hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:/usr/lib:/lib'
+    hardcode_libdir_separator=':'
+    hardcode_direct=unsupported
+    link_all_deplibs=yes
+    ;;
+  chorus*)
+    case "$cc_basename" in
+      *)
+        # FIXME: insert proper C++ library support
+        ld_shlibs=no
+        ;;
+    esac
+    ;;
+  dgux*)
+    case "$cc_basename" in
+      ec++)
+        # FIXME: insert proper C++ library support
+        ld_shlibs=no
+        ;;
+      ghcx)
+        # Green Hills C++ Compiler
+        # FIXME: insert proper C++ library support
+        ld_shlibs=no
+        ;;
+      *)
+        # FIXME: insert proper C++ library support
+        ld_shlibs=no
+        ;;
+    esac
+    ;;
+  freebsd*)
+    # FreeBSD uses GNU C++ and GNU ld
+    skip_need_lc_check=yes
+    remove_lgcc=yes
+    ;;
+  hpux*)
+    case "$cc_basename" in
+      CC)
+        # FIXME: insert proper C++ library support
+        ld_shlibs=no
+        ;;
+      aCC)
+	case "$host_os" in
+	hpux9*) archive_cmds='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' ;;
+	*) archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;;
+	esac
+	hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+	hardcode_libdir_separator=:
+	hardcode_direct=yes
+	hardcode_minus_L=yes # Not in the search PATH, but as the default
+			     # location of the library.
+	export_dynamic_flag_spec='${wl}-E'
+
+        # Commands to make compiler produce verbose output that lists
+        # what "hidden" libraries, object files and flags are used when
+        # linking a shared library.
+        #
+        # There doesn't appear to be a way to prevent this compiler from
+        # explicitly linking system object files so we need to strip them
+        # from the output so that they don't get included in the library
+        # dependencies.
+        output_verbose_link_cmds='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | egrep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+        ;;
+      *)
+        if test "$with_gcc" = yes && test "$with_gnu_ld" = no ; then
+	  # MM: for HP-UX and g++ -fPIC is needed to link pic objects together
+	  archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+	  hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+	  hardcode_libdir_separator=:
+	  hardcode_direct=yes
+	  hardcode_minus_L=yes
+	  export_dynamic_flag_spec='${wl}-E'
+	  output_verbose_link_cmds='$CC -shared -fPIC $CFLAGS -v conftest.$objext 2>&1 | egrep "\-L"'
+	  remove_lgcc=yes
+        fi
+        if test "$with_gcc" = no ; then
+	  # FIXME: insert proper C++ library support
+          ld_shlibs=no
+	fi
+        ;;
+    esac
+    ;;
+  irix5* | irix6*)
+    case "$cc_basename" in
+      CC)
+        # SGI C++
+        archive_cmds='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib'
+
+	# Archives containing C++ object files must be created using
+	# "CC -ar", where "CC" is the IRIX C++ compiler.  This is
+	# necessary to make sure instantiated templates are included
+	# in the archive.
+	old_archive_cmds='$CC -ar -WR,-u -o $oldlib $oldobjs'
+        ;;
+      *)
+        if test "$with_gcc" = yes; then
+          if test "$with_gnu_ld" = no; then
+            archive_cmds='$CC -nostdlib -D_LANGUAGE_C_CPLUS_PLUS -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
+          else
+            archive_cmds='$LD -shared $predep_objects $libobjs $deplibs $postdep_objects $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -o $lib'
+          fi
+        fi
+        ;;
+    esac
+    hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+    hardcode_libdir_separator=:
+    link_all_deplibs=yes
+    ;;
+  linux*)
+    case "$cc_basename" in
+      KCC)
+        # Kuck and Associates, Inc. (KAI) C++ Compiler
+
+        # KCC will only create a shared library if the output file
+        # ends with ".so" (or ".sl" for HP-UX), so rename the library
+        # to its proper name (with version) after linking.
+        archive_cmds='templib=`echo $lib | sed -e "s/\.so\..*/\.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+        archive_expsym_cmds='templib=`echo $lib | sed -e "s/\.so\..*/\.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
+
+        # Commands to make compiler produce verbose output that lists
+        # what "hidden" libraries, object files and flags are used when
+        # linking a shared library.
+        #
+        # There doesn't appear to be a way to prevent this compiler from
+        # explicitly linking system object files so we need to strip them
+        # from the output so that they don't get included in the library
+        # dependencies.
+        output_verbose_link_cmds='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest.so 2>&1 | egrep "ld"`; rm -f libconftest.so; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+
+        hardcode_libdir_flag_spec='${wl}--rpath,$libdir'
+        export_dynamic_flag_spec='${wl}--export-dynamic'
+
+	# Archives containing C++ object files must be created using
+	# "CC -Bstatic", where "CC" is the KAI C++ compiler.
+        old_archive_cmds='$CC -Bstatic -o $oldlib $oldobjs'
+        ;;
+      cxx)
+        # Compaq C++
+        archive_cmds='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+        archive_expsym_cmds='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname  -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
+
+        runpath_var=LD_RUN_PATH
+        hardcode_libdir_flag_spec='-rpath $libdir'
+        hardcode_libdir_separator=:
+
+        # Commands to make compiler produce verbose output that lists
+        # what "hidden" libraries, object files and flags are used when
+        # linking a shared library.
+        #
+        # There doesn't appear to be a way to prevent this compiler from
+        # explicitly linking system object files so we need to strip them
+        # from the output so that they don't get included in the library
+        # dependencies.
+        output_verbose_link_cmds='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | sed "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+        ;;
+      insure)
+        if test "$with_gcc" = yes; then
+	  # Insure++ together with gcc probably means also GNU ld
+	  # only -whole-archive isn't supported
+	  whole_archive_flag_spec=""
+	  # and we can't use -nostdlib, because bloody insure has no way to
+	  # output the linkline (-Zvm isn't working as documented), so we don't
+	  # know the depending libs. So we hope, insure gets it right anyway.
+	  archive_cmds='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	  runpath_var=LD_RUN_PATH
+	  hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir'
+	  export_dynamic_flag_spec='${wl}--export-dynamic'
+	  output_verbose_link_cmds=""
+	fi
+    esac
+    ;;
+  lynxos*)
+    # FIXME: insert proper C++ library support
+    ld_shlibs=no
+    ;;
+  m88k*)
+    # FIXME: insert proper C++ library support
+    ld_shlibs=no
+    ;;
+  mvs*)
+    case "$cc_basename" in
+      cxx)
+        # FIXME: insert proper C++ library support
+        ld_shlibs=no
+        ;;
+      *)
+        # FIXME: insert proper C++ library support
+        ld_shlibs=no
+        ;;
+    esac   
+    ;;
+  netbsd*)
+    if test "$with_gcc" = no || test "$with_gnu_ld" = no; then
+      # This should only be triggered for NetBSD/a.out
+      # Add in C++ constructor/destructor support
+      if test -f /usr/pkg/lib/c++rt0/c++rt0.o.PIC; then
+        cppopts="/usr/pkg/lib/c++rt0/c++rt0.o.PIC"
+      elif test -f /usr/lib/c++rt0.o; then
+        cppopts="/usr/lib/c++rt0.o"
+      fi
+      archive_cmds='ld -Bshareable -o $lib '"$cppopts"' $libobjs $deplibs $linkopts'
+    fi
+    ;;
+  openbsd*)
+    if test "$with_gcc" = yes && test "$with_gnu_ld" = no; then
+      # MM: OpenBSD 2.7 uses G++, but not GNU ld
+      archive_cmds='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+      archive_expsym_cmds='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+      old_archive_cmds="$old_archive_cmds~"'$RANLIB $oldlib'
+      hardcode_libdir_flag_spec='${wl}-R$libdir'
+      hardcode_direct=yes
+      hardcode_shlibpath_var=no
+      whole_archive_flag_spec='${wl}-Bforcearchive'
+      remove_lgcc=yes
+    fi
+    ;;
+  osf3*)
+    if test "$with_gcc" = yes && test "$with_gnu_ld" = no; then
+      allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
+      archive_cmds='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
+
+      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+      hardcode_libdir_separator=:
+
+      # Commands to make compiler produce verbose output that lists
+      # what "hidden" libraries, object files and flags are used when
+      # linking a shared library.
+      output_verbose_link_cmds='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | egrep "\-L"'
+    else
+      case "$cc_basename" in
+	KCC)
+	  # Kuck and Associates, Inc. (KAI) C++ Compiler
+
+	  # KCC will only create a shared library if the output file
+	  # ends with ".so" (or ".sl" for HP-UX), so rename the library
+	  # to its proper name (with version) after linking.
+	  archive_cmds='templib=`echo $lib | sed -e "s/\.so\..*/\.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+
+	  hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+	  hardcode_libdir_separator=:
+
+	  # Archives containing C++ object files must be created using
+	  # "CC -Bstatic", where "CC" is the KAI C++ compiler.
+	  old_archive_cmds='$CC -Bstatic -o $oldlib $oldobjs'
+
+	  ;;
+	RCC)
+	  # Rational C++ 2.4.1
+	  # FIXME: insert proper C++ library support
+	  ld_shlibs=no
+	  ;;
+	cxx)
+	  allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
+	  archive_cmds='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${objdir}/so_locations -o $lib'
+
+	  hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+	  hardcode_libdir_separator=:
+
+	  # Commands to make compiler produce verbose output that lists
+	  # what "hidden" libraries, object files and flags are used when
+	  # linking a shared library.
+	  #
+	  # There doesn't appear to be a way to prevent this compiler from
+	  # explicitly linking system object files so we need to strip them
+	  # from the output so that they don't get included in the library
+	  # dependencies.
+	  output_verbose_link_cmds='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | sed "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+	  ;;
+	*)
+	  # FIXME: insert proper C++ library support
+	  ld_shlibs=no
+	  ;;
+      esac
+    fi
+    ;;
+  osf4* | osf5*)
+    if test "$with_gcc" = yes && test "$with_gnu_ld" = no; then
+      allow_undefined_flag=' -Wl,-expect_unresolved -Wl,\*'
+      no_undefined_flag=' -Wl,-expect_unresolved -Wl,\*'
+      archive_cmds='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
+
+      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+      hardcode_libdir_separator=:
+
+      # Commands to make compiler produce verbose output that lists
+      # what "hidden" libraries, object files and flags are used when
+      # linking a shared library.
+      output_verbose_link_cmds='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | egrep "\-L"'
+    else
+      case "$cc_basename" in
+	KCC)
+	  # Kuck and Associates, Inc. (KAI) C++ Compiler
+
+	  # KCC will only create a shared library if the output file
+	  # ends with ".so" (or ".sl" for HP-UX), so rename the library
+	  # to its proper name (with version) after linking.
+	  archive_cmds='templib=`echo $lib | sed -e "s/\.so\..*/\.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+
+	  hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+	  hardcode_libdir_separator=:
+
+	  # Archives containing C++ object files must be created using
+	  # the KAI C++ compiler.
+	  old_archive_cmds='$CC -o $oldlib $oldobjs'
+	  ;;
+	RCC)
+	  # Rational C++ 2.4.1
+	  # FIXME: insert proper C++ library support
+	  ld_shlibs=no
+	  ;;
+	cxx)
+	  allow_undefined_flag=' -Wl,-expect_unresolved -Wl,\*'
+	  no_undefined_flag=' -Wl,-expect_unresolved -Wl,\*'
+	  archive_cmds='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -update_registry ${objdir}/so_locations -o $lib'
+	  
+	  hardcode_libdir_flag_spec='-rpath $libdir'
+	  hardcode_libdir_separator=:
+
+	  # Commands to make compiler produce verbose output that lists
+	  # what "hidden" libraries, object files and flags are used when
+	  # linking a shared library.
+	  #
+	  # There doesn't appear to be a way to prevent this compiler from
+	  # explicitly linking system object files so we need to strip them
+	  # from the output so that they don't get included in the library
+	  # dependencies.
+	  output_verbose_link_cmds='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | sed "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+	  ;;
+	*)
+	  # FIXME: insert proper C++ library support
+	  ld_shlibs=no
+	  ;;
+      esac
+    fi
+    ;;
+  psos*)
+    # FIXME: insert proper C++ library support
+    ld_shlibs=no
+    ;;
+  sco*)
+    case "$cc_basename" in
+      CC)
+        # FIXME: insert proper C++ library support
+        ld_shlibs=no
+        ;;
+      *)
+        # FIXME: insert proper C++ library support
+        ld_shlibs=no
+        ;;
+    esac
+    ;;
+  sunos4*)
+    case "$cc_basename" in
+      CC)
+        # Sun C++ 4.x
+        # FIXME: insert proper C++ library support
+        ld_shlibs=no
+        ;;
+      lcc)
+        # Lucid
+        # FIXME: insert proper C++ library support
+        ld_shlibs=no
+        ;;
+      *)
+        # FIXME: insert proper C++ library support
+        ld_shlibs=no
+        ;;
+    esac
+    ;;
+  solaris*)
+    case "$cc_basename" in
+      CC)
+	# Sun C++ 4.2, 5.x and Centerline C++
+        no_undefined_flag=' -ztext'
+        archive_cmds='$CC -G${allow_undefined_flag} -nolib -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+        archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+        $CC -G${allow_undefined_flag} -nolib ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
+
+        hardcode_libdir_flag_spec='-R$libdir'
+        hardcode_shlibpath_var=no
+        case "$host_os" in
+          solaris2.[0-5] | solaris2.[0-5].*) ;;
+          *)
+            # The C++ compiler is used as linker so we must use $wl
+            # flag to pass the commands to the underlying system
+            # linker.
+            # Supported since Solaris 2.6 (maybe 2.5.1?)
+            whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+            ;;
+        esac
+        link_all_deplibs=yes
+
+        # Commands to make compiler produce verbose output that lists
+        # what "hidden" libraries, object files and flags are used when
+        # linking a shared library.
+        #
+        # There doesn't appear to be a way to prevent this compiler from
+        # explicitly linking system object files so we need to strip them
+        # from the output so that they don't get included in the library
+        # dependencies.
+        output_verbose_link_cmds='templist=`$CC -G $CFLAGS -v conftest.$objext 2>&1 | egrep "\-R|\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+
+	# Archives containing C++ object files must be created using
+	# "CC -xar", where "CC" is the Sun C++ compiler.  This is
+        # necessary to make sure instantiated templates are included
+        # in the archive.
+        old_archive_cmds='$CC -xar -o $oldlib $oldobjs'
+        ;;
+      gcx)
+        # Green Hills C++ Compiler
+        archive_cmds='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+
+        # The C++ compiler must be used to create the archive.
+        old_archive_cmds='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
+        ;;
+      *)
+        # GNU C++ compiler with Solaris linker
+        if test "$with_gcc" = yes && test "$with_gnu_ld" = no; then
+          if $CC --version | egrep -v '^2\.7' > /dev/null; then
+            archive_cmds='$LD -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $linker_flags ${wl}-h $wl$soname -o $lib'
+            archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+		$LD -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags ${wl}-h $wl$soname~$rm $lib.exp'
+
+            # Commands to make compiler produce verbose output that lists
+            # what "hidden" libraries, object files and flags are used when
+            # linking a shared library.
+            output_verbose_link_cmds="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | egrep \"\-L\""
+          else
+            # g++ 2.7 appears to require `-G' NOT `-shared' on this
+            # platform.
+            archive_cmds='$LD -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $linker_flags ${wl}-h $wl$soname -o $lib'
+            archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+		$LD -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags ${wl}-h $wl$soname~$rm $lib.exp'
+
+            # Commands to make compiler produce verbose output that lists
+            # what "hidden" libraries, object files and flags are used when
+            # linking a shared library.
+            output_verbose_link_cmds="$CC -G $CFLAGS -v conftest.$objext 2>&1 | egrep \"\-L\""
+          fi
+
+          hardcode_libdir_flag_spec='${wl}-R $wl$libdir'
+        fi
+        ;;
+    esac
+    ;;
+  tandem*)
+    case "$cc_basename" in
+      NCC)
+        # NonStop-UX NCC 3.20
+        # FIXME: insert proper C++ library support
+        ld_shlibs=no
+        ;;
+      *)
+        # FIXME: insert proper C++ library support
+        ld_shlibs=no
+        ;;
+    esac
+    ;;
+  unixware*)
+    # FIXME: insert proper C++ library support
+    ld_shlibs=no
+    ;;
+  vxworks*)
+    # FIXME: insert proper C++ library support
+    ld_shlibs=no
+    ;;
+  *)
+    # FIXME: insert proper C++ library support
+    ld_shlibs=no
+    ;;
+esac
+
+
+## Compiler Characteristics: PIC flags, static flags, etc
+
+# We don't use cached values here since only the C compiler
+# characteristics should be cached.
+ac_cv_prog_cc_pic=
+ac_cv_prog_cc_shlib=
+ac_cv_prog_cc_wl=
+ac_cv_prog_cc_static=
+ac_cv_prog_cc_no_builtin=
+ac_cv_prog_cc_can_build_shared=$can_build_shared
+
+# It is not enough to reset these cached values, they must be unset.
+unset ac_cv_prog_cc_pic_works
+unset ac_cv_prog_cc_static_works
+
+if test "$with_gcc" = yes; then
+  ac_cv_prog_cc_wl='-Wl,'
+  ac_cv_prog_cc_static='-static'
+
+  case "$host_os" in
+  beos* | irix5* | irix6* | osf3* | osf4* | osf5*)
+    # PIC is the default for these OSes.
+    ;;
+  aix*)
+    # Below there is a dirty hack to force normal static linking with -ldl
+    # The problem is because libdl dynamically linked with both libc and
+    # libC (AIX C++ library), which obviously doesn't included in libraries
+    # list by gcc. This cause undefined symbols with -static flags.
+    # This hack allows C programs to be linked with "-static -ldl", but
+    # we not sure about C++ programs.
+    ac_cv_prog_cc_static="$ac_cv_prog_cc_static ${ac_cv_prog_cc_wl}-lC"
+    ;;
+  cygwin* | mingw* | os2*)
+    # This hack is so that the source file can tell whether it is being
+    # built for inclusion in a dll (and should export symbols for example).
+    ac_cv_prog_cc_pic='-DDLL_EXPORT'
+    ;;
+  amigaos*)
+    # FIXME: we need at least 68020 code to build shared libraries, but
+    # adding the `-m68020' flag to GCC prevents building anything better,
+    # like `-m68040'.
+    ac_cv_prog_cc_pic='-m68020 -resident32 -malways-restore-a4'
+    ;;
+  sysv4*MP*)
+    if test -d /usr/nec; then
+      ac_cv_prog_cc_pic=-Kconform_pic
+    fi
+    ;;
+  *)
+    ac_cv_prog_cc_pic='-fPIC'
+    ;;
+  esac
+else
+  case "$host_os" in
+    aix4*)
+      # All AIX code is PIC.
+      ;;
+    chorus*)
+      case "$cc_basename" in
+      cxch68)
+        # Green Hills C++ Compiler
+        # ac_cv_prog_cc_static="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
+        ;;
+      esac
+      ;;
+    dgux*)
+      case "$cc_basename" in
+        ec++)
+          ac_cv_prog_cc_pic='-KPIC'
+          ;;
+        ghcx)
+          # Green Hills C++ Compiler
+          ac_cv_prog_cc_pic='-pic'
+          ;;
+        *)
+          ;;
+      esac
+      ;;
+    freebsd*)
+      # FreeBSD uses GNU C++
+      ;;
+    hpux9* | hpux10* | hpux11*)
+      case "$cc_basename" in
+        CC)
+          ac_cv_prog_cc_wl='-Wl,'
+          ac_cv_prog_cc_static="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive"
+          ac_cv_prog_cc_pic='+Z'
+          ;;
+        aCC)
+          ac_cv_prog_cc_wl='-Wl,'
+          ac_cv_prog_cc_static="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive"
+          ac_cv_prog_cc_pic='+Z'
+          ;;
+        *)
+          ;;
+      esac
+      ;;
+    irix5* | irix6*)
+      case "$cc_basename" in
+        CC)
+          ac_cv_prog_cc_wl='-Wl,'
+          ac_cv_prog_cc_static='-non_shared'
+          ac_cv_prog_cc_pic='-KPIC'
+          ;;
+        *)
+          ;;
+      esac
+      ;;
+    linux*)
+      case "$cc_basename" in
+        KCC)
+          # KAI C++ Compiler
+          ac_cv_prog_cc_wl='--backend -Wl,'
+          ac_cv_prog_cc_pic='-fPIC'
+          ;;
+        cxx)
+          # Compaq C++
+          # Make sure the PIC flag is empty.  It appears that all Alpha
+          # Linux and Compaq Tru64 Unix objects are PIC.
+          ac_cv_prog_cc_pic=
+          ac_cv_prog_cc_static='-non_shared'
+          ;;
+        *)
+          ;;
+      esac
+      ;;
+    lynxos*)
+      ;;
+    m88k*)
+      ;;
+    mvs*)
+      case "$cc_basename" in
+        cxx)
+          ac_cv_prog_cc_pic='-W c,exportall'
+          ;;
+        *)
+          ;;
+      esac
+      ;;
+    netbsd*)
+      ;;
+    osf3* | osf4* | osf5*)
+      case "$cc_basename" in
+        KCC)
+          ac_cv_prog_cc_wl='--backend -Wl,'
+          ;;
+        RCC)
+          # Rational C++ 2.4.1
+          ac_cv_prog_cc_pic='-pic'
+          ;;
+        cxx)
+          # Digital/Compaq C++
+          ac_cv_prog_cc_wl='-Wl,'
+          # Make sure the PIC flag is empty.  It appears that all Alpha
+          # Linux and Compaq Tru64 Unix objects are PIC.
+          ac_cv_prog_cc_pic=
+          ac_cv_prog_cc_static='-non_shared'
+          ;;
+        *)
+          ;;
+      esac
+      ;;
+    psos*)
+      ;;
+    sco*)
+      case "$cc_basename" in
+        CC)
+          ac_cv_prog_cc_pic='-fPIC'
+          ;;
+        *)
+          ;;
+      esac
+      ;;
+    solaris*)
+      case "$cc_basename" in
+        CC)
+          # Sun C++ 4.2, 5.x and Centerline C++
+          ac_cv_prog_cc_pic='-KPIC'
+          ac_cv_prog_cc_static='-Bstatic'
+          ac_cv_prog_cc_wl='-Qoption ld '
+          ;;
+        gcx)
+          # Green Hills C++ Compiler
+          ac_cv_prog_cc_pic='-PIC'
+          ;;
+        *)
+          ;;
+      esac
+      ;;
+    sunos4*)
+      case "$cc_basename" in
+        CC)
+          # Sun C++ 4.x
+          ac_cv_prog_cc_pic='-pic'
+          ac_cv_prog_cc_static='-Bstatic'
+          ;;
+        lcc)
+          # Lucid
+          ac_cv_prog_cc_pic='-pic'
+          ;;
+        *)
+          ;;
+      esac
+      ;;
+    tandem*)
+      case "$cc_basename" in
+        NCC)
+          # NonStop-UX NCC 3.20
+          ac_cv_prog_cc_pic='-KPIC'
+          ;;
+        *)
+          ;;
+      esac
+      ;;
+    unixware*)
+      ;;
+    vxworks*)
+      ;;
+    *)
+      ac_cv_prog_cc_can_build_shared=no
+      ;;
+  esac
+fi
+ac_cv_prog_cc_pic="$ac_cv_prog_cc_pic -DPIC"
+
+
+# Figure out "hidden" C++ library dependencies from verbose
+# compiler output whening linking a shared library.
+cat > conftest.$ac_ext <<EOF
+class Foo
+{
+public:
+  Foo (void) { a = 0; }
+private:
+  int a;
+};
+EOF
+
+
+if (eval $ac_compile) 2>&5; then
+  # Parse the compiler output and extract the necessary
+  # objects, libraries and library flags.
+
+  # Sentinel used to keep track of whether or not we are before
+  # the conftest object file.
+  pre_test_object_deps_done=no
+
+  for p in `eval $output_verbose_link_cmds`; do
+
+    case $p in
+
+    -L* | -R* | -l*)
+       # Some compilers place space between "-{L,R}" and the path.
+       # Remove the space.
+       if test $p = "-L" \
+          || test $p = "-R"; then
+         prev=$p
+         continue
+       else
+         prev=
+       fi
+
+       if test "$pre_test_object_deps_done" = no; then
+         case $p in
+	 -L* | -R*)
+	   # Internal compiler library paths should come after those
+	   # provided the user.  The postdeps already come after the
+	   # user supplied libs so there is no need to process them.
+           if test -z "$compiler_lib_search_path"; then
+             compiler_lib_search_path="${prev}${p}"
+           else
+             compiler_lib_search_path="${compiler_lib_search_path} ${prev}${p}"
+           fi
+           ;;
+         # The "-l" case would never come before the object being
+         # linked, so don't bother handling this case.
+         esac
+       else
+	 add="${prev}${p}"
+	 if test "x$remove_lgcc" = "xyes" ; then
+	   case "$add" in
+	     -lgcc ) add="" ;;
+	   esac
+	 fi
+	 if test -n "$add" ; then
+           if test -z "$postdeps"; then
+             postdeps="$add"
+           else
+             postdeps="${postdeps} ${add}"
+           fi
+         fi
+       fi
+       ;;
+
+    *.$objext)
+       # This assumes that the test object file only shows up
+       # once in the compiler output.
+       if test "$p" = "conftest.$objext"; then
+         pre_test_object_deps_done=yes
+         continue
+       fi
+
+       if test "$pre_test_object_deps_done" = no; then
+         if test -z "$predep_objects"; then
+           predep_objects="$p"
+         else
+           predep_objects="$predep_objects $p"
+         fi
+       else
+         if test -z "$postdep_objects"; then
+           postdep_objects="$p"
+         else
+           postdep_objects="$postdep_objects $p"
+         fi
+       fi
+       ;;
+
+    *) ;; # Ignore the rest.
+
+    esac
+  done
+
+  # Clean up.
+  rm -f a.out
+else
+  echo "ltcf-cxx.sh: error: problem compiling test program"
+fi
+
+$rm -f confest.$objext
+
+if test "x$skip_need_lc_check" = "xyes" ; then
+  need_lc=no
+else
+  case " $postdeps " in
+  *" -lc "*) need_lc=no ;;
+  *) need_lc=yes ;;
+  esac
+fi
diff --git a/admin/ltcf-gcj.sh b/admin/ltcf-gcj.sh
new file mode 100644
index 0000000..68d5270
--- /dev/null
+++ b/admin/ltcf-gcj.sh
@@ -0,0 +1,623 @@
+#### This script is meant to be sourced by ltconfig.
+
+# ltcf-gcj.sh - Create a GCJ compiler specific configuration
+#
+# Copyright (C) 1996-1999, 2000, 2001 Free Software Foundation, Inc.
+# Originally by Gordon Matzigkeit <gord at gnu.ai.mit.edu>, 1996
+#
+# Original GCJ support by:
+#    Alexandre Oliva <oliva at lsd.ic.unicamp.br>
+#
+# This file is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+
+# Source file extension for Java test sources.
+ac_ext=java
+
+# Object file extension for compiled Java test sources.
+objext=o
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="class foo {}"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }'
+
+## Linker Characteristics
+case "$host_os" in
+cygwin* | mingw*)
+  # FIXME: the MSVC++ port hasn't been tested in a loooong time
+  # When not using gcc, we currently assume that we are using
+  # Microsoft Visual C++.
+  if test "$with_gcc" != yes; then
+    with_gnu_ld=no
+  fi
+  ;;
+
+esac
+
+ld_shlibs=yes
+if test "$with_gnu_ld" = yes; then
+  # If archive_cmds runs LD, not CC, wlarc should be empty
+  wlarc='${wl}'
+
+  # See if GNU ld supports shared libraries.
+  case "$host_os" in
+  aix3* | aix4*)
+    # On AIX, the GNU linker is very broken
+    ld_shlibs=no
+    cat <<EOF 1>&2
+
+*** Warning: the GNU linker, at least up to release 2.9.1, is reported
+*** to be unable to reliably create shared libraries on AIX.
+*** Therefore, libtool is disabling shared libraries support.  If you
+*** really care for shared libraries, you may want to modify your PATH
+*** so that a non-GNU linker is found, and then restart.
+
+EOF
+    ;;
+
+  amigaos*)
+    archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+    hardcode_libdir_flag_spec='-L$libdir'
+    hardcode_minus_L=yes
+
+    # Samuel A. Falvo II <kc5tja at dolphin.openprojects.net> reports
+    # that the semantics of dynamic libraries on AmigaOS, at least up
+    # to version 4, is to share data among multiple programs linked
+    # with the same dynamic library.  Since this doesn't match the
+    # behavior of shared libraries on other platforms, we can use
+    # them.
+    ld_shlibs=no
+    ;;
+
+  beos*)
+    if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
+      allow_undefined_flag=unsupported
+      # Joseph Beckenbach <jrb3 at best.com> says some releases of gcc
+      # support --undefined.  This deserves some investigation.  FIXME
+      archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+    else
+      ld_shlibs=no
+    fi
+    ;;
+
+  cygwin* | mingw*)
+    # hardcode_libdir_flag_spec is actually meaningless, as there is
+    # no search path for DLLs.
+    hardcode_libdir_flag_spec='-L$libdir'
+    allow_undefined_flag=unsupported
+    always_export_symbols=yes
+
+    extract_expsyms_cmds='test -f $output_objdir/impgen.c || \
+      sed -e "/^# \/\* impgen\.c starts here \*\//,/^# \/\* impgen.c ends here \*\// { s/^# //; p; }" -e d < $0 > $output_objdir/impgen.c~
+      test -f $output_objdir/impgen.exe || (cd $output_objdir && \
+      if test "x$HOST_CC" != "x" ; then $HOST_CC -o impgen impgen.c ; \
+      else $CC -o impgen impgen.c ; fi)~
+      $output_objdir/impgen $dir/$soname > $output_objdir/$soname-def'
+
+    old_archive_from_expsyms_cmds='$DLLTOOL --as=$AS --dllname $soname --def $output_objdir/$soname-def --output-lib $output_objdir/$newlib'
+
+    # cygwin and mingw dlls have different entry points and sets of symbols
+    # to exclude.
+    # FIXME: what about values for MSVC?
+    dll_entry=__cygwin_dll_entry at 12
+    dll_exclude_symbols=DllMain at 12,_cygwin_dll_entry at 12,_cygwin_noncygwin_dll_entry at 12~
+    case "$host_os" in
+    mingw*)
+      # mingw values
+      dll_entry=_DllMainCRTStartup at 12
+      dll_exclude_symbols=DllMain at 12,DllMainCRTStartup at 12,DllEntryPoint at 12~
+      ;;
+    esac
+
+    # mingw and cygwin differ, and it's simplest to just exclude the union
+    # of the two symbol sets.
+    dll_exclude_symbols=DllMain at 12,_cygwin_dll_entry at 12,_cygwin_noncygwin_dll_entry at 12,DllMainCRTStartup at 12,DllEntryPoint at 12
+
+    # recent cygwin and mingw systems supply a stub DllMain which the user
+    # can override, but on older systems we have to supply one (in ltdll.c)
+    if test "x$lt_cv_need_dllmain" = "xyes"; then
+      ltdll_obj='$output_objdir/$soname-ltdll.'"$objext "
+      ltdll_cmds='test -f $output_objdir/$soname-ltdll.c || sed -e "/^# \/\* ltdll\.c starts here \*\//,/^# \/\* ltdll.c ends here \*\// { s/^# //; p; }" -e d < $0 > $output_objdir/$soname-ltdll.c~
+	test -f $output_objdir/$soname-ltdll.$objext || (cd $output_objdir && $CC -c $soname-ltdll.c)~'
+    else
+      ltdll_obj=
+      ltdll_cmds=
+    fi
+
+    # Extract the symbol export list from an `--export-all' def file,
+    # then regenerate the def file from the symbol export list, so that
+    # the compiled dll only exports the symbol export list.
+    # Be careful not to strip the DATA tag left be newer dlltools.
+    export_symbols_cmds="$ltdll_cmds"'
+      $DLLTOOL --export-all --exclude-symbols '$dll_exclude_symbols' --output-def $output_objdir/$soname-def '$ltdll_obj'$libobjs $convenience~
+      sed -e "1,/EXPORTS/d" -e "s/ @ [0-9]*//" -e "s/ *;.*$//" < $output_objdir/$soname-def > $export_symbols'
+
+    # If DATA tags from a recent dlltool are present, honour them!
+    archive_expsym_cmds='echo EXPORTS > $output_objdir/$soname-def~
+      _lt_hint=1;
+      cat $export_symbols | while read symbol; do
+	set dummy \$symbol;
+	case \$# in
+	  2) echo "	\$2 @ \$_lt_hint ; " >> $output_objdir/$soname-def;;
+	  *) echo "     \$2 @ \$_lt_hint \$3 ; " >> $output_objdir/$soname-def;;
+	esac;
+	_lt_hint=`expr 1 + \$_lt_hint`;
+      done~
+      '"$ltdll_cmds"'
+      $CC -Wl,--base-file,$output_objdir/$soname-base '$lt_cv_gcj_dll_switch' -Wl,-e,'$dll_entry' -o $lib '$ltdll_obj'$libobjs $deplibs $compiler_flags~
+      $DLLTOOL --as=$AS --dllname $soname --exclude-symbols '$dll_exclude_symbols' --def $output_objdir/$soname-def --base-file $output_objdir/$soname-base --output-exp $output_objdir/$soname-exp~
+      $CC -Wl,--base-file,$output_objdir/$soname-base $output_objdir/$soname-exp '$lt_cv_gcj_dll_switch' -Wl,-e,'$dll_entry' -o $lib '$ltdll_obj'$libobjs $deplibs $compiler_flags~
+      $DLLTOOL --as=$AS --dllname $soname --exclude-symbols '$dll_exclude_symbols' --def $output_objdir/$soname-def --base-file $output_objdir/$soname-base --output-exp $output_objdir/$soname-exp~
+      $CC $output_objdir/$soname-exp '$lt_cv_gcj_dll_switch' -Wl,-e,'$dll_entry' -o $lib '$ltdll_obj'$libobjs $deplibs $compiler_flags'
+    ;;
+
+  netbsd*)
+    if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+      archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+      wlarc=
+    else
+      archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+      archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+    fi
+    ;;
+
+  solaris* | sysv5*)
+    if $LD -v 2>&1 | egrep 'BFD 2\.8' > /dev/null; then
+      ld_shlibs=no
+      cat <<EOF 1>&2
+
+*** Warning: The releases 2.8.* of the GNU linker cannot reliably
+*** create shared libraries on Solaris systems.  Therefore, libtool
+*** is disabling shared libraries support.  We urge you to upgrade GNU
+*** binutils to release 2.9.1 or newer.  Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+EOF
+    elif $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
+      archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+      archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+    else
+      ld_shlibs=no
+    fi
+    ;;
+
+  sunos4*)
+    archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+    wlarc=
+    hardcode_direct=yes
+    hardcode_shlibpath_var=no
+    ;;
+
+  *)
+    if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
+      archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+      archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+    else
+      ld_shlibs=no
+    fi
+    ;;
+  esac
+
+  if test "$ld_shlibs" = yes; then
+    runpath_var=LD_RUN_PATH
+    hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir'
+    export_dynamic_flag_spec='${wl}--export-dynamic'
+    case $host_os in
+    cygwin* | mingw*)
+      # dlltool doesn't understand --whole-archive et. al.
+      whole_archive_flag_spec=
+      ;;
+    *)
+      # ancient GNU ld didn't support --whole-archive et. al.
+      if $LD --help 2>&1 | egrep 'no-whole-archive' > /dev/null; then
+	whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+      else
+	whole_archive_flag_spec=
+      fi
+      ;;
+    esac
+  fi
+else
+  # PORTME fill in a description of your system's linker (not GNU ld)
+  case "$host_os" in
+  aix3*)
+    allow_undefined_flag=unsupported
+    always_export_symbols=yes
+    archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
+    # Note: this linker hardcodes the directories in LIBPATH if there
+    # are no directories specified by -L.
+    hardcode_minus_L=yes
+    if test "$with_gcc" = yes && test -z "$link_static_flag"; then
+      # Neither direct hardcoding nor static linking is supported with a
+      # broken collect2.
+      hardcode_direct=unsupported
+    fi
+    ;;
+
+  aix4* | aix5*)
+    hardcode_direct=yes
+    hardcode_libdir_separator=':'
+    link_all_deplibs=yes
+    # When large executables or shared objects are built, AIX ld can
+    # have problems creating the table of contents.  If linking a library
+    # or program results in "error TOC overflow" add -mminimal-toc to
+    # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
+    # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+    if test "$with_gcc" = yes; then
+      case "$host_os" in aix4.[012]|aix4.[012].*)
+      # We only want to do this on AIX 4.2 and lower, the check
+      # below for broken collect2 doesn't work under 4.3+
+        collect2name=`${CC} -print-prog-name=collect2`
+        if test -f "$collect2name" && \
+	   strings "$collect2name" | grep resolve_lib_name >/dev/null
+        then
+	  # We have reworked collect2
+	  hardcode_direct=yes
+        else
+	  # We have old collect2
+	  hardcode_direct=unsupported
+	  # It fails to find uninstalled libraries when the uninstalled
+	  # path is not listed in the libpath.  Setting hardcode_minus_L
+	  # to unsupported forces relinking
+	  hardcode_minus_L=yes
+	  hardcode_libdir_flag_spec='-L$libdir'
+	  hardcode_libdir_separator=
+        fi
+      esac
+      shared_flag='-shared'
+    else
+      # not using gcc
+      if test "$host_cpu" = ia64; then
+        shared_flag='${wl}-G'
+      else
+        shared_flag='${wl}-bM:SRE'
+      fi
+    fi
+
+    if test "$host_cpu" = ia64; then
+      # On IA64, the linker does run time linking by default, so we don't
+      # have to do anything special.
+      aix_use_runtimelinking=no
+      exp_sym_flag='-Bexport'
+      no_entry_flag=""
+    else
+      # Test if we are trying to use run time linking, or normal AIX style linking.
+      # If -brtl is somewhere in LDFLAGS, we need to do run time linking.
+      aix_use_runtimelinking=no
+      for ld_flag in $LDFLAGS; do
+        if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl" ); then
+          aix_use_runtimelinking=yes
+          break
+        fi
+      done
+      exp_sym_flag='-bexport'
+      no_entry_flag='-bnoentry'
+    fi
+    # -bexpall does not export symbols beginning with underscore (_)
+    always_export_symbols=yes
+    if test "$aix_use_runtimelinking" = yes; then
+      # Warning - without using the other run time loading flags (-brtl), -berok will
+      #           link without error, but may produce a broken library.
+      allow_undefined_flag=' ${wl}-berok'
+      hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:/usr/lib:/lib'
+      archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"
+    else
+      if test "$host_cpu" = ia64; then
+        hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
+        allow_undefined_flag="-z nodefs"
+        archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"
+      else
+        allow_undefined_flag=' ${wl}-berok'
+        # -bexpall does not export symbols beginning with underscore (_)
+        always_export_symbols=yes
+        # Exported symbols can be pulled into shared objects from archives
+        whole_archive_flag_spec=' '
+        build_libtool_need_lc=yes
+        hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:/usr/lib:/lib'
+        # This is similar to how AIX traditionally builds it's shared libraries.
+        archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+      fi
+    fi
+  ;;
+
+  amigaos*)
+    archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+    hardcode_libdir_flag_spec='-L$libdir'
+    hardcode_minus_L=yes
+    # see comment about different semantics on the GNU ld section
+    ld_shlibs=no
+    ;;
+
+  cygwin* | mingw*)
+    # When not using gcc, we currently assume that we are using
+    # Microsoft Visual C++.
+    # hardcode_libdir_flag_spec is actually meaningless, as there is
+    # no search path for DLLs.
+    hardcode_libdir_flag_spec=' '
+    allow_undefined_flag=unsupported
+    # Tell ltmain to make .lib files, not .a files.
+    libext=lib
+    # FIXME: Setting linknames here is a bad hack.
+    archive_cmds='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | sed -e '\''s/ -lc$//'\''` -link -dll~linknames='
+    # The linker will automatically build a .lib file if we build a DLL.
+    old_archive_from_new_cmds='true'
+    # FIXME: Should let the user specify the lib program.
+    old_archive_cmds='lib /OUT:$oldlib$oldobjs$old_deplibs'
+    fix_srcfile_path='`cygpath -w "$srcfile"`'
+    ;;
+
+  freebsd1*)
+    ld_shlibs=no
+    ;;
+
+  # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
+  # support.  Future versions do this automatically, but an explicit c++rt0.o
+  # does not break anything, and helps significantly (at the cost of a little
+  # extra space).
+  freebsd2.2*)
+    archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
+    hardcode_libdir_flag_spec='-R$libdir'
+    hardcode_direct=yes
+    hardcode_shlibpath_var=no
+    ;;
+
+  # Unfortunately, older versions of FreeBSD 2 do not have this feature.
+  freebsd2*)
+    archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+    hardcode_direct=yes
+    hardcode_minus_L=yes
+    hardcode_shlibpath_var=no
+    ;;
+
+  # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+  freebsd*)
+    archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
+    hardcode_libdir_flag_spec='-R$libdir'
+    hardcode_direct=yes
+    hardcode_shlibpath_var=no
+    ;;
+
+  hpux9* | hpux10* | hpux11*)
+    case "$host_os" in
+    hpux9*) archive_cmds='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' ;;
+    *) archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' ;;
+    esac
+    hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+    hardcode_libdir_separator=:
+    hardcode_direct=yes
+    hardcode_minus_L=yes # Not in the search PATH, but as the default
+			 # location of the library.
+    export_dynamic_flag_spec='${wl}-E'
+    ;;
+
+  irix5* | irix6*)
+    if test "$with_gcc" = yes; then
+      archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
+    else
+      archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib'
+    fi
+    hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+    hardcode_libdir_separator=:
+    link_all_deplibs=yes
+    ;;
+
+  netbsd*)
+    if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
+    else
+      archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
+    fi
+    hardcode_libdir_flag_spec='${wl}-R$libdir'
+    hardcode_direct=yes
+    hardcode_shlibpath_var=no
+    ;;
+
+  openbsd*)
+    archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+    hardcode_libdir_flag_spec='-R$libdir'
+    hardcode_direct=yes
+    hardcode_shlibpath_var=no
+    ;;
+
+  os2*)
+    hardcode_libdir_flag_spec='-L$libdir'
+    hardcode_minus_L=yes
+    allow_undefined_flag=unsupported
+    archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
+    old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
+    ;;
+
+  osf3*)
+    if test "$with_gcc" = yes; then
+      allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
+      archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
+    else
+      allow_undefined_flag=' -expect_unresolved \*'
+      archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib'
+    fi
+    hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+    hardcode_libdir_separator=:
+    ;;
+
+  osf4* | osf5*)	# as osf3* with the addition of -msym flag
+    if test "$with_gcc" = yes; then
+      allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
+      archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
+    else
+      allow_undefined_flag=' -expect_unresolved \*'
+      archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib'
+    fi
+    hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+    hardcode_libdir_separator=:
+    ;;
+
+  sco3.2v5*)
+    archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+    hardcode_shlibpath_var=no
+    runpath_var=LD_RUN_PATH
+    hardcode_runpath_var=yes
+    ;;
+
+  solaris*)
+    no_undefined_flag=' -z text'
+    # $CC -shared without GNU ld will not create a library from C++
+    # object files and a static libstdc++, better avoid it by now
+    archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+    archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+		$LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
+    hardcode_libdir_flag_spec='-R$libdir'
+    hardcode_shlibpath_var=no
+    case "$host_os" in
+    solaris2.[0-5] | solaris2.[0-5].*) ;;
+    *) # Supported since Solaris 2.6 (maybe 2.5.1?)
+      whole_archive_flag_spec='-z allextract$convenience -z defaultextract' ;;
+    esac
+    link_all_deplibs=yes
+    ;;
+
+  sunos4*)
+    archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
+    hardcode_libdir_flag_spec='-L$libdir'
+    hardcode_direct=yes
+    hardcode_minus_L=yes
+    hardcode_shlibpath_var=no
+    ;;
+
+  sysv4)
+    archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+    runpath_var='LD_RUN_PATH'
+    hardcode_shlibpath_var=no
+    hardcode_direct=no #Motorola manual says yes, but my tests say they lie
+    ;;
+
+  sysv4.3*)
+    archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+    hardcode_shlibpath_var=no
+    export_dynamic_flag_spec='-Bexport'
+    ;;
+
+  sysv5*)
+    no_undefined_flag=' -z text'
+    # $CC -shared without GNU ld will not create a library from C++
+    # object files and a static libstdc++, better avoid it by now
+    archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+    archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+		$LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
+    hardcode_libdir_flag_spec=
+    hardcode_shlibpath_var=no
+    runpath_var='LD_RUN_PATH'
+    ;;
+
+  uts4*)
+    archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+    hardcode_libdir_flag_spec='-L$libdir'
+    hardcode_shlibpath_var=no
+    ;;
+
+  dgux*)
+    archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+    hardcode_libdir_flag_spec='-L$libdir'
+    hardcode_shlibpath_var=no
+    ;;
+
+  sysv4*MP*)
+    if test -d /usr/nec; then
+      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_shlibpath_var=no
+      runpath_var=LD_RUN_PATH
+      hardcode_runpath_var=yes
+      ld_shlibs=yes
+    fi
+    ;;
+
+  sysv4.2uw2*)
+    archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
+    hardcode_direct=yes
+    hardcode_minus_L=no
+    hardcode_shlibpath_var=no
+    hardcode_runpath_var=yes
+    runpath_var=LD_RUN_PATH
+    ;;
+
+  unixware7*)
+    archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+    runpath_var='LD_RUN_PATH'
+    hardcode_shlibpath_var=no
+    ;;
+
+  *)
+    ld_shlibs=no
+    ;;
+  esac
+fi
+
+## Compiler Characteristics: PIC flags, static flags, etc
+
+# We don't use cached values here since only the C compiler
+# characteristics should be cached.
+  ac_cv_prog_cc_pic=
+  ac_cv_prog_cc_shlib=
+  ac_cv_prog_cc_wl=
+  ac_cv_prog_cc_static=
+  ac_cv_prog_cc_no_builtin=
+  ac_cv_prog_cc_can_build_shared=$can_build_shared
+
+    ac_cv_prog_cc_wl='-Wl,'
+    ac_cv_prog_cc_static='-static'
+
+    case "$host_os" in
+    beos* | irix5* | irix6* | osf3* | osf4* | osf5*)
+      # PIC is the default for these OSes.
+      ;;
+    aix*)
+      # Below there is a dirty hack to force normal static linking with -ldl
+      # The problem is because libdl dynamically linked with both libc and
+      # libC (AIX C++ library), which obviously doesn't included in libraries
+      # list by gcc. This cause undefined symbols with -static flags.
+      # This hack allows C programs to be linked with "-static -ldl", but
+      # we not sure about C++ programs.
+      ac_cv_prog_cc_static="$ac_cv_prog_cc_static ${ac_cv_prog_cc_wl}-lC"
+      ;;
+    cygwin* | mingw* | os2*)
+      # This hack is so that the source file can tell whether it is being
+      # built for inclusion in a dll (and should export symbols for example).
+      ac_cv_prog_cc_pic='-DDLL_EXPORT'
+      ;;
+    amigaos*)
+      # FIXME: we need at least 68020 code to build shared libraries, but
+      # adding the `-m68020' flag to GCC prevents building anything better,
+      # like `-m68040'.
+      ac_cv_prog_cc_pic='-m68020 -resident32 -malways-restore-a4'
+      ;;
+    sysv4*MP*)
+      if test -d /usr/nec; then
+	 ac_cv_prog_cc_pic=-Kconform_pic
+      fi
+      ;;
+    *)
+      ac_cv_prog_cc_pic='-fPIC'
+      ;;
+    esac
+
+# GCJ did not exist at the time GCC didn't implicitly link libc in.
+need_lc=no
diff --git a/admin/ltconfig b/admin/ltconfig
new file mode 100755
index 0000000..bf9d5b4
--- /dev/null
+++ b/admin/ltconfig
@@ -0,0 +1,2697 @@
+#! /bin/sh
+
+# ltconfig - Create a system-specific libtool.
+# Copyright (C) 1996-2000 Free Software Foundation, Inc.
+# Originally by Gordon Matzigkeit <gord at gnu.ai.mit.edu>, 1996
+#
+# This file is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# A lot of this script is taken from autoconf-2.10.
+
+# Check that we are running under the correct shell.
+SHELL=${CONFIG_SHELL-/bin/sh}
+echo=echo
+if test "X$1" = X--no-reexec; then
+  # Discard the --no-reexec flag, and continue.
+  shift
+elif test "X$1" = X--fallback-echo; then
+  # Avoid inline document here, it may be left over
+  :
+elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then
+  # Yippee, $echo works!
+  :
+else
+  # Restart under the correct shell.
+  exec "$SHELL" "$0" --no-reexec ${1+"$@"}
+fi
+
+if test "X$1" = X--fallback-echo; then
+  # used as fallback echo
+  shift
+  cat <<EOF
+$*
+EOF
+  exit 0
+fi
+
+# Find the correct PATH separator.  Usually this is `:', but
+# DJGPP uses `;' like DOS.
+if test "X${PATH_SEPARATOR+set}" != Xset; then
+  UNAME=${UNAME-`uname 2>/dev/null`}
+  case X$UNAME in
+    *-DOS) PATH_SEPARATOR=';' ;;
+    *)     PATH_SEPARATOR=':' ;;
+  esac
+fi
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+if test "X${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi
+
+if test "X${echo_test_string+set}" != Xset; then
+  # find a string as large as possible, as long as the shell can cope with it
+  for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do
+    # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
+    if (echo_test_string="`eval $cmd`") 2>/dev/null &&
+       echo_test_string="`eval $cmd`" &&
+       (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null; then
+      break
+    fi
+  done
+fi
+
+if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
+   echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
+   test "X$echo_testing_string" = "X$echo_test_string"; then
+  :
+else
+  # The Solaris, AIX, and Digital Unix default echo programs unquote
+  # backslashes.  This makes it impossible to quote backslashes using
+  #   echo "$something" | sed 's/\\/\\\\/g'
+  #
+  # So, first we look for a working echo in the user's PATH.
+
+  IFS="${IFS= 	}"; save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}"
+  for dir in $PATH /usr/ucb; do
+    if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
+       test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
+       echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
+       test "X$echo_testing_string" = "X$echo_test_string"; then
+      echo="$dir/echo"
+      break
+    fi
+  done
+  IFS="$save_ifs"
+
+  if test "X$echo" = Xecho; then
+    # We didn't find a better echo, so look for alternatives.
+    if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' &&
+       echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` &&
+       test "X$echo_testing_string" = "X$echo_test_string"; then
+      # This shell has a builtin print -r that does the trick.
+      echo='print -r'
+    elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) &&
+	 test "X$CONFIG_SHELL" != X/bin/ksh; then
+      # If we have ksh, try running ltconfig again with it.
+      ORIGINAL_CONFIG_SHELL="${CONFIG_SHELL-/bin/sh}"
+      export ORIGINAL_CONFIG_SHELL
+      CONFIG_SHELL=/bin/ksh
+      export CONFIG_SHELL
+      exec "$CONFIG_SHELL" "$0" --no-reexec ${1+"$@"}
+    else
+      # Try using printf.
+      echo='printf %s\n'
+      if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
+	 echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
+	 test "X$echo_testing_string" = "X$echo_test_string"; then
+	# Cool, printf works
+	:
+      elif echo_testing_string=`("$ORIGINAL_CONFIG_SHELL" "$0" --fallback-echo '\t') 2>/dev/null` &&
+	   test "X$echo_testing_string" = 'X\t' &&
+	   echo_testing_string=`("$ORIGINAL_CONFIG_SHELL" "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
+	   test "X$echo_testing_string" = "X$echo_test_string"; then
+	CONFIG_SHELL="$ORIGINAL_CONFIG_SHELL"
+	export CONFIG_SHELL
+	SHELL="$CONFIG_SHELL"
+	export SHELL
+	echo="$CONFIG_SHELL $0 --fallback-echo"
+      elif echo_testing_string=`("$CONFIG_SHELL" "$0" --fallback-echo '\t') 2>/dev/null` &&
+	   test "X$echo_testing_string" = 'X\t' &&
+	   echo_testing_string=`("$CONFIG_SHELL" "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
+	   test "X$echo_testing_string" = "X$echo_test_string"; then
+	echo="$CONFIG_SHELL $0 --fallback-echo"
+      else
+	# maybe with a smaller string...
+	prev=:
+
+	for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do
+	  if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null; then
+	    break
+	  fi
+	  prev="$cmd"
+	done
+
+	if test "$prev" != 'sed 50q "$0"'; then
+	  echo_test_string=`eval $prev`
+	  
+	  export echo_test_string
+	  exec "${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}}" "$0" ${1+"$@"}
+	else
+	  # Oops.  We lost completely, so just stick with echo.
+	  echo=echo
+	fi
+      fi
+    fi
+  fi
+fi
+
+# Sed substitution that helps us do robust quoting.  It backslashifies
+# metacharacters that are still active within double-quoted strings.
+Xsed='sed -e s/^X//'
+sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g'
+
+# Same as above, but do not quote variable references.
+double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g'
+
+# Sed substitution to delay expansion of an escaped shell variable in a
+# double_quote_subst'ed string.
+delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
+
+# The name of this program.
+progname=`$echo "X$0" | $Xsed -e 's%^.*/%%'`
+
+# Constants:
+PROGRAM=ltconfig
+PACKAGE=libtool
+VERSION=1.4a
+TIMESTAMP=" (1.641.2.179mm 2001/01/08 01:59:19)"
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+rm="rm -f"
+
+help="Try \`$progname --help' for more information."
+
+# Global variables:
+default_ofile=libtool
+can_build_shared=yes
+enable_shared=yes
+# All known linkers require a `.a' archive for static linking (except M$VC,
+# which needs '.lib').
+enable_static=yes
+enable_fast_install=yes
+enable_dlopen=unknown
+enable_win32_dll=no
+pic_mode=default
+ltmain=
+silent=
+srcdir=
+ac_config_guess=
+ac_config_sub=
+host=
+build=NONE
+nonopt=NONE
+ofile="$default_ofile"
+verify_host=yes
+tagname=
+with_gcc=no
+with_gnu_ld=no
+need_locks=yes
+ac_ext=c
+libext=a
+cache_file=
+
+## Dependencies to place before and after the object being linked:
+predep_objects=
+postdep_objects=
+predeps=
+postdeps=
+compiler_lib_search_path=
+
+## Link characteristics:
+allow_undefined_flag=
+no_undefined_flag=
+need_lib_prefix=unknown
+need_version=unknown
+# when you set need_version to no, make sure it does not cause -set_version
+# flags to be left without arguments
+archive_cmds=
+archive_expsym_cmds=
+old_archive_from_new_cmds=
+old_archive_from_expsyms_cmds=
+striplib=
+old_striplib=
+export_dynamic_flag_spec=
+whole_archive_flag_spec=
+thread_safe_flag_spec=
+hardcode_into_libs=no
+hardcode_libdir_flag_spec=
+hardcode_libdir_separator=
+hardcode_direct=no
+hardcode_minus_L=no
+hardcode_shlibpath_var=unsupported
+runpath_var=
+link_all_deplibs=unknown
+always_export_symbols=no
+export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | sed '\''s/.* //'\'' | sort | uniq > $export_symbols'
+# include_expsyms should be a list of space-separated symbols to be *always*
+# included in the symbol list
+include_expsyms=
+# exclude_expsyms can be an egrep regular expression of symbols to exclude
+# it will be wrapped by ` (' and `)$', so one must not match beginning or
+# end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
+# as well as any symbol that contains `d'.
+exclude_expsyms="_GLOBAL_OFFSET_TABLE_"
+# Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
+# platforms (ab)use it in PIC code, but their linkers get confused if
+# the symbol is explicitly referenced.  Since portable code cannot
+# rely on this symbol name, it's probably fine to never include it in
+# preloaded symbol tables.
+extract_expsyms_cmds=
+
+## Tools:
+old_AR="$AR"
+old_AR_FLAGS="$AR_FLAGS"
+old_CC="$CC"
+old_CFLAGS="$CFLAGS"
+old_CPPFLAGS="$CPPFLAGS"
+old_LDFLAGS="$LDFLAGS"
+old_LIBS="$LIBS"
+old_MAGIC_CMD="$MAGIC_CMD"
+old_LD="$LD"
+old_LN_S="$LN_S"
+old_LTCC="$LTCC"
+old_NM="$NM"
+old_RANLIB="$RANLIB"
+old_STRIP="$STRIP"
+old_AS="$AS"
+old_DLLTOOL="$DLLTOOL"
+old_OBJDUMP="$OBJDUMP"
+old_OBJEXT="$OBJEXT"
+old_EXEEXT="$EXEEXT"
+old_reload_flag="$reload_flag"
+old_deplibs_check_method="$deplibs_check_method"
+old_file_magic_cmd="$file_magic_cmd"
+
+# Parse the command line options.
+args=
+prev=
+for option
+do
+  case "$option" in
+  -*=*) optarg=`echo "$option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+  *) optarg= ;;
+  esac
+
+  # If the previous option needs an argument, assign it.
+  if test -n "$prev"; then
+    eval "$prev=\$option"
+    prev=
+    continue
+  fi
+
+  case "$option" in
+  --help) cat <<EOM
+Usage: $progname [OPTION]... LTMAIN [HOST]
+
+Generate a system-specific libtool script.
+
+    --build                configure for building on BUILD [BUILD=HOST]
+    --debug                enable verbose shell tracing
+    --disable-shared       do not build shared libraries
+    --disable-static       do not build static libraries
+    --disable-fast-install do not optimize for fast installation
+    --enable-dlopen        enable dlopen support
+    --enable-win32-dll     enable building dlls on win32 hosts
+    --help                 display this help and exit
+    --no-verify            do not verify that HOST is a valid host type
+-o, --output=FILE          specify the output file [default=$default_ofile]
+    --quiet                same as \`--silent'
+    --silent               do not print informational messages
+    --srcdir=DIR           find \`config.guess' in DIR
+    --version              output version information and exit
+    --add-tag=TAG          append an alternate configuration
+    --with-gcc             assume that the GNU C compiler will be used
+    --with-gnu-ld          assume that the C compiler uses the GNU linker
+    --prefer-pic           try to use only PIC objects
+    --prefer-non-pic       try to use only non-PIC objects
+    --disable-lock         disable file locking
+    --cache-file=FILE      configure cache file
+
+LTMAIN is the \`ltmain.sh' shell script fragment or \`ltmain.c' program
+that provides basic libtool functionality.
+
+HOST is the canonical host system name [default=guessed].
+EOM
+  exit 0
+  ;;
+
+  --build) prev=build ;;
+  --build=*) build="$optarg" ;;
+
+  --debug)
+    echo "$progname: enabling shell trace mode"
+    set -x
+    ;;
+
+  --disable-shared) enable_shared=no ;;
+
+  --disable-static) enable_static=no ;;
+
+  --disable-fast-install) enable_fast_install=no ;;
+
+  --enable-dlopen) enable_dlopen=yes ;;
+
+  --enable-win32-dll) enable_win32_dll=yes ;;
+
+  --quiet | --silent) silent=yes ;;
+
+  --srcdir) prev=srcdir ;;
+  --srcdir=*) srcdir="$optarg" ;;
+
+  --no-verify) verify_host=no ;;
+
+  --output | -o) prev=ofile ;;
+  --output=*) ofile="$optarg" ;;
+
+  --version) echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP"; exit 0 ;;
+
+  --add-tag) prev=tagname ;;
+  --add-tag=*) tagname="$optarg" ;;
+
+  --with-gcc) with_gcc=yes ;;
+  --with-gnu-ld) with_gnu_ld=yes ;;
+
+  --prefer-pic) pic_mode=yes ;;
+  --prefer-non-pic) pic_mode=no ;;
+
+  --disable-lock) need_locks=no ;;
+
+  --cache-file=*) cache_file="$optarg" ;;
+
+  -*)
+    echo "$progname: unrecognized option \`$option'" 1>&2
+    echo "$help" 1>&2
+    exit 1
+    ;;
+
+  *)
+    if test -z "$ltmain"; then
+      ltmain="$option"
+    elif test -z "$host"; then
+# This generates an unnecessary warning for sparc-sun-solaris4.1.3_U1
+#      if test -n "`echo $option| sed 's/[-a-z0-9.]//g'`"; then
+#        echo "$progname: warning \`$option' is not a valid host type" 1>&2
+#      fi
+      host="$option"
+    else
+      echo "$progname: too many arguments" 1>&2
+      echo "$help" 1>&2
+      exit 1
+    fi ;;
+  esac
+done
+
+if test -z "$ltmain"; then
+  echo "$progname: you must specify a LTMAIN file" 1>&2
+  echo "$help" 1>&2
+  exit 1
+fi
+
+if test ! -f "$ltmain"; then
+  echo "$progname: \`$ltmain' does not exist" 1>&2
+  echo "$help" 1>&2
+  exit 1
+fi
+
+if test -n "$tagname"; then
+  # Check whether tagname contains only valid characters
+  case `$echo "X$tagname" | $Xsed -e 's/[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]//g'` in
+  "") ;;
+  *)
+    echo "$progname: invalid tag name: $tagname" 1>&2
+    exit 1
+    ;;
+  esac
+
+  if grep "^### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$ofile" > /dev/null; then
+    echo "$progname: tag name $tagname already exists" 1>&2
+    exit 1
+  fi
+
+  if test ! -f "$ofile"; then
+    echo "$progname: warning: output file \`$ofile' does not exist" 1>&2
+  fi
+
+  if test -z "$LTCC"; then
+    eval "`$SHELL $ofile --config | grep '^LTCC='`"
+    if test -z "$LTCC"; then
+      echo "$progname: warning: output file \`$ofile' does not look like a libtool script" 1>&2
+    else
+      echo "$progname: warning: using \`LTCC=$LTCC', extracted from \`$ofile'" 1>&2
+    fi
+  fi
+fi
+
+# Quote any args containing shell metacharacters.
+ltconfig_args=
+for arg
+do
+  case "$arg" in
+  *" "*|*"	"*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
+  ltconfig_args="$ltconfig_args '$arg'" ;;
+  *) ltconfig_args="$ltconfig_args $arg" ;;
+  esac
+done
+
+# A relevant subset of AC_INIT.
+
+# File descriptor usage:
+# 0 standard input
+# 1 file creation
+# 2 errors and warnings
+# 3 some systems may open it to /dev/tty
+# 4 used on the Kubota Titan
+# 5 compiler messages saved in config.log
+# 6 checking for... messages and results
+if test "$silent" = yes; then
+  exec 6>/dev/null
+else
+  exec 6>&1
+fi
+exec 5>>./config.log
+
+# NLS nuisances.
+# Only set LANG and LC_ALL to C if already set.
+# These must not be set unconditionally because not all systems understand
+# e.g. LANG=C (notably SCO).
+if test "X${LC_ALL+set}" = Xset; then LC_ALL=C; export LC_ALL; fi
+if test "X${LANG+set}"   = Xset; then LANG=C;   export LANG;   fi
+
+if test -n "$cache_file" && test -r "$cache_file" && test -f "$cache_file"; then
+  echo "loading cache $cache_file within ltconfig"
+  . $cache_file
+fi
+
+if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
+  # Stardent Vistra SVR4 grep lacks -e, says ghazi at caip.rutgers.edu.
+  if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
+    ac_n= ac_c='
+' ac_t='	'
+  else
+    ac_n=-n ac_c= ac_t=
+  fi
+else
+  ac_n= ac_c='\c' ac_t=
+fi
+
+if test -z "$srcdir"; then
+  # Assume the source directory is the same one as the path to LTMAIN.
+  srcdir=`$echo "X$ltmain" | $Xsed -e 's%/[^/]*$%%'`
+  test "$srcdir" = "$ltmain" && srcdir=.
+fi
+
+trap "$rm conftest*; exit 1" 1 2 15
+if test "$verify_host" = yes; then
+  # Check for config.guess and config.sub.
+  ac_aux_dir=
+  for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
+    if test -f $ac_dir/config.guess; then
+      ac_aux_dir=$ac_dir
+      break
+    fi
+  done
+  if test -z "$ac_aux_dir"; then
+    echo "$progname: cannot find config.guess in $srcdir $srcdir/.. $srcdir/../.." 1>&2
+    echo "$help" 1>&2
+    exit 1
+  fi
+  ac_config_guess=$ac_aux_dir/config.guess
+  ac_config_sub=$ac_aux_dir/config.sub
+
+  # Make sure we can run config.sub.
+  if $SHELL $ac_config_sub sun4 >/dev/null 2>&1; then :
+  else
+    echo "$progname: cannot run $ac_config_sub" 1>&2
+    echo "$help" 1>&2
+    exit 1
+  fi
+
+  echo $ac_n "checking host system type""... $ac_c" 1>&6
+
+  host_alias=$host
+  case "$host_alias" in
+  "")
+    # Force config.guess to use the C compiler.
+    # CC_FOR_BUILD overrides the CC variable in config.guess but I had
+    # problems with it so do it this way for now.
+    CC="$LTCC"
+
+    if host_alias=`$SHELL $ac_config_guess`; then :
+    else
+      echo "$progname: cannot guess host type; you must specify one" 1>&2
+      echo "$help" 1>&2
+      exit 1
+    fi
+
+    # Restore the C compiler.
+    CC="$old_CC"
+    ;;
+  esac
+  host=`$SHELL $ac_config_sub $host_alias`
+  echo "$ac_t$host" 1>&6
+
+  # Make sure the host verified.
+  test -z "$host" && exit 1
+
+  # Check for the build system type
+  echo $ac_n "checking build system type... $ac_c" 1>&6
+
+  build_alias=$build
+  case "$build_alias" in
+  NONE)
+    case $nonopt in
+    NONE) build_alias=$host_alias ;;
+    *) build_alias=$nonopt ;;
+    esac ;;
+  esac
+
+  build=`$SHELL $ac_config_sub $build_alias`
+  build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+  build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+  build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+  echo "$ac_t""$build" 1>&6
+
+elif test -z "$host"; then
+  echo "$progname: you must specify a host type if you use \`--no-verify'" 1>&2
+  echo "$help" 1>&2
+  exit 1
+else
+  host_alias=$host
+  build_alias=$host_alias
+  build=$host
+fi
+
+if test x"$host" != x"$build"; then
+  ac_tool_prefix=${host_alias}-
+else
+  ac_tool_prefix=
+fi
+
+host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+
+# Transform linux* to *-*-linux-gnu*, to support old configure scripts.
+case "$host_os" in
+linux-gnu*) ;;
+linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
+esac
+
+case "$host_os" in
+aix3*)
+  # AIX sometimes has problems with the GCC collect2 program.  For some
+  # reason, if we set the COLLECT_NAMES environment variable, the problems
+  # vanish in a puff of smoke.
+  if test "X${COLLECT_NAMES+set}" != Xset; then
+    COLLECT_NAMES=
+    export COLLECT_NAMES
+  fi
+  ;;
+esac
+
+# Determine commands to create old-style static archives.
+old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs'
+old_postinstall_cmds='chmod 644 $oldlib'
+old_postuninstall_cmds=
+
+if test -n "$RANLIB"; then
+  old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
+  old_postinstall_cmds="\$RANLIB \$oldlib~$old_postinstall_cmds"
+fi
+
+# Source the script associated with the $tagname tag configuration.
+if test -n "$tagname"; then
+  . $ltmain
+else
+  # FIXME:  We should use a variable here
+  # Configure for a C compiler
+  . $srcdir/ltcf-c.sh
+fi
+
+# Set sane defaults for various variables
+test -z "$AR" && AR=ar
+test -z "$AR_FLAGS" && AR_FLAGS=cru
+test -z "$AS" && AS=as
+test -z "$CC" && CC=cc
+test -z "$DLLTOOL" && DLLTOOL=dlltool
+test -z "$MAGIC_CMD" && MAGIC_CMD=file
+test -z "$LD" && LD=ld
+test -z "$LN_S" && LN_S="ln -s"
+test -z "$NM" && NM=nm
+test -z "$OBJDUMP" && OBJDUMP=objdump
+test -z "$RANLIB" && RANLIB=:
+test -z "$STRIP" && STRIP=:
+test -z "$objext" && objext=o
+
+echo $ac_n "checking for objdir... $ac_c" 1>&6
+rm -f .libs 2>/dev/null
+mkdir .libs 2>/dev/null
+if test -d .libs; then
+  objdir=.libs
+else
+  # MS-DOS does not allow filenames that begin with a dot.
+  objdir=_libs
+fi
+rmdir .libs 2>/dev/null
+echo "$ac_t$objdir" 1>&6
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# Allow CC to be a program name with arguments.
+set dummy $CC
+compiler="$2"
+
+# We assume here that the value for ac_cv_prog_cc_pic will not be cached
+# in isolation, and that seeing it set (from the cache) indicates that
+# the associated values are set (in the cache) correctly too.
+echo $ac_n "checking for $compiler option to produce PIC... $ac_c" 1>&6
+echo "$progname:676:checking for $compiler option to produce PIC" 1>&5
+
+if test -z "$ac_cv_prog_cc_pic"; then
+  echo "$ac_t"none 1>&6
+else
+  echo "$ac_t""$ac_cv_prog_cc_pic" 1>&6
+
+  # Check to make sure the pic_flag actually works.
+  echo $ac_n "checking if $compiler PIC flag $ac_cv_prog_cc_pic works... $ac_c" 1>&6
+  echo "$progname:685:checking that $compiler PIC flag $ac_cv_prog_cc_pic works." 1>&5
+  if test "X${ac_cv_prog_cc_pic_works+set}" = Xset && \
+     test "X${ac_cv_prog_cc_pic_works}" != X; then
+    echo $ac_n "(cached) $ac_c" 1>&6
+  else
+    ac_cv_prog_cc_pic_works=yes
+    $rm conftest*
+    echo $lt_simple_compile_test_code > conftest.$ac_ext
+    save_CFLAGS="$CFLAGS"
+    CFLAGS="$CFLAGS $ac_cv_prog_cc_pic -DPIC"
+    if { (eval echo $progname:695: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest.$objext; then
+      # Append any warnings to the config.log.
+      cat conftest.err 1>&5
+
+      case "$host_os" in
+      hpux9* | hpux10* | hpux11*)
+	# On HP-UX, both CC and GCC only warn that PIC is supported... then
+	# they create non-PIC objects.  So, if there were any warnings, we
+	# assume that PIC is not supported.
+	if test -s conftest.err; then
+	  ac_cv_prog_cc_pic_works=no
+	  ac_cv_prog_cc_can_build_shared=no
+	  ac_cv_prog_cc_pic=
+	else
+	  ac_cv_prog_cc_pic_works=yes
+	  ac_cv_prog_cc_pic=" $ac_cv_prog_cc_pic"
+	fi
+	;;
+      *)
+	ac_cv_prog_cc_pic_works=yes
+	ac_cv_prog_cc_pic=" $ac_cv_prog_cc_pic"
+	;;
+      esac
+    else
+      # Append any errors to the config.log.
+      cat conftest.err 1>&5
+      ac_cv_prog_cc_pic_works=no
+      ac_cv_prog_cc_can_build_shared=no
+      ac_cv_prog_cc_pic=
+    fi
+    CFLAGS="$save_CFLAGS"
+    $rm conftest*
+  fi
+  # Belt *and* braces to stop my trousers falling down:
+  if test "X$ac_cv_prog_cc_pic_works" = Xno; then
+    ac_cv_prog_cc_pic=
+    ac_cv_prog_cc_can_build_shared=no
+  fi
+  echo "$ac_t""$ac_cv_prog_cc_pic_works" 1>&6
+fi
+
+# Check for any special shared library compilation flags.
+if test -n "$ac_cv_prog_cc_shlib"; then
+  echo "$progname: warning: \`$CC' requires \`$ac_cv_prog_cc_shlib' to build shared libraries" 1>&2
+  if echo "$old_CC $old_CFLAGS " | egrep -e "[ 	]$ac_cv_prog_cc_shlib[ 	]" >/dev/null; then :
+  else
+    echo "$progname: add \`$ac_cv_prog_cc_shlib' to the CC or CFLAGS env variable and reconfigure" 1>&2
+    ac_cv_prog_cc_can_build_shared=no
+  fi
+fi
+
+echo $ac_n "checking if $compiler static flag $ac_cv_prog_cc_static works... $ac_c" 1>&6
+echo "$progname:747: checking if $compiler static flag $ac_cv_prog_cc_static works" >&5
+if test "X${ac_cv_prog_cc_static_works+set}" = Xset && \
+   test "X${ac_cv_prog_cc_static_works}" != X; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  $rm conftest*
+  echo $lt_simple_link_test_code > conftest.$ac_ext
+  save_LDFLAGS="$LDFLAGS"
+  LDFLAGS="$LDFLAGS $ac_cv_prog_cc_static"
+  if { (eval echo $progname:756: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+    ac_cv_prog_cc_static_works=yes
+  else
+    ac_cv_prog_cc_static_works=no
+    ac_cv_prog_cc_static=
+  fi
+  LDFLAGS="$save_LDFLAGS"
+  $rm conftest*
+fi
+# Belt *and* braces to stop my trousers falling down:
+if test "X$ac_cv_prog_cc_static_works" = Xno; then
+  ac_cv_prog_cc_static=
+fi
+echo "$ac_t""$ac_cv_prog_cc_static_works" 1>&6
+pic_flag="$ac_cv_prog_cc_pic"
+special_shlib_compile_flags="$ac_cv_prog_cc_shlib"
+wl="$ac_cv_prog_cc_wl"
+link_static_flag="$ac_cv_prog_cc_static"
+no_builtin_flag="$ac_cv_prog_cc_no_builtin"
+can_build_shared="$ac_cv_prog_cc_can_build_shared"
+
+# Check to see if options -o and -c are simultaneously supported by compiler
+echo $ac_n "checking if $compiler supports -c -o file.$objext... $ac_c" 1>&6
+$rm -r conftest 2>/dev/null
+mkdir conftest
+cd conftest
+$rm conftest*
+echo $lt_simple_compile_test_code > conftest.$ac_ext
+mkdir out
+# According to Tom Tromey, Ian Lance Taylor reported there are C compilers
+# that will create temporary files in the current directory regardless of
+# the output directory.  Thus, making CWD read-only will cause this test
+# to fail, enabling locking or at least warning the user not to do parallel
+# builds.
+chmod -w .
+save_CFLAGS="$CFLAGS"
+CFLAGS="$CFLAGS -o out/conftest2.$objext"
+echo "$progname:793: checking if $compiler supports -c -o file.$objext" >&5
+if { (eval echo $progname:794: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>out/conftest.err; } && test -s out/conftest2.$objext; then
+
+  # The compiler can only warn and ignore the option if not recognized
+  # So say no if there are warnings
+    if test -s out/conftest.err; then
+      echo "$ac_t"no 1>&6
+      compiler_c_o=no
+    else
+      echo "$ac_t"yes 1>&6
+      compiler_c_o=yes
+    fi
+else
+  # Append any errors to the config.log.
+  cat out/conftest.err 1>&5
+  compiler_c_o=no
+  echo "$ac_t"no 1>&6
+fi
+CFLAGS="$save_CFLAGS"
+chmod u+w .
+$rm conftest* out/*
+rmdir out
+cd ..
+rmdir conftest
+$rm -r conftest 2>/dev/null
+
+# Check to see if we can do hard links to lock some files if needed
+hard_links="nottested"
+if test "$compiler_c_o" = no && test "$need_locks" != no; then
+  # do not overwrite the value of need_locks provided by the user
+  echo $ac_n "checking if we can lock with hard links... $ac_c" 1>&6
+  hard_links=yes
+  $rm conftest*
+  ln conftest.a conftest.b 2>/dev/null && hard_links=no
+  touch conftest.a
+  ln conftest.a conftest.b 2>&5 || hard_links=no
+  ln conftest.a conftest.b 2>/dev/null && hard_links=no
+  echo "$ac_t$hard_links" 1>&6
+  $rm conftest*
+  if test "$hard_links" = no; then
+    echo "*** WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2
+    need_locks=warn
+  fi
+else
+  need_locks=no
+fi
+
+if test "$with_gcc" = yes; then
+  # Check to see if options -fno-rtti -fno-exceptions are supported by compiler
+  echo $ac_n "checking if $compiler supports -fno-rtti -fno-exceptions ... $ac_c" 1>&6
+  $rm conftest*
+  echo $lt_simple_compile_test_code > conftest.$ac_ext
+  save_CFLAGS="$CFLAGS"
+  CFLAGS="$CFLAGS -fno-rtti -fno-exceptions -c conftest.$ac_ext"
+  echo "$progname:847: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
+  if { (eval echo $progname:848: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest.$objext; then
+
+    # The compiler can only warn and ignore the option if not recognized
+    # So say no if there are warnings
+      if test -s conftest.err; then
+	echo "$ac_t"no 1>&6
+	compiler_rtti_exceptions=no
+      else
+	echo "$ac_t"yes 1>&6
+	compiler_rtti_exceptions=yes
+      fi
+  else
+    # Append any errors to the config.log.
+    cat conftest.err 1>&5
+    compiler_rtti_exceptions=no
+    echo "$ac_t"no 1>&6
+  fi
+  CFLAGS="$save_CFLAGS"
+  $rm conftest*
+
+  if test "$compiler_rtti_exceptions" = "yes"; then
+    no_builtin_flag=' -fno-builtin -fno-rtti -fno-exceptions'
+  else
+    no_builtin_flag=' -fno-builtin'
+  fi
+  
+fi
+
+# See if the linker supports building shared libraries.
+echo $ac_n "checking whether the linker ($LD) supports shared libraries... $ac_c" 1>&6
+
+echo "$ac_t$ld_shlibs" 1>&6
+test "$ld_shlibs" = no && can_build_shared=no
+
+# Check hardcoding attributes.
+echo $ac_n "checking how to hardcode library paths into programs... $ac_c" 1>&6
+hardcode_action=
+if test -n "$hardcode_libdir_flag_spec" || \
+   test -n "$runpath_var"; then
+
+  # We can hardcode non-existant directories.
+  if test "$hardcode_direct" != no &&
+     # If the only mechanism to avoid hardcoding is shlibpath_var, we
+     # have to relink, otherwise we might link with an installed library
+     # when we should be linking with a yet-to-be-installed one
+     ## test "$hardcode_shlibpath_var" != no &&
+     test "$hardcode_minus_L" != no; then
+    # Linking always hardcodes the temporary library directory.
+    hardcode_action=relink
+  else
+    # We can link without hardcoding, and we can hardcode nonexisting dirs.
+    hardcode_action=immediate
+  fi
+else
+  # We cannot hardcode anything, or else we can only hardcode existing
+  # directories.
+  hardcode_action=unsupported
+fi
+echo "$ac_t$hardcode_action" 1>&6
+
+echo $ac_n "checking whether stripping libraries is possible... $ac_c" 1>&6
+if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
+  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
+  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
+  echo "${ac_t}yes" 1>&6
+else
+  echo "${ac_t}no" 1>&6
+fi
+
+reload_cmds='$LD$reload_flag -o $output$reload_objs'
+test -z "$deplibs_check_method" && deplibs_check_method=unknown
+
+# PORTME Fill in your ld.so characteristics
+library_names_spec=
+libname_spec='lib$name'
+soname_spec=
+postinstall_cmds=
+postuninstall_cmds=
+finish_cmds=
+finish_eval=
+shlibpath_var=
+shlibpath_overrides_runpath=unknown
+version_type=none
+dynamic_linker="$host_os ld.so"
+sys_lib_dlsearch_path_spec="/lib /usr/lib"
+sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+
+echo $ac_n "checking dynamic linker characteristics... $ac_c" 1>&6
+case "$host_os" in
+aix3*)
+  version_type=linux
+  library_names_spec='${libname}${release}.so$versuffix $libname.a'
+  shlibpath_var=LIBPATH
+
+  # AIX has no versioning support, so we append a major version to the name.
+  soname_spec='${libname}${release}.so$major'
+  ;;
+
+aix4*)
+  version_type=linux
+  # AIX has no versioning support, so currently we can not hardcode correct
+  # soname into executable. Probably we can add versioning support to
+  # collect2, so additional links can be useful in future.
+  # We preserve .a as extension for shared libraries though AIX4.2
+  # and later linker supports .so
+  # (MM) we changed it to .so, as we now use runtime linking (-brtl) and this
+  # prevents people from linking it as normal .a archive
+  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
+  shlibpath_var=LIBPATH
+  # the following is may be not correct. I need to check with the source of
+  # this patch (its arbab at austin.ibm.com) (MM)
+  hardcode_into_libs=all
+  ;;
+
+amigaos*)
+  library_names_spec='$libname.ixlibrary $libname.a'
+  # Create ${libname}_ixlibrary.a entries in /sys/libs.
+  finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "(cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a)"; (cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a) || exit 1; done'
+  ;;
+
+beos*)
+  library_names_spec='${libname}.so'
+  dynamic_linker="$host_os ld.so"
+  shlibpath_var=LIBRARY_PATH
+  lt_cv_dlopen="load_add_on"
+  lt_cv_dlopen_libs=
+  lt_cv_dlopen_self=yes
+  ;;
+
+bsdi4*)
+  version_type=linux
+  need_version=no
+  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
+  soname_spec='${libname}${release}.so$major'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
+  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
+  export_dynamic_flag_spec=-rdynamic
+  # the default ld.so.conf also contains /usr/contrib/lib and
+  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
+  # libtool to hard-code these into programs
+  ;;
+
+cygwin* | mingw* | pw32*)
+  version_type=windows
+  need_version=no
+  need_lib_prefix=no
+  if test "$with_gcc" = yes; then
+    library_names_spec='${libname}`echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll'
+  else
+    library_names_spec='${libname}`echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll $libname.lib'
+  fi
+  dynamic_linker='Win32 ld.exe'
+  # FIXME: first we should search . and the directory the executable is in
+  shlibpath_var=PATH
+  lt_cv_dlopen="LoadLibrary"
+  lt_cv_dlopen_libs=
+  ;;
+
+darwin* | rhapsody*)
+  library_names_spec='${libname}.`if test "$module" = "yes"; then echo so; else echo dylib; fi`'
+  need_lib_prefix=no
+  need_version=no
+  postinstall_cmds='chmod +x $lib'
+  shlibpath_overrides_runpath=yes
+  shlibpath_var=DYLD_LIBRARY_PATH
+  ;;
+
+freebsd1*)
+  dynamic_linker=no
+  ;;
+
+freebsd*)
+  objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout`
+  version_type=freebsd-$objformat
+  case "$version_type" in
+    freebsd-elf*)
+      library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so'
+      need_version=no
+      need_lib_prefix=no
+      ;;
+    freebsd-*)
+      library_names_spec='${libname}${release}.so$versuffix $libname.so$versuffix'
+      need_version=yes
+      ;;
+  esac
+  shlibpath_var=LD_LIBRARY_PATH
+  case "$host_os" in
+  freebsd2*)
+    shlibpath_overrides_runpath=yes
+    ;;
+  freebsd3.[01]* | freebsdelf3.[01]*)
+    shlibpath_overrides_runpath=yes
+    hardcode_into_libs=yes
+    ;;
+  *) # from 3.2 on
+    shlibpath_overrides_runpath=no
+    hardcode_into_libs=yes
+    ;;
+  esac
+  ;;
+
+gnu*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so${major} ${libname}.so'
+  soname_spec='${libname}${release}.so$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  hardcode_into_libs=yes
+  ;;
+
+hpux9* | hpux10* | hpux11*)
+  # Give a soname corresponding to the major version so that dld.sl refuses to
+  # link against other versions.
+  dynamic_linker="$host_os dld.sl"
+  version_type=sunos
+  need_lib_prefix=no
+  need_version=no
+  shlibpath_var=SHLIB_PATH
+  shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
+  library_names_spec='${libname}${release}.sl$versuffix ${libname}${release}.sl$major $libname.sl'
+  soname_spec='${libname}${release}.sl$major'
+  # HP-UX runs *really* slowly unless shared libraries are mode 555.
+  postinstall_cmds='chmod 555 $lib'
+  ;;
+
+irix5* | irix6*)
+  version_type=irix
+  need_lib_prefix=no
+  need_version=no
+  soname_spec='${libname}${release}.so$major'
+  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major ${libname}${release}.so $libname.so'
+  case "$host_os" in
+  irix5*)
+    libsuff= shlibsuff=
+    ;;
+  *)
+    case "$LD" in # libtool.m4 will add one of these switches to LD
+    *-32|*"-32 ") libsuff= shlibsuff= libmagic=32-bit;;
+    *-n32|*"-n32 ") libsuff=32 shlibsuff=N32 libmagic=N32;;
+    *-64|*"-64 ") libsuff=64 shlibsuff=64 libmagic=64-bit;;
+    *) libsuff= shlibsuff= libmagic=never-match;;
+    esac
+    ;;
+  esac
+  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+  shlibpath_overrides_runpath=no
+  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
+  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+  ;;
+
+# No shared lib support for Linux oldld, aout, or coff.
+linux-gnuoldld* | linux-gnuaout* | linux-gnucoff*)
+  dynamic_linker=no
+  ;;
+
+# This must be Linux ELF.
+linux-gnu*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
+  soname_spec='${libname}${release}.so$major'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  # This implies no fast_install, which is unacceptable.
+  # Some rework will be needed to allow for fast_install
+  # before this can be enabled.
+  hardcode_into_libs=yes
+
+  # We used to test for /lib/ld.so.1 and disable shared libraries on
+  # powerpc, because MkLinux only supported shared libraries with the
+  # GNU dynamic linker.  Since this was broken with cross compilers,
+  # most powerpc-linux boxes support dynamic linking these days and
+  # people can always --disable-shared, the test was removed, and we
+  # assume the GNU/Linux dynamic linker is in use.
+  dynamic_linker='GNU/Linux ld.so'
+  ;;
+
+netbsd*)
+  version_type=sunos
+  if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+    library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix'
+    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+    dynamic_linker='NetBSD (a.out) ld.so'
+    need_version=yes
+  else
+    library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major ${libname}${release}.so ${libname}.so'
+    soname_spec='${libname}${release}.so$major'
+    dynamic_linker='NetBSD ld.elf_so'
+  fi
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  ;;
+
+newsos6)
+  version_type=linux
+  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  ;;
+
+openbsd*)
+  version_type=sunos
+  if test "$with_gnu_ld" = yes; then
+    need_lib_prefix=no
+    need_version=no
+  fi
+  library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  # OpenBSD 2.7 the overriding is needed for fast-install
+  shlibpath_overrides_runpath=yes
+  ;;
+
+os2*)
+  libname_spec='$name'
+  need_lib_prefix=no
+  library_names_spec='$libname.dll $libname.a'
+  dynamic_linker='OS/2 ld.exe'
+  shlibpath_var=LIBPATH
+  ;;
+
+osf3* | osf4* | osf5*)
+  version_type=osf
+  need_version=no
+  soname_spec='${libname}${release}.so'
+  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so'
+  shlibpath_var=LD_LIBRARY_PATH
+  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
+  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+  ;;
+
+sco3.2v5*)
+  version_type=osf
+  soname_spec='${libname}${release}.so$major'
+  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
+  shlibpath_var=LD_LIBRARY_PATH
+  ;;
+
+solaris*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
+  soname_spec='${libname}${release}.so$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  # ldd complains unless libraries are executable
+  postinstall_cmds='chmod +x $lib'
+  ;;
+
+sunos4*)
+  version_type=sunos
+  library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix'
+  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  if test "$with_gnu_ld" = yes; then
+    need_lib_prefix=no
+  fi
+  need_version=yes
+  ;;
+
+sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+  version_type=linux
+  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
+  soname_spec='${libname}${release}.so$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  case "$host_vendor" in
+    motorola)
+      need_lib_prefix=no
+      need_version=no
+      shlibpath_overrides_runpath=no
+      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+      ;;
+  esac
+  ;;
+
+uts4*)
+  version_type=linux
+  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
+  soname_spec='${libname}${release}.so$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  ;;
+
+dgux*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
+  soname_spec='${libname}${release}.so$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  ;;
+
+sysv4*MP*)
+  if test -d /usr/nec ;then
+    version_type=linux
+    library_names_spec='$libname.so.$versuffix $libname.so.$major $libname.so'
+    soname_spec='$libname.so.$major'
+    shlibpath_var=LD_LIBRARY_PATH
+  fi
+  ;;
+
+*)
+  dynamic_linker=no
+  ;;
+esac
+echo "$ac_t$dynamic_linker" 1>&6
+test "$dynamic_linker" = no && can_build_shared=no
+
+# Check for command to grab the raw symbol name followed by C symbol from nm.
+echo $ac_n "checking command to parse $NM output... $ac_c" 1>&6
+
+# These are sane defaults that work on at least a few old systems.
+# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
+
+# Character class describing NM global symbol codes.
+symcode='[BCDEGRST]'
+
+# Regexp to match symbols that can be accessed directly from C.
+sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
+
+# Transform the above into a raw symbol and a C symbol.
+symxfrm='\1 \2\3 \3'
+
+# Transform an extracted symbol line into a proper C declaration
+global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern char \1;/p'"
+
+# Define system-specific variables.
+case "$host_os" in
+aix*)
+  symcode='[BCDT]'
+  ;;
+cygwin* | mingw* | pw32*)
+  symcode='[ABCDGISTW]'
+  ;;
+hpux*) # Its linker distinguishes data from code symbols
+  global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern char \1();/p' -e 's/^. .* \(.*\)$/extern char \1;/p'"
+  ;;
+irix*)
+  symcode='[BCDEGRST]'
+  ;;
+solaris* | sysv5*)
+  symcode='[BDT]'
+  ;;
+sysv4)
+  symcode='[DFNSTU]'
+  ;;
+esac
+
+# Handle CRLF in mingw too chain
+opt_cr=
+case "$host_os" in
+mingw*)
+  opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp
+  ;;
+esac
+
+# If we're using GNU nm, then use its standard symbol codes.
+if $NM -V 2>&1 | egrep '(GNU|with BFD)' > /dev/null; then
+  symcode='[ABCDGISTW]'
+fi
+
+# Try without a prefix undercore, then with it.
+for ac_symprfx in "" "_"; do
+
+  # Write the raw and C identifiers.
+global_symbol_pipe="sed -n -e 's/^.*[ 	]\($symcode\)[ 	][ 	]*\($ac_symprfx\)$sympat$opt_cr$/$symxfrm/p'"
+
+  # Check to see that the pipe works correctly.
+  pipe_works=no
+  $rm conftest*
+  cat > conftest.$ac_ext <<EOF
+#ifdef __cplusplus
+extern "C" {
+#endif
+char nm_test_var;
+void nm_test_func(){}
+#ifdef __cplusplus
+}
+#endif
+int main(){nm_test_var='a';nm_test_func();return(0);}
+EOF
+
+  echo "$progname:1326: checking if global_symbol_pipe works" >&5
+  if { (eval echo $progname:1327: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; } && test -s conftest.$objext; then
+    # Now try to grab the symbols.
+    nlist=conftest.nm
+    if { echo "$progname:1330: eval \"$NM conftest.$objext | $global_symbol_pipe > $nlist\"" >&5; eval "$NM conftest.$objext | $global_symbol_pipe > $nlist 2>&5"; } && test -s "$nlist"; then
+
+      # Try sorting and uniquifying the output.
+      if sort "$nlist" | uniq > "$nlist"T; then
+	mv -f "$nlist"T "$nlist"
+      else
+	rm -f "$nlist"T
+      fi
+
+      # Make sure that we snagged all the symbols we need.
+      if egrep ' nm_test_var$' "$nlist" >/dev/null; then
+	if egrep ' nm_test_func$' "$nlist" >/dev/null; then
+	  cat <<EOF > conftest.$ac_ext
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+EOF
+	  # Now generate the symbol file.
+	  eval "$global_symbol_to_cdecl"' < "$nlist" >> conftest.$ac_ext'
+
+	  cat <<EOF >> conftest.$ac_ext
+#if defined (__STDC__) && __STDC__
+# define lt_ptr_t void *
+#else
+# define lt_ptr_t char *
+# define const
+#endif
+
+/* The mapping between symbol names and symbols. */
+const struct {
+  const char *name;
+  lt_ptr_t address;
+}
+lt_preloaded_symbols[] =
+{
+EOF
+	  sed 's/^. \(.*\) \(.*\)$/  {"\2", (lt_ptr_t) \&\2},/' < "$nlist" >> conftest.$ac_ext
+	  cat <<\EOF >> conftest.$ac_ext
+  {0, (lt_ptr_t) 0}
+};
+
+#ifdef __cplusplus
+}
+#endif
+EOF
+	  # Now try linking the two files.
+	  mv conftest.$objext conftstm.$objext
+	  save_LIBS="$LIBS"
+	  save_CFLAGS="$CFLAGS"
+	  LIBS="conftstm.$objext"
+	  CFLAGS="$CFLAGS$no_builtin_flag"
+	  if { (eval echo $progname:1404: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+	    pipe_works=yes
+	  else
+	    echo "$progname: failed program was:" >&5
+	    cat conftest.$ac_ext >&5
+	  fi
+	  LIBS="$save_LIBS"
+	else
+	  echo "cannot find nm_test_func in $nlist" >&5
+	fi
+      else
+	echo "cannot find nm_test_var in $nlist" >&5
+      fi
+    else
+      echo "cannot run $global_symbol_pipe" >&5
+    fi
+  else
+    echo "$progname: failed program was:" >&5
+    cat conftest.$ac_ext >&5
+  fi
+  $rm conftest* conftst*
+
+  # Do not use the global_symbol_pipe unless it works.
+  if test "$pipe_works" = yes; then
+    break
+  else
+    global_symbol_pipe=
+  fi
+done
+if test "$pipe_works" = yes; then
+  echo "${ac_t}ok" 1>&6
+else
+  echo "${ac_t}failed" 1>&6
+fi
+
+if test -z "$global_symbol_pipe"; then
+  global_symbol_to_cdecl=
+fi
+
+# Report the final consequences.
+echo "checking if libtool supports shared libraries... $can_build_shared" 1>&6
+
+# Only try to build win32 dlls if AC_LIBTOOL_WIN32_DLL was used in
+# configure.in, otherwise build static only libraries.
+case "$host_os" in
+cygwin* | mingw* | pw32* | os2*)
+  if test x$can_build_shared = xyes; then
+    test x$enable_win32_dll = xno && can_build_shared=no
+    echo "checking if package supports dlls... $can_build_shared" 1>&6
+  fi
+;;
+esac
+
+echo $ac_n "checking whether to build shared libraries... $ac_c" 1>&6
+test "$can_build_shared" = "no" && enable_shared=no
+
+# On AIX, shared libraries and static libraries use the same namespace, and
+# are all built from PIC.
+case "$host_os" in
+aix3*)
+  test "$enable_shared" = yes && enable_static=no
+  if test -n "$RANLIB"; then
+    archive_cmds="$archive_cmds~\$RANLIB \$lib"
+    postinstall_cmds='$RANLIB $lib'
+  fi
+  ;;
+
+aix4*)
+  test "$enable_shared" = yes && enable_static=no
+  ;;
+esac
+
+echo "$ac_t$enable_shared" 1>&6
+
+# Make sure either enable_shared or enable_static is yes.
+test "$enable_shared" = yes || enable_static=yes
+
+echo "checking whether to build static libraries... $enable_static" 1>&6
+
+if test "$hardcode_action" = relink || test "$hardcode_into_libs" = all; then
+  # Fast installation is not supported
+  enable_fast_install=no
+elif test "$shlibpath_overrides_runpath" = yes ||
+     test "$enable_shared" = no; then
+  # Fast installation is not necessary
+  enable_fast_install=needless
+fi
+
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test "$with_gcc" = yes; then
+  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
+
+# Check whether we must set pic_mode to default
+test -z "$pic_flag" && pic_mode=default
+
+if test "x$enable_dlopen" != xyes; then
+  enable_dlopen=unknown
+  enable_dlopen_self=unknown
+  enable_dlopen_self_static=unknown
+else
+if test "X${lt_cv_dlopen+set}" != Xset; then
+  lt_cv_dlopen=no lt_cv_dlopen_libs=
+echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6
+echo "$progname:1508: checking for dlopen in -ldl" >&5
+if test "X${ac_cv_lib_dl_dlopen+set}" = Xset; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  ac_save_LIBS="$LIBS"
+LIBS="-ldl  $LIBS"
+cat > conftest.$ac_ext <<EOF
+/*#line 1515 "ltconfig"*/
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen();
+
+int main() {
+dlopen()
+; return 0; }
+EOF
+if { (eval echo $progname:1528: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  rm -rf conftest*
+  ac_cv_lib_dl_dlopen=yes
+else
+  echo "$progname: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  ac_cv_lib_dl_dlopen=no
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if test "X$ac_cv_lib_dl_dlopen" = Xyes; then
+  echo "$ac_t""yes" 1>&6
+  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
+else
+  echo "$ac_t""no" 1>&6
+echo $ac_n "checking for dlopen""... $ac_c" 1>&6
+echo "$progname:1547: checking for dlopen" >&5
+if test "X${ac_cv_func_dlopen+set}" = Xset; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftest.$ac_ext <<EOF
+/*#line 1552 "ltconfig"*/
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char dlopen(); below.  */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen();
+
+int main() {
+
+/* 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_dlopen) || defined (__stub___dlopen)
+choke me
+#else
+dlopen();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo $progname:1577: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  rm -rf conftest*
+  ac_cv_func_dlopen=yes
+else
+  echo "$progname: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  ac_cv_func_dlopen=no
+fi
+rm -f conftest*
+fi
+if test "X$ac_cv_func_dlopen" = Xyes; then
+  echo "$ac_t""yes" 1>&6
+  lt_cv_dlopen="dlopen"
+else
+  echo "$ac_t""no" 1>&6
+echo $ac_n "checking for dlopen in -lsvld""... $ac_c" 1>&6
+echo "$progname:1594: checking for dlopen in -lsvld" >&5
+if test "X${ac_cv_lib_svld_dlopen+set}" = Xset; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  ac_save_LIBS="$LIBS"
+LIBS="-lsvld  $LIBS"
+cat > conftest.$ac_ext <<EOF
+/* #line 1601 "ltconfig" */
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen();
+
+int main() {
+dlopen()
+; return 0; }
+EOF
+if { (eval echo $progname:1614: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  rm -rf conftest*
+  ac_cv_lib_svld_dlopen=yes
+else
+  echo "$progname: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  ac_cv_lib_svld_dlopen=no
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if test "X$ac_cv_lib_svld_dlopen" = Xyes; then
+  echo "$ac_t""yes" 1>&6
+  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
+else
+  echo "$ac_t""no" 1>&6
+echo $ac_n "checking for dld_link in -ldld""... $ac_c" 1>&6
+echo "$progname:1633: checking for dld_link in -ldld" >&5
+if test "X${ac_cv_lib_dld_dld_link+set}" = Xset; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  ac_save_LIBS="$LIBS"
+LIBS="-ldld  $LIBS"
+cat > conftest.$ac_ext <<EOF
+/* #line 1640 "ltconfig" */
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dld_link();
+
+int main() {
+dld_link()
+; return 0; }
+EOF
+if { (eval echo $progname:1653: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  rm -rf conftest*
+  ac_cv_lib_dld_dld_link=yes
+else
+  echo "$progname: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  ac_cv_lib_dld_dld_link=no
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if test "X$ac_cv_lib_dld_dld_link" = Xyes; then
+  echo "$ac_t""yes" 1>&6
+  lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
+else
+  echo "$ac_t""no" 1>&6
+echo $ac_n "checking for shl_load""... $ac_c" 1>&6
+echo "$progname:1672: checking for shl_load" >&5
+if test "X${ac_cv_func_shl_load+set}" = Xset; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftest.$ac_ext <<EOF
+/*#line 1677 "ltconfig"*/
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char shl_load(); below.  */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char shl_load();
+
+int main() {
+
+/* 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_shl_load) || defined (__stub___shl_load)
+choke me
+#else
+shl_load();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo $progname:1702: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  rm -rf conftest*
+  ac_cv_func_shl_load=yes
+else
+  echo "$progname: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  ac_cv_func_shl_load=no
+fi
+rm -f conftest*
+fi
+
+if test "X$ac_cv_func_shl_load" = Xyes; then
+  echo "$ac_t""yes" 1>&6
+  lt_cv_dlopen="shl_load"
+else
+  echo "$ac_t""no" 1>&6
+echo $ac_n "checking for shl_load in -ldld""... $ac_c" 1>&6
+echo "$progname:1720: checking for shl_load in -ldld" >&5
+if test "X${ac_cv_lib_dld_shl_load+set}" = Xset; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  ac_save_LIBS="$LIBS"
+LIBS="-ldld  $LIBS"
+cat > conftest.$ac_ext <<EOF
+/*#line 1727 "ltconfig"*/
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char shl_load();
+
+int main() {
+shl_load()
+; return 0; }
+EOF
+if { (eval echo $progname:1741: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  rm -rf conftest*
+  ac_cv_lib_dld_shl_load=yes
+else
+  echo "$progname: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  ac_cv_lib_dld_shl_load=no
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if test "X$ac_cv_lib_dld_shl_load" = Xyes; then
+  echo "$ac_t""yes" 1>&6
+  lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+
+fi
+
+
+fi
+
+
+fi
+
+
+fi
+
+fi
+
+fi
+
+  if test "x$lt_cv_dlopen" != xno; then
+    enable_dlopen=yes
+  else
+    enable_dlopen=no
+  fi
+
+  case "$lt_cv_dlopen" in
+  dlopen)
+for ac_hdr in dlfcn.h; do
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "$progname:1788: checking for $ac_hdr" >&5
+if eval "test \"`echo 'X$''{'ac_cv_header_$ac_safe'+set}'`\" = Xset"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftest.$ac_ext <<EOF
+/*#line 1793 "ltconfig"*/
+#include <$ac_hdr>
+int fnord = 0;
+int main () { return(0); }
+EOF
+ac_try="$ac_compile >/dev/null 2>conftest.out"
+{ (eval echo $progname:1799: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+  rm -rf conftest*
+  eval "ac_cv_header_$ac_safe=yes"
+else
+  echo "$ac_err" >&5
+  echo "$progname: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+done
+
+    if test "x$ac_cv_header_dlfcn_h" = xyes; then
+      CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
+    fi
+    eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
+    LIBS="$lt_cv_dlopen_libs $LIBS"
+
+  echo $ac_n "checking whether a program can dlopen itself""... $ac_c" 1>&6
+echo "$progname:1827: checking whether a program can dlopen itself" >&5
+if test "X${lt_cv_dlopen_self+set}" = Xset; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  if test "$cross_compiling" = yes; then
+    lt_cv_dlopen_self=cross
+  else
+    cat > conftest.$ac_ext <<EOF
+/*#line 1835 "ltconfig"*/
+
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
+
+#include <stdio.h>
+
+#ifdef RTLD_GLOBAL
+# define LTDL_GLOBAL	RTLD_GLOBAL
+#else
+# ifdef DL_GLOBAL
+#  define LTDL_GLOBAL	DL_GLOBAL
+# else
+#  define LTDL_GLOBAL	0
+# endif
+#endif
+
+/* We may have to define LTDL_LAZY_OR_NOW in the command line if we
+   find out it does not work in some platform. */
+#ifndef LTDL_LAZY_OR_NOW
+# ifdef RTLD_LAZY
+#  define LTDL_LAZY_OR_NOW	RTLD_LAZY
+# else
+#  ifdef DL_LAZY
+#   define LTDL_LAZY_OR_NOW	DL_LAZY
+#  else
+#   ifdef RTLD_NOW
+#    define LTDL_LAZY_OR_NOW	RTLD_NOW
+#   else
+#    ifdef DL_NOW
+#     define LTDL_LAZY_OR_NOW	DL_NOW
+#    else
+#     define LTDL_LAZY_OR_NOW	0
+#    endif
+#   endif
+#  endif
+# endif
+#endif
+
+void fnord() { int i=42;}
+int main() { void *self, *ptr1, *ptr2; self=dlopen(0,LTDL_GLOBAL|LTDL_LAZY_OR_NOW);
+    if(self) { ptr1=dlsym(self,"fnord"); ptr2=dlsym(self,"_fnord");
+               if(ptr1 || ptr2) { dlclose(self); exit(0); } } exit(1); return 1; }
+
+EOF
+if { (eval echo $progname:1881: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
+then
+  lt_cv_dlopen_self=yes
+else
+  echo "$progname: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -fr conftest*
+  lt_cv_dlopen_self=no
+fi
+rm -fr conftest*
+fi
+
+fi
+
+echo "$ac_t""$lt_cv_dlopen_self" 1>&6
+
+  if test "$lt_cv_dlopen_self" = yes; then
+    LDFLAGS="$LDFLAGS $link_static_flag"
+  echo $ac_n "checking whether a statically linked program can dlopen itself""... $ac_c" 1>&6
+echo "$progname:1900: checking whether a statically linked program can dlopen itself" >&5
+if test "X${lt_cv_dlopen_self_static+set}" = Xset; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  if test "$cross_compiling" = yes; then
+    lt_cv_dlopen_self_static=cross
+  else
+    cat > conftest.$ac_ext <<EOF
+/* #line 1908 "ltconfig" */
+
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
+
+#include <stdio.h>
+
+#ifdef RTLD_GLOBAL
+# define LTDL_GLOBAL	RTLD_GLOBAL
+#else
+# ifdef DL_GLOBAL
+#  define LTDL_GLOBAL	DL_GLOBAL
+# else
+#  define LTDL_GLOBAL	0
+# endif
+#endif
+
+/* We may have to define LTDL_LAZY_OR_NOW in the command line if we
+   find out it does not work in some platform. */
+#ifndef LTDL_LAZY_OR_NOW
+# ifdef RTLD_LAZY
+#  define LTDL_LAZY_OR_NOW	RTLD_LAZY
+# else
+#  ifdef DL_LAZY
+#   define LTDL_LAZY_OR_NOW	DL_LAZY
+#  else
+#   ifdef RTLD_NOW
+#    define LTDL_LAZY_OR_NOW	RTLD_NOW
+#   else
+#    ifdef DL_NOW
+#     define LTDL_LAZY_OR_NOW	DL_NOW
+#    else
+#     define LTDL_LAZY_OR_NOW	0
+#    endif
+#   endif
+#  endif
+# endif
+#endif
+
+void fnord() { int i=42;}
+int main() { void *self, *ptr1, *ptr2; self=dlopen(0,LTDL_GLOBAL|LTDL_LAZY_OR_NOW);
+    if(self) { ptr1=dlsym(self,"fnord"); ptr2=dlsym(self,"_fnord");
+    if(ptr1 || ptr2) { dlclose(self); exit(0); } } exit(1); return 1; }
+
+EOF
+if { (eval echo $progname:1954: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
+then
+  lt_cv_dlopen_self_static=yes
+else
+  echo "$progname: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -fr conftest*
+  lt_cv_dlopen_self_static=no
+fi
+rm -fr conftest*
+fi
+
+fi
+
+echo "$ac_t""$lt_cv_dlopen_self_static" 1>&6
+fi
+    ;;
+  esac
+
+  case "$lt_cv_dlopen_self" in
+  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
+  *) enable_dlopen_self=unknown ;;
+  esac
+
+  case "$lt_cv_dlopen_self_static" in
+  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
+  *) enable_dlopen_self_static=unknown ;;
+  esac
+fi
+
+# Copy echo and quote the copy, instead of the original, because it is
+# used later.
+ltecho="$echo"
+if test "X$ltecho" = "X$CONFIG_SHELL $0 --fallback-echo"; then
+   ltecho="$CONFIG_SHELL \$0 --fallback-echo"
+fi
+LTSHELL="$SHELL"
+
+LTCONFIG_VERSION="$VERSION"
+
+# Only quote variables if we're using ltmain.sh.
+case "$ltmain" in
+*.sh)
+  # Now quote all the things that may contain metacharacters.
+  for var in ltecho old_AR old_AR_FLAGS old_CC old_LTCC old_CFLAGS old_CPPFLAGS \
+    old_MAGIC_CMD old_LD old_LDFLAGS old_LIBS \
+    old_LN_S old_NM old_RANLIB old_STRIP \
+    old_AS old_DLLTOOL old_OBJDUMP \
+    old_OBJEXT old_EXEEXT old_reload_flag \
+    old_deplibs_check_method old_file_magic_cmd \
+    AR AR_FLAGS CC LTCC LD LN_S NM LTSHELL LTCONFIG_VERSION \
+    reload_flag reload_cmds wl \
+    pic_flag link_static_flag no_builtin_flag export_dynamic_flag_spec \
+    thread_safe_flag_spec whole_archive_flag_spec libname_spec \
+    library_names_spec soname_spec \
+    RANLIB old_archive_cmds old_archive_from_new_cmds old_postinstall_cmds \
+    old_postuninstall_cmds archive_cmds archive_expsym_cmds postinstall_cmds \
+    postuninstall_cmds extract_expsyms_cmds old_archive_from_expsyms_cmds \
+    predep_objects postdep_objects predeps postdeps compiler_lib_search_path \
+    old_striplib striplib file_magic_cmd export_symbols_cmds \
+    deplibs_check_method allow_undefined_flag no_undefined_flag \
+    finish_cmds finish_eval global_symbol_pipe global_symbol_to_cdecl \
+    hardcode_libdir_flag_spec hardcode_libdir_separator  \
+    sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
+    compiler_c_o need_locks exclude_expsyms include_expsyms; do
+
+    case "$var" in
+    reload_cmds | old_archive_cmds | old_archive_from_new_cmds | \
+    old_postinstall_cmds | old_postuninstall_cmds | \
+    export_symbols_cmds | archive_cmds | archive_expsym_cmds | \
+    extract_expsyms_cmds | old_archive_from_expsyms_cmds | \
+    postinstall_cmds | postuninstall_cmds | \
+    finish_cmds | sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
+      # Double-quote double-evaled strings.
+      eval "$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" ### testsuite: skip nested quoting test
+      ;;
+    *)
+      eval "$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" ### testsuite: skip nested quoting test
+      ;;
+    esac
+  done
+
+  case "$ltecho" in
+  *'\$0 --fallback-echo"')
+    ltecho=`$echo "X$ltecho" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
+    ;;
+  esac
+
+  if test -z "$tagname"; then
+    trap "$rm \"$ofile\"; exit 1" 1 2 15
+    echo "creating $ofile"
+    $rm "$ofile"
+    cat <<EOF > "$ofile"
+#! $SHELL
+
+# `$echo "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
+# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
+# NOTE: Changes made to this file will be lost: look at ltconfig or ltmain.sh.
+#
+# Copyright (C) 1996-2000 Free Software Foundation, Inc.
+# Originally by Gordon Matzigkeit <gord at gnu.ai.mit.edu>, 1996
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# Sed that helps us avoid accidentally triggering echo(1) options like -n.
+Xsed="sed -e s/^X//"
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+if test "X\${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi
+
+# The names of the tagged configurations supported by this script.
+available_tags=
+
+### BEGIN LIBTOOL CONFIG
+EOF
+  else
+    echo "appending configuration tag \"$tagname\" to $ofile"
+    echo "### BEGIN LIBTOOL TAG CONFIG: $tagname" >> "$ofile"
+  fi
+  cfgfile="$ofile"
+  ;;
+
+*)
+  # Double-quote the variables that need it (for aesthetics).
+  for var in old_AR old_AR_FLAGS old_CC old_LTCC old_CFLAGS old_CPPFLAGS \
+    old_MAGIC_CMD old_LD old_LDFLAGS old_LIBS \
+    old_LN_S old_NM old_RANLIB old_STRIP \
+    old_AS old_DLLTOOL old_OBJDUMP \
+    old_OBJEXT old_EXEEXT old_reload_flag \
+    old_deplibs_check_method old_file_magic_cmd; do
+    eval "$var=\\\"\$var\\\""
+  done
+
+  # Just create a config file.
+  cfgfile="$ofile.cfg"
+  if test -z "$tagname"; then
+    trap "$rm \"$cfgfile\"; exit 1" 1 2 15
+    echo "creating $cfgfile"
+    $rm "$cfgfile"
+    cat <<EOF > "$cfgfile"
+# `$echo "$cfgfile" | sed 's%^.*/%%'` - Libtool configuration file.
+# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
+
+### BEGIN LIBTOOL CONFIG
+EOF
+  else
+    echo "appending to $cfgfile"
+    echo "### BEGIN LIBTOOL TAG CONFIG: $tagname" >> "$ofile"
+  fi
+  ;;
+esac
+
+cat <<EOF >> "$cfgfile"
+# Libtool was configured as follows, on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+#
+# AR=$old_AR AR_FLAGS=$old_AR_FLAGS LTCC=$old_LTCC CC=$old_CC \\
+# CFLAGS=$old_CFLAGS CPPFLAGS=$old_CPPFLAGS \\
+# MAGIC_CMD=$old_MAGIC_CMD LD=$old_LD LDFLAGS=$old_LDFLAGS LIBS=$old_LIBS \\
+# LN_S=$old_LN_S NM=$old_NM RANLIB=$old_RANLIB STRIP=$old_STRIP \\
+# AS=$old_AS DLLTOOL=$old_DLLTOOL OBJDUMP=$old_OBJDUMP \\
+# objext=$old_OBJEXT exeext=$old_EXEEXT reload_flag=$old_reload_flag \\
+# deplibs_check_method=$old_deplibs_check_method \\
+# file_magic_cmd=$old_file_magic_cmd \\
+#   $0$ltconfig_args
+#
+# Compiler and other test output produced by $progname, useful for
+# debugging $progname, is in ./config.log if it exists.
+
+# The version of $progname that generated this script.
+LTCONFIG_VERSION=$LTCONFIG_VERSION
+
+# Shell to use when invoking shell scripts.
+SHELL=$LTSHELL
+
+# Whether or not to build shared libraries.
+build_libtool_libs=$enable_shared
+
+# Whether or not to add -lc for building shared libraries.
+build_libtool_need_lc=$need_lc
+
+# Whether or not to build static libraries.
+build_old_libs=$enable_static
+
+# Whether or not to optimize for fast installation.
+fast_install=$enable_fast_install
+
+# The host system.
+host_alias=$host_alias
+host=$host
+
+# An echo program that does not interpret backslashes.
+echo=$ltecho
+
+# The archiver.
+AR=$AR
+AR_FLAGS=$AR_FLAGS
+
+# A C compiler.
+LTCC=$LTCC
+
+# A language-specific compiler.
+CC=$CC
+
+# Is the compiler the GNU C compiler?
+with_gcc=$with_gcc
+
+# The linker used to build libraries.
+LD=$LD
+
+# Whether we need hard or soft links.
+LN_S=$LN_S
+
+# A BSD-compatible nm program.
+NM=$NM
+
+# A symbol stripping program
+STRIP=$STRIP
+
+# Used to examine libraries when file_magic_cmd begins "file"
+MAGIC_CMD=$MAGIC_CMD
+
+# Used on cygwin: DLL creation program.
+DLLTOOL="$DLLTOOL"
+
+# Used on cygwin: object dumper.
+OBJDUMP="$OBJDUMP"
+
+# Used on cygwin: assembler.
+AS="$AS"
+
+# The name of the directory that contains temporary libtool files.
+objdir=$objdir
+
+# How to create reloadable object files.
+reload_flag=$reload_flag
+reload_cmds=$reload_cmds
+
+# How to pass a linker flag through the compiler.
+wl=$wl
+
+# Object file suffix (normally "o").
+objext="$objext"
+
+# Old archive suffix (normally "a").
+libext="$libext"
+
+# Executable file suffix (normally "").
+exeext="$exeext"
+
+# Additional compiler flags for building library objects.
+pic_flag=$pic_flag
+pic_mode=$pic_mode
+
+# Does compiler simultaneously support -c and -o options?
+compiler_c_o=$compiler_c_o
+
+# Must we lock files when doing compilation ?
+need_locks=$need_locks
+
+# Do we need the lib prefix for modules?
+need_lib_prefix=$need_lib_prefix
+
+# Do we need a version for libraries?
+need_version=$need_version
+
+# Whether dlopen is supported.
+dlopen_support=$enable_dlopen
+
+# Whether dlopen of programs is supported.
+dlopen_self=$enable_dlopen_self
+
+# Whether dlopen of statically linked programs is supported.
+dlopen_self_static=$enable_dlopen_self_static
+
+# Compiler flag to prevent dynamic linking.
+link_static_flag=$link_static_flag
+
+# Compiler flag to turn off builtin functions.
+no_builtin_flag=$no_builtin_flag
+
+# Compiler flag to allow reflexive dlopens.
+export_dynamic_flag_spec=$export_dynamic_flag_spec
+
+# Compiler flag to generate shared objects directly from archives.
+whole_archive_flag_spec=$whole_archive_flag_spec
+
+# Compiler flag to generate thread-safe objects.
+thread_safe_flag_spec=$thread_safe_flag_spec
+
+# Library versioning type.
+version_type=$version_type
+
+# Format of library name prefix.
+libname_spec=$libname_spec
+
+# List of archive names.  First name is the real one, the rest are links.
+# The last name is the one that the linker finds with -lNAME.
+library_names_spec=$library_names_spec
+
+# The coded name of the library, if different from the real name.
+soname_spec=$soname_spec
+
+# Commands used to build and install an old-style archive.
+RANLIB=$RANLIB
+old_archive_cmds=$old_archive_cmds
+old_postinstall_cmds=$old_postinstall_cmds
+old_postuninstall_cmds=$old_postuninstall_cmds
+
+# Create an old-style archive from a shared archive.
+old_archive_from_new_cmds=$old_archive_from_new_cmds
+
+# Create a temporary old-style archive to link instead of a shared archive.
+old_archive_from_expsyms_cmds=$old_archive_from_expsyms_cmds
+
+# Commands used to build and install a shared archive.
+archive_cmds=$archive_cmds
+archive_expsym_cmds=$archive_expsym_cmds
+postinstall_cmds=$postinstall_cmds
+postuninstall_cmds=$postuninstall_cmds
+
+# Commands to strip libraries.
+old_striplib=$old_striplib
+striplib=$striplib
+
+# Dependencies to place before the objects being linked to create a
+# shared library.
+predep_objects=$predep_objects
+
+# Dependencies to place after the objects being linked to create a
+# shared library.
+postdep_objects=$postdep_objects
+
+# Dependencies to place before the objects being linked to create a
+# shared library.
+predeps=$predeps
+
+# Dependencies to place after the objects being linked to create a
+# shared library.
+postdeps=$postdeps
+
+# The library search path used internally by the compiler when linking
+# a shared library.
+compiler_lib_search_path=$compiler_lib_search_path
+
+# Method to check whether dependent libraries are shared objects.
+deplibs_check_method=$deplibs_check_method
+
+# Command to use when deplibs_check_method == file_magic.
+file_magic_cmd=$file_magic_cmd
+
+# Flag that allows shared libraries with undefined symbols to be built.
+allow_undefined_flag=$allow_undefined_flag
+
+# Flag that forces no undefined symbols.
+no_undefined_flag=$no_undefined_flag
+
+# Commands used to finish a libtool library installation in a directory.
+finish_cmds=$finish_cmds
+
+# Same as above, but a single script fragment to be evaled but not shown.
+finish_eval=$finish_eval
+
+# Take the output of nm and produce a listing of raw symbols and C names.
+global_symbol_pipe=$global_symbol_pipe
+
+# Transform the output of nm in a proper C declaration
+global_symbol_to_cdecl=$global_symbol_to_cdecl
+
+# This is the shared library runtime path variable.
+runpath_var=$runpath_var
+
+# This is the shared library path variable.
+shlibpath_var=$shlibpath_var
+
+# Is shlibpath searched before the hard-coded library search path?
+shlibpath_overrides_runpath=$shlibpath_overrides_runpath
+
+# How to hardcode a shared library path into an executable.
+hardcode_action=$hardcode_action
+
+# Whether we should hardcode library paths into libraries.
+hardcode_into_libs=$hardcode_into_libs
+
+# Flag to hardcode \$libdir into a binary during linking.
+# This must work even if \$libdir does not exist.
+hardcode_libdir_flag_spec=$hardcode_libdir_flag_spec
+
+# Whether we need a single -rpath flag with a separated argument.
+hardcode_libdir_separator=$hardcode_libdir_separator
+
+# Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the
+# resulting binary.
+hardcode_direct=$hardcode_direct
+
+# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
+# resulting binary.
+hardcode_minus_L=$hardcode_minus_L
+
+# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
+# the resulting binary.
+hardcode_shlibpath_var=$hardcode_shlibpath_var
+
+# Variables whose values should be saved in libtool wrapper scripts and
+# restored at relink time.
+variables_saved_for_relink="$variables_saved_for_relink"
+
+# Whether libtool must link a program against all its dependency libraries.
+link_all_deplibs=$link_all_deplibs
+
+# Compile-time system search path for libraries
+sys_lib_search_path_spec=$sys_lib_search_path_spec
+
+# Run-time system search path for libraries
+sys_lib_dlsearch_path_spec=$sys_lib_dlsearch_path_spec
+
+# Fix the shell variable \$srcfile for the compiler.
+fix_srcfile_path="$fix_srcfile_path"
+
+# Set to yes if exported symbols are required.
+always_export_symbols=$always_export_symbols
+
+# The commands to list exported symbols.
+export_symbols_cmds=$export_symbols_cmds
+
+# The commands to extract the exported symbol list from a shared archive.
+extract_expsyms_cmds=$extract_expsyms_cmds
+
+# Symbols that should not be listed in the preloaded symbols.
+exclude_expsyms=$exclude_expsyms
+
+# Symbols that must always be exported.
+include_expsyms=$include_expsyms
+
+EOF
+
+if test -z "$tagname"; then
+  echo '### END LIBTOOL CONFIG' >> "$ofile"
+else
+  echo "### END LIBTOOL TAG CONFIG: $tagname" >> "$ofile"
+fi
+
+case "$ltmain" in
+*.sh)
+  echo >> "$ofile"
+  if test -z "$tagname"; then
+    case "$host_os" in
+    aix3*)
+      cat <<\EOF >> "$ofile"
+
+# AIX sometimes has problems with the GCC collect2 program.  For some
+# reason, if we set the COLLECT_NAMES environment variable, the problems
+# vanish in a puff of smoke.
+if test "X${COLLECT_NAMES+set}" != Xset; then
+  COLLECT_NAMES=
+  export COLLECT_NAMES
+fi
+EOF
+      ;;
+    esac
+    case "$host" in
+    *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
+      cat <<'EOF' >> "$ofile"
+      # This is a source program that is used to create dlls on Windows
+      # Don't remove nor modify the starting and closing comments
+# /* ltdll.c starts here */
+# #define WIN32_LEAN_AND_MEAN
+# #include <windows.h>
+# #undef WIN32_LEAN_AND_MEAN
+# #include <stdio.h>
+#
+# #ifndef __CYGWIN__
+# #  ifdef __CYGWIN32__
+# #    define __CYGWIN__ __CYGWIN32__
+# #  endif
+# #endif
+#
+# #ifdef __cplusplus
+# extern "C" {
+# #endif
+# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved);
+# #ifdef __cplusplus
+# }
+# #endif
+#
+# #ifdef __CYGWIN__
+# #include <cygwin/cygwin_dll.h>
+# DECLARE_CYGWIN_DLL( DllMain );
+# #endif
+# HINSTANCE __hDllInstance_base;
+#
+# BOOL APIENTRY
+# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved)
+# {
+#   __hDllInstance_base = hInst;
+#   return TRUE;
+# }
+# /* ltdll.c ends here */
+      # This is a source program that is used to create import libraries
+      # on Windows for dlls which lack them. Don't remove nor modify the
+      # starting and closing comments
+# /* impgen.c starts here */
+# /*   Copyright (C) 1999-2000 Free Software Foundation, Inc.
+#
+#  This file is part of GNU libtool.
+#
+#  This program is free software; you can redistribute it and/or modify
+#  it under the terms of the GNU General Public License as published by
+#  the Free Software Foundation; either version 2 of the License, or
+#  (at your option) any later version.
+#
+#  This program is distributed in the hope that it will be useful,
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#  GNU General Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License
+#  along with this program; if not, write to the Free Software
+#  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#  */
+#
+#  #include <stdio.h>		/* for printf() */
+#  #include <unistd.h>		/* for open(), lseek(), read() */
+#  #include <fcntl.h>		/* for O_RDONLY, O_BINARY */
+#  #include <string.h>		/* for strdup() */
+#
+#  /* O_BINARY isn't required (or even defined sometimes) under Unix */
+#  #ifndef O_BINARY
+#  #define O_BINARY 0
+#  #endif
+#
+#  static unsigned int
+#  pe_get16 (fd, offset)
+#       int fd;
+#       int offset;
+#  {
+#    unsigned char b[2];
+#    lseek (fd, offset, SEEK_SET);
+#    read (fd, b, 2);
+#    return b[0] + (b[1]<<8);
+#  }
+#
+#  static unsigned int
+#  pe_get32 (fd, offset)
+#      int fd;
+#      int offset;
+#  {
+#    unsigned char b[4];
+#    lseek (fd, offset, SEEK_SET);
+#    read (fd, b, 4);
+#    return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24);
+#  }
+#
+#  static unsigned int
+#  pe_as32 (ptr)
+#       void *ptr;
+#  {
+#    unsigned char *b = ptr;
+#    return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24);
+#  }
+#
+#  int
+#  main (argc, argv)
+#      int argc;
+#      char *argv[];
+#  {
+#      int dll;
+#      unsigned long pe_header_offset, opthdr_ofs, num_entries, i;
+#      unsigned long export_rva, export_size, nsections, secptr, expptr;
+#      unsigned long name_rvas, nexp;
+#      unsigned char *expdata, *erva;
+#      char *filename, *dll_name;
+#
+#      filename = argv[1];
+#
+#      dll = open(filename, O_RDONLY|O_BINARY);
+#      if (!dll)
+#  	return 1;
+#
+#      dll_name = filename;
+#
+#      for (i=0; filename[i]; i++)
+#  	if (filename[i] == '/' || filename[i] == '\\'  || filename[i] == ':')
+#  	    dll_name = filename + i +1;
+#
+#      pe_header_offset = pe_get32 (dll, 0x3c);
+#      opthdr_ofs = pe_header_offset + 4 + 20;
+#      num_entries = pe_get32 (dll, opthdr_ofs + 92);
+#
+#      if (num_entries < 1) /* no exports */
+#  	return 1;
+#
+#      export_rva = pe_get32 (dll, opthdr_ofs + 96);
+#      export_size = pe_get32 (dll, opthdr_ofs + 100);
+#      nsections = pe_get16 (dll, pe_header_offset + 4 +2);
+#      secptr = (pe_header_offset + 4 + 20 +
+#  	      pe_get16 (dll, pe_header_offset + 4 + 16));
+#
+#      expptr = 0;
+#      for (i = 0; i < nsections; i++)
+#      {
+#  	char sname[8];
+#  	unsigned long secptr1 = secptr + 40 * i;
+#  	unsigned long vaddr = pe_get32 (dll, secptr1 + 12);
+#  	unsigned long vsize = pe_get32 (dll, secptr1 + 16);
+#  	unsigned long fptr = pe_get32 (dll, secptr1 + 20);
+#  	lseek(dll, secptr1, SEEK_SET);
+#  	read(dll, sname, 8);
+#  	if (vaddr <= export_rva && vaddr+vsize > export_rva)
+#  	{
+#  	    expptr = fptr + (export_rva - vaddr);
+#  	    if (export_rva + export_size > vaddr + vsize)
+#  		export_size = vsize - (export_rva - vaddr);
+#  	    break;
+#  	}
+#      }
+#
+#      expdata = (unsigned char*)malloc(export_size);
+#      lseek (dll, expptr, SEEK_SET);
+#      read (dll, expdata, export_size);
+#      erva = expdata - export_rva;
+#
+#      nexp = pe_as32 (expdata+24);
+#      name_rvas = pe_as32 (expdata+32);
+#
+#      printf ("EXPORTS\n");
+#      for (i = 0; i<nexp; i++)
+#      {
+#  	unsigned long name_rva = pe_as32 (erva+name_rvas+i*4);
+#  	printf ("\t%s @ %ld ;\n", erva+name_rva, 1+ i);
+#      }
+#
+#      return 0;
+#  }
+# /* impgen.c ends here */
+
+EOF
+    ;;
+  esac
+
+
+    # Append the ltmain.sh script.
+    sed '$q' "$ltmain" >> "$ofile" || (rm -f "$ofile"; exit 1)
+    # We use sed instead of cat because bash on DJGPP gets confused if
+    # if finds mixed CR/LF and LF-only lines.  Since sed operates in
+    # text mode, it properly converts lines to CR/LF.  This bash problem
+    # is reportedly fixed, but why not run on old versions too?
+
+    chmod +x "$ofile"
+  fi
+  ;;
+
+*)
+  # Compile the libtool program.
+  echo "FIXME: would compile $ltmain"
+  ;;
+esac
+
+# Update the list of available tags.
+if test -n "$tagname"; then
+
+  # Extract list of available tagged configurations in $ofile.
+  # Note that this assumes the entire list is on one line.
+  available_tags=`grep "^available_tags=" $ofile | sed -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'`
+
+  # Append the new tag name to the list of available tags.
+  available_tags="$available_tags $tagname"
+
+  # Now substitute the updated of available tags.
+  if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' ${ofile} > ${ofile}.new"; then
+    mv ${ofile}.new ${ofile}
+    chmod +x "$ofile"
+  else
+    rm -f ${ofile}.new
+    echo "$progname: unable to update list of available tagged configurations."
+    exit 1
+  fi
+fi
+
+# Don't cache tagged configuration!
+test -n "$cache_file" && test -z "$tagname" || exit 0
+
+# AC_CACHE_SAVE
+trap '' 1 2 15
+cat > confcache <<\EOF
+# 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.  It is not useful on other systems.
+# If it contains results you don't want to keep, you may remove or edit it.
+#
+# By default, configure uses ./config.cache as the cache file,
+# creating it if it does not exist already.  You can give configure
+# the --cache-file=FILE option to use a different cache file; that is
+# what configure does when it calls configure scripts in
+# subdirectories, so they share the cache.
+# Giving --cache-file=/dev/null disables caching, for debugging configure.
+# config.status only pays attention to the cache file if you give it the
+# --recheck option to rerun configure.
+#
+EOF
+# 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 \
+      -e "s/'/'\\\\''/g" \
+      -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
+    ;;
+  *)
+    # `set' quotes correctly as required by POSIX, so do not add quotes.
+    sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
+    ;;
+  esac >> confcache
+if cmp -s $cache_file confcache; then
+  :
+else
+  if test -w $cache_file; then
+    echo "updating cache $cache_file"
+    cat confcache > $cache_file
+  else
+    echo "not updating unwritable cache $cache_file"
+  fi
+fi
+rm -f confcache
+
+exit 0
+
+# Local Variables:
+# mode:shell-script
+# sh-indentation:2
+# End:
diff --git a/admin/ltmain.sh b/admin/ltmain.sh
new file mode 100644
index 0000000..9020323
--- /dev/null
+++ b/admin/ltmain.sh
@@ -0,0 +1,5049 @@
+# ltmain.sh - Provide generalized library-building support services.
+# NOTE: Changing this file will not affect anything until you rerun ltconfig.
+#
+# Copyright (C) 1996-2000, 2001 Free Software Foundation, Inc.
+# Originally by Gordon Matzigkeit <gord at gnu.ai.mit.edu>, 1996
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# Check that we have a working $echo.
+if test "X$1" = X--no-reexec; then
+  # Discard the --no-reexec flag, and continue.
+  shift
+elif test "X$1" = X--fallback-echo; then
+  # Avoid inline document here, it may be left over
+  :
+elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then
+  # Yippee, $echo works!
+  :
+else
+  # Restart under the correct shell, and then maybe $echo will work.
+  exec $SHELL "$0" --no-reexec ${1+"$@"}
+fi
+
+if test "X$1" = X--fallback-echo; then
+  # used as fallback echo
+  shift
+  cat <<EOF
+$*
+EOF
+  exit 0
+fi
+
+# The name of this program.
+progname=`$echo "$0" | sed 's%^.*/%%'`
+modename="$progname"
+
+# Constants.
+PROGRAM=ltmain.sh
+PACKAGE=libtool
+VERSION=1.4a
+TIMESTAMP=" (1.641.2.179mm 2001/02/15 21:55:40)"
+
+default_mode=
+help="Try \`$progname --help' for more information."
+magic="%%%MAGIC variable%%%"
+mkdir="mkdir"
+mv="mv -f"
+rm="rm -f"
+
+# Sed substitution that helps us do robust quoting.  It backslashifies
+# metacharacters that are still active within double-quoted strings.
+Xsed='sed -e 1s/^X//'
+sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g'
+SP2NL='tr \040 \012'
+NL2SP='tr \015\012 \040\040'
+
+# NLS nuisances.
+# Only set LANG and LC_ALL to C if already set.
+# These must not be set unconditionally because not all systems understand
+# e.g. LANG=C (notably SCO).
+# We save the old values to restore during execute mode.
+if test "${LC_ALL+set}" = set; then
+  save_LC_ALL="$LC_ALL"; LC_ALL=C; export LC_ALL
+fi
+if test "${LANG+set}" = set; then
+  save_LANG="$LANG"; LANG=C; export LANG
+fi
+
+if test "$LTCONFIG_VERSION" != "$VERSION"; then
+  echo "$modename: ltconfig version \`$LTCONFIG_VERSION' does not match $PROGRAM version \`$VERSION'" 1>&2
+  echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
+  exit 1
+fi
+
+if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
+  echo "$modename: not configured to build any kind of library" 1>&2
+  echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
+  exit 1
+fi
+
+# Global variables.
+mode=$default_mode
+nonopt=
+prev=
+prevopt=
+run=
+show="$echo"
+show_help=
+execute_dlfiles=
+lo2o="s/\\.lo\$/.${objext}/"
+o2lo="s/\\.${objext}\$/.lo/"
+
+# Parse our command line options once, thoroughly.
+while test $# -gt 0
+do
+  arg="$1"
+  shift
+
+  case "$arg" in
+  -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;;
+  *) optarg= ;;
+  esac
+
+  # If the previous option needs an argument, assign it.
+  if test -n "$prev"; then
+    case "$prev" in
+    execute_dlfiles)
+      execute_dlfiles="$execute_dlfiles $arg"
+      ;;
+    tag)
+      tagname="$arg"
+
+      # Check whether tagname contains only valid characters
+      case "$tagname" in
+      *[!-_A-Za-z0-9,/]*)
+	echo "$progname: invalid tag name: $tagname" 1>&2
+	exit 1
+        ;;
+      esac
+
+      if grep "^### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$0" > /dev/null; then
+        taglist="$taglist $tagname"
+	# Evaluate the configuration.
+	eval "`sed -n -e '/^### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $0`"
+      else
+	echo "$progname: ignoring unknown tag $tagname" 1>&2
+      fi
+      ;;
+    *)
+      eval "$prev=\$arg"
+      ;;
+    esac
+
+    prev=
+    prevopt=
+    continue
+  fi
+
+  # Have we seen a non-optional argument yet?
+  case "$arg" in
+  --help)
+    show_help=yes
+    ;;
+
+  --version)
+    echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP"
+    exit 0
+    ;;
+
+  --config)
+    sed -n -e '/^### BEGIN LIBTOOL CONFIG/,/^### END LIBTOOL CONFIG/p' < "$0"
+    # Now print the configurations for the tags.
+    for tagname in $taglist; do
+      sed -n -e "/^### BEGIN LIBTOOL TAG CONFIG: $tagname$/,/^### END LIBTOOL TAG CONFIG: $tagname$/p" < "$0"
+    done
+    exit 0
+    ;;
+
+  --debug)
+    echo "$progname: enabling shell trace mode"
+    set -x
+    ;;
+
+  --dry-run | -n)
+    run=:
+    ;;
+
+  --features)
+    echo "host: $host"
+    if test "$build_libtool_libs" = yes; then
+      echo "enable shared libraries"
+    else
+      echo "disable shared libraries"
+    fi
+    if test "$build_old_libs" = yes; then
+      echo "enable static libraries"
+    else
+      echo "disable static libraries"
+    fi
+    exit 0
+    ;;
+
+  --finish) mode="finish" ;;
+
+  --mode) prevopt="--mode" prev=mode ;;
+  --mode=*) mode="$optarg" ;;
+
+  --quiet | --silent)
+    show=:
+    ;;
+
+  --tag) prevopt="--tag" prev=tag ;;
+  --tag=*)
+    set tag "$optarg" ${1+"$@"}
+    shift
+    prev=tag
+    ;;
+
+  -dlopen)
+    prevopt="-dlopen"
+    prev=execute_dlfiles
+    ;;
+
+  -*)
+    $echo "$modename: unrecognized option \`$arg'" 1>&2
+    $echo "$help" 1>&2
+    exit 1
+    ;;
+
+  *)
+    nonopt="$arg"
+    break
+    ;;
+  esac
+done
+
+if test -n "$prevopt"; then
+  $echo "$modename: option \`$prevopt' requires an argument" 1>&2
+  $echo "$help" 1>&2
+  exit 1
+fi
+
+if test -z "$show_help"; then
+
+  # Infer the operation mode.
+  if test -z "$mode"; then
+    case "$nonopt" in
+    *cc | *++ | gcc* | *-gcc*)
+      mode=link
+      for arg
+      do
+	case "$arg" in
+	-c)
+	   mode=compile
+	   break
+	   ;;
+	esac
+      done
+      ;;
+    *db | *dbx | *strace | *truss)
+      mode=execute
+      ;;
+    *install*|cp|mv)
+      mode=install
+      ;;
+    *rm)
+      mode=uninstall
+      ;;
+    *)
+      # If we have no mode, but dlfiles were specified, then do execute mode.
+      test -n "$execute_dlfiles" && mode=execute
+
+      # Just use the default operation mode.
+      if test -z "$mode"; then
+	if test -n "$nonopt"; then
+	  $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2
+	else
+	  $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2
+	fi
+      fi
+      ;;
+    esac
+  fi
+
+  # Only execute mode is allowed to have -dlopen flags.
+  if test -n "$execute_dlfiles" && test "$mode" != execute; then
+    $echo "$modename: unrecognized option \`-dlopen'" 1>&2
+    $echo "$help" 1>&2
+    exit 1
+  fi
+
+  # Change the help message to a mode-specific one.
+  generic_help="$help"
+  help="Try \`$modename --help --mode=$mode' for more information."
+
+  # These modes are in order of execution frequency so that they run quickly.
+  case "$mode" in
+  # libtool compile mode
+  compile)
+    modename="$modename: compile"
+    # Get the compilation command and the source file.
+    base_compile=
+    prev=
+    lastarg=
+    srcfile="$nonopt"
+    suppress_output=
+
+    user_target=no
+    for arg
+    do
+      case "$prev" in
+      "") ;;
+      xcompiler)
+	# Aesthetically quote the previous argument.
+	prev=
+	lastarg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
+
+	case "$arg" in
+	# Double-quote args containing other shell metacharacters.
+	# Many Bourne shells cannot handle close brackets correctly
+	# in scan sets, so we specify it separately.
+	*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	  arg="\"$arg\""
+	  ;;
+	esac
+
+	# Add the previous argument to base_compile.
+	if test -z "$base_compile"; then
+	  base_compile="$lastarg"
+	else
+	  base_compile="$base_compile $lastarg"
+	fi
+	continue
+	;;
+      esac
+
+      # Accept any command-line options.
+      case "$arg" in
+      -o)
+	if test "$user_target" != "no"; then
+	  $echo "$modename: you cannot specify \`-o' more than once" 1>&2
+	  exit 1
+	fi
+	user_target=next
+	;;
+
+      -static)
+	build_old_libs=yes
+	continue
+	;;
+
+      -prefer-pic)
+	pic_mode=yes
+	continue
+	;;
+
+      -prefer-non-pic)
+	pic_mode=no
+	continue
+	;;
+
+      -Xcompiler)
+	prev=xcompiler
+	continue
+	;;
+
+      -Wc,*)
+	args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"`
+	lastarg=
+	IFS="${IFS= 	}"; save_ifs="$IFS"; IFS=','
+	for arg in $args; do
+	  IFS="$save_ifs"
+
+	  # Double-quote args containing other shell metacharacters.
+	  # Many Bourne shells cannot handle close brackets correctly
+	  # in scan sets, so we specify it separately.
+	  case "$arg" in
+	    *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	    arg="\"$arg\""
+	    ;;
+	  esac
+	  lastarg="$lastarg $arg"
+	done
+	IFS="$save_ifs"
+	lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"`
+
+	# Add the arguments to base_compile.
+	if test -z "$base_compile"; then
+	  base_compile="$lastarg"
+	else
+	  base_compile="$base_compile $lastarg"
+	fi
+	continue
+	;;
+      esac
+
+      case "$user_target" in
+      next)
+	# The next one is the -o target name
+	user_target=yes
+	continue
+	;;
+      yes)
+	# We got the output file
+	user_target=set
+	libobj="$arg"
+	continue
+	;;
+      esac
+
+      # Accept the current argument as the source file.
+      lastarg="$srcfile"
+      srcfile="$arg"
+
+      # Aesthetically quote the previous argument.
+
+      # Backslashify any backslashes, double quotes, and dollar signs.
+      # These are the only characters that are still specially
+      # interpreted inside of double-quoted scrings.
+      lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"`
+
+      # Double-quote args containing other shell metacharacters.
+      # Many Bourne shells cannot handle close brackets correctly
+      # in scan sets, so we specify it separately.
+      case "$lastarg" in
+      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	lastarg="\"$lastarg\""
+	;;
+      esac
+
+      # Add the previous argument to base_compile.
+      if test -z "$base_compile"; then
+	base_compile="$lastarg"
+      else
+	base_compile="$base_compile $lastarg"
+      fi
+    done
+
+    case "$user_target" in
+    set)
+      ;;
+    no)
+      # Get the name of the library object.
+      libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'`
+      ;;
+    *)
+      $echo "$modename: you must specify a target with \`-o'" 1>&2
+      exit 1
+      ;;
+    esac
+
+    # Recognize several different file suffixes.
+    # If the user specifies -o file.o, it is replaced with file.lo
+    xform='[cCFSfmso]'
+    case "$libobj" in
+    *.ada) xform=ada ;;
+    *.adb) xform=adb ;;
+    *.ads) xform=ads ;;
+    *.asm) xform=asm ;;
+    *.c++) xform=c++ ;;
+    *.cc) xform=cc ;;
+    *.class) xform=class ;;
+    *.cpp) xform=cpp ;;
+    *.cxx) xform=cxx ;;
+    *.f90) xform=f90 ;;
+    *.for) xform=for ;;
+    *.java) xform=java ;;
+    esac
+
+    libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"`
+
+    case "$libobj" in
+    *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;;
+    *)
+      $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2
+      exit 1
+      ;;
+    esac
+
+    # Infer tagged configuration to use if any are available and
+    # if one wasn't chosen via the "--tag" command line option.
+    # Only attempt this if the compiler in the base compile
+    # command doesn't match the default compiler.
+    if test -n "$available_tags" && test -z "$tagname"; then
+      case $base_compile in
+      "$CC "*) ;;
+      # Blanks in the command may have been stripped by the calling shell,
+      # but not from the CC environment variable when ltconfig was run.
+      "`$echo $CC` "*) ;;
+      *)
+        for z in $available_tags; do
+          if grep "^### BEGIN LIBTOOL TAG CONFIG: $z$" < "$0" > /dev/null; then
+	    # Evaluate the configuration.
+	    eval "`sed -n -e '/^### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^### END LIBTOOL TAG CONFIG: '$z'$/p' < $0`"
+            case $base_compile in
+	    "$CC "*)
+              # The compiler in the base compile command matches
+              # the one in the tagged configuration.
+              # Assume this is the tagged configuration we want.
+              tagname=$z
+              break
+              ;;
+	    "`$echo $CC` "*)
+	      tagname=$z
+	      break
+	      ;;
+	    esac
+          fi
+        done
+        # If $tagname still isn't set, then no tagged configuration
+        # was found and let the user know that the "--tag" command
+        # line option must be used.
+        if test -z "$tagname"; then
+          echo "$modename: unable to infer tagged configuration"
+          echo "$modename: specify a tag with \`--tag'" 1>&2
+	  exit 1
+#        else
+#          echo "$modename: using $tagname tagged configuration"
+        fi
+	;;
+      esac
+    fi
+
+    objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`
+    xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'`
+    if test "X$xdir" = "X$obj"; then
+      xdir=
+    else
+      xdir=$xdir/
+    fi
+    lobj=${xdir}$objdir/$objname
+
+    if test -z "$base_compile"; then
+      $echo "$modename: you must specify a compilation command" 1>&2
+      $echo "$help" 1>&2
+      exit 1
+    fi
+
+    # Delete any leftover library objects.
+    if test "$build_old_libs" = yes; then
+      removelist="$obj $lobj $libobj ${libobj}T"
+    else
+      removelist="$lobj $libobj ${libobj}T"
+    fi
+
+    $run $rm $removelist
+    trap "$run $rm $removelist; exit 1" 1 2 15
+
+    # On Cygwin there's no "real" PIC flag so we must build both object types
+    case "$host_os" in
+    cygwin* | mingw* | pw32* | os2*)
+      pic_mode=default
+      ;;
+    esac
+    if test $pic_mode = no && test "$deplibs_check_method" != pass_all; then
+      # non-PIC code in shared libraries is not supported
+      pic_mode=default
+    fi
+
+    # Calculate the filename of the output object if compiler does
+    # not support -o with -c
+    if test "$compiler_c_o" = no; then
+      output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext}
+      lockfile="$output_obj.lock"
+      removelist="$removelist $output_obj $lockfile"
+      trap "$run $rm $removelist; exit 1" 1 2 15
+    else
+      output_obj=
+      need_locks=no
+      lockfile=
+    fi
+
+    # Lock this critical section if it is needed
+    # We use this script file to make the link, it avoids creating a new file
+    if test "$need_locks" = yes; then
+      until $run ln "$0" "$lockfile" 2>/dev/null; do
+	$show "Waiting for $lockfile to be removed"
+	sleep 2
+      done
+    elif test "$need_locks" = warn; then
+      if test -f "$lockfile"; then
+	echo "\
+*** ERROR, $lockfile exists and contains:
+`cat $lockfile 2>/dev/null`
+
+This indicates that another process is trying to use the same
+temporary object file, and libtool could not work around it because
+your compiler does not support \`-c' and \`-o' together.  If you
+repeat this compilation, it may succeed, by chance, but you had better
+avoid parallel builds (make -j) in this platform, or get a better
+compiler."
+
+	$run $rm $removelist
+	exit 1
+      fi
+      echo $srcfile > "$lockfile"
+    fi
+
+    if test -n "$fix_srcfile_path"; then
+      eval srcfile=\"$fix_srcfile_path\"
+    fi
+
+    $run $rm "$libobj" "${libobj}T"
+
+    # Create a libtool object file (analogous to a ".la" file),
+    # but don't create it if we're doing a dry run.
+    test -z "$run" && cat > ${libobj}T <<EOF
+# $libobj - a libtool object file
+# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+EOF
+
+    # Only build a PIC object if we are building libtool libraries.
+    if test "$build_libtool_libs" = yes; then
+      # Without this assignment, base_compile gets emptied.
+      fbsd_hideous_sh_bug=$base_compile
+
+      if test "$pic_mode" != no; then
+	command="$base_compile $srcfile $pic_flag"
+      else
+	# Don't build PIC code
+	command="$base_compile $srcfile"
+      fi
+
+      if test ! -d ${xdir}$objdir; then
+	$show "$mkdir ${xdir}$objdir"
+	$run $mkdir ${xdir}$objdir
+	status=$?
+	if test $status -ne 0 && test ! -d ${xdir}$objdir; then
+	  exit $status
+        fi
+      fi 
+
+      if test -z "$output_obj"; then
+        # Place PIC objects in $objdir
+        command="$command -o $lobj"
+      fi
+
+      $run $rm "$lobj" "$output_obj"
+
+      $show "$command"
+      if $run eval "$command"; then :
+      else
+	test -n "$output_obj" && $run $rm $removelist
+	exit 1
+      fi
+
+      if test "$need_locks" = warn &&
+	 test x"`cat $lockfile 2>/dev/null`" != x"$srcfile"; then
+	echo "\
+*** ERROR, $lockfile contains:
+`cat $lockfile 2>/dev/null`
+
+but it should contain:
+$srcfile
+
+This indicates that another process is trying to use the same
+temporary object file, and libtool could not work around it because
+your compiler does not support \`-c' and \`-o' together.  If you
+repeat this compilation, it may succeed, by chance, but you had better
+avoid parallel builds (make -j) in this platform, or get a better
+compiler."
+
+	$run $rm $removelist
+	exit 1
+      fi
+
+      # Just move the object if needed, then go on to compile the next one
+      if test -n "$output_obj" && test "x$output_obj" != "x$lobj"; then
+	$show "$mv $output_obj $lobj"
+	if $run $mv $output_obj $lobj; then :
+	else
+	  error=$?
+	  $run $rm $removelist
+	  exit $error
+	fi
+      fi
+
+      # Append the name of the PIC object to the libtool object file.
+      test -z "$run" && cat >> ${libobj}T <<EOF
+pic_object='$objdir/$objname'
+
+EOF
+
+      # Allow error messages only from the first compilation.
+      suppress_output=' >/dev/null 2>&1'
+    else
+      # No PIC object so indicate it doesn't exist in the libtool
+      # object file.
+      test -z "$run" && cat >> ${libobj}T <<EOF
+pic_object=none
+
+EOF
+    fi
+
+    # Only build a position-dependent object if we build old libraries.
+    if test "$build_old_libs" = yes; then
+      if test "$pic_mode" != yes; then
+	# Don't build PIC code
+	command="$base_compile $srcfile"
+      else
+	command="$base_compile $srcfile $pic_flag"
+      fi
+      if test "$compiler_c_o" = yes; then
+	command="$command -o $obj"
+      fi
+
+      # Suppress compiler output if we already did a PIC compilation.
+      command="$command$suppress_output"
+      $run $rm "$obj" "$output_obj"
+      $show "$command"
+      if $run eval "$command"; then :
+      else
+	$run $rm $removelist
+	exit 1
+      fi
+
+      if test "$need_locks" = warn &&
+	 test x"`cat $lockfile 2>/dev/null`" != x"$srcfile"; then
+	echo "\
+*** ERROR, $lockfile contains:
+`cat $lockfile 2>/dev/null`
+
+but it should contain:
+$srcfile
+
+This indicates that another process is trying to use the same
+temporary object file, and libtool could not work around it because
+your compiler does not support \`-c' and \`-o' together.  If you
+repeat this compilation, it may succeed, by chance, but you had better
+avoid parallel builds (make -j) in this platform, or get a better
+compiler."
+
+	$run $rm $removelist
+	exit 1
+      fi
+
+      # Just move the object if needed
+      if test -n "$output_obj" && test "x$output_obj" != "x$obj"; then
+	$show "$mv $output_obj $obj"
+	if $run $mv $output_obj $obj; then :
+	else
+	  error=$?
+	  $run $rm $removelist
+	  exit $error
+	fi
+      fi
+
+      # Append the name of the non-PIC object the libtool object file.
+      # Only append if the libtool object file exists.
+      test -z "$run" && cat >> ${libobj}T <<EOF
+# Name of the non-PIC object.
+non_pic_object='$objname'
+
+EOF
+    else
+      # Append the name of the non-PIC object the libtool object file.
+      # Only append if the libtool object file exists.
+      test -z "$run" && cat >> ${libobj}T <<EOF
+# Name of the non-PIC object.
+non_pic_object=none
+
+EOF
+    fi
+
+    $run $mv "${libobj}T" "${libobj}"
+
+    # Unlock the critical section if it was locked
+    if test "$need_locks" != no; then
+      $run $rm "$lockfile"
+    fi
+
+    exit 0
+    ;;
+
+  # libtool link mode
+  link | relink)
+    modename="$modename: link"
+    case "$host" in
+    *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
+      # It is impossible to link a dll without this setting, and
+      # we shouldn't force the makefile maintainer to figure out
+      # which system we are compiling for in order to pass an extra
+      # flag for every libtool invokation.
+      # allow_undefined=no
+
+      # FIXME: Unfortunately, there are problems with the above when trying
+      # to make a dll which has undefined symbols, in which case not
+      # even a static library is built.  For now, we need to specify
+      # -no-undefined on the libtool link line when we can be certain
+      # that all symbols are satisfied, otherwise we get a static library.
+      allow_undefined=yes
+      ;;
+    *)
+      allow_undefined=yes
+      ;;
+    esac
+    libtool_args="$nonopt"
+    base_compile="$nonopt"
+    compile_command="$nonopt"
+    finalize_command="$nonopt"
+
+    compile_rpath=
+    finalize_rpath=
+    compile_shlibpath=
+    finalize_shlibpath=
+    convenience=
+    old_convenience=
+    deplibs=
+    old_deplibs=
+    compiler_flags=
+    linker_flags=
+    dllsearchpath=
+    lib_search_path=`pwd`
+
+    avoid_version=no
+    dlfiles=
+    dlprefiles=
+    dlself=no
+    export_dynamic=no
+    export_symbols=
+    export_symbols_regex=
+    generated=
+    libobjs=
+    ltlibs=
+    module=no
+    no_install=no
+    objs=
+    non_pic_objects=
+    prefer_static_libs=no
+    preload=no
+    prev=
+    prevarg=
+    release=
+    rpath=
+    xrpath=
+    perm_rpath=
+    temp_rpath=
+    thread_safe=no
+    vinfo=
+
+    # We need to know -static, to get the right output filenames.
+    for arg
+    do
+      case "$arg" in
+      -all-static | -static)
+	if test "X$arg" = "X-all-static"; then
+	  if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
+	    $echo "$modename: warning: complete static linking is impossible in this configuration" 1>&2
+	  fi
+	  if test -n "$link_static_flag"; then
+	    dlopen_self=$dlopen_self_static
+	  fi
+	else
+	  if test -z "$pic_flag" && test -n "$link_static_flag"; then
+	    dlopen_self=$dlopen_self_static
+	  fi
+	fi
+	build_libtool_libs=no
+	build_old_libs=yes
+	prefer_static_libs=yes
+	break
+	;;
+      esac
+    done
+
+    # See if our shared archives depend on static archives.
+    test -n "$old_archive_from_new_cmds" && build_old_libs=yes
+
+    # Go through the arguments, transforming them on the way.
+    while test $# -gt 0; do
+      arg="$1"
+      base_compile="$base_compile $arg"
+      shift
+      case "$arg" in
+      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test
+	;;
+      *) qarg=$arg ;;
+      esac
+      libtool_args="$libtool_args $qarg"
+
+      # If the previous option needs an argument, assign it.
+      if test -n "$prev"; then
+	case "$prev" in
+	output)
+	  compile_command="$compile_command @OUTPUT@"
+	  finalize_command="$finalize_command @OUTPUT@"
+	  ;;
+	esac
+
+	case "$prev" in
+	dlfiles|dlprefiles)
+	  if test "$preload" = no; then
+	    # Add the symbol object into the linking commands.
+	    compile_command="$compile_command @SYMFILE@"
+	    finalize_command="$finalize_command @SYMFILE@"
+	    preload=yes
+	  fi
+	  case "$arg" in
+	  *.la | *.lo) ;;  # We handle these cases below.
+	  force)
+	    if test "$dlself" = no; then
+	      dlself=needless
+	      export_dynamic=yes
+	    fi
+	    prev=
+	    continue
+	    ;;
+	  self)
+	    if test "$prev" = dlprefiles; then
+	      dlself=yes
+	    elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then
+	      dlself=yes
+	    else
+	      dlself=needless
+	      export_dynamic=yes
+	    fi
+	    prev=
+	    continue
+	    ;;
+	  *)
+	    if test "$prev" = dlfiles; then
+	      dlfiles="$dlfiles $arg"
+	    else
+	      dlprefiles="$dlprefiles $arg"
+	    fi
+	    prev=
+	    continue
+	    ;;
+	  esac
+	  ;;
+	expsyms)
+	  export_symbols="$arg"
+	  if test ! -f "$arg"; then
+	    $echo "$modename: symbol file \`$arg' does not exist"
+	    exit 1
+	  fi
+	  prev=
+	  continue
+	  ;;
+	expsyms_regex)
+	  export_symbols_regex="$arg"
+	  prev=
+	  continue
+	  ;;
+	release)
+	  release="-$arg"
+	  prev=
+	  continue
+	  ;;
+	rpath | xrpath)
+	  # We need an absolute path.
+	  case "$arg" in
+	  [\\/]* | [A-Za-z]:[\\/]*) ;;
+	  *)
+	    $echo "$modename: only absolute run-paths are allowed" 1>&2
+	    exit 1
+	    ;;
+	  esac
+	  if test "$prev" = rpath; then
+	    case "$rpath " in
+	    *" $arg "*) ;;
+	    *) rpath="$rpath $arg" ;;
+	    esac
+	  else
+	    case "$xrpath " in
+	    *" $arg "*) ;;
+	    *) xrpath="$xrpath $arg" ;;
+	    esac
+	  fi
+	  prev=
+	  continue
+	  ;;
+	xcompiler)
+	  compiler_flags="$compiler_flags $qarg"
+	  prev=
+	  compile_command="$compile_command $qarg"
+	  finalize_command="$finalize_command $qarg"
+	  continue
+	  ;;
+	xlinker)
+	  linker_flags="$linker_flags $qarg"
+	  compiler_flags="$compiler_flags $wl$qarg"
+	  prev=
+	  compile_command="$compile_command $wl$qarg"
+	  finalize_command="$finalize_command $wl$qarg"
+	  continue
+	  ;;
+	*)
+	  eval "$prev=\"\$arg\""
+	  prev=
+	  continue
+	  ;;
+	esac
+      fi
+
+      prevarg="$arg"
+
+      case "$arg" in
+      -all-static)
+	if test -n "$link_static_flag"; then
+	  compile_command="$compile_command $link_static_flag"
+	  finalize_command="$finalize_command $link_static_flag"
+	fi
+	continue
+	;;
+
+      -allow-undefined)
+	# FIXME: remove this flag sometime in the future.
+	$echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2
+	continue
+	;;
+
+      -avoid-version)
+	avoid_version=yes
+	continue
+	;;
+
+      -dlopen)
+	prev=dlfiles
+	continue
+	;;
+
+      -dlpreopen)
+	prev=dlprefiles
+	continue
+	;;
+
+      -export-dynamic)
+	export_dynamic=yes
+	continue
+	;;
+
+      -export-symbols | -export-symbols-regex)
+	if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
+	  $echo "$modename: not more than one -exported-symbols argument allowed"
+	  exit 1
+	fi
+	if test "X$arg" = "X-export-symbols"; then
+	  prev=expsyms
+	else
+	  prev=expsyms_regex
+	fi
+	continue
+	;;
+
+      # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:*
+      # so, if we see these flags be careful not to treat them like -L
+      -L[A-Z][A-Z]*:*)
+	case $with_gcc/$host in
+	no/*-*-irix*)
+	  compile_command="$compile_command $arg"
+	  finalize_command="$finalize_command $arg"
+	  ;;
+	esac
+	continue
+	;;
+       
+      -L*)
+	dir=`$echo "X$arg" | $Xsed -e 's/^-L//'`
+	# We need an absolute path.
+	case "$dir" in
+	[\\/]* | [A-Za-z]:[\\/]*) ;;
+	*)
+	  absdir=`cd "$dir" && pwd`
+	  if test -z "$absdir"; then
+	    $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2
+	    exit 1
+	  fi
+	  dir="$absdir"
+	  ;;
+	esac
+	case "$deplibs " in
+	*" -L$dir "*) ;;
+	*)
+	  deplibs="$deplibs -L$dir"
+	  lib_search_path="$lib_search_path $dir"
+	  ;;
+	esac
+	case "$host" in
+	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
+	  case ":$dllsearchpath:" in
+	  *":$dir:"*) ;;
+	  *) dllsearchpath="$dllsearchpath:$dir";;
+	  esac
+	  ;;
+	esac
+	continue
+	;;
+
+      -l*)
+	if test "$arg" = "-lc"; then
+	  case "$host" in
+	  *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos*)
+	    # These systems don't actually have c library (as such)
+	    continue
+	    ;;
+	  *-*-rhapsody* | *-*-darwin*)
+	    # Darwin C library is in the System framework
+	    deplibs="$deplibs -framework System"
+	    ;;
+	  esac
+	elif test "$arg" = "-lm"; then
+	  case "$host" in
+	  *-*-cygwin* | *-*-pw32* | *-*-beos*)
+	    # These systems don't actually have math library (as such)
+	    continue
+	    ;;
+	  *-*-rhapsody* | *-*-darwin*)
+	    # Darwin math library is in the System framework
+	    deplibs="$deplibs -framework System"
+	    ;;
+	  esac
+	fi
+	deplibs="$deplibs $arg"
+	continue
+	;;
+
+      -module)
+	module=yes
+	continue
+	;;
+
+      -no-fast-install)
+	fast_install=no
+	continue
+	;;
+
+      -no-install)
+	case "$host" in
+	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
+	  # The PATH hackery in wrapper scripts is required on Windows
+	  # in order for the loader to find any dlls it needs.
+	  $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2
+	  $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2
+	  fast_install=no
+	  ;;
+	*-*-rhapsody* | *-*-darwin*)
+	  # Darwin C library is in the System framework
+	  deplibs="$deplibs -framework System"
+	  ;;
+	*)
+	  no_install=yes
+	  ;;
+	esac
+	continue
+	;;
+
+      -no-undefined)
+	allow_undefined=no
+	continue
+	;;
+
+      -o) prev=output ;;
+
+      -release)
+	prev=release
+	continue
+	;;
+
+      -rpath)
+	prev=rpath
+	continue
+	;;
+
+      -R)
+	prev=xrpath
+	continue
+	;;
+
+      -R*)
+	dir=`$echo "X$arg" | $Xsed -e 's/^-R//'`
+	# We need an absolute path.
+	case "$dir" in
+	[\\/]* | [A-Za-z]:[\\/]*) ;;
+	*)
+	  $echo "$modename: only absolute run-paths are allowed" 1>&2
+	  exit 1
+	  ;;
+	esac
+	case "$xrpath " in
+	*" $dir "*) ;;
+	*) xrpath="$xrpath $dir" ;;
+	esac
+	continue
+	;;
+
+      -static)
+        # The effects of -static are defined in a previous loop.
+	# We used to do the same as -all-static on platforms that
+	# didn't have a PIC flag, but the assumption that the effects
+	# would be equivalent was wrong.  It would break on at least
+	# Digital Unix and AIX.
+	continue
+	;;
+
+      -thread-safe)
+	thread_safe=yes
+	continue
+	;;
+
+      -version-info)
+	prev=vinfo
+	continue
+	;;
+
+      -Wc,*)
+	args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'`
+	arg=
+	IFS="${IFS= 	}"; save_ifs="$IFS"; IFS=','
+	for flag in $args; do
+	  IFS="$save_ifs"
+	  case "$flag" in
+	    *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	    flag="\"$flag\""
+	    ;;
+	  esac
+	  arg="$arg $wl$flag"
+	  compiler_flags="$compiler_flags $flag"
+	done
+	IFS="$save_ifs"
+	arg=`$echo "X$arg" | $Xsed -e "s/^ //"`
+	;;
+
+      -Wl,*)
+	args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'`
+	arg=
+	IFS="${IFS= 	}"; save_ifs="$IFS"; IFS=','
+	for flag in $args; do
+	  IFS="$save_ifs"
+	  case "$flag" in
+	    *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	    flag="\"$flag\""
+	    ;;
+	  esac
+	  arg="$arg $wl$flag"
+	  compiler_flags="$compiler_flags $wl$flag"
+	  linker_flags="$linker_flags $flag"
+	done
+	IFS="$save_ifs"
+	arg=`$echo "X$arg" | $Xsed -e "s/^ //"`
+	;;
+
+      -Xcompiler)
+	prev=xcompiler
+	continue
+	;;
+
+      -Xlinker)
+	prev=xlinker
+	continue
+	;;
+
+      # Some other compiler flag.
+      -* | +*)
+	# Unknown arguments in both finalize_command and compile_command need
+	# to be aesthetically quoted because they are evaled later.
+	arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
+	case "$arg" in
+	*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	  arg="\"$arg\""
+	  ;;
+	esac
+	;;
+
+      *.$objext)
+	# A standard object.
+	objs="$objs $arg"
+	;;
+
+      *.lo)
+	# A libtool-controlled object.
+
+	# Check to see that this really is a libtool object.
+	if (sed -e '2q' $arg | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+          pic_object=
+          non_pic_object=
+
+          # Read the .lo file
+          # If there is no directory component, then add one.
+          case "$arg" in
+          */* | *\\*) . $arg ;;
+          *) . ./$arg ;;
+          esac
+
+          if test -z "$pic_object" || \
+             test -z "$non_pic_object" ||
+             test "$pic_object" = none && \
+             test "$non_pic_object" = none; then
+            $echo "$modename: cannot find name of object for \`$arg'" 1>&2
+            exit 1
+          fi
+
+	  # Extract subdirectory from the argument.
+	  xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
+	  if test "X$xdir" = "X$arg"; then
+	    xdir=
+	  else
+	    xdir="$xdir/"
+	  fi
+
+          if test "$pic_object" != none; then
+            # Prepend the subdirectory the object is found in.
+	    pic_object="$xdir$pic_object"
+
+	    if test "$prev" = dlfiles; then
+	      if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
+	        dlfiles="$dlfiles $pic_object"
+	        prev=
+	        continue
+	      else
+	        # If libtool objects are unsupported, then we need to preload.
+	        prev=dlprefiles
+	      fi
+	    fi
+
+	    # CHECK ME:  I think I busted this.  -Ossama
+            if test "$prev" = dlprefiles; then
+	      # Preload the old-style object.
+	      dlprefiles="$dlprefiles $pic_object"
+	      prev=
+            fi
+
+            # A PIC object.
+	    libobjs="$libobjs $pic_object"
+	    arg="$pic_object"
+          fi
+
+          # Non-PIC object.
+          if test "$non_pic_object" != none; then
+            # Prepend the subdirectory the object is found in.
+	    non_pic_object="$xdir$non_pic_object"
+
+            # A standard non-PIC object
+            non_pic_objects="$non_pic_objects $non_pic_object"
+            if test -z "$pic_object" || test "$pic_object" = none ; then
+              arg="$non_pic_object"
+            fi
+          fi
+        else
+          # Only an error if not doing a dry-run.
+          if test -z "$run"; then
+            $echo "$modename: \`$arg' is not a valid libtool object" 1>&2
+            exit 1
+          else
+            # Dry-run case.
+
+	    # Extract subdirectory from the argument.
+	    xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
+	    if test "X$xdir" = "X$arg"; then
+	      xdir=
+	    else
+	      xdir="$xdir/"
+	    fi
+
+            pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"`
+            non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"`
+	    libobjs="$libobjs $pic_object"
+            non_pic_objects="$non_pic_objects $non_pic_object"
+          fi
+	fi
+	;;
+
+      *.$libext)
+	# An archive.
+	deplibs="$deplibs $arg"
+	old_deplibs="$old_deplibs $arg"
+	continue
+	;;
+
+      *.la)
+	# A libtool-controlled library.
+
+	if test "$prev" = dlfiles; then
+	  # This library was specified with -dlopen.
+	  dlfiles="$dlfiles $arg"
+	  prev=
+	elif test "$prev" = dlprefiles; then
+	  # The library was specified with -dlpreopen.
+	  dlprefiles="$dlprefiles $arg"
+	  prev=
+	else
+	  deplibs="$deplibs $arg"
+	fi
+	continue
+	;;
+
+      # Some other compiler argument.
+      *)
+	# Unknown arguments in both finalize_command and compile_command need
+	# to be aesthetically quoted because they are evaled later.
+	arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
+	case "$arg" in
+	*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+	  arg="\"$arg\""
+	  ;;
+	esac
+	;;
+      esac
+
+      # Now actually substitute the argument into the commands.
+      if test -n "$arg"; then
+	compile_command="$compile_command $arg"
+	finalize_command="$finalize_command $arg"
+      fi
+    done
+
+    if test -n "$prev"; then
+      $echo "$modename: the \`$prevarg' option requires an argument" 1>&2
+      $echo "$help" 1>&2
+      exit 1
+    fi
+
+    # Infer tagged configuration to use if any are available and
+    # if one wasn't chosen via the "--tag" command line option.
+    # Only attempt this if the compiler in the base link
+    # command doesn't match the default compiler.
+    if test -n "$available_tags" && test -z "$tagname"; then
+      case $base_compile in
+      "$CC "*) ;;
+      # Blanks in the command may have been stripped by the calling shell,
+      # but not from the CC environment variable when ltconfig was run.
+      "`$echo $CC` "*) ;;
+      *)
+        for z in $available_tags; do
+          if grep "^### BEGIN LIBTOOL TAG CONFIG: $z$" < "$0" > /dev/null; then
+	    # Evaluate the configuration.
+	    eval "`sed -n -e '/^### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^### END LIBTOOL TAG CONFIG: '$z'$/p' < $0`"
+            case $base_compile in
+	    "$CC "*)
+              # The compiler in $compile_command matches
+              # the one in the tagged configuration.
+              # Assume this is the tagged configuration we want.
+              tagname=$z
+              break
+	      ;;
+	    "`$echo $CC` "*)
+	      tagname=$z
+	      break
+	      ;;
+	    esac
+          fi
+        done
+        # If $tagname still isn't set, then no tagged configuration
+        # was found and let the user know that the "--tag" command
+        # line option must be used.
+        if test -z "$tagname"; then
+          echo "$modename: unable to infer tagged configuration"
+          echo "$modename: specify a tag with \`--tag'" 1>&2
+	  exit 1
+#       else
+#         echo "$modename: using $tagname tagged configuration"
+        fi
+	;;
+      esac
+    fi
+
+    if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then
+      eval arg=\"$export_dynamic_flag_spec\"
+      compile_command="$compile_command $arg"
+      finalize_command="$finalize_command $arg"
+    fi
+
+    oldlibs=
+    # calculate the name of the file, without its directory
+    outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'`
+    libobjs_save="$libobjs"
+
+    if test -n "$shlibpath_var"; then
+      # get the directories listed in $shlibpath_var
+      eval shlib_search_path=\`\$echo \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\`
+    else
+      shlib_search_path=
+    fi
+    eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
+    eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
+
+    output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'`
+    if test "X$output_objdir" = "X$output"; then
+      output_objdir="$objdir"
+    else
+      output_objdir="$output_objdir/$objdir"
+    fi
+    # Create the object directory.
+    if test ! -d $output_objdir; then
+      $show "$mkdir $output_objdir"
+      $run $mkdir $output_objdir
+      status=$?
+      if test $status -ne 0 && test ! -d $output_objdir; then
+	exit $status
+      fi
+    fi
+
+    # Determine the type of output
+    case "$output" in
+    "")
+      $echo "$modename: you must specify an output file" 1>&2
+      $echo "$help" 1>&2
+      exit 1
+      ;;
+    *.$libext) linkmode=oldlib ;;
+    *.lo | *.$objext) linkmode=obj ;;
+    *.la) linkmode=lib ;;
+    *) linkmode=prog ;; # Anything else should be a program.
+    esac
+
+    specialdeplibs=
+    libs=
+    # Find all interdependent deplibs by searching for libraries
+    # that are linked more than once (e.g. -la -lb -la)
+    for deplib in $deplibs; do
+      case "$libs " in
+      *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+      esac
+      libs="$libs $deplib"
+    done
+
+    if test $linkmode = lib; then
+      libs="$predeps $libs $compiler_lib_search_path $postdeps"
+    fi
+
+    deplibs=
+    newdependency_libs=
+    newlib_search_path=
+    need_relink=no # whether we're linking any uninstalled libtool libraries
+    uninst_deplibs= # uninstalled libtool libraries
+    uninst_path= # paths that contain uninstalled libtool libraries
+    case $linkmode in
+    lib)
+	passes="conv link"
+	for file in $dlfiles $dlprefiles; do
+	  case "$file" in
+	  *.la) ;;
+	  *)
+	    $echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2
+	    exit 1
+	    ;;
+	  esac
+	done
+	;;
+    prog)
+	compile_deplibs=
+	finalize_deplibs=
+	alldeplibs=no
+	newdlfiles=
+	newdlprefiles=
+	passes="conv scan dlopen dlpreopen link"
+	;;
+    *)	passes="conv"
+	;;
+    esac
+    for pass in $passes; do
+      if test "$linkmode,$pass" = "lib,link" ||
+	 test "$linkmode,$pass" = "prog,scan"; then
+	libs="$deplibs"
+	deplibs=
+      fi
+      if test $linkmode = prog; then
+	case $pass in
+	dlopen) libs="$dlfiles" ;;
+	dlpreopen) libs="$dlprefiles" ;;
+	link) libs="$deplibs %DEPLIBS% $dependency_libs" ;;
+	esac
+      fi
+      if test $pass = dlopen; then
+	# Collect dlpreopened libraries
+	save_deplibs="$deplibs"
+	deplibs=
+      fi
+      for deplib in $libs; do
+	lib=
+	found=no
+	case "$deplib" in
+	-l*)
+	  if test $linkmode != lib && test $linkmode != prog; then
+	    $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2
+	    continue
+	  fi
+	  if test $pass = conv; then
+	    deplibs="$deplib $deplibs"
+	    continue
+	  fi
+	  name=`$echo "X$deplib" | $Xsed -e 's/^-l//'`
+	  for searchdir in $newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path; do
+	    # Search the libtool library
+	    lib="$searchdir/lib${name}.la"
+	    if test -f "$lib"; then
+	      found=yes
+	      break
+	    fi
+	  done
+	  if test "$found" != yes; then
+	    if test "$linkmode,$pass" = "prog,link"; then
+	      compile_deplibs="$deplib $compile_deplibs"
+	      finalize_deplibs="$deplib $finalize_deplibs"
+	    else
+	      deplibs="$deplib $deplibs"
+	      test $linkmode = lib && newdependency_libs="$deplib $newdependency_libs"
+	    fi
+	    continue
+	  fi
+	  ;;
+	-L*)
+	  case $linkmode in
+	  lib)
+	    deplibs="$deplib $deplibs"
+	    test $pass = conv && continue
+	    newdependency_libs="$deplib $newdependency_libs"
+	    newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`
+	    ;;
+	  prog)
+	    if test $pass = conv; then
+	      deplibs="$deplib $deplibs"
+	      continue
+	    fi
+	    if test $pass = scan; then
+	      deplibs="$deplib $deplibs"
+	      newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`
+	    else
+	      compile_deplibs="$deplib $compile_deplibs"
+	      finalize_deplibs="$deplib $finalize_deplibs"
+	    fi
+	    ;;
+	  *)
+	    $echo "$modename: warning: \`-L' is ignored for archives/objects" 1>&2
+	    ;;
+	  esac
+	  continue
+	  ;;
+	-R*)
+	  if test $pass = link; then
+	    dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'`
+	    # Make sure the xrpath contains only unique directories.
+	    case "$xrpath " in
+	    *" $dir "*) ;;
+	    *) xrpath="$xrpath $dir" ;;
+	    esac
+	  fi
+	  deplibs="$deplib $deplibs"
+	  continue
+	  ;;
+	*.la) lib="$deplib" ;;
+	*.$libext)
+	  if test $pass = conv; then
+	    deplibs="$deplib $deplibs"
+	    continue
+	  fi
+	  case $linkmode in
+	  lib)
+	    if test "$deplibs_check_method" != pass_all; then
+	      echo
+	      echo "*** Warning: This library needs some functionality provided by $deplib."
+	      echo "*** I have the capability to make that library automatically link in when"
+	      echo "*** you link to this library.  But I can only do this if you have a"
+	      echo "*** shared version of the library, which you do not appear to have."
+	    else
+	      echo
+	      echo "*** Warning: Linking the shared library $output against the"
+	      echo "*** static library $deplib is not portable!"
+	      deplibs="$deplib $deplibs"
+	    fi
+	    continue
+	    ;;
+	  prog)
+	    if test $pass != link; then
+	      deplibs="$deplib $deplibs"
+	    else
+	      compile_deplibs="$deplib $compile_deplibs"
+	      finalize_deplibs="$deplib $finalize_deplibs"
+	    fi
+	    continue
+	    ;;
+	  esac
+	  ;;
+	*.lo | *.$objext)
+	  if test $pass = conv; then
+	    deplibs="$deplib $deplibs"
+	  elif test $linkmode = prog; then
+	    if test $pass = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
+	      # If there is no dlopen support or we're linking statically,
+	      # we need to preload.
+	      newdlprefiles="$newdlprefiles $deplib"
+	      compile_deplibs="$deplib $compile_deplibs"
+	      finalize_deplibs="$deplib $finalize_deplibs"
+	    else
+	      newdlfiles="$newdlfiles $deplib"
+	    fi
+	  fi
+	  continue
+	  ;;
+	%DEPLIBS%)
+	  alldeplibs=yes
+	  continue
+	  ;;
+	esac
+	if test $found = yes || test -f "$lib"; then :
+	else
+	  $echo "$modename: cannot find the library \`$lib'" 1>&2
+	  exit 1
+	fi
+
+	# Check to see that this really is a libtool archive.
+	if (sed -e '2q' $lib | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
+	else
+	  $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
+	  exit 1
+	fi
+
+	ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'`
+	test "X$ladir" = "X$lib" && ladir="."
+
+	dlname=
+	dlopen=
+	dlpreopen=
+	libdir=
+	library_names=
+	old_library=
+	# If the library was installed with an old release of libtool,
+	# it will not redefine variable installed.
+	installed=yes
+
+	# Read the .la file
+	case "$lib" in
+	*/* | *\\*) . $lib ;;
+	*) . ./$lib ;;
+	esac
+
+	if test "$linkmode,$pass" = "lib,link" ||
+	   test "$linkmode,$pass" = "prog,scan" ||
+	   { test $linkmode != prog && test $linkmode != lib; }; then
+	  test -n "$dlopen" && dlfiles="$dlfiles $dlopen"
+	  test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen"
+	fi
+
+	if test $pass = conv; then
+	  # only check for convenience libraries
+	  deplibs="$lib $deplibs"
+	  if test -z "$libdir"; then
+	    if test -z "$old_library"; then
+	      $echo "$modename: cannot find name of link library for \`$lib'" 1>&2
+	      exit 1
+	    fi
+	    # It is a libtool convenience library, so add in its objects.
+	    convenience="$convenience $ladir/$objdir/$old_library"
+	    old_convenience="$old_convenience $ladir/$objdir/$old_library"
+	    tmp_libs=
+	    for deplib in $dependency_libs; do
+	      deplibs="$deplib $deplibs"
+	      case "$tmp_libs " in
+	      *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+	      esac
+	      tmp_libs="$tmp_libs $deplib"
+	    done
+	  elif test $linkmode != prog && test $linkmode != lib; then
+	    $echo "$modename: \`$lib' is not a convenience library" 1>&2
+	    exit 1
+	  fi
+	  continue
+	fi
+
+	# Get the name of the library we link against.
+	linklib=
+	for l in $old_library $library_names; do
+	  linklib="$l"
+	done
+	if test -z "$linklib"; then
+	  $echo "$modename: cannot find name of link library for \`$lib'" 1>&2
+	  exit 1
+	fi
+
+	# This library was specified with -dlopen.
+	if test $pass = dlopen; then
+	  if test -z "$libdir"; then
+	    $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2
+	    exit 1
+	  fi
+	  if test -z "$dlname" || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
+	    # If there is no dlname, no dlopen support or we're linking
+	    # statically, we need to preload.  We also need to preload any
+	    # dependent libraries so libltdl's deplib preloader doesn't
+	    # bomb out in the load deplibs phase.
+	    dlprefiles="$dlprefiles $lib $dependency_libs"
+	  else
+	    newdlfiles="$newdlfiles $lib"
+	  fi
+	  continue
+	fi
+
+	# We need an absolute path.
+	case "$ladir" in
+	[\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;;
+	*)
+	  abs_ladir=`cd "$ladir" && pwd`
+	  if test -z "$abs_ladir"; then
+	    $echo "$modename: warning: cannot determine absolute directory name of \`$ladir'" 1>&2
+	    $echo "$modename: passing it literally to the linker, although it might fail" 1>&2
+	    abs_ladir="$ladir"
+	  fi
+	  ;;
+	esac
+	laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
+
+	# Find the relevant object directory and library name.
+	if test "X$installed" = Xyes; then
+	  if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
+	    $echo "$modename: warning: library \`$lib' was moved." 1>&2
+	    dir="$ladir"
+	    absdir="$abs_ladir"
+	    libdir="$abs_ladir"
+	  else
+	    dir="$libdir"
+	    absdir="$libdir"
+	  fi
+	else
+	  dir="$ladir/$objdir"
+	  absdir="$abs_ladir/$objdir"
+	  # Remove this search path later
+	  uninst_path="$uninst_path $abs_ladir"
+	fi
+	name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
+
+	# This library was specified with -dlpreopen.
+	if test $pass = dlpreopen; then
+	  if test -z "$libdir"; then
+	    $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2
+	    exit 1
+	  fi
+	  # Prefer using a static library (so that no silly _DYNAMIC symbols
+	  # are required to link).
+	  if test -n "$old_library"; then
+	    newdlprefiles="$newdlprefiles $dir/$old_library"
+	  # Otherwise, use the dlname, so that lt_dlopen finds it.
+	  elif test -n "$dlname"; then
+	    newdlprefiles="$newdlprefiles $dir/$dlname"
+	  else
+	    newdlprefiles="$newdlprefiles $dir/$linklib"
+	  fi
+	fi
+
+	if test -z "$libdir"; then
+	  # link the convenience library
+	  if test $linkmode = lib; then
+	    deplibs="$dir/$old_library $deplibs"
+	  elif test "$linkmode,$pass" = "prog,link"; then
+	    compile_deplibs="$dir/$old_library $compile_deplibs"
+	    finalize_deplibs="$dir/$old_library $finalize_deplibs"
+	  else
+	    deplibs="$lib $deplibs" # used for prog,scan pass
+	  fi
+	  continue
+	fi
+
+	if test $linkmode = prog && test $pass != link; then
+	  newlib_search_path="$newlib_search_path $ladir"
+	  deplibs="$lib $deplibs"
+
+	  linkalldeplibs=no
+	  if test "$link_all_deplibs" != no || test -z "$library_names" ||
+	     test "$build_libtool_libs" = no; then
+	    linkalldeplibs=yes
+	  fi
+
+	  tmp_libs=
+	  for deplib in $dependency_libs; do
+	    case "$deplib" in
+	    -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test
+	    esac
+	    # Need to link against all dependency_libs?
+	    if test $linkalldeplibs = yes; then
+	      deplibs="$deplib $deplibs"
+	    else
+	      # Need to hardcode shared library paths
+	      # or/and link against static libraries
+	      newdependency_libs="$deplib $newdependency_libs"
+	    fi
+	    case "$tmp_libs " in
+	    *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+	    esac
+	    tmp_libs="$tmp_libs $deplib"
+	  done
+	  continue
+	fi
+
+	if test "$linkmode,$pass" = "prog,link"; then
+	  if test -n "$library_names" &&
+	     { test "$hardcode_into_libs" != all || test "$alldeplibs" != yes; } &&
+	     { test "$prefer_static_libs" = no || test -z "$old_library"; }; then
+	    # We need to hardcode the library path
+	    if test -n "$shlibpath_var"; then
+	      # Make sure the rpath contains only unique directories.
+	      case "$temp_rpath " in
+	      *" $dir "*) ;;
+	      *" $absdir "*) ;;
+	      *) temp_rpath="$temp_rpath $dir" ;;
+	      esac
+	    fi
+
+	    # Hardcode the library path.
+	    # Skip directories that are in the system default run-time
+	    # search path.
+	    case " $sys_lib_dlsearch_path " in
+	    *" $absdir "*) ;;
+	    *)
+	      case "$compile_rpath " in
+	      *" $absdir "*) ;;
+	      *) compile_rpath="$compile_rpath $absdir"
+	      esac
+	      ;;
+	    esac
+
+	    case " $sys_lib_dlsearch_path " in
+	    *" $libdir "*) ;;
+	    *)
+	      case "$finalize_rpath " in
+	      *" $libdir "*) ;;
+	      *) finalize_rpath="$finalize_rpath $libdir"
+	      esac
+	      ;;
+	    esac
+	  fi
+
+	  if test "$alldeplibs" = yes &&
+	     { test "$deplibs_check_method" = pass_all ||
+	       { test "$build_libtool_libs" = yes &&
+		 test -n "$library_names"; }; }; then
+	    # We only need to search for static libraries
+	    continue
+	  fi
+	fi
+
+	link_static=no # Whether the deplib will be linked statically
+	if test -n "$library_names" &&
+	   { test "$prefer_static_libs" = no || test -z "$old_library"; }; then
+	  if test "$installed" = no; then
+	    uninst_deplibs="$uninst_deplibs $lib"
+	    need_relink=yes
+	  fi
+	  # This is a shared library
+	  if test $linkmode = lib && test "$hardcode_into_libs" = all; then
+	    # Hardcode the library path.
+	    # Skip directories that are in the system default run-time
+	    # search path.
+	    case " $sys_lib_dlsearch_path " in
+	    *" $absdir "*) ;;
+	    *)
+	      case "$compile_rpath " in
+	      *" $absdir "*) ;;
+	      *) compile_rpath="$compile_rpath $absdir"
+	      esac
+	      ;;
+	    esac
+	    case " $sys_lib_dlsearch_path " in
+	    *" $libdir "*) ;;
+	    *)
+	      case "$finalize_rpath " in
+	      *" $libdir "*) ;;
+	      *) finalize_rpath="$finalize_rpath $libdir"
+	      esac
+	      ;;
+	    esac
+	  fi
+
+	  if test -n "$old_archive_from_expsyms_cmds"; then
+	    # figure out the soname
+	    set dummy $library_names
+	    realname="$2"
+	    shift; shift
+	    libname=`eval \\$echo \"$libname_spec\"`
+	    if test -n "$soname_spec"; then
+	      eval soname=\"$soname_spec\"
+	    else
+	      soname="$realname"
+	    fi
+
+	    # Make a new name for the extract_expsyms_cmds to use
+	    newlib="libimp-`echo $soname | sed 's/^lib//;s/\.dll$//'`.a"
+
+	    # If the library has no export list, then create one now
+	    if test -f "$output_objdir/$soname-def"; then :
+	    else
+	      $show "extracting exported symbol list from \`$soname'"
+	      IFS="${IFS= 	}"; save_ifs="$IFS"; IFS='~'
+	      eval cmds=\"$extract_expsyms_cmds\"
+	      for cmd in $cmds; do
+		IFS="$save_ifs"
+		$show "$cmd"
+		$run eval "$cmd" || exit $?
+	      done
+	      IFS="$save_ifs"
+	    fi
+
+	    # Create $newlib
+	    if test -f "$output_objdir/$newlib"; then :; else
+	      $show "generating import library for \`$soname'"
+	      IFS="${IFS= 	}"; save_ifs="$IFS"; IFS='~'
+	      eval cmds=\"$old_archive_from_expsyms_cmds\"
+	      for cmd in $cmds; do
+		IFS="$save_ifs"
+		$show "$cmd"
+		$run eval "$cmd" || exit $?
+	      done
+	      IFS="$save_ifs"
+	    fi
+	    # make sure the library variables are pointing to the new library
+	    dir=$output_objdir
+	    linklib=$newlib
+	  fi
+
+	  if test $linkmode = prog || test "$mode" != relink; then
+	    add_shlibpath=
+	    add_dir=
+	    add=
+	    lib_linked=yes
+	    case "$hardcode_action" in
+	    immediate | unsupported)
+	      if test "$hardcode_direct" = no; then
+		add="$dir/$linklib"
+	      elif test "$hardcode_minus_L" = no; then
+		case "$host" in
+		*-*-sunos*) add_shlibpath="$dir" ;;
+		esac
+		add_dir="-L$dir"
+		add="-l$name"
+	      elif test "$hardcode_shlibpath_var" = no; then
+		add_shlibpath="$dir"
+		add="-l$name"
+	      else
+		lib_linked=no
+	      fi
+	      ;;
+	    relink)
+	      if test "$hardcode_direct" = yes; then
+		add="$dir/$linklib"
+	      elif test "$hardcode_minus_L" = yes; then
+		add_dir="-L$dir"
+		add="-l$name"
+	      elif test "$hardcode_shlibpath_var" = yes; then
+		add_shlibpath="$dir"
+		add="-l$name"
+	      else
+		lib_linked=no
+	      fi
+	      ;;
+	    *) lib_linked=no ;;
+	    esac
+
+	    if test "$lib_linked" != yes; then
+	      $echo "$modename: configuration error: unsupported hardcode properties"
+	      exit 1
+	    fi
+
+	    if test -n "$add_shlibpath"; then
+	      case ":$compile_shlibpath:" in
+	      *":$add_shlibpath:"*) ;;
+	      *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;;
+	      esac
+	    fi
+	    if test $linkmode = prog; then
+	      test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"
+	      test -n "$add" && compile_deplibs="$add $compile_deplibs"
+	    else
+	      test -n "$add_dir" && deplibs="$add_dir $deplibs"
+	      test -n "$add" && deplibs="$add $deplibs"
+	      if test "$hardcode_direct" != yes && \
+		 test "$hardcode_minus_L" != yes && \
+		 test "$hardcode_shlibpath_var" = yes; then
+		case ":$finalize_shlibpath:" in
+		*":$libdir:"*) ;;
+		*) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
+		esac
+	      fi
+	    fi
+	  fi
+
+	  if test $linkmode = prog || test "$mode" = relink; then
+	    add_shlibpath=
+	    add_dir=
+	    add=
+	    # Finalize command for both is simple: just hardcode it.
+	    if test "$hardcode_direct" = yes; then
+	      add="$libdir/$linklib"
+	    elif test "$hardcode_minus_L" = yes; then
+	      add_dir="-L$libdir"
+	      add="-l$name"
+	    elif test "$hardcode_shlibpath_var" = yes; then
+	      case ":$finalize_shlibpath:" in
+	      *":$libdir:"*) ;;
+	      *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
+	      esac
+	      add="-l$name"
+	    else
+	      # We cannot seem to hardcode it, guess we'll fake it.
+	      add_dir="-L$libdir"
+	      add="-l$name"
+	    fi
+
+	    if test $linkmode = prog; then
+	      test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
+	      test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
+	    else
+	      test -n "$add_dir" && deplibs="$add_dir $deplibs"
+	      test -n "$add" && deplibs="$add $deplibs"
+	    fi
+	  fi
+	elif test $linkmode = prog; then
+	  # Here we assume that one of hardcode_direct or hardcode_minus_L
+	  # is not unsupported.  This is valid on all known static and
+	  # shared platforms.
+	  if test "$hardcode_direct" != unsupported; then
+	    test -n "$old_library" && linklib="$old_library"
+	    compile_deplibs="$dir/$linklib $compile_deplibs"
+	    finalize_deplibs="$dir/$linklib $finalize_deplibs"
+	  else
+	    compile_deplibs="-l$name -L$dir $compile_deplibs"
+	    finalize_deplibs="-l$name -L$dir $finalize_deplibs"
+	  fi
+	elif test "$build_libtool_libs" = yes; then
+	  # Not a shared library
+	  if test "$deplibs_check_method" != pass_all; then
+	    # We're trying link a shared library against a static one
+	    # but the system doesn't support it.
+	    # Just print a warning and add the library to dependency_libs so
+	    # that the program can be linked against the static library.
+	    echo
+	    echo "*** Warning: This library needs some functionality provided by $lib."
+	    echo "*** I have the capability to make that library automatically link in when"
+	    echo "*** you link to this library.  But I can only do this if you have a"
+	    echo "*** shared version of the library, which you do not appear to have."
+	  else
+	    convenience="$convenience $dir/$old_library"
+	    old_convenience="$old_convenience $dir/$old_library"
+	    deplibs="$dir/$old_library $deplibs"
+	    link_static=yes
+	  fi
+	fi
+
+	if test $linkmode = lib; then
+	  if test -n "$dependency_libs" &&
+	     { test "$hardcode_into_libs" = no || test $build_old_libs = yes ||
+	       test $link_static = yes; }; then
+	    # Extract -R from dependency_libs
+	    temp_deplibs=
+	    for libdir in $dependency_libs; do
+	      case "$libdir" in
+	      -R*) temp_xrpath=`$echo "X$libdir" | $Xsed -e 's/^-R//'`
+		   case " $xrpath " in
+		   *" $temp_xrpath "*) ;;
+		   *) xrpath="$xrpath $temp_xrpath";;
+		   esac;;
+	      *) temp_deplibs="$temp_deplibs $libdir";;
+	      esac
+	    done
+	    dependency_libs="$temp_deplibs"
+	  fi
+
+	  newlib_search_path="$newlib_search_path $absdir"
+	  # Link against this library
+	  test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
+	  # ... and its dependency_libs
+	  tmp_libs=
+	  for deplib in $dependency_libs; do
+	    newdependency_libs="$deplib $newdependency_libs"
+	    case "$tmp_libs " in
+	    *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+	    esac
+	    tmp_libs="$tmp_libs $deplib"
+	  done
+
+	  if test $link_all_deplibs != no; then
+	    # Add the search paths of all dependency libraries
+	    for deplib in $dependency_libs; do
+	      case "$deplib" in
+	      -L*) path="$deplib" ;;
+	      *.la)
+		dir=`$echo "X$deplib" | $Xsed -e 's%/[^/]*$%%'`
+		test "X$dir" = "X$deplib" && dir="."
+		# We need an absolute path.
+		case "$dir" in
+		[\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;;
+		*)
+		  absdir=`cd "$dir" && pwd`
+		  if test -z "$absdir"; then
+		    $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2
+		    absdir="$dir"
+		  fi
+		  ;;
+		esac
+		if grep "^installed=no" $deplib > /dev/null; then
+		  path="-L$absdir/$objdir"
+		else
+		  eval libdir=`sed -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
+		  if test -z "$libdir"; then
+		    $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
+		    exit 1
+		  fi
+		  if test "$absdir" != "$libdir"; then
+		    $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2
+		  fi
+		  path="-L$absdir"
+		fi
+		;;
+	      *) continue ;;
+	      esac
+	      case " $deplibs " in
+	      *" $path "*) ;;
+	      *) deplibs="$path $deplibs" ;;
+	      esac
+	    done
+	  fi
+	fi
+      done
+      dependency_libs="$newdependency_libs"
+      if test $pass = dlpreopen; then
+	# Link the dlpreopened libraries before other libraries
+	for deplib in $save_deplibs; do
+	  deplibs="$deplib $deplibs"
+	done
+      fi
+      if test $pass != dlopen; then
+	if test $pass != conv; then
+	  # Make sure lib_search_path contains only unique directories.
+	  lib_search_path=
+	  for dir in $newlib_search_path; do
+	    case "$lib_search_path " in
+	    *" $dir "*) ;;
+	    *) lib_search_path="$lib_search_path $dir" ;;
+	    esac
+	  done
+	  newlib_search_path=
+	fi
+
+	if test "$linkmode,$pass" != "prog,link"; then
+	  vars="deplibs"
+	else
+	  vars="compile_deplibs finalize_deplibs"
+	fi
+	for var in $vars dependency_libs; do
+	  # Make sure that $var contains only unique libraries
+	  # and add them in reverse order
+	  eval tmp_libs=\"\$$var\"
+	  new_libs=
+	  for deplib in $tmp_libs; do
+	    case "$deplib" in
+	    -L*) new_libs="$deplib $new_libs" ;;
+	    *)
+	      case " $specialdeplibs " in
+	      *" $deplib "*) new_libs="$deplib $new_libs" ;;
+	      *)
+		case " $new_libs " in
+		*" $deplib "*) ;;
+		*) new_libs="$deplib $new_libs" ;;
+		esac
+		;;
+	      esac
+	      ;;
+	    esac
+	  done
+	  tmp_libs=
+	  for deplib in $new_libs; do
+	    case "$deplib" in
+	    -L*)
+	      case " $tmp_libs " in
+	      *" $deplib "*) ;;
+	      *) tmp_libs="$tmp_libs $deplib" ;;
+	      esac
+	      ;;
+	    *) tmp_libs="$tmp_libs $deplib" ;;
+	    esac
+	  done
+	  eval $var=\"$tmp_libs\"
+	done
+      fi
+    done
+    if test $linkmode = prog; then
+      dlfiles="$newdlfiles"
+      dlprefiles="$newdlprefiles"
+    fi
+
+    case $linkmode in
+    oldlib)
+      if test -n "$deplibs"; then
+	$echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2
+      fi
+
+      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+	$echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2
+      fi
+
+      if test -n "$rpath"; then
+	$echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2
+      fi
+
+      if test -n "$xrpath"; then
+	$echo "$modename: warning: \`-R' is ignored for archives" 1>&2
+      fi
+
+      if test -n "$vinfo"; then
+	$echo "$modename: warning: \`-version-info' is ignored for archives" 1>&2
+      fi
+
+      if test -n "$release"; then
+	$echo "$modename: warning: \`-release' is ignored for archives" 1>&2
+      fi
+
+      if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
+	$echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2
+      fi
+
+      # Now set the variables for building old libraries.
+      build_libtool_libs=no
+      oldlibs="$output"
+      objs="$objs$old_deplibs"
+      ;;
+
+    lib)
+      # Make sure we only generate libraries of the form `libNAME.la'.
+      case "$outputname" in
+      lib*)
+	name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
+	eval libname=\"$libname_spec\"
+	;;
+      *)
+	if test "$module" = no; then
+	  $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2
+	  $echo "$help" 1>&2
+	  exit 1
+	fi
+	if test "$need_lib_prefix" != no; then
+	  # Add the "lib" prefix for modules if required
+	  name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`
+	  eval libname=\"$libname_spec\"
+	else
+	  libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`
+	fi
+	;;
+      esac
+
+      if test -n "$objs"; then
+	if test "$deplibs_check_method" != pass_all; then
+	  $echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1
+	  exit 1
+	else
+	  echo
+	  echo "*** Warning: Linking the shared library $output against the non-libtool"
+	  echo "*** objects $objs is not portable!"
+	  libobjs="$libobjs $objs"
+	fi
+      fi
+
+      if test "$dlself" != no; then
+	$echo "$modename: warning: \`-dlopen self' is ignored for libtool libraries" 1>&2
+      fi
+
+      set dummy $rpath
+      if test $# -gt 2; then
+	$echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2
+      fi
+      install_libdir="$2"
+
+      oldlibs=
+      if test -z "$rpath"; then
+	if test "$build_libtool_libs" = yes; then
+	  # Building a libtool convenience library.
+	  # Some compilers have problems with a `.al' extension so
+          # convenience libraries should have the same extension an
+          # archive normally would.
+	  oldlibs="$output_objdir/$libname.$libext $oldlibs"
+	  build_libtool_libs=convenience
+	  build_old_libs=yes
+	fi
+
+	if test -n "$vinfo"; then
+	  $echo "$modename: warning: \`-version-info' is ignored for convenience libraries" 1>&2
+	fi
+
+	if test -n "$release"; then
+	  $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2
+	fi
+      else
+
+	# Parse the version information argument.
+	IFS="${IFS= 	}"; save_ifs="$IFS"; IFS=':'
+	set dummy $vinfo 0 0 0
+	IFS="$save_ifs"
+
+	if test -n "$8"; then
+	  $echo "$modename: too many parameters to \`-version-info'" 1>&2
+	  $echo "$help" 1>&2
+	  exit 1
+	fi
+
+	current="$2"
+	revision="$3"
+	age="$4"
+
+	# Check that each of the things are valid numbers.
+	case "$current" in
+	0 | [1-9] | [1-9][0-9]*) ;;
+	*)
+	  $echo "$modename: CURRENT \`$current' is not a nonnegative integer" 1>&2
+	  $echo "$modename: \`$vinfo' is not valid version information" 1>&2
+	  exit 1
+	  ;;
+	esac
+
+	case "$revision" in
+	0 | [1-9] | [1-9][0-9]*) ;;
+	*)
+	  $echo "$modename: REVISION \`$revision' is not a nonnegative integer" 1>&2
+	  $echo "$modename: \`$vinfo' is not valid version information" 1>&2
+	  exit 1
+	  ;;
+	esac
+
+	case "$age" in
+	0 | [1-9] | [1-9][0-9]*) ;;
+	*)
+	  $echo "$modename: AGE \`$age' is not a nonnegative integer" 1>&2
+	  $echo "$modename: \`$vinfo' is not valid version information" 1>&2
+	  exit 1
+	  ;;
+	esac
+
+	if test $age -gt $current; then
+	  $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2
+	  $echo "$modename: \`$vinfo' is not valid version information" 1>&2
+	  exit 1
+	fi
+
+	# Calculate the version variables.
+	major=
+	versuffix=
+	verstring=
+	case "$version_type" in
+	none) ;;
+
+	irix)
+	  major=`expr $current - $age + 1`
+	  verstring="sgi$major.$revision"
+
+	  # Add in all the interfaces that we are compatible with.
+	  loop=$revision
+	  while test $loop != 0; do
+	    iface=`expr $revision - $loop`
+	    loop=`expr $loop - 1`
+	    verstring="sgi$major.$iface:$verstring"
+	  done
+
+	  # Before this point, $major must not contain `.'.
+	  major=.$major
+	  versuffix="$major.$revision"
+	  ;;
+
+	linux)
+	  major=.`expr $current - $age`
+	  versuffix="$major.$age.$revision"
+	  ;;
+
+	osf)
+	  major=`expr $current - $age`
+	  versuffix=".$current.$age.$revision"
+	  verstring="$current.$age.$revision"
+
+	  # Add in all the interfaces that we are compatible with.
+	  loop=$age
+	  while test $loop != 0; do
+	    iface=`expr $current - $loop`
+	    loop=`expr $loop - 1`
+	    verstring="$verstring:${iface}.0"
+	  done
+
+	  # Make executables depend on our current version.
+	  verstring="$verstring:${current}.0"
+	  ;;
+
+	sunos)
+	  major=".$current"
+	  versuffix=".$current.$revision"
+	  ;;
+
+	freebsd-aout)
+	  major=".$current"
+	  versuffix=".$current.$revision";
+	  ;;
+
+	freebsd-elf)
+	  major=".$current"
+	  versuffix=".$current";
+	  ;;
+
+	windows)
+	  # Use '-' rather than '.', since we only want one
+	  # extension on DOS 8.3 filesystems.
+	  major=`expr $current - $age`
+	  versuffix="-$major"
+	  ;;
+
+	*)
+	  $echo "$modename: unknown library version type \`$version_type'" 1>&2
+	  echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
+	  exit 1
+	  ;;
+	esac
+
+	# Clear the version info if we defaulted, and they specified a release.
+	if test -z "$vinfo" && test -n "$release"; then
+	  major=
+	  verstring="0.0"
+	  if test "$need_version" = no; then
+	    versuffix=
+	  else
+	    versuffix=".0.0"
+	  fi
+	fi
+
+	# Remove version info from name if versioning should be avoided
+	if test "$avoid_version" = yes && test "$need_version" = no; then
+	  major=
+	  versuffix=
+	  verstring=""
+	fi
+
+	# Check to see if the archive will have undefined symbols.
+	if test "$allow_undefined" = yes; then
+	  if test "$allow_undefined_flag" = unsupported; then
+	    $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2
+	    build_libtool_libs=no
+	    build_old_libs=yes
+	  fi
+	else
+	  # Don't allow undefined symbols.
+	  allow_undefined_flag="$no_undefined_flag"
+	fi
+      fi
+
+      if test "$mode" != relink; then
+	# Remove our outputs, but don't remove object files since they
+        # may have been created when compiling PIC objects.
+        removelist=
+        tempremovelist=`echo "$output_objdir/*"`
+	for p in $tempremovelist; do
+          case "$p" in
+            *.$objext)
+               ;;
+            $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*)
+               removelist="$removelist $p"
+               ;;
+            *) ;;
+          esac
+        done
+        if test -n "$removelist"; then
+	  $show "${rm}r $removelist"
+	  $run ${rm}r $removelist
+        fi
+      fi
+
+      # Now set the variables for building old libraries.
+      if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then
+	oldlibs="$oldlibs $output_objdir/$libname.$libext"
+
+	# Transform .lo files to .o files.
+	oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP`
+      fi
+
+      # Eliminate all temporary directories.
+      for path in $uninst_path; do
+	lib_search_path=`echo "$lib_search_path " | sed -e 's% $path % %g'`
+	deplibs=`echo "$deplibs " | sed -e 's% -L$path % %g'`
+	dependency_libs=`echo "$dependency_libs " | sed -e 's% -L$path % %g'`
+      done
+
+      if test -n "$xrpath"; then
+	# If the user specified any rpath flags, then add them.
+	temp_xrpath=
+	for libdir in $xrpath; do
+	  temp_xrpath="$temp_xrpath -R$libdir"
+	  case "$finalize_rpath " in
+	  *" $libdir "*) ;;
+	  *) finalize_rpath="$finalize_rpath $libdir" ;;
+	  esac
+	done
+	if test "$hardcode_into_libs" = no || test $build_old_libs = yes; then
+	  dependency_libs="$temp_xrpath $dependency_libs"
+	fi
+      fi
+
+      # Make sure dlfiles contains only unique files that won't be dlpreopened
+      old_dlfiles="$dlfiles"
+      dlfiles=
+      for lib in $old_dlfiles; do
+	case " $dlprefiles $dlfiles " in
+	*" $lib "*) ;;
+	*) dlfiles="$dlfiles $lib" ;;
+	esac
+      done
+
+      # Make sure dlprefiles contains only unique files
+      old_dlprefiles="$dlprefiles"
+      dlprefiles=
+      for lib in $old_dlprefiles; do
+	case "$dlprefiles " in
+	*" $lib "*) ;;
+	*) dlprefiles="$dlprefiles $lib" ;;
+	esac
+      done
+
+      if test "$build_libtool_libs" = yes; then
+	if test -n "$rpath"; then
+	  case "$host" in
+	  *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos*)
+	    # these systems don't actually have a c library (as such)!
+	    ;;
+	  *)
+ 	    # Add libc to deplibs on all other systems if necessary.
+ 	    if test $build_libtool_need_lc = "yes"; then
+ 	      deplibs="$deplibs -lc"
+ 	    fi
+	    ;;
+	  esac
+	fi
+
+	# Transform deplibs into only deplibs that can be linked in shared.
+	name_save=$name
+	libname_save=$libname
+	release_save=$release
+	versuffix_save=$versuffix
+	major_save=$major
+	# I'm not sure if I'm treating the release correctly.  I think
+	# release should show up in the -l (ie -lgmp5) so we don't want to
+	# add it in twice.  Is that correct?
+	release=""
+	versuffix=""
+	major=""
+	newdeplibs=
+	droppeddeps=no
+	case "$deplibs_check_method" in
+	pass_all)
+	  # Don't check for shared/static.  Everything works.
+	  # This might be a little naive.  We might want to check
+	  # whether the library exists or not.  But this is on
+	  # osf3 & osf4 and I'm not really sure... Just
+	  # implementing what was already the behaviour.
+	  newdeplibs=$deplibs
+	  ;;
+	test_compile)
+	  # This code stresses the "libraries are programs" paradigm to its
+	  # limits. Maybe even breaks it.  We compile a program, linking it
+	  # against the deplibs as a proxy for the library.  Then we can check
+	  # whether they linked in statically or dynamically with ldd.
+	  $rm conftest.c
+	  cat > conftest.c <<EOF
+	  int main() { return 0; }
+EOF
+	  $rm conftest
+	  $LTCC -o conftest conftest.c $deplibs
+	  if test $? -eq 0 ; then
+	    ldd_output=`ldd conftest`
+	    for i in $deplibs; do
+	      name="`expr $i : '-l\(.*\)'`"
+	      # If $name is empty we are operating on a -L argument.
+	      if test "$name" != "" -a "$name" != "0"; then
+		libname=`eval \\$echo \"$libname_spec\"`
+		deplib_matches=`eval \\$echo \"$library_names_spec\"`
+		set dummy $deplib_matches
+		deplib_match=$2
+		if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
+		  newdeplibs="$newdeplibs $i"
+		else
+		  droppeddeps=yes
+		  echo
+		  echo "*** Warning: This library needs some functionality provided by $i."
+		  echo "*** I have the capability to make that library automatically link in when"
+		  echo "*** you link to this library.  But I can only do this if you have a"
+		  echo "*** shared version of the library, which you do not appear to have."
+		fi
+	      else
+		newdeplibs="$newdeplibs $i"
+	      fi
+	    done
+	  else
+	    # Error occured in the first compile.  Let's try to salvage the situation:
+	    # Compile a seperate program for each library.
+	    for i in $deplibs; do
+	      name="`expr $i : '-l\(.*\)'`"
+	     # If $name is empty we are operating on a -L argument.
+	      if test "$name" != "" -a "$name" != "0"; then
+		$rm conftest
+		$LTCC -o conftest conftest.c $i
+		# Did it work?
+		if test $? -eq 0 ; then
+		  ldd_output=`ldd conftest`
+		  libname=`eval \\$echo \"$libname_spec\"`
+		  deplib_matches=`eval \\$echo \"$library_names_spec\"`
+		  set dummy $deplib_matches
+		  deplib_match=$2
+		  if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
+		    newdeplibs="$newdeplibs $i"
+		  else
+		    droppeddeps=yes
+		    echo
+		    echo "*** Warning: This library needs some functionality provided by $i."
+		    echo "*** I have the capability to make that library automatically link in when"
+		    echo "*** you link to this library.  But I can only do this if you have a"
+		    echo "*** shared version of the library, which you do not appear to have."
+		  fi
+		else
+		  droppeddeps=yes
+		  echo
+		  echo "*** Warning!  Library $i is needed by this library but I was not able to"
+		  echo "***  make it link in!  You will probably need to install it or some"
+		  echo "*** library that it depends on before this library will be fully"
+		  echo "*** functional.  Installing it before continuing would be even better."
+		fi
+	      else
+		newdeplibs="$newdeplibs $i"
+	      fi
+	    done
+	  fi
+	  ;;
+	file_magic*)
+	  set dummy $deplibs_check_method
+	  file_magic_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
+	  for a_deplib in $deplibs; do
+	    name="`expr $a_deplib : '-l\(.*\)'`"
+	    # If $name is empty we are operating on a -L argument.
+	    if test "$name" != "" -a "$name" != "0"; then
+	      libname=`eval \\$echo \"$libname_spec\"`
+	      for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
+		    potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
+		    for potent_lib in $potential_libs; do
+		      # Follow soft links.
+		      if ls -lLd "$potent_lib" 2>/dev/null \
+			 | grep " -> " >/dev/null; then
+			continue
+		      fi
+		      # The statement above tries to avoid entering an
+		      # endless loop below, in case of cyclic links.
+		      # We might still enter an endless loop, since a link
+		      # loop can be closed while we follow links,
+		      # but so what?
+		      potlib="$potent_lib"
+		      while test -h "$potlib" 2>/dev/null; do
+			potliblink=`ls -ld $potlib | sed 's/.* -> //'`
+			case "$potliblink" in
+			[\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
+			*) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";;
+			esac
+		      done
+		      if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \
+			 | sed 10q \
+			 | egrep "$file_magic_regex" > /dev/null; then
+			newdeplibs="$newdeplibs $a_deplib"
+			a_deplib=""
+			break 2
+		      fi
+		    done
+	      done
+	      if test -n "$a_deplib" ; then
+		droppeddeps=yes
+		echo
+		echo "*** Warning: This library needs some functionality provided by $a_deplib."
+		echo "*** I have the capability to make that library automatically link in when"
+		echo "*** you link to this library.  But I can only do this if you have a"
+		echo "*** shared version of the library, which you do not appear to have."
+	      fi
+	    else
+	      # Add a -L argument.
+	      newdeplibs="$newdeplibs $a_deplib"
+	    fi
+	  done # Gone through all deplibs.
+	  ;;
+	none | unknown | *)
+	  newdeplibs=""
+	  if $echo "X $deplibs" | $Xsed -e 's/ -lc$//' \
+	       -e 's/ -[LR][^ ]*//g' -e 's/[ 	]//g' |
+	     grep . >/dev/null; then
+	    echo
+	    if test "X$deplibs_check_method" = "Xnone"; then
+	      echo "*** Warning: inter-library dependencies are not supported in this platform."
+	    else
+	      echo "*** Warning: inter-library dependencies are not known to be supported."
+	    fi
+	    echo "*** All declared inter-library dependencies are being dropped."
+	    droppeddeps=yes
+	  fi
+	  ;;
+	esac
+	versuffix=$versuffix_save
+	major=$major_save
+	release=$release_save
+	libname=$libname_save
+	name=$name_save
+
+	if test "$droppeddeps" = yes; then
+	  if test "$module" = yes; then
+	    echo
+	    echo "*** Warning: libtool could not satisfy all declared inter-library"
+	    echo "*** dependencies of module $libname.  Therefore, libtool will create"
+	    echo "*** a static module, that should work as long as the dlopening"
+	    echo "*** application is linked with the -dlopen flag."
+	    if test -z "$global_symbol_pipe"; then
+	      echo
+	      echo "*** However, this would only work if libtool was able to extract symbol"
+	      echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
+	      echo "*** not find such a program.  So, this module is probably useless."
+	      echo "*** \`nm' from GNU binutils and a full rebuild may help."
+	    fi
+	    if test "$build_old_libs" = no; then
+	      oldlibs="$output_objdir/$libname.$libext"
+	      build_libtool_libs=module
+	      build_old_libs=yes
+	    else
+	      build_libtool_libs=no
+	    fi
+	  else
+	    echo "*** The inter-library dependencies that have been dropped here will be"
+	    echo "*** automatically added whenever a program is linked with this library"
+	    echo "*** or is declared to -dlopen it."
+	  fi
+	fi
+	# Done checking deplibs!
+	deplibs=$newdeplibs
+      fi
+
+      # All the library-specific variables (install_libdir is set above).
+      library_names=
+      old_library=
+      dlname=
+
+      # Test again, we may have decided not to build it any more
+      if test "$build_libtool_libs" = yes; then
+	if test "$hardcode_into_libs" != no; then
+	  # Hardcode the library paths
+	  hardcode_libdirs=
+	  dep_rpath=
+	  rpath="$finalize_rpath"
+	  test "$mode" != relink && rpath="$compile_rpath$rpath"
+	  for libdir in $rpath; do
+	    if test -n "$hardcode_libdir_flag_spec"; then
+	      if test -n "$hardcode_libdir_separator"; then
+		if test -z "$hardcode_libdirs"; then
+		  hardcode_libdirs="$libdir"
+		else
+		  # Just accumulate the unique libdirs.
+		  case "$hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator" in
+		  *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+		    ;;
+		  *)
+		    hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
+		    ;;
+		  esac
+		fi
+	      else
+		eval flag=\"$hardcode_libdir_flag_spec\"
+		dep_rpath="$dep_rpath $flag"
+	      fi
+	    elif test -n "$runpath_var"; then
+	      case "$perm_rpath " in
+	      *" $libdir "*) ;;
+	      *) perm_rpath="$perm_rpath $libdir" ;;
+	      esac
+	    fi
+	  done
+	  # Substitute the hardcoded libdirs into the rpath.
+	  if test -n "$hardcode_libdir_separator" &&
+	     test -n "$hardcode_libdirs"; then
+	    libdir="$hardcode_libdirs"
+	    eval dep_rpath=\"$hardcode_libdir_flag_spec\"
+	  fi
+	  if test -n "$runpath_var" && test -n "$perm_rpath"; then
+	    # We should set the runpath_var.
+	    rpath=
+	    for dir in $perm_rpath; do
+	      rpath="$rpath$dir:"
+	    done
+	    eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var"
+	  fi
+	  test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs"
+	fi
+
+	shlibpath="$finalize_shlibpath"
+	test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath"
+	if test -n "$shlibpath"; then
+	  eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"
+	fi
+
+	# Get the real and link names of the library.
+	eval library_names=\"$library_names_spec\"
+	set dummy $library_names
+	realname="$2"
+	shift; shift
+
+	if test -n "$soname_spec"; then
+	  eval soname=\"$soname_spec\"
+	else
+	  soname="$realname"
+	fi
+
+	lib="$output_objdir/$realname"
+	for link
+	do
+	  linknames="$linknames $link"
+	done
+
+#	# Ensure that we have .o objects for linkers which dislike .lo
+#	# (e.g. aix) in case we are running --disable-static
+#	for obj in $libobjs; do
+#	  xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'`
+#	  if test "X$xdir" = "X$obj"; then
+#	    xdir="."
+#	  else
+#	    xdir="$xdir"
+#	  fi
+#	  baseobj=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`
+#	  oldobj=`$echo "X$baseobj" | $Xsed -e "$lo2o"`
+#	  if test ! -f $xdir/$oldobj && test "$baseobj" != "$oldobj"; then
+#	    $show "(cd $xdir && ${LN_S} $baseobj $oldobj)"
+#	    $run eval '(cd $xdir && ${LN_S} $baseobj $oldobj)' || exit $?
+#	  fi
+#	done
+
+	# Use standard objects if they are pic
+	test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+
+	# Prepare the list of exported symbols
+	if test -z "$export_symbols"; then
+	  if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then
+	    $show "generating symbol list for \`$libname.la'"
+	    export_symbols="$output_objdir/$libname.exp"
+	    $run $rm $export_symbols
+	    eval cmds=\"$export_symbols_cmds\"
+	    IFS="${IFS= 	}"; save_ifs="$IFS"; IFS='~'
+	    for cmd in $cmds; do
+	      IFS="$save_ifs"
+	      $show "$cmd"
+	      $run eval "$cmd" || exit $?
+	    done
+	    IFS="$save_ifs"
+	    if test -n "$export_symbols_regex"; then
+	      $show "egrep -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\""
+	      $run eval 'egrep -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
+	      $show "$mv \"${export_symbols}T\" \"$export_symbols\""
+	      $run eval '$mv "${export_symbols}T" "$export_symbols"'
+	    fi
+	  fi
+	fi
+
+	if test -n "$export_symbols" && test -n "$include_expsyms"; then
+	  $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"'
+	fi
+
+	if test -n "$convenience"; then
+	  if test -n "$whole_archive_flag_spec"; then
+	    eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
+	  else
+	    gentop="$output_objdir/${outputname}x"
+	    $show "${rm}r $gentop"
+	    $run ${rm}r "$gentop"
+	    $show "$mkdir $gentop"
+	    $run $mkdir "$gentop"
+	    status=$?
+	    if test $status -ne 0 && test ! -d "$gentop"; then
+	      exit $status
+	    fi
+	    generated="$generated $gentop"
+
+	    for xlib in $convenience; do
+	      # Extract the objects.
+	      case "$xlib" in
+	      [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;;
+	      *) xabs=`pwd`"/$xlib" ;;
+	      esac
+	      xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'`
+	      xdir="$gentop/$xlib"
+
+	      $show "${rm}r $xdir"
+	      $run ${rm}r "$xdir"
+	      $show "$mkdir $xdir"
+	      $run $mkdir "$xdir"
+	      status=$?
+	      if test $status -ne 0 && test ! -d "$xdir"; then
+		exit $status
+	      fi
+	      $show "(cd $xdir && $AR x $xabs)"
+	      $run eval "(cd \$xdir && $AR x \$xabs)" || exit $?
+
+	      libobjs="$libobjs "`find $xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP`
+	    done
+	  fi
+	fi
+
+	if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
+	  eval flag=\"$thread_safe_flag_spec\"
+	  linker_flags="$linker_flags $flag"
+	fi
+
+	# Make a backup of the uninstalled library when relinking
+	if test "$mode" = relink && test "$hardcode_into_libs" = all; then
+	  $run eval '(cd $output_objdir && $rm ${realname}U && $mv $realname ${realname}U)' || exit $?
+	fi
+
+	# Do each of the archive commands.
+	if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
+	  eval cmds=\"$archive_expsym_cmds\"
+	else
+	  eval cmds=\"$archive_cmds\"
+	fi
+	IFS="${IFS= 	}"; save_ifs="$IFS"; IFS='~'
+	for cmd in $cmds; do
+	  IFS="$save_ifs"
+	  $show "$cmd"
+	  $run eval "$cmd" || exit $?
+	done
+	IFS="$save_ifs"
+
+	# Restore the uninstalled library and exit
+	if test "$mode" = relink && test "$hardcode_into_libs" = all; then
+	  $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $?
+	  exit 0
+	fi
+
+	# Create links to the real library.
+	for linkname in $linknames; do
+	  if test "$realname" != "$linkname"; then
+	    $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)"
+	    $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $?
+	  fi
+	done
+
+	# If -module or -export-dynamic was specified, set the dlname.
+	if test "$module" = yes || test "$export_dynamic" = yes; then
+	  # On all known operating systems, these are identical.
+	  dlname="$soname"
+	fi
+      fi
+      ;;
+
+    obj)
+      if test -n "$deplibs"; then
+	$echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2
+      fi
+
+      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+	$echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2
+      fi
+
+      if test -n "$rpath"; then
+	$echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2
+      fi
+
+      if test -n "$xrpath"; then
+	$echo "$modename: warning: \`-R' is ignored for objects" 1>&2
+      fi
+
+      if test -n "$vinfo"; then
+	$echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2
+      fi
+
+      if test -n "$release"; then
+	$echo "$modename: warning: \`-release' is ignored for objects" 1>&2
+      fi
+
+      case "$output" in
+      *.lo)
+	if test -n "$objs$old_deplibs"; then
+	  $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2
+	  exit 1
+	fi
+	libobj="$output"
+	obj=`$echo "X$output" | $Xsed -e "$lo2o"`
+	;;
+      *)
+	libobj=
+	obj="$output"
+	;;
+      esac
+
+      # Delete the old objects.
+      $run $rm $obj $libobj
+
+      # Objects from convenience libraries.  This assumes
+      # single-version convenience libraries.  Whenever we create
+      # different ones for PIC/non-PIC, this we'll have to duplicate
+      # the extraction.
+      reload_conv_objs=
+      gentop=
+      # reload_cmds runs $LD directly, so let us get rid of
+      # -Wl from whole_archive_flag_spec
+      wl=
+
+      if test -n "$convenience"; then
+	if test -n "$whole_archive_flag_spec"; then
+	  eval reload_conv_objs=\"\$reload_objs $whole_archive_flag_spec\"
+	else
+	  gentop="$output_objdir/${obj}x"
+	  $show "${rm}r $gentop"
+	  $run ${rm}r "$gentop"
+	  $show "$mkdir $gentop"
+	  $run $mkdir "$gentop"
+	  status=$?
+	  if test $status -ne 0 && test ! -d "$gentop"; then
+	    exit $status
+	  fi
+	  generated="$generated $gentop"
+
+	  for xlib in $convenience; do
+	    # Extract the objects.
+	    case "$xlib" in
+	    [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;;
+	    *) xabs=`pwd`"/$xlib" ;;
+	    esac
+	    xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'`
+	    xdir="$gentop/$xlib"
+
+	    $show "${rm}r $xdir"
+	    $run ${rm}r "$xdir"
+	    $show "$mkdir $xdir"
+	    $run $mkdir "$xdir"
+	    status=$?
+	    if test $status -ne 0 && test ! -d "$xdir"; then
+	      exit $status
+	    fi
+	    $show "(cd $xdir && $AR x $xabs)"
+	    $run eval "(cd \$xdir && $AR x \$xabs)" || exit $?
+
+	    reload_conv_objs="$reload_objs "`find $xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP`
+	  done
+	fi
+      fi
+
+      # Create the old-style object.
+      reload_objs="$objs$old_deplibs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
+
+      output="$obj"
+      eval cmds=\"$reload_cmds\"
+      IFS="${IFS= 	}"; save_ifs="$IFS"; IFS='~'
+      for cmd in $cmds; do
+	IFS="$save_ifs"
+	$show "$cmd"
+	$run eval "$cmd" || exit $?
+      done
+      IFS="$save_ifs"
+
+      # Exit if we aren't doing a library object file.
+      if test -z "$libobj"; then
+	if test -n "$gentop"; then
+	  $show "${rm}r $gentop"
+	  $run ${rm}r $gentop
+	fi
+
+	exit 0
+      fi
+
+      if test "$build_libtool_libs" != yes; then
+	if test -n "$gentop"; then
+	  $show "${rm}r $gentop"
+	  $run ${rm}r $gentop
+	fi
+
+	# Create an invalid libtool object if no PIC, so that we don't
+	# accidentally link it into a program.
+	# $show "echo timestamp > $libobj"
+	# $run eval "echo timestamp > $libobj" || exit $?
+	exit 0
+      fi
+
+      if test -n "$pic_flag" || test "$pic_mode" != default; then
+	# Only do commands if we really have different PIC objects.
+	reload_objs="$libobjs $reload_conv_objs"
+	output="$libobj"
+	eval cmds=\"$reload_cmds\"
+	IFS="${IFS= 	}"; save_ifs="$IFS"; IFS='~'
+	for cmd in $cmds; do
+	  IFS="$save_ifs"
+	  $show "$cmd"
+	  $run eval "$cmd" || exit $?
+	done
+	IFS="$save_ifs"
+#     else
+#	# Just create a symlink.
+#	$show $rm $libobj
+#	$run $rm $libobj
+#	xdir=`$echo "X$libobj" | $Xsed -e 's%/[^/]*$%%'`
+#	if test "X$xdir" = "X$libobj"; then
+#	  xdir="."
+#	else
+#	  xdir="$xdir"
+#	fi
+#	baseobj=`$echo "X$libobj" | $Xsed -e 's%^.*/%%'`
+#	oldobj=`$echo "X$baseobj" | $Xsed -e "$lo2o"`
+#	$show "(cd $xdir && $LN_S $oldobj $baseobj)"
+#	$run eval '(cd $xdir && $LN_S $oldobj $baseobj)' || exit $?
+      fi
+
+      if test -n "$gentop"; then
+	$show "${rm}r $gentop"
+	$run ${rm}r $gentop
+      fi
+
+      exit 0
+      ;;
+
+    prog)
+      if test -n "$vinfo"; then
+	$echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2
+      fi
+
+      if test -n "$release"; then
+	$echo "$modename: warning: \`-release' is ignored for programs" 1>&2
+      fi
+
+      if test "$preload" = yes; then
+	if test "$dlopen_support" = unknown && test "$dlopen_self" = unknown &&
+	   test "$dlopen_self_static" = unknown; then
+	  $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support."
+	fi
+      fi
+
+      compile_command="$compile_command $compile_deplibs"
+      finalize_command="$finalize_command $finalize_deplibs"
+
+      if test -n "$rpath$xrpath"; then
+	# If the user specified any rpath flags, then add them.
+	for libdir in $rpath $xrpath; do
+	  # This is the magic to use -rpath.
+	  case "$finalize_rpath " in
+	  *" $libdir "*) ;;
+	  *) finalize_rpath="$finalize_rpath $libdir" ;;
+	  esac
+	done
+      fi
+
+      # Now hardcode the library paths
+      rpath=
+      hardcode_libdirs=
+      for libdir in $compile_rpath $finalize_rpath; do
+	if test -n "$hardcode_libdir_flag_spec"; then
+	  if test -n "$hardcode_libdir_separator"; then
+	    if test -z "$hardcode_libdirs"; then
+	      hardcode_libdirs="$libdir"
+	    else
+	      # Just accumulate the unique libdirs.
+	      case "$hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator" in
+	      *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+		;;
+	      *)
+		hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
+		;;
+	      esac
+	    fi
+	  else
+	    eval flag=\"$hardcode_libdir_flag_spec\"
+	    rpath="$rpath $flag"
+	  fi
+	elif test -n "$runpath_var"; then
+	  case "$perm_rpath " in
+	  *" $libdir "*) ;;
+	  *) perm_rpath="$perm_rpath $libdir" ;;
+	  esac
+	fi
+	case "$host" in
+	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
+	  case ":$dllsearchpath:" in
+	  *":$libdir:"*) ;;
+	  *) dllsearchpath="$dllsearchpath:$libdir";;
+	  esac
+	  ;;
+	esac
+      done
+      # Substitute the hardcoded libdirs into the rpath.
+      if test -n "$hardcode_libdir_separator" &&
+	 test -n "$hardcode_libdirs"; then
+	libdir="$hardcode_libdirs"
+	eval rpath=\" $hardcode_libdir_flag_spec\"
+      fi
+      compile_rpath="$rpath"
+
+      rpath=
+      hardcode_libdirs=
+      for libdir in $finalize_rpath; do
+	if test -n "$hardcode_libdir_flag_spec"; then
+	  if test -n "$hardcode_libdir_separator"; then
+	    if test -z "$hardcode_libdirs"; then
+	      hardcode_libdirs="$libdir"
+	    else
+	      # Just accumulate the unique libdirs.
+	      case "$hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator" in
+	      *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+		;;
+	      *)
+		hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
+		;;
+	      esac
+	    fi
+	  else
+	    eval flag=\"$hardcode_libdir_flag_spec\"
+	    rpath="$rpath $flag"
+	  fi
+	elif test -n "$runpath_var"; then
+	  case "$finalize_perm_rpath " in
+	  *" $libdir "*) ;;
+	  *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;;
+	  esac
+	fi
+      done
+      # Substitute the hardcoded libdirs into the rpath.
+      if test -n "$hardcode_libdir_separator" &&
+	 test -n "$hardcode_libdirs"; then
+	libdir="$hardcode_libdirs"
+	eval rpath=\" $hardcode_libdir_flag_spec\"
+      fi
+      finalize_rpath="$rpath"
+
+      dlsyms=
+      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+	if test -n "$NM" && test -n "$global_symbol_pipe"; then
+	  dlsyms="${outputname}S.c"
+	else
+	  $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2
+	fi
+      fi
+
+      if test -n "$dlsyms"; then
+	case "$dlsyms" in
+	"") ;;
+	*.c)
+	  # Discover the nlist of each of the dlfiles.
+	  nlist="$output_objdir/${outputname}.nm"
+
+	  $show "$rm $nlist ${nlist}S ${nlist}T"
+	  $run $rm "$nlist" "${nlist}S" "${nlist}T"
+
+	  # Parse the name list into a source file.
+	  $show "creating $output_objdir/$dlsyms"
+
+	  test -z "$run" && $echo > "$output_objdir/$dlsyms" "\
+/* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */
+/* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */
+
+#ifdef __cplusplus
+extern \"C\" {
+#endif
+
+/* Prevent the only kind of declaration conflicts we can make. */
+#define lt_preloaded_symbols some_other_symbol
+
+/* External symbol declarations for the compiler. */\
+"
+
+	  if test "$dlself" = yes; then
+	    $show "generating symbol list for \`$output'"
+
+	    test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist"
+
+	    # Add our own program objects to the symbol list.
+	    progfiles="$objs$old_deplibs"
+	    for arg in $progfiles; do
+	      $show "extracting global C symbols from \`$arg'"
+	      $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
+	    done
+
+	    if test -n "$exclude_expsyms"; then
+	      $run eval 'egrep -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
+	      $run eval '$mv "$nlist"T "$nlist"'
+	    fi
+
+	    if test -n "$export_symbols_regex"; then
+	      $run eval 'egrep -e "$export_symbols_regex" "$nlist" > "$nlist"T'
+	      $run eval '$mv "$nlist"T "$nlist"'
+	    fi
+
+	    # Prepare the list of exported symbols
+	    if test -z "$export_symbols"; then
+	      export_symbols="$output_objdir/$output.exp"
+	      $run $rm $export_symbols
+	      $run eval "sed -n -e '/^: @PROGRAM@$/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
+	    else
+	      $run eval "sed -e 's/\([][.*^$]\)/\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$output.exp"'
+	      $run eval 'grep -f "$output_objdir/$output.exp" < "$nlist" > "$nlist"T'
+	      $run eval 'mv "$nlist"T "$nlist"'
+	    fi
+	  fi
+
+	  for arg in $dlprefiles; do
+	    $show "extracting global C symbols from \`$arg'"
+	    name=`echo "$arg" | sed -e 's%^.*/%%'`
+	    $run eval 'echo ": $name " >> "$nlist"'
+	    $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
+	  done
+
+	  if test -z "$run"; then
+	    # Make sure we have at least an empty file.
+	    test -f "$nlist" || : > "$nlist"
+
+	    if test -n "$exclude_expsyms"; then
+	      egrep -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
+	      $mv "$nlist"T "$nlist"
+	    fi
+
+	    # Try sorting and uniquifying the output.
+	    if grep -v "^: " < "$nlist" | sort +2 | uniq > "$nlist"S; then
+	      :
+	    else
+	      grep -v "^: " < "$nlist" > "$nlist"S
+	    fi
+
+	    if test -f "$nlist"S; then
+	      eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"'
+	    else
+	      echo '/* NONE */' >> "$output_objdir/$dlsyms"
+	    fi
+
+	    $echo >> "$output_objdir/$dlsyms" "\
+
+#undef lt_preloaded_symbols
+
+#if defined (__STDC__) && __STDC__
+# define lt_ptr_t void *
+#else
+# define lt_ptr_t char *
+# define const
+#endif
+
+/* The mapping between symbol names and symbols. */
+const struct {
+  const char *name;
+  lt_ptr_t address;
+}
+lt_preloaded_symbols[] =
+{\
+"
+
+	    sed -n -e 's/^: \([^ ]*\) $/  {\"\1\", (lt_ptr_t) 0},/p' \
+		-e 's/^. \([^ ]*\) \([^ ]*\)$/  {"\2", (lt_ptr_t) \&\2},/p' \
+		  < "$nlist" >> "$output_objdir/$dlsyms"
+
+	    $echo >> "$output_objdir/$dlsyms" "\
+  {0, (lt_ptr_t) 0}
+};
+
+/* This works around a problem in FreeBSD linker */
+#ifdef FREEBSD_WORKAROUND
+static const void *lt_preloaded_setup() {
+  return lt_preloaded_symbols;
+}
+#endif
+
+#ifdef __cplusplus
+}
+#endif\
+"
+	  fi
+
+	  pic_flag_for_symtable=
+	  case "$host" in
+	  # compiling the symbol table file with pic_flag works around
+	  # a FreeBSD bug that causes programs to crash when -lm is
+	  # linked before any other PIC object.  But we must not use
+	  # pic_flag when linking with -static.  The problem exists in
+	  # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
+	  *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
+	    case "$compile_command " in
+	    *" -static "*) ;;
+	    *) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND";;
+	    esac;;
+	  *-*-hpux*)
+	    case "$compile_command " in
+	    *" -static "*) ;;
+	    *) pic_flag_for_symtable=" $pic_flag";;
+	    esac
+	  esac
+
+	  # Now compile the dynamic symbol file.
+	  $show "(cd $output_objdir && $LTCC -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")"
+	  $run eval '(cd $output_objdir && $LTCC -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $?
+
+	  # Clean up the generated files.
+	  $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T"
+	  $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T"
+
+	  # Transform the symbol file into the correct name.
+	  compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
+	  finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
+	  ;;
+	*)
+	  $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2
+	  exit 1
+	  ;;
+	esac
+      else
+	# We keep going just in case the user didn't refer to
+	# lt_preloaded_symbols.  The linker will fail if global_symbol_pipe
+	# really was required.
+
+	# Nullify the symbol file.
+	compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
+	finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
+      fi
+
+      # AIX runtime linking requires linking programs with -Wl,-brtl and libs with -Wl,-G
+      case "$host" in
+        *-*-aix4*) compile_command="$compile_command $wl-brtl"
+                   finalize_command="$finalize_command $wl-brtl" ;;
+      esac
+
+      if test $need_relink = no || test "$build_libtool_libs" != yes; then
+	# Replace the output file specification.
+	compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
+	link_command="$compile_command$compile_rpath"
+
+	# We have no uninstalled library dependencies, so finalize right now.
+	$show "$link_command"
+	$run eval "$link_command"
+	status=$?
+
+	# Delete the generated files.
+	if test -n "$dlsyms"; then
+	  $show "$rm $output_objdir/${outputname}S.${objext}"
+	  $run $rm "$output_objdir/${outputname}S.${objext}"
+	fi
+
+	exit $status
+      fi
+
+      if test -n "$shlibpath_var"; then
+	# We should set the shlibpath_var
+	rpath=
+	for dir in $temp_rpath; do
+	  case "$dir" in
+	  [\\/]* | [A-Za-z]:[\\/]*)
+	    # Absolute path.
+	    rpath="$rpath$dir:"
+	    ;;
+	  *)
+	    # Relative path: add a thisdir entry.
+	    rpath="$rpath\$thisdir/$dir:"
+	    ;;
+	  esac
+	done
+	temp_rpath="$rpath"
+      fi
+
+      if test -n "$compile_shlibpath$finalize_shlibpath"; then
+	compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
+      fi
+      if test -n "$finalize_shlibpath"; then
+	finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
+      fi
+
+      compile_var=
+      finalize_var=
+      if test -n "$runpath_var"; then
+	if test -n "$perm_rpath"; then
+	  # We should set the runpath_var.
+	  rpath=
+	  for dir in $perm_rpath; do
+	    rpath="$rpath$dir:"
+	  done
+	  compile_var="$runpath_var=\"$rpath\$$runpath_var\" "
+	fi
+	if test -n "$finalize_perm_rpath"; then
+	  # We should set the runpath_var.
+	  rpath=
+	  for dir in $finalize_perm_rpath; do
+	    rpath="$rpath$dir:"
+	  done
+	  finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "
+	fi
+      fi
+
+      if test "$no_install" = yes; then
+	# We don't need to create a wrapper script.
+	link_command="$compile_var$compile_command$compile_rpath"
+	# Replace the output file specification.
+	link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
+	# Delete the old output file.
+	$run $rm $output
+	# Link the executable and exit
+	$show "$link_command"
+	$run eval "$link_command" || exit $?
+	exit 0
+      fi
+
+      if test "$hardcode_action" = relink || test "$hardcode_into_libs" = all; then
+	# Fast installation is not supported
+	link_command="$compile_var$compile_command$compile_rpath"
+	relink_command="$finalize_var$finalize_command$finalize_rpath"
+
+	$echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2
+	$echo "$modename: \`$output' will be relinked during installation" 1>&2
+      else
+	if test "$fast_install" != no; then
+	  link_command="$finalize_var$compile_command$finalize_rpath"
+	  if test "$fast_install" = yes; then
+	    relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'`
+	  else
+	    # fast_install is set to needless
+	    relink_command=
+	  fi
+	else
+	  link_command="$compile_var$compile_command$compile_rpath"
+	  relink_command="$finalize_var$finalize_command$finalize_rpath"
+	fi
+      fi
+
+      # Replace the output file specification.
+      link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
+
+      # Delete the old output files.
+      $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname
+
+      $show "$link_command"
+      $run eval "$link_command" || exit $?
+
+      # Now create the wrapper script.
+      $show "creating $output"
+
+      # Quote the relink command for shipping.
+      if test -n "$relink_command"; then
+	# Preserve any variables that may affect compiler behavior
+	for var in $variables_saved_for_relink; do
+	  if eval test -z \"\${$var+set}\"; then
+	    relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command"
+	  elif eval var_value=\$$var; test -z "$var_value"; then
+	    relink_command="$var=; export $var; $relink_command"
+	  else
+	    var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"`
+	    relink_command="$var=\"$var_value\"; export $var; $relink_command"
+	  fi
+	done
+	relink_command="cd `pwd`; $relink_command"
+	relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"`
+      fi
+
+      # Quote $echo for shipping.
+      if test "X$echo" = "X$SHELL $0 --fallback-echo"; then
+	case "$0" in
+	[\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $0 --fallback-echo";;
+	*) qecho="$SHELL `pwd`/$0 --fallback-echo";;
+	esac
+	qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"`
+      else
+	qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"`
+      fi
+
+      # Only actually do things if our run command is non-null.
+      if test -z "$run"; then
+	# win32 will think the script is a binary if it has
+	# a .exe suffix, so we strip it off here.
+	case $output in
+	  *.exe) output=`echo $output|sed 's,.exe$,,'` ;;
+	esac
+	$rm $output
+	trap "$rm $output; exit 1" 1 2 15
+
+	$echo > $output "\
+#! $SHELL
+
+# $output - temporary wrapper script for $objdir/$outputname
+# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
+#
+# The $output program cannot be directly executed until all the libtool
+# libraries that it depends on are installed.
+#
+# This wrapper script should never be moved out of the build directory.
+# If it is, it will not operate correctly.
+
+# Sed substitution that helps us do robust quoting.  It backslashifies
+# metacharacters that are still active within double-quoted strings.
+Xsed='sed -e 1s/^X//'
+sed_quote_subst='$sed_quote_subst'
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+if test \"\${CDPATH+set}\" = set; then CDPATH=:; export CDPATH; fi
+
+relink_command=\"$relink_command\"
+
+# This environment variable determines our operation mode.
+if test \"\$libtool_install_magic\" = \"$magic\"; then
+  # install mode needs the following variable:
+  uninst_deplibs='$uninst_deplibs'
+else
+  # When we are sourced in execute mode, \$file and \$echo are already set.
+  if test \"\$libtool_execute_magic\" != \"$magic\"; then
+    echo=\"$qecho\"
+    file=\"\$0\"
+    # Make sure echo works.
+    if test \"X\$1\" = X--no-reexec; then
+      # Discard the --no-reexec flag, and continue.
+      shift
+    elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then
+      # Yippee, \$echo works!
+      :
+    else
+      # Restart under the correct shell, and then maybe \$echo will work.
+      exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"}
+    fi
+  fi\
+"
+	$echo >> $output "\
+
+  # Find the directory that this script lives in.
+  thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\`
+  test \"x\$thisdir\" = \"x\$file\" && thisdir=.
+
+  # Follow symbolic links until we get to the real thisdir.
+  file=\`ls -ld \"\$file\" | sed -n 's/.*-> //p'\`
+  while test -n \"\$file\"; do
+    destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\`
+
+    # If there was a directory component, then change thisdir.
+    if test \"x\$destdir\" != \"x\$file\"; then
+      case \"\$destdir\" in
+      [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;;
+      *) thisdir=\"\$thisdir/\$destdir\" ;;
+      esac
+    fi
+
+    file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\`
+    file=\`ls -ld \"\$thisdir/\$file\" | sed -n 's/.*-> //p'\`
+  done
+
+  # Try to get the absolute directory name.
+  absdir=\`cd \"\$thisdir\" && pwd\`
+  test -n \"\$absdir\" && thisdir=\"\$absdir\"
+"
+
+	if test "$fast_install" = yes; then
+	  echo >> $output "\
+  program=lt-'$outputname'
+  progdir=\"\$thisdir/$objdir\"
+
+  if test ! -f \"\$progdir/\$program\" || \\
+     { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | sed 1q\`; \\
+       test \"X\$file\" != \"X\$progdir/\$program\"; }; then
+
+    file=\"\$\$-\$program\"
+
+    if test ! -d \"\$progdir\"; then
+      $mkdir \"\$progdir\"
+    else
+      $rm \"\$progdir/\$file\"
+    fi"
+
+	  echo >> $output "\
+
+    # relink executable if necessary
+    if test -n \"\$relink_command\"; then
+      if (eval \$relink_command); then :
+      else
+	$rm \"\$progdir/\$file\"
+	exit 1
+      fi
+    fi
+
+    $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
+    { $rm \"\$progdir/\$program\";
+      $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; }
+    $rm \"\$progdir/\$file\"
+  fi"
+	else
+	  echo >> $output "\
+  program='$outputname'
+  progdir=\"\$thisdir/$objdir\"
+"
+	fi
+
+	echo >> $output "\
+
+  if test -f \"\$progdir/\$program\"; then"
+
+	# Export our shlibpath_var if we have one.
+	if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
+	  $echo >> $output "\
+    # Add our own library path to $shlibpath_var
+    $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
+
+    # Some systems cannot cope with colon-terminated $shlibpath_var
+    # The second colon is a workaround for a bug in BeOS R4 sed
+    $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\`
+
+    export $shlibpath_var
+"
+	fi
+
+	# fixup the dll searchpath if we need to.
+	if test -n "$dllsearchpath"; then
+	  $echo >> $output "\
+    # Add the dll search path components to the executable PATH
+    PATH=$dllsearchpath:\$PATH
+"
+	fi
+
+	$echo >> $output "\
+    if test \"\$libtool_execute_magic\" != \"$magic\"; then
+      # Run the actual program with our arguments.
+"
+	case $host in
+	# win32 systems need to use the prog path for dll
+	# lookup to work
+	*-*-cygwin* | *-*-pw32*)
+	  $echo >> $output "\
+      exec \$progdir/\$program \${1+\"\$@\"}
+"
+	  ;;
+
+	# Backslashes separate directories on plain windows
+	*-*-mingw | *-*-os2*)
+	  $echo >> $output "\
+      exec \$progdir\\\\\$program \${1+\"\$@\"}
+"
+	  ;;
+
+	*)
+	  $echo >> $output "\
+      # Export the path to the program.
+      PATH=\"\$progdir:\$PATH\"
+      export PATH
+
+      exec \$program \${1+\"\$@\"}
+"
+	  ;;
+	esac
+	$echo >> $output "\
+      \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\"
+      exit 1
+    fi
+  else
+    # The program doesn't exist.
+    \$echo \"\$0: error: \$progdir/\$program does not exist\" 1>&2
+    \$echo \"This script is just a wrapper for \$program.\" 1>&2
+    echo \"See the $PACKAGE documentation for more information.\" 1>&2
+    exit 1
+  fi
+fi\
+"
+	chmod +x $output
+      fi
+      exit 0
+      ;;
+    esac
+
+    # See if we need to build an old-fashioned archive.
+    for oldlib in $oldlibs; do
+
+      if test "$build_libtool_libs" = convenience; then
+	oldobjs="$libobjs_save"
+	addlibs="$convenience"
+	build_libtool_libs=no
+      else
+	if test "$build_libtool_libs" = module; then
+	  oldobjs="$libobjs_save"
+	  build_libtool_libs=no
+	else
+	  oldobjs="$objs$old_deplibs $non_pic_objects"
+	fi
+	addlibs="$old_convenience"
+      fi
+
+      if test -n "$addlibs"; then
+	gentop="$output_objdir/${outputname}x"
+	$show "${rm}r $gentop"
+	$run ${rm}r "$gentop"
+	$show "$mkdir $gentop"
+	$run $mkdir "$gentop"
+	status=$?
+	if test $status -ne 0 && test ! -d "$gentop"; then
+	  exit $status
+	fi
+	generated="$generated $gentop"
+
+	# Add in members from convenience archives.
+	for xlib in $addlibs; do
+	  # Extract the objects.
+	  case "$xlib" in
+	  [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;;
+	  *) xabs=`pwd`"/$xlib" ;;
+	  esac
+	  xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'`
+	  xdir="$gentop/$xlib"
+
+	  $show "${rm}r $xdir"
+	  $run ${rm}r "$xdir"
+	  $show "$mkdir $xdir"
+	  $run $mkdir "$xdir"
+	  status=$?
+	  if test $status -ne 0 && test ! -d "$xdir"; then
+	    exit $status
+	  fi
+	  $show "(cd $xdir && $AR x $xabs)"
+	  $run eval "(cd \$xdir && $AR x \$xabs)" || exit $?
+
+	  oldobjs="$oldobjs "`find $xdir -name \*.${objext} -print | $NL2SP`
+	done
+      fi
+
+      # Do each command in the archive commands.
+      if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
+	eval cmds=\"$old_archive_from_new_cmds\"
+      else
+#	# Ensure that we have .o objects in place in case we decided
+#	# not to build a shared library, and have fallen back to building
+#	# static libs even though --disable-static was passed!
+#	for oldobj in $oldobjs; do
+#	  if test ! -f $oldobj; then
+#	    xdir=`$echo "X$oldobj" | $Xsed -e 's%/[^/]*$%%'`
+#	    if test "X$xdir" = "X$oldobj"; then
+#	      xdir="."
+#	    else
+#	      xdir="$xdir"
+#	    fi
+#	    baseobj=`$echo "X$oldobj" | $Xsed -e 's%^.*/%%'`
+#	    obj=`$echo "X$baseobj" | $Xsed -e "$o2lo"`
+#	    $show "(cd $xdir && ${LN_S} $obj $baseobj)"
+#	    $run eval '(cd $xdir && ${LN_S} $obj $baseobj)' || exit $?
+#	  fi
+#	done
+
+	eval cmds=\"$old_archive_cmds\"
+      fi
+      IFS="${IFS= 	}"; save_ifs="$IFS"; IFS='~'
+      for cmd in $cmds; do
+	IFS="$save_ifs"
+	$show "$cmd"
+	$run eval "$cmd" || exit $?
+      done
+      IFS="$save_ifs"
+    done
+
+    if test -n "$generated"; then
+      $show "${rm}r$generated"
+      $run ${rm}r$generated
+    fi
+
+    # Now create the libtool archive.
+    case "$output" in
+    *.la)
+      old_library=
+      test "$build_old_libs" = yes && old_library="$libname.$libext"
+      $show "creating $output"
+
+      # Preserve any variables that may affect compiler behavior
+      for var in $variables_saved_for_relink; do
+	if eval test -z \"\${$var+set}\"; then
+	  relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command"
+	elif eval var_value=\$$var; test -z "$var_value"; then
+	  relink_command="$var=; export $var; $relink_command"
+	else
+	  var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"`
+	  relink_command="$var=\"$var_value\"; export $var; $relink_command"
+	fi
+      done
+      # Quote the link command for shipping.
+      relink_command="cd `pwd`; $SHELL $0 --mode=relink $libtool_args"
+      relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"`
+
+      # Only create the output if not a dry run.
+      if test -z "$run"; then
+	for installed in no yes; do
+	  if test "$installed" = yes; then
+	    if test -z "$install_libdir"; then
+	      break
+	    fi
+	    output="$output_objdir/$outputname"i
+	    # Replace all uninstalled libtool libraries with the installed ones
+	    newdependency_libs=
+	    for deplib in $dependency_libs; do
+	      case "$deplib" in
+	      *.la)
+		name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'`
+		eval libdir=`sed -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
+		if test -z "$libdir"; then
+		  $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
+		  exit 1
+		fi
+		newdependency_libs="$newdependency_libs $libdir/$name"
+		;;
+	      *) newdependency_libs="$newdependency_libs $deplib" ;;
+	      esac
+	    done
+	    dependency_libs="$newdependency_libs"
+	    newdlfiles=
+	    for lib in $dlfiles; do
+	      name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
+	      eval libdir=`sed -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
+	      if test -z "$libdir"; then
+		$echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
+		exit 1
+	      fi
+	      newdlfiles="$newdlfiles $libdir/$name"
+	    done
+	    dlfiles="$newdlfiles"
+	    newdlprefiles=
+	    for lib in $dlprefiles; do
+	      name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
+	      eval libdir=`sed -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
+	      if test -z "$libdir"; then
+		$echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
+		exit 1
+	      fi
+	      newdlprefiles="$newdlprefiles $libdir/$name"
+	    done
+	    dlprefiles="$newdlprefiles"
+	  fi
+	  $rm $output
+	  $echo > $output "\
+# $outputname - a libtool library file
+# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# The name that we can dlopen(3).
+dlname='$dlname'
+
+# Names of this library.
+library_names='$library_names'
+
+# The name of the static archive.
+old_library='$old_library'
+
+# Libraries that this one depends upon.
+dependency_libs='$dependency_libs'
+
+# Version information for $libname.
+current=$current
+age=$age
+revision=$revision
+
+# Is this an already installed library?
+installed=$installed
+
+# Files to dlopen/dlpreopen
+dlopen='$dlfiles'
+dlpreopen='$dlprefiles'
+
+# Directory that this library needs to be installed in:
+libdir='$install_libdir'"
+	  if test $hardcode_into_libs = all &&
+	     test "$installed" = no && test $need_relink = yes; then
+	    $echo >> $output "\
+relink_command=\"$relink_command\""
+	  fi
+	done
+      fi
+
+      # Do a symbolic link so that the libtool archive can be found in
+      # LD_LIBRARY_PATH before the program is installed.
+      $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)"
+      $run eval '(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)' || exit $?
+      ;;
+    esac
+    exit 0
+    ;;
+
+  # libtool install mode
+  install)
+    modename="$modename: install"
+
+    # There may be an optional sh(1) argument at the beginning of
+    # install_prog (especially on Windows NT).
+    if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
+       # Allow the use of GNU shtool's install command.
+       $echo "X$nonopt" | $Xsed | grep shtool > /dev/null; then
+      # Aesthetically quote it.
+      arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"`
+      case "$arg" in
+      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*)
+	arg="\"$arg\""
+	;;
+      esac
+      install_prog="$arg "
+      arg="$1"
+      shift
+    else
+      install_prog=
+      arg="$nonopt"
+    fi
+
+    # The real first argument should be the name of the installation program.
+    # Aesthetically quote it.
+    arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
+    case "$arg" in
+    *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*)
+      arg="\"$arg\""
+      ;;
+    esac
+    install_prog="$install_prog$arg"
+
+    # We need to accept at least all the BSD install flags.
+    dest=
+    files=
+    opts=
+    prev=
+    install_type=
+    isdir=no
+    stripme=
+    for arg
+    do
+      if test -n "$dest"; then
+	files="$files $dest"
+	dest="$arg"
+	continue
+      fi
+
+      case "$arg" in
+      -d) isdir=yes ;;
+      -f) prev="-f" ;;
+      -g) prev="-g" ;;
+      -m) prev="-m" ;;
+      -o) prev="-o" ;;
+      -s)
+	stripme=" -s"
+	continue
+	;;
+      -*) ;;
+
+      *)
+	# If the previous option needed an argument, then skip it.
+	if test -n "$prev"; then
+	  prev=
+	else
+	  dest="$arg"
+	  continue
+	fi
+	;;
+      esac
+
+      # Aesthetically quote the argument.
+      arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
+      case "$arg" in
+      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*)
+	arg="\"$arg\""
+	;;
+      esac
+      install_prog="$install_prog $arg"
+    done
+
+    if test -z "$install_prog"; then
+      $echo "$modename: you must specify an install program" 1>&2
+      $echo "$help" 1>&2
+      exit 1
+    fi
+
+    if test -n "$prev"; then
+      $echo "$modename: the \`$prev' option requires an argument" 1>&2
+      $echo "$help" 1>&2
+      exit 1
+    fi
+
+    if test -z "$files"; then
+      if test -z "$dest"; then
+	$echo "$modename: no file or destination specified" 1>&2
+      else
+	$echo "$modename: you must specify a destination" 1>&2
+      fi
+      $echo "$help" 1>&2
+      exit 1
+    fi
+
+    # Strip any trailing slash from the destination.
+    dest=`$echo "X$dest" | $Xsed -e 's%/$%%'`
+
+    # Check to see that the destination is a directory.
+    test -d "$dest" && isdir=yes
+    if test "$isdir" = yes; then
+      destdir="$dest"
+      destname=
+    else
+      destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'`
+      test "X$destdir" = "X$dest" && destdir=.
+      destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'`
+
+      # Not a directory, so check to see that there is only one file specified.
+      set dummy $files
+      if test $# -gt 2; then
+	$echo "$modename: \`$dest' is not a directory" 1>&2
+	$echo "$help" 1>&2
+	exit 1
+      fi
+    fi
+    case "$destdir" in
+    [\\/]* | [A-Za-z]:[\\/]*) ;;
+    *)
+      for file in $files; do
+	case "$file" in
+	*.lo) ;;
+	*)
+	  $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2
+	  $echo "$help" 1>&2
+	  exit 1
+	  ;;
+	esac
+      done
+      ;;
+    esac
+
+    # This variable tells wrapper scripts just to set variables rather
+    # than running their programs.
+    libtool_install_magic="$magic"
+
+    staticlibs=
+    future_libdirs=
+    current_libdirs=
+    for file in $files; do
+
+      # Do each installation.
+      case "$file" in
+      *.$libext)
+	# Do the static libraries later.
+	staticlibs="$staticlibs $file"
+	;;
+
+      *.la)
+	# Check to see that this really is a libtool archive.
+	if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
+	else
+	  $echo "$modename: \`$file' is not a valid libtool archive" 1>&2
+	  $echo "$help" 1>&2
+	  exit 1
+	fi
+
+	library_names=
+	old_library=
+	relink_command=
+	# If there is no directory component, then add one.
+	case "$file" in
+	*/* | *\\*) . $file ;;
+	*) . ./$file ;;
+	esac
+
+	# Add the libdir to current_libdirs if it is the destination.
+	if test "X$destdir" = "X$libdir"; then
+	  case "$current_libdirs " in
+	  *" $libdir "*) ;;
+	  *) current_libdirs="$current_libdirs $libdir" ;;
+	  esac
+	else
+	  # Note the libdir as a future libdir.
+	  case "$future_libdirs " in
+	  *" $libdir "*) ;;
+	  *) future_libdirs="$future_libdirs $libdir" ;;
+	  esac
+	fi
+
+	dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/
+	test "X$dir" = "X$file/" && dir=
+	dir="$dir$objdir"
+
+	if test "$hardcode_into_libs" = all && test -n "$relink_command"; then
+	  $echo "$modename: warning: relinking \`$file'" 1>&2
+	  $show "$relink_command"
+	  if $run eval "$relink_command"; then :
+	  else
+	    $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2
+	    continue
+	  fi
+	fi
+
+	# See the names of the shared library.
+	set dummy $library_names
+	if test -n "$2"; then
+	  realname="$2"
+	  shift
+	  shift
+
+	  srcname="$realname"
+	  test "$hardcode_into_libs" = all && test -n "$relink_command" && srcname="$realname"T
+
+	  # Install the shared library and build the symlinks.
+	  $show "$install_prog $dir/$srcname $destdir/$realname"
+	  $run eval "$install_prog $dir/$srcname $destdir/$realname" || exit $?
+	  if test -n "$stripme" && test -n "$striplib"; then
+	    $show "$striplib $destdir/$realname"
+	    $run eval "$striplib $destdir/$realname" || exit $?
+	  fi
+
+	  if test $# -gt 0; then
+	    # Delete the old symlinks, and create new ones.
+	    for linkname
+	    do
+	      if test "$linkname" != "$realname"; then
+		$show "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)"
+		$run eval "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)"
+	      fi
+	    done
+	  fi
+
+	  # Do each command in the postinstall commands.
+	  lib="$destdir/$realname"
+	  eval cmds=\"$postinstall_cmds\"
+	  IFS="${IFS= 	}"; save_ifs="$IFS"; IFS='~'
+	  for cmd in $cmds; do
+	    IFS="$save_ifs"
+	    $show "$cmd"
+	    $run eval "$cmd" || exit $?
+	  done
+	  IFS="$save_ifs"
+	fi
+
+	# Install the pseudo-library for information purposes.
+	name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
+	instname="$dir/$name"i
+	$show "$install_prog $instname $destdir/$name"
+	$run eval "$install_prog $instname $destdir/$name" || exit $?
+
+	# Maybe install the static library, too.
+	test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
+	;;
+
+      *.lo)
+	# Install (i.e. copy) a libtool object.
+
+	# Figure out destination file name, if it wasn't already specified.
+	if test -n "$destname"; then
+	  destfile="$destdir/$destname"
+	else
+	  destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
+	  destfile="$destdir/$destfile"
+	fi
+
+	# Deduce the name of the destination old-style object file.
+	case "$destfile" in
+	*.lo)
+	  staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"`
+	  ;;
+	*.$objext)
+	  staticdest="$destfile"
+	  destfile=
+	  ;;
+	*)
+	  $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2
+	  $echo "$help" 1>&2
+	  exit 1
+	  ;;
+	esac
+
+	# Install the libtool object if requested.
+	if test -n "$destfile"; then
+	  $show "$install_prog $file $destfile"
+	  $run eval "$install_prog $file $destfile" || exit $?
+	fi
+
+	# Install the old object if enabled.
+	if test "$build_old_libs" = yes; then
+	  # Deduce the name of the old-style object file.
+	  staticobj=`$echo "X$file" | $Xsed -e "$lo2o"`
+
+	  $show "$install_prog $staticobj $staticdest"
+	  $run eval "$install_prog \$staticobj \$staticdest" || exit $?
+	fi
+	exit 0
+	;;
+
+      *)
+	# Figure out destination file name, if it wasn't already specified.
+	if test -n "$destname"; then
+	  destfile="$destdir/$destname"
+	else
+	  destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
+	  destfile="$destdir/$destfile"
+	fi
+
+	# Do a test to see if this is really a libtool program.
+	if (sed -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+	  uninst_deplibs=
+	  relink_command=
+
+	  # If there is no directory component, then add one.
+	  case "$file" in
+	  */* | *\\*) . $file ;;
+	  *) . ./$file ;;
+	  esac
+
+	  # Check the variables that should have been set.
+	  if test -z "$uninst_deplibs"; then
+	    $echo "$modename: invalid libtool wrapper script \`$file'" 1>&2
+	    exit 1
+	  fi
+
+	  finalize=yes
+	  for lib in $uninst_deplibs; do
+	    # Check to see that each library is installed.
+	    libdir=
+	    if test -f "$lib"; then
+	      # If there is no directory component, then add one.
+	      case "$lib" in
+	      */* | *\\*) . $lib ;;
+	      *) . ./$lib ;;
+	      esac
+	    fi
+	    libfile="$libdir/"`$echo "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test
+	    if test -n "$libdir" && test ! -f "$libfile"; then
+	      $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2
+	      finalize=no
+	    fi
+	  done
+
+	  relink_command=
+	  # If there is no directory component, then add one.
+	  case "$file" in
+	  */* | *\\*) . $file ;;
+	  *) . ./$file ;;
+	  esac
+
+	  outputname=
+	  if test "$fast_install" = no && test -n "$relink_command"; then
+	    if test "$finalize" = yes && test -z "$run"; then
+	      tmpdir="/tmp"
+	      test -n "$TMPDIR" && tmpdir="$TMPDIR"
+	      tmpdir="$tmpdir/libtool-$$"
+	      if $mkdir -p "$tmpdir" && chmod 700 "$tmpdir"; then :
+	      else
+		$echo "$modename: error: cannot create temporary directory \`$tmpdir'" 1>&2
+		continue
+	      fi
+	      file=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
+	      outputname="$tmpdir/$file"
+	      # Replace the output file specification.
+	      relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'`
+
+	      $show "$relink_command"
+	      if $run eval "$relink_command"; then :
+	      else
+		$echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2
+		${rm}r "$tmpdir"
+		continue
+	      fi
+	      file="$outputname"
+	    else
+	      $echo "$modename: warning: cannot relink \`$file'" 1>&2
+	    fi
+	  else
+	    # Install the binary that we compiled earlier.
+	    file=`$echo "X$file" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"`
+	  fi
+	fi
+
+	$show "$install_prog$stripme $file $destfile"
+	$run eval "$install_prog\$stripme \$file \$destfile" || exit $?
+	test -n "$outputname" && ${rm}r "$tmpdir"
+	;;
+      esac
+    done
+
+    for file in $staticlibs; do
+      name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
+
+      # Set up the ranlib parameters.
+      oldlib="$destdir/$name"
+
+      $show "$install_prog $file $oldlib"
+      $run eval "$install_prog \$file \$oldlib" || exit $?
+
+      if test -n "$stripme" && test -n "$striplib"; then
+	$show "$old_striplib $oldlib"
+	$run eval "$old_striplib $oldlib" || exit $?
+      fi
+
+      # Do each command in the postinstall commands.
+      eval cmds=\"$old_postinstall_cmds\"
+      IFS="${IFS= 	}"; save_ifs="$IFS"; IFS='~'
+      for cmd in $cmds; do
+	IFS="$save_ifs"
+	$show "$cmd"
+	$run eval "$cmd" || exit $?
+      done
+      IFS="$save_ifs"
+    done
+
+    if test -n "$future_libdirs"; then
+      $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2
+    fi
+
+    if test -n "$current_libdirs"; then
+      # Maybe just do a dry run.
+      test -n "$run" && current_libdirs=" -n$current_libdirs"
+      exec $SHELL $0 --finish$current_libdirs
+      exit 1
+    fi
+
+    exit 0
+    ;;
+
+  # libtool finish mode
+  finish)
+    modename="$modename: finish"
+    libdirs="$nonopt"
+    admincmds=
+
+    if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
+      for dir
+      do
+	libdirs="$libdirs $dir"
+      done
+
+      for libdir in $libdirs; do
+	if test -n "$finish_cmds"; then
+	  # Do each command in the finish commands.
+	  eval cmds=\"$finish_cmds\"
+	  IFS="${IFS= 	}"; save_ifs="$IFS"; IFS='~'
+	  for cmd in $cmds; do
+	    IFS="$save_ifs"
+	    $show "$cmd"
+	    $run eval "$cmd" || admincmds="$admincmds
+       $cmd"
+	  done
+	  IFS="$save_ifs"
+	fi
+	if test -n "$finish_eval"; then
+	  # Do the single finish_eval.
+	  eval cmds=\"$finish_eval\"
+	  $run eval "$cmds" || admincmds="$admincmds
+       $cmds"
+	fi
+      done
+    fi
+
+    # Exit here if they wanted silent mode.
+    test "$show" = : && exit 0
+
+    echo "----------------------------------------------------------------------"
+    echo "Libraries have been installed in:"
+    for libdir in $libdirs; do
+      echo "   $libdir"
+    done
+    echo
+    echo "If you ever happen to want to link against installed libraries"
+    echo "in a given directory, LIBDIR, you must either use libtool, and"
+    echo "specify the full pathname of the library, or use \`-LLIBDIR'"
+    echo "flag during linking and do at least one of the following:"
+    if test -n "$shlibpath_var"; then
+      echo "   - add LIBDIR to the \`$shlibpath_var' environment variable"
+      echo "     during execution"
+    fi
+    if test -n "$runpath_var"; then
+      echo "   - add LIBDIR to the \`$runpath_var' environment variable"
+      echo "     during linking"
+    fi
+    if test -n "$hardcode_libdir_flag_spec"; then
+      libdir=LIBDIR
+      eval flag=\"$hardcode_libdir_flag_spec\"
+
+      echo "   - use the \`$flag' linker flag"
+    fi
+    if test -n "$admincmds"; then
+      echo "   - have your system administrator run these commands:$admincmds"
+    fi
+    if test -f /etc/ld.so.conf; then
+      echo "   - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
+    fi
+    echo
+    echo "See any operating system documentation about shared libraries for"
+    echo "more information, such as the ld(1) and ld.so(8) manual pages."
+    echo "----------------------------------------------------------------------"
+    exit 0
+    ;;
+
+  # libtool execute mode
+  execute)
+    modename="$modename: execute"
+
+    # The first argument is the command name.
+    cmd="$nonopt"
+    if test -z "$cmd"; then
+      $echo "$modename: you must specify a COMMAND" 1>&2
+      $echo "$help"
+      exit 1
+    fi
+
+    # Handle -dlopen flags immediately.
+    for file in $execute_dlfiles; do
+      if test ! -f "$file"; then
+	$echo "$modename: \`$file' is not a file" 1>&2
+	$echo "$help" 1>&2
+	exit 1
+      fi
+
+      dir=
+      case "$file" in
+      *.la)
+	# Check to see that this really is a libtool archive.
+	if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
+	else
+	  $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
+	  $echo "$help" 1>&2
+	  exit 1
+	fi
+
+	# Read the libtool library.
+	dlname=
+	library_names=
+
+	# If there is no directory component, then add one.
+	case "$file" in
+	*/* | *\\*) . $file ;;
+	*) . ./$file ;;
+	esac
+
+	# Skip this library if it cannot be dlopened.
+	if test -z "$dlname"; then
+	  # Warn if it was a shared library.
+	  test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'"
+	  continue
+	fi
+
+	dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
+	test "X$dir" = "X$file" && dir=.
+
+	if test -f "$dir/$objdir/$dlname"; then
+	  dir="$dir/$objdir"
+	else
+	  $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2
+	  exit 1
+	fi
+	;;
+
+      *.lo)
+	# Just add the directory containing the .lo file.
+	dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
+	test "X$dir" = "X$file" && dir=.
+	;;
+
+      *)
+	$echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2
+	continue
+	;;
+      esac
+
+      # Get the absolute pathname.
+      absdir=`cd "$dir" && pwd`
+      test -n "$absdir" && dir="$absdir"
+
+      # Now add the directory to shlibpath_var.
+      if eval "test -z \"\$$shlibpath_var\""; then
+	eval "$shlibpath_var=\"\$dir\""
+      else
+	eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
+      fi
+    done
+
+    # This variable tells wrapper scripts just to set shlibpath_var
+    # rather than running their programs.
+    libtool_execute_magic="$magic"
+
+    # Check if any of the arguments is a wrapper script.
+    args=
+    for file
+    do
+      case "$file" in
+      -*) ;;
+      *)
+	# Do a test to see if this is really a libtool program.
+	if (sed -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+	  # If there is no directory component, then add one.
+	  case "$file" in
+	  */* | *\\*) . $file ;;
+	  *) . ./$file ;;
+	  esac
+
+	  # Transform arg to wrapped name.
+	  file="$progdir/$program"
+	fi
+	;;
+      esac
+      # Quote arguments (to preserve shell metacharacters).
+      file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"`
+      args="$args \"$file\""
+    done
+
+    if test -z "$run"; then
+      if test -n "$shlibpath_var"; then
+	# Export the shlibpath_var.
+	eval "export $shlibpath_var"
+      fi
+
+      # Restore saved enviroment variables
+      if test "${save_LC_ALL+set}" = set; then
+	LC_ALL="$save_LC_ALL"; export LC_ALL
+      fi
+      if test "${save_LANG+set}" = set; then
+	LANG="$save_LANG"; export LANG
+      fi
+
+      # Now actually exec the command.
+      eval "exec \$cmd$args"
+
+      $echo "$modename: cannot exec \$cmd$args"
+      exit 1
+    else
+      # Display what would be done.
+      if test -n "$shlibpath_var"; then
+	eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\""
+	$echo "export $shlibpath_var"
+      fi
+      $echo "$cmd$args"
+      exit 0
+    fi
+    ;;
+
+  # libtool clean and uninstall mode
+  clean | uninstall)
+    modename="$modename: $mode"
+    rm="$nonopt"
+    files=
+
+    # This variable tells wrapper scripts just to set variables rather
+    # than running their programs.
+    libtool_install_magic="$magic"
+
+    for arg
+    do
+      case "$arg" in
+      -*) rm="$rm $arg" ;;
+      *) files="$files $arg" ;;
+      esac
+    done
+
+    if test -z "$rm"; then
+      $echo "$modename: you must specify an RM program" 1>&2
+      $echo "$help" 1>&2
+      exit 1
+    fi
+
+    for file in $files; do
+      dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
+      if test "X$dir" = "X$file"; then
+	dir=.
+	objdir="$objdir"
+      else
+	objdir="$dir/$objdir"
+      fi
+      name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
+      test $mode = uninstall && objdir="$dir"
+
+      rmfiles="$file"
+
+      case "$name" in
+      *.la)
+	# Possibly a libtool archive, so verify it.
+	if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+	  . $dir/$name
+
+	  # Delete the libtool libraries and symlinks.
+	  for n in $library_names; do
+	    rmfiles="$rmfiles $objdir/$n"
+	  done
+	  test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library"
+	  test $mode = clean && rmfiles="$rmfiles $objdir/$name $objdir/${name}i"
+
+	  if test $mode = uninstall; then
+	    if test -n "$library_names"; then
+	      # Do each command in the postuninstall commands.
+	      eval cmds=\"$postuninstall_cmds\"
+	      IFS="${IFS= 	}"; save_ifs="$IFS"; IFS='~'
+	      for cmd in $cmds; do
+		IFS="$save_ifs"
+		$show "$cmd"
+		$run eval "$cmd"
+	      done
+	      IFS="$save_ifs"
+	    fi
+
+	    if test -n "$old_library"; then
+	      # Do each command in the old_postuninstall commands.
+	      eval cmds=\"$old_postuninstall_cmds\"
+	      IFS="${IFS= 	}"; save_ifs="$IFS"; IFS='~'
+	      for cmd in $cmds; do
+		IFS="$save_ifs"
+		$show "$cmd"
+		$run eval "$cmd"
+	      done
+	      IFS="$save_ifs"
+	    fi
+	    # FIXME: should reinstall the best remaining shared library.
+	  fi
+	fi
+	;;
+
+      *.lo)
+	# Possibly a libtool object, so verify it.
+	if (sed -e '2q' $arg | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+
+          # Read the .lo file
+          . ./$file
+
+	  # Add PIC object to the list of files to remove.
+          if test -n "$pic_object" \
+             && test "$pic_object" != none; then
+	    rmfiles="$rmfiles $dir/$pic_object"
+          fi
+
+	  # Add non-PIC object to the list of files to remove.
+          if test -n "$non_pic_object" \
+             && test "$non_pic_object" != none; then
+	    rmfiles="$rmfiles $dir/$non_pic_object"
+          fi
+	fi
+	;;
+
+      *)
+	# Do a test to see if this is a libtool program.
+	if test $mode = clean &&
+	   (sed -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+	  relink_command=
+	  . $dir/$file
+
+	  rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}"
+	  if test "$fast_install" = yes && test -n "$relink_command"; then
+	    rmfiles="$rmfiles $objdir/lt-$name"
+	  fi
+	fi
+	;;
+      esac
+      $show "$rm $rmfiles"
+      $run $rm $rmfiles
+    done
+    exit 0
+    ;;
+
+  "")
+    $echo "$modename: you must specify a MODE" 1>&2
+    $echo "$generic_help" 1>&2
+    exit 1
+    ;;
+  esac
+
+  $echo "$modename: invalid operation mode \`$mode'" 1>&2
+  $echo "$generic_help" 1>&2
+  exit 1
+fi # test -z "$show_help"
+
+# We need to display help for each of the modes.
+case "$mode" in
+"") $echo \
+"Usage: $modename [OPTION]... [MODE-ARG]...
+
+Provide generalized library-building support services.
+
+    --config          show all configuration variables
+    --debug           enable verbose shell tracing
+-n, --dry-run         display commands without modifying any files
+    --features        display basic configuration information and exit
+    --finish          same as \`--mode=finish'
+    --help            display this help message and exit
+    --mode=MODE       use operation mode MODE [default=inferred from MODE-ARGS]
+    --quiet           same as \`--silent'
+    --silent          don't print informational messages
+    --tag=TAG         use configuration variables from tag TAG
+    --version         print version information
+
+MODE must be one of the following:
+
+      clean           remove files from the build directory
+      compile         compile a source file into a libtool object
+      execute         automatically set library path, then run a program
+      finish          complete the installation of libtool libraries
+      install         install libraries or executables
+      link            create a library or an executable
+      uninstall       remove libraries from an installed directory
+
+MODE-ARGS vary depending on the MODE.  Try \`$modename --help --mode=MODE' for
+a more detailed description of MODE."
+  exit 0
+  ;;
+
+clean)
+  $echo \
+"Usage: $modename [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
+
+Remove files from the build directory.
+
+RM is the name of the program to use to delete files associated with each FILE
+(typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
+to RM.
+
+If FILE is a libtool library, object or program, all the files associated
+with it are deleted. Otherwise, only FILE itself is deleted using RM."
+  ;;
+
+compile)
+  $echo \
+"Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
+
+Compile a source file into a libtool library object.
+
+This mode accepts the following additional options:
+
+  -o OUTPUT-FILE    set the output file name to OUTPUT-FILE
+  -static           always build a \`.o' file suitable for static linking
+
+COMPILE-COMMAND is a command to be used in creating a \`standard' object file
+from the given SOURCEFILE.
+
+The output file name is determined by removing the directory component from
+SOURCEFILE, then substituting the C source code suffix \`.c' with the
+library object suffix, \`.lo'."
+  ;;
+
+execute)
+  $echo \
+"Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]...
+
+Automatically set library path, then run a program.
+
+This mode accepts the following additional options:
+
+  -dlopen FILE      add the directory containing FILE to the library path
+
+This mode sets the library path environment variable according to \`-dlopen'
+flags.
+
+If any of the ARGS are libtool executable wrappers, then they are translated
+into their corresponding uninstalled binary, and any of their required library
+directories are added to the library path.
+
+Then, COMMAND is executed, with ARGS as arguments."
+  ;;
+
+finish)
+  $echo \
+"Usage: $modename [OPTION]... --mode=finish [LIBDIR]...
+
+Complete the installation of libtool libraries.
+
+Each LIBDIR is a directory that contains libtool libraries.
+
+The commands that this mode executes may require superuser privileges.  Use
+the \`--dry-run' option if you just want to see what would be executed."
+  ;;
+
+install)
+  $echo \
+"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND...
+
+Install executables or libraries.
+
+INSTALL-COMMAND is the installation command.  The first component should be
+either the \`install' or \`cp' program.
+
+The rest of the components are interpreted as arguments to that command (only
+BSD-compatible install options are recognized)."
+  ;;
+
+link)
+  $echo \
+"Usage: $modename [OPTION]... --mode=link LINK-COMMAND...
+
+Link object files or libraries together to form another library, or to
+create an executable program.
+
+LINK-COMMAND is a command using the C compiler that you would use to create
+a program from several object files.
+
+The following components of LINK-COMMAND are treated specially:
+
+  -all-static       do not do any dynamic linking at all
+  -avoid-version    do not add a version suffix if possible
+  -dlopen FILE      \`-dlpreopen' FILE if it cannot be dlopened at runtime
+  -dlpreopen FILE   link in FILE and add its symbols to lt_preloaded_symbols
+  -export-dynamic   allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
+  -export-symbols SYMFILE
+		    try to export only the symbols listed in SYMFILE
+  -export-symbols-regex REGEX
+		    try to export only the symbols matching REGEX
+  -LLIBDIR          search LIBDIR for required installed libraries
+  -lNAME            OUTPUT-FILE requires the installed library libNAME
+  -module           build a library that can dlopened
+  -no-fast-install  disable the fast-install mode
+  -no-install       link a not-installable executable
+  -no-undefined     declare that a library does not refer to external symbols
+  -o OUTPUT-FILE    create OUTPUT-FILE from the specified objects
+  -release RELEASE  specify package release information
+  -rpath LIBDIR     the created library will eventually be installed in LIBDIR
+  -R[ ]LIBDIR       add LIBDIR to the runtime path of programs and libraries
+  -static           do not do any dynamic linking of libtool libraries
+  -version-info CURRENT[:REVISION[:AGE]]
+		    specify library version info [each variable defaults to 0]
+
+All other options (arguments beginning with \`-') are ignored.
+
+Every other argument is treated as a filename.  Files ending in \`.la' are
+treated as uninstalled libtool libraries, other files are standard or library
+object files.
+
+If the OUTPUT-FILE ends in \`.la', then a libtool library is created,
+only library objects (\`.lo' files) may be specified, and \`-rpath' is
+required, except when creating a convenience library.
+
+If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
+using \`ar' and \`ranlib', or on Windows using \`lib'.
+
+If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
+is created, otherwise an executable program is created."
+  ;;
+
+uninstall)
+  $echo \
+"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
+
+Remove libraries from an installation directory.
+
+RM is the name of the program to use to delete files associated with each FILE
+(typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
+to RM.
+
+If FILE is a libtool library, all the files associated with it are deleted.
+Otherwise, only FILE itself is deleted using RM."
+  ;;
+
+*)
+  $echo "$modename: invalid operation mode \`$mode'" 1>&2
+  $echo "$help" 1>&2
+  exit 1
+  ;;
+esac
+
+echo
+$echo "Try \`$modename --help' for more information about other modes."
+
+exit 0
+
+# The TAGs below are defined such that we never get into a situation
+# in which we disable both kinds of libraries.  Given conflicting
+# choices, we go for a static library, that is the most portable,
+# since we can't tell whether shared libraries were disabled because
+# the user asked for that or because the platform doesn't support
+# them.  This is particularly important on AIX, because we don't
+# support having both static and shared libraries enabled at the same
+# time on that platform, so we default to a shared-only configuration.
+# If a disable-shared tag is given, we'll fallback to a static-only
+# configuration.  But we'll never go from static-only to shared-only.
+
+### BEGIN LIBTOOL TAG CONFIG: disable-shared
+build_libtool_libs=no
+build_old_libs=yes
+### END LIBTOOL TAG CONFIG: disable-shared
+
+### BEGIN LIBTOOL TAG CONFIG: disable-static
+build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
+### END LIBTOOL TAG CONFIG: disable-static
+
+# Local Variables:
+# mode:shell-script
+# sh-indentation:2
+# End:
diff --git a/admin/missing b/admin/missing
new file mode 100755
index 0000000..b965c14
--- /dev/null
+++ b/admin/missing
@@ -0,0 +1,238 @@
+#! /bin/sh
+# Common stub for a few missing GNU programs while installing.
+# Copyright (C) 1996, 1997, 1999 Free Software Foundation, Inc.
+# Originally by Fran,cois Pinard <pinard at iro.umontreal.ca>, 1996.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+if test $# -eq 0; then
+  echo 1>&2 "Try \`$0 --help' for more information"
+  exit 1
+fi
+
+run=:
+
+case "$1" in
+--run)
+  # Try to run requested program, and just exit if it succeeds.
+  run=
+  shift
+  "$@" && exit 0
+  ;;
+esac
+
+# If it does not exist, or fails to run (possibly an outdated version),
+# try to emulate it.
+case "$1" in
+
+  -h|--h|--he|--hel|--help)
+    echo "\
+$0 [OPTION]... PROGRAM [ARGUMENT]...
+
+Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
+error status if there is no known handling for PROGRAM.
+
+Options:
+  -h, --help      display this help and exit
+  -v, --version   output version information and exit
+  --run           try to run the given command, and emulate it if it fails
+
+Supported PROGRAM values:
+  aclocal      touch file \`aclocal.m4'
+  autoconf     touch file \`configure'
+  autoheader   touch file \`config.h.in'
+  automake     touch all \`Makefile.in' files
+  bison        create \`y.tab.[ch]', if possible, from existing .[ch]
+  flex         create \`lex.yy.c', if possible, from existing .c
+  lex          create \`lex.yy.c', if possible, from existing .c
+  makeinfo     touch the output file
+  tar          try tar, gnutar, gtar, then tar without non-portable flags
+  yacc         create \`y.tab.[ch]', if possible, from existing .[ch]"
+    ;;
+
+  -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
+    echo "missing 0.2 - GNU automake"
+    ;;
+
+  -*)
+    echo 1>&2 "$0: Unknown \`$1' option"
+    echo 1>&2 "Try \`$0 --help' for more information"
+    exit 1
+    ;;
+
+  aclocal)
+    echo 1>&2 "\
+WARNING: \`$1' is missing on your system.  You should only need it if
+         you modified \`acinclude.m4' or \`configure.in'.  You might want
+         to install the \`Automake' and \`Perl' packages.  Grab them from
+         any GNU archive site."
+    touch aclocal.m4
+    ;;
+
+  autoconf)
+    echo 1>&2 "\
+WARNING: \`$1' is missing on your system.  You should only need it if
+         you modified \`configure.in'.  You might want to install the
+         \`Autoconf' and \`GNU m4' packages.  Grab them from any GNU
+         archive site."
+    touch configure
+    ;;
+
+  autoheader)
+    echo 1>&2 "\
+WARNING: \`$1' is missing on your system.  You should only need it if
+         you modified \`acconfig.h' or \`configure.in'.  You might want
+         to install the \`Autoconf' and \`GNU m4' packages.  Grab them
+         from any GNU archive site."
+    files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' configure.in`
+    test -z "$files" && files="config.h"
+    touch_files=
+    for f in $files; do
+      case "$f" in
+      *:*) touch_files="$touch_files "`echo "$f" |
+				       sed -e 's/^[^:]*://' -e 's/:.*//'`;;
+      *) touch_files="$touch_files $f.in";;
+      esac
+    done
+    touch $touch_files
+    ;;
+
+  automake)
+    echo 1>&2 "\
+WARNING: \`$1' is missing on your system.  You should only need it if
+         you modified \`Makefile.am', \`acinclude.m4' or \`configure.in'.
+         You might want to install the \`Automake' and \`Perl' packages.
+         Grab them from any GNU archive site."
+    find . -type f -name Makefile.am -print |
+	   sed 's/\.am$/.in/' |
+	   while read f; do touch "$f"; done
+    ;;
+
+  bison|yacc)
+    echo 1>&2 "\
+WARNING: \`$1' is missing on your system.  You should only need it if
+         you modified a \`.y' file.  You may need the \`Bison' package
+         in order for those modifications to take effect.  You can get
+         \`Bison' from any GNU archive site."
+    rm -f y.tab.c y.tab.h
+    if [ $# -ne 1 ]; then
+        eval LASTARG="\${$#}"
+	case "$LASTARG" in
+	*.y)
+	    SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
+	    if [ -f "$SRCFILE" ]; then
+	         cp "$SRCFILE" y.tab.c
+	    fi
+	    SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
+	    if [ -f "$SRCFILE" ]; then
+	         cp "$SRCFILE" y.tab.h
+	    fi
+	  ;;
+	esac
+    fi
+    if [ ! -f y.tab.h ]; then
+	echo >y.tab.h
+    fi
+    if [ ! -f y.tab.c ]; then
+	echo 'main() { return 0; }' >y.tab.c
+    fi
+    ;;
+
+  lex|flex)
+    echo 1>&2 "\
+WARNING: \`$1' is missing on your system.  You should only need it if
+         you modified a \`.l' file.  You may need the \`Flex' package
+         in order for those modifications to take effect.  You can get
+         \`Flex' from any GNU archive site."
+    rm -f lex.yy.c
+    if [ $# -ne 1 ]; then
+        eval LASTARG="\${$#}"
+	case "$LASTARG" in
+	*.l)
+	    SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
+	    if [ -f "$SRCFILE" ]; then
+	         cp "$SRCFILE" lex.yy.c
+	    fi
+	  ;;
+	esac
+    fi
+    if [ ! -f lex.yy.c ]; then
+	echo 'main() { return 0; }' >lex.yy.c
+    fi
+    ;;
+
+  makeinfo)
+    echo 1>&2 "\
+WARNING: \`$1' is missing on your system.  You should only need it if
+         you modified a \`.texi' or \`.texinfo' file, or any other file
+         indirectly affecting the aspect of the manual.  The spurious
+         call might also be the consequence of using a buggy \`make' (AIX,
+         DU, IRIX).  You might want to install the \`Texinfo' package or
+         the \`GNU make' package.  Grab either from any GNU archive site."
+    file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
+    if test -z "$file"; then
+      file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
+      file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file`
+    fi
+    touch $file
+    ;;
+
+  tar)
+    shift
+    if test -n "$run"; then
+      echo 1>&2 "ERROR: \`tar' requires --run"
+      exit 1
+    fi
+
+    # we have already tried tar in the generic part
+    gnutar ${1+"$@"} && exit 0
+    gtar ${1+"$@"} && exit 0
+    firstarg="$1"
+    if shift; then
+	case "$firstarg" in
+	*o*)
+	    firstarg=`echo "$firstarg" | sed s/o//`
+	    tar "$firstarg" ${1+"$@"} && exit 0
+	    ;;
+	esac
+	case "$firstarg" in
+	*h*)
+	    firstarg=`echo "$firstarg" | sed s/h//`
+	    tar "$firstarg" ${1+"$@"} && exit 0
+	    ;;
+	esac
+    fi
+
+    echo 1>&2 "\
+WARNING: I can't seem to be able to run \`tar' with the given arguments.
+         You may want to install GNU tar or Free paxutils, or check the
+         command line arguments."
+    exit 1
+    ;;
+
+  *)
+    echo 1>&2 "\
+WARNING: \`$1' is needed, and you do not seem to have it handy on your
+         system.  You might have modified some files without having the
+         proper tools for further handling them.  Check the \`README' file,
+         it often tells you about the needed prerequirements for installing
+         this package.  You may also peek at any GNU archive site, in case
+         some other package would contain this missing \`$1' program."
+    exit 1
+    ;;
+esac
+
+exit 0
diff --git a/admin/mkinstalldirs b/admin/mkinstalldirs
new file mode 100755
index 0000000..edcdda2
--- /dev/null
+++ b/admin/mkinstalldirs
@@ -0,0 +1,40 @@
+#! /bin/sh
+# mkinstalldirs --- make directory hierarchy
+# Author: Noah Friedman <friedman at prep.ai.mit.edu>
+# Created: 1993-05-16
+# Public domain
+
+# $Id: mkinstalldirs,v 1.6 2000/05/24 08:00:27 kulow Exp $
+
+errstatus=0
+
+for file
+do
+   set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
+   shift
+
+   pathcomp=
+   for d
+   do
+     pathcomp="$pathcomp$d"
+     case "$pathcomp" in
+       -* ) pathcomp=./$pathcomp ;;
+     esac
+
+     if test ! -d "$pathcomp"; then
+        echo "mkdir $pathcomp"
+
+        mkdir "$pathcomp" || lasterr=$?
+
+        if test ! -d "$pathcomp"; then
+  	  errstatus=$lasterr
+        fi
+     fi
+
+     pathcomp="$pathcomp/"
+   done
+done
+
+exit $errstatus
+
+# mkinstalldirs ends here
diff --git a/admin/ylwrap b/admin/ylwrap
new file mode 100755
index 0000000..467fd66
--- /dev/null
+++ b/admin/ylwrap
@@ -0,0 +1,142 @@
+#! /bin/sh
+# ylwrap - wrapper for lex/yacc invocations.
+# Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
+# Written by Tom Tromey <tromey at cygnus.com>.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+# Usage:
+#     ylwrap PROGRAM INPUT [OUTPUT DESIRED]... -- [ARGS]...
+# * PROGRAM is program to run.
+# * INPUT is the input file
+# * OUTPUT is file PROG generates
+# * DESIRED is file we actually want
+# * ARGS are passed to PROG
+# Any number of OUTPUT,DESIRED pairs may be used.
+
+# The program to run.
+prog="$1"
+shift
+# Make any relative path in $prog absolute.
+case "$prog" in
+ /* | [A-Za-z]:*) ;;
+ */*) prog="`pwd`/$prog" ;;
+esac
+
+# The input.
+input="$1"
+shift
+case "$input" in
+ /* | [A-Za-z]:*)
+    # Absolute path; do nothing.
+    ;;
+ *)
+    # Relative path.  Make it absolute.  Why?  Because otherwise any
+    # debugging info in the generated file will point to the wrong
+    # place.  This is really gross.
+    input="`pwd`/$input"
+    ;;
+esac
+
+# We don't want to use the absolute path if the input in the current
+# directory like when making a tar ball.
+input_base=`echo $input | sed -e 's|.*/||'`
+if test -f $input_base && cmp $input_base $input >/dev/null 2>&1; then
+  input=$input_base
+fi
+
+pairlist=
+while test "$#" -ne 0; do
+   if test "$1" = "--"; then
+      shift
+      break
+   fi
+   pairlist="$pairlist $1"
+   shift
+done
+
+# FIXME: add hostname here for parallel makes that run commands on
+# other machines.  But that might take us over the 14-char limit.
+dirname=ylwrap$$
+trap "cd `pwd`; rm -rf $dirname > /dev/null 2>&1" 1 2 3 15
+mkdir $dirname || exit 1
+
+cd $dirname
+case "$input" in
+ /* | [A-Za-z]:*)
+    # Absolute path; do nothing.
+    ;;
+ *)
+    # Make a symbolic link, hard link or hardcopy.
+    ln -s ../"$input" . > /dev/null 2>&1 || ln ../"$input" . > /dev/null 2>&1 || cp ../"$input" .
+    ;;
+esac
+$prog ${1+"$@"} "$input"
+status=$?
+
+if test $status -eq 0; then
+   set X $pairlist
+   shift
+   first=yes
+   # Since DOS filename conventions don't allow two dots,
+   # the DOS version of Bison writes out y_tab.c instead of y.tab.c
+   # and y_tab.h instead of y.tab.h. Test to see if this is the case.
+   y_tab_nodot="no"
+   if test -f y_tab.c || test -f y_tab.h; then
+      y_tab_nodot="yes"
+   fi
+
+   while test "$#" -ne 0; do
+      from="$1"
+      # Handle y_tab.c and y_tab.h output by DOS
+      if test $y_tab_nodot = "yes"; then
+	 if test $from = "y.tab.c"; then
+	    from="y_tab.c"
+	 else
+	    if test $from = "y.tab.h"; then
+	       from="y_tab.h"
+	    fi
+	 fi
+      fi
+      if test -f "$from"; then
+         # If $2 is an absolute path name, then just use that,
+         # otherwise prepend `../'.
+         case "$2" in
+	   /* | [A-Za-z]:*) target="$2";;
+	   *) target="../$2";;
+	 esac
+	 mv "$from" "$target" || status=$?
+      else
+	 # A missing file is only an error for the first file.  This
+	 # is a blatant hack to let us support using "yacc -d".  If -d
+	 # is not specified, we don't want an error when the header
+	 # file is "missing".
+	 if test $first = yes; then
+	    status=1
+	 fi
+      fi
+      shift
+      shift
+      first=no
+   done
+else
+   status=$?
+fi
+
+# Remove the directory.
+cd ..
+rm -rf $dirname
+
+exit $status
diff --git a/config.h.in b/config.h.in
new file mode 100644
index 0000000..0dcab89
--- /dev/null
+++ b/config.h.in
@@ -0,0 +1,36 @@
+/* config.h.in.  Generated automatically from configure.in by autoheader.  */
+
+/* The number of bytes in a char *.  */
+#undef SIZEOF_CHAR_P
+
+/* The number of bytes in a int.  */
+#undef SIZEOF_INT
+
+/* The number of bytes in a long.  */
+#undef SIZEOF_LONG
+
+/* Name of package */
+#undef PACKAGE
+
+/* Version number of package */
+#undef VERSION
+
+/* C++ compiler supports template repository */
+#undef HAVE_TEMPLATE_REPOSITORY
+
+/* Defines if your system has the crypt function */
+#undef HAVE_CRYPT
+
+/* Define the type of the third argument for getsockname
+ */
+#undef ksize_t
+
+/* Define if you have libz */
+#undef HAVE_LIBZ
+
+/* Define if you have libpng */
+#undef HAVE_LIBPNG
+
+/* Define if you have libjpeg */
+#undef HAVE_LIBJPEG
+
diff --git a/configure b/configure
new file mode 100755
index 0000000..db59cf2
--- /dev/null
+++ b/configure
@@ -0,0 +1,6254 @@
+#! /bin/sh
+
+# Guess values for system-dependent variables and create Makefiles.
+# Generated automatically using autoconf version 2.13 
+# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Defaults:
+ac_help=
+ac_default_prefix=/usr/local
+# Any additions from configure.in:
+ac_default_prefix=/usr/local
+ac_help="$ac_help
+  --enable-debug          enables debug symbols [default=no]"
+ac_help="$ac_help
+  --disable-debug         disables debug output and debug symbols [default=no]"
+ac_help="$ac_help
+  --enable-strict         compiles with strict compiler options (may not work!)"
+ac_help="$ac_help
+  --enable-profile        creates profiling infos [default=no]"
+ac_help="$ac_help
+  --enable-final          build size optimized apps (experimental - needs lots of memory)"
+ac_help="$ac_help
+  --disable-closure       don't delay template instantiation"
+ac_help="$ac_help
+  --enable-shared[=PKGS]  build shared libraries [default=yes]"
+ac_help="$ac_help
+  --enable-static[=PKGS]  build static libraries [default=no]"
+ac_help="$ac_help
+  --enable-fast-install[=PKGS]  optimize for fast installation [default=yes]"
+ac_help="$ac_help
+  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]"
+ac_help="$ac_help
+  --disable-libtool-lock  avoid locking (might break parallel builds)"
+ac_help="$ac_help
+  --with-pic              try to use only PIC/non-PIC objects [default=use both]"
+ac_help="$ac_help
+  --with-extra-includes=DIR
+                          adds non standard include paths"
+ac_help="$ac_help
+  --with-extra-libs=DIR   adds non standard library paths"
+ac_help="$ac_help
+  --enable-mt             link to threaded Qt (experimental)"
+ac_help="$ac_help
+  --with-qt-dir=DIR       where the root of Qt is installed "
+ac_help="$ac_help
+  --with-qt-includes=DIR  where the Qt includes are. "
+ac_help="$ac_help
+  --with-qt-libraries=DIR where the Qt library is installed."
+
+# Initialize some variables set by options.
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+build=NONE
+cache_file=./config.cache
+exec_prefix=NONE
+host=NONE
+no_create=
+nonopt=NONE
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+srcdir=
+target=NONE
+verbose=
+x_includes=NONE
+x_libraries=NONE
+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'
+
+# Initialize some other variables.
+subdirs=
+MFLAGS= MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+# Maximum number of lines to put in a shell here document.
+ac_max_here_lines=12
+
+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
+
+  case "$ac_option" in
+  -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+  *) ac_optarg= ;;
+  esac
+
+  # 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 ;;
+  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+    build="$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" ;;
+
+  -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+    ac_prev=datadir ;;
+  -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+  | --da=*)
+    datadir="$ac_optarg" ;;
+
+  -disable-* | --disable-*)
+    ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
+    # Reject names that are not valid shell variable names.
+    if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
+      { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+    fi
+    ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+    eval "enable_${ac_feature}=no" ;;
+
+  -enable-* | --enable-*)
+    ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
+    # Reject names that are not valid shell variable names.
+    if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
+      { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+    fi
+    ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+    case "$ac_option" in
+      *=*) ;;
+      *) 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)
+    # Omit some internal or obsolete options to make the list less imposing.
+    # This message is too long to be a string in the A/UX 3.1 sh.
+    cat << EOF
+Usage: configure [options] [host]
+Options: [defaults in brackets after descriptions]
+Configuration:
+  --cache-file=FILE       cache test results in FILE
+  --help                  print this message
+  --no-create             do not create output files
+  --quiet, --silent       do not print \`checking...' messages
+  --version               print the version of autoconf that created configure
+Directory and file names:
+  --prefix=PREFIX         install architecture-independent files in PREFIX
+                          [$ac_default_prefix]
+  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
+                          [same as prefix]
+  --bindir=DIR            user executables in DIR [EPREFIX/bin]
+  --sbindir=DIR           system admin executables in DIR [EPREFIX/sbin]
+  --libexecdir=DIR        program executables in DIR [EPREFIX/libexec]
+  --datadir=DIR           read-only architecture-independent data in DIR
+                          [PREFIX/share]
+  --sysconfdir=DIR        read-only single-machine data in DIR [PREFIX/etc]
+  --sharedstatedir=DIR    modifiable architecture-independent data in DIR
+                          [PREFIX/com]
+  --localstatedir=DIR     modifiable single-machine data in DIR [PREFIX/var]
+  --libdir=DIR            object code libraries in DIR [EPREFIX/lib]
+  --includedir=DIR        C header files in DIR [PREFIX/include]
+  --oldincludedir=DIR     C header files for non-gcc in DIR [/usr/include]
+  --infodir=DIR           info documentation in DIR [PREFIX/info]
+  --mandir=DIR            man documentation in DIR [PREFIX/man]
+  --srcdir=DIR            find the sources in DIR [configure dir or ..]
+  --program-prefix=PREFIX prepend PREFIX to installed program names
+  --program-suffix=SUFFIX append SUFFIX to installed program names
+  --program-transform-name=PROGRAM
+                          run sed PROGRAM on installed program names
+EOF
+    cat << EOF
+Host type:
+  --build=BUILD           configure for building on BUILD [BUILD=HOST]
+  --host=HOST             configure for HOST [guessed]
+  --target=TARGET         configure for TARGET [TARGET=HOST]
+Features and packages:
+  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
+  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
+  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
+  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
+  --x-includes=DIR        X include files are in DIR
+  --x-libraries=DIR       X library files are in DIR
+EOF
+    if test -n "$ac_help"; then
+      echo "--enable and --with options recognized:$ac_help"
+    fi
+    exit 0 ;;
+
+  -host | --host | --hos | --ho)
+    ac_prev=host ;;
+  -host=* | --host=* | --hos=* | --ho=*)
+    host="$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)
+    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 ;;
+  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+    target="$ac_optarg" ;;
+
+  -v | -verbose | --verbose | --verbos | --verbo | --verb)
+    verbose=yes ;;
+
+  -version | --version | --versio | --versi | --vers)
+    echo "configure generated by autoconf version 2.13"
+    exit 0 ;;
+
+  -with-* | --with-*)
+    ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
+    # Reject names that are not valid shell variable names.
+    if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
+      { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+    fi
+    ac_package=`echo $ac_package| sed 's/-/_/g'`
+    case "$ac_option" in
+      *=*) ;;
+      *) ac_optarg=yes ;;
+    esac
+    eval "with_${ac_package}='$ac_optarg'" ;;
+
+  -without-* | --without-*)
+    ac_package=`echo $ac_option|sed -e 's/-*without-//'`
+    # Reject names that are not valid shell variable names.
+    if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
+      { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+    fi
+    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 "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
+    ;;
+
+  *)
+    if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
+      echo "configure: warning: $ac_option: invalid host type" 1>&2
+    fi
+    if test "x$nonopt" != xNONE; then
+      { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
+    fi
+    nonopt="$ac_option"
+    ;;
+
+  esac
+done
+
+if test -n "$ac_prev"; then
+  { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
+fi
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+# File descriptor usage:
+# 0 standard input
+# 1 file creation
+# 2 errors and warnings
+# 3 some systems may open it to /dev/tty
+# 4 used on the Kubota Titan
+# 6 checking for... messages and results
+# 5 compiler messages saved in config.log
+if test "$silent" = yes; then
+  exec 6>/dev/null
+else
+  exec 6>&1
+fi
+exec 5>./config.log
+
+echo "\
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+" 1>&5
+
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Also quote any args containing shell metacharacters.
+ac_configure_args=
+for ac_arg
+do
+  case "$ac_arg" in
+  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+  | --no-cr | --no-c) ;;
+  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
+  *" "*|*"	"*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
+  ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+  *) ac_configure_args="$ac_configure_args $ac_arg" ;;
+  esac
+done
+
+# NLS nuisances.
+# Only set these to C if already set.  These must not be set unconditionally
+# because not all systems understand e.g. LANG=C (notably SCO).
+# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
+# Non-C LC_CTYPE values break the ctype check.
+if test "${LANG+set}"   = set; then LANG=C;   export LANG;   fi
+if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
+if test "${LC_CTYPE+set}"    = set; then LC_CTYPE=C;    export LC_CTYPE;    fi
+
+# 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
+
+# A filename unique to this package, relative to the directory that
+# configure is in, which we can look for to find out if srcdir is correct.
+ac_unique_file=acinclude.m4
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+  ac_srcdir_defaulted=yes
+  # Try the directory containing this script, then its parent.
+  ac_prog=$0
+  ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
+  test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
+  srcdir=$ac_confdir
+  if test ! -r $srcdir/$ac_unique_file; then
+    srcdir=..
+  fi
+else
+  ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+  if test "$ac_srcdir_defaulted" = yes; then
+    { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
+  else
+    { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
+  fi
+fi
+srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
+
+# 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 "loading site script $ac_site_file"
+    . "$ac_site_file"
+  fi
+done
+
+if test -r "$cache_file"; then
+  echo "loading cache $cache_file"
+  . $cache_file
+else
+  echo "creating cache $cache_file"
+  > $cache_file
+fi
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+ac_exeext=
+ac_objext=o
+if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
+  # Stardent Vistra SVR4 grep lacks -e, says ghazi at caip.rutgers.edu.
+  if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
+    ac_n= ac_c='
+' ac_t='	'
+  else
+    ac_n=-n ac_c= ac_t=
+  fi
+else
+  ac_n= ac_c='\c' ac_t=
+fi
+
+ 
+ac_aux_dir=
+for ac_dir in admin $srcdir/admin; do
+  if test -f $ac_dir/install-sh; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install-sh -c"
+    break
+  elif test -f $ac_dir/install.sh; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install.sh -c"
+    break
+  fi
+done
+if test -z "$ac_aux_dir"; then
+  { echo "configure: error: can not find install-sh or install.sh in admin $srcdir/admin" 1>&2; exit 1; }
+fi
+ac_config_guess=$ac_aux_dir/config.guess
+ac_config_sub=$ac_aux_dir/config.sub
+ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
+
+
+
+# Do some error checking and defaulting for the host and target type.
+# The inputs are:
+#    configure --host=HOST --target=TARGET --build=BUILD NONOPT
+#
+# The rules are:
+# 1. You are not allowed to specify --host, --target, and nonopt at the
+#    same time.
+# 2. Host defaults to nonopt.
+# 3. If nonopt is not specified, then host defaults to the current host,
+#    as determined by config.guess.
+# 4. Target and build default to nonopt.
+# 5. If nonopt is not specified, then target and build default to host.
+
+# The aliases save the names the user supplied, while $host etc.
+# will get canonicalized.
+case $host---$target---$nonopt in
+NONE---*---* | *---NONE---* | *---*---NONE) ;;
+*) { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } ;;
+esac
+
+
+# Make sure we can run config.sub.
+if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
+else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking host system type""... $ac_c" 1>&6
+echo "configure:611: checking host system type" >&5
+
+host_alias=$host
+case "$host_alias" in
+NONE)
+  case $nonopt in
+  NONE)
+    if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
+    else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
+    fi ;;
+  *) host_alias=$nonopt ;;
+  esac ;;
+esac
+
+host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
+host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$host" 1>&6
+
+echo $ac_n "checking target system type""... $ac_c" 1>&6
+echo "configure:632: checking target system type" >&5
+
+target_alias=$target
+case "$target_alias" in
+NONE)
+  case $nonopt in
+  NONE) target_alias=$host_alias ;;
+  *) target_alias=$nonopt ;;
+  esac ;;
+esac
+
+target=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $target_alias`
+target_cpu=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+target_vendor=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+target_os=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$target" 1>&6
+
+echo $ac_n "checking build system type""... $ac_c" 1>&6
+echo "configure:650: checking build system type" >&5
+
+build_alias=$build
+case "$build_alias" in
+NONE)
+  case $nonopt in
+  NONE) build_alias=$host_alias ;;
+  *) build_alias=$nonopt ;;
+  esac ;;
+esac
+
+build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
+build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$build" 1>&6
+
+test "$host_alias" != "$target_alias" &&
+  test "$program_prefix$program_suffix$program_transform_name" = \
+    NONENONEs,x,x, &&
+  program_prefix=${target_alias}-
+ 
+if test "$program_transform_name" = s,x,x,; then
+  program_transform_name=
+else
+  # Double any \ or $.  echo might interpret backslashes.
+  cat <<\EOF_SED > conftestsed
+s,\\,\\\\,g; s,\$,$$,g
+EOF_SED
+  program_transform_name="`echo $program_transform_name|sed -f conftestsed`"
+  rm -f conftestsed
+fi
+test "$program_prefix" != NONE &&
+  program_transform_name="s,^,${program_prefix},; $program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+  program_transform_name="s,\$\$,${program_suffix},; $program_transform_name"
+
+# sed with no file args requires a program.
+test "$program_transform_name" = "" && program_transform_name="s,x,x,"
+
+
+
+    
+          test -n "$INSTALL" && kde_save_INSTALL_given=$INSTALL
+  test -n "$INSTALL_PROGRAM" && kde_save_INSTALL_PROGRAM_given=$INSTALL_PROGRAM
+  test -n "$INSTALL_SCRIPT" && kde_save_INSTALL_SCRIPT_given=$INSTALL_SCRIPT
+  # Find a good install program.  We prefer a C program (faster),
+# so one script is as good as another.  But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:709: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+    IFS="${IFS= 	}"; ac_save_IFS="$IFS"; IFS=":"
+  for ac_dir in $PATH; do
+    # Account for people who put trailing slashes in PATH elements.
+    case "$ac_dir/" in
+    /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+    *)
+      # OSF1 and SCO ODT 3.0 have their own names for install.
+      # Don't use installbsd from OSF since it installs stuff as root
+      # by default.
+      for ac_prog in ginstall scoinst install; do
+        if test -f $ac_dir/$ac_prog; then
+	  if test $ac_prog = install &&
+            grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+	    # AIX install.  It has an incompatible calling convention.
+	    :
+	  else
+	    ac_cv_path_install="$ac_dir/$ac_prog -c"
+	    break 2
+	  fi
+	fi
+      done
+      ;;
+    esac
+  done
+  IFS="$ac_save_IFS"
+
+fi
+  if test "${ac_cv_path_install+set}" = set; then
+    INSTALL="$ac_cv_path_install"
+  else
+    # As a last resort, use the slow shell script.  We don't cache a
+    # path for INSTALL within a source directory, because that will
+    # break other packages using the cache if that directory is
+    # removed, or if the path is relative.
+    INSTALL="$ac_install_sh"
+  fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+
+  if test -z "$kde_save_INSTALL_given" ; then
+    # OK, user hasn't given any INSTALL, autoconf found one for us
+    # now we test, if it supports the -p flag
+    echo $ac_n "checking for -p flag to install""... $ac_c" 1>&6
+echo "configure:766: checking for -p flag to install" >&5
+    rm -f confinst.$$.* > /dev/null 2>&1
+    echo "Testtest" > confinst.$$.orig
+    ac_res=no
+    if ${INSTALL} -p confinst.$$.orig confinst.$$.new > /dev/null 2>&1 ; then
+      if test -f confinst.$$.new ; then
+        # OK, -p seems to do no harm to install
+	INSTALL="${INSTALL} -p"
+	ac_res=yes
+      fi
+    fi
+    rm -f confinst.$$.*
+    echo "$ac_t""$ac_res" 1>&6
+  fi
+                                                      
+  if test -z "$kde_save_INSTALL_PROGRAM_given" ; then
+    INSTALL_PROGRAM='${INSTALL} $(INSTALL_STRIP_FLAG)'
+  fi
+  if test -z "$kde_save_INSTALL_SCRIPT_given" ; then
+    INSTALL_SCRIPT='${INSTALL}'
+  fi
+
+echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
+echo "configure:789: checking whether build environment is sane" >&5
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments.  Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+   set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+   if test "$*" = "X"; then
+      # -L didn't work.
+      set X `ls -t $srcdir/configure conftestfile`
+   fi
+   if test "$*" != "X $srcdir/configure conftestfile" \
+      && test "$*" != "X conftestfile $srcdir/configure"; then
+
+      # If neither matched, then we have a broken ls.  This can happen
+      # if, for instance, CONFIG_SHELL is bash and it inherits a
+      # broken ls alias from the environment.  This has actually
+      # happened.  Such a system could not be considered "sane".
+      { echo "configure: error: ls -t appears to fail.  Make sure there is not a broken
+alias in your environment" 1>&2; exit 1; }
+   fi
+
+   test "$2" = conftestfile
+   )
+then
+   # Ok.
+   :
+else
+   { echo "configure: error: newly created file is older than distributed files!
+Check your system clock" 1>&2; exit 1; }
+fi
+rm -f conftest*
+echo "$ac_t""yes" 1>&6
+echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
+echo "configure:827: checking whether ${MAKE-make} sets \${MAKE}" >&5
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftestmake <<\EOF
+all:
+	@echo 'ac_maketemp="${MAKE}"'
+EOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+  eval ac_cv_prog_make_${ac_make}_set=yes
+else
+  eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftestmake
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  SET_MAKE=
+else
+  echo "$ac_t""no" 1>&6
+  SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+
+PACKAGE=linpsk
+
+VERSION=0.6.2
+
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+  { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
+fi
+cat >> confdefs.h <<EOF
+#define PACKAGE "$PACKAGE"
+EOF
+
+cat >> confdefs.h <<EOF
+#define VERSION "$VERSION"
+EOF
+
+
+
+missing_dir=`cd $ac_aux_dir && pwd`
+echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
+echo "configure:873: checking for working aclocal" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf.  Sigh.
+if (aclocal --version) < /dev/null > /dev/null 2>&1; then
+   ACLOCAL=aclocal
+   echo "$ac_t""found" 1>&6
+else
+   ACLOCAL="$missing_dir/missing aclocal"
+   echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
+echo "configure:886: checking for working autoconf" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf.  Sigh.
+if (autoconf --version) < /dev/null > /dev/null 2>&1; then
+   AUTOCONF=autoconf
+   echo "$ac_t""found" 1>&6
+else
+   AUTOCONF="$missing_dir/missing autoconf"
+   echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working automake""... $ac_c" 1>&6
+echo "configure:899: checking for working automake" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf.  Sigh.
+if (automake --version) < /dev/null > /dev/null 2>&1; then
+   AUTOMAKE=automake
+   echo "$ac_t""found" 1>&6
+else
+   AUTOMAKE="$missing_dir/missing automake"
+   echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
+echo "configure:912: checking for working autoheader" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf.  Sigh.
+if (autoheader --version) < /dev/null > /dev/null 2>&1; then
+   AUTOHEADER=autoheader
+   echo "$ac_t""found" 1>&6
+else
+   AUTOHEADER="$missing_dir/missing autoheader"
+   echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
+echo "configure:925: checking for working makeinfo" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf.  Sigh.
+if (makeinfo --version) < /dev/null > /dev/null 2>&1; then
+   MAKEINFO=makeinfo
+   echo "$ac_t""found" 1>&6
+else
+   MAKEINFO="$missing_dir/missing makeinfo"
+   echo "$ac_t""missing" 1>&6
+fi
+
+
+
+
+
+if test "x$prefix" = "xNONE"; then
+  prefix=$ac_default_prefix
+  ac_configure_args="$ac_configure_args --prefix $prefix"
+fi
+
+
+
+ 
+
+    
+  
+  
+  
+
+  # Check whether --enable-debug or --disable-debug was given.
+if test "${enable_debug+set}" = set; then
+  enableval="$enable_debug"
+  
+   if test $enableval = "no";      then
+       kde_use_debug_code="no"
+       kde_use_debug_define=yes
+     else
+       kde_use_debug_code="yes"
+       kde_use_debug_define=no
+   fi
+  
+else
+  kde_use_debug_code="no"
+      kde_use_debug_define=no
+    
+fi
+
+    # Check whether --enable-dummyoption or --disable-dummyoption was given.
+if test "${enable_dummyoption+set}" = set; then
+  enableval="$enable_dummyoption"
+  :
+fi
+
+
+  # Check whether --enable-strict or --disable-strict was given.
+if test "${enable_strict+set}" = set; then
+  enableval="$enable_strict"
+  
+    if test $enableval = "no"; then
+         kde_use_strict_options="no"
+       else
+         kde_use_strict_options="yes"
+    fi
+   
+else
+  kde_use_strict_options="no"
+fi
+
+
+  # Check whether --enable-profile or --disable-profile was given.
+if test "${enable_profile+set}" = set; then
+  enableval="$enable_profile"
+  kde_use_profiling=$enableval
+else
+  kde_use_profiling="no"
+  
+fi
+
+
+  echo $ac_n "checking for a C-Compiler""... $ac_c" 1>&6
+echo "configure:1006: checking for a C-Compiler" >&5
+    echo "$ac_t""$CC" 1>&6
+
+  if test -z "$CC"; then # Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1012: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
+  ac_dummy="$PATH"
+  for ac_dir in $ac_dummy; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      ac_cv_prog_CC="gcc"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+  echo "$ac_t""$CC" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+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 $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1041: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
+  ac_prog_rejected=no
+  ac_dummy="$PATH"
+  for ac_dir in $ac_dummy; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
+        ac_prog_rejected=yes
+	continue
+      fi
+      ac_cv_prog_CC="cc"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+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 $# -gt 0; then
+    # We chose a different compiler from the bogus one.
+    # However, it has the same basename, so the bogon will be chosen
+    # first if we set CC to just the basename; use the full file name.
+    shift
+    set dummy "$ac_dir/$ac_word" "$@"
+    shift
+    ac_cv_prog_CC="$@"
+  fi
+fi
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+  echo "$ac_t""$CC" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+ fi
+  if test -z "$CC"; then # Extract the first word of "xlc", so it can be a program name with args.
+set dummy xlc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1089: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
+  ac_dummy="$PATH"
+  for ac_dir in $ac_dummy; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      ac_cv_prog_CC="xlc"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+  echo "$ac_t""$CC" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+ fi
+  test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
+
+  echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
+echo "configure:1118: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+cat > conftest.$ac_ext << EOF
+
+#line 1129 "configure"
+#include "confdefs.h"
+
+main(){return(0);}
+EOF
+if { (eval echo configure:1134: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  ac_cv_prog_cc_works=yes
+  # If we can't run a trivial program, we are probably using a cross compiler.
+  if (./conftest; exit) 2>/dev/null; then
+    ac_cv_prog_cc_cross=no
+  else
+    ac_cv_prog_cc_cross=yes
+  fi
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  ac_cv_prog_cc_works=no
+fi
+rm -fr conftest*
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+echo "$ac_t""$ac_cv_prog_cc_works" 1>&6
+if test $ac_cv_prog_cc_works = no; then
+  { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
+fi
+echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
+echo "configure:1160: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
+cross_compiling=$ac_cv_prog_cc_cross
+
+  echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
+echo "configure:1165: checking whether we are using GNU C" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftest.c <<EOF
+#ifdef __GNUC__
+  yes;
+#endif
+EOF
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1174: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+  ac_cv_prog_gcc=yes
+else
+  ac_cv_prog_gcc=no
+fi
+fi
+
+echo "$ac_t""$ac_cv_prog_gcc" 1>&6
+
+  if test $ac_cv_prog_gcc = yes; then
+    GCC=yes
+  else
+    GCC=
+  fi
+
+  USER_CFLAGS=$CFLAGS
+  CFLAGS=
+
+  if test -z "$CFLAGS"; then
+    if test "$kde_use_debug_code" = "yes"; then
+      echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
+echo "configure:1195: checking whether ${CC-cc} accepts -g" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  echo 'void f(){}' > conftest.c
+if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
+  ac_cv_prog_cc_g=yes
+else
+  ac_cv_prog_cc_g=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
+      if test $ac_cv_prog_cc_g = yes; then
+	CFLAGS="-g"
+	case $host in
+   	*-*-linux-gnu)	
+           CFLAGS="$CFLAGS -ansi -W -Wall -pedantic -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -D_XOPEN_SOURCE -D_BSD_SOURCE"
+         ;;
+        esac
+      fi
+    else
+      if test "$GCC" = "yes"; then
+        CFLAGS="-O2"
+      else
+        CFLAGS=""
+      fi
+      if test "$kde_use_debug_define" = "yes"; then
+        CFLAGS="$CFLAGS -DNDEBUG"
+		    			      fi
+    fi
+
+    if test "$kde_use_profiling" = yes; then
+       echo $ac_n "checking whether ${CC-cc} accepts -pg""... $ac_c" 1>&6
+echo "configure:1231: checking whether ${CC-cc} accepts -pg" >&5
+if eval "test \"`echo '$''{'kde_cv_prog_cc_pg'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  echo 'void f(){}' > conftest.c
+   if test -z "`${CC-cc} -pg -c conftest.c 2>&1`"; then
+     kde_cv_prog_cc_pg=yes
+   else
+     kde_cv_prog_cc_pg=no
+   fi
+   rm -f conftest*
+
+fi
+
+echo "$ac_t""$kde_cv_prog_cc_pg" 1>&6
+      if test "$kde_cv_prog_cc_pg" = yes; then
+        CFLAGS="$CFLAGS -pg"
+      fi
+    fi
+
+    if test "$GCC" = "yes"; then
+     CFLAGS="$CFLAGS"
+
+     if test "$kde_use_strict_options" = "yes"; then
+	CFLAGS="$CFLAGS -W -Wall -ansi -pedantic -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings"
+     fi
+    fi
+
+  fi
+
+  case "$host" in
+  *-*-sysv4.2uw*) CFLAGS="$CFLAGS -D_UNIXWARE";;
+  *-*-sysv5uw7*) CFLAGS="$CFLAGS -D_UNIXWARE7";;
+  esac
+
+  if test -n "$USER_CFLAGS"; then
+    CFLAGS="$CFLAGS $USER_CFLAGS"
+  fi
+
+  if test -z "$LDFLAGS" && test "$kde_use_debug_code" = "no" && test "$GCC" = "yes"; then
+     LDFLAGS=""
+  fi
+
+
+
+  echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
+echo "configure:1277: checking how to run the C preprocessor" >&5
+  # On Suns, sometimes $CPP names a directory.
+  if test -n "$CPP" && test -d "$CPP"; then
+    CPP=
+  fi
+  if test -z "$CPP"; then
+  if eval "test \"`echo '$''{'ac_cv_prog_CPP'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+    # This must be in double quotes, not single quotes, because CPP may get
+    # substituted into the Makefile and "${CC-cc}" will confuse make.
+    CPP="${CC-cc} -E"
+    # On the NeXT, cc -E runs the code through the compiler's parser,
+    # not just through cpp.
+            cat > conftest.$ac_ext <<EOF
+#line 1292 "configure"
+#include "confdefs.h"
+#include <assert.h>
+    Syntax Error
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:1298: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+  :
+else
+  echo "$ac_err" >&5
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  CPP="${CC-cc} -E -traditional-cpp"
+    cat > conftest.$ac_ext <<EOF
+#line 1309 "configure"
+#include "confdefs.h"
+#include <assert.h>
+    Syntax Error
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:1315: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+  :
+else
+  echo "$ac_err" >&5
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  CPP=/lib/cpp
+fi
+rm -f conftest*
+fi
+rm -f conftest*
+    ac_cv_prog_CPP="$CPP"
+fi
+    CPP="$ac_cv_prog_CPP"
+  else
+    ac_cv_prog_CPP="$CPP"
+  fi
+  echo "$ac_t""$CPP" 1>&6
+  
+
+  echo $ac_n "checking for a C++-Compiler""... $ac_c" 1>&6
+echo "configure:1339: checking for a C++-Compiler" >&5
+    echo "$ac_t""$CXX" 1>&6
+
+  if test -z "$CXX"; then # Extract the first word of "g++", so it can be a program name with args.
+set dummy g++; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1345: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CXX'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  if test -n "$CXX"; then
+  ac_cv_prog_CXX="$CXX" # Let the user override the test.
+else
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
+  ac_dummy="$PATH"
+  for ac_dir in $ac_dummy; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      ac_cv_prog_CXX="g++"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+fi
+fi
+CXX="$ac_cv_prog_CXX"
+if test -n "$CXX"; then
+  echo "$ac_t""$CXX" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+ fi
+  if test -z "$CXX"; then # Extract the first word of "CC", so it can be a program name with args.
+set dummy CC; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1374: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CXX'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  if test -n "$CXX"; then
+  ac_cv_prog_CXX="$CXX" # Let the user override the test.
+else
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
+  ac_dummy="$PATH"
+  for ac_dir in $ac_dummy; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      ac_cv_prog_CXX="CC"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+fi
+fi
+CXX="$ac_cv_prog_CXX"
+if test -n "$CXX"; then
+  echo "$ac_t""$CXX" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+ fi
+  if test -z "$CXX"; then # Extract the first word of "xlC", so it can be a program name with args.
+set dummy xlC; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1403: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CXX'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  if test -n "$CXX"; then
+  ac_cv_prog_CXX="$CXX" # Let the user override the test.
+else
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
+  ac_dummy="$PATH"
+  for ac_dir in $ac_dummy; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      ac_cv_prog_CXX="xlC"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+fi
+fi
+CXX="$ac_cv_prog_CXX"
+if test -n "$CXX"; then
+  echo "$ac_t""$CXX" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+ fi
+  if test -z "$CXX"; then # Extract the first word of "DCC", so it can be a program name with args.
+set dummy DCC; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1432: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CXX'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  if test -n "$CXX"; then
+  ac_cv_prog_CXX="$CXX" # Let the user override the test.
+else
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
+  ac_dummy="$PATH"
+  for ac_dir in $ac_dummy; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      ac_cv_prog_CXX="DCC"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+fi
+fi
+CXX="$ac_cv_prog_CXX"
+if test -n "$CXX"; then
+  echo "$ac_t""$CXX" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+ fi
+  test -z "$CXX" && { echo "configure: error: no acceptable C++-compiler found in \$PATH" 1>&2; exit 1; }
+
+  echo $ac_n "checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works""... $ac_c" 1>&6
+echo "configure:1461: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works" >&5
+
+
+ac_ext=C
+# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='${CXX-g++} -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cxx_cross
+
+ac_link='rm -rf SunWS_cache; ${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+
+
+
+cat > conftest.$ac_ext << EOF
+
+#line 1477 "configure"
+#include "confdefs.h"
+
+int main(){return(0);}
+EOF
+if { (eval echo configure:1482: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  ac_cv_prog_cxx_works=yes
+  # If we can't run a trivial program, we are probably using a cross compiler.
+  if (./conftest; exit) 2>/dev/null; then
+    ac_cv_prog_cxx_cross=no
+  else
+    ac_cv_prog_cxx_cross=yes
+  fi
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  ac_cv_prog_cxx_works=no
+fi
+rm -fr conftest*
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+echo "$ac_t""$ac_cv_prog_cxx_works" 1>&6
+if test $ac_cv_prog_cxx_works = no; then
+  { echo "configure: error: installation or configuration problem: C++ compiler cannot create executables." 1>&2; exit 1; }
+fi
+echo $ac_n "checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
+echo "configure:1508: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "$ac_t""$ac_cv_prog_cxx_cross" 1>&6
+cross_compiling=$ac_cv_prog_cxx_cross
+
+  echo $ac_n "checking whether we are using GNU C++""... $ac_c" 1>&6
+echo "configure:1513: checking whether we are using GNU C++" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_gxx'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftest.C <<EOF
+#ifdef __GNUC__
+  yes;
+#endif
+EOF
+if { ac_try='${CXX-g++} -E conftest.C'; { (eval echo configure:1522: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+  ac_cv_prog_gxx=yes
+else
+  ac_cv_prog_gxx=no
+fi
+fi
+
+echo "$ac_t""$ac_cv_prog_gxx" 1>&6
+
+  if test $ac_cv_prog_gxx = yes; then
+    GXX=yes
+  fi
+
+  USER_CXXFLAGS=$CXXFLAGS
+  CXXFLAGS=""
+
+  if test -z "$CXXFLAGS"; then
+    if test "$kde_use_debug_code" = "yes"; then
+      echo $ac_n "checking whether ${CXX-g++} accepts -g""... $ac_c" 1>&6
+echo "configure:1541: checking whether ${CXX-g++} accepts -g" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_cxx_g'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  echo 'void f(){}' > conftest.cc
+if test -z "`${CXX-g++} -g -c conftest.cc 2>&1`"; then
+  ac_cv_prog_cxx_g=yes
+else
+  ac_cv_prog_cxx_g=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_prog_cxx_g" 1>&6
+      if test $ac_cv_prog_cxx_g = yes; then
+        CXXFLAGS="-g"
+	case $host in     	*-*-linux-gnu)
+           CXXFLAGS="$CXXFLAGS -ansi -D_XOPEN_SOURCE -D_BSD_SOURCE -Wbad-function-cast -Wcast-align -Wundef -Wconversion"
+         ;;
+        esac
+      fi
+    else
+      if test "$GXX" = "yes"; then
+         CXXFLAGS="-O2"
+      fi
+      if test "$kde_use_debug_define" = "yes"; then
+         CXXFLAGS="$CXXFLAGS -DNDEBUG"
+      fi
+    fi
+
+    if test "$kde_use_profiling" = yes; then
+       echo $ac_n "checking whether ${CXX-g++} accepts -pg""... $ac_c" 1>&6
+echo "configure:1574: checking whether ${CXX-g++} accepts -pg" >&5
+if eval "test \"`echo '$''{'kde_cv_prog_cxx_pg'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  echo 'void f(){}' > conftest.cc
+   if test -z "`${CXX-g++} -pg -c conftest.cc 2>&1`"; then
+     kde_cv_prog_cxx_pg=yes
+   else
+     kde_cv_prog_cxx_pg=no
+   fi
+  rm -f conftest*
+
+fi
+
+echo "$ac_t""$kde_cv_prog_cxx_pg" 1>&6
+      if test "$kde_cv_prog_cxx_pg" = yes; then
+        CXXFLAGS="$CXXFLAGS -pg"
+      fi
+    fi
+    
+    
+
+echo $ac_n "checking whether $CXX supports -fno-exceptions""... $ac_c" 1>&6
+echo "configure:1597: checking whether $CXX supports -fno-exceptions" >&5
+kde_cache=`echo fno-exceptions | sed 'y%.=/+-%___p_%'`
+if eval "test \"`echo '$''{'kde_cv_prog_cxx_$kde_cache'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  
+echo 'int main() { return 0; }' >conftest.cc
+eval "kde_cv_prog_cxx_$kde_cache=no"
+if test -z "`$CXX -fno-exceptions -c conftest.cc 2>&1`"; then
+  if test -z "`$CXX -fno-exceptions -o conftest conftest.o 2>&1`"; then
+    eval "kde_cv_prog_cxx_$kde_cache=yes"
+  fi
+fi
+rm -f conftest*
+
+fi
+
+if eval "test \"`echo '$kde_cv_prog_cxx_'$kde_cache`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ :
+ 
+      CXXFLAGS="$CXXFLAGS -fno-exceptions"
+    
+else
+ echo "$ac_t""no" 1>&6
+ :
+ 
+fi
+
+      
+
+    
+
+echo $ac_n "checking whether $CXX supports -fno-check-new""... $ac_c" 1>&6
+echo "configure:1631: checking whether $CXX supports -fno-check-new" >&5
+kde_cache=`echo fno-check-new | sed 'y%.=/+-%___p_%'`
+if eval "test \"`echo '$''{'kde_cv_prog_cxx_$kde_cache'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  
+echo 'int main() { return 0; }' >conftest.cc
+eval "kde_cv_prog_cxx_$kde_cache=no"
+if test -z "`$CXX -fno-check-new -c conftest.cc 2>&1`"; then
+  if test -z "`$CXX -fno-check-new -o conftest conftest.o 2>&1`"; then
+    eval "kde_cv_prog_cxx_$kde_cache=yes"
+  fi
+fi
+rm -f conftest*
+
+fi
+
+if eval "test \"`echo '$kde_cv_prog_cxx_'$kde_cache`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ :
+ 
+	  CXXFLAGS="$CXXFLAGS -fno-check-new"
+	
+else
+ echo "$ac_t""no" 1>&6
+ :
+ 
+fi
+
+
+    if test "$GXX" = "yes"; then
+       CXXFLAGS="$CXXFLAGS"
+
+       if test true || test "$kde_use_debug_code" = "yes"; then
+	 CXXFLAGS="$CXXFLAGS -Wall -pedantic -W -Wpointer-arith -Wmissing-prototypes -Wwrite-strings"
+
+         
+
+echo $ac_n "checking whether $CXX supports -Wno-long-long""... $ac_c" 1>&6
+echo "configure:1670: checking whether $CXX supports -Wno-long-long" >&5
+kde_cache=`echo Wno-long-long | sed 'y%.=/+-%___p_%'`
+if eval "test \"`echo '$''{'kde_cv_prog_cxx_$kde_cache'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  
+echo 'int main() { return 0; }' >conftest.cc
+eval "kde_cv_prog_cxx_$kde_cache=no"
+if test -z "`$CXX -Wno-long-long -c conftest.cc 2>&1`"; then
+  if test -z "`$CXX -Wno-long-long -o conftest conftest.o 2>&1`"; then
+    eval "kde_cv_prog_cxx_$kde_cache=yes"
+  fi
+fi
+rm -f conftest*
+
+fi
+
+if eval "test \"`echo '$kde_cv_prog_cxx_'$kde_cache`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ :
+ 
+	   CXXFLAGS="$CXXFLAGS -Wno-long-long"
+	 
+else
+ echo "$ac_t""no" 1>&6
+ :
+ 
+fi
+
+         
+
+echo $ac_n "checking whether $CXX supports -Wnon-virtual-dtor""... $ac_c" 1>&6
+echo "configure:1702: checking whether $CXX supports -Wnon-virtual-dtor" >&5
+kde_cache=`echo Wnon-virtual-dtor | sed 'y%.=/+-%___p_%'`
+if eval "test \"`echo '$''{'kde_cv_prog_cxx_$kde_cache'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  
+echo 'int main() { return 0; }' >conftest.cc
+eval "kde_cv_prog_cxx_$kde_cache=no"
+if test -z "`$CXX -Wnon-virtual-dtor -c conftest.cc 2>&1`"; then
+  if test -z "`$CXX -Wnon-virtual-dtor -o conftest conftest.o 2>&1`"; then
+    eval "kde_cv_prog_cxx_$kde_cache=yes"
+  fi
+fi
+rm -f conftest*
+
+fi
+
+if eval "test \"`echo '$kde_cv_prog_cxx_'$kde_cache`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ :
+ 
+           CXXFLAGS="$CXXFLAGS -Wnon-virtual-dtor"
+         
+else
+ echo "$ac_t""no" 1>&6
+ :
+ 
+fi
+
+         
+
+echo $ac_n "checking whether $CXX supports -fno-builtin""... $ac_c" 1>&6
+echo "configure:1734: checking whether $CXX supports -fno-builtin" >&5
+kde_cache=`echo fno-builtin | sed 'y%.=/+-%___p_%'`
+if eval "test \"`echo '$''{'kde_cv_prog_cxx_$kde_cache'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  
+echo 'int main() { return 0; }' >conftest.cc
+eval "kde_cv_prog_cxx_$kde_cache=no"
+if test -z "`$CXX -fno-builtin -c conftest.cc 2>&1`"; then
+  if test -z "`$CXX -fno-builtin -o conftest conftest.o 2>&1`"; then
+    eval "kde_cv_prog_cxx_$kde_cache=yes"
+  fi
+fi
+rm -f conftest*
+
+fi
+
+if eval "test \"`echo '$kde_cv_prog_cxx_'$kde_cache`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ :
+ 
+           CXXFLAGS="$CXXFLAGS -fno-builtin"
+         
+else
+ echo "$ac_t""no" 1>&6
+ :
+ 
+fi
+
+	
+       fi
+
+       if test "$kde_use_strict_options" = "yes"; then
+	CXXFLAGS="$CXXFLAGS -Wcast-qual -Wbad-function-cast -Wshadow -Wcast-align"
+       fi
+
+       if test "$kde_very_strict" = "yes"; then
+         CXXFLAGS="$CXXFLAGS -Wold-style-cast -Wredundant-decls -Wconversion"
+       fi
+    fi
+  fi
+
+    
+
+echo $ac_n "checking whether $CXX supports -fexceptions""... $ac_c" 1>&6
+echo "configure:1779: checking whether $CXX supports -fexceptions" >&5
+kde_cache=`echo fexceptions | sed 'y%.=/+-%___p_%'`
+if eval "test \"`echo '$''{'kde_cv_prog_cxx_$kde_cache'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  
+echo 'int main() { return 0; }' >conftest.cc
+eval "kde_cv_prog_cxx_$kde_cache=no"
+if test -z "`$CXX -fexceptions -c conftest.cc 2>&1`"; then
+  if test -z "`$CXX -fexceptions -o conftest conftest.o 2>&1`"; then
+    eval "kde_cv_prog_cxx_$kde_cache=yes"
+  fi
+fi
+rm -f conftest*
+
+fi
+
+if eval "test \"`echo '$kde_cv_prog_cxx_'$kde_cache`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ :
+ 
+	  USE_EXCEPTIONS="-fexceptions"
+	
+else
+ echo "$ac_t""no" 1>&6
+ :
+ USE_EXCEPTIONS=
+	
+fi
+
+    
+
+    
+
+echo $ac_n "checking whether $CXX supports -frtti""... $ac_c" 1>&6
+echo "configure:1814: checking whether $CXX supports -frtti" >&5
+kde_cache=`echo frtti | sed 'y%.=/+-%___p_%'`
+if eval "test \"`echo '$''{'kde_cv_prog_cxx_$kde_cache'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  
+echo 'int main() { return 0; }' >conftest.cc
+eval "kde_cv_prog_cxx_$kde_cache=no"
+if test -z "`$CXX -frtti -c conftest.cc 2>&1`"; then
+  if test -z "`$CXX -frtti -o conftest conftest.o 2>&1`"; then
+    eval "kde_cv_prog_cxx_$kde_cache=yes"
+  fi
+fi
+rm -f conftest*
+
+fi
+
+if eval "test \"`echo '$kde_cv_prog_cxx_'$kde_cache`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ :
+ 
+	  USE_RTTI="-frtti"
+	
+else
+ echo "$ac_t""no" 1>&6
+ :
+ USE_RTTI=
+	
+fi
+
+    
+
+    case "$host" in
+      *-*-irix*)  test "$GXX" = yes && CXXFLAGS="$CXXFLAGS -D_LANGUAGE_C_PLUS_PLUS -D__LANGUAGE_C_PLUS_PLUS" ;;
+      *-*-sysv4.2uw*) CXXFLAGS="$CXXFLAGS -D_UNIXWARE";;
+      *-*-sysv5uw7*) CXXFLAGS="$CXXFLAGS -D_UNIXWARE7";;
+      *-*-solaris*) 
+        if test "$GXX" = yes; then
+          libstdcpp=`gcc -print-file-name=libstdc++.so`
+          if test ! -f $libstdcpp; then
+             { echo "configure: error: You've compiled gcc without --enable-shared. This doesn't work with KDE. Please recompile gcc with --enable-shared to receive a libstdc++.so" 1>&2; exit 1; }
+          fi
+        fi
+        ;;
+    esac
+
+    if test -n "$USER_CXXFLAGS"; then
+       CXXFLAGS="$CXXFLAGS $USER_CXXFLAGS"
+    fi
+
+      __val=$CXX
+  __forbid=" -fno-rtti -rpath "
+  if test -n "$__val"; then
+    __new=""
+    ac_save_IFS=$IFS
+    IFS=" 	"
+    for i in $__val; do
+      case "$__forbid" in
+        *" $i "*) echo "configure: warning: found forbidden $i in CXX, removing it" 1>&2 ;;
+	*) # Careful to not add spaces, where there were none, because otherwise
+	   # libtool gets confused, if we change e.g. CXX
+	   if test -z "$__new" ; then __new=$i ; else __new="$__new $i" ; fi ;;
+      esac
+    done
+    IFS=$ac_save_IFS
+    CXX=$__new
+  fi
+
+  __val=$CXXFLAGS
+  __forbid=" -fno-rtti -rpath "
+  if test -n "$__val"; then
+    __new=""
+    ac_save_IFS=$IFS
+    IFS=" 	"
+    for i in $__val; do
+      case "$__forbid" in
+        *" $i "*) echo "configure: warning: found forbidden $i in CXXFLAGS, removing it" 1>&2 ;;
+	*) # Careful to not add spaces, where there were none, because otherwise
+	   # libtool gets confused, if we change e.g. CXX
+	   if test -z "$__new" ; then __new=$i ; else __new="$__new $i" ; fi ;;
+      esac
+    done
+    IFS=$ac_save_IFS
+    CXXFLAGS=$__new
+  fi
+
+
+
+    echo $ac_n "checking how to run the C++ preprocessor""... $ac_c" 1>&6
+echo "configure:1903: checking how to run the C++ preprocessor" >&5
+    if test -z "$CXXCPP"; then
+      if eval "test \"`echo '$''{'ac_cv_prog_CXXCPP'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  
+                   ac_ext=C
+# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='${CXX-g++} -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cxx_cross
+
+ac_link='rm -rf SunWS_cache; ${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+
+         CXXCPP="${CXX-g++} -E"
+         cat > conftest.$ac_ext <<EOF
+#line 1920 "configure"
+#include "confdefs.h"
+#include <stdlib.h>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:1925: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+  :
+else
+  echo "$ac_err" >&5
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  CXXCPP=/lib/cpp
+fi
+rm -f conftest*
+         ac_cv_prog_CXXCPP="$CXXCPP"
+         ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+     
+fi
+     CXXCPP="$ac_cv_prog_CXXCPP"
+    fi
+    echo "$ac_t""$CXXCPP" 1>&6
+    
+    # the following is to allow programs, that are known to
+    # have problems when compiled with -O2
+    if test -n "$CXXFLAGS"; then
+      kde_safe_IFS=$IFS
+      IFS=" "
+      NOOPT_CXXFLAGS=""
+      for i in $CXXFLAGS; do
+        case $i in
+          -O*)
+                ;;
+          *)
+                NOOPT_CXXFLAGS="$NOOPT_CXXFLAGS $i"
+                ;;
+        esac
+      done
+      IFS=$kde_safe_IFS
+    fi
+    
+
+    
+  # Check whether --enable-final or --disable-final was given.
+if test "${enable_final+set}" = set; then
+  enableval="$enable_final"
+  kde_use_final=$enableval
+else
+  kde_use_final=no
+fi
+
+
+  
+  REPO=""
+  NOREPO=""
+
+  
+
+echo $ac_n "checking whether $CXX supports -frepo""... $ac_c" 1>&6
+echo "configure:1986: checking whether $CXX supports -frepo" >&5
+kde_cache=`echo frepo | sed 'y%.=/+-%___p_%'`
+if eval "test \"`echo '$''{'kde_cv_prog_cxx_$kde_cache'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  
+echo 'int main() { return 0; }' >conftest.cc
+eval "kde_cv_prog_cxx_$kde_cache=no"
+if test -z "`$CXX -frepo -c conftest.cc 2>&1`"; then
+  if test -z "`$CXX -frepo -o conftest conftest.o 2>&1`"; then
+    eval "kde_cv_prog_cxx_$kde_cache=yes"
+  fi
+fi
+rm -f conftest*
+
+fi
+
+if eval "test \"`echo '$kde_cv_prog_cxx_'$kde_cache`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ :
+ 
+     REPO="-frepo"
+     NOREPO="-fno-repo"
+   
+else
+ echo "$ac_t""no" 1>&6
+ :
+ 
+fi
+
+
+  if test -z "$REPO"; then
+  
+
+echo $ac_n "checking whether $CXX supports -instances=explicit""... $ac_c" 1>&6
+echo "configure:2021: checking whether $CXX supports -instances=explicit" >&5
+kde_cache=`echo instances=explicit | sed 'y%.=/+-%___p_%'`
+if eval "test \"`echo '$''{'kde_cv_prog_cxx_$kde_cache'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  
+echo 'int main() { return 0; }' >conftest.cc
+eval "kde_cv_prog_cxx_$kde_cache=no"
+if test -z "`$CXX -instances=explicit -c conftest.cc 2>&1`"; then
+  if test -z "`$CXX -instances=explicit -o conftest conftest.o 2>&1`"; then
+    eval "kde_cv_prog_cxx_$kde_cache=yes"
+  fi
+fi
+rm -f conftest*
+
+fi
+
+if eval "test \"`echo '$kde_cv_prog_cxx_'$kde_cache`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ :
+ 
+     REPO="-instances=explicit"
+     NOREPO="-instances=extern"
+  
+else
+ echo "$ac_t""no" 1>&6
+ :
+ 
+fi
+
+  fi
+
+  if test -n "$REPO"; then
+     cat >> confdefs.h <<EOF
+#define HAVE_TEMPLATE_REPOSITORY 1
+EOF
+
+     
+  fi
+
+  
+  
+
+  if test "x$kde_use_final" = "xyes"; then
+      KDE_USE_FINAL_TRUE=""
+      KDE_USE_FINAL_FALSE="#"
+   else
+      KDE_USE_FINAL_TRUE="#"
+      KDE_USE_FINAL_FALSE=""
+  fi
+  
+  
+
+  # Check whether --enable-closure or --disable-closure was given.
+if test "${enable_closure+set}" = set; then
+  enableval="$enable_closure"
+  kde_use_closure=$enableval
+else
+  kde_use_closure=yes
+fi
+
+
+  if test "x$kde_use_closure" = "xyes"; then
+       KDE_USE_CLOSURE_TRUE=""
+       KDE_USE_CLOSURE_FALSE="#"
+#       CXXFLAGS="$CXXFLAGS $REPO"
+  else
+       KDE_USE_CLOSURE_TRUE="#"
+       KDE_USE_CLOSURE_FALSE=""
+  fi
+  
+  
+
+
+    
+
+    KDE_CXXFLAGS=
+    
+
+# Check whether --enable-shared or --disable-shared was given.
+if test "${enable_shared+set}" = set; then
+  enableval="$enable_shared"
+  p=${PACKAGE-default}
+case "$enableval" in
+yes) enable_shared=yes ;;
+no) enable_shared=no ;;
+*)
+  enable_shared=no
+  # Look at the argument we got.  We use all the common list separators.
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
+  for pkg in $enableval; do
+    if test "X$pkg" = "X$p"; then
+      enable_shared=yes
+    fi
+  done
+  IFS="$ac_save_ifs"
+  ;;
+esac
+else
+  enable_shared=yes
+fi
+
+# Check whether --enable-static or --disable-static was given.
+if test "${enable_static+set}" = set; then
+  enableval="$enable_static"
+  p=${PACKAGE-default}
+case "$enableval" in
+yes) enable_static=yes ;;
+no) enable_static=no ;;
+*)
+  enable_static=no
+  # Look at the argument we got.  We use all the common list separators.
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
+  for pkg in $enableval; do
+    if test "X$pkg" = "X$p"; then
+      enable_static=yes
+    fi
+  done
+  IFS="$ac_save_ifs"
+  ;;
+esac
+else
+  enable_static=no
+fi
+
+# Check whether --enable-fast-install or --disable-fast-install was given.
+if test "${enable_fast_install+set}" = set; then
+  enableval="$enable_fast_install"
+  p=${PACKAGE-default}
+case "$enableval" in
+yes) enable_fast_install=yes ;;
+no) enable_fast_install=no ;;
+*)
+  enable_fast_install=no
+  # Look at the argument we got.  We use all the common list separators.
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
+  for pkg in $enableval; do
+    if test "X$pkg" = "X$p"; then
+      enable_fast_install=yes
+    fi
+  done
+  IFS="$ac_save_ifs"
+  ;;
+esac
+else
+  enable_fast_install=yes
+fi
+
+# Check whether --with-gnu-ld or --without-gnu-ld was given.
+if test "${with_gnu_ld+set}" = set; then
+  withval="$with_gnu_ld"
+  test "$withval" = no || with_gnu_ld=yes
+else
+  with_gnu_ld=no
+fi
+
+ac_prog=ld
+if test "$GCC" = yes; then
+  # Check if gcc -print-prog-name=ld gives a path.
+  echo $ac_n "checking for ld used by GCC""... $ac_c" 1>&6
+echo "configure:2181: checking for ld used by GCC" >&5
+  case $host in
+  *-*-mingw*)
+    # gcc leaves a trailing carriage return which upsets mingw
+    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+  *)
+    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+  esac
+  case "$ac_prog" in
+    # Accept absolute paths.
+    [\\/]* | [A-Za-z]:[\\/]*)
+      re_direlt='/[^/][^/]*/\.\./'
+      # Canonicalize the path of ld
+      ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
+      while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
+	ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
+      done
+      test -z "$LD" && LD="$ac_prog"
+      ;;
+  "")
+    # If it fails, then pretend we aren't using GCC.
+    ac_prog=ld
+    ;;
+  *)
+    # If it is relative, then search for the first ld in PATH.
+    with_gnu_ld=unknown
+    ;;
+  esac
+elif test "$with_gnu_ld" = yes; then
+  echo $ac_n "checking for GNU ld""... $ac_c" 1>&6
+echo "configure:2211: checking for GNU ld" >&5
+else
+  echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6
+echo "configure:2214: checking for non-GNU ld" >&5
+fi
+if eval "test \"`echo '$''{'lt_cv_path_LD'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  if test -z "$LD"; then
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
+  for ac_dir in $PATH; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+      lt_cv_path_LD="$ac_dir/$ac_prog"
+      # Check to see if the program is GNU ld.  I'd rather use --version,
+      # but apparently some GNU ld's only accept -v.
+      # Break only if it was the GNU/non-GNU ld that we prefer.
+      if "$lt_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
+	test "$with_gnu_ld" != no && break
+      else
+	test "$with_gnu_ld" != yes && break
+      fi
+    fi
+  done
+  IFS="$ac_save_ifs"
+else
+  lt_cv_path_LD="$LD" # Let the user override the test with a path.
+fi
+fi
+
+LD="$lt_cv_path_LD"
+if test -n "$LD"; then
+  echo "$ac_t""$LD" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+test -z "$LD" && { echo "configure: error: no acceptable ld found in \$PATH" 1>&2; exit 1; }
+echo $ac_n "checking if the linker ($LD) is GNU ld""... $ac_c" 1>&6
+echo "configure:2249: checking if the linker ($LD) is GNU ld" >&5
+if eval "test \"`echo '$''{'lt_cv_prog_gnu_ld'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  # I'd rather use --version here, but apparently some GNU ld's only accept -v.
+if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
+  lt_cv_prog_gnu_ld=yes
+else
+  lt_cv_prog_gnu_ld=no
+fi
+fi
+
+echo "$ac_t""$lt_cv_prog_gnu_ld" 1>&6
+with_gnu_ld=$lt_cv_prog_gnu_ld
+
+
+echo $ac_n "checking for $LD option to reload object files""... $ac_c" 1>&6
+echo "configure:2266: checking for $LD option to reload object files" >&5
+if eval "test \"`echo '$''{'lt_cv_ld_reload_flag'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  lt_cv_ld_reload_flag='-r'
+fi
+
+echo "$ac_t""$lt_cv_ld_reload_flag" 1>&6
+reload_flag=$lt_cv_ld_reload_flag
+test -n "$reload_flag" && reload_flag=" $reload_flag"
+
+echo $ac_n "checking for BSD-compatible nm""... $ac_c" 1>&6
+echo "configure:2278: checking for BSD-compatible nm" >&5
+if eval "test \"`echo '$''{'lt_cv_path_NM'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  if test -n "$NM"; then
+  # Let the user override the test.
+  lt_cv_path_NM="$NM"
+else
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
+  for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do
+    test -z "$ac_dir" && ac_dir=.
+    tmp_nm=$ac_dir/${ac_tool_prefix}nm
+    if test -f $tmp_nm || test -f $tmp_nm$ac_exeext ; then
+      # Check to see if the nm accepts a BSD-compat flag.
+      # Adding the `sed 1q' prevents false positives on HP-UX, which says:
+      #   nm: unknown option "B" ignored
+      # Tru64's nm complains that /dev/null is an invalid object file
+      if ($tmp_nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep '(/dev/null|Invalid file or object type)' >/dev/null; then
+	lt_cv_path_NM="$tmp_nm -B"
+	break
+      elif ($tmp_nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
+	lt_cv_path_NM="$tmp_nm -p"
+	break
+      else
+	lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
+	continue # so that we can try to find one that supports BSD flags
+      fi
+    fi
+  done
+  IFS="$ac_save_ifs"
+  test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm
+fi
+fi
+
+NM="$lt_cv_path_NM"
+echo "$ac_t""$NM" 1>&6
+
+echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6
+echo "configure:2316: checking whether ln -s works" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  rm -f conftestdata
+if ln -s X conftestdata 2>/dev/null
+then
+  rm -f conftestdata
+  ac_cv_prog_LN_S="ln -s"
+else
+  ac_cv_prog_LN_S=ln
+fi
+fi
+LN_S="$ac_cv_prog_LN_S"
+if test "$ac_cv_prog_LN_S" = "ln -s"; then
+  echo "$ac_t""yes" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+echo $ac_n "checking how to recognise dependant libraries""... $ac_c" 1>&6
+echo "configure:2337: checking how to recognise dependant libraries" >&5
+if eval "test \"`echo '$''{'lt_cv_deplibs_check_method'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  lt_cv_file_magic_cmd='$MAGIC_CMD'
+lt_cv_file_magic_test_file=
+lt_cv_deplibs_check_method='unknown'
+# Need to set the preceding variable on all platforms that support
+# interlibrary dependencies.
+# 'none' -- dependencies not supported.
+# `unknown' -- same as none, but documents that we really don't know.
+# 'pass_all' -- all dependencies passed with no checks.
+# 'test_compile' -- check by making test program.
+# 'file_magic [regex]' -- check by looking for files in library path
+# which responds to the $file_magic_cmd with a given egrep regex.
+# If you have `file' or equivalent on your system and you're not sure
+# whether `pass_all' will *always* work, you probably want this one.
+
+case "$host_os" in
+aix4*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+beos*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+bsdi4*)
+    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
+    lt_cv_file_magic_cmd='/usr/bin/file -L'
+  lt_cv_file_magic_test_file=/shlib/libc.so
+  ;;
+
+cygwin* | mingw* |pw32*)
+  lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
+  lt_cv_file_magic_cmd='$OBJDUMP -f'
+  ;;
+
+darwin* | rhapsody*)
+  lt_cv_deplibs_check_method='file_magic Mach-O dynamically linked shared library'
+  lt_cv_file_magic_cmd=/usr/bin/file
+  lt_cv_file_magic_test_file=`echo /System/Library/Frameworks/System.framework/Versions/*/System | head -1`
+  ;;
+
+freebsd* )
+  if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
+    case "$host_cpu" in
+    i*86 )
+      # Not sure whether the presence of OpenBSD here was a mistake.
+      # Let's accept both of them until this is cleared up.
+            lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD)/i[3-9]86 (compact )?demand paged shared library'
+            lt_cv_file_magic_cmd=/usr/bin/file
+      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
+      ;;
+    esac
+  else
+    lt_cv_deplibs_check_method=pass_all
+  fi
+  ;;
+
+gnu*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+hpux10.20*|hpux11*)
+  # TODO:  Does this work for hpux-11 too?
+    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library'
+    lt_cv_file_magic_cmd=/usr/bin/file
+  lt_cv_file_magic_test_file=/usr/lib/libc.sl
+  ;;
+
+irix5* | irix6*)
+  case "$host_os" in
+  irix5*)
+    # this will be overridden with pass_all, but let us keep it just in case
+    lt_cv_deplibs_check_method="file_magic ELF 32-bit MSB dynamic lib MIPS - version 1"
+    ;;
+  *)
+    case "$LD" in
+    *-32|*"-32 ") libmagic=32-bit;;
+    *-n32|*"-n32 ") libmagic=N32;;
+    *-64|*"-64 ") libmagic=64-bit;;
+    *) libmagic=never-match;;
+    esac
+    # this will be overridden with pass_all, but let us keep it just in case
+        lt_cv_deplibs_check_method="file_magic ELF ${libmagic} MSB mips-[1234] dynamic lib MIPS - version 1"
+        ;;
+  esac
+  lt_cv_file_magic_test_file=`echo /lib${libsuff}/libc.so*`
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+# This must be Linux ELF.
+linux-gnu*)
+  case "$host_cpu" in
+  alpha* | i*86 | powerpc* | sparc* | ia64* | s390* )
+    lt_cv_deplibs_check_method=pass_all ;;
+  *)
+    # glibc up to 2.1.1 does not perform some relocations on ARM
+        lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' ;;
+      esac
+  lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
+  ;;
+
+netbsd*)
+  if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
+    lt_cv_deplibs_check_method='file_magic NetBSD/[a-z0-9]* demand paged shared library'
+  else
+    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB shared object'
+  fi
+  lt_cv_file_magic_cmd='/usr/bin/file -L'
+  lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
+  ;;
+
+openbsd* )
+  if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
+    case "$host_cpu" in
+    i*86 )
+            lt_cv_deplibs_check_method='file_magic OpenBSD/i[3-9]86 demand paged shared library'
+            lt_cv_file_magic_cmd=/usr/bin/file
+      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
+      ;;
+    esac
+  else
+    lt_cv_deplibs_check_method=pass_all
+  fi
+  ;;
+
+newsos6)
+  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
+  lt_cv_file_magic_cmd=/usr/bin/file
+  lt_cv_file_magic_test_file=/usr/lib/libnls.so
+  ;;
+
+osf3* | osf4* | osf5*)
+  # this will be overridden with pass_all, but let us keep it just in case
+  lt_cv_deplibs_check_method='file_magic COFF format alpha shared library'
+  lt_cv_file_magic_test_file=/shlib/libc.so
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+sco3.2v5*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+solaris*)
+  lt_cv_deplibs_check_method=pass_all
+  lt_cv_file_magic_test_file=/lib/libc.so
+  ;;
+
+sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+  case "$host_vendor" in
+  ncr)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  motorola)
+        lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
+        lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
+    ;;
+  esac
+  ;;
+esac
+
+fi
+
+echo "$ac_t""$lt_cv_deplibs_check_method" 1>&6
+file_magic_cmd=$lt_cv_file_magic_cmd
+deplibs_check_method=$lt_cv_deplibs_check_method
+
+if test $host != $build; then
+  ac_tool_prefix=${host_alias}-
+else
+  ac_tool_prefix=
+fi
+
+# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers!
+
+# Only perform the check for file, if the check method requires it
+case "$deplibs_check_method" in
+file_magic*)
+  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
+    echo $ac_n "checking for ${ac_tool_prefix}file""... $ac_c" 1>&6
+echo "configure:2519: checking for ${ac_tool_prefix}file" >&5
+if eval "test \"`echo '$''{'lt_cv_path_MAGIC_CMD'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  case "$MAGIC_CMD" in
+  /*)
+  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+  ;;
+  ?:/*)
+  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a dos path.
+  ;;
+  *)
+  ac_save_MAGIC_CMD="$MAGIC_CMD"
+  IFS="${IFS=   }"; ac_save_ifs="$IFS"; IFS=":"
+  ac_dummy="/usr/bin:$PATH"
+  for ac_dir in $ac_dummy; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/${ac_tool_prefix}file; then
+      lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
+      if test -n "$file_magic_test_file"; then
+	case "$deplibs_check_method" in
+	"file_magic "*)
+	  file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`"
+	  MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+	  if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+	    egrep "$file_magic_regex" > /dev/null; then
+	    :
+	  else
+	    cat <<EOF 1>&2
+
+*** Warning: the command libtool uses to detect shared libraries,
+*** $file_magic_cmd, produces output that libtool cannot recognize.
+*** The result is that libtool may fail to recognize shared libraries
+*** as such.  This will affect the creation of libtool libraries that
+*** depend on shared libraries, but programs linked with such libtool
+*** libraries will work regardless of this problem.  Nevertheless, you
+*** may want to report the problem to your system manager and/or to
+*** bug-libtool at gnu.org
+
+EOF
+	  fi ;;
+	esac
+      fi
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+  MAGIC_CMD="$ac_save_MAGIC_CMD"
+  ;;
+esac
+fi
+
+MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+if test -n "$MAGIC_CMD"; then
+  echo "$ac_t""$MAGIC_CMD" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+if test -z "$lt_cv_path_MAGIC_CMD"; then
+  if test -n "$ac_tool_prefix"; then
+    echo $ac_n "checking for file""... $ac_c" 1>&6
+echo "configure:2581: checking for file" >&5
+if eval "test \"`echo '$''{'lt_cv_path_MAGIC_CMD'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  case "$MAGIC_CMD" in
+  /*)
+  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+  ;;
+  ?:/*)
+  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a dos path.
+  ;;
+  *)
+  ac_save_MAGIC_CMD="$MAGIC_CMD"
+  IFS="${IFS=   }"; ac_save_ifs="$IFS"; IFS=":"
+  ac_dummy="/usr/bin:$PATH"
+  for ac_dir in $ac_dummy; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/file; then
+      lt_cv_path_MAGIC_CMD="$ac_dir/file"
+      if test -n "$file_magic_test_file"; then
+	case "$deplibs_check_method" in
+	"file_magic "*)
+	  file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`"
+	  MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+	  if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+	    egrep "$file_magic_regex" > /dev/null; then
+	    :
+	  else
+	    cat <<EOF 1>&2
+
+*** Warning: the command libtool uses to detect shared libraries,
+*** $file_magic_cmd, produces output that libtool cannot recognize.
+*** The result is that libtool may fail to recognize shared libraries
+*** as such.  This will affect the creation of libtool libraries that
+*** depend on shared libraries, but programs linked with such libtool
+*** libraries will work regardless of this problem.  Nevertheless, you
+*** may want to report the problem to your system manager and/or to
+*** bug-libtool at gnu.org
+
+EOF
+	  fi ;;
+	esac
+      fi
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+  MAGIC_CMD="$ac_save_MAGIC_CMD"
+  ;;
+esac
+fi
+
+MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+if test -n "$MAGIC_CMD"; then
+  echo "$ac_t""$MAGIC_CMD" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+  else
+    MAGIC_CMD=:
+  fi
+fi
+
+  fi
+  ;;
+esac
+
+# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:2652: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  if test -n "$RANLIB"; then
+  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
+  ac_dummy="$PATH"
+  for ac_dir in $ac_dummy; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+  echo "$ac_t""$RANLIB" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+
+if test -z "$ac_cv_prog_RANLIB"; then
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:2684: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  if test -n "$RANLIB"; then
+  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
+  ac_dummy="$PATH"
+  for ac_dir in $ac_dummy; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      ac_cv_prog_RANLIB="ranlib"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+  test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+  echo "$ac_t""$RANLIB" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+else
+  RANLIB=":"
+fi
+fi
+
+# Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+set dummy ${ac_tool_prefix}strip; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:2719: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_STRIP'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  if test -n "$STRIP"; then
+  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+else
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
+  ac_dummy="$PATH"
+  for ac_dir in $ac_dummy; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      ac_cv_prog_STRIP="${ac_tool_prefix}strip"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+fi
+fi
+STRIP="$ac_cv_prog_STRIP"
+if test -n "$STRIP"; then
+  echo "$ac_t""$STRIP" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+
+if test -z "$ac_cv_prog_STRIP"; then
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "strip", so it can be a program name with args.
+set dummy strip; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:2751: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_STRIP'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  if test -n "$STRIP"; then
+  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+else
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
+  ac_dummy="$PATH"
+  for ac_dir in $ac_dummy; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      ac_cv_prog_STRIP="strip"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+  test -z "$ac_cv_prog_STRIP" && ac_cv_prog_STRIP=":"
+fi
+fi
+STRIP="$ac_cv_prog_STRIP"
+if test -n "$STRIP"; then
+  echo "$ac_t""$STRIP" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+else
+  STRIP=":"
+fi
+fi
+
+
+# Check for any special flags to pass to ltconfig.
+libtool_flags="--cache-file=$cache_file"
+test "$enable_shared" = no && libtool_flags="$libtool_flags --disable-shared"
+test "$enable_static" = no && libtool_flags="$libtool_flags --disable-static"
+test "$enable_fast_install" = no && libtool_flags="$libtool_flags --disable-fast-install"
+test "$GCC" = yes && libtool_flags="$libtool_flags --with-gcc"
+test "$lt_cv_prog_gnu_ld" = yes && libtool_flags="$libtool_flags --with-gnu-ld"
+libtool_flags="$libtool_flags --enable-dlopen"
+
+# Check whether --enable-libtool-lock or --disable-libtool-lock was given.
+if test "${enable_libtool_lock+set}" = set; then
+  enableval="$enable_libtool_lock"
+  :
+fi
+
+test "x$enable_libtool_lock" = xno && libtool_flags="$libtool_flags --disable-lock"
+test x"$silent" = xyes && libtool_flags="$libtool_flags --silent"
+
+# Check whether --with-pic or --without-pic was given.
+if test "${with_pic+set}" = set; then
+  withval="$with_pic"
+  pic_mode="$withval"
+else
+  pic_mode=default
+fi
+
+test x"$pic_mode" = xyes && libtool_flags="$libtool_flags --prefer-pic"
+test x"$pic_mode" = xno && libtool_flags="$libtool_flags --prefer-non-pic"
+
+# Some flags need to be propagated to the compiler or linker for good
+# libtool support.
+case "$host" in
+*-*-irix6*)
+  # Find out which ABI we are using.
+  echo '#line 2818 "configure"' > conftest.$ac_ext
+  if { (eval echo configure:2819: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+    case "`/usr/bin/file conftest.$ac_objext`" in
+    *32-bit*)
+      LD="${LD-ld} -32"
+      ;;
+    *N32*)
+      LD="${LD-ld} -n32"
+      ;;
+    *64-bit*)
+      LD="${LD-ld} -64"
+      ;;
+    esac
+  fi
+  rm -rf conftest*
+  ;;
+
+*-*-sco3.2v5*)
+  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
+  SAVE_CFLAGS="$CFLAGS"
+  CFLAGS="$CFLAGS -belf"
+  echo $ac_n "checking whether the C compiler needs -belf""... $ac_c" 1>&6
+echo "configure:2840: checking whether the C compiler needs -belf" >&5
+if eval "test \"`echo '$''{'lt_cv_cc_needs_belf'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  
+     ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+     cat > conftest.$ac_ext <<EOF
+#line 2853 "configure"
+#include "confdefs.h"
+
+int main() {
+
+; return 0; }
+EOF
+if { (eval echo configure:2860: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  rm -rf conftest*
+  lt_cv_cc_needs_belf=yes
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  lt_cv_cc_needs_belf=no
+fi
+rm -f conftest*
+     ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+fi
+
+echo "$ac_t""$lt_cv_cc_needs_belf" 1>&6
+  if test x"$lt_cv_cc_needs_belf" != x"yes"; then
+    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
+    CFLAGS="$SAVE_CFLAGS"
+  fi
+  ;;
+
+
+esac
+
+
+echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
+echo "configure:2891: checking for Cygwin environment" >&5
+if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftest.$ac_ext <<EOF
+#line 2896 "configure"
+#include "confdefs.h"
+
+int main() {
+
+#ifndef __CYGWIN__
+#define __CYGWIN__ __CYGWIN32__
+#endif
+return __CYGWIN__;
+; return 0; }
+EOF
+if { (eval echo configure:2907: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+  rm -rf conftest*
+  ac_cv_cygwin=yes
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  ac_cv_cygwin=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_cygwin" 1>&6
+CYGWIN=
+test "$ac_cv_cygwin" = yes && CYGWIN=yes
+echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
+echo "configure:2924: checking for mingw32 environment" >&5
+if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftest.$ac_ext <<EOF
+#line 2929 "configure"
+#include "confdefs.h"
+
+int main() {
+return __MINGW32__;
+; return 0; }
+EOF
+if { (eval echo configure:2936: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+  rm -rf conftest*
+  ac_cv_mingw32=yes
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  ac_cv_mingw32=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_mingw32" 1>&6
+MINGW32=
+test "$ac_cv_mingw32" = yes && MINGW32=yes
+
+# Save cache, so that ltconfig can load it
+cat > confcache <<\EOF
+# 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.  It is not useful on other systems.
+# If it contains results you don't want to keep, you may remove or edit it.
+#
+# By default, configure uses ./config.cache as the cache file,
+# creating it if it does not exist already.  You can give configure
+# the --cache-file=FILE option to use a different cache file; that is
+# what configure does when it calls configure scripts in
+# subdirectories, so they share the cache.
+# Giving --cache-file=/dev/null disables caching, for debugging configure.
+# config.status only pays attention to the cache file if you give it the
+# --recheck option to rerun configure.
+#
+EOF
+# 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 \
+      -e "s/'/'\\\\''/g" \
+      -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
+    ;;
+  *)
+    # `set' quotes correctly as required by POSIX, so do not add quotes.
+    sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
+    ;;
+  esac >> confcache
+if cmp -s $cache_file confcache; then
+  :
+else
+  if test -w $cache_file; then
+    echo "updating cache $cache_file"
+    cat confcache > $cache_file
+  else
+    echo "not updating unwritable cache $cache_file"
+  fi
+fi
+rm -f confcache
+
+
+# Actually configure libtool.  ac_aux_dir is where install-sh is found.
+AR="$AR" LTCC="$CC" CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \
+MAGIC_CMD="$MAGIC_CMD" LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \
+LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" STRIP="$STRIP" \
+AS="$AS" DLLTOOL="$DLLTOOL" OBJDUMP="$OBJDUMP" \
+objext="$OBJEXT" exeext="$EXEEXT" reload_flag="$reload_flag" \
+deplibs_check_method="$deplibs_check_method" file_magic_cmd="$file_magic_cmd" \
+${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig --no-reexec \
+$libtool_flags --no-verify --build="$build" $ac_aux_dir/ltmain.sh $host \
+|| { echo "configure: error: libtool configure failed" 1>&2; exit 1; }
+
+# Reload cache, that may have been modified by ltconfig
+if test -r "$cache_file"; then
+  echo "loading cache $cache_file"
+  . $cache_file
+else
+  echo "creating cache $cache_file"
+  > $cache_file
+fi
+
+
+# This can be used to rebuild libtool when needed
+LIBTOOL_DEPS="$ac_aux_dir/ltconfig $ac_aux_dir/ltmain.sh $ac_aux_dir/ltcf-c.sh"
+
+# Always use our own libtool.
+LIBTOOL='$(SHELL) $(top_builddir)/libtool'
+
+# Redirect the config.log output again, so that the ltconfig log is not
+# clobbered by the next message.
+exec 5>>./config.log
+
+
+
+LIBTOOL_DEPS=$LIBTOOL_DEPS" $ac_aux_dir/ltcf-cxx.sh"
+lt_save_CC="$CC"
+lt_save_CFLAGS="$CFLAGS"
+AR="$AR" LTCC="$CC" CC="$CXX" CXX="$CXX" CFLAGS="$CXXFLAGS" CPPFLAGS="$CPPFLAGS" \
+MAGIC_CMD="$MAGIC_CMD" LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \
+LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" STRIP="$STRIP" \
+AS="$AS" DLLTOOL="$DLLTOOL" OBJDUMP="$OBJDUMP" \
+objext="$OBJEXT" exeext="$EXEEXT" reload_flag="$reload_flag" \
+deplibs_check_method="$deplibs_check_method" \
+file_magic_cmd="$file_magic_cmd" \
+${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig -o libtool $libtool_flags \
+--build="$build" --add-tag=CXX $ac_aux_dir/ltcf-cxx.sh $host \
+|| { echo "configure: error: libtool tag configuration failed" 1>&2; exit 1; }
+CC="$lt_save_CC"
+CFLAGS="$lt_save_CFLAGS"
+
+# Redirect the config.log output again, so that the ltconfig log is not
+# clobbered by the next message.
+exec 5>>./config.log
+
+
+
+
+
+
+
+
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+echo $ac_n "checking for object suffix""... $ac_c" 1>&6
+echo "configure:3071: checking for object suffix" >&5
+if eval "test \"`echo '$''{'ac_cv_objext'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  rm -f conftest*
+echo 'int i = 1;' > conftest.$ac_ext
+if { (eval echo configure:3077: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+  for ac_file in conftest.*; do
+    case $ac_file in
+    *.c) ;;
+    *) ac_cv_objext=`echo $ac_file | sed -e s/conftest.//` ;;
+    esac
+  done
+else
+  { echo "configure: error: installation or configuration problem; compiler does not work" 1>&2; exit 1; }
+fi
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_objext" 1>&6
+OBJEXT=$ac_cv_objext
+ac_objext=$ac_cv_objext
+
+
+
+echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
+echo "configure:3097: checking for executable suffix" >&5
+if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  if test "$CYGWIN" = yes || test "$MINGW32" = yes; then
+  ac_cv_exeext=.exe
+else
+  rm -f conftest*
+  echo 'int main () { return 0; }' > conftest.$ac_ext
+  ac_cv_exeext=
+  if { (eval echo configure:3107: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+    for file in conftest.*; do
+      case $file in
+      *.c | *.o | *.obj) ;;
+      *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
+      esac
+    done
+  else
+    { echo "configure: error: installation or configuration problem: compiler cannot create executables." 1>&2; exit 1; }
+  fi
+  rm -f conftest*
+  test x"${ac_cv_exeext}" = x && ac_cv_exeext=no
+fi
+fi
+
+EXEEXT=""
+test x"${ac_cv_exeext}" != xno && EXEEXT=${ac_cv_exeext}
+echo "$ac_t""${ac_cv_exeext}" 1>&6
+ac_exeext=$EXEEXT
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+
+  
+
+  
+	 
+	 
+
+
+LIBTOOL_SHELL="/bin/sh ./libtool"
+#  LIBTOOL="$LIBTOOL --silent"
+KDE_PLUGIN="-avoid-version -module -no-undefined"
+
+
+
+
+all_libraries="$all_libraries $USER_LDFLAGS"
+all_includes="$all_includes $USER_INCLUDES"
+
+
+
+
+echo $ac_n "checking for extra includes""... $ac_c" 1>&6
+echo "configure:3156: checking for extra includes" >&5
+# Check whether --with-extra-includes or --without-extra-includes was given.
+if test "${with_extra_includes+set}" = set; then
+  withval="$with_extra_includes"
+  kde_use_extra_includes="$withval"
+else
+  kde_use_extra_includes=NONE
+
+fi
+
+kde_extra_includes=
+if test -n "$kde_use_extra_includes" && \
+   test "$kde_use_extra_includes" != "NONE"; then
+
+   ac_save_ifs=$IFS
+   IFS=':'
+   for dir in $kde_use_extra_includes; do
+     kde_extra_includes="$kde_extra_includes $dir"
+     USER_INCLUDES="$USER_INCLUDES -I$dir"
+   done
+   IFS=$ac_save_ifs
+   kde_use_extra_includes="added"
+else
+   kde_use_extra_includes="no"
+fi
+
+
+echo "$ac_t""$kde_use_extra_includes" 1>&6
+
+kde_extra_libs=
+echo $ac_n "checking for extra libs""... $ac_c" 1>&6
+echo "configure:3187: checking for extra libs" >&5
+# Check whether --with-extra-libs or --without-extra-libs was given.
+if test "${with_extra_libs+set}" = set; then
+  withval="$with_extra_libs"
+  kde_use_extra_libs=$withval
+else
+  kde_use_extra_libs=NONE
+
+fi
+
+if test -n "$kde_use_extra_libs" && \
+   test "$kde_use_extra_libs" != "NONE"; then
+
+   ac_save_ifs=$IFS
+   IFS=':'
+   for dir in $kde_use_extra_libs; do
+     kde_extra_libs="$kde_extra_libs $dir"
+     KDE_EXTRA_RPATH="$KDE_EXTRA_RPATH -R $dir"
+     USER_LDFLAGS="$USER_LDFLAGS -L$dir"
+   done
+   IFS=$ac_save_ifs
+   kde_use_extra_libs="added"
+else
+   kde_use_extra_libs="no"
+fi
+
+
+
+echo "$ac_t""$kde_use_extra_libs" 1>&6
+
+
+
+    
+    # Extract the first word of "msgfmt", so it can be a program name with args.
+set dummy msgfmt; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:3223: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  case "$MSGFMT" in
+  /*)
+  ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path.
+  ;;
+  *)
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+  for ac_dir in $PATH; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      if test -n "`$ac_dir/$ac_word --version 2>&1 | grep 'GNU gettext'`"; then
+	ac_cv_path_MSGFMT="$ac_dir/$ac_word"
+	break
+      fi
+    fi
+  done
+  IFS="$ac_save_ifs"
+  test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT="msgfmt"
+  ;;
+esac
+fi
+MSGFMT="$ac_cv_path_MSGFMT"
+if test -n "$MSGFMT"; then
+  echo "$ac_t""$MSGFMT" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+    # Extract the first word of "gmsgfmt", so it can be a program name with args.
+set dummy gmsgfmt; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:3257: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  case "$GMSGFMT" in
+  /*)
+  ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path.
+  ;;
+  ?:/*)			 
+  ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a dos path.
+  ;;
+  *)
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
+  ac_dummy="$PATH"
+  for ac_dir in $ac_dummy; do 
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      ac_cv_path_GMSGFMT="$ac_dir/$ac_word"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+  test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT"
+  ;;
+esac
+fi
+GMSGFMT="$ac_cv_path_GMSGFMT"
+if test -n "$GMSGFMT"; then
+  echo "$ac_t""$GMSGFMT" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+
+     if test -z "`$GMSGFMT --version 2>&1 | grep 'GNU gettext'`"; then
+        echo "$ac_t""found msgfmt program is not GNU msgfmt; ignore it" 1>&6
+        GMSGFMT=":"
+      fi
+      MSGFMT=$GMSGFMT
+      
+      
+
+      # Extract the first word of "xgettext", so it can be a program name with args.
+set dummy xgettext; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:3302: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  case "$XGETTEXT" in
+  /*)
+  ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path.
+  ;;
+  *)
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+  for ac_dir in $PATH; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      if test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"; then
+	ac_cv_path_XGETTEXT="$ac_dir/$ac_word"
+	break
+      fi
+    fi
+  done
+  IFS="$ac_save_ifs"
+  test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":"
+  ;;
+esac
+fi
+XGETTEXT="$ac_cv_path_XGETTEXT"
+if test -n "$XGETTEXT"; then
+  echo "$ac_t""$XGETTEXT" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+
+            if test "$XGETTEXT" != ":"; then
+			if $XGETTEXT --omit-header /dev/null 2> /dev/null; then
+	  : ;
+	else
+	  echo "$ac_t""found xgettext programs is not GNU xgettext; ignore it" 1>&6
+	  XGETTEXT=":"
+	fi
+      fi
+     
+
+  
+
+
+   ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+      echo $ac_n "checking for main in -lcompat""... $ac_c" 1>&6
+echo "configure:3355: checking for main in -lcompat" >&5
+ac_lib_var=`echo compat'_'main | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  ac_save_LIBS="$LIBS"
+LIBS="-lcompat  $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 3363 "configure"
+#include "confdefs.h"
+
+int main() {
+main()
+; return 0; }
+EOF
+if { (eval echo configure:3370: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=yes"
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  LIBCOMPAT="-lcompat"
+else
+  echo "$ac_t""no" 1>&6
+fi
+    
+   kde_have_crypt=
+   echo $ac_n "checking for crypt in -lcrypt""... $ac_c" 1>&6
+echo "configure:3392: checking for crypt in -lcrypt" >&5
+ac_lib_var=`echo crypt'_'crypt | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  ac_save_LIBS="$LIBS"
+LIBS="-lcrypt  $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 3400 "configure"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+char crypt();
+
+int main() {
+crypt()
+; return 0; }
+EOF
+if { (eval echo configure:3411: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=yes"
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  LIBCRYPT="-lcrypt"; kde_have_crypt=yes
+else
+  echo "$ac_t""no" 1>&6
+echo $ac_n "checking for crypt in -lc""... $ac_c" 1>&6
+echo "configure:3430: checking for crypt in -lc" >&5
+ac_lib_var=`echo c'_'crypt | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  ac_save_LIBS="$LIBS"
+LIBS="-lc  $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 3438 "configure"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+char crypt();
+
+int main() {
+crypt()
+; return 0; }
+EOF
+if { (eval echo configure:3449: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=yes"
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  kde_have_crypt=yes
+else
+  echo "$ac_t""no" 1>&6
+
+        echo "configure: warning: you have no crypt in either libcrypt or libc.
+You should install libcrypt from another source or configure with PAM
+support" 1>&2
+	kde_have_crypt=no
+      
+fi
+
+fi
+
+   
+   if test $kde_have_crypt = yes; then
+      cat >> confdefs.h <<EOF
+#define HAVE_CRYPT 1
+EOF
+
+   fi
+   echo $ac_n "checking for the third argument of getsockname""... $ac_c" 1>&6
+echo "configure:3485: checking for the third argument of getsockname" >&5
+if eval "test \"`echo '$''{'ac_cv_ksize_t'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  
+ ac_ext=C
+# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='${CXX-g++} -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cxx_cross
+
+ac_link='rm -rf SunWS_cache; ${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+
+
+cat > conftest.$ac_ext <<EOF
+#line 3501 "configure"
+#include "confdefs.h"
+
+#include <sys/types.h>
+#include <sys/socket.h>
+
+int main() {
+
+socklen_t a=0;
+getsockname(0,(struct sockaddr*)0, &a);
+
+; return 0; }
+EOF
+if { (eval echo configure:3514: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+  rm -rf conftest*
+  ac_cv_ksize_t=socklen_t
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  ac_cv_ksize_t=
+fi
+rm -f conftest*
+if test -z "$ac_cv_ksize_t"; then
+ac_safe_cxxflags="$CXXFLAGS"
+if test "$GCC" = "yes"; then
+  CXXFLAGS="-Werror $CXXFLAGS"
+fi
+cat > conftest.$ac_ext <<EOF
+#line 3530 "configure"
+#include "confdefs.h"
+
+#include <sys/types.h>
+#include <sys/socket.h>
+
+int main() {
+
+int a=0;
+getsockname(0,(struct sockaddr*)0, &a);
+
+; return 0; }
+EOF
+if { (eval echo configure:3543: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+  rm -rf conftest*
+  ac_cv_ksize_t=int
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  ac_cv_ksize_t=size_t
+fi
+rm -f conftest*
+CXXFLAGS="$ac_safe_cxxflags"
+fi
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+
+fi
+
+
+if test -z "$ac_cv_ksize_t"; then
+  ac_cv_ksize_t=int
+fi
+
+echo "$ac_t""$ac_cv_ksize_t" 1>&6
+cat >> confdefs.h <<EOF
+#define ksize_t $ac_cv_ksize_t
+EOF
+
+
+
+   ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+   echo $ac_n "checking for dnet_ntoa in -ldnet""... $ac_c" 1>&6
+echo "configure:3585: checking for dnet_ntoa in -ldnet" >&5
+ac_lib_var=`echo dnet'_'dnet_ntoa | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  ac_save_LIBS="$LIBS"
+LIBS="-ldnet  $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 3593 "configure"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* 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; }
+EOF
+if { (eval echo configure:3604: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=yes"
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet"
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+   if test $ac_cv_lib_dnet_dnet_ntoa = no; then
+      echo $ac_n "checking for dnet_ntoa in -ldnet_stub""... $ac_c" 1>&6
+echo "configure:3626: checking for dnet_ntoa in -ldnet_stub" >&5
+ac_lib_var=`echo dnet_stub'_'dnet_ntoa | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  ac_save_LIBS="$LIBS"
+LIBS="-ldnet_stub  $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 3634 "configure"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* 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; }
+EOF
+if { (eval echo configure:3645: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=yes"
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub"
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+   fi
+   echo $ac_n "checking for inet_ntoa""... $ac_c" 1>&6
+echo "configure:3667: checking for inet_ntoa" >&5
+if eval "test \"`echo '$''{'ac_cv_func_inet_ntoa'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftest.$ac_ext <<EOF
+#line 3672 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char inet_ntoa(); below.  */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+char inet_ntoa();
+
+int main() {
+
+/* 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_inet_ntoa) || defined (__stub___inet_ntoa)
+choke me
+#else
+inet_ntoa();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:3695: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  rm -rf conftest*
+  eval "ac_cv_func_inet_ntoa=yes"
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_func_inet_ntoa=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'inet_ntoa`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  :
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+   if test $ac_cv_func_inet_ntoa = no; then
+     echo $ac_n "checking for inet_ntoa in -lnsl""... $ac_c" 1>&6
+echo "configure:3716: checking for inet_ntoa in -lnsl" >&5
+ac_lib_var=`echo nsl'_'inet_ntoa | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  ac_save_LIBS="$LIBS"
+LIBS="-lnsl  $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 3724 "configure"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+char inet_ntoa();
+
+int main() {
+inet_ntoa()
+; return 0; }
+EOF
+if { (eval echo configure:3735: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=yes"
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl"
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+   fi
+   echo $ac_n "checking for connect""... $ac_c" 1>&6
+echo "configure:3757: checking for connect" >&5
+if eval "test \"`echo '$''{'ac_cv_func_connect'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftest.$ac_ext <<EOF
+#line 3762 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char connect(); below.  */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* 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() {
+
+/* 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
+connect();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:3785: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  rm -rf conftest*
+  eval "ac_cv_func_connect=yes"
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_func_connect=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'connect`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  :
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+   if test $ac_cv_func_connect = no; then
+      echo $ac_n "checking for connect in -lsocket""... $ac_c" 1>&6
+echo "configure:3806: checking for connect in -lsocket" >&5
+ac_lib_var=`echo socket'_'connect | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  ac_save_LIBS="$LIBS"
+LIBS="-lsocket $X_EXTRA_LIBS $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 3814 "configure"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* 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; }
+EOF
+if { (eval echo configure:3825: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=yes"
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS"
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+   fi
+
+   echo $ac_n "checking for remove""... $ac_c" 1>&6
+echo "configure:3848: checking for remove" >&5
+if eval "test \"`echo '$''{'ac_cv_func_remove'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftest.$ac_ext <<EOF
+#line 3853 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char remove(); below.  */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* 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() {
+
+/* 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
+remove();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:3876: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  rm -rf conftest*
+  eval "ac_cv_func_remove=yes"
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_func_remove=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'remove`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  :
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+   if test $ac_cv_func_remove = no; then
+      echo $ac_n "checking for remove in -lposix""... $ac_c" 1>&6
+echo "configure:3897: checking for remove in -lposix" >&5
+ac_lib_var=`echo posix'_'remove | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  ac_save_LIBS="$LIBS"
+LIBS="-lposix  $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 3905 "configure"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* 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; }
+EOF
+if { (eval echo configure:3916: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=yes"
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix"
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+   fi
+
+   # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay.
+   echo $ac_n "checking for shmat""... $ac_c" 1>&6
+echo "configure:3940: checking for shmat" >&5
+if eval "test \"`echo '$''{'ac_cv_func_shmat'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftest.$ac_ext <<EOF
+#line 3945 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char shmat(); below.  */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* 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() {
+
+/* 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
+shmat();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:3968: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  rm -rf conftest*
+  eval "ac_cv_func_shmat=yes"
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_func_shmat=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'shmat`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  :
+else
+  echo "$ac_t""no" 1>&6
+echo $ac_n "checking for shmat in -lipc""... $ac_c" 1>&6
+echo "configure:3986: checking for shmat in -lipc" >&5
+ac_lib_var=`echo ipc'_'shmat | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  ac_save_LIBS="$LIBS"
+LIBS="-lipc  $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 3994 "configure"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* 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; }
+EOF
+if { (eval echo configure:4005: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=yes"
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc"
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+fi
+
+   
+   # Solaris 2.6 needs -lresolv for res_init
+   echo $ac_n "checking for res_init""... $ac_c" 1>&6
+echo "configure:4030: checking for res_init" >&5
+if eval "test \"`echo '$''{'ac_cv_func_res_init'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftest.$ac_ext <<EOF
+#line 4035 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char res_init(); below.  */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+char res_init();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined (__stub_res_init) || defined (__stub___res_init)
+choke me
+#else
+res_init();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:4058: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  rm -rf conftest*
+  eval "ac_cv_func_res_init=yes"
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_func_res_init=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'res_init`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  :
+else
+  echo "$ac_t""no" 1>&6
+echo $ac_n "checking for res_init in -lresolv""... $ac_c" 1>&6
+echo "configure:4076: checking for res_init in -lresolv" >&5
+ac_lib_var=`echo resolv'_'res_init | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  ac_save_LIBS="$LIBS"
+LIBS="-lresolv  $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 4084 "configure"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+char res_init();
+
+int main() {
+res_init()
+; return 0; }
+EOF
+if { (eval echo configure:4095: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=yes"
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  X_EXTRA_LIBS="$X_EXTRA_LIBS -lresolv"
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+fi
+
+
+   LIBSOCKET="$X_EXTRA_LIBS"
+   
+   
+   echo $ac_n "checking for killpg in -lucb""... $ac_c" 1>&6
+echo "configure:4122: checking for killpg in -lucb" >&5
+ac_lib_var=`echo ucb'_'killpg | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  ac_save_LIBS="$LIBS"
+LIBS="-lucb  $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 4130 "configure"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+char killpg();
+
+int main() {
+killpg()
+; return 0; }
+EOF
+if { (eval echo configure:4141: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=yes"
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  LIBUCB="-lucb"
+else
+  echo "$ac_t""no" 1>&6
+fi
+    
+
+   case $host in     *-*-lynxos* )
+        echo $ac_n "checking LynxOS header file wrappers""... $ac_c" 1>&6
+echo "configure:4164: checking LynxOS header file wrappers" >&5
+        CFLAGS="$CFLAGS -D__NO_INCLUDE_WARN__"
+        echo "$ac_t""disabled" 1>&6
+        echo $ac_n "checking for gethostbyname in -lbsd""... $ac_c" 1>&6
+echo "configure:4168: checking for gethostbyname in -lbsd" >&5
+ac_lib_var=`echo bsd'_'gethostbyname | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  ac_save_LIBS="$LIBS"
+LIBS="-lbsd  $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 4176 "configure"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* 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; }
+EOF
+if { (eval echo configure:4187: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=yes"
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  LIBSOCKET="-lbsd"
+else
+  echo "$ac_t""no" 1>&6
+fi
+          ;;
+    esac
+
+     echo $ac_n "checking size of int""... $ac_c" 1>&6
+echo "configure:4210: checking size of int" >&5
+if eval "test \"`echo '$''{'ac_cv_sizeof_int'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  if test "$cross_compiling" = yes; then
+  ac_cv_sizeof_int=4
+else
+  cat > conftest.$ac_ext <<EOF
+#line 4218 "configure"
+#include "confdefs.h"
+#include <stdio.h>
+main()
+{
+  FILE *f=fopen("conftestval", "w");
+  if (!f) exit(1);
+  fprintf(f, "%d\n", sizeof(int));
+  exit(0);
+}
+EOF
+if { (eval echo configure:4229: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+then
+  ac_cv_sizeof_int=`cat conftestval`
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -fr conftest*
+  ac_cv_sizeof_int=0
+fi
+rm -fr conftest*
+fi
+
+fi
+echo "$ac_t""$ac_cv_sizeof_int" 1>&6
+cat >> confdefs.h <<EOF
+#define SIZEOF_INT $ac_cv_sizeof_int
+EOF
+
+  echo $ac_n "checking size of long""... $ac_c" 1>&6
+echo "configure:4248: checking size of long" >&5
+if eval "test \"`echo '$''{'ac_cv_sizeof_long'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  if test "$cross_compiling" = yes; then
+  ac_cv_sizeof_long=4
+else
+  cat > conftest.$ac_ext <<EOF
+#line 4256 "configure"
+#include "confdefs.h"
+#include <stdio.h>
+main()
+{
+  FILE *f=fopen("conftestval", "w");
+  if (!f) exit(1);
+  fprintf(f, "%d\n", sizeof(long));
+  exit(0);
+}
+EOF
+if { (eval echo configure:4267: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+then
+  ac_cv_sizeof_long=`cat conftestval`
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -fr conftest*
+  ac_cv_sizeof_long=0
+fi
+rm -fr conftest*
+fi
+
+fi
+echo "$ac_t""$ac_cv_sizeof_long" 1>&6
+cat >> confdefs.h <<EOF
+#define SIZEOF_LONG $ac_cv_sizeof_long
+EOF
+
+  echo $ac_n "checking size of char *""... $ac_c" 1>&6
+echo "configure:4286: checking size of char *" >&5
+if eval "test \"`echo '$''{'ac_cv_sizeof_char_p'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  if test "$cross_compiling" = yes; then
+  ac_cv_sizeof_char_p=4
+else
+  cat > conftest.$ac_ext <<EOF
+#line 4294 "configure"
+#include "confdefs.h"
+#include <stdio.h>
+main()
+{
+  FILE *f=fopen("conftestval", "w");
+  if (!f) exit(1);
+  fprintf(f, "%d\n", sizeof(char *));
+  exit(0);
+}
+EOF
+if { (eval echo configure:4305: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+then
+  ac_cv_sizeof_char_p=`cat conftestval`
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -fr conftest*
+  ac_cv_sizeof_char_p=0
+fi
+rm -fr conftest*
+fi
+
+fi
+echo "$ac_t""$ac_cv_sizeof_char_p" 1>&6
+cat >> confdefs.h <<EOF
+#define SIZEOF_CHAR_P $ac_cv_sizeof_char_p
+EOF
+
+
+   
+echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6
+echo "configure:4326: checking for dlopen in -ldl" >&5
+ac_lib_var=`echo dl'_'dlopen | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  ac_save_LIBS="$LIBS"
+LIBS="-ldl  $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 4334 "configure"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+char dlopen();
+
+int main() {
+dlopen()
+; return 0; }
+EOF
+if { (eval echo configure:4345: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=yes"
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  
+LIBDL="-ldl"
+ac_cv_have_dlfcn=yes
+
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+
+echo $ac_n "checking for shl_unload in -ldld""... $ac_c" 1>&6
+echo "configure:4370: checking for shl_unload in -ldld" >&5
+ac_lib_var=`echo dld'_'shl_unload | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  ac_save_LIBS="$LIBS"
+LIBS="-ldld  $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 4378 "configure"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+char shl_unload();
+
+int main() {
+shl_unload()
+; return 0; }
+EOF
+if { (eval echo configure:4389: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=yes"
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  
+LIBDL="-ldld"
+ac_cv_have_shload=yes
+
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+
+
+
+
+
+
+echo $ac_n "checking for libz""... $ac_c" 1>&6
+echo "configure:4419: checking for libz" >&5
+if eval "test \"`echo '$''{'ac_cv_lib_z'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+kde_save_LIBS="$LIBS"
+LIBS="$all_libraries $USER_LDFLAGS -lz $LIBSOCKET"
+kde_save_CFLAGS="$CFLAGS"
+CFLAGS="$CFLAGS $all_includes $USER_INCLUDES"
+cat > conftest.$ac_ext <<EOF
+#line 4436 "configure"
+#include "confdefs.h"
+
+#include<zlib.h>
+
+int main() {
+return (zlibVersion() == ZLIB_VERSION); 
+; return 0; }
+EOF
+if { (eval echo configure:4445: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  rm -rf conftest*
+  eval "ac_cv_lib_z='-lz'"
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_lib_z=no"
+fi
+rm -f conftest*
+LIBS="$kde_save_LIBS"
+CFLAGS="$kde_save_CFLAGS"
+
+fi
+if test ! "$ac_cv_lib_z" = no; then
+  cat >> confdefs.h <<EOF
+#define HAVE_LIBZ 1
+EOF
+
+  LIBZ="$ac_cv_lib_z"
+  
+  echo "$ac_t""$ac_cv_lib_z" 1>&6
+else
+  { echo "configure: error: not found. Check your installation and look into config.log" 1>&2; exit 1; }
+  LIBZ=""
+  
+fi
+
+
+echo $ac_n "checking for X""... $ac_c" 1>&6
+echo "configure:4475: checking for X" >&5
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+if eval "test \"`echo '$''{'kde_cv_have_x'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  # One or both of the vars are not set, and there is no cached value.
+if test "{$x_includes+set}" = set || test "$x_includes" = NONE; then
+   kde_x_includes=NO
+else
+   kde_x_includes=$x_includes
+fi
+if test "{$x_libraries+set}" = set || test "$x_libraries" = NONE; then
+   kde_x_libraries=NO
+else
+   kde_x_libraries=$x_libraries
+fi
+
+# below we use the standard autoconf calls
+ac_x_libraries=$kde_x_libraries
+ac_x_includes=$kde_x_includes
+
+if test "$ac_x_includes" = NO; then
+  # Guess where to find include files, by looking for this one X11 .h file.
+  test -z "$x_direct_test_include" && x_direct_test_include=X11/Intrinsic.h
+
+  # First, try using that file with no special directory specified.
+cat > conftest.$ac_ext <<EOF
+#line 4509 "configure"
+#include "confdefs.h"
+#include <$x_direct_test_include>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:4514: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+  rm -rf conftest*
+  # We can compile using X headers with no special include directory.
+ac_x_includes=
+else
+  echo "$ac_err" >&5
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  # Look for the header file in a standard set of common directories.
+# Check X11 before X11Rn because it is often a symlink to the current release.
+  for ac_dir in               \
+    /usr/X11/include          \
+    /usr/X11R6/include        \
+    /usr/X11R5/include        \
+    /usr/X11R4/include        \
+                              \
+    /usr/include/X11          \
+    /usr/include/X11R6        \
+    /usr/include/X11R5        \
+    /usr/include/X11R4        \
+                              \
+    /usr/local/X11/include    \
+    /usr/local/X11R6/include  \
+    /usr/local/X11R5/include  \
+    /usr/local/X11R4/include  \
+                              \
+    /usr/local/include/X11    \
+    /usr/local/include/X11R6  \
+    /usr/local/include/X11R5  \
+    /usr/local/include/X11R4  \
+                              \
+    /usr/X386/include         \
+    /usr/x386/include         \
+    /usr/XFree86/include/X11  \
+                              \
+    /usr/include              \
+    /usr/local/include        \
+    /usr/unsupported/include  \
+    /usr/athena/include       \
+    /usr/local/x11r5/include  \
+    /usr/lpp/Xamples/include  \
+                              \
+    /usr/openwin/include      \
+    /usr/openwin/share/include \
+    ; \
+  do
+    if test -r "$ac_dir/$x_direct_test_include"; then
+      ac_x_includes=$ac_dir
+      break
+    fi
+  done
+fi
+rm -f conftest*
+fi # $ac_x_includes = NO
+
+if test "$ac_x_libraries" = NO; then
+  # Check for the libraries.
+
+  test -z "$x_direct_test_library" && x_direct_test_library=Xt
+  test -z "$x_direct_test_function" && x_direct_test_function=XtMalloc
+
+  # See if we find them without any special options.
+  # Don't add to $LIBS permanently.
+  ac_save_LIBS="$LIBS"
+  LIBS="-l$x_direct_test_library $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 4583 "configure"
+#include "confdefs.h"
+
+int main() {
+${x_direct_test_function}()
+; return 0; }
+EOF
+if { (eval echo configure:4590: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  rm -rf conftest*
+  LIBS="$ac_save_LIBS"
+# We can link X programs with no special library path.
+ac_x_libraries=
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  LIBS="$ac_save_LIBS"
+# First see if replacing the include by lib works.
+# Check X11 before X11Rn because it is often a symlink to the current release.
+for ac_dir in `echo "$ac_x_includes" | sed s/include/lib/` \
+    /usr/X11/lib          \
+    /usr/X11R6/lib        \
+    /usr/X11R5/lib        \
+    /usr/X11R4/lib        \
+                          \
+    /usr/lib/X11          \
+    /usr/lib/X11R6        \
+    /usr/lib/X11R5        \
+    /usr/lib/X11R4        \
+                          \
+    /usr/local/X11/lib    \
+    /usr/local/X11R6/lib  \
+    /usr/local/X11R5/lib  \
+    /usr/local/X11R4/lib  \
+                          \
+    /usr/local/lib/X11    \
+    /usr/local/lib/X11R6  \
+    /usr/local/lib/X11R5  \
+    /usr/local/lib/X11R4  \
+                          \
+    /usr/X386/lib         \
+    /usr/x386/lib         \
+    /usr/XFree86/lib/X11  \
+                          \
+    /usr/lib              \
+    /usr/local/lib        \
+    /usr/unsupported/lib  \
+    /usr/athena/lib       \
+    /usr/local/x11r5/lib  \
+    /usr/lpp/Xamples/lib  \
+    /lib/usr/lib/X11	  \
+                          \
+    /usr/openwin/lib      \
+    /usr/openwin/share/lib \
+    ; \
+do
+  for ac_extension in a so sl; do
+    if test -r $ac_dir/lib${x_direct_test_library}.$ac_extension; then
+      ac_x_libraries=$ac_dir
+      break 2
+    fi
+  done
+done
+fi
+rm -f conftest*
+fi # $ac_x_libraries = NO
+
+case "$host" in
+mips-sgi-irix6*)
+  ;;
+*)
+  rm -fr conftestdir
+if mkdir conftestdir; then
+  cd conftestdir
+  # Make sure to not put "make" in the Imakefile rules, since we grep it out.
+  cat > Imakefile <<'EOF'
+acfindx:
+	@echo 'ac_im_incroot="${INCROOT}"; ac_im_usrlibdir="${USRLIBDIR}"; ac_im_libdir="${LIBDIR}"'
+EOF
+  if (xmkmf) >/dev/null 2>/dev/null && test -f Makefile; then
+    # GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+    eval `${MAKE-make} acfindx 2>/dev/null | grep -v make`
+    # Open Windows xmkmf reportedly sets LIBDIR instead of USRLIBDIR.
+    for ac_extension in a so sl; 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 conftestdir
+fi
+
+  if test -z "$ac_x_includes"; then
+    ac_x_includes="."
+  fi
+  if test -z "$ac_x_libraries"; then
+    ac_x_libraries="/usr/lib"
+  fi
+esac
+#from now on we use our own again
+
+# when the user already gave --x-includes, we ignore
+# what the standard autoconf macros told us.
+if test "$kde_x_includes" = NO; then
+  kde_x_includes=$ac_x_includes
+fi
+
+# for --x-libraries too
+if test "$kde_x_libraries" = NO; then
+  kde_x_libraries=$ac_x_libraries
+fi
+
+if test "$kde_x_includes" = NO; then
+  { echo "configure: error: Can't find X includes. Please check your installation and add the correct paths!" 1>&2; exit 1; }
+fi
+
+if test "$kde_x_libraries" = NO; then
+  { echo "configure: error: Can't find X libraries. Please check your installation and add the correct paths!" 1>&2; exit 1; }
+fi
+
+# Record where we found X for the cache.
+kde_cv_have_x="have_x=yes \
+         kde_x_includes=$kde_x_includes kde_x_libraries=$kde_x_libraries"
+
+fi
+eval "$kde_cv_have_x"
+
+if test "$have_x" != yes; then
+  echo "$ac_t""$have_x" 1>&6
+  no_x=yes
+else
+  echo "$ac_t""libraries $kde_x_libraries, headers $kde_x_includes" 1>&6
+fi
+
+if test -z "$kde_x_includes" || test "x$kde_x_includes" = xNONE; then
+  X_INCLUDES=""
+  x_includes=".";  else
+  x_includes=$kde_x_includes
+  X_INCLUDES="-I$x_includes"
+fi
+
+if test -z "$kde_x_libraries" || test "x$kde_x_libraries" = xNONE; then
+  X_LDFLAGS=""
+  x_libraries="/usr/lib";  else
+  x_libraries=$kde_x_libraries
+  X_LDFLAGS="-L$x_libraries"
+fi
+all_includes="$X_INCLUDES"
+all_libraries="$X_LDFLAGS"
+
+
+
+
+
+
+# Check for libraries that X11R6 Xt/Xaw programs need.
+ac_save_LDFLAGS="$LDFLAGS"
+LDFLAGS="$LDFLAGS $X_LDFLAGS"
+# SM needs ICE to (dynamically) link under SunOS 4.x (so we have to
+# check for ICE first), but we must link in the order -lSM -lICE or
+# we get undefined symbols.  So assume we have SM if we have ICE.
+# These have to be linked with before -lX11, unlike the other
+# libraries we check for below, so use a different variable.
+#  --interran at uluru.Stanford.EDU, kb at cs.umb.edu.
+echo $ac_n "checking for IceConnectionNumber in -lICE""... $ac_c" 1>&6
+echo "configure:4761: checking for IceConnectionNumber in -lICE" >&5
+ac_lib_var=`echo ICE'_'IceConnectionNumber | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  ac_save_LIBS="$LIBS"
+LIBS="-lICE $X_EXTRA_LIBS $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 4769 "configure"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* 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; }
+EOF
+if { (eval echo configure:4780: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=yes"
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  LIBSM="-lSM -lICE"
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+
+LDFLAGS="$ac_save_LDFLAGS"
+
+
+
+LIB_X11='-lX11 $(LIBSOCKET)'
+
+
+echo $ac_n "checking for libXext""... $ac_c" 1>&6
+echo "configure:4809: checking for libXext" >&5
+if eval "test \"`echo '$''{'kde_cv_have_libXext'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  
+kde_ldflags_safe="$LDFLAGS"
+kde_libs_safe="$LIBS"
+
+LDFLAGS="$LDFLAGS $X_LDFLAGS $USER_LDFLAGS"
+LIBS="-lXext -lX11 $LIBSOCKET"
+
+cat > conftest.$ac_ext <<EOF
+#line 4821 "configure"
+#include "confdefs.h"
+
+#include <stdio.h>
+
+int main() {
+
+printf("hello Xext\n");
+
+; return 0; }
+EOF
+if { (eval echo configure:4832: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  rm -rf conftest*
+  kde_cv_have_libXext=yes
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  kde_cv_have_libXext=no
+   
+fi
+rm -f conftest*
+
+LDFLAGS=$kde_ldflags_safe
+LIBS=$kde_libs_safe
+ 
+fi
+
+
+echo "$ac_t""$kde_cv_have_libXext" 1>&6
+
+if test "$kde_cv_have_libXext" = "no"; then
+  { echo "configure: error: We need a working libXext to proceed. Since configure
+can't find it itself, we stop here assuming that make wouldn't find
+them either." 1>&2; exit 1; }
+fi
+
+
+
+
+if test -z ""; then
+  kde_qtver=2
+  kde_qtsubver=1
+else
+  kde_qtsubver=`echo "" | sed -e 's#[0-9]\+\.\([0-9]\+\).*#\1#'`
+  # following is the check if subversion isn�t found in passed argument
+  if test "$kde_qtsubver" = ""; then
+    kde_qtsubver=1
+  fi
+  kde_qtver=`echo "" | sed -e 's#^\([0-9]\+\)\..*#\1#'`
+  if test "$kde_qtver" = "1"; then
+    kde_qtsubver=42
+  else
+   # this is the version number fallback to 2.1, unless major version is 1 or 2
+   if test "$kde_qtver" != "2"; then
+    kde_qtver=2
+    kde_qtsubver=1
+   fi
+  fi
+fi
+
+if test -z ""; then
+  if test $kde_qtver = 2; then
+    if test $kde_qtsubver -gt 0; then
+      kde_qt_minversion=">= Qt 2.2.2"
+    else
+      kde_qt_minversion=">= Qt 2.0.2"
+    fi
+  else
+    kde_qt_minversion=">= 1.42 and < 2.0"
+  fi
+else
+   kde_qt_minversion=
+fi
+
+if test -z ""; then
+   if test $kde_qtver = 2; then
+    if test $kde_qtsubver -gt 0; then
+      kde_qt_verstring="QT_VERSION >= 222"
+    else
+      kde_qt_verstring="QT_VERSION >= 200"
+    fi
+   else
+    kde_qt_verstring="QT_VERSION >= 142 && QT_VERSION < 200"
+  fi
+else
+   kde_qt_verstring=
+fi
+
+if test $kde_qtver = 2; then
+   kde_qt_dirs="$QTDIR /usr/lib/qt2 /usr/lib/qt"
+else
+   kde_qt_dirs="$QTDIR /usr/lib/qt"
+fi
+
+
+
+
+echo $ac_n "checking for libpng""... $ac_c" 1>&6
+echo "configure:4920: checking for libpng" >&5
+if eval "test \"`echo '$''{'ac_cv_lib_png'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  
+kde_save_LIBS="$LIBS"
+LIBS="$LIBS $all_libraries $USER_LDFLAGS -lpng $LIBZ -lm -lX11 $LIBSOCKET"
+kde_save_CFLAGS="$CFLAGS"
+CFLAGS="$CFLAGS $all_includes $USER_INCLUDES"
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+cat > conftest.$ac_ext <<EOF
+#line 4937 "configure"
+#include "confdefs.h"
+    
+    #include<png.h>
+    
+int main() {
+
+    png_structp png_ptr = png_create_read_struct(  /* image ptr */
+		PNG_LIBPNG_VER_STRING, 0, 0, 0 );
+    return( png_ptr != 0 );
+    
+; return 0; }
+EOF
+if { (eval echo configure:4950: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  rm -rf conftest*
+  eval "ac_cv_lib_png='-lpng $LIBZ -lm'"
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_lib_png=no"
+
+fi
+rm -f conftest*
+LIBS="$kde_save_LIBS"
+CFLAGS="$kde_save_CFLAGS"
+
+fi
+if eval "test ! \"`echo $ac_cv_lib_png`\" = no"; then
+  cat >> confdefs.h <<EOF
+#define HAVE_LIBPNG 1
+EOF
+
+  LIBPNG="$ac_cv_lib_png"
+  
+  echo "$ac_t""$ac_cv_lib_png" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+  LIBPNG=""
+  
+fi
+
+
+
+echo $ac_n "checking for libjpeg6b""... $ac_c" 1>&6
+echo "configure:4982: checking for libjpeg6b" >&5
+if eval "test \"`echo '$''{'ac_cv_lib_jpeg_6b'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+ac_save_LIBS="$LIBS"
+LIBS="$all_libraries $USER_LDFLAGS -ljpeg6b -lm"
+ac_save_CFLAGS="$CFLAGS"
+CFLAGS="$CFLAGS $all_includes $USER_INCLUDES"
+cat > conftest.$ac_ext <<EOF
+#line 4999 "configure"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error.  */
+struct jpeg_decompress_struct;
+typedef struct jpeg_decompress_struct * j_decompress_ptr;
+typedef int size_t;
+#ifdef __cplusplus
+extern "C" {
+#endif
+    void jpeg_CreateDecompress(j_decompress_ptr cinfo,
+                                    int version, size_t structsize);
+#ifdef __cplusplus
+}
+#endif
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+
+int main() {
+jpeg_CreateDecompress(0L, 0, 0);
+; return 0; }
+EOF
+if { (eval echo configure:5020: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  rm -rf conftest*
+  eval "ac_cv_lib_jpeg_6b=-ljpeg6b"
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_lib_jpeg_6b=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+CFLAGS="$ac_save_CFLAGS"
+
+fi
+
+
+if eval "test ! \"`echo $ac_cv_lib_jpeg_6b`\" = no"; then
+  LIBJPEG="$ac_cv_lib_jpeg_6b"
+  echo "$ac_t""$ac_cv_lib_jpeg_6b" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+  
+echo $ac_n "checking for libjpeg""... $ac_c" 1>&6
+echo "configure:5043: checking for libjpeg" >&5
+if eval "test \"`echo '$''{'ac_cv_lib_jpeg_normal'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+ac_save_LIBS="$LIBS"
+LIBS="$all_libraries $USER_LDFLAGS -ljpeg -lm"
+ac_save_CFLAGS="$CFLAGS"
+CFLAGS="$CFLAGS $all_includes $USER_INCLUDES"
+cat > conftest.$ac_ext <<EOF
+#line 5060 "configure"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error.  */
+struct jpeg_decompress_struct;
+typedef struct jpeg_decompress_struct * j_decompress_ptr;
+typedef int size_t;
+#ifdef __cplusplus
+extern "C" {
+#endif
+    void jpeg_CreateDecompress(j_decompress_ptr cinfo,
+                                    int version, size_t structsize);
+#ifdef __cplusplus
+}
+#endif
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+
+int main() {
+jpeg_CreateDecompress(0L, 0, 0);
+; return 0; }
+EOF
+if { (eval echo configure:5081: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  rm -rf conftest*
+  eval "ac_cv_lib_jpeg_normal=-ljpeg"
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_lib_jpeg_normal=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+CFLAGS="$ac_save_CFLAGS"
+
+fi
+
+
+if eval "test ! \"`echo $ac_cv_lib_jpeg_normal`\" = no"; then
+  LIBJPEG="$ac_cv_lib_jpeg_normal"
+  echo "$ac_t""$ac_cv_lib_jpeg_normal" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+  
+	if test -f "$kde_libraries/libjpeg.so"; then
+	   test -f ./libjpegkde.so || $LN_S $kde_libraries/libjpeg.so ./libjpegkde.so
+	   ac_cv_lib_jpeg="-L\${topdir} -ljpegkde"
+	else if test -f "$kde_libraries/libjpeg.sl"; then
+	   test -f ./libjpegkde.sl ||$LN_S $kde_libraries/libjpeg.sl ./libjpegkde.sl
+	   ac_cv_lib_jpeg="-L\${topdir} -ljpegkde"	
+	else if test -f "$kde_libraries/libjpeg.a"; then
+	   test -f ./libjpegkde.a || $LN_S $kde_libraries/libjpeg.a ./libjpegkde.a
+	   ac_cv_lib_jpeg="-L\${topdir} -ljpegkde"
+        else
+	  ac_cv_lib_jpeg=
+	fi
+      fi
+   fi
+
+   LIBJPEG=$ac_cv_lib_jpeg
+
+fi
+
+
+fi
+
+
+
+jpeg_incdirs="/usr/include /usr/local/include $kde_extra_includes"
+
+jpeg_incdir=NO
+for i in $jpeg_incdirs;
+do
+  for j in jpeglib.h;
+  do
+    if test -r "$i/$j"; then
+      jpeg_incdir=$i
+      break 2
+    fi
+  done
+done
+
+test "x$jpeg_incdir" = xNO && jpeg_incdir=
+
+if test -n "$jpeg_incdir" && test -n "$LIBJPEG" ; then
+  cat >> confdefs.h <<EOF
+#define HAVE_LIBJPEG 1
+EOF
+
+else
+  if test -n "$jpeg_incdir" || test -n "$LIBJPEG" ; then
+    echo "configure: warning: 
+There is an installation error in jpeg support. You seem to have only one
+of either the headers _or_ the libraries installed. You may need to either
+provide correct --with-extra-... options, or the development package of
+libjpeg6b. You can get a source package of libjpeg from http://www.ijg.org/
+Disabling JPEG support.
+" 1>&2
+  else
+    echo "configure: warning: libjpeg not found. disable JPEG support." 1>&2
+  fi
+  jpeg_incdir=
+  LIBJPEG=
+fi
+
+
+
+
+
+
+
+
+
+# Check whether --enable-mt or --disable-mt was given.
+if test "${enable_mt+set}" = set; then
+  enableval="$enable_mt"
+  kde_use_qt_mt=$enableval
+else
+  kde_use_qt_mt=no
+
+fi
+
+
+USING_QT_MT=""
+
+
+if test "x$kde_use_qt_mt" = "xyes"; then
+
+  case $host in
+  *-*-linux-*)
+    if test "x$GCC" = "xyes"; then
+      CPPFLAGS="$CPPFLAGS -DQT_THREAD_SUPPORT -pthread"
+      X_EXTRA_LIBS="$X_EXTRA_LIBS -pthread"
+    else
+      echo "configure: warning: Compiler is not gcc. MT support disabled." 1>&2
+    fi
+    ;;
+  *)
+    echo "configure: warning: MT not yet supported on $host - disabled." 1>&2
+    ;;
+  esac
+
+fi
+
+kde_qt_was_given=yes
+
+
+if test -z "$LIBQT_GLOB"; then
+
+  LIBQT_GLOB="libqt.*"
+
+fi
+
+if test -z "$LIBQT"; then
+
+  LIBQT="-lqt"
+  kde_int_qt="-lqt"
+
+
+  if test "x$kde_use_qt_mt" = "xyes"; then
+
+      case $host in
+      *-*-linux-*)
+        if test "x$GCC" = "xyes"; then
+          LIBQT="-lqt-mt"
+          kde_int_qt="-lqt-mt"
+          LIBQT_GLOB="libqt-mt.*"
+          USING_QT_MT="using -mt"
+        fi
+      ;;
+      esac
+  fi
+
+  kde_qt_was_given=no
+
+else
+  kde_int_qt="$LIBQT"
+fi
+
+if test $kde_qtver = 2; then
+
+  
+  
+  LIBQT="$LIBQT $LIBPNG $LIBJPEG"
+fi
+
+echo $ac_n "checking for Qt""... $ac_c" 1>&6
+echo "configure:5246: checking for Qt" >&5
+
+LIBQT="$LIBQT $X_PRE_LIBS -lXext -lX11 $LIBSM $LIBSOCKET"
+ac_qt_includes=NO ac_qt_libraries=NO ac_qt_bindir=NO
+qt_libraries=""
+qt_includes=""
+# Check whether --with-qt-dir or --without-qt-dir was given.
+if test "${with_qt_dir+set}" = set; then
+  withval="$with_qt_dir"
+    ac_qt_includes="$withval"/include
+       ac_qt_libraries="$withval"/lib
+       ac_qt_bindir="$withval"/bin
+    
+fi
+
+
+# Check whether --with-qt-includes or --without-qt-includes was given.
+if test "${with_qt_includes+set}" = set; then
+  withval="$with_qt_includes"
+  
+       ac_qt_includes="$withval"
+    
+fi
+
+
+kde_qt_libs_given=no
+
+# Check whether --with-qt-libraries or --without-qt-libraries was given.
+if test "${with_qt_libraries+set}" = set; then
+  withval="$with_qt_libraries"
+    ac_qt_libraries="$withval"
+       kde_qt_libs_given=yes
+    
+fi
+
+
+if eval "test \"`echo '$''{'ac_cv_have_qt'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  #try to guess Qt locations
+
+qt_incdirs=""
+for dir in $kde_qt_dirs; do
+   qt_incdirs="$qt_incdirs $dir/include $dir"
+done
+qt_incdirs="$QTINC $qt_incdirs /usr/local/qt/include /usr/include/qt /usr/include /usr/X11R6/include/X11/qt /usr/X11R6/include/qt $x_includes"
+if test ! "$ac_qt_includes" = "NO"; then
+   qt_incdirs="$ac_qt_includes $qt_incdirs"
+fi
+
+if test "$kde_qtver" = "2"; then
+  kde_qt_header=qstyle.h
+else
+  kde_qt_header=qglobal.h
+fi
+
+
+qt_incdir=NO
+for i in $qt_incdirs;
+do
+  for j in $kde_qt_header;
+  do
+    if test -r "$i/$j"; then
+      qt_incdir=$i
+      break 2
+    fi
+  done
+done
+
+ac_qt_includes="$qt_incdir"
+
+qt_libdirs=""
+for dir in $kde_qt_dirs; do
+   qt_libdirs="$qt_libdirs $dir/lib $dir"
+done
+qt_libdirs="$QTLIB $qt_libdirs /usr/X11R6/lib /usr/lib /usr/local/qt/lib $x_libraries"
+if test ! "$ac_qt_libraries" = "NO"; then
+  qt_libdir=$ac_qt_libraries
+else
+  qt_libdirs="$ac_qt_libraries $qt_libdirs"
+  # if the Qt was given, the chance is too big that libqt.* doesn't exist
+  qt_libdir=NONE
+  for dir in $qt_libdirs; do
+    try="ls -1 $dir/${LIBQT_GLOB}"
+    if test -n "`$try 2> /dev/null`"; then qt_libdir=$dir; break; else echo "tried $dir" >&5 ; fi
+  done
+fi
+
+ac_qt_libraries="$qt_libdir"
+
+
+ ac_ext=C
+# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='${CXX-g++} -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cxx_cross
+
+ac_link='rm -rf SunWS_cache; ${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+
+
+
+ac_cxxflags_safe="$CXXFLAGS"
+ac_ldflags_safe="$LDFLAGS"
+ac_libs_safe="$LIBS"
+
+CXXFLAGS="$CXXFLAGS -I$qt_incdir $all_includes"
+LDFLAGS="$LDFLAGS -L$qt_libdir $all_libraries $USER_LDFLAGS"
+LIBS="$LIBS $LIBQT"
+
+
+
+cat > conftest.$ac_ext <<EOF
+#include "confdefs.h"
+#include <qglobal.h>
+#include <qapplication.h>
+#include <qapp.h>
+#include <qobjcoll.h>
+EOF
+if test "$kde_qtver" = "2"; then
+cat >> conftest.$ac_ext <<EOF
+#include <qevent.h>
+#include <qstring.h>
+#include <qstyle.h>
+EOF
+
+if test $kde_qtsubver -gt 0; then
+cat >> conftest.$ac_ext <<EOF
+#include <qiconview.h>
+EOF
+fi
+
+fi
+
+echo "#if ! ($kde_qt_verstring)" >> conftest.$ac_ext
+cat >> conftest.$ac_ext <<EOF
+#error 1
+#endif
+
+int main() {
+EOF
+if test "$kde_qtver" = "2"; then
+cat >> conftest.$ac_ext <<EOF
+    QStringList *t = new QStringList();
+EOF
+if test $kde_qtsubver -gt 0; then
+cat >> conftest.$ac_ext <<EOF
+    QIconView iv(0);
+    iv.setWordWrapIconText(false);
+    QString s;
+    s.setLatin1("Elvis is alive", 14);
+    int magnolia = QEvent::Speech; /* new in 2.2 beta2 */
+EOF
+fi
+fi
+cat >> conftest.$ac_ext <<EOF
+    return 0;
+}
+EOF
+
+
+if { (eval echo configure:5407: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+  rm -f conftest*
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  ac_qt_libraries="NO"
+fi
+rm -f conftest*
+CXXFLAGS="$ac_cxxflags_safe"
+LDFLAGS="$ac_ldflags_safe"
+LIBS="$ac_libs_safe"
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+if test "$ac_qt_includes" = NO || test "$ac_qt_libraries" = NO; then
+  ac_cv_have_qt="have_qt=no"
+  ac_qt_notfound=""
+  if test "$ac_qt_includes" = NO; then
+    if test "$ac_qt_libraries" = NO; then
+      ac_qt_notfound="(headers and libraries)";
+    else
+      ac_qt_notfound="(headers)";
+    fi
+  else
+    ac_qt_notfound="(libraries)";
+  fi
+
+  { echo "configure: error: Qt ($kde_qt_minversion) $ac_qt_notfound not found. Please check your installation!
+For more details about this problem, look at the end of config.log." 1>&2; exit 1; }
+else
+  have_qt="yes"
+fi
+
+fi
+
+
+eval "$ac_cv_have_qt"
+
+if test "$have_qt" != yes; then
+  echo "$ac_t""$have_qt" 1>&6;
+else
+  ac_cv_have_qt="have_qt=yes \
+    ac_qt_includes=$ac_qt_includes ac_qt_libraries=$ac_qt_libraries"
+  echo "$ac_t""libraries $ac_qt_libraries, headers $ac_qt_includes $USING_QT_MT" 1>&6
+
+  qt_libraries="$ac_qt_libraries"
+  qt_includes="$ac_qt_includes"
+fi
+
+if test ! "$kde_qt_libs_given" = "yes"; then
+
+
+echo $ac_n "checking if Qt compiles without flags""... $ac_c" 1>&6
+echo "configure:5465: checking if Qt compiles without flags" >&5
+if eval "test \"`echo '$''{'kde_cv_qt_direct'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  
+
+ ac_ext=C
+# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='${CXX-g++} -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cxx_cross
+
+ac_link='rm -rf SunWS_cache; ${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+
+
+ac_LD_LIBRARY_PATH_safe=$LD_LIBRARY_PATH
+ac_LIBRARY_PATH="$LIBRARY_PATH"
+ac_cxxflags_safe="$CXXFLAGS"
+ac_ldflags_safe="$LDFLAGS"
+ac_libs_safe="$LIBS"
+
+CXXFLAGS="$CXXFLAGS -I$qt_includes"
+LDFLAGS="$LDFLAGS $X_LDFLAGS"
+LIBS="$LIBQT -lXext -lX11 $LIBSOCKET"
+LD_LIBRARY_PATH=
+export LD_LIBRARY_PATH
+LIBRARY_PATH=
+export LIBRARY_PATH
+
+
+
+cat > conftest.$ac_ext <<EOF
+#include "confdefs.h"
+#include <qglobal.h>
+#include <qapplication.h>
+#include <qapp.h>
+#include <qobjcoll.h>
+EOF
+if test "$kde_qtver" = "2"; then
+cat >> conftest.$ac_ext <<EOF
+#include <qevent.h>
+#include <qstring.h>
+#include <qstyle.h>
+EOF
+
+if test $kde_qtsubver -gt 0; then
+cat >> conftest.$ac_ext <<EOF
+#include <qiconview.h>
+EOF
+fi
+
+fi
+
+echo "#if ! ($kde_qt_verstring)" >> conftest.$ac_ext
+cat >> conftest.$ac_ext <<EOF
+#error 1
+#endif
+
+int main() {
+EOF
+if test "$kde_qtver" = "2"; then
+cat >> conftest.$ac_ext <<EOF
+    QStringList *t = new QStringList();
+EOF
+if test $kde_qtsubver -gt 0; then
+cat >> conftest.$ac_ext <<EOF
+    QIconView iv(0);
+    iv.setWordWrapIconText(false);
+    QString s;
+    s.setLatin1("Elvis is alive", 14);
+    int magnolia = QEvent::Speech; /* new in 2.2 beta2 */
+EOF
+fi
+fi
+cat >> conftest.$ac_ext <<EOF
+    return 0;
+}
+EOF
+
+
+if { (eval echo configure:5546: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+  kde_cv_qt_direct="yes"
+else
+  kde_cv_qt_direct="no"
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+fi
+
+rm -f conftest*
+CXXFLAGS="$ac_cxxflags_safe"
+LDFLAGS="$ac_ldflags_safe"
+LIBS="$ac_libs_safe"
+
+LD_LIBRARY_PATH="$ac_LD_LIBRARY_PATH_safe"
+export LD_LIBRARY_PATH
+LIBRARY_PATH="$ac_LIBRARY_PATH"
+export LIBRARY_PATH
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+
+fi
+
+
+if test "$kde_cv_qt_direct" = "yes"; then
+  echo "$ac_t""yes" 1>&6
+  qt_libraries= 
+else
+  echo "$ac_t""no" 1>&6
+  
+fi
+
+fi
+
+
+
+
+if test "$qt_includes" = "$x_includes" || test -z "$qt_includes"; then
+ QT_INCLUDES="";
+else
+ QT_INCLUDES="-I$qt_includes"
+ all_includes="$QT_INCLUDES $all_includes"
+fi
+
+if test "$qt_libraries" = "$x_libraries" || test -z "$qt_libraries"; then
+ QT_LDFLAGS=""
+else
+ QT_LDFLAGS="-L$qt_libraries"
+ all_libraries="$all_libraries $QT_LDFLAGS"
+fi
+
+
+
+
+   qt_bindirs=""
+   for dir in $kde_qt_dirs; do
+      qt_bindirs="$qt_bindirs $dir/bin $dir/src/moc"
+   done
+   qt_bindirs="$qt_bindirs /usr/bin /usr/X11R6/bin /usr/local/qt/bin"
+   if test ! "$ac_qt_bindir" = "NO"; then
+      qt_bindirs="$ac_qt_bindir $qt_bindirs"
+   fi
+
+   
+   echo $ac_n "checking for moc""... $ac_c" 1>&6
+echo "configure:5615: checking for moc" >&5
+   if test -n "$MOC"; then
+        kde_cv_path="$MOC";
+   else
+        kde_cache=`echo moc | sed 'y%./+-%__p_%'`
+
+        if eval "test \"`echo '$''{'kde_cv_path_$kde_cache'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  
+        kde_cv_path="NONE"
+	dirs="$qt_bindirs"
+	kde_save_IFS=$IFS
+	IFS=':'
+	for dir in $PATH; do
+	  dirs="$dirs $dir"
+        done
+	IFS=$kde_save_IFS
+
+        for dir in $dirs; do
+	  if test -x "$dir/moc"; then
+	    if test -n ""
+	    then
+              evalstr="$dir/moc  2>&1 "
+	      if eval $evalstr; then
+                kde_cv_path="$dir/moc"
+                break
+	      fi
+            else
+		kde_cv_path="$dir/moc"
+                break
+	    fi
+          fi
+        done
+
+        eval "kde_cv_path_$kde_cache=$kde_cv_path"
+
+        
+fi
+
+
+      eval "kde_cv_path=\"`echo '$kde_cv_path_'$kde_cache`\""
+
+   fi
+
+   if test -z "$kde_cv_path" || test "$kde_cv_path" = NONE; then
+      echo "$ac_t""not found" 1>&6
+      
+    { echo "configure: error: No Qt meta object compiler (moc) found!
+Please check whether you installed Qt correctly.
+You need to have a running moc binary.
+configure tried to run $ac_cv_path_moc and the test didn't
+succeed. If configure shouldn't have tried this one, set
+the environment variable MOC to the right one before running
+configure.
+" 1>&2; exit 1; }
+
+   else
+      echo "$ac_t""$kde_cv_path" 1>&6
+      MOC=$kde_cv_path
+
+   fi
+
+   
+   echo $ac_n "checking for uic""... $ac_c" 1>&6
+echo "configure:5680: checking for uic" >&5
+   if test -n "$UIC"; then
+        kde_cv_path="$UIC";
+   else
+        kde_cache=`echo uic | sed 'y%./+-%__p_%'`
+
+        if eval "test \"`echo '$''{'kde_cv_path_$kde_cache'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  
+        kde_cv_path="NONE"
+	dirs="$qt_bindirs"
+	kde_save_IFS=$IFS
+	IFS=':'
+	for dir in $PATH; do
+	  dirs="$dirs $dir"
+        done
+	IFS=$kde_save_IFS
+
+        for dir in $dirs; do
+	  if test -x "$dir/uic"; then
+	    if test -n ""
+	    then
+              evalstr="$dir/uic  2>&1 "
+	      if eval $evalstr; then
+                kde_cv_path="$dir/uic"
+                break
+	      fi
+            else
+		kde_cv_path="$dir/uic"
+                break
+	    fi
+          fi
+        done
+
+        eval "kde_cv_path_$kde_cache=$kde_cv_path"
+
+        
+fi
+
+
+      eval "kde_cv_path=\"`echo '$kde_cv_path_'$kde_cache`\""
+
+   fi
+
+   if test -z "$kde_cv_path" || test "$kde_cv_path" = NONE; then
+      echo "$ac_t""not found" 1>&6
+      UIC="" ; 
+    echo "configure: warning: No Qt ui compiler (uic) found!
+Please check whether you installed Qt correctly.
+You need to have a running uic binary.
+configure tried to run $ac_cv_path_uic and the test didn't
+succeed. If configure shouldn't have tried this one, set
+the environment variable UIC to the right one before running
+configure.
+" 1>&2
+
+   else
+      echo "$ac_t""$kde_cv_path" 1>&6
+      UIC=$kde_cv_path
+
+   fi
+
+   if test -z "$UIC" ; then
+     if test -z "$UIC_NOT_NEEDED" ; then
+       exit 1
+     else
+       UIC="echo uic not available: "
+     fi
+   fi
+   
+   
+
+
+LIB_QT="$kde_int_qt "'$(LIBPNG) $(LIBJPEG) -lXext $(LIB_X11) $(LIBSM)'
+
+
+
+
+
+if test "$program_transform_name" = s,x,x,; then
+  program_transform_name=
+else
+  # Double any \ or $.  echo might interpret backslashes.
+  cat <<\EOF_SED > conftestsed
+s,\\,\\\\,g; s,\$,$$,g
+EOF_SED
+  program_transform_name="`echo $program_transform_name|sed -f conftestsed`"
+  rm -f conftestsed
+fi
+test "$program_prefix" != NONE &&
+  program_transform_name="s,^,${program_prefix},; $program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+  program_transform_name="s,\$\$,${program_suffix},; $program_transform_name"
+
+# sed with no file args requires a program.
+test "$program_transform_name" = "" && program_transform_name="s,x,x,"
+
+
+
+
+
+
+DO_NOT_COMPILE="$DO_NOT_COMPILE CVS debian bsd-port admin"
+
+if test ! -s $srcdir/subdirs; then
+    TOPSUBDIRS=""
+  files=`cd $srcdir && ls -1`
+  dirs=`for i in $files; do if test -d $i; then echo $i; fi; done`
+  for i in $dirs; do
+    echo $i >> $srcdir/subdirs
+  done
+fi
+
+if test -s $srcdir/inst-apps; then
+  ac_topsubdirs="`cat $srcdir/inst-apps`"
+else
+  ac_topsubdirs="`cat $srcdir/subdirs`"
+fi
+
+for i in $ac_topsubdirs; do
+  echo $ac_n "checking if $i should be compiled""... $ac_c" 1>&6
+echo "configure:5803: checking if $i should be compiled" >&5
+  if test -d $srcdir/$i; then
+    install_it="yes"
+    for j in $DO_NOT_COMPILE; do
+      if test $i = $j; then
+        install_it="no"
+      fi
+    done
+  else
+    install_it="no"
+  fi
+  echo "$ac_t""$install_it" 1>&6
+  if test $install_it = "yes"; then
+    TOPSUBDIRS="$TOPSUBDIRS $i"
+  fi
+done
+
+
+
+
+trap '' 1 2 15
+cat > confcache <<\EOF
+# 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.  It is not useful on other systems.
+# If it contains results you don't want to keep, you may remove or edit it.
+#
+# By default, configure uses ./config.cache as the cache file,
+# creating it if it does not exist already.  You can give configure
+# the --cache-file=FILE option to use a different cache file; that is
+# what configure does when it calls configure scripts in
+# subdirectories, so they share the cache.
+# Giving --cache-file=/dev/null disables caching, for debugging configure.
+# config.status only pays attention to the cache file if you give it the
+# --recheck option to rerun configure.
+#
+EOF
+# 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 \
+      -e "s/'/'\\\\''/g" \
+      -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
+    ;;
+  *)
+    # `set' quotes correctly as required by POSIX, so do not add quotes.
+    sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
+    ;;
+  esac >> confcache
+if cmp -s $cache_file confcache; then
+  :
+else
+  if test -w $cache_file; then
+    echo "updating cache $cache_file"
+    cat confcache > $cache_file
+  else
+    echo "not updating unwritable cache $cache_file"
+  fi
+fi
+rm -f confcache
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Any assignment to VPATH causes Sun make to only execute
+# the first set of double-colon rules, so remove it if not needed.
+# If there is a colon in the path, we need to keep it.
+if test "x$srcdir" = x.; then
+  ac_vpsub='/^[ 	]*VPATH[ 	]*=[^:]*$/d'
+fi
+
+trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
+
+DEFS=-DHAVE_CONFIG_H
+
+# Without the "./", some shells look in PATH for config.status.
+: ${CONFIG_STATUS=./config.status}
+
+echo creating $CONFIG_STATUS
+rm -f $CONFIG_STATUS
+cat > $CONFIG_STATUS <<EOF
+#! /bin/sh
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# This directory was configured as follows,
+# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+#
+# $0 $ac_configure_args
+#
+# Compiler output produced by configure, useful for debugging
+# configure, is in ./config.log if it exists.
+
+ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
+for ac_option
+do
+  case "\$ac_option" in
+  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+    echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
+    exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
+  -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
+    echo "$CONFIG_STATUS generated by autoconf version 2.13"
+    exit 0 ;;
+  -help | --help | --hel | --he | --h)
+    echo "\$ac_cs_usage"; exit 0 ;;
+  *) echo "\$ac_cs_usage"; exit 1 ;;
+  esac
+done
+
+ac_given_srcdir=$srcdir
+ac_given_INSTALL="$INSTALL"
+
+trap 'rm -fr `echo "Makefile linpsk/Makefile linpsk/docs/Makefile linpsk/docs/en/Makefile  config.h" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+# Protect against being on the right side of a sed subst in config.status.
+sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
+ s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
+$ac_vpsub
+$extrasub
+s%@SHELL@%$SHELL%g
+s%@CFLAGS@%$CFLAGS%g
+s%@CPPFLAGS@%$CPPFLAGS%g
+s%@CXXFLAGS@%$CXXFLAGS%g
+s%@FFLAGS@%$FFLAGS%g
+s%@DEFS@%$DEFS%g
+s%@LDFLAGS@%$LDFLAGS%g
+s%@LIBS@%$LIBS%g
+s%@exec_prefix@%$exec_prefix%g
+s%@prefix@%$prefix%g
+s%@program_transform_name@%$program_transform_name%g
+s%@bindir@%$bindir%g
+s%@sbindir@%$sbindir%g
+s%@libexecdir@%$libexecdir%g
+s%@datadir@%$datadir%g
+s%@sysconfdir@%$sysconfdir%g
+s%@sharedstatedir@%$sharedstatedir%g
+s%@localstatedir@%$localstatedir%g
+s%@libdir@%$libdir%g
+s%@includedir@%$includedir%g
+s%@oldincludedir@%$oldincludedir%g
+s%@infodir@%$infodir%g
+s%@mandir@%$mandir%g
+s%@host@%$host%g
+s%@host_alias@%$host_alias%g
+s%@host_cpu@%$host_cpu%g
+s%@host_vendor@%$host_vendor%g
+s%@host_os@%$host_os%g
+s%@target@%$target%g
+s%@target_alias@%$target_alias%g
+s%@target_cpu@%$target_cpu%g
+s%@target_vendor@%$target_vendor%g
+s%@target_os@%$target_os%g
+s%@build@%$build%g
+s%@build_alias@%$build_alias%g
+s%@build_cpu@%$build_cpu%g
+s%@build_vendor@%$build_vendor%g
+s%@build_os@%$build_os%g
+s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
+s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
+s%@INSTALL_DATA@%$INSTALL_DATA%g
+s%@PACKAGE@%$PACKAGE%g
+s%@VERSION@%$VERSION%g
+s%@ACLOCAL@%$ACLOCAL%g
+s%@AUTOCONF@%$AUTOCONF%g
+s%@AUTOMAKE@%$AUTOMAKE%g
+s%@AUTOHEADER@%$AUTOHEADER%g
+s%@MAKEINFO@%$MAKEINFO%g
+s%@SET_MAKE@%$SET_MAKE%g
+s%@CC@%$CC%g
+s%@CPP@%$CPP%g
+s%@CXX@%$CXX%g
+s%@USE_EXCEPTIONS@%$USE_EXCEPTIONS%g
+s%@USE_RTTI@%$USE_RTTI%g
+s%@CXXCPP@%$CXXCPP%g
+s%@NOOPT_CXXFLAGS@%$NOOPT_CXXFLAGS%g
+s%@REPO@%$REPO%g
+s%@NOREPO@%$NOREPO%g
+s%@KDE_USE_FINAL_TRUE@%$KDE_USE_FINAL_TRUE%g
+s%@KDE_USE_FINAL_FALSE@%$KDE_USE_FINAL_FALSE%g
+s%@KDE_USE_CLOSURE_TRUE@%$KDE_USE_CLOSURE_TRUE%g
+s%@KDE_USE_CLOSURE_FALSE@%$KDE_USE_CLOSURE_FALSE%g
+s%@KDE_CXXFLAGS@%$KDE_CXXFLAGS%g
+s%@OBJEXT@%$OBJEXT%g
+s%@EXEEXT@%$EXEEXT%g
+s%@LN_S@%$LN_S%g
+s%@RANLIB@%$RANLIB%g
+s%@STRIP@%$STRIP%g
+s%@LIBTOOL@%$LIBTOOL%g
+s%@KDE_PLUGIN@%$KDE_PLUGIN%g
+s%@USER_INCLUDES@%$USER_INCLUDES%g
+s%@USER_LDFLAGS@%$USER_LDFLAGS%g
+s%@all_includes@%$all_includes%g
+s%@all_libraries@%$all_libraries%g
+s%@MSGFMT@%$MSGFMT%g
+s%@GMSGFMT@%$GMSGFMT%g
+s%@XGETTEXT@%$XGETTEXT%g
+s%@LIBCOMPAT@%$LIBCOMPAT%g
+s%@LIBCRYPT@%$LIBCRYPT%g
+s%@LIBSOCKET@%$LIBSOCKET%g
+s%@X_EXTRA_LIBS@%$X_EXTRA_LIBS%g
+s%@LIBUCB@%$LIBUCB%g
+s%@LIBDL@%$LIBDL%g
+s%@X_INCLUDES@%$X_INCLUDES%g
+s%@X_LDFLAGS@%$X_LDFLAGS%g
+s%@x_libraries@%$x_libraries%g
+s%@x_includes@%$x_includes%g
+s%@LIBSM@%$LIBSM%g
+s%@X_PRE_LIBS@%$X_PRE_LIBS%g
+s%@LIB_X11@%$LIB_X11%g
+s%@LIBZ@%$LIBZ%g
+s%@LIBPNG@%$LIBPNG%g
+s%@LIBJPEG@%$LIBJPEG%g
+s%@qt_libraries@%$qt_libraries%g
+s%@qt_includes@%$qt_includes%g
+s%@QT_INCLUDES@%$QT_INCLUDES%g
+s%@QT_LDFLAGS@%$QT_LDFLAGS%g
+s%@MOC@%$MOC%g
+s%@UIC@%$UIC%g
+s%@LIB_QT@%$LIB_QT%g
+s%@TOPSUBDIRS@%$TOPSUBDIRS%g
+
+CEOF
+EOF
+
+cat >> $CONFIG_STATUS <<\EOF
+
+# Split the substitutions into bite-sized pieces for seds with
+# small command number limits, like on Digital OSF/1 and HP-UX.
+ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
+ac_file=1 # Number of current file.
+ac_beg=1 # First line for current file.
+ac_end=$ac_max_sed_cmds # 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" conftest.subs > conftest.s$ac_file
+  else
+    sed "${ac_end}q" conftest.subs > conftest.s$ac_file
+  fi
+  if test ! -s conftest.s$ac_file; then
+    ac_more_lines=false
+    rm -f conftest.s$ac_file
+  else
+    if test -z "$ac_sed_cmds"; then
+      ac_sed_cmds="sed -f conftest.s$ac_file"
+    else
+      ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
+    fi
+    ac_file=`expr $ac_file + 1`
+    ac_beg=$ac_end
+    ac_end=`expr $ac_end + $ac_max_sed_cmds`
+  fi
+done
+if test -z "$ac_sed_cmds"; then
+  ac_sed_cmds=cat
+fi
+EOF
+
+cat >> $CONFIG_STATUS <<EOF
+
+CONFIG_FILES=\${CONFIG_FILES-"Makefile linpsk/Makefile linpsk/docs/Makefile linpsk/docs/en/Makefile "}
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
+  # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+  case "$ac_file" in
+  *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
+       ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+  *) ac_file_in="${ac_file}.in" ;;
+  esac
+
+  # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
+
+  # Remove last slash and all that follows it.  Not all systems have dirname.
+  ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
+  if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+    # The file is in a subdirectory.
+    test ! -d "$ac_dir" && mkdir "$ac_dir"
+    ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
+    # A "../" for each directory in $ac_dir_suffix.
+    ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
+  else
+    ac_dir_suffix= ac_dots=
+  fi
+
+  case "$ac_given_srcdir" in
+  .)  srcdir=.
+      if test -z "$ac_dots"; then top_srcdir=.
+      else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
+  /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
+  *) # Relative path.
+    srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
+    top_srcdir="$ac_dots$ac_given_srcdir" ;;
+  esac
+
+  case "$ac_given_INSTALL" in
+  [/$]*) INSTALL="$ac_given_INSTALL" ;;
+"") ;;
+  *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
+  esac
+
+  echo creating "$ac_file"
+  rm -f "$ac_file"
+  configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
+  case "$ac_file" in
+  *Makefile*) ac_comsub="1i\\
+# $configure_input" ;;
+  *) ac_comsub= ;;
+  esac
+
+  ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
+  sed -e "$ac_comsub
+s%@configure_input@%$configure_input%g
+s%@srcdir@%$srcdir%g
+s%@top_srcdir@%$top_srcdir%g
+s%@INSTALL@%$INSTALL%g
+" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
+fi; done
+rm -f conftest.s*
+
+# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
+# NAME is the cpp macro being defined and VALUE is the value it is being given.
+#
+# ac_d sets the value in "#define NAME VALUE" lines.
+ac_dA='s%^\([ 	]*\)#\([ 	]*define[ 	][ 	]*\)'
+ac_dB='\([ 	][ 	]*\)[^ 	]*%\1#\2'
+ac_dC='\3'
+ac_dD='%g'
+# ac_u turns "#undef NAME" with trailing blanks into "#define NAME VALUE".
+ac_uA='s%^\([ 	]*\)#\([ 	]*\)undef\([ 	][ 	]*\)'
+ac_uB='\([ 	]\)%\1#\2define\3'
+ac_uC=' '
+ac_uD='\4%g'
+# ac_e turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
+ac_eA='s%^\([ 	]*\)#\([ 	]*\)undef\([ 	][ 	]*\)'
+ac_eB='$%\1#\2define\3'
+ac_eC=' '
+ac_eD='%g'
+
+if test "${CONFIG_HEADERS+set}" != set; then
+EOF
+cat >> $CONFIG_STATUS <<EOF
+  CONFIG_HEADERS="config.h"
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+fi
+for ac_file in .. $CONFIG_HEADERS; do if test "x$ac_file" != x..; then
+  # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+  case "$ac_file" in
+  *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
+       ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+  *) ac_file_in="${ac_file}.in" ;;
+  esac
+
+  echo creating $ac_file
+
+  rm -f conftest.frag conftest.in conftest.out
+  ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
+  cat $ac_file_inputs > conftest.in
+
+EOF
+
+# Transform confdefs.h into a sed script conftest.vals that substitutes
+# the proper values into config.h.in to produce config.h.  And first:
+# Protect against being on the right side of a sed subst in config.status.
+# Protect against being in an unquoted here document in config.status.
+rm -f conftest.vals
+cat > conftest.hdr <<\EOF
+s/[\\&%]/\\&/g
+s%[\\$`]%\\&%g
+s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD}%gp
+s%ac_d%ac_u%gp
+s%ac_u%ac_e%gp
+EOF
+sed -n -f conftest.hdr confdefs.h > conftest.vals
+rm -f conftest.hdr
+
+# This sed command replaces #undef with comments.  This is necessary, for
+# example, in the case of _POSIX_SOURCE, which is predefined and required
+# on some systems where configure will not decide to define it.
+cat >> conftest.vals <<\EOF
+s%^[ 	]*#[ 	]*undef[ 	][ 	]*[a-zA-Z_][a-zA-Z_0-9]*%/* & */%
+EOF
+
+# Break up conftest.vals because some shells have a limit on
+# the size of here documents, and old seds have small limits too.
+
+rm -f conftest.tail
+while :
+do
+  ac_lines=`grep -c . conftest.vals`
+  # grep -c gives empty output for an empty file on some AIX systems.
+  if test -z "$ac_lines" || test "$ac_lines" -eq 0; then break; fi
+  # Write a limited-size here document to conftest.frag.
+  echo '  cat > conftest.frag <<CEOF' >> $CONFIG_STATUS
+  sed ${ac_max_here_lines}q conftest.vals >> $CONFIG_STATUS
+  echo 'CEOF
+  sed -f conftest.frag conftest.in > conftest.out
+  rm -f conftest.in
+  mv conftest.out conftest.in
+' >> $CONFIG_STATUS
+  sed 1,${ac_max_here_lines}d conftest.vals > conftest.tail
+  rm -f conftest.vals
+  mv conftest.tail conftest.vals
+done
+rm -f conftest.vals
+
+cat >> $CONFIG_STATUS <<\EOF
+  rm -f conftest.frag conftest.h
+  echo "/* $ac_file.  Generated automatically by configure.  */" > conftest.h
+  cat conftest.in >> conftest.h
+  rm -f conftest.in
+  if cmp -s $ac_file conftest.h 2>/dev/null; then
+    echo "$ac_file is unchanged"
+    rm -f conftest.h
+  else
+    # Remove last slash and all that follows it.  Not all systems have dirname.
+      ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
+      if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+      # The file is in a subdirectory.
+      test ! -d "$ac_dir" && mkdir "$ac_dir"
+    fi
+    rm -f $ac_file
+    mv conftest.h $ac_file
+  fi
+fi; done
+
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h
+
+exit 0
+EOF
+chmod +x $CONFIG_STATUS
+rm -fr confdefs* $ac_clean_files
+test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
+
diff --git a/configure.in b/configure.in
new file mode 100644
index 0000000..16e4206
--- /dev/null
+++ b/configure.in
@@ -0,0 +1,56 @@
+# Original Author was Kalle at kde.org
+# I lifted it in some mater. (Stephan Kulow)
+# I used much code from Janos Farkas
+
+dnl Process this file with autoconf to produce a configure script.
+
+AC_INIT(acinclude.m4) dnl a source file from your sub dir
+
+dnl This is so we can use kde-common
+AC_CONFIG_AUX_DIR(admin)
+
+AC_CANONICAL_SYSTEM 
+AC_ARG_PROGRAM
+
+dnl Automake doc recommends to do this only here. (Janos)
+AM_INIT_AUTOMAKE(linpsk,0.6.2)
+
+dnl KDE_SET_PREFIX
+
+AC_PREFIX_DEFAULT(/usr/local)
+if test "x$prefix" = "xNONE"; then
+  prefix=$ac_default_prefix
+  ac_configure_args="$ac_configure_args --prefix $prefix"
+fi
+
+dnl generate the config header
+AM_CONFIG_HEADER(config.h) dnl at the distribution this done
+
+dnl Checks for programs.
+AC_CHECK_COMPILERS
+AC_ENABLE_SHARED(yes)
+AC_ENABLE_STATIC(no)
+KDE_PROG_LIBTOOL
+
+AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
+all_libraries="$all_libraries $USER_LDFLAGS"
+all_includes="$all_includes $USER_INCLUDES"
+AC_SUBST(all_includes)
+AC_SUBST(all_libraries)
+
+dnl for NLS support. Call them in this order!
+dnl WITH_NLS is for the po files
+AM_KDE_WITH_NLS
+
+AC_PATH_QT
+
+dnl Perform program name transformation
+AC_ARG_PROGRAM
+
+
+dnl PACKAGE set before
+
+KDE_CREATE_SUBDIRSLIST
+
+dnl add here all your Makefiles. This are created by configure
+AC_OUTPUT(Makefile linpsk/Makefile linpsk/docs/Makefile linpsk/docs/en/Makefile )
diff --git a/linpsk-0.6.2.tar.gz b/linpsk-0.6.2.tar.gz
new file mode 100644
index 0000000..e69de29
diff --git a/linpsk.kdevprj b/linpsk.kdevprj
new file mode 100644
index 0000000..5e16734
--- /dev/null
+++ b/linpsk.kdevprj
@@ -0,0 +1,616 @@
+[AUTHORS]
+dist=true
+install=false
+install_location=
+type=DATA
+
+[COPYING]
+dist=true
+install=false
+install_location=
+type=DATA
+
+[ChangeLog]
+dist=true
+install=false
+install_location=
+type=DATA
+
+[Config for BinMakefileAm]
+addcxxflags=
+bin_program=linpsk
+cxxflags=\s-O2 -Wall
+ldadd=-lqt -lXext -lX11
+ldflags=
+
+[General]
+AMChanged=true
+author=Volker Schroer
+configure_args=--with-qt-dir=/usr/lib/qt-2.3.0
+email=dl1ksv at gmx.de
+kdevprj_version=1.3
+lfv_open_groups=GNU
+make_options=\s-j1
+makefiles=Makefile.am,linpsk/Makefile.am,linpsk/docs/Makefile.am,linpsk/docs/en/Makefile.am
+modifyMakefiles=true
+project_name=LinPsk
+project_type=normal_qt2
+sgml_file=/var/schroer/linpsk/linpsk/docs/en/index.sgml
+short_info=
+sub_dir=linpsk/
+version=0.6.2
+version_control=None
+workspace=1
+
+[INSTALL]
+dist=true
+install=false
+install_location=
+type=DATA
+
+[KPP]
+kpp_appgrp=
+kpp_bldroot=
+kpp_icon=0
+kpp_license=5
+kpp_summary=
+kpp_url=linpsk.sourceforge.net
+kpp_version=0.6.1
+
+[LFV Groups]
+Andere=*
+Benutzerschnittstelle=*.kdevdlg,*.ui,*.rc
+GNU=AUTHORS,COPYING,ChangeLog,INSTALL,README,TODO,NEWS
+Header=*.h,*.hh,*.hxx,*.hpp,*.H
+Quellen=*.cpp,*.c,*.cc,*.C,*.cxx,*.ec,*.ecpp,*.lxx,*.l++,*.ll,*.l
+groups=Header,Quellen,Benutzerschnittstelle,Übersetzungen,GNU,Andere
+Übersetzungen=*.ts
+
+[Makefile.am]
+files=linpsk.kdevprj,AUTHORS,COPYING,ChangeLog,INSTALL,README,TODO,linpsk.lsm,psk31.out,qpsk.out,README.GER,linpsk.spec
+sub_dirs=linpsk
+type=normal
+
+[README]
+dist=true
+install=false
+install_location=
+type=DATA
+
+[README.GER]
+dist=true
+install=false
+install_location=
+type=DATA
+
+[TODO]
+dist=true
+install=false
+install_location=
+type=DATA
+
+[Workspace_1]
+browser_file=file:/var/schroer/linpsk/linpsk/docs/en/index-1.html#ss1.1
+cpp_file=/var/schroer/linpsk/linpsk/csound.cpp
+header_file=/var/schroer/linpsk/linpsk/parameter.h
+openfiles=Unbenannt.h,Unbenannt.cpp,/var/schroer/linpsk/linpsk/linpsk.h,/var/schroer/linpsk/linpsk/main.cpp,/var/schroer/linpsk/linpsk/csound.h,/var/schroer/linpsk/linpsk/csound.cpp,/var/schroer/linpsk/linpsk/linpskview.cpp,/var/schroer/linpsk/linpsk/linpskview.h,/var/schroer/linpsk/linpsk/parameter.h,/var/schroer/linpsk/linpsk/parameter.cpp
+show_outputview=true
+show_treeview=true
+
+[linpsk.kdevprj]
+dist=true
+install=false
+install_location=
+type=DATA
+
+[linpsk.lsm]
+dist=true
+install=false
+install_location=
+type=DATA
+
+[linpsk.spec]
+dist=true
+install=false
+install_location=
+type=DATA
+
+[linpsk/Makefile.am]
+files=linpsk/main.cpp,linpsk/linpsk.cpp,linpsk/linpsk.h,linpsk/linpskview.cpp,linpsk/linpskview.h,linpsk/filenew.xpm,linpsk/filesave.xpm,linpsk/fileopen.xpm,linpsk/bpskdemodulator.cpp,linpsk/cdemodulator.cpp,linpsk/cdisplay.cpp,linpsk/bpskdemodulator.h,linpsk/cdemodulator.h,linpsk/cdisplay.h,linpsk/checkcom.h,linpsk/cledbutton.h,linpsk/color.h,linpsk/constants.h,linpsk/cpanel.h,linpsk/cpskdemodulator.h,linpsk/crxdisplay.h,linpsk/crxselect.h,linpsk/crxwindow.h,linpsk/csound.h,linpsk/csque [...]
+sub_dirs=docs
+type=prog_main
+
+[linpsk/bpskdemodulator.cpp]
+dist=true
+install=false
+install_location=
+type=SOURCE
+
+[linpsk/bpskdemodulator.h]
+dist=true
+install=false
+install_location=
+type=HEADER
+
+[linpsk/cdemodulator.cpp]
+dist=true
+install=false
+install_location=
+type=SOURCE
+
+[linpsk/cdemodulator.h]
+dist=true
+install=false
+install_location=
+type=HEADER
+
+[linpsk/cdisplay.cpp]
+dist=true
+install=false
+install_location=
+type=SOURCE
+
+[linpsk/cdisplay.h]
+dist=true
+install=false
+install_location=
+type=HEADER
+
+[linpsk/checkcom.cpp]
+dist=true
+install=false
+install_location=
+type=SOURCE
+
+[linpsk/checkcom.h]
+dist=true
+install=false
+install_location=
+type=HEADER
+
+[linpsk/cledbutton.cpp]
+dist=true
+install=false
+install_location=
+type=SOURCE
+
+[linpsk/cledbutton.h]
+dist=true
+install=false
+install_location=
+type=HEADER
+
+[linpsk/cmodulator.cpp]
+dist=true
+install=false
+install_location=
+type=SOURCE
+
+[linpsk/cmodulator.h]
+dist=true
+install=false
+install_location=
+type=HEADER
+
+[linpsk/color.h]
+dist=true
+install=false
+install_location=
+type=HEADER
+
+[linpsk/constants.h]
+dist=true
+install=false
+install_location=
+type=HEADER
+
+[linpsk/cpanel.cpp]
+dist=true
+install=false
+install_location=
+type=SOURCE
+
+[linpsk/cpanel.h]
+dist=true
+install=false
+install_location=
+type=HEADER
+
+[linpsk/cpskdemodulator.cpp]
+dist=true
+install=false
+install_location=
+type=SOURCE
+
+[linpsk/cpskdemodulator.h]
+dist=true
+install=false
+install_location=
+type=HEADER
+
+[linpsk/crxdisplay.cpp]
+dist=true
+install=false
+install_location=
+type=SOURCE
+
+[linpsk/crxdisplay.h]
+dist=true
+install=false
+install_location=
+type=HEADER
+
+[linpsk/crxselect.cpp]
+dist=true
+install=false
+install_location=
+type=SOURCE
+
+[linpsk/crxselect.h]
+dist=true
+install=false
+install_location=
+type=HEADER
+
+[linpsk/crxwindow.cpp]
+dist=true
+install=false
+install_location=
+type=SOURCE
+
+[linpsk/crxwindow.h]
+dist=true
+install=false
+install_location=
+type=HEADER
+
+[linpsk/csound.cpp]
+dist=true
+install=false
+install_location=
+type=SOURCE
+
+[linpsk/csound.h]
+dist=true
+install=false
+install_location=
+type=HEADER
+
+[linpsk/csquelch.cpp]
+dist=true
+install=false
+install_location=
+type=SOURCE
+
+[linpsk/csquelch.h]
+dist=true
+install=false
+install_location=
+type=HEADER
+
+[linpsk/ctxdisplay.cpp]
+dist=true
+install=false
+install_location=
+type=SOURCE
+
+[linpsk/ctxdisplay.h]
+dist=true
+install=false
+install_location=
+type=HEADER
+
+[linpsk/ctxwindow.cpp]
+dist=true
+install=false
+install_location=
+type=SOURCE
+
+[linpsk/ctxwindow.h]
+dist=true
+install=false
+install_location=
+type=HEADER
+
+[linpsk/docs/Makefile.am]
+sub_dirs=en
+type=normal
+
+[linpsk/docs/en/Makefile.am]
+files=linpsk/docs/en/index.html,linpsk/docs/en/index-1.html,linpsk/docs/en/index-2.html,linpsk/docs/en/index-3.html,linpsk/docs/en/index-4.html,linpsk/docs/en/index-5.html
+sub_dirs=
+type=normal
+
+[linpsk/docs/en/index-1.html]
+dist=true
+install=true
+install_location=$$(prefix)/doc/linpsk/index-1.html
+type=DATA
+
+[linpsk/docs/en/index-2.html]
+dist=true
+install=true
+install_location=$$(prefix)/doc/linpsk/index-2.html
+type=DATA
+
+[linpsk/docs/en/index-3.html]
+dist=true
+install=true
+install_location=$$(prefix)/doc/linpsk/index-3.html
+type=DATA
+
+[linpsk/docs/en/index-4.html]
+dist=true
+install=true
+install_location=$$(prefix)/doc/linpsk/index-4.html
+type=DATA
+
+[linpsk/docs/en/index-5.html]
+dist=true
+install=true
+install_location=$$(prefix)/doc/linpsk/index-5.html
+type=DATA
+
+[linpsk/docs/en/index.html]
+dist=true
+install=true
+install_location=$$(prefix)/doc/linpsk/index.html
+type=DATA
+
+[linpsk/editmacro.cpp]
+dist=true
+install=false
+install_location=
+type=SOURCE
+
+[linpsk/editmacro.h]
+dist=true
+install=false
+install_location=
+type=HEADER
+
+[linpsk/fft.cpp]
+dist=true
+install=false
+install_location=
+type=SOURCE
+
+[linpsk/fft.h]
+dist=true
+install=false
+install_location=
+type=HEADER
+
+[linpsk/filenew.xpm]
+dist=true
+install=false
+install_location=
+type=DATA
+
+[linpsk/fileopen.xpm]
+dist=true
+install=false
+install_location=
+type=DATA
+
+[linpsk/filesave.xpm]
+dist=true
+install=false
+install_location=
+type=DATA
+
+[linpsk/fircoeffs.h]
+dist=true
+install=false
+install_location=
+type=HEADER
+
+[linpsk/fmodeselect.h]
+dist=true
+install=false
+install_location=
+type=HEADER
+
+[linpsk/fmodeselect.ui]
+dist=true
+install=false
+install_location=
+type=SOURCE
+
+[linpsk/fsetup.h]
+dist=true
+install=false
+install_location=
+type=HEADER
+
+[linpsk/fsetup.ui]
+dist=true
+install=false
+install_location=
+type=SOURCE
+
+[linpsk/input.cpp]
+dist=true
+install=false
+install_location=
+type=SOURCE
+
+[linpsk/input.h]
+dist=true
+install=false
+install_location=
+type=HEADER
+
+[linpsk/linpsk.cpp]
+dist=true
+install=false
+install_location=
+type=SOURCE
+
+[linpsk/linpsk.h]
+dist=true
+install=false
+install_location=
+type=HEADER
+
+[linpsk/linpskview.cpp]
+dist=true
+install=false
+install_location=
+type=SOURCE
+
+[linpsk/linpskview.h]
+dist=true
+install=false
+install_location=
+type=HEADER
+
+[linpsk/main.cpp]
+dist=true
+install=false
+install_location=
+type=SOURCE
+
+[linpsk/mfskdemodulator.cpp]
+dist=true
+install=false
+install_location=
+type=SOURCE
+
+[linpsk/mfskdemodulator.h]
+dist=true
+install=false
+install_location=
+type=HEADER
+
+[linpsk/modeselect.cpp]
+dist=true
+install=false
+install_location=
+type=SOURCE
+
+[linpsk/modeselect.h]
+dist=true
+install=false
+install_location=
+type=HEADER
+
+[linpsk/parameter.cpp]
+dist=true
+install=false
+install_location=
+type=SOURCE
+
+[linpsk/parameter.h]
+dist=true
+install=false
+install_location=
+type=HEADER
+
+[linpsk/pskmod.cpp]
+dist=true
+install=false
+install_location=
+type=SOURCE
+
+[linpsk/pskmod.h]
+dist=true
+install=false
+install_location=
+type=HEADER
+
+[linpsk/psktable.h]
+dist=true
+install=false
+install_location=
+type=HEADER
+
+[linpsk/qpskdemodulator.cpp]
+dist=true
+install=false
+install_location=
+type=SOURCE
+
+[linpsk/qpskdemodulator.h]
+dist=true
+install=false
+install_location=
+type=HEADER
+
+[linpsk/resource.h]
+dist=true
+install=false
+install_location=
+type=HEADER
+
+[linpsk/rttydemodulator.cpp]
+dist=true
+install=false
+install_location=
+type=SOURCE
+
+[linpsk/rttydemodulator.h]
+dist=true
+install=false
+install_location=
+type=HEADER
+
+[linpsk/rttymodulator.cpp]
+dist=true
+install=false
+install_location=
+type=SOURCE
+
+[linpsk/rttymodulator.h]
+dist=true
+install=false
+install_location=
+type=HEADER
+
+[linpsk/setup.cpp]
+dist=true
+install=false
+install_location=
+type=SOURCE
+
+[linpsk/setup.h]
+dist=true
+install=false
+install_location=
+type=HEADER
+
+[linpsk/textinput.cpp]
+dist=true
+install=false
+install_location=
+type=SOURCE
+
+[linpsk/textinput.h]
+dist=true
+install=false
+install_location=
+type=HEADER
+
+[linpsk/waveinput.cpp]
+dist=true
+install=false
+install_location=
+type=SOURCE
+
+[linpsk/waveinput.h]
+dist=true
+install=false
+install_location=
+type=HEADER
+
+[psk31.out]
+dist=true
+install=true
+install_location=~/psk31.out
+type=DATA
+
+[qpsk.out]
+dist=true
+install=true
+install_location=~/qpsk.out
+type=DATA
diff --git a/linpsk.lsm b/linpsk.lsm
new file mode 100644
index 0000000..c35557a
--- /dev/null
+++ b/linpsk.lsm
@@ -0,0 +1,14 @@
+Begin3
+Title:          LinPsk 
+Version:        0.6
+Entered-date:   
+Description:    
+Keywords:        
+Author:         Volker Schroer <dl1ksv at gmx.de> 
+Maintained-by:  Volker Schroer <dl1ksv at gmx.de> 
+Primary-site:   	        
+Home-page:      http://linpsk.sourceforge.net
+Original-site:  
+Platforms:       Linux and other Unices
+Copying-policy: GNU Public License
+End
diff --git a/linpsk.spec b/linpsk.spec
new file mode 100644
index 0000000..e74d05e
--- /dev/null
+++ b/linpsk.spec
@@ -0,0 +1,48 @@
+# This spec file was generated using Kpp
+# If you find any problems with this spec file please report
+# the error to ian geiser <geiseri at msoe.edu>
+Summary:   
+Name:      linpsk
+Version:   0.6.1
+Release:   control=None
+Copyright: GPL
+Vendor:    Volker Schroer <dl1ksv at gmx.de>
+Url:       linpsk.sourceforge.net
+
+Packager:  Volker Schroer <dl1ksv at gmx.de>
+Group:     
+Source:    linpsk-0.6.1.tar.gz
+BuildRoot: 
+
+%description
+
+
+%prep
+%setup
+CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" ./configure \
+                --with-qt-dir=/usr/lib/qt-2.3.0 \
+                $LOCALFLAGS
+%build
+# Setup for parallel builds
+numprocs=`egrep -c ^cpu[0-9]+ /proc/stat || :`
+if [ "$numprocs" = "0" ]; then
+  numprocs=1
+fi
+
+make -j$numprocs
+
+%install
+make install-strip DESTDIR=$RPM_BUILD_ROOT
+
+cd $RPM_BUILD_ROOT
+find . -type d | sed '1,2d;s,^\.,\%attr(-\,root\,root) \%dir ,' > $RPM_BUILD_DIR/file.list.linpsk
+find . -type f | sed 's,^\.,\%attr(-\,root\,root) ,' >> $RPM_BUILD_DIR/file.list.linpsk
+find . -type l | sed 's,^\.,\%attr(-\,root\,root) ,' >> $RPM_BUILD_DIR/file.list.linpsk
+
+%clean
+rm -rf $RPM_BUILD_ROOT/*
+rm -rf $RPM_BUILD_DIR/linpsk
+rm -rf ../file.list.linpsk
+
+
+%files -f ../file.list.linpsk
diff --git a/linpsk/Makefile.am b/linpsk/Makefile.am
new file mode 100644
index 0000000..8ddb097
--- /dev/null
+++ b/linpsk/Makefile.am
@@ -0,0 +1,32 @@
+####### kdevelop will overwrite this part!!! (begin)##########
+bin_PROGRAMS = linpsk
+linpsk_SOURCES = rttymodulator.cpp cmodulator.cpp mfskdemodulator.cpp fsetup.ui fmodeselect.ui waveinput.cpp textinput.cpp setup.cpp rttydemodulator.cpp qpskdemodulator.cpp pskmod.cpp parameter.cpp modeselect.cpp input.cpp fft.cpp editmacro.cpp ctxwindow.cpp ctxdisplay.cpp csquelch.cpp csound.cpp crxwindow.cpp crxselect.cpp crxdisplay.cpp cpskdemodulator.cpp cpanel.cpp cledbutton.cpp checkcom.cpp cdisplay.cpp cdemodulator.cpp bpskdemodulator.cpp linpskview.cpp linpsk.cpp main.cpp 
+SOURCES = rttymodulator.cpp cmodulator.cpp mfskdemodulator.cpp waveinput.cpp textinput.cpp setup.cpp rttydemodulator.cpp qpskdemodulator.cpp pskmod.cpp parameter.cpp modeselect.cpp input.cpp fft.cpp editmacro.cpp ctxwindow.cpp ctxdisplay.cpp csquelch.cpp csound.cpp crxwindow.cpp crxselect.cpp crxdisplay.cpp cpskdemodulator.cpp cpanel.cpp cledbutton.cpp checkcom.cpp cdisplay.cpp cdemodulator.cpp bpskdemodulator.cpp linpskview.cpp linpsk.cpp main.cpp 
+INTERFACES = fsetup.ui fmodeselect.ui 
+TRANSLATIONS = 
+KDE_OPTIONS = qtonly
+linpsk_LDADD   = -lqt -lXext -lX11 $(LIBSOCKET)
+
+SUBDIRS = docs 
+
+EXTRA_DIST = main.cpp linpsk.cpp linpsk.h linpskview.cpp linpskview.h filenew.xpm filesave.xpm fileopen.xpm bpskdemodulator.cpp cdemodulator.cpp cdisplay.cpp bpskdemodulator.h cdemodulator.h cdisplay.h checkcom.h cledbutton.h color.h constants.h cpanel.h cpskdemodulator.h crxdisplay.h crxselect.h crxwindow.h csound.h csquelch.h ctxdisplay.h ctxwindow.h editmacro.h fft.h fircoeffs.h fmodeselect.h fsetup.h input.h modeselect.h parameter.h pskmod.h psktable.h qpskdemodulator.h resource.h rt [...]
+
+####### kdevelop will overwrite this part!!! (end)############
+
+
+# set the include path for X, qt and KDE
+INCLUDES= $(all_includes)
+
+linpsk_METASOURCES = AUTO
+
+# the library search path. 
+linpsk_LDFLAGS = $(all_libraries) 
+
+# them while "make clean", use CLEANFILES
+DISTCLEANFILES = $(linpsk_METASOURCES)
+
+# this is to enable Qt behavoir of am_edit
+KDE_OPTIONS = qtonly
+
+
+
diff --git a/linpsk/Makefile.in b/linpsk/Makefile.in
new file mode 100644
index 0000000..03e9cfe
--- /dev/null
+++ b/linpsk/Makefile.in
@@ -0,0 +1,790 @@
+# KDE tags expanded automatically by am_edit - $Revision: 1.237 $ 
+# Makefile.in generated automatically by automake 1.4 from Makefile.am
+
+# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+####### kdevelop will overwrite this part!!! (begin)##########
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+#>- 
+bindir = @bindir@
+#>+ 3
+DEPDIR = .deps
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DESTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = ..
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_alias = @build_alias@
+build_triplet = @build@
+host_alias = @host_alias@
+host_triplet = @host@
+target_alias = @target_alias@
+target_triplet = @target@
+ARTSCCONFIG = @ARTSCCONFIG@
+AS = @AS@
+AUTODIRS = @AUTODIRS@
+CC = @CC@
+CONF_FILES = @CONF_FILES@
+CPP = @CPP@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+DCOPIDL = @DCOPIDL@
+DCOPIDL2CPP = @DCOPIDL2CPP@
+DCOP_DEPENDENCIES = @DCOP_DEPENDENCIES@
+DLLTOOL = @DLLTOOL@
+DPMSINC = @DPMSINC@
+DPMSLIB = @DPMSLIB@
+EXEEXT = @EXEEXT@
+GCJ = @GCJ@
+GCJFLAGS = @GCJFLAGS@
+GLINC = @GLINC@
+GLLIB = @GLLIB@
+GMSGFMT = @GMSGFMT@
+IDL = @IDL@
+IDL_DEPENDENCIES = @IDL_DEPENDENCIES@
+KDB2HTML = @KDB2HTML@
+KDECONFIG = @KDECONFIG@
+KDE_CXXFLAGS = @KDE_CXXFLAGS@
+KDE_EXTRA_RPATH = @KDE_EXTRA_RPATH@
+KDE_INCLUDES = @KDE_INCLUDES@
+KDE_LDFLAGS = @KDE_LDFLAGS@
+KDE_PLUGIN = @KDE_PLUGIN@
+KDE_RPATH = @KDE_RPATH@
+KDE_USE_CLOSURE_FALSE = @KDE_USE_CLOSURE_FALSE@
+KDE_USE_CLOSURE_TRUE = @KDE_USE_CLOSURE_TRUE@
+KDE_USE_FINAL_FALSE = @KDE_USE_FINAL_FALSE@
+KDE_USE_FINAL_TRUE = @KDE_USE_FINAL_TRUE@
+LIBCOMPAT = @LIBCOMPAT@
+LIBCRYPT = @LIBCRYPT@
+LIBDL = @LIBDL@
+LIBJPEG = @LIBJPEG@
+LIBMICO = @LIBMICO@
+LIBOBJS = @LIBOBJS@
+LIBPNG = @LIBPNG@
+LIBPTHREAD = @LIBPTHREAD@
+LIBPYTHON = @LIBPYTHON@
+LIBQIMGIO = @LIBQIMGIO@
+LIBSM = @LIBSM@
+LIBSOCKET = @LIBSOCKET@
+LIBTIFF = @LIBTIFF@
+LIBTOOL = @LIBTOOL@
+LIBUCB = @LIBUCB@
+LIBZ = @LIBZ@
+LIB_KAB = @LIB_KAB@
+LIB_KDECORE = @LIB_KDECORE@
+LIB_KDEUI = @LIB_KDEUI@
+LIB_KFILE = @LIB_KFILE@
+LIB_KFM = @LIB_KFM@
+LIB_KFORMULA = @LIB_KFORMULA@
+LIB_KHTML = @LIB_KHTML@
+LIB_KIMGIO = @LIB_KIMGIO@
+LIB_KIO = @LIB_KIO@
+LIB_KPARTS = @LIB_KPARTS@
+LIB_KSPELL = @LIB_KSPELL@
+LIB_KSYCOCA = @LIB_KSYCOCA@
+LIB_KWRITE = @LIB_KWRITE@
+LIB_QT = @LIB_QT@
+LIB_SMB = @LIB_SMB@
+LIB_X11 = @LIB_X11@
+LN_S = @LN_S@
+MAKEINFO = @MAKEINFO@
+MCOPIDL = @MCOPIDL@
+MICO_INCLUDES = @MICO_INCLUDES@
+MICO_LDFLAGS = @MICO_LDFLAGS@
+MOC = @MOC@
+MSGFMT = @MSGFMT@
+NOOPT_CXXFLAGS = @NOOPT_CXXFLAGS@
+NOREPO = @NOREPO@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PAMINC = @PAMINC@
+PAMLIBPATHS = @PAMLIBPATHS@
+PAMLIBS = @PAMLIBS@
+PYTHONINC = @PYTHONINC@
+PYTHONLIB = @PYTHONLIB@
+PYTHONMODDIR = @PYTHONMODDIR@
+QT_INCLUDES = @QT_INCLUDES@
+QT_LDFLAGS = @QT_LDFLAGS@
+RANLIB = @RANLIB@
+REPO = @REPO@
+STRIP = @STRIP@
+TOPSUBDIRS = @TOPSUBDIRS@
+UIC = @UIC@
+USER_INCLUDES = @USER_INCLUDES@
+USER_LDFLAGS = @USER_LDFLAGS@
+USE_EXCEPTIONS = @USE_EXCEPTIONS@
+USE_RTTI = @USE_RTTI@
+USE_THREADS = @USE_THREADS@
+VERSION = @VERSION@
+XGETTEXT = @XGETTEXT@
+XPMINC = @XPMINC@
+XPMLIB = @XPMLIB@
+X_EXTRA_LIBS = @X_EXTRA_LIBS@
+X_INCLUDES = @X_INCLUDES@
+X_LDFLAGS = @X_LDFLAGS@
+X_PRE_LIBS = @X_PRE_LIBS@
+all_includes = @all_includes@
+all_libraries = @all_libraries@
+idldir = @idldir@
+kde_appsdir = @kde_appsdir@
+kde_bindir = @kde_bindir@
+kde_confdir = @kde_confdir@
+kde_datadir = @kde_datadir@
+kde_htmldir = @kde_htmldir@
+kde_icondir = @kde_icondir@
+kde_includes = @kde_includes@
+kde_libraries = @kde_libraries@
+kde_libs_htmldir = @kde_libs_htmldir@
+kde_libs_prefix = @kde_libs_prefix@
+kde_locale = @kde_locale@
+kde_mimedir = @kde_mimedir@
+kde_moduledir = @kde_moduledir@
+kde_servicesdir = @kde_servicesdir@
+kde_servicetypesdir = @kde_servicetypesdir@
+kde_sounddir = @kde_sounddir@
+kde_templatesdir = @kde_templatesdir@
+kde_wallpaperdir = @kde_wallpaperdir@
+micodir = @micodir@
+qt_includes = @qt_includes@
+qt_libraries = @qt_libraries@
+x_includes = @x_includes@
+x_libraries = @x_libraries@
+
+bin_PROGRAMS = linpsk
+#>- linpsk_SOURCES = rttymodulator.cpp cmodulator.cpp mfskdemodulator.cpp fsetup.ui fmodeselect.ui waveinput.cpp textinput.cpp setup.cpp rttydemodulator.cpp qpskdemodulator.cpp pskmod.cpp parameter.cpp modeselect.cpp input.cpp fft.cpp editmacro.cpp ctxwindow.cpp ctxdisplay.cpp csquelch.cpp csound.cpp crxwindow.cpp crxselect.cpp crxdisplay.cpp cpskdemodulator.cpp cpanel.cpp cledbutton.cpp checkcom.cpp cdisplay.cpp cdemodulator.cpp bpskdemodulator.cpp linpskview.cpp linpsk.cpp main.cpp 
+#>+ 1
+linpsk_SOURCES=rttymodulator.cpp cmodulator.cpp mfskdemodulator.cpp   waveinput.cpp textinput.cpp setup.cpp rttydemodulator.cpp qpskdemodulator.cpp pskmod.cpp parameter.cpp modeselect.cpp input.cpp fft.cpp editmacro.cpp ctxwindow.cpp ctxdisplay.cpp csquelch.cpp csound.cpp crxwindow.cpp crxselect.cpp crxdisplay.cpp cpskdemodulator.cpp cpanel.cpp cledbutton.cpp checkcom.cpp cdisplay.cpp cdemodulator.cpp bpskdemodulator.cpp linpskview.cpp linpsk.cpp main.cpp  fsetup.cpp fmodeselect.cpp
+SOURCES = rttymodulator.cpp cmodulator.cpp mfskdemodulator.cpp waveinput.cpp textinput.cpp setup.cpp rttydemodulator.cpp qpskdemodulator.cpp pskmod.cpp parameter.cpp modeselect.cpp input.cpp fft.cpp editmacro.cpp ctxwindow.cpp ctxdisplay.cpp csquelch.cpp csound.cpp crxwindow.cpp crxselect.cpp crxdisplay.cpp cpskdemodulator.cpp cpanel.cpp cledbutton.cpp checkcom.cpp cdisplay.cpp cdemodulator.cpp bpskdemodulator.cpp linpskview.cpp linpsk.cpp main.cpp 
+INTERFACES = fsetup.ui fmodeselect.ui 
+TRANSLATIONS = 
+
+# this is to enable Qt behavoir of am_edit
+KDE_OPTIONS = qtonly
+linpsk_LDADD = -lqt -lXext -lX11 $(LIBSOCKET)
+
+SUBDIRS = docs 
+
+EXTRA_DIST = main.cpp linpsk.cpp linpsk.h linpskview.cpp linpskview.h filenew.xpm filesave.xpm fileopen.xpm bpskdemodulator.cpp cdemodulator.cpp cdisplay.cpp bpskdemodulator.h cdemodulator.h cdisplay.h checkcom.h cledbutton.h color.h constants.h cpanel.h cpskdemodulator.h crxdisplay.h crxselect.h crxwindow.h csound.h csquelch.h ctxdisplay.h ctxwindow.h editmacro.h fft.h fircoeffs.h fmodeselect.h fsetup.h input.h modeselect.h parameter.h pskmod.h psktable.h qpskdemodulator.h resource.h rt [...]
+
+####### kdevelop will overwrite this part!!! (end)############
+
+# set the include path for X, qt and KDE
+INCLUDES = $(all_includes)
+
+#>- linpsk_METASOURCES = AUTO
+
+# the library search path. 
+linpsk_LDFLAGS = $(all_libraries) 
+
+# them while "make clean", use CLEANFILES
+DISTCLEANFILES = $(linpsk_METASOURCES)
+mkinstalldirs = $(SHELL) $(top_srcdir)/admin/mkinstalldirs
+CONFIG_HEADER = ../config.h
+CONFIG_CLEAN_FILES = 
+bin_PROGRAMS =  linpsk$(EXEEXT)
+PROGRAMS =  $(bin_PROGRAMS)
+
+
+DEFS = @DEFS@ -I. -I$(srcdir) -I..
+CPPFLAGS = @CPPFLAGS@
+LDFLAGS = @LDFLAGS@
+LIBS = @LIBS@
+#>- linpsk_OBJECTS =  rttymodulator.$(OBJEXT) cmodulator.$(OBJEXT) \
+#>- mfskdemodulator.$(OBJEXT) waveinput.$(OBJEXT) textinput.$(OBJEXT) \
+#>- setup.$(OBJEXT) rttydemodulator.$(OBJEXT) qpskdemodulator.$(OBJEXT) \
+#>- pskmod.$(OBJEXT) parameter.$(OBJEXT) modeselect.$(OBJEXT) \
+#>- input.$(OBJEXT) fft.$(OBJEXT) editmacro.$(OBJEXT) ctxwindow.$(OBJEXT) \
+#>- ctxdisplay.$(OBJEXT) csquelch.$(OBJEXT) csound.$(OBJEXT) \
+#>- crxwindow.$(OBJEXT) crxselect.$(OBJEXT) crxdisplay.$(OBJEXT) \
+#>- cpskdemodulator.$(OBJEXT) cpanel.$(OBJEXT) cledbutton.$(OBJEXT) \
+#>- checkcom.$(OBJEXT) cdisplay.$(OBJEXT) cdemodulator.$(OBJEXT) \
+#>- bpskdemodulator.$(OBJEXT) linpskview.$(OBJEXT) linpsk.$(OBJEXT) \
+#>- main.$(OBJEXT)
+#>+ 15
+linpsk_final_OBJECTS = linpsk.all_cpp.o 
+linpsk_nofinal_OBJECTS = rttymodulator.$(OBJEXT) cmodulator.$(OBJEXT) \
+mfskdemodulator.$(OBJEXT) waveinput.$(OBJEXT) textinput.$(OBJEXT) \
+setup.$(OBJEXT) rttydemodulator.$(OBJEXT) qpskdemodulator.$(OBJEXT) \
+pskmod.$(OBJEXT) parameter.$(OBJEXT) modeselect.$(OBJEXT) \
+input.$(OBJEXT) fft.$(OBJEXT) editmacro.$(OBJEXT) ctxwindow.$(OBJEXT) \
+ctxdisplay.$(OBJEXT) csquelch.$(OBJEXT) csound.$(OBJEXT) \
+crxwindow.$(OBJEXT) crxselect.$(OBJEXT) crxdisplay.$(OBJEXT) \
+cpskdemodulator.$(OBJEXT) cpanel.$(OBJEXT) cledbutton.$(OBJEXT) \
+checkcom.$(OBJEXT) cdisplay.$(OBJEXT) cdemodulator.$(OBJEXT) \
+bpskdemodulator.$(OBJEXT) linpskview.$(OBJEXT) linpsk.$(OBJEXT) \
+main.$(OBJEXT) fsetup.$(OBJEXT) fmodeselect.$(OBJEXT)\
+linpsk.moc.o editmacro.moc.o crxwindow.moc.o cdisplay.moc.o ctxdisplay.moc.o parameter.moc.o pskmod.moc.o linpskview.moc.o cpskdemodulator.moc.o csquelch.moc.o rttymodulator.moc.o modeselect.moc.o cmodulator.moc.o crxdisplay.moc.o ctxwindow.moc.o crxselect.moc.o cpanel.moc.o setup.moc.o cledbutton.moc.o cdemodulator.moc.o 
+ at KDE_USE_FINAL_FALSE@linpsk_OBJECTS = $(linpsk_nofinal_OBJECTS)
+ at KDE_USE_FINAL_TRUE@linpsk_OBJECTS = $(linpsk_final_OBJECTS)
+linpsk_DEPENDENCIES = 
+CXXFLAGS = @CXXFLAGS@
+#>- CXXCOMPILE = $(CXX) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+#>+ 1
+CXXCOMPILE = $(CXX) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(KDE_CXXFLAGS)
+#>- LTCXXCOMPILE = $(LIBTOOL) --mode=compile $(CXX) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+#>+ 1
+LTCXXCOMPILE = $(LIBTOOL) --mode=compile --tag=CXX $(CXX) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(KDE_CXXFLAGS)
+CXXLD = $(CXX)
+#>- CXXLINK = $(LIBTOOL) --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(LDFLAGS) -o $@
+#>+ 1
+CXXLINK = $(LIBTOOL) --mode=link --tag=CXX $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(KDE_CXXFLAGS) $(LDFLAGS) -o $@
+DIST_COMMON =  Makefile.am Makefile.in
+
+
+#>- DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+#>+ 4
+KDE_DIST=rttydemodulator.h.sav rttydemodulator.cpp.sav 
+
+DISTFILES= $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) $(KDE_DIST)
+
+
+TAR = tar
+GZIP_ENV = --best
+SOURCES = $(linpsk_SOURCES)
+OBJECTS = $(linpsk_OBJECTS)
+
+#>- all: all-redirect
+#>+ 1
+all: docs-am  all-redirect
+.SUFFIXES:
+.SUFFIXES: .S .c .cpp .lo .o .obj .s
+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
+#>- 	cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps linpsk/Makefile
+#>+ 2
+	cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps linpsk/Makefile
+	cd $(top_srcdir) && perl admin/am_edit linpsk/Makefile.in
+
+Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status
+	cd $(top_builddir) \
+	  && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+
+mostlyclean-binPROGRAMS:
+
+clean-binPROGRAMS:
+	-test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
+
+distclean-binPROGRAMS:
+
+maintainer-clean-binPROGRAMS:
+
+install-binPROGRAMS: $(bin_PROGRAMS)
+	@$(NORMAL_INSTALL)
+	$(mkinstalldirs) $(DESTDIR)$(bindir)
+	@list='$(bin_PROGRAMS)'; for p in $$list; do \
+	  if test -f $$p; then \
+	    echo " $(LIBTOOL)  --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`"; \
+	    $(LIBTOOL)  --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
+	  else :; fi; \
+	done
+
+uninstall-binPROGRAMS:
+	@$(NORMAL_UNINSTALL)
+	list='$(bin_PROGRAMS)'; for p in $$list; do \
+	  rm -f $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
+	done
+
+.c.o:
+	$(COMPILE) -c $<
+
+# FIXME: We should only use cygpath when building on Windows,
+# and only if it is available.
+.c.obj:
+	$(COMPILE) -c `cygpath -w $<`
+
+.s.o:
+	$(COMPILE) -c $<
+
+.S.o:
+	$(COMPILE) -c $<
+
+mostlyclean-compile:
+	-rm -f *.o core *.core
+	-rm -f *.$(OBJEXT)
+
+clean-compile:
+
+distclean-compile:
+	-rm -f *.tab.c
+
+maintainer-clean-compile:
+
+.c.lo:
+	$(LIBTOOL) --mode=compile $(COMPILE) -c $<
+
+.s.lo:
+	$(LIBTOOL) --mode=compile $(COMPILE) -c $<
+
+.S.lo:
+	$(LIBTOOL) --mode=compile $(COMPILE) -c $<
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+distclean-libtool:
+
+maintainer-clean-libtool:
+
+linpsk$(EXEEXT): $(linpsk_OBJECTS) $(linpsk_DEPENDENCIES)
+	@rm -f linpsk$(EXEEXT)
+	$(CXXLINK) $(linpsk_LDFLAGS) $(linpsk_OBJECTS) $(linpsk_LDADD) $(LIBS)
+.cpp.o:
+	$(CXXCOMPILE) -c $<
+.cpp.obj:
+	$(CXXCOMPILE) -c `cygpath -w $<`
+.cpp.lo:
+	$(LTCXXCOMPILE) -c $<
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+#     (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+
+ at SET_MAKE@
+
+all-recursive install-data-recursive install-exec-recursive \
+installdirs-recursive install-recursive uninstall-recursive  \
+check-recursive installcheck-recursive info-recursive dvi-recursive:
+	@set fnord $(MAKEFLAGS); amf=$$2; \
+	dot_seen=no; \
+	target=`echo $@ | sed s/-recursive//`; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  echo "Making $$target in $$subdir"; \
+	  if test "$$subdir" = "."; then \
+	    dot_seen=yes; \
+	    local_target="$$target-am"; \
+	  else \
+	    local_target="$$target"; \
+	  fi; \
+	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	   || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+	done; \
+	if test "$$dot_seen" = "no"; then \
+	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+	fi; test -z "$$fail"
+
+mostlyclean-recursive clean-recursive distclean-recursive \
+maintainer-clean-recursive:
+	@set fnord $(MAKEFLAGS); amf=$$2; \
+	dot_seen=no; \
+	rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \
+	  rev="$$subdir $$rev"; \
+	  test "$$subdir" = "." && dot_seen=yes; \
+	done; \
+	test "$$dot_seen" = "no" && rev=". $$rev"; \
+	target=`echo $@ | sed s/-recursive//`; \
+	for subdir in $$rev; do \
+	  echo "Making $$target in $$subdir"; \
+	  if test "$$subdir" = "."; then \
+	    local_target="$$target-am"; \
+	  else \
+	    local_target="$$target"; \
+	  fi; \
+	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	   || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+	done && test -z "$$fail"
+tags-recursive:
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+	done
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP)
+	list='$(SOURCES) $(HEADERS)'; \
+	unique=`for i in $$list; do echo $$i; done | \
+	  awk '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	here=`pwd` && cd $(srcdir) \
+	  && mkid -f$$here/ID $$unique $(LISP)
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+   if test "$$subdir" = .; then :; else \
+	    test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
+   fi; \
+	done; \
+	list='$(SOURCES) $(HEADERS)'; \
+	unique=`for i in $$list; do echo $$i; done | \
+	  awk '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+	  || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags  $$unique $(LISP) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+	-rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
+
+subdir = linpsk
+
+distdir: $(DISTFILES)
+	@for file in $(DISTFILES); do \
+	  d=$(srcdir); \
+	  if test -d $$d/$$file; then \
+	    cp -pr $$d/$$file $(distdir)/$$file; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+	    || cp -p $$d/$$file $(distdir)/$$file || :; \
+	  fi; \
+	done
+	for subdir in $(SUBDIRS); do \
+	  if test "$$subdir" = .; then :; else \
+	    test -d $(distdir)/$$subdir \
+	    || mkdir $(distdir)/$$subdir \
+	    || exit 1; \
+	    chmod 777 $(distdir)/$$subdir; \
+	    (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir=../$(top_distdir) distdir=../$(distdir)/$$subdir distdir) \
+	      || exit 1; \
+	  fi; \
+	done
+
+info-am:
+info: info-recursive
+dvi-am:
+dvi: dvi-recursive
+check-am: all-am
+check: check-recursive
+installcheck-am:
+installcheck: installcheck-recursive
+install-exec-am: install-binPROGRAMS
+install-exec: install-exec-recursive
+
+install-data-am:
+install-data: install-data-recursive
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+install: install-recursive
+uninstall-am: uninstall-binPROGRAMS
+uninstall: uninstall-recursive
+all-am: Makefile $(PROGRAMS)
+all-redirect: all-recursive
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
+installdirs: installdirs-recursive
+installdirs-am:
+	$(mkinstalldirs)  $(DESTDIR)$(bindir)
+
+
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-rm -f Makefile $(CONFIG_CLEAN_FILES)
+	-rm -f config.cache config.log stamp-h stamp-h[0-9]*
+	-test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
+
+maintainer-clean-generic:
+mostlyclean-am:  mostlyclean-binPROGRAMS mostlyclean-compile \
+		mostlyclean-libtool mostlyclean-tags \
+		mostlyclean-generic
+
+mostlyclean: mostlyclean-recursive
+
+#>- clean-am:  clean-binPROGRAMS clean-compile clean-libtool clean-tags \
+#>- 		clean-generic mostlyclean-am
+#>+ 2
+clean-am: clean-metasources clean-ui clean-final   clean-binPROGRAMS clean-compile clean-libtool clean-tags \
+		clean-generic mostlyclean-am
+
+#>- clean: clean-recursive
+#>+ 1
+clean: kde-rpo-clean  clean-recursive
+
+distclean-am:  distclean-binPROGRAMS distclean-compile distclean-libtool \
+		distclean-tags distclean-generic clean-am
+	-rm -f libtool
+
+distclean: distclean-recursive
+
+maintainer-clean-am:  maintainer-clean-binPROGRAMS \
+		maintainer-clean-compile maintainer-clean-libtool \
+		maintainer-clean-tags maintainer-clean-generic \
+		distclean-am
+	@echo "This command is intended for maintainers to use;"
+	@echo "it deletes files that may require special tools to rebuild."
+
+maintainer-clean: maintainer-clean-recursive
+
+.PHONY: mostlyclean-binPROGRAMS distclean-binPROGRAMS clean-binPROGRAMS \
+maintainer-clean-binPROGRAMS uninstall-binPROGRAMS install-binPROGRAMS \
+mostlyclean-compile distclean-compile clean-compile \
+maintainer-clean-compile mostlyclean-libtool distclean-libtool \
+clean-libtool maintainer-clean-libtool install-data-recursive \
+uninstall-data-recursive install-exec-recursive \
+uninstall-exec-recursive installdirs-recursive uninstalldirs-recursive \
+all-recursive check-recursive installcheck-recursive info-recursive \
+dvi-recursive mostlyclean-recursive distclean-recursive clean-recursive \
+maintainer-clean-recursive tags tags-recursive mostlyclean-tags \
+distclean-tags clean-tags maintainer-clean-tags distdir info-am info \
+dvi-am dvi check check-am installcheck-am installcheck install-exec-am \
+install-exec install-data-am install-data install-am install \
+uninstall-am uninstall all-redirect all-am all installdirs-am \
+installdirs mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
+
+#>+ 21
+fsetup.cpp: $(srcdir)/fsetup.ui fsetup.h fsetup.moc
+	rm -f fsetup.cpp
+	$(UIC) -i fsetup.h $(srcdir)/fsetup.ui > fsetup.cpp || rm -f fsetup.cpp
+	echo '#include "fsetup.moc"' >> fsetup.cpp
+
+fsetup.h: $(srcdir)/fsetup.ui
+	$(UIC) -o fsetup.h $(srcdir)/fsetup.ui
+
+fsetup.moc: fsetup.h
+	$(MOC) fsetup.h -o fsetup.moc
+fmodeselect.cpp: $(srcdir)/fmodeselect.ui fmodeselect.h fmodeselect.moc
+	rm -f fmodeselect.cpp
+	$(UIC) -i fmodeselect.h $(srcdir)/fmodeselect.ui > fmodeselect.cpp || rm -f fmodeselect.cpp
+	echo '#include "fmodeselect.moc"' >> fmodeselect.cpp
+
+fmodeselect.h: $(srcdir)/fmodeselect.ui
+	$(UIC) -o fmodeselect.h $(srcdir)/fmodeselect.ui
+
+fmodeselect.moc: fmodeselect.h
+	$(MOC) fmodeselect.h -o fmodeselect.moc
+
+#>+ 3
+fsetup.moc: $(srcdir)/fsetup.h
+	$(MOC) $(srcdir)/fsetup.h -o fsetup.moc
+
+#>+ 3
+linpsk.moc.cpp: $(srcdir)/linpsk.h
+	$(MOC) $(srcdir)/linpsk.h -o linpsk.moc.cpp
+
+#>+ 3
+editmacro.moc.cpp: $(srcdir)/editmacro.h
+	$(MOC) $(srcdir)/editmacro.h -o editmacro.moc.cpp
+
+#>+ 3
+crxwindow.moc.cpp: $(srcdir)/crxwindow.h
+	$(MOC) $(srcdir)/crxwindow.h -o crxwindow.moc.cpp
+
+#>+ 3
+cdisplay.moc.cpp: $(srcdir)/cdisplay.h
+	$(MOC) $(srcdir)/cdisplay.h -o cdisplay.moc.cpp
+
+#>+ 3
+ctxdisplay.moc.cpp: $(srcdir)/ctxdisplay.h
+	$(MOC) $(srcdir)/ctxdisplay.h -o ctxdisplay.moc.cpp
+
+#>+ 3
+parameter.moc.cpp: $(srcdir)/parameter.h
+	$(MOC) $(srcdir)/parameter.h -o parameter.moc.cpp
+
+#>+ 3
+pskmod.moc.cpp: $(srcdir)/pskmod.h
+	$(MOC) $(srcdir)/pskmod.h -o pskmod.moc.cpp
+
+#>+ 3
+linpskview.moc.cpp: $(srcdir)/linpskview.h
+	$(MOC) $(srcdir)/linpskview.h -o linpskview.moc.cpp
+
+#>+ 3
+cpskdemodulator.moc.cpp: $(srcdir)/cpskdemodulator.h
+	$(MOC) $(srcdir)/cpskdemodulator.h -o cpskdemodulator.moc.cpp
+
+#>+ 3
+csquelch.moc.cpp: $(srcdir)/csquelch.h
+	$(MOC) $(srcdir)/csquelch.h -o csquelch.moc.cpp
+
+#>+ 3
+rttymodulator.moc.cpp: $(srcdir)/rttymodulator.h
+	$(MOC) $(srcdir)/rttymodulator.h -o rttymodulator.moc.cpp
+
+#>+ 3
+modeselect.moc.cpp: $(srcdir)/modeselect.h
+	$(MOC) $(srcdir)/modeselect.h -o modeselect.moc.cpp
+
+#>+ 3
+cmodulator.moc.cpp: $(srcdir)/cmodulator.h
+	$(MOC) $(srcdir)/cmodulator.h -o cmodulator.moc.cpp
+
+#>+ 3
+crxdisplay.moc.cpp: $(srcdir)/crxdisplay.h
+	$(MOC) $(srcdir)/crxdisplay.h -o crxdisplay.moc.cpp
+
+#>+ 3
+ctxwindow.moc.cpp: $(srcdir)/ctxwindow.h
+	$(MOC) $(srcdir)/ctxwindow.h -o ctxwindow.moc.cpp
+
+#>+ 3
+crxselect.moc.cpp: $(srcdir)/crxselect.h
+	$(MOC) $(srcdir)/crxselect.h -o crxselect.moc.cpp
+
+#>+ 3
+fmodeselect.moc: $(srcdir)/fmodeselect.h
+	$(MOC) $(srcdir)/fmodeselect.h -o fmodeselect.moc
+
+#>+ 3
+cpanel.moc.cpp: $(srcdir)/cpanel.h
+	$(MOC) $(srcdir)/cpanel.h -o cpanel.moc.cpp
+
+#>+ 3
+setup.moc.cpp: $(srcdir)/setup.h
+	$(MOC) $(srcdir)/setup.h -o setup.moc.cpp
+
+#>+ 3
+cledbutton.moc.cpp: $(srcdir)/cledbutton.h
+	$(MOC) $(srcdir)/cledbutton.h -o cledbutton.moc.cpp
+
+#>+ 3
+cdemodulator.moc.cpp: $(srcdir)/cdemodulator.h
+	$(MOC) $(srcdir)/cdemodulator.h -o cdemodulator.moc.cpp
+
+#>+ 3
+clean-metasources:
+	-rm -f  fsetup.moc linpsk.moc.cpp editmacro.moc.cpp crxwindow.moc.cpp cdisplay.moc.cpp ctxdisplay.moc.cpp parameter.moc.cpp pskmod.moc.cpp linpskview.moc.cpp cpskdemodulator.moc.cpp csquelch.moc.cpp rttymodulator.moc.cpp modeselect.moc.cpp cmodulator.moc.cpp crxdisplay.moc.cpp ctxwindow.moc.cpp crxselect.moc.cpp fmodeselect.moc cpanel.moc.cpp setup.moc.cpp cledbutton.moc.cpp cdemodulator.moc.cpp
+
+#>+ 5
+clean-ui:
+	-rm -f \
+	fsetup.cpp fsetup.h fsetup.moc \
+	fmodeselect.cpp fmodeselect.h fmodeselect.moc 
+
+#>+ 2
+docs-am:
+
+#>+ 5
+force-reedit:
+		cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps linpsk/Makefile
+	cd $(top_srcdir) && perl admin/am_edit linpsk/Makefile.in
+
+
+#>+ 11
+linpsk.all_cpp.cpp: $(srcdir)/Makefile.in $(srcdir)/rttymodulator.cpp $(srcdir)/cmodulator.cpp $(srcdir)/mfskdemodulator.cpp $(srcdir)/waveinput.cpp $(srcdir)/textinput.cpp $(srcdir)/setup.cpp $(srcdir)/rttydemodulator.cpp $(srcdir)/qpskdemodulator.cpp $(srcdir)/pskmod.cpp $(srcdir)/parameter.cpp $(srcdir)/modeselect.cpp $(srcdir)/input.cpp $(srcdir)/fft.cpp $(srcdir)/editmacro.cpp $(srcdir)/ctxwindow.cpp $(srcdir)/ctxdisplay.cpp $(srcdir)/csquelch.cpp $(srcdir)/csound.cpp $(srcdir)/crxw [...]
+	@echo 'creating linpsk.all_cpp.cpp ...'; \
+	rm -f linpsk.all_cpp.files linpsk.all_cpp.final; \
+	echo "#define KDE_USE_FINAL 1" >> linpsk.all_cpp.final; \
+	for file in rttymodulator.cpp cmodulator.cpp mfskdemodulator.cpp waveinput.cpp textinput.cpp setup.cpp rttydemodulator.cpp qpskdemodulator.cpp pskmod.cpp parameter.cpp modeselect.cpp input.cpp fft.cpp editmacro.cpp ctxwindow.cpp ctxdisplay.cpp csquelch.cpp csound.cpp crxwindow.cpp crxselect.cpp crxdisplay.cpp cpskdemodulator.cpp cpanel.cpp cledbutton.cpp checkcom.cpp cdisplay.cpp cdemodulator.cpp bpskdemodulator.cpp linpskview.cpp linpsk.cpp main.cpp fsetup.cpp fmodeselect.cpp  linpsk.m [...]
+	  echo "#include \"$$file\"" >> linpsk.all_cpp.files; \
+	  test ! -f $(srcdir)/$$file || egrep '^#pragma +implementation' $(srcdir)/$$file >> linpsk.all_cpp.final; \
+	done; \
+	cat linpsk.all_cpp.final linpsk.all_cpp.files  > linpsk.all_cpp.cpp; \
+	rm -f linpsk.all_cpp.final linpsk.all_cpp.files
+
+#>+ 3
+clean-final:
+	-rm -f linpsk.all_cpp.cpp
+
+#>+ 2
+final:
+	$(MAKE) linpsk_OBJECTS="$(linpsk_final_OBJECTS)" all-am
+#>+ 2
+no-final:
+	$(MAKE) linpsk_OBJECTS="$(linpsk_nofinal_OBJECTS)" all-am
+#>+ 3
+cvs-clean:
+	$(MAKE) -f $(top_srcdir)/admin/Makefile.common cvs-clean
+
+#>+ 3
+kde-rpo-clean:
+	-rm -f *.rpo
+
+#>+ 34
+$(srcdir)/crxwindow.cpp: fsetup.h fmodeselect.h 
+$(srcdir)/cledbutton.cpp: fsetup.h fmodeselect.h 
+$(srcdir)/input.cpp: fsetup.h fmodeselect.h 
+$(srcdir)/fmodeselect.cpp: fmodeselect.moc 
+$(srcdir)/fft.cpp: fsetup.h fmodeselect.h 
+$(srcdir)/mfskdemodulator.cpp: fsetup.h fmodeselect.h 
+$(srcdir)/qpskdemodulator.cpp: fsetup.h fmodeselect.h 
+$(srcdir)/cdisplay.cpp: fsetup.h fmodeselect.h 
+$(srcdir)/fsetup.cpp: fsetup.moc 
+$(srcdir)/bpskdemodulator.cpp: fsetup.h fmodeselect.h 
+$(srcdir)/pskmod.cpp: fsetup.h fmodeselect.h 
+$(srcdir)/checkcom.cpp: fsetup.h fmodeselect.h 
+$(srcdir)/csquelch.cpp: fsetup.h fmodeselect.h 
+$(srcdir)/main.cpp: fsetup.h fmodeselect.h 
+$(srcdir)/editmacro.cpp: fsetup.h fmodeselect.h 
+$(srcdir)/textinput.cpp: fsetup.h fmodeselect.h 
+$(srcdir)/ctxdisplay.cpp: fsetup.h fmodeselect.h 
+$(srcdir)/linpskview.cpp: fsetup.h fmodeselect.h 
+$(srcdir)/cpanel.cpp: fsetup.h fmodeselect.h 
+$(srcdir)/rttymodulator.cpp: fsetup.h fmodeselect.h 
+$(srcdir)/cmodulator.cpp: fsetup.h fmodeselect.h 
+$(srcdir)/linpsk.cpp: fsetup.h fmodeselect.h 
+$(srcdir)/crxdisplay.cpp: fsetup.h fmodeselect.h 
+$(srcdir)/rttydemodulator.cpp: fsetup.h fmodeselect.h 
+$(srcdir)/cdemodulator.cpp: fsetup.h fmodeselect.h 
+$(srcdir)/crxselect.cpp: fsetup.h fmodeselect.h 
+$(srcdir)/parameter.cpp: fsetup.h fmodeselect.h 
+$(srcdir)/waveinput.cpp: fsetup.h fmodeselect.h 
+$(srcdir)/ctxwindow.cpp: fsetup.h fmodeselect.h 
+$(srcdir)/csound.cpp: fsetup.h fmodeselect.h 
+$(srcdir)/modeselect.cpp: fsetup.h fmodeselect.h 
+$(srcdir)/cpskdemodulator.cpp: fsetup.h fmodeselect.h 
+$(srcdir)/setup.cpp: fsetup.h fmodeselect.h 
diff --git a/linpsk/bpskdemodulator.cpp b/linpsk/bpskdemodulator.cpp
new file mode 100644
index 0000000..5f981bb
--- /dev/null
+++ b/linpsk/bpskdemodulator.cpp
@@ -0,0 +1,140 @@
+/***************************************************************************
+                          bpskdemodulator.cpp  -  description
+                             -------------------
+    begin                : Sat Jun 2 2001
+    copyright            : (C) 2001 by Volker Schroer
+    email                : dl1ksv at gmx.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *    based on the work of  Moe Wheatly, AE4JY                             *  
+ ***************************************************************************/
+
+#include "bpskdemodulator.h"
+
+BPskDemodulator::BPskDemodulator():CPskDemodulator()
+{
+ave1=0.0;
+ave2=0.0;
+}
+BPskDemodulator::~BPskDemodulator(){
+}
+void BPskDemodulator::DecodeSymbol(double_complex newsamp)
+
+{
+
+bool bit;
+
+char ch =0;
+bool GotChar = false;
+double angle;
+
+
+	m_I1 = m_I0;	//form the multi delayed symbol samples
+	m_Q1 = m_Q0;
+	m_I0 = newsamp.real();
+	m_Q0 = newsamp.imag();
+// calculates difference angle  BPSK decoding
+//create vector whose angle is the difference angle by multiplying the
+// current smaple by the complex conjugate of the previous sample.
+//swap I and Q axis to keep away from  the +/-Pi discontinuity and
+//  add Pi to make make range from 0 to 2Pi.
+// 180 deg phase changes center at Pi/4
+// 0 deg phase changes center at 3Pi/2
+// +90 deg phase changes center at 2Pi or 0
+// -90 deg phase changes center at Pi
+
+	angle = M_PI + atan2( (m_I1*m_I0 + m_Q1*m_Q0),
+								(m_I1*m_Q0 - m_I0*m_Q1));
+	CalcQuality(angle);
+	bit = GetBPSKSymb();
+	if( (bit==0) && m_LastBitZero )	//if character delimiter
+	{
+		if(m_BitAcc != 0 )
+		{
+			m_BitAcc >>= 2;				//get rid of last zero and one
+			m_BitAcc &= 0x07FF;
+			ch = m_VaricodeDecTbl[m_BitAcc];
+			m_BitAcc = 0;
+			GotChar = true;
+		}
+	}
+	else
+	{
+		m_BitAcc <<= 1;
+		m_BitAcc |= bit;
+		if(bit==0)
+			m_LastBitZero = true;
+		else
+			m_LastBitZero = false;
+	}
+	if(GotChar && (ch!=0) )
+		emit newSymbol(ch);
+	if (bit)
+		{
+		m_OffCount=0;
+		if (m_OnCount++ >20)
+			emit setFastSquelch(true);
+
+		}
+	else
+		{
+		m_OnCount=0;
+		if (m_OffCount++ > 20)
+			emit setFastSquelch(false);			
+		}	
+GotChar = false;
+
+}
+bool BPskDemodulator::GetBPSKSymb()
+{
+double v;
+//calc BPSK symbol over 2 chips
+	{
+		v = m_I1 * m_I0 +  m_Q1 * m_Q0;
+		return (v>0.0);
+	}
+}
+
+//////////////////////////////////////////////////////////////////////
+// Calculate signal quality based on the statistics of the phase
+//	difference angle.  The more dispersion of the "0" and "180" degree
+//  phase shifts, the worse the signal quality.  This information is used
+//  to activate the squelch control.  If 20 consecutive "180" degree shifts
+//  occur, the squelch is forced on, and if 20 consecutive "0" degree
+//  shifts occur, the squelch is forced off quickly.
+//////////////////////////////////////////////////////////////////////
+
+void BPskDemodulator::CalcQuality(  double angle )
+{
+
+double temp;
+
+
+ave2=ave1;
+ave1=m_DevAve;
+angle = angle - M_PI_2;
+if (angle < 0.0)
+	angle = angle + PI2;
+temp = fmod(angle,M_PI);		
+
+if (temp > M_PI_2)
+	temp=temp - M_PI;
+	
+			m_QFreqError = temp;				
+			temp = fabs(temp);
+			if (temp > M_PI_4)
+					temp= M_PI_4;
+	
+		m_DevAve =0.47 * ave1 + 0.46 * ave2 + 0.03 *temp;	
+				
+	
+
+		temp=100.-250.0*m_DevAve;
+		emit setSquelchValue((int)temp);
+}
diff --git a/linpsk/bpskdemodulator.h b/linpsk/bpskdemodulator.h
new file mode 100644
index 0000000..9185a37
--- /dev/null
+++ b/linpsk/bpskdemodulator.h
@@ -0,0 +1,44 @@
+/***************************************************************************
+                          bpskdemodulator.h  -  description
+                             -------------------
+    begin                : Sat Jun 2 2001
+    copyright            : (C) 2001 by Volker Schroer
+    email                : dl1ksv at gmx.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *   based on the work of Moe Wheatley, AE4JY                              *
+ ***************************************************************************/
+
+#ifndef BPSKDEMODULATOR_H
+#define BPSKDEMODULATOR_H
+
+#include <complex.h>
+#include "cpskdemodulator.h"
+
+
+/**Implementation of the BPSK Demodulator
+  *@author Volker Schroer
+  */
+
+class BPskDemodulator : public CPskDemodulator  {
+public: 
+	BPskDemodulator();
+	~BPskDemodulator();
+protected:	
+/** Decodes a BPSK Symbol */
+void DecodeSymbol( double_complex newsamp);
+void CalcQuality(double);
+private:
+	bool GetBPSKSymb();
+  double ave1;
+	double ave2;
+
+};
+
+#endif
diff --git a/linpsk/cdemodulator.cpp b/linpsk/cdemodulator.cpp
new file mode 100644
index 0000000..92fb5e1
--- /dev/null
+++ b/linpsk/cdemodulator.cpp
@@ -0,0 +1,37 @@
+/***************************************************************************
+                          cdemodulator.cpp  -  description
+                             -------------------
+    begin                : Sat Jun 2 2001
+    copyright            : (C) 2001 by Volker Schroer
+    email                : dl1ksv at gmx.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ ***************************************************************************/
+
+#include "cdemodulator.h"
+
+CDemodulator::CDemodulator()
+{
+}
+
+CDemodulator::~CDemodulator()
+{
+}
+
+void CDemodulator::setAfc(bool afc) { UseAfc=afc; }
+
+void CDemodulator::setRxFrequency(double freq)
+{
+RxFrequency = freq;
+}
+
+double CDemodulator::getRxFrequency(void)
+{
+return RxFrequency;
+}
diff --git a/linpsk/cdemodulator.h b/linpsk/cdemodulator.h
new file mode 100644
index 0000000..4a6a4d2
--- /dev/null
+++ b/linpsk/cdemodulator.h
@@ -0,0 +1,68 @@
+/***************************************************************************
+                          cdemodulator.h  -  description
+                             -------------------
+    begin                : Sat Jun 2 2001
+    copyright            : (C) 2001 by Volker Schroer
+    email                : dl1ksv at gmx.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ ***************************************************************************/
+
+#ifndef CDEMODULATOR_H
+#define CDEMODULATOR_H
+
+#include <qobject.h>
+#include <complex.h>
+
+/**Base class for all possible types of demodulators
+  *@author Volker Schroer
+  */
+
+class CDemodulator : public QObject
+ {
+ Q_OBJECT
+public: 
+	 CDemodulator();
+	
+	virtual ~CDemodulator();
+  /** processes the input */
+  virtual void ProcessInput(double *input) = 0;
+	/** gets the selected frequency */
+	double getRxFrequency(void);
+	/** Initialises something */
+	virtual bool Init(double,int) = 0;
+
+protected:
+	/** Status of AFC */
+	bool UseAfc;
+	/** Frequency to be received */
+	double RxFrequency;
+
+public slots: //Slots
+  /** enables/ disables the use of AFC */
+	virtual void	setAfc(bool);
+  /** sets the frequency for the demodulator */
+  virtual void setRxFrequency(double);
+
+	
+signals: // Signals
+  /** Signal will be emitted if a new character was detected */
+  void newSymbol(char);
+	/** FastSquelch ?? */
+	void setFastSquelch(bool);
+	/** SquelchLevel */
+	void setSquelchValue(int);
+	/** Signal will be emitted if AFC is on and the RxFrequency has changed */
+	void rxFrequencyChanged(double);
+	/** Send Phase Value */
+	void newPhaseValue(int,float_complex);
+	
+};
+
+#endif
diff --git a/linpsk/cdisplay.cpp b/linpsk/cdisplay.cpp
new file mode 100644
index 0000000..5f39e3c
--- /dev/null
+++ b/linpsk/cdisplay.cpp
@@ -0,0 +1,433 @@
+/***************************************************************************
+                          cdisplay.cpp  -  description
+                             -------------------
+    begin                : Sat Mar 18 2000
+    copyright            : (C) 2000 by Volker Schroer
+    email                : DL1KSV at gmx.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *    based on the work of  Moe Wheatly, AE4JY                             *  
+ ***************************************************************************/
+
+
+#include "cdisplay.h"
+#include <qpixmap.h>
+
+CDisplay::CDisplay(QWidget *parent, const char *name ): QFrame(parent,name)
+
+{
+
+modus = BPSK;
+setBackgroundColor(white);
+setFrameStyle(QFrame::Box | QFrame::Raised);
+setLineWidth(2);
+
+
+minfreq=300;
+maxfreq=2500;
+from=int((minfreq*1024)/2756.25);
+to=int((maxfreq*1024)/2756.25);
+
+
+for (int i=0; i<4;i++)
+	rxfrequency[i]=1000;
+slow=FALSE;
+
+pdisplay = 0;
+pwaterfall=0;
+
+
+}
+
+CDisplay::~CDisplay()
+{
+}
+
+void CDisplay::paintEvent(QPaintEvent *)
+{
+
+ int ave;
+ double gain;
+
+
+  switch(akttab)
+ {
+	case INPUT:
+		plotrawinput();
+   break;
+	case SPECTRUM:
+  if (slow)
+		ave=6;
+	else
+		ave=2;
+  gain=double(0.1*height());
+	plotspectrum(fft.CalcFFT(inputdata,from,to,gain,ave,fftdata));
+	break;
+	case WATERFALL:
+	gain=25.5;
+	if (slow)
+		ave=4;
+	else
+		ave=1;
+	plotwaterfall(fft.CalcFFT(inputdata,from,to,gain,ave,fftdata));
+	break;
+/*  case SYNC:
+	  PlotSyncData();
+		break;*/
+	
+	default:
+		break;
+ }
+	
+}
+
+void CDisplay::mousePressEvent(QMouseEvent *e)
+
+{
+
+int freq;
+
+switch(akttab)
+ {
+	case SPECTRUM:				//Changing frequency only if frequency is displayed
+  case WATERFALL:
+		freq= (e->x()*(maxfreq-minfreq))/width()+minfreq;
+
+			if (freq != rxfrequency[settings.actChannel])
+ 			{
+  		rxfrequency[settings.actChannel]=freq;
+			emit rxFreqChanged(freq);
+ 			}
+		break;
+	default:
+	break;
+ }
+}
+
+void CDisplay::plotrawinput()
+{
+
+int i,dist,y,z;
+QPainter p;
+bool overload;
+
+overload= FALSE;
+
+dist=ymax/10;
+
+pdisplay->fill();
+p.begin(pdisplay);
+p.setPen(black);
+p.setBrush(white);
+//drawFrame( &p);
+y=ymax-dist;
+// Plot Grid
+for (i=1;i<10; i++)
+	{
+   p.drawLine(0,y,xmax,y);
+   y -=dist;
+  }
+p.setPen(blue);
+// Plot sample
+y=ymax/2;
+p.moveTo(0,y);
+for (i=0;i<xmax;i++)
+	{
+		z=int(*(inputdata+i));
+		if(!overload)
+			{
+			 if( (z > 16384) || (z < -16384) )
+			  {
+				 overload = true;
+				 p.setPen(red);
+				}
+			 }
+		 z=y-(y*z)/32768;
+		 p.lineTo(i,z);
+    }
+
+p.end();
+bitBlt(this,0,0,pdisplay);
+}
+// Plot Spectrum of decimated Input
+void CDisplay::plotspectrum(bool overload)
+{
+
+QPainter p;
+
+
+
+int i,dist,y,z;
+
+dist=ymax/10;
+y=ymax-dist;
+
+pdisplay->fill();
+p.begin(pdisplay);
+p.setBrush(white);
+drawFrame(&p);
+
+//Plot Frequencylines for the different Rx- Windows
+for (i=0; i<settings.RxChannels;i++)
+	{
+		p.setPen(settings.colours[i]);
+		// Calculate Centerfrequency Coordinates
+		z=((rxfrequency[i]-minfreq)*xmax)/(maxfreq-minfreq);
+		p.drawLine(z,0,z,ymax);
+
+		if ( settings.DemodulatorType[i] == RTTY ) // RTTY demands to lines
+			{
+				z=((rxfrequency[i]-minfreq+170)*xmax)/(maxfreq-minfreq);
+				p.drawLine(z,0,z,ymax);    	
+			}
+	}
+p.setPen(black);
+				
+// Plot Grid
+for (i=1;i<10; i++)
+	{
+
+   p.drawLine(0,y,xmax,y);
+   y -=dist;
+  }
+
+if ( (settings.status == TX_OFF_STATE) && (modus != RTTY) )
+			 plotVector(&p);
+
+if(overload)
+	p.setPen(red);
+else
+	p.setPen(blue);
+  p.moveTo(0,ymax);
+for(i=0;i<xmax;i++)
+ {
+  z=xtranslate[i];
+  y=ymax-fftdata[z];
+	p.lineTo(i,y);
+	}
+// paintLineal(&p);
+p.end();
+bitBlt(this,0,0,pdisplay);
+}
+
+void CDisplay::selecttab(int tab)
+
+{
+akttab=tab;
+}
+
+
+
+void CDisplay::scaleminfreq(int freq)
+{
+minfreq=freq;
+translate();
+}
+
+void CDisplay::scalemaxfreq(int freq)
+{
+maxfreq=freq;
+translate();
+}
+
+void CDisplay::filtertype(bool type)
+{
+slow=type;
+}
+
+void CDisplay::translate(void)
+{
+int i;
+from=int(minfreq*1024/2756.25);
+to=int(maxfreq*1024/2756.25);
+for (i=0;i<width();i++)
+	xtranslate[i]=(((maxfreq-minfreq)*i*to/width())+minfreq*to)/maxfreq;
+}
+
+/** plots the filtered signal  vector
+to recognize phase of signal */
+void CDisplay::plotVector(QPainter *p)
+{
+
+int x,y,x1,y1;
+double mag;
+double tmpx;
+double tmpy;
+
+
+xc=xmax/8;
+yc=ymax/8;
+p->drawEllipse(xc,yc,40,40);
+xc=xc+20;
+yc=yc+20;
+p->setPen(green);
+	for( x=196,y=0; x<10*196; y+=196, x+=196 )// 196 = (612.5/31.25)*10
+	{
+		x1 = x/10;
+		y1 = y/10;
+		tmpx =vector[y1].real() * vector[x1].real() +
+				vector[y1].imag() * vector[x1].imag();
+		tmpy = vector[y1].imag() * vector[x1].real() -
+				vector[y1].real() * vector[x1].imag();
+		p->moveTo( xc,  yc );
+		mag = 2*sqrt(tmpx * tmpx + tmpy * tmpy);
+
+		p->lineTo( xc+(int)(yc*tmpy/mag), yc-(int)(yc*tmpx/mag) );
+
+	}
+
+}
+
+/*void CDisplay::PlotSyncData()
+{
+QPainter p;
+int x,i,k1,k2;
+int ys;
+
+	k1 = 13000/ymax;
+	k2 = xmax/20;
+pdisplay->fill();
+p.begin(pdisplay);
+p.setPen(black);
+p.setBrush(white);
+drawFrame(&p);
+	
+	for( x=k2/2,i=0; i<20; i++,x+=k2)
+	{
+		ys = m_SyncHist[i]/k1;
+		m_SyncHist[i] = 0;
+		p.moveTo( x, ymax );
+		p.lineTo( x, ymax-ys );
+	}
+p.end();
+bitBlt(this,0,0,pdisplay);
+}*/
+
+void CDisplay::plotwaterfall(bool overload)
+{
+
+QPainter p;
+
+int i,x,z;
+
+pdisplay->fill();
+p.begin(pdisplay);
+p.setBrush(white);
+
+for (i=0; i<settings.RxChannels;i++)
+	{
+		// Calculate Centerfrequency Coordinates
+			z=((rxfrequency[i]-minfreq)*xmax)/(maxfreq-minfreq);
+				p.setPen(settings.colours[i]);
+				p.drawLine(z,2,z,ymax);
+		if ( settings.DemodulatorType[i] == RTTY ) // RTTY demands to lines
+			{
+				z=((rxfrequency[i]-minfreq+170)*xmax)/(maxfreq-minfreq);
+				p.drawLine(z,2,z,ymax);    	
+			}
+
+		}
+p.setPen(black);
+if ( (settings.status == TX_OFF_STATE) && (modus != RTTY) )
+	plotVector(&p);
+drawFrame(&p);
+p.end();
+bitBlt(pwaterfall,0,2,pwaterfall);
+
+p.begin(pwaterfall);
+for (x=2;x<xmax;x++)
+ {
+	z=xtranslate[x];
+	i=fftdata[z];
+  p.setPen(color[i]);
+	p.drawPoint(x,0);
+	p.drawPoint(x,1);
+ }
+p.end();
+bitBlt(pdisplay,0,100,pwaterfall);
+bitBlt(this,0,0,pdisplay);
+}
+
+void CDisplay::resizeEvent(QResizeEvent *)
+
+{
+xmax=width();
+ymax=height();
+translate();	// Translate x- Coordinates for Painting
+if ( pdisplay !=0)
+	pdisplay->resize(xmax,ymax);
+else
+	pdisplay = new QPixmap(xmax,ymax);
+
+
+pdisplay->fill();
+
+if ( pwaterfall !=0)
+	pwaterfall->resize(xmax,40);
+else	
+	pwaterfall= new QPixmap(xmax,40);
+pwaterfall->fill();
+}
+
+void CDisplay::setRxFrequency(int channelNumber,int freq)
+{
+rxfrequency[channelNumber] = freq;
+}
+
+
+void CDisplay::newPhaseValue(int j,float_complex z)
+{
+
+ 	vector[j]=z;
+
+}
+/** Paints a Lineal in the Spectrum or Waterfall Display */
+
+/*void CDisplay::paintLineal(QPainter* p)
+{
+
+int stepfrequency,stepwidth;
+int i,ix,iy;
+QString frequency;
+QFontMetrics fm(settings.font);
+
+stepfrequency=(maxfreq-minfreq)/7;
+stepwidth=width()/7;
+iy=fm.height()+2;
+
+for( i=1; i < 7; i++)
+		{
+		frequency.setNum(minfreq+stepfrequency*i);
+		ix=i*stepwidth-fm.width(frequency)/2;
+		p->drawText(ix,iy,frequency);
+		ix=i*stepwidth;
+		p->drawLine(ix,iy,ix,iy+5);
+		}
+	
+}*/
+
+/** Calculates the IMD Value of the Signal */
+float CDisplay::calcIMD()
+{
+float total,ratio;
+
+total=fftdata[int((rxfrequency[settings.actChannel]+46.875)*1024./2756.25)]
+	-fftdata[int((rxfrequency[settings.actChannel]+15.625)*1024./2756.25)];
+
+ratio=fftdata[int((rxfrequency[settings.actChannel]-46.875)*1024./2756.25)]
+	-fftdata[int((rxfrequency[settings.actChannel]-15.625)*1024./2756.25)];
+total=(total+ratio)/2;
+return total;
+}
+
+void CDisplay::setMode(Mode mod)
+{
+modus=mod;
+}
+
diff --git a/linpsk/cdisplay.h b/linpsk/cdisplay.h
new file mode 100644
index 0000000..eed87d4
--- /dev/null
+++ b/linpsk/cdisplay.h
@@ -0,0 +1,131 @@
+/***************************************************************************
+                          cdisplay.h  -  description
+                             -------------------
+    begin                : Mon Mar 6 2000
+    copyright            : (C) 2000 by Volker Schroer
+    email                : DL1KSV at gmx.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *   based on the work of Moe Wheatley, AE4JY                              *
+ ***************************************************************************/
+
+#ifndef CDISPLAY_H
+#define CDISPLAY_H
+
+#include <qframe.h>
+#include <qcolor.h>
+#include <qpainter.h>
+#include <complex.h>
+#include <qpixmap.h>
+#include <qfontmetrics.h>
+#include "parameter.h"
+
+#include "color.h"
+// Not good programming style, but hope it works
+
+#define SPECTRUM 0
+#define WATERFALL 1
+#define INPUT 2
+#define SYNC 3
+
+/**Class for displaying the different Types
+of the input data like spectrum, waterfall
+  *@author Volker Schroer
+  */
+
+#include "fft.h"
+
+extern Parameter settings;
+
+class CDisplay : public QFrame  {
+ Q_OBJECT
+public: 
+	CDisplay(QWidget *parent,  const char *name=0 );
+	~CDisplay();
+  /** Painter for CDisplay Class */
+  void paintEvent(QPaintEvent *);
+	void mousePressEvent(QMouseEvent *);
+
+  /** Calculate Coordinate - Translation */
+	void translate();
+  /** Calculates the IMD Value of the Signal */
+  float calcIMD();
+  /** Pointer to inputdata for plotting */
+	void setMode(Mode);
+
+    double *inputdata;
+
+int akttab;
+/**Minium Frequency of FFT Display */
+int minfreq;
+
+/** Maximum Frequency of FFT Display */
+int maxfreq;
+
+
+  /** Results of FFT */
+///  int fftdata[820];
+  int fftdata[940];
+///	int xtranslate[820];
+	int xtranslate[940];
+  /**  */
+  Cfft fft;
+  int m_SyncHist[21];
+  /** IQ Vector for displaying phase of signal */
+  float_complex vector[230];
+private:
+  /**Smoothing Type*/
+	bool slow;
+  int from;
+  int to;
+  unsigned
+int rxfrequency[4];  // Rxfrequencies of the different RX- Windows
+	// Modus of TX/RX operation
+	Mode modus;
+public slots:
+void selecttab(int);
+
+void scaleminfreq(int);
+void scalemaxfreq(int);
+void filtertype(bool);
+
+/** Slot stores phase values if int >= 0 (Pskdemodultion)
+    if int < 0 Phase display will be disabled (FSK demodulation ) */
+void newPhaseValue(int,float_complex);
+
+void setRxFrequency(int,int);
+signals: // Signals
+  /** emits this signal if the user changed the cursor 
+and with it the desired RX- Frequency */
+  void rxFreqChanged(int);
+protected: // Protected methods
+  /** plots the filtered signal  vector 
+to recognize phase of signal */
+  void plotVector(QPainter *);
+  void plotrawinput();
+  void plotspectrum(bool);
+//  void PlotSyncData();
+	void plotwaterfall(bool);
+
+/** Handling Resizing */
+void resizeEvent(QResizeEvent *);
+
+// Coordinates for Vectorplot
+int xc; //center of Circle
+int yc;
+
+QPixmap *pdisplay;  	// Pixmap for Display for double buffering
+QPixmap *pwaterfall;  // Pixmap for Waterfall Display
+int xmax,ymax;				// Maximum Plot Coordinates
+private: // Private methods
+  /** Paints a Lineal in the Spectrum or Waterfall Display */
+///  void paintLineal(QPainter *);
+ };
+
+#endif
diff --git a/linpsk/checkcom.cpp b/linpsk/checkcom.cpp
new file mode 100644
index 0000000..57f26f2
--- /dev/null
+++ b/linpsk/checkcom.cpp
@@ -0,0 +1,115 @@
+/***************************************************************************
+                          checkcom.cpp  -  description
+                             -------------------
+    begin                : Fri Apr 21 2000
+    copyright            : (C) 2000 by Volker Schroer
+    email                : DL1KSV at gmx.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *    based on the work of  Moe Wheatly, AE4JY                             *  
+ ***************************************************************************/
+
+#include "checkcom.h"
+
+int getVolume(int);
+
+bool checkcom(const char* s)
+{
+
+int fd;
+
+struct serial_struct serinfo;
+
+
+fd=open(s,O_RDWR|O_NONBLOCK);
+
+if (fd <0)
+
+return false;
+
+serinfo.reserved_char[0] = 0;
+if (ioctl(fd, TIOCGSERIAL, &serinfo) < 0)
+	{
+	close(fd);
+	return false;
+	}
+close(fd);
+if ( serinfo.type == 5 || serinfo.type ==0 )
+return false;
+else
+return true;
+}
+
+/*int getInputVolume()
+{
+return getVolume( MIXER_READ(SOUND_MIXER_MIC));
+}*/
+
+int getOutputVolume()
+{
+return getVolume(SOUND_MIXER_VOLUME);
+}
+
+int getVolume(int Device)
+{
+int fd;
+int volume;
+
+fd=open("/dev/mixer",O_RDWR);
+
+if  (fd <0)
+	return 0;
+
+if (ioctl(fd,MIXER_READ(Device),&volume) == -1)
+	volume=0;
+volume=volume & 0x7f;
+close(fd);
+return volume;
+}
+
+void setVolume(int Device,int volume)
+
+{
+int fd;
+int vol;
+fd=open("/dev/mixer",O_RDWR);
+
+if  (fd >0)
+
+	{
+//    vol = volume << 8;
+//		vol	= vol | ( volume & 0x7f);
+		vol = volume & 0x7f;
+		ioctl(fd,MIXER_WRITE(Device),&volume);
+		close(fd);
+	}
+}
+
+void setOutputVolume(int volume)
+{
+setVolume(MIXER_WRITE(SOUND_MIXER_VOLUME),volume);
+}
+
+void setInputVolume(int volume)
+{
+setVolume(MIXER_WRITE(SOUND_MIXER_MIC),volume);
+}
+
+void setInputSource(int Device)
+{
+int fd_mixer;
+int mixer_channel;
+mixer_channel= (1 << Device);
+
+fd_mixer=open("/dev/mixer",O_RDWR);	//Open Mixer
+if ( fd_mixer >0 )
+	ioctl(fd_mixer,MIXER_WRITE(SOUND_MIXER_RECSRC),&mixer_channel);
+close(fd_mixer);	
+
+}
diff --git a/linpsk/checkcom.h b/linpsk/checkcom.h
new file mode 100644
index 0000000..06f8e9a
--- /dev/null
+++ b/linpsk/checkcom.h
@@ -0,0 +1,34 @@
+/***************************************************************************
+                          checkcom.h  -  description
+                             -------------------
+    begin                : Fri Aug 4 2000
+    copyright            : (C) 2000 by Volker Schroer, DL1KSV
+    email                : DL1KSV at gmx.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *   based on the work of Moe Wheatley, AE4JY                              *
+ ***************************************************************************/
+
+#ifndef CHECKCOM_H
+#define CHECKCOM_H
+
+#include <sys/ioctl.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <constants.h>
+#include <linux/serial.h>
+#include <sys/soundcard.h>
+
+bool checkcom(const char* s);
+//int getInputVolume();
+//void setInputVolume(int Volume);
+void setVolume(int Device,int volume);
+void setOutputVolume(int volume);
+void setInputSource(int Device);
+#endif
diff --git a/linpsk/cledbutton.cpp b/linpsk/cledbutton.cpp
new file mode 100644
index 0000000..349c7f6
--- /dev/null
+++ b/linpsk/cledbutton.cpp
@@ -0,0 +1,51 @@
+/***************************************************************************
+                          cledbutton.cpp  -  description
+                             -------------------
+    begin                : Sun Jan 14 2001
+    copyright            : (C) 2001 by Volker Schroer
+    email                : DL1KSV at gmx.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *    based on the work of  Moe Wheatly, AE4JY                             *  
+ ***************************************************************************/
+
+#include "cledbutton.h"
+
+CLedButton::CLedButton(QWidget *parent, const char *name ) : QPushButton(parent,name)
+{
+status=UNDEF;
+}
+CLedButton::~CLedButton(){
+}
+/** paint the button and the led in it */
+void CLedButton::paintEvent(QPaintEvent *e)
+{
+QPainter paint(this);
+drawButton(&paint);
+switch (status)
+	{
+	case ON:
+		paint.setPen(black);
+		paint.setBrush(red);
+		paint.drawEllipse(4,4,14,14);
+		break;
+	case OFF:
+		paint.setPen(black);
+		paint.setBrush(green);		
+		paint.drawEllipse(4,4,14,14);
+		break;
+	case UNDEF:
+		break;
+	}			
+}
+/** sets the buttonstatus */
+void CLedButton::setStatus(BUTTONSTATUS state)
+{
+status=state;
+}
diff --git a/linpsk/cledbutton.h b/linpsk/cledbutton.h
new file mode 100644
index 0000000..09d6945
--- /dev/null
+++ b/linpsk/cledbutton.h
@@ -0,0 +1,46 @@
+/***************************************************************************
+                          cledbutton.h  -  description
+                             -------------------
+    begin                : Sun Jan 14 2001
+    copyright            : (C) 2001 by Volker Schroer
+    email                : DL1KSV at gmx.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *   based on the work of Moe Wheatley, AE4JY                              *
+ ***************************************************************************/
+
+#ifndef CLEDBUTTON_H
+#define CLEDBUTTON_H
+
+#include <qwidget.h>
+#include <qpushbutton.h>
+#include <qpainter.h>
+/**Constucts a pushbutton with a led in it
+  *@author Volker Schroer
+  */
+enum BUTTONSTATUS
+{
+UNDEF,				// undefined
+ON,						// ON
+OFF						// OFF
+};
+class CLedButton : public QPushButton  {
+   Q_OBJECT
+public: 
+	CLedButton(QWidget *parent=0, const char *name=0);
+	~CLedButton();
+  /** paint the button and the led in it */
+  void paintEvent(QPaintEvent *e);
+  /** sets the buttonstatus */
+  void setStatus(BUTTONSTATUS state);
+private:
+BUTTONSTATUS status;	
+};
+
+#endif
diff --git a/linpsk/cmodulator.cpp b/linpsk/cmodulator.cpp
new file mode 100644
index 0000000..5f9a1a3
--- /dev/null
+++ b/linpsk/cmodulator.cpp
@@ -0,0 +1,33 @@
+/***************************************************************************
+                          cmodulator.cpp  -  description
+                             -------------------
+    begin                : Mon Aug 20 2001
+    copyright            : (C) 2001 by Volker Schroer
+    email                : dl1ksv at gmx.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ ****************************************************************************/
+
+#include "cmodulator.h"
+
+CModulator::CModulator(int FS,CTxdisplay *txwindow)
+{
+
+SampleRate=FS;
+tx=txwindow;
+
+}
+CModulator::~CModulator()
+{
+}
+
+void CModulator::setMode(Mode modus)
+{
+PSKMode = modus;
+}
diff --git a/linpsk/cmodulator.h b/linpsk/cmodulator.h
new file mode 100644
index 0000000..baafa05
--- /dev/null
+++ b/linpsk/cmodulator.h
@@ -0,0 +1,57 @@
+/***************************************************************************
+                          cmodulator.h  -  description
+                             -------------------
+    begin                : Mon Aug 20 2001
+    copyright            : (C) 2001 by Volker Schroer
+    email                : dl1ksv at gmx.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ ***************************************************************************/
+
+#ifndef CMODULATOR_H
+#define CMODULATOR_H
+
+#include <qobject.h>
+#include "parameter.h"
+#include "ctxdisplay.h"
+
+/**Base Class for all possible transmit types
+  *@author Volker Schroer
+  */
+
+
+class CModulator : public QObject
+{
+Q_OBJECT
+public: 
+	CModulator(int FS,CTxdisplay *);
+	~CModulator();
+
+/** Calculate the Signal to be fed into the soundcard */
+	virtual unsigned int CalcSignal(double *data,int BufferSize) = 0;
+/** data Pointer to the computed signal values
+    Size of Buffer for the computed signal
+		returns Number of computed signal values */
+
+protected: // Protected attributes
+  /** Samplerate of Soundcard */
+  int SampleRate;
+	CTxdisplay *tx;
+
+	Mode PSKMode;
+
+public slots:
+	void setMode(Mode);
+signals:
+void charSend(char);
+void finished();
+
+};
+
+#endif
diff --git a/linpsk/color.h b/linpsk/color.h
new file mode 100644
index 0000000..40ba811
--- /dev/null
+++ b/linpsk/color.h
@@ -0,0 +1,289 @@
+/***************************************************************************
+                          color.h  -  description
+                             -------------------
+    begin                : Sun Mar 26 2000
+    copyright            : (C) 2000 by Volker Schroer
+    email                : DL1KSV at gmx.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *   based on the work of Moe Wheatley, AE4JY                              *
+ ***************************************************************************/
+
+/** Define Colors for waterfall Display */
+
+#ifndef COLOR_H
+#define COLOR_H
+
+#include <qcolor.h>
+
+const QColor color[256] =
+
+{
+	QColor(  0,  0,  0),	// 0		Black
+	QColor(  0,  0,  4),
+	QColor(  0,  0,  8),
+	QColor(  0,  0, 12),
+	QColor(  0,  0, 16),
+	QColor(  0,  0, 20),
+	QColor(  0,  0, 24),
+	QColor(  0,  0, 28),
+	QColor(  0,  0, 32),
+	QColor(  0,  0, 36),
+	QColor(  0,  0, 40),
+	QColor(  0,  0, 44),
+	QColor(  0,  0, 48),
+	QColor(  0,  0, 52),
+	QColor(  0,  0, 56),
+	QColor(  0,  0, 60),
+	QColor(  0,  0, 64),
+	QColor(  0,  0, 68),
+	QColor(  0,  0, 72),
+	QColor(  0,  0, 76),
+	QColor(  0,  0, 80),
+	QColor(  0,  0, 84),
+	QColor(  0,  0, 88),
+	QColor(  0,  0, 92),
+	QColor(  0,  0, 96),
+	QColor(  0,  0,100),
+	QColor(  0,  0,104),
+	QColor(  0,  0,108),
+	QColor(  0,  0,112),
+	QColor(  0,  0,116),
+	QColor(  0,  0,120),
+	QColor(  0,  0,124),
+	QColor(  0,  0,128),
+	QColor(  0,  0,132),
+	QColor(  0,  0,136),
+	QColor(  0,  0,140),
+	QColor(  0,  0,144),
+	QColor(  0,  0,148),
+	QColor(  0,  0,152),
+	QColor(  0,  0,156),
+	QColor(  0,  0,160),
+	QColor(  0,  0,164),
+	QColor(  0,  0,168),
+	QColor(  0,  0,172),
+	QColor(  0,  0,176),
+	QColor(  0,  0,180),
+	QColor(  0,  0,184),
+	QColor(  0,  0,188),
+	QColor(  0,  0,192),
+	QColor(  0,  0,196),
+	QColor(  0,  0,200),
+	QColor(  0,  0,204),
+	QColor(  0,  0,208),
+	QColor(  0,  0,212),
+	QColor(  0,  0,216),
+	QColor(  0,  0,220),
+	QColor(  0,  0,224),
+	QColor(  0,  0,228),
+	QColor(  0,  0,232),
+	QColor(  0,  0,236),
+	QColor(  0,  0,240),
+	QColor(  0,  0,244),
+	QColor(  0,  0,248),
+	QColor(  0,  0,255),	// 63 Blue
+//				
+	QColor(  0,  0,255),	// 64
+	QColor(  0,  4,255),
+	QColor(  0,  8,255),
+	QColor(  0, 12,255),
+	QColor(  0, 16,255),
+	QColor(  0, 20,255),
+	QColor(  0, 24,255),
+	QColor(  0, 28,255),
+	QColor(  0, 32,255),
+	QColor(  0, 36,255),
+	QColor(  0, 40,255),
+	QColor(  0, 44,255),
+	QColor(  0, 48,255),
+	QColor(  0, 52,255),
+	QColor(  0, 56,255),
+	QColor(  0, 60,255),
+	QColor(  0, 64,255),
+	QColor(  0, 68,255),
+	QColor(  0, 72,255),
+	QColor(  0, 76,255),
+	QColor(  0, 80,255),
+	QColor(  0, 84,255),
+	QColor(  0, 88,255),
+	QColor(  0, 92,255),
+	QColor(  0, 96,255),
+	QColor(  0,100,255),
+	QColor(  0,104,255),
+	QColor(  0,108,255),
+	QColor(  0,112,255),
+	QColor(  0,116,255),
+	QColor(  0,120,255),
+	QColor(  0,124,255),
+	QColor(  0,128,255),
+	QColor(  0,132,255),
+	QColor(  0,136,255),
+	QColor(  0,140,255),
+	QColor(  0,144,255),
+	QColor(  0,148,255),
+	QColor(  0,152,255),
+	QColor(  0,156,255),
+	QColor(  0,160,255),
+	QColor(  0,164,255),
+	QColor(  0,168,255),
+	QColor(  0,172,255),
+	QColor(  0,176,255),
+	QColor(  0,180,255),
+	QColor(  0,184,255),
+	QColor(  0,188,255),
+	QColor(  0,192,255),
+	QColor(  0,196,255),
+	QColor(  0,200,255),
+	QColor(  0,204,255),
+	QColor(  0,208,255),
+	QColor(  0,212,255),
+	QColor(  0,216,255),
+	QColor(  0,220,255),
+	QColor(  0,224,255),
+	QColor(  0,228,255),
+	QColor(  0,232,255),
+	QColor(  0,236,255),
+	QColor(  0,240,255),
+	QColor(  0,244,255),
+	QColor(  0,248,255),
+	QColor(  0,255,255),   //127 cyan
+//
+	QColor(  0,255,255),	// 128
+	QColor(  4,255,252),
+	QColor(  8,255,248),
+	QColor( 12,255,244),
+	QColor( 16,255,240),
+	QColor( 20,255,236),
+	QColor( 24,255,232),
+	QColor( 28,255,228),
+	QColor( 32,255,224),
+	QColor( 36,255,220),
+	QColor( 40,255,216),
+	QColor( 44,255,212),
+	QColor( 48,255,208),
+	QColor( 52,255,204),
+	QColor( 56,255,200),
+	QColor( 60,255,196),
+	QColor( 64,255,192),
+	QColor( 68,255,188),
+	QColor( 72,255,184),
+	QColor( 76,255,180),
+	QColor( 80,255,176),
+	QColor( 84,255,172),
+	QColor( 88,255,168),
+	QColor( 92,255,164),
+	QColor( 96,255,160),
+	QColor(100,255,156),
+	QColor(104,255,152),
+	QColor(108,255,148),
+	QColor(112,255,144),
+	QColor(116,255,140),
+	QColor(120,255,136),
+	QColor(124,255,132),
+	QColor(128,255,128),
+	QColor(132,255,124),
+	QColor(136,255,120),
+	QColor(140,255,116),
+	QColor(144,255,112),
+	QColor(148,255,108),
+	QColor(152,255,104),
+	QColor(156,255,100),
+	QColor(160,255, 96),
+	QColor(164,255, 92),
+	QColor(168,255, 88),
+	QColor(172,255, 84),
+	QColor(176,255, 80),
+	QColor(180,255, 76),
+	QColor(184,255, 72),
+	QColor(188,255, 68),
+	QColor(192,255, 64),
+	QColor(196,255, 60),
+	QColor(200,255, 56),
+	QColor(204,255, 52),
+	QColor(208,255, 48),
+	QColor(212,255, 44),
+	QColor(216,255, 40),
+	QColor(220,255, 36),
+	QColor(224,255, 32),
+	QColor(228,255, 28),
+	QColor(232,255, 24),
+	QColor(236,255, 20),
+	QColor(240,255, 16),
+	QColor(244,255, 12),
+	QColor(248,255,  8),
+	QColor(255,255,  0),	//191 yellow
+//
+	QColor(255,255,  0),	// 192
+	QColor(255,255,  4),
+	QColor(255,255,  8),
+	QColor(255,255, 12),
+	QColor(255,255, 16),
+	QColor(255,255, 20),
+	QColor(255,255, 24),
+	QColor(255,255, 28),
+	QColor(255,255, 32),
+	QColor(255,255, 36),
+	QColor(255,255, 40),
+	QColor(255,255, 44),
+	QColor(255,255, 48),
+	QColor(255,255, 52),
+	QColor(255,255, 56),
+	QColor(255,255, 60),
+	QColor(255,255, 64),
+	QColor(255,255, 68),
+	QColor(255,255, 72),
+	QColor(255,255, 76),
+	QColor(255,255, 80),
+	QColor(255,255, 84),
+	QColor(255,255, 88),
+	QColor(255,255, 92),
+	QColor(255,255, 96),
+	QColor(255,255,100),
+	QColor(255,255,104),
+	QColor(255,255,108),
+	QColor(255,255,112),
+	QColor(255,255,116),
+	QColor(255,255,120),
+	QColor(255,255,124),
+	QColor(255,255,128),
+	QColor(255,255,132),
+	QColor(255,255,136),
+	QColor(255,255,140),
+	QColor(255,255,144),
+	QColor(255,255,148),
+	QColor(255,255,152),
+	QColor(255,255,156),
+	QColor(255,255,160),
+	QColor(255,255,164),
+	QColor(255,255,168),
+	QColor(255,255,172),
+	QColor(255,255,176),
+	QColor(255,255,180),
+	QColor(255,255,184),
+	QColor(255,255,188),
+	QColor(255,255,192),
+	QColor(255,255,196),
+	QColor(255,255,200),
+	QColor(255,255,204),
+	QColor(255,255,208),
+	QColor(255,255,212),
+	QColor(255,255,216),
+	QColor(255,255,220),
+	QColor(255,255,224),
+	QColor(255,255,228),
+	QColor(255,255,232),
+	QColor(255,255,236),
+	QColor(255,255,240),
+	QColor(255,255,244),
+	QColor(255,255,255)	// 255 white
+};
+
+#endif
+
diff --git a/linpsk/constants.h b/linpsk/constants.h
new file mode 100644
index 0000000..a76c4d7
--- /dev/null
+++ b/linpsk/constants.h
@@ -0,0 +1,51 @@
+/***************************************************************************
+                          constants.h  -  description
+                             -------------------
+    begin                : Fri Apr 21 2000
+    copyright            : (C) 2000 by Volker Schroer
+    email                : DL1KSV at gmx.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *   based on the work of Moe Wheatley, AE4JY                              *
+ ***************************************************************************/
+
+#ifndef CONSTANTS_H
+#define CONSTANTS_H
+
+#include <math.h>						// for some constants like PI
+#define TXOFF_CODE -1			// control codes that can be placed in the input
+#define TXON_CODE -2			// queue for various control functions
+#define TXTOG_CODE -3
+
+#define FFT_SIZE 2048
+#define FFT_SAMPLERATEX2 11025	// 2 x the fft sample rate(so is an integer)
+
+#define TXBUFFER_LENGTH 1000
+#define BUF_SIZE 4096	//size of data chunks to process at a time from
+											// the soundcard
+
+// define some constants
+#define PI2 ( M_PI + M_PI )		// 2 Pi
+//#define PHZ_180_MIN	(M_PI_4)		//Pi/4
+#define PHZ_180_MIN  ( 0.0 )
+//#define PHZ_180_MAX	(3.0*PI2/8.0)	//3Pi/4
+#define PHZ_180_MAX ( M_PI )
+//#define PHZ_0_MIN	(5.0*PI2/8.0)	//5Pi/4
+#define PHZ_0_MIN ( M_PI )
+//#define PHZ_0_MAX	(7.0*PI2/8.0)	//7Pi/4
+#define PHZ_0_MAX ( PI2 )
+#define Ts (.032+.000000)			// Ts == symbol period(correct for +/- .23%error)
+#define M_PI_3_2	(M_PI_2+M_PI)		// 3Pi/2
+#define M_PI_3_4  (M_PI_2+M_PI_4) // 3Pi/4
+#define M_PI_5_4	(M_PI + M_PI_4) // 5Pi/4
+#define M_PI_7_4	(M_PI + M_PI_2 + M_PI_4) // 7Pi/4
+// Coefficents for AFC- Filtering
+#define a1coeff 1.8
+#define a2coeff -1.8
+#endif
diff --git a/linpsk/cpanel.cpp b/linpsk/cpanel.cpp
new file mode 100644
index 0000000..2e9f07d
--- /dev/null
+++ b/linpsk/cpanel.cpp
@@ -0,0 +1,289 @@
+/***************************************************************************
+                          cpanel.cpp  -  description
+                             -------------------
+    begin                : Sun Mar 5 2000
+    copyright            : (C) 2000 by Volker Schroer
+    email                : DL1KSV at gmx.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *    based on the work of  Moe Wheatly, AE4JY                             *  
+ ***************************************************************************/
+
+#include "cpanel.h"
+
+CPanel::CPanel(QWidget *parent, const char *name):QFrame(parent,name)
+
+{
+
+int ButtonHeight,ButtonWidth;
+QFontMetrics fm(settings.PanelLabelFont);
+
+ButtonHeight=fm.height()+2;
+setFontPropagation(AllChildren);
+setFont(settings.PanelLabelFont);
+
+setFrameStyle(QFrame::WinPanel | QFrame::Sunken);
+setMargin(5);
+
+
+// Generating Sub- Windows , beginning top left -> down and so on
+
+
+header = new QTabBar(this);
+// Generate tabs
+spectrum = new QTab("Spectrum");
+
+waterfall = new QTab("Waterfall");
+
+input = new QTab("Input");
+
+/*datasync=new QTab();
+datasync->label="Data Sync";*/
+
+
+header->setShape(QTabBar::RoundedAbove);
+// Add tabs
+tablist[0]=header->addTab(spectrum);
+tablist[1]=header->addTab(waterfall);
+tablist[2]=header->addTab(input);
+//tablist[3]=header->addTab(datasync);
+
+// Tuning Display in Control Panel
+
+display = new CDisplay(this);
+
+//Swittching Display Type
+   connect(header,SIGNAL(selected(int)),display,SLOT(selecttab(int)));
+	 connect(header,SIGNAL(selected(int)),this,SLOT(viewchanged(int)));
+
+	
+
+// Subscripts
+lminfreq=new QSpinBox(display->minfreq,1000,100,this);
+lminfreq->setSuffix(" Hz");
+lminfreq->setValue(display->minfreq);
+
+lmaxfreq=new QSpinBox(1100,display->maxfreq,100,this);
+lmaxfreq->setSuffix(" Hz");
+lmaxfreq->setValue(display->maxfreq);
+
+// Change Display Scaling
+	connect(lminfreq,SIGNAL(valueChanged(int)),display,SLOT(scaleminfreq(int)));
+	connect(lmaxfreq,SIGNAL(valueChanged(int)),display,SLOT(scalemaxfreq(int)));	
+
+		
+slow= new QRadioButton(this,"slow");
+slow->setText("Slow");
+
+// Changing smoothing filter for FFT
+		connect(slow,SIGNAL(toggled(bool)),display,SLOT(filtertype(bool)));
+
+
+// right side of Control- Panel
+// Grouping QSO Infos
+
+QSOInfo =new QGroupBox(1,Horizontal,"QSOInfo",this);
+QSOInfo->setLineWidth(1);
+QSOInfo->setMargin(1);
+QSOInfo->setMidLineWidth(0);
+// Remote Call
+
+TheirCallL = new QLabel("Remote Call",QSOInfo);
+theircall = new QLineEdit(QSOInfo);
+connect(theircall,SIGNAL(textChanged(const QString &)),this,SLOT(saveTheirCall(const QString &)));
+
+// Remote OP's Name
+NameL= new QLabel("Name",QSOInfo);
+Name=new QLineEdit(QSOInfo);
+connect(Name,SIGNAL(textChanged(const QString &)),this,SLOT(saveName(const QString &)));
+
+ButtonWidth=fm.width(tr("Clear RxWindow"))+5;
+
+// Tune
+Tune = new QPushButton(this);
+Tune->setFixedSize(ButtonWidth,ButtonHeight);
+Tune->setText("Tune (F8)");
+
+// CW ID
+CWID = new QPushButton(this);
+CWID->setFixedSize(ButtonWidth,ButtonHeight);
+CWID->setText("CW ID (F6)");
+
+// Clear Rx Window
+Clear = new QPushButton(this);
+Clear->setFixedSize(ButtonWidth,ButtonHeight);
+Clear->setText("Clear RxWindow");
+
+// Clear QsoInfo
+ClearQsoInfo = new QPushButton(this);
+ClearQsoInfo->setFixedSize(ButtonWidth,ButtonHeight);
+ClearQsoInfo->setText("Clear QsoInfo");
+
+connect(ClearQsoInfo,SIGNAL(clicked()),this,SLOT(clearQsoInfo()));
+
+//Macros
+ButtonWidth=fm.width(" Send StationFile ")+5;
+Macros = new QButtonGroup(6,Vertical,this);
+Macros->setFixedSize(ButtonWidth+20,8*ButtonHeight+16);
+Macros->setFontPropagation(AllChildren);
+Macros->setTitle("Macros ");
+
+QSOStart=new QPushButton(Macros);
+QSOStart->setFixedSize(ButtonWidth,ButtonHeight);
+QSOStart->setText("(F11) QSO Start");
+
+QSOBTU=new QPushButton(Macros);
+QSOBTU->setFixedSize(ButtonWidth,ButtonHeight);
+QSOBTU->setText("(F12) QSO BTU");
+
+
+Final=new QPushButton(Macros);
+Final->setFixedSize(ButtonWidth,ButtonHeight);
+Final->setText("QSO Final");
+
+CQ= new QPushButton(Macros);
+CQ->setFixedSize(ButtonWidth,ButtonHeight);
+CQ->setText("CQ");
+
+SendFile = new QPushButton(Macros);
+SendFile->setFixedSize(ButtonWidth,ButtonHeight);
+SendFile->setText("Send StationFile");
+
+UserDefined = new QPushButton(Macros);
+UserDefined->setFixedSize(ButtonWidth,ButtonHeight);
+UserDefined->setText(settings.ButtonName);
+
+
+}
+CPanel::~CPanel(){
+}
+
+void CPanel::viewchanged(int view)
+{
+switch (view)
+	{
+	case SPECTRUM:
+	case WATERFALL:
+		lminfreq->show();
+		lmaxfreq->show();
+		slow->show();
+		break;
+	default:
+		lminfreq->hide();
+		lmaxfreq->hide();
+		slow->hide();
+		break;
+   }
+}
+
+
+
+void CPanel::saveTheirCall(const QString &s)
+{
+settings.theircall =theircall->text();
+}
+
+
+void CPanel::NameChanged()
+{
+UserDefined->setText(settings.ButtonName);
+
+}
+
+void CPanel::resizeEvent(QResizeEvent *e)
+{
+
+int xpos,ypos;
+
+
+xpos=5;
+ypos=height()-30;
+// Subscripts of Display
+// left
+lminfreq->setGeometry(xpos,ypos,70,20);
+
+// header of Display
+ypos=height()/20;
+header->setGeometry(xpos,ypos,(width()*4)/10,2*ypos);
+
+// Position Display
+display->move(header->x(),header->y()+header->height());
+
+// Resize Display
+display->resize(header->width(),lminfreq->y()-header->y()-header->height()-10);
+
+//middle
+slow->setGeometry(display->x()+display->width()/2-30,height()-30,60,20);
+//right
+lmaxfreq->setGeometry(header->x()+display->width()-70,height()-30,70,20);
+
+
+
+//Buttons right of Display
+///////////////////////////////
+xpos=display->x()+display->width()+5;
+// Tune
+Tune->move(xpos,display->y());
+
+// Send CW ID
+CWID->move(xpos,Tune->y()+Tune->height()+5);
+
+// Clear RxWindow
+Clear->move(xpos,CWID->y()+CWID->height()+5);
+
+// Clear QsoInfo
+ClearQsoInfo->move(xpos,Clear->y()+Clear->height()+5);
+
+// Macros in the right Side of Panel
+Macros->move(width()-Macros->width()-5,5);
+
+// We fit QSOInfo between Tune and Macros
+xpos=xpos+Tune->width()+5;
+ypos=Macros->x()-xpos-5;
+QSOInfo->setGeometry(xpos,Macros->y(),ypos,Macros->height());
+//Remote Call
+theircall->setFixedSize(ypos-20,Tune->height());
+TheirCallL->setFixedSize(ypos-20,theircall->height());
+// Remote Op's name
+Name->setFixedSize(ypos-20,theircall->height());
+NameL->setFixedSize(ypos-20,theircall->height());
+
+}
+
+void CPanel::saveName(const QString &s)
+{
+settings.Name=Name->text();
+
+
+}
+/** copies the marked string from the active RX window to Remote Call or Name
+depending on which window has the focus
+If no windo has the focus the Remote call is taken */
+void CPanel::setString(const QString  &String)
+{
+if (theircall->hasFocus())
+	theircall->setText(String);
+else
+	{
+		if (Name->hasFocus())	
+			Name->setText(String);
+		else
+		theircall->setText(String); //default, if no one has focus
+	}		
+
+}
+/** Clears the Fields fin QSOInfo */
+void CPanel::clearQsoInfo()
+{
+theircall->setText("");
+Name->setText("");
+settings.setTheirCall("");
+settings.setName("");
+
+}
diff --git a/linpsk/cpanel.h b/linpsk/cpanel.h
new file mode 100644
index 0000000..fba1dd1
--- /dev/null
+++ b/linpsk/cpanel.h
@@ -0,0 +1,111 @@
+/***************************************************************************
+                          cpanel.h  -  description
+                             -------------------
+    begin                : Sun Mar 5 2000
+    copyright            : (C) 2000 by Volker Schroer
+    email                : DL1KSV at gmx.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *   based on the work of Moe Wheatley, AE4JY                              *
+ ***************************************************************************/
+
+#ifndef CPANEL_H
+#define CPANEL_H
+
+#include <qframe.h>
+#include <qtabbar.h>
+#include <qpainter.h>
+#include <qradiobutton.h>
+#include <qpushbutton.h>
+#include <qspinbox.h>
+#include <qlabel.h>
+#include <qbuttongroup.h>
+
+#include <qlineedit.h>
+
+#include "parameter.h"
+#include "cdisplay.h"
+/**Contains all the Controlelements for receiving and xmitting
+  *@author Volker Schroer
+  */
+extern Parameter settings;
+class CPanel : public QFrame  {
+ Q_OBJECT
+public: 
+	CPanel(QWidget *parent, const char *name = 0);
+	~CPanel();
+
+CDisplay	*display; // Display for FFT/Input and so on in the middle of the Panel
+
+// Elements on the right side of the Panel
+QPushButton *CWID;
+QPushButton *Tune;
+QPushButton *Clear;
+QPushButton *ClearQsoInfo;
+QLineEdit	*theircall;
+QLineEdit *Name;
+QButtonGroup *Macros;
+QPushButton *UserDefined;
+
+private:
+
+QTabBar *header;    // Header of Display for selecting  the kind of Display
+ QTab *spectrum;
+ QTab *waterfall;
+ QTab *input;
+// QTab *datasync;
+//	int tablist[4];
+	int tablist[3];
+
+/** Displayelement for maxfreq */
+QSpinBox *lmaxfreq;
+/** Displayelement for minfreq */
+QSpinBox *lminfreq;
+/** Select smoothing Filter for FFT */
+QRadioButton *slow;
+QLabel *TheirCallL;
+QLabel *NameL;
+QGroupBox *QSOInfo;
+
+
+/** Buttons for Macros and so on */
+QPushButton *QSOStart; 	//QSOStart
+QPushButton *QSOBTU;		//BTU
+QPushButton *Final;			//QSO Final
+QPushButton *CQ;				// CQ
+QPushButton *SendFile;	// Send Special File
+
+
+protected:
+
+
+/** Handling Resizing */
+void resizeEvent(QResizeEvent *);
+/** Calculating Size of Frame and depending Windows*/
+
+public slots:
+void viewchanged(int);
+
+
+
+///void getTheirCall();
+void saveTheirCall(const QString &);
+void NameChanged();
+void saveName(const QString &);
+  /** copies the marked string from the active RX window to Remote Call or Name
+depending on which window has the focus
+If no windo has the focus the Remote call is taken */
+  void setString(const QString  &String);
+signals:
+protected slots: // Protected slots
+  /** Clears the Fields fin QSOInfo */
+  void clearQsoInfo();
+};
+
+#endif
diff --git a/linpsk/cpskdemodulator.cpp b/linpsk/cpskdemodulator.cpp
new file mode 100644
index 0000000..7a350da
--- /dev/null
+++ b/linpsk/cpskdemodulator.cpp
@@ -0,0 +1,476 @@
+/***************************************************************************
+                          cpskdemodulator.cpp  -  description
+                             -------------------
+    begin                : Sat Jun 2 2001
+    copyright            : (C) 2001 by Volker Schroer
+    email                : dl1ksv at gmx.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *    based on the work of  Moe Wheatly, AE4JY                             *  
+ ***************************************************************************/
+
+
+
+
+#include "cpskdemodulator.h"
+#include "fircoeffs.h"
+#include "psktable.h"
+
+
+//define the PSK31 symbols
+#define SYM_NOCHANGE 0	//Stay the same phase
+#define SYM_P90 1		//Plus 90  deg
+#define SYM_P180 2		//Plus 180 deg
+#define SYM_M90 3		//Minus 90 deg
+
+// phase wraparound correction table for viterbi decoder
+const double AngleTbl1[4] = { 3.0*PI2/4.0, 0.0, PI2/4.0, PI2/2.0};
+const double AngleTbl2[4] = { 3.0*PI2/4.0, PI2, PI2/4.0, PI2/2.0 };
+
+
+//////////////////////////////////////////////////////////////////////
+// Construction/Destruction
+//////////////////////////////////////////////////////////////////////
+
+CPskDemodulator::CPskDemodulator(): CDemodulator()
+{
+	m_pQue1 = NULL;
+	m_pQue2 = NULL;
+	m_pQue3 = NULL;
+	m_VaricodeDecTbl = NULL;
+}
+
+CPskDemodulator::~CPskDemodulator()
+{
+	if(m_pQue1)
+		delete m_pQue1;
+	if(m_pQue2)
+		delete m_pQue2;
+	if(m_pQue3)
+		delete m_pQue3;
+	if(m_VaricodeDecTbl)
+		delete m_VaricodeDecTbl;
+
+}
+
+/////////////////////////////////////////////////////////////////
+//       Initialize PskDet buffers and pointers
+/////////////////////////////////////////////////////////////////
+bool CPskDemodulator::Init( double Fs, int BlockSize )
+{
+unsigned short int wTemp;
+int i;
+//circular delay lines.(data stays put and the pointers move)
+	if( (m_pQue1 = new double_complex[sizeof(double_complex)*DEC3_LPFIR_LENGTH] ) == NULL)
+		return false;
+	if( (m_pQue2 = new double_complex[sizeof(double_complex)*DEC3_LPFIR_LENGTH] ) == NULL)
+		return false;
+	if( (m_pQue3 = new double_complex[sizeof(double_complex)*BITFIR_LENGTH] ) == NULL)
+		return false;
+	if( (	m_VaricodeDecTbl = new unsigned char[sizeof(unsigned char)*2048] )== NULL)
+		return false;
+	for(int i=0; i<DEC3_LPFIR_LENGTH; i++)
+	{
+	// fill delay buffer with zero
+		m_pQue1[i] = double_complex(0.0,0.0);
+	}
+	for(i=0; i<DEC3_LPFIR_LENGTH; i++)
+	{
+	// fill delay buffer with zero
+		m_pQue2[i] = double_complex(0.0,0.0);
+
+	}
+	for( i=0; i<BITFIR_LENGTH; i++)
+	{
+	// fill delay buffer with zero
+		m_pQue3[i] = double_complex(0.0,0.0);
+	}
+
+	for( int j=0; j<2048; j++)		//init inverse varicode lookup decoder table
+	{
+		m_VaricodeDecTbl[j] = 0;
+		for(int i=0; i<256;i++)
+
+		{
+			wTemp = VARICODE_TABLE[i];
+			wTemp >>= 4;
+			while( !(wTemp&1) )
+				wTemp >>= 1;
+			wTemp >>= 1;
+			if( wTemp == j)
+				m_VaricodeDecTbl[j] = (unsigned char)i;
+		}
+	}
+	m_pInPtr1 = m_pQue1;		//initialize que ptrs
+	m_pInPtr2 = m_pQue2;
+	m_pInPtr3 = m_pQue3;
+	m_Fs = Fs;					//sample rate
+	m_BlockSize = BlockSize;	//size data input buffer
+	m_phzinc = 1000.0*PI2/m_Fs;	
+	m_BitPhaseInc = 9.0/m_Fs;		//bit oversampling period
+	m_SignalLevel = 1.0;
+	m_BitPhasePos = 0.0;
+	m_BitAcc = 0;
+	m_LastBitZero = false;
+	m_SampCnt = 0;
+	m_OnCount = 0;
+	m_OffCount = 0;
+
+	for( i=0; i<21; i++)
+		m_SyncAve[i] = 0.0;					// initialize the array
+
+
+// Init a bunch of "static" variables used in various member fuctions
+	m_AGCave = 0.0;
+	m_FreqError = 0.0;
+	m_VcoPhz = 0.0;
+	m_LastFreq = 1000.0;
+	m_PkPos = 0;
+	m_NewPkPos = 5;
+	m_BitPos = 0;
+	m_I1 = 0.0;
+	m_I0 = 0.0;
+	m_Q1 = 0.0;
+	m_Q0 = 0.0;
+	m_DevAve = .4;
+
+  m_z1=double_complex(0.0,0.0);
+	m_z2=m_z1;
+	m_FerAve = 0.0;
+	m_QFreqError = 0.0;
+	m_LastPkPos = 0;
+	m_ClkErrCounter = 0;
+	m_ClkErrTimer = 0;
+	m_ClkError = 0;
+// Initializing Variables for AFC
+	fe1=0.0;
+	fe2=0.0;
+	ferror=0.0;
+	ferror1=0.0;
+	ferror2=0.0;
+	dp=0.0;
+	dp1=0.0;
+	dp2=0.0;
+		
+return true;
+}
+
+//////////////////////////////////////////////////////////////////////
+// Main routine called to process the next block of data 'pIn'.
+//  The center frequency is specified by 'Freq'.
+//  The function returns the new AFC'd frequency.
+//  'UseAFC' specifies whether to automatically lock to the frequency.
+//  30mSec for BPSK, 38mSec for QPSK( 133MHz Pentium )
+//////////////////////////////////////////////////////////////////////
+
+void CPskDemodulator::ProcessInput( double* pIn)
+{
+double freqerror;
+double vcophz = m_VcoPhz;
+int i,j;
+double_complex acc;
+const double* Kptr;
+double_complex* Firptr;
+double_complex* Inptr1;			//decimation FIR #1 variables
+double_complex* Qptr1;
+double_complex* Inptr2;			//decimation FIR #2 variables
+double_complex* Qptr2;
+
+if ( UseAfc)
+		freqerror= m_FreqError;
+	else
+		freqerror= 0.0;	
+
+	m_DispTrig = false;
+	j=0;
+	if( RxFrequency != m_LastFreq )	//caller is changing center frequency
+	{													//so recalc freq error value
+///		freqerror = freqerror + m_phzinc;	//current center freq inc
+		m_phzinc = (PI2/m_Fs)*RxFrequency;	//new center freq inc
+///		if( UseAfc )
+///			freqerror = m_phzinc - freqerror;
+///		else
+			freqerror = 0.0;
+		m_LastFreq = RxFrequency;
+	}
+	Inptr1 = m_pInPtr1;		//use local copies of member variables
+	Qptr1 = m_pQue1;		// for better speed.
+	Inptr2 = m_pInPtr2;
+	Qptr2 = m_pQue2;
+	for( i = 0; i<m_BlockSize; i++ )	// put new samples into Queue
+	{
+		if( --Inptr1 < Qptr1 )		//deal with FIR pointer wrap around
+			Inptr1 = Qptr1+DEC3_LPFIR_LENGTH-1;
+//Generate complex sample by mixing input sample with NCO's sin/cos
+		vcophz = vcophz + (m_phzinc + freqerror);
+//			*Inptr1=pIn[i]*exp(float_complex(0,vcophz));
+		*Inptr1=pIn[i]*double_complex(cos(vcophz),sin(vcophz));
+//		vcophz = vcophz + (m_phzinc + freqerror);
+		if(vcophz > PI2)		//handle 2 Pi wrap around
+			vcophz -= PI2;
+//decimate by 3 filter
+//  10uSec( 133MHz Pentium )
+		if( ( (++m_SampCnt)%3 ) == 0 )	//calc first decimation filter every 3 samples
+		{
+
+			acc=double_complex(0.0,0.0);
+			Firptr = Inptr1;
+			Kptr = Dec3LPCoef;
+			while( Kptr < (Dec3LPCoef + DEC3_LPFIR_LENGTH) )	//do the MAC's
+			{
+
+				acc +=(*Firptr)*(*Kptr++);
+				if( (++Firptr) >= Qptr1+DEC3_LPFIR_LENGTH ) //deal with wraparound
+					Firptr = Qptr1;
+			}
+			if( --Inptr2 < Qptr2 )		//deal with FIR pointer wrap around
+				Inptr2 = Qptr2+DEC3_LPFIR_LENGTH-1;
+
+				*Inptr2=acc;
+
+//decimate by 3 filter
+//  10uSec( 133MHz Pentium )
+			if( (m_SampCnt%9) == 0 )	//calc second decimation filter every 9 samples
+			{
+
+				acc=double_complex(0.0,0.0);
+				Firptr = Inptr2;
+				Kptr = Dec3LPCoef;
+				while( Kptr < (Dec3LPCoef + DEC3_LPFIR_LENGTH) )	//do the MAC's
+				{
+
+					acc=(*Firptr)*(*Kptr);
+					Kptr++;
+					if( (++Firptr) >= Qptr2+DEC3_LPFIR_LENGTH ) //deal with wraparound
+						Firptr = Qptr2;
+				}
+// here at Fs/9 = 612.5 Hz rate with latest sample in acc.
+// Matched Filter the I and Q data and also a frequency error filter
+//	filter puts filtered signals in m_FreqSignal and m_BitSignal.
+				CalcBitFilter( acc );		// 25 uSec( 133MHz Pentium )
+// Perform AGC operation
+				m_SignalLevel = CalcAGC( m_FreqSignal );	// 9 uSec( 133MHz Pentium )
+
+				if( m_DispTrig  )	//j ranges 0 to 2048/9 or 227
+				
+					emit newPhaseValue(j++,float_complex(m_BitSignal));
+// Calculate frequency error
+
+				if( UseAfc )
+					freqerror = CalcFreqError(m_FreqSignal);	// 10 uSec( 133MHz Pentium )
+// 			Perhaps I should introduce a narrow / wid switch for the AFC
+//				freqerror = CalcFreqError(m_BitSignal);	// 10 uSec( 133MHz Pentium )
+				else
+					{
+#if AFC_DEBUG
+					freqerror = CalcFreqError(m_BitSignal);	// 10 uSec( 133MHz Pentium )
+#endif	 				
+	 				freqerror = 0.0;
+	 				}
+// Bit Timing synchronization
+				
+				if( SymbSync(m_BitSignal) )	// 8 uSec( 133MHz Pentium )
+				{
+					DecodeSymbol( m_BitSignal);		//615uS(QPSK)
+				
+				}	m_DispTrig = true;
+			}
+		}
+	}
+	m_SampCnt = m_SampCnt%9;
+	m_pInPtr1 = Inptr1;		// save position in circular delay line
+	m_pInPtr2 = Inptr2;		// save position in circular delay line
+	
+	m_FreqError = freqerror;
+	m_VcoPhz = vcophz;
+	
+		if (UseAfc)			// Change RxFrequency, but slowly
+		{
+			freqerror=freqerror*m_Fs/PI2;		
+			RxFrequency = RxFrequency + freqerror;
+			emit rxFrequencyChanged(RxFrequency);
+		}
+	
+
+  settings.clockerror=m_ClkError;
+}
+
+
+//////////////////////////////////////////////////////////////////////
+// Called at Fs/9 rate to calculate the symbol sync position
+// Returns true if at center of symbol.
+// Sums up the energy at each sample time, averages it, and picks the
+//   sample time with the highest energy content.
+//////////////////////////////////////////////////////////////////////
+
+bool CPskDemodulator::SymbSync(double_complex sample)
+
+{
+bool Trigger;
+double energy;
+
+
+int BitPos = m_BitPos;
+	energy = sample.real()*sample.real()+sample.imag()*sample.imag();
+	if( energy > 4.0)		//wait for AGC to settle down
+		energy = 1.0;
+	m_SyncAve[BitPos] = (1.0-1.0/100.0)*m_SyncAve[BitPos] + (1.0/100.0)*energy;
+	if( BitPos == m_PkPos )	// see if at middle of symbol
+	{
+		Trigger = true;
+//		display->m_SyncHist[m_PkPos] = (int)(10000.0*m_SyncAve[m_PkPos]);
+	}
+	else
+	{
+		Trigger = false;
+//		display->m_SyncHist[BitPos] = (int)(7000.0*m_SyncAve[BitPos]);
+
+	}
+	if( BitPos == HALF_TBL[m_PkPos] )	//don't change pk pos until
+		m_PkPos = m_NewPkPos;			// halfway into next bit.
+	BitPos++;
+	m_BitPhasePos += (m_BitPhaseInc);
+	if( m_BitPhasePos >= Ts )
+	{									// here every symbol time
+		m_BitPhasePos -= Ts;			//keep phase bounded
+		BitPos = 0;
+		max = -1e10;
+		for( int i=0; i<19; i++)		//find maximum energy pk
+		{
+			energy = m_SyncAve[i];
+			if( energy > max )
+			{
+				m_NewPkPos = i;
+				max = energy;
+			}
+		}
+		if( m_PkPos == m_LastPkPos+1 )	//calculate clock error
+			m_ClkErrCounter++;
+		else
+			if( m_PkPos == m_LastPkPos-1 )
+				m_ClkErrCounter--;
+		if( m_ClkErrTimer++ > 313 )	// every 10 seconds sample clk drift
+		{
+			m_ClkError = m_ClkErrCounter*180;
+			m_ClkErrCounter = 0;
+			m_ClkErrTimer = 0;
+		}
+		m_LastPkPos = m_PkPos;
+	}
+	m_BitPos = BitPos;
+	return Trigger;
+}
+
+
+//////////////////////////////////////////////////////////////////////
+//  Frequency error calculator
+// calculates the derivative of the tan(I/Q).
+// returns frequency error ~= .0034 per Hz error.
+//////////////////////////////////////////////////////////////////////
+double CPskDemodulator::CalcFreqError( double_complex IQ )
+{
+
+
+double ftotal ;
+
+ferror2=ferror1;
+ferror1=ferror;
+dp2=dp1;
+dp1=m_QFreqError;
+dp=0.98*dp+0.01*dp1-0.01*dp2;
+ferror = (IQ.real() - m_z2.real()) * m_z1.imag() - (IQ.imag() - m_z2.imag()) * m_z1.real();
+
+	m_z2 = m_z1;
+	m_z1 = IQ;
+	if( ferror > .15 )		//clamp range
+		ferror = .15;
+	if( ferror < -.15 )
+		ferror = -.15;
+//ftotal=0.03*ferror+0.02*ferror1-0.02*ferror2+0.5*fe1+0.4*fe2;
+ftotal=0.01*ferror+0.01*ferror1-0.01*ferror2+0.5*fe1+0.4*fe2;
+fe2=fe1;
+fe1=ftotal;
+
+		m_FerAve = 0.99 *m_FerAve + 0.008*ftotal + 0.002 * dp;
+
+		return m_FerAve;
+}
+
+//////////////////////////////////////////////////////////////////////
+// Automatic gain control calculator
+//////////////////////////////////////////////////////////////////////
+double CPskDemodulator::CalcAGC( double_complex Samp)
+{
+double mag;
+
+	mag = sqrt(Samp.real()*Samp.real() + Samp.imag()*Samp.imag());
+	if( mag > m_AGCave )
+
+		m_AGCave = (1.0-1.0/250.0)*m_AGCave + (1.0/250.0)*mag;
+	else
+		m_AGCave = (1.0-1.0/1000.0)*m_AGCave + (1.0/1000.0)*mag;
+	if( m_AGCave >= 1.0 )	// divide signal by ave if not almost zero
+	{
+		m_BitSignal /= m_AGCave;
+//		m_BitSignal.y /= m_AGCave;
+		m_FreqSignal /= m_AGCave;
+//		m_FreqSignal.y /= m_AGCave;
+	}
+	return(m_AGCave);
+}
+
+
+//////////////////////////////////////////////////////////////////////
+// BIT FIR filters. A narrow matched(?) data filter for data
+//                  and wider filter for the AFC/AGC functions
+//////////////////////////////////////////////////////////////////////
+void CPskDemodulator::CalcBitFilter(double_complex Samp)
+{
+double_complex acc1;
+double_complex acc2;
+const double* Kptr1;
+const double* Kptr2;
+double_complex* Firptr;
+double_complex* Qptr;
+double_complex* Inptr;
+	Inptr = m_pInPtr3;		//use local copies of member variables
+	Qptr = m_pQue3;			// for better speed.
+	if( --Inptr < Qptr )	//deal with LPFIR pointer wrap around
+		Inptr = Qptr+BITFIR_LENGTH-1;
+//	Inptr->x = Samp.x;	//place in circular Queue
+	*Inptr = Samp;
+//	acc1.x = 0.0;
+	acc1 = double_complex(0.0,0.0);
+//	acc2.x = 0.0;
+	acc2 = double_complex(0.0,0.0);
+	Firptr = Inptr;
+	Kptr1 = FreqFirCoef;	//frequency error filter
+	Kptr2 = BitFirCoef;	//bit data filter
+	while( Kptr2 < (BitFirCoef + BITFIR_LENGTH) )	//do the MAC's
+	{
+//		acc1.x += ( (Firptr->x)*(*Kptr1) );
+		acc1 += ( (*Firptr)*(*Kptr1++) );
+						
+//		acc2.x += ( (Firptr->x)*(*Kptr2) );
+		acc2 += ( (*Firptr)*(*Kptr2++) );
+						
+		if( (++Firptr) >= (Qptr+BITFIR_LENGTH) ) //deal with wraparound
+			Firptr = Qptr;
+	}
+	m_pInPtr3 = Inptr;		// save position in circular delay line
+//	m_FreqSignal.x = acc1.x;
+	m_FreqSignal = acc1;
+//	m_BitSignal.x = acc2.x;
+	m_BitSignal = acc2;
+}
+
+
+
+
+
diff --git a/linpsk/cpskdemodulator.h b/linpsk/cpskdemodulator.h
new file mode 100644
index 0000000..b963eaf
--- /dev/null
+++ b/linpsk/cpskdemodulator.h
@@ -0,0 +1,138 @@
+/***************************************************************************
+                          cpskdemodulator.h  -  description
+                             -------------------
+    begin                : Sat Jun 2 2001
+    copyright            : (C) 2001 by Volker Schroer
+    email                : dl1ksv at gmx.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *   based on the work of Moe Wheatley, AE4JY                              *
+ ***************************************************************************/
+
+
+#ifndef CPSKDEMODULATOR_H
+#define CPSKDEMODULATOR_H
+
+#include "constants.h"
+#include <math.h>
+#include <complex.h>
+#include <stdlib.h>
+
+
+#include "crxdisplay.h"
+#include "cdemodulator.h"
+
+
+class CPskDemodulator  : public CDemodulator
+{
+ Q_OBJECT
+public:
+	CPskDemodulator();
+	virtual ~CPskDemodulator();
+	bool Init(double Fs ,int BlockSize);
+
+	void ProcessInput( double *pIn);
+// Variables
+#ifdef AFC_DEBUG	
+	double m_FreqError;
+	double m_QFreqError;
+#endif
+
+	
+protected:
+
+// Methods
+/** Decodes the symbol depending on the PskModes */	
+	virtual void DecodeSymbol( double_complex newsamp) = 0;
+/** Calculates the Cuality of the signal -- depends on the mode */	
+	virtual	void CalcQuality( double angle ) = 0;	
+	
+// Variables		
+	double m_I0;		// 2 stage I/Q delay line variables
+	double m_I1;
+	double m_Q0;
+	double m_Q1;
+	int m_BitAcc;
+	bool m_LastBitZero;
+	unsigned char* m_VaricodeDecTbl;
+	int m_OnCount;
+	int m_OffCount;	
+#ifndef AFC_DEBUG
+	double m_FreqError;
+	double m_QFreqError;
+#endif	
+	double m_DevAve;
+	double ferror,dp;	
+private:
+	int m_ClkErrTimer;
+	int m_ClkErrCounter;
+	int m_ClkError;
+
+//methods
+
+
+	bool SymbSync(double_complex sample);
+	void CalcBitFilter(  double_complex Samp);
+	double CalcAGC( double_complex Samp );
+	double CalcFreqError( double_complex IQ );
+//variables
+	double m_QPSKprob[4];
+	int m_LastPkPos;
+
+///	int m_TrigInhib;
+	int m_SampCnt;
+	bool m_DispTrig;
+
+	int m_BlockSize;
+	double m_BitPhaseInc;
+	double m_BitPhasePos;
+	double m_SyncAve[21];
+
+	double m_SignalLevel;
+	double m_Fs;
+
+	double_complex* m_pQue1;
+	double_complex* m_pQue2;
+	double_complex* m_pQue3;
+	double_complex* m_pInPtr1;
+	double_complex* m_pInPtr2;
+	double_complex* m_pInPtr3;
+
+	double_complex m_FreqSignal;
+	double_complex m_BitSignal;
+	double m_phzinc;
+
+// Local variables for various functions that need to be saved between calls
+	double m_AGCave;
+	double_complex m_z1; //Old Version of Freqerror
+	double_complex m_z2; // dito
+	double m_FerAve;
+	double m_LastFreq;
+	double m_VcoPhz;
+	int	m_PkPos;
+	int	m_NewPkPos;
+	int m_BitPos;
+  double max;	
+/** Some Variable for CalcQuality */
+double fe1,fe2,ferror1,ferror2;
+double dp1,dp2;
+
+
+public slots:
+signals: // Signals
+  /** emits this signal if the user changed the cursor
+and with it the desired RX- Frequency */
+//  void rxFrequencyChanged(double);
+//	void newSymbol(char );
+//	void newPhaseValue(int,float_complex);
+//	void setFastSquelch(bool);
+//	void setSquelchValue(int);
+};
+
+#endif
diff --git a/linpsk/crxdisplay.cpp b/linpsk/crxdisplay.cpp
new file mode 100644
index 0000000..c6daa56
--- /dev/null
+++ b/linpsk/crxdisplay.cpp
@@ -0,0 +1,304 @@
+/***************************************************************************
+                          crxdisplay.cpp  -  description
+                             -------------------
+    begin                : Sun Sep 17 2000
+    copyright            : (C) 2000 by Volker Schroer
+    email                : DL1KSV at gmx.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *    based on the work of  Moe Wheatly, AE4JY                             *  
+ ***************************************************************************/
+
+#include "crxdisplay.h"
+
+CRxdisplay::CRxdisplay(QWidget *parent,int channel, const char *name ) : QFrame(parent,name)
+
+{
+
+
+setFrameStyle(QFrame::WinPanel | QFrame::Sunken);
+
+setFontPropagation(AllChildren);
+setFont(settings.RxLabelFont);
+QFontMetrics fm(settings.RxLabelFont);
+theircall="";
+Name="";
+	
+
+
+	Modus = new ModeSelect(this);
+	connect(Modus,SIGNAL(ModeChanged(Mode)),this,SLOT(ChangedToMode(Mode)));
+
+// RX Values
+
+  rxtune= new QGroupBox(1,Horizontal,"Rx Freq",this);
+  rxtune->setAlignment(AlignCenter);
+	rxtune->setFrameStyle(QFrame::WinPanel | QFrame::Raised);
+	rxtune->setFixedSize(Modus->width(),fm.height()*3+22);
+	rxtune->setMargin(0);
+  rxtune->setLineWidth(1);
+
+	
+  rxfreq= new QSpinBox(rxtune,"RxFrequency");
+  rxfreq->setRange(300,2500);
+	rxfrequency=1000;
+  rxfreq->setValue(1000);
+
+
+ // Changing RX- Frequency
+  connect(rxfreq,SIGNAL(valueChanged(int)),this,SLOT(changerxfreq(int)));
+
+// AFC
+	UseAfc=true;
+  bafc= new QRadioButton(rxtune,"afc");
+  bafc->setText("AFC(F3)");
+  bafc->setChecked(UseAfc);
+	connect(bafc,SIGNAL(toggled(bool)),this,SLOT(afc(bool)));
+	bafc->setAccel(Key_F3);
+	
+
+// TriggerText
+	TriggerBox=new QGroupBox(1,Horizontal,"Trigger",this);
+	TriggerBox->setFrameStyle(QFrame::WinPanel | QFrame::Raised);
+	TriggerBox->setAlignment(AlignCenter);
+	TriggerBox->setFixedSize(Modus->width(),3*fm.height()+22);
+	TriggerText = new QLineEdit("CQ CQ",TriggerBox);	
+	Trigger = new QRadioButton(TriggerBox);
+	Trigger->setText(tr("Activate"));
+	Trigger->setChecked(false);
+// Squelch
+
+	Squelch = new CSquelch(this);
+
+// Title of RxWindow
+	title="RxWindow "+title.setNum(channel+1);
+  channelNumber=channel;
+// Recording
+ RecordBox=new QGroupBox(1,Horizontal,"Record Qso",this);
+ RecordBox->setFrameStyle(QFrame::WinPanel | QFrame::Raised);
+ RecordBox->setAlignment(AlignCenter);
+ RecordBox->setFixedSize(fm.width("Record Qso")+20,TriggerBox->height());	
+ Debug=new QRadioButton(RecordBox);
+ Debug->setText("On/Off");
+ Debug->setChecked(false);
+ connect(Debug,SIGNAL(clicked()),this,SLOT(switchDebug()));
+
+		
+
+// DisplayWindow
+	rxwindow=new CRxwindow(this);
+	rxwindow->setReadOnly(TRUE);
+	rxwindow->setFont(settings.RxWindowTextFont);
+	rxwindow->setMaxLine(50);
+	rxwindow->setTrigger(TriggerText->text());
+	connect(Trigger,SIGNAL(toggled(bool)),rxwindow,SLOT(setTriggerMode(bool)));
+	connect(TriggerText,SIGNAL(returnPressed()),this,SLOT(newTriggerText()));
+	connect(this,SIGNAL(TriggerTextChanged(QString)),rxwindow,SLOT(setTrigger(QString)));
+	connect(rxwindow,SIGNAL(triggered()),this,SLOT(triggered()));
+	
+// Now , as each component is defined, the colour is to be set
+  setColor(settings.colours[channel]);	
+
+
+}
+
+CRxdisplay::~CRxdisplay()
+{
+}
+
+double CRxdisplay::getRxFrequency()
+{
+return rxfrequency;
+}
+
+void CRxdisplay::resizeEvent(QResizeEvent *)
+{
+int ButtonHeight;
+
+QFontMetrics fm(settings.RxLabelFont);
+
+move(10,0);
+
+ButtonHeight=fm.height()+4;
+
+int xpos,ypos,left;
+int elements_height;
+int elements_width;
+
+
+if (width() > 650)
+	{
+		setLineWidth(4);
+		setMargin(15);
+	}
+else
+	{
+		setLineWidth(4);
+		setMargin(10);
+	}			
+//Setting FrameSize
+
+left=5;
+elements_width=rxtune->width()-2*rxtune->frameWidth()-2;
+elements_height=(rxtune->height()-2*rxtune->frameWidth())/3;
+
+
+
+//Calculating position of Elements
+xpos=rxtune->frameWidth()+1;
+ypos=rxtune->frameWidth();
+
+
+// Position PSKMode Window
+	Modus->move(left,height()-5-Modus->height());	
+
+// Position RX- Control Window
+	rxtune->move(left,Modus->y()-5-rxtune->height());					
+
+
+// Trigger
+
+	TriggerBox->move(left,rxtune->y()-5-TriggerBox->height());
+
+		
+//Recording
+ RecordBox->move(Modus->x()+Modus->width()+left,TriggerBox->y());
+//Squelch
+
+Squelch->setGeometry(2*left+Modus->width(),TriggerBox->y()+TriggerBox->height()+5,
+										RecordBox->width(),height()-TriggerBox->y()-TriggerBox->height()-10);
+
+// Display window
+
+
+rxwindow->setGeometry(Squelch->x()+Squelch->width()+10,15,
+					width()-Squelch->x()-95,height()-10);
+
+}
+
+bool CRxdisplay::SquelchOn()
+{
+return Squelch->SquelchOn();
+}
+
+void CRxdisplay::setFastSquelch(bool squelch)
+{
+Squelch->setSquelchStatus(squelch);
+}
+
+void CRxdisplay::setSquelchValue(int i)
+{
+Squelch->setSquelchLevel(i);
+}
+
+
+void CRxdisplay::changerxfreq(int freq)
+{
+if ((int)rxfrequency != freq)
+	{
+		rxfrequency=freq;
+		rxfreq->setValue( freq);
+		emit rxFrequencyChanged(channelNumber,freq);
+	}	
+}
+
+
+void CRxdisplay::afc(bool type)
+{
+UseAfc=type;
+emit toggleAfc(UseAfc);
+}
+
+void CRxdisplay::showchar(char c) {if (SquelchOn()) rxwindow->updaterx(c);}
+
+void CRxdisplay::setRxFrequency(double freq)
+{
+if (rxfrequency != freq)
+	{
+		rxfrequency=freq;
+		rxfreq->setValue((int) freq);
+		emit rxFrequencyChanged(channelNumber,(int) freq);
+	}	
+}
+
+/** prepares the new TriggerText and passes it to the Trigger detection */
+void CRxdisplay::newTriggerText()
+{
+///emit TriggerTextChanged(TriggerText->text());
+rxwindow->setTrigger(TriggerText->text());
+}
+/** Signals the TriggerCondition and switches to the appropriate Window */
+void CRxdisplay::triggered()
+{
+emit triggeredWindow(channelNumber);
+Trigger->setChecked(false); //Deactivate Trigger
+QApplication::beep();
+}
+/** clears the content of  the dependent RxWIndow */
+void CRxdisplay::clearWindow()
+{
+rxwindow->clearRxWindow();
+}
+/** enables/disables Debugging for the Rx window */
+
+void CRxdisplay::switchDebug()
+{
+
+		QString s;
+		QString FileName="Rx_Debug_"+s.setNum(channelNumber);
+		rxwindow->setDebugFile(FileName);
+}	
+
+
+/** Changes the color of Text and Labels in  the RXWindow */
+void CRxdisplay::setColor(QColor color)
+{
+QPalette p;
+					
+
+		p=rxwindow->palette();	
+		p.setColor(QColorGroup::Text,color);
+		rxwindow->setPalette(p);
+		repaint();
+}
+/** Draws the widget including title text */
+void CRxdisplay::paintEvent(QPaintEvent *e)
+{
+QPainter paint(this);
+QFontMetrics fm(settings.RxLabelFont);
+int xpos;
+xpos=rxwindow->x()+(rxwindow->width()-fm.width(title)-10)/2;
+drawFrame(&paint);
+drawContents(&paint);
+paint.setPen(settings.colours[channelNumber]);
+paint.setFont(settings.RxLabelFont);
+paint.drawText(xpos,0,xpos+fm.width(title)+10,fm.height()+4,AlignLeft,title);
+
+}
+/** sets the Remote callsign for this RxWindow */
+void CRxdisplay::setTheirCall(const QString &call)
+{
+theircall.operator=(call);
+}
+/** sets the name of the remote Op for this RxWindow */
+void CRxdisplay::setName(const QString &name)
+{
+Name.operator=(name);
+}
+
+void CRxdisplay::ChangedToMode(Mode modus)
+{
+emit ModeChanged(modus,channelNumber);
+}
+
+
+bool CRxdisplay::getAFCsetting()
+{
+return UseAfc;
+}
diff --git a/linpsk/crxdisplay.h b/linpsk/crxdisplay.h
new file mode 100644
index 0000000..021d809
--- /dev/null
+++ b/linpsk/crxdisplay.h
@@ -0,0 +1,135 @@
+/***************************************************************************
+                          crxdisplay.h  -  description
+                             -------------------
+    begin                : Sun Sep 17 2000
+    copyright            : (C) 2000 by Volker Schroer
+    email                : DL1KSV at gmx.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *   based on the work of Moe Wheatley, AE4JY                              *
+ ***************************************************************************/
+
+/**Complete Display of rx- Window and necessary Control elements
+  *@author Volker Schroer
+  */
+
+#ifndef CRXDISPLAY_H
+#define CRXDISPLAY_H
+
+#include <qframe.h>
+#include <qradiobutton.h>
+#include <qspinbox.h>
+#include <qlabel.h>
+#include <qbuttongroup.h>
+#include <qlayout.h>
+#include <qlineedit.h>
+#include <qapplication.h>
+#include "parameter.h"
+#include "csquelch.h"
+#include "crxwindow.h"
+#include "modeselect.h"
+
+
+///class CRxdisplay : public QFrame
+class CRxdisplay : public QFrame
+ {
+ Q_OBJECT
+public: 
+	CRxdisplay(QWidget *parent=0, int channel=0,const char *name=0);
+
+	~CRxdisplay();
+	bool SquelchOn();
+	Mode mode;							// Mode
+	double getRxFrequency();
+  /** Changes the color of Text and Labels in  the RXWindow */
+  void setColor(QColor);
+  /** Draws the widget including Header text */
+  void paintEvent(QPaintEvent *e);
+
+	/** Returns the AFC- Setting */
+	bool getAFCsetting();
+
+  CRxwindow *rxwindow;
+
+   bool UseAfc;
+
+		QString theircall; //Theircall
+		QString Name;
+
+private:
+
+	/** Rx Parameterwindow */
+	QGroupBox *rxtune;
+  QRadioButton *bafc;
+  QSpinBox *rxfreq;
+	QGroupBox *TriggerBox;
+	QLineEdit *TriggerText;
+	QRadioButton *Trigger;
+	
+ /** Value of Rxfrequency */
+ double rxfrequency;		
+ int channelNumber; // Number of RxChannel	
+ /** Select Mode of Operation, BPSK QPSK*/
+	
+ModeSelect *Modus;
+ /** Squelch */
+ CSquelch *Squelch;
+
+
+	QGroupBox *RecordBox;
+	QRadioButton *Debug;
+
+
+protected:
+	void resizeEvent(QResizeEvent *);
+	/** Title */
+	QString title;
+	
+public slots:
+	void setRxFrequency(double);
+	void changerxfreq(int);
+	void afc(bool);
+	void showchar(char);
+ 	void setFastSquelch(bool);
+	void setSquelchValue(int);
+  /** prepares the new TriggerText and passes it to the Trigger detection */
+  void newTriggerText();
+  /** Signals the TriggerCondition and switches to the appropriate Window */
+  void triggered();
+  /** clears the content of  the dependent RxWIndow */
+  void clearWindow();
+  /** sets the Remote callsign for this RxWindow */
+  void setTheirCall(const QString &);
+  /** set the Name of the remote op for this window */
+	void setName(const QString &);
+
+
+private slots: // Private slots
+	/** Signals that the mode has changed for the Channel */
+	void ChangedToMode(Mode);
+  /** enables/disables Debugging for the Rx window */
+
+  void switchDebug();
+
+	
+signals: // Signals
+  /** emits this signal if the user changed the cursor
+and with it the desired RX- Frequency */
+  void rxFrequencyChanged(int,int);
+
+  void ModeChanged(Mode,int);
+  void toggleAfc(bool);
+  /** signals a new TriggerText */
+  void TriggerTextChanged(QString);
+  /** emits the number of the Window where the Trigger happend*/
+  void triggeredWindow(int);
+
+};
+
+#endif
diff --git a/linpsk/crxselect.cpp b/linpsk/crxselect.cpp
new file mode 100644
index 0000000..84c74db
--- /dev/null
+++ b/linpsk/crxselect.cpp
@@ -0,0 +1,74 @@
+/***************************************************************************
+                          crxselect.cpp  -  description
+                             -------------------
+    begin                : Sun Oct 22 2000
+    copyright            : (C) 2000 by Volker Schroer
+    email                : DL1KSV at gmx.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *    based on the work of  Moe Wheatly, AE4JY                             *  
+ ***************************************************************************/
+
+#include "crxselect.h"
+
+CRxSelect::CRxSelect(int columns,QWidget *ControlWidget,QWidget *parent, const char *name ) : QButtonGroup(parent,name)
+{
+setFrameStyle(QFrame::WinPanel | QFrame::Raised);
+	setRadioButtonExclusive(true);
+	QVBoxLayout *vbox=new QVBoxLayout(this,-1);
+	vbox->setMargin(5);
+
+		for(int i=0;i < columns; i++)
+				{
+
+					QRadioButton	*rb= new QRadioButton(this);
+					
+					rb->setText(QString::number(i+1));
+					vbox->addWidget(rb);
+					setColor(i);
+				}
+	setButton(0);
+	connect(this,SIGNAL(clicked(int)),ControlWidget,SLOT(selectRxWindow(int)));
+
+}
+CRxSelect::~CRxSelect()
+{
+}
+
+void CRxSelect::resizeEvent(QResizeEvent *e)
+{
+int NumberofButtons;
+int height;
+NumberofButtons=count();
+height=(this->height()-5)/NumberofButtons;
+
+
+for (int i=0;i<NumberofButtons;i++)
+		 	find(i)->setFixedHeight(height);	
+	
+}
+/** Select RxWindow as Slot Function */
+void CRxSelect::selectRxWindow(int i)
+{
+setButton(i);
+emit clicked(i);
+}
+/** sets the color of the button */
+void CRxSelect::setColor(int ButtonNumber)
+{
+	QPalette p=this->palette();	
+	
+	QButton *rb;
+	rb=this->find(ButtonNumber);
+	
+	p.setColor(QColorGroup::Foreground,settings.colours[ButtonNumber]);
+					
+	rb->setPalette(p);
+
+}
diff --git a/linpsk/crxselect.h b/linpsk/crxselect.h
new file mode 100644
index 0000000..0283167
--- /dev/null
+++ b/linpsk/crxselect.h
@@ -0,0 +1,53 @@
+/***************************************************************************
+                          crxselect.h  -  description
+                             -------------------
+    begin                : Sun Oct 22 2000
+    copyright            : (C) 2000 by Volker Schroer
+    email                : DL1KSV at gmx.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *   based on the work of Moe Wheatley, AE4JY                              *
+ ***************************************************************************/
+
+#ifndef CRXSELECT_H
+#define CRXSELECT_H
+
+#include <qwidget.h>
+#include <qbuttongroup.h>
+#include <qradiobutton.h>
+#include <qlayout.h>
+#include "parameter.h"
+
+extern Parameter settings;
+
+/**Constructs a Buttongroup for selecting the 
+Rx- windows
+
+  *@author Volker Schroer
+  */
+
+class CRxSelect : public QButtonGroup  {
+   Q_OBJECT
+public: 
+	CRxSelect(int columns,QWidget *ControlWidget,QWidget *parent=0, const char *name=0);
+	
+	~CRxSelect();
+  /** sets the color of the button */
+  void setColor(int ButtonNumber);
+
+protected:
+
+void resizeEvent(QResizeEvent *);
+		
+public slots: // Public slots
+  /** Select RxWindow as Slot Function */
+  void selectRxWindow(int);
+};
+
+#endif
diff --git a/linpsk/crxwindow.cpp b/linpsk/crxwindow.cpp
new file mode 100644
index 0000000..993711e
--- /dev/null
+++ b/linpsk/crxwindow.cpp
@@ -0,0 +1,196 @@
+/***************************************************************************
+                          crxwindow.cpp  -  description
+                             -------------------
+    begin                : Sat Mar 4 2000
+    copyright            : (C) 2000 by Volker Schroer
+    email                : DL1KSV at gmx.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *    based on the work of  Moe Wheatly, AE4JY                             *  
+ ***************************************************************************/
+
+#include "crxwindow.h"
+
+CRxwindow::CRxwindow(QWidget *parent, const char *name ) : QMultiLineEdit(parent,name)
+{
+
+
+akt_line=0;
+akt_col=0;
+RxString="";
+TriggerOn=false;
+
+setReadOnly(TRUE);
+
+DebugOn = false;
+}
+CRxwindow::~CRxwindow()
+{
+}
+
+void CRxwindow::setMaxVisible(int lines)
+{
+//visible=lines;
+setFixedVisibleLines(lines);
+}
+
+void CRxwindow::setMaxLine(int lines)
+{
+maxline=lines;
+}
+
+void CRxwindow::updaterx( char c) // Zeichen in RX-Fenster einf�gen
+{
+
+bool marked;
+int marked_line1,marked_line2,marked_col1,marked_col2;
+// save marked region , if exists
+marked=getMarkedRegion(&marked_line1,&marked_col1,&marked_line2,&marked_col2);
+setCursorPosition(akt_line,akt_col,false);
+
+switch(c)
+	{
+	case '\n':
+	case '\r':		
+		newLine();
+    akt_col=0;
+		akt_line++;
+		if (akt_line >= maxline)
+			{
+				removeLine(0);
+				akt_line--;
+				if(marked)
+					{
+						marked_line1--;
+						marked_line2--;
+					}	
+			}
+		break;
+	case '\b':
+		backspace();
+		akt_col--;
+		break;
+	case '0':
+		if(settings.slashed0)
+//			c= 206 && 0xFF;
+				c= 0xF8;
+	default:
+		
+		insert(QString(QChar(c)));
+		akt_col++;
+		if (akt_col>80)
+		{
+			akt_col=0;
+			newLine();
+			killLine();
+  		akt_line++;
+  		if(akt_line>=maxline)
+			{
+				removeLine(0);
+				akt_line--;
+				if(marked)
+					{
+						marked_line1--;
+						marked_line2--;
+					}	
+				
+			}
+  	}
+	} // End Switch
+if (marked)		// mark again
+	{
+	setCursorPosition(marked_line1,marked_col1);
+	cursorWordForward(true);
+	}	
+if (TriggerOn && (settings.status == TX_OFF_STATE))
+	updateTrigger(c);
+	
+if( DebugOn)
+		FileOutput.writeRawBytes(&c,1);
+		
+		
+}
+
+void CRxwindow::mouseDoubleClickEvent(QMouseEvent *m)
+{
+int line,col;
+
+QString s;
+
+cursorPosition(&line,&col);
+setCursorPosition(line,col,false);
+cursorWordForward(true);
+s=markedText();                    //copy marked word to buffer;
+
+
+emit theircallChanged(s);
+cursorRight(false);							// to unmark
+}
+
+/** Updates and compares the Triggerstring */
+void CRxwindow::updateTrigger(char c)
+{
+if ( (c == '\n') || (c == '\r')) //Ignore \n and \r
+	return;
+
+if ( c == '\b')
+ RxString.remove(RxString.length(),1);		
+if (RxString.length() == Trigger.length()) // RxString has equal Length as Triggerstring
+																						// so remove first Character
+		RxString.remove(0,1);
+		
+RxString += c;
+if (RxString.lower() == Trigger.lower())
+ {
+ 	RxString ="";
+ 	emit triggered();
+
+ 	}		
+
+}
+/** Sets the Triggercondition */
+void CRxwindow::setTrigger(QString String)
+{
+Trigger=String;
+RxString="";      // Clear RxString
+}
+/** activates/deactivates the Trigger */
+void CRxwindow::setTriggerMode(bool mode)
+{
+TriggerOn=mode;
+if (TriggerOn)
+	RxString="";   // Clear RxString
+}
+
+/**Open/close DebugFile */
+void CRxwindow::setDebugFile(QString FileName)
+{
+if (DebugOn) // As Debug is on , we should switch to off.
+ 	{
+ 	DebugFile->close();
+ 	DebugOn=false;
+ 	FileOutput.unsetDevice();
+ 	DebugFile->~QFile();
+ 	}
+else
+ 	{
+ 	DebugFile=new QFile(FileName);
+ 	DebugFile->open(IO_WriteOnly);
+ 	FileOutput.setDevice(DebugFile);
+ 	DebugOn=true;
+	}
+}	
+/** Clears the contents of the window and initializes the pointers */
+void CRxwindow::clearRxWindow()
+{
+clear();
+akt_col=0;
+akt_line=0;
+///emit theircallChanged("");
+}
diff --git a/linpsk/crxwindow.h b/linpsk/crxwindow.h
new file mode 100644
index 0000000..99e0c87
--- /dev/null
+++ b/linpsk/crxwindow.h
@@ -0,0 +1,79 @@
+/***************************************************************************
+                          crxwindow.h  -  description
+                             -------------------
+    begin                : Sat Mar 4 2000
+    copyright            : (C) 2000 by Volker Schroer
+    email                : DL1KSV at gmx.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *   based on the work of Moe Wheatley, AE4JY                              *
+ ***************************************************************************/
+
+#ifndef CRXWINDOW_H
+#define CRXWINDOW_H
+
+#include <qmultilineedit.h>
+#include "parameter.h"
+
+	#include <qfile.h>
+	#include <qdatastream.h>
+
+extern Parameter settings;
+
+/**Textwindow for RX
+  *@author Volker Schroer
+  */
+
+class CRxwindow : public QMultiLineEdit
+ {
+   Q_OBJECT
+public: 
+	CRxwindow(QWidget *parent=0, const char *name=0);
+	void setMaxLine(int count=0);
+	void setMaxVisible(int count=0);
+
+	~CRxwindow();
+	void setDebugFile(QString FileName);
+private:
+	int maxline;
+//	int visible;
+	int akt_line;
+	int akt_col;
+  /** Text to be triggered on */
+  QString Trigger;
+  /** Received Text */
+  QString RxString;
+  /** Status of Trigger (on/off) */
+  bool TriggerOn;
+	void mouseDoubleClickEvent(QMouseEvent *m);
+  /** Updates and compares the Triggerstring */
+  void updateTrigger(char);
+	/** QSO Recording*/
+	bool DebugOn;
+	QFile *DebugFile;
+	QDataStream FileOutput;
+
+public slots:	
+	/** RX- Fenster updaten */
+	void updaterx( char);		
+  /** activates/deactivates the Trigger */
+  void setTriggerMode(bool);
+  /** Set s the Triggercondition */
+  void setTrigger(QString );
+  /** Clears the contents of the window and initializes the pointers */
+  void clearRxWindow();
+
+signals:
+	void theircallChanged(const QString &);
+  /** This signal will be emitted if the trigger text is found in the input */
+  void triggered();
+	
+};
+
+#endif
diff --git a/linpsk/csound.cpp b/linpsk/csound.cpp
new file mode 100644
index 0000000..26146e8
--- /dev/null
+++ b/linpsk/csound.cpp
@@ -0,0 +1,201 @@
+/***************************************************************************
+                          csound.cpp  -  description
+                             -------------------
+    begin                : Wed Apr 5 2000
+    copyright            : (C) 2000 by Volker Schroer
+    email                : huv.schroer at gmx.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *    based on the work of  Moe Wheatly, AE4JY                             *  
+ ***************************************************************************/
+
+#include "csound.h"
+
+
+CSound::CSound(int ptt = -1):Input(ptt)
+{
+audioformat=AFMT_S16_LE; // 16 Bit little Endian
+//audioformat=AFMT_U8;
+mode=0;	//Mono
+speed=11025;
+fragsize=BUF_SIZE;
+started=FALSE;
+
+}
+CSound::~CSound()
+{
+}
+
+bool CSound::setParams(QString *errorstring)
+{
+unsigned int fs;
+int Fragsize;
+
+Fragsize=fragsize;
+for (fs=0;Fragsize>0;fs++)
+    {
+      Fragsize>>=1;
+    }
+
+Fragsize=0x7fff0000+fs;
+
+ if(ioctl(fd,SNDCTL_DSP_SETFMT,&audioformat) == -1)
+  {
+	 *errorstring= QString(QObject::tr("Error setting Audioformat"));
+	 return FALSE;
+	}
+ if(audioformat != AFMT_S16_LE)
+	 if(audioformat != AFMT_U8)
+  {
+		*errorstring = QString(QObject::tr("Device neither supports 16 Bit encoding nor 8 bit unsigned ")) + QString::number(audioformat);
+		return FALSE;
+	}
+if (ioctl(fd,SNDCTL_DSP_STEREO,&mode) == -1)
+	{
+	 *errorstring=QString(QObject::tr("Error setting Mono Mode"));
+   return FALSE;
+	}
+if (ioctl(fd,SNDCTL_DSP_SPEED,&speed) == -1)
+	{
+	 *errorstring=QString(QObject::tr("Error setting speed to 11025 HZ"));
+	return FALSE;
+	}
+	// Set Fragsize
+  ioctl (fd, SNDCTL_DSP_SETFRAGMENT,&Fragsize);
+
+  // and read it back
+  if(ioctl(fd,SNDCTL_DSP_GETBLKSIZE,&fs))
+    {
+      *errorstring=QString(QObject::tr("Error on reading fragsize"));
+      return FALSE;
+    }
+ if (fs != fragsize*sizeof(short int))
+		{
+		 *errorstring=QString(QObject::tr("Not enough memory for requested Fragmentsize"));
+			return FALSE;
+		}
+return true;
+}
+
+int CSound::getSamples(double *sample,int anzahl)
+{
+
+unsigned char audio_buffer[BUF_SIZE*sizeof(short int)];
+unsigned char *audiobuffer;
+
+int len;
+int i;
+short int value;
+unsigned short int uvalue;
+
+		audiobuffer=audio_buffer;
+ 		if (started)
+    	 {
+				ioctl(fd, SNDCTL_DSP_GETISPACE, &info);
+      	if(info.fragments == 0)
+	 	  		return 0;
+		  	}	
+		else
+				started= true;
+	if (audioformat == AFMT_S16_LE)
+	 {	
+		len=read(fd,audio_buffer,anzahl*sizeof(short int));
+		for(i=0;i<len;i +=2)
+  		{
+				value = *audiobuffer++ ;
+				value = (value & 0x00FF) | ((*audiobuffer++ << 8	) & 0xFF00);		
+     		*sample++=float(value);
+			}
+		 }	
+		else
+	 {	
+		len=read(fd,audio_buffer,anzahl*sizeof(char));
+		for(i=0;i<len;i++)
+  		{
+				uvalue = (*audiobuffer++ << 8	) & 0xFF00;		
+     		*sample++=float(uvalue-32786);
+			}
+		 }	
+
+return len;
+}	
+
+
+
+bool CSound::open_Device_write(QString Device)
+{
+		fd=open(Device,O_WRONLY);
+		if (fd >= 0)
+			return true;
+			else
+			return false;
+}
+bool CSound::close_Device()
+{
+if(fd >= 0)
+	close(fd);
+fd=-1;
+started = false;
+return true;
+}
+
+int CSound::putSamples(double *sample,int anzahl)
+{
+ int len;
+ int i;
+
+ unsigned char audio_buffer[BUF_SIZE*sizeof(short int)];
+ unsigned char *audiobuffer;
+ short int value;
+
+ audiobuffer=audio_buffer;	
+
+ ioctl(fd, SNDCTL_DSP_GETOSPACE, &info);
+ if(info.fragments <= info.fragstotal-2) // Dont write too much buffers
+    {
+      return 0;
+    }
+if (audioformat == AFMT_S16_LE)
+	{
+	  for (i=0;i<anzahl;i++)
+		{
+			*sample = *sample/4.;
+			value=*sample++;
+			*audiobuffer++ = (unsigned char) (value & 0xff);
+			*audiobuffer++ = (unsigned char) ((value >> 8) &0xff);
+		}
+  	len = write(fd,audio_buffer,BUF_SIZE*sizeof(short int));
+	}
+	else
+	{
+ 		for (i=0;i<anzahl;i++)
+		{
+			*sample = *sample/2.;
+			value = *sample++;
+			unsigned short int uvalue = value + 32786;
+			*audiobuffer++ =(unsigned char) ((uvalue >> 8) &0xff);
+		}
+		len = write(fd,audio_buffer,anzahl);
+		
+	}
+  return len;
+}
+
+void CSound::PTT(bool mode)
+{
+int flags;
+flags= TIOCM_RTS|TIOCM_DTR;
+if (serial <0) // No serial Device selected
+		return;
+if (mode)		// PTT on
+	ioctl(serial,TIOCMBIS,&flags);
+else
+  ioctl(serial,TIOCMBIC,&flags);
+return;
+}
diff --git a/linpsk/csound.h b/linpsk/csound.h
new file mode 100644
index 0000000..4d4ceb6
--- /dev/null
+++ b/linpsk/csound.h
@@ -0,0 +1,63 @@
+/***************************************************************************
+                          csound.h  -  description
+                             -------------------
+    begin                : Wed Apr 5 2000
+    copyright            : (C) 2000 by Volker Schroer
+    email                : DL1KSV at gmx.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *   based on the work of Moe Wheatley, AE4JY                              *
+ ***************************************************************************/
+
+#ifndef CSOUND_H
+#define CSOUND_H
+#include <sys/soundcard.h>
+#include <sys/ioctl.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+
+
+#include <qobject.h>
+
+#include "input.h"
+#include "constants.h"
+/**Class for operating on SoundCard
+  *@author Volker Schroer
+  */
+
+class CSound :public Input
+{
+public: 
+	CSound(int ptt);
+	~CSound();
+	bool open_Device_write(QString Device);
+	bool close_Device();
+	bool setParams(QString *errorstring);
+  int getSamples(double *,int);				// Reading Samples from Soundcard
+	int putSamples(double *,int);
+	void PTT(bool);
+
+
+private: // Private attributes
+  /** Type of Operation Mono/Stereo */
+  int mode;
+  /** Audio Format **/
+	int audioformat;
+  /** Sampling rate */
+   int speed;
+	/** Fragmentsize for Soundcard IO */
+	int fragsize;
+	bool started;
+//	int debug;
+  audio_buf_info info;
+};
+
+#endif
diff --git a/linpsk/csquelch.cpp b/linpsk/csquelch.cpp
new file mode 100644
index 0000000..770c880
--- /dev/null
+++ b/linpsk/csquelch.cpp
@@ -0,0 +1,130 @@
+/***************************************************************************
+                          csquelch.cpp  -  description
+                             -------------------
+    begin                : Sun Apr 2 2000
+    copyright            : (C) 2000 by Volker Schroer
+    email                : DL1KSV at gmx.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *    based on the work of  Moe Wheatly, AE4JY                             *  
+ ***************************************************************************/
+
+#include "csquelch.h"
+
+#define Black color[0]
+#define Grey  color[64]
+#define Cyan  color[127]
+#define Yellow color[192]
+
+mySlider::mySlider(QWidget *parent, const char *name = 0) : QSlider(0,100,10,50,QSlider::Vertical,parent,name)
+{
+setBackgroundColor(Black);
+setValue(50);
+Threshold=50;
+SquelchLevel=0;
+SquelchStatus = false;
+}
+
+mySlider::~mySlider()
+{
+}
+
+/** Painting Slider Background depending on Threshold and Signal Strength      */
+void mySlider::paintEvent(QPaintEvent *)
+{
+QPainter p;
+int scale;
+int y;
+int slide;
+y=height();
+scale =(100- SquelchLevel)*y/100;
+slide =(100- Threshold)*y/100;
+
+
+p.begin(this);
+if (SquelchStatus)
+	p.fillRect(0,scale,20,y-scale,Yellow);
+else
+	p.fillRect(0,scale,20,y-scale,Grey);
+paintSlider(&p,colorGroup(),QRect(0,slide,20,5));
+p.setPen(Cyan);
+drawWinGroove(&p,10);
+p.end();
+}
+
+/** sets a new Threshold for Squelch */
+void mySlider::newThreshold(int value)
+{
+int i;
+i= 100-value;
+if ( i != Threshold)
+	{
+	Threshold=i;
+	setValue(value);
+	repaint();
+  }
+}
+
+CSquelch::CSquelch(QWidget *parent, const char *name  ) :QGroupBox(1,Horizontal,"Squelch",parent,name)
+{
+	
+setFrameStyle(QFrame::WinPanel | QFrame::Raised);
+setAlignment(AlignCenter);
+setMargin(0);
+
+
+
+Slider = new mySlider(this);
+connect(Slider,SIGNAL(valueChanged(int)),Slider,SLOT(newThreshold(int)));
+OnOff = new QRadioButton("On/Off",this);
+OnOff->setChecked(true);
+connect(OnOff,SIGNAL(clicked()),this,SLOT(turnOnOffSquelch()));
+OnOffStatus=true;
+}
+
+CSquelch::~CSquelch()
+{
+delete Slider;
+}
+
+
+bool CSquelch::SquelchOn()
+{
+if (!OnOffStatus)
+	return true;
+else	
+return Slider->SquelchStatus;
+
+}
+
+void CSquelch::setSquelchLevel(int i)
+{
+if ( ((Slider->SquelchLevel - i) > 2) || ((i - Slider->SquelchLevel) > 2 ))
+	{
+	if ( i > Slider->SquelchLevel ) 	// Signalquality raises
+	 Slider->SquelchStatus = Slider->SquelchStatus || (i > Slider->Threshold);
+
+	else											// Signalquality falls
+	 Slider->SquelchStatus = Slider->SquelchStatus && (i > Slider->Threshold);
+	 Slider->SquelchLevel=i;
+ 	 Slider->update();
+	}	
+}
+
+void CSquelch::setSquelchStatus(bool squelch)
+{
+
+Slider->SquelchStatus = Slider->SquelchStatus || squelch;
+}
+
+void CSquelch::turnOnOffSquelch()
+{
+OnOffStatus = !OnOffStatus;
+}
+
diff --git a/linpsk/csquelch.h b/linpsk/csquelch.h
new file mode 100644
index 0000000..107837d
--- /dev/null
+++ b/linpsk/csquelch.h
@@ -0,0 +1,72 @@
+/***************************************************************************
+                          csquelch.h  -  description
+                             -------------------
+    begin                : Sun Apr 2 2000
+    copyright            : (C) 2000 by Volker Schroer
+    email                : DL1KSV at gmx.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *   based on the work of Moe Wheatley, AE4JY                              *
+ ***************************************************************************/
+
+#ifndef CSQUELCH_H
+#define CSQUELCH_H
+
+#include <qwidget.h>
+#include <qslider.h>
+#include <qpainter.h>
+#include <qgroupbox.h>
+#include <qradiobutton.h>
+#include "color.h"
+#include "parameter.h"
+
+extern Parameter settings;
+/**
+  *@author Volker Schroer
+  */
+
+class mySlider : public QSlider {
+   Q_OBJECT
+public: 
+	mySlider(QWidget *parent, const char *name);
+	~mySlider();
+int Threshold;
+int SquelchLevel;
+bool SquelchStatus;
+public slots: // Public slots
+  /** sets a new Threshold for Squelch */
+  void newThreshold(int value);
+private:
+
+protected:
+/** Painter for Squelch  */
+  void paintEvent(QPaintEvent *);
+
+};
+
+class CSquelch : public QGroupBox {
+	Q_OBJECT
+public :
+	CSquelch(QWidget *parent, const char *name = 0);
+	~CSquelch();
+/** Status of Squelch*/
+bool SquelchOn();
+void setSquelchLevel(int);
+void setSquelchStatus(bool);
+
+
+private slots:
+void turnOnOffSquelch();
+private:
+QRadioButton *OnOff;
+bool OnOffStatus;
+	
+mySlider *Slider;	
+};
+#endif
diff --git a/linpsk/ctxdisplay.cpp b/linpsk/ctxdisplay.cpp
new file mode 100644
index 0000000..51eb32a
--- /dev/null
+++ b/linpsk/ctxdisplay.cpp
@@ -0,0 +1,145 @@
+/***************************************************************************
+                          ctxdisplay.cpp  -  description
+                             -------------------
+    begin                : Sun Sep 17 2000
+    copyright            : (C) 2000 by Volker Schroer
+    email                : DL1KSV at gmx.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *    based on the work of  Moe Wheatly, AE4JY                             *  
+ ***************************************************************************/
+
+#include "ctxdisplay.h"
+
+CTxdisplay::CTxdisplay(QWidget *parent, const char *name ) : QFrame(parent,name)
+{
+
+setFrameStyle(QFrame::WinPanel | QFrame::Sunken);
+setFontPropagation(AllChildren);
+setFont(settings.TxLabelFont);
+QFontMetrics fm(settings.TxLabelFont);
+
+
+// TX Values
+
+  transmit= new QGroupBox(1,Horizontal,"Tx Freq",this);
+  transmit->setFixedSize(fm.width("Tx Freq")+50,fm.height()*3+22);
+	transmit->setFrameStyle(QFrame::WinPanel | QFrame::Raised);
+
+  transmit->setMargin(0);
+	transmit->setLineWidth(1);
+
+// Tx Frequency	
+  txfreq= new QSpinBox(transmit,"TxFrequency");
+  txfreq->setRange(300,2500);
+  txfreq->setValue(1000);
+	txfrequency=1000;
+	
+// Changing TX- Frequency	
+   connect(txfreq,SIGNAL(valueChanged(int)),this,SLOT(changetxfreq(int)));
+	
+// Net
+  bnet= new QRadioButton(transmit,"net");
+  bnet->setText("Net(F4)");
+	bnet->setChecked(settings.net);
+	connect(bnet,SIGNAL(toggled(bool)),&settings,SLOT(usenet(bool)));
+	bnet->setAccel(Key_F4);
+	
+
+// RX/TX
+	start= new CLedButton(this);
+	start->setText("RX\n(F5)");
+	
+// SelectRxWindow	
+	SelectRxWindow = new CRxSelect(settings.RxChannels,parent,this,"RxWindow");
+
+// Txwindow
+
+		txwindow= new CTxwindow(this);
+		txwindow->setMaxLine(3);
+}
+CTxdisplay::~CTxdisplay(){
+}
+
+void CTxdisplay::resizeEvent(QResizeEvent *e)
+{
+int fontSize;
+int xpos,ypos,left;
+int elements_height;
+int elements_width;
+
+if (width() > 650)
+	{
+		setLineWidth(4);
+		setMargin(15);
+	}
+else
+	{
+		setLineWidth(4);
+		setMargin(10);
+	}
+//	setLineWidth(2);
+//	setMargin(5);
+			
+//Setting FrameSize
+
+left=5;
+
+transmit->move(left,2);	
+
+elements_width=transmit->width()-2*transmit->frameWidth()-2;
+elements_height=(transmit->height()-2*transmit->frameWidth())/3;
+
+fontSize=8;
+// Calculating Fontsize
+if ( (elements_height-2) > 8)
+			fontSize = elements_height -2;					
+if (fontSize*7 > elements_width)
+			fontSize = elements_width/7;					
+
+
+
+//Calculating position of Elements
+xpos=transmit->frameWidth()+1;
+ypos=transmit->frameWidth();
+
+
+//Setting Label Size and position
+
+//Setting DisplayValue and Position
+
+// Setting Size and Position of ToggleButton
+
+// RX/TX Button
+start->setGeometry(2*left+transmit->width(),8,50,transmit->height()-5);
+
+// Select RxWindow
+SelectRxWindow->setGeometry(start->x()+start->width()+5,start->y(),50,start->height());
+
+// Setting TX- Window
+txwindow->setGeometry(SelectRxWindow->x()+SelectRxWindow->width()+5,transmit->y()+2,
+					width()-SelectRxWindow->x()-SelectRxWindow->width()-10,height()-10);
+txwindow->setFont(settings.TxWindowTextFont);
+
+}
+
+void CTxdisplay::changetxfreq(int freq)
+{
+if (freq != txfrequency)
+ {
+ 	txfrequency=freq;
+	txfreq->setValue(txfrequency);
+ }	
+}
+
+int CTxdisplay::getTxFrequency()
+{
+return txfrequency;
+}
+
diff --git a/linpsk/ctxdisplay.h b/linpsk/ctxdisplay.h
new file mode 100644
index 0000000..fed9920
--- /dev/null
+++ b/linpsk/ctxdisplay.h
@@ -0,0 +1,67 @@
+/***************************************************************************
+                          ctxdisplay.h  -  description
+                             -------------------
+    begin                : Sun Sep 17 2000
+    copyright            : (C) 2000 by Volker Schroer
+    email                : DL1KSV at gmx.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *   based on the work of Moe Wheatley, AE4JY                              *
+ ***************************************************************************/
+
+#ifndef CTXDISPLAY_H
+#define CTXDISPLAY_H
+
+#include <qwidget.h>
+#include <qframe.h>
+#include <qlabel.h>
+#include <qradiobutton.h>
+#include <qspinbox.h>
+#include <qpushbutton.h>
+#include "ctxwindow.h"
+#include "crxselect.h"
+#include "cledbutton.h"
+/**Txdisplay including control elements
+  *@author Volker Schroer
+  */
+
+
+
+class CTxdisplay : public QFrame  {
+   Q_OBJECT
+public: 
+	CTxdisplay(QWidget *parent=0, const char *name=0);
+	~CTxdisplay();
+	 CTxwindow *txwindow;
+	 int getTxFrequency();
+
+ /** Start Receiving /Transmitting */
+	 CLedButton *start;
+ /** Selecting Rx- Window */
+ 	CRxSelect *SelectRxWindow;
+
+
+private:
+// Tx Parameters
+ QGroupBox *transmit;
+ QRadioButton *bnet;
+ QSpinBox *txfreq;
+ int txfrequency;				//TX frequency
+
+
+protected:
+	void resizeEvent(QResizeEvent *);
+	
+public slots:
+void changetxfreq(int);	
+
+	
+};
+
+#endif
diff --git a/linpsk/ctxwindow.cpp b/linpsk/ctxwindow.cpp
new file mode 100644
index 0000000..4845910
--- /dev/null
+++ b/linpsk/ctxwindow.cpp
@@ -0,0 +1,179 @@
+/***************************************************************************
+                          ctxwindow.cpp  -  description
+                             -------------------
+    begin                : Sun Mar 5 2000
+    copyright            : (C) 2000 by Volker Schroer
+    email                : DL1KSV at gmx.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *    based on the work of  Moe Wheatly, AE4JY                             *  
+ ***************************************************************************/
+
+#include "ctxwindow.h"
+
+
+CTxwindow::CTxwindow (QWidget *parent, const char *name ) : QMultiLineEdit(parent,name)
+{
+
+inpos=0;
+outpos=0;
+filled=0;
+
+}
+CTxwindow::~CTxwindow(){
+}
+
+void CTxwindow::keyPressEvent(QKeyEvent *e)	// Bearbeiten der Eingaben im
+																						// TX Window
+{
+unsigned char c;
+static bool CapsLock = false;
+if (filled < TXBUFFER_LENGTH)
+	{
+		switch(e->key())
+		{
+			case Key_Enter:
+			case Key_Return:
+			
+				cursorPosition(&akt_line,&akt_col);
+				akt_line++;
+				if(akt_line >= maxline)
+					removeLine(0);	//Erste Zeile entfernen
+					
+					newLine();
+					c='\n';
+				e->accept();
+				filled++;
+				txbuffer[inpos++]=c;
+				inpos = inpos % TXBUFFER_LENGTH;
+      break;
+			
+			case Key_CapsLock:	
+				CapsLock = !CapsLock;
+				e->accept();
+				break;
+				
+
+				case Key_Backspace:
+				c='\b';
+				backspace();
+				e->accept();
+				if (filled > 0)
+					{ 				// We can delete the last char direct in the buffer
+						filled--;
+						inpos = inpos + TXBUFFER_LENGTH - 1;
+					}
+				else
+					{
+						filled++;
+						txbuffer[inpos++]=c;
+					}
+				inpos = inpos % TXBUFFER_LENGTH;
+
+				break;
+
+				default:	
+				if ( (e->state() == ShiftButton) || CapsLock)
+				c=toupper(e->ascii());
+				else
+				c=tolower(e->ascii());
+				if ( c !=0 )
+					{
+					cursorPosition(&akt_line,&akt_col);
+					akt_col++;
+					if (akt_col >80)
+						{
+						insertCntrlChar('\n'); //This newline Char will  be Transmitted
+						newLine();
+						}
+					insertChar(c);
+					e->accept();
+					filled++;
+					txbuffer[inpos++]=c;
+					inpos = inpos % TXBUFFER_LENGTH;
+  				}
+				} // End Case
+
+		}
+	else
+	{
+		QApplication::beep();
+		e->ignore();
+	}
+
+} // keyPressEvent
+
+int CTxwindow::getTxChar(void)
+{
+int ch;
+if (filled > 0)
+	{
+		ch=txbuffer[outpos++];
+		filled--;
+		if (filled == 0)
+			{
+				inpos=0;
+				outpos=0;
+			}
+		 else
+			outpos=outpos % TXBUFFER_LENGTH;
+		if (ch == TXOFF_CODE)
+			settings.status=TX_POSTAMBLE_STATE;
+		return ch;
+	}
+else
+	 return TXTOG_CODE;
+
+}
+
+int CTxwindow::insertTxChar(const char *txtstring, int anzahl)
+
+{
+int len;
+int i;
+len = TXBUFFER_LENGTH-filled;
+if(len == 0)
+	 return len; //TXBuffer full; try later
+
+if (len > anzahl)
+	len =anzahl;
+
+for (i=0;i < len;i++)
+ {
+	txbuffer[inpos++]= *(txtstring+i);
+	inpos=inpos % TXBUFFER_LENGTH;
+	}
+filled +=len;
+return len;
+}	
+
+void CTxwindow::insertCntrlChar(int CntrlChar)
+
+{
+while (filled >= TXBUFFER_LENGTH)
+	qApp->processEvents(100);
+filled++;
+txbuffer[inpos++]= CntrlChar;
+inpos %= TXBUFFER_LENGTH;
+return;
+}
+
+bool CTxwindow::TxBufferisEmpty(void)
+{
+if (filled == 0 )
+return true; //Buffer is empty
+else
+return false; // Some Char's to xmit
+}
+
+void CTxwindow::setMaxLine(int count)
+
+{
+maxline=count;
+}
diff --git a/linpsk/ctxwindow.h b/linpsk/ctxwindow.h
new file mode 100644
index 0000000..d02d055
--- /dev/null
+++ b/linpsk/ctxwindow.h
@@ -0,0 +1,63 @@
+/***************************************************************************
+                          ctxwindow.h  -  description
+                             -------------------
+    begin                : Sun Mar 5 2000
+    copyright            : (C) 2000 by Volker Schroer
+    email                : DL1KSV at gmx.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *   based on the work of Moe Wheatley, AE4JY                              *
+ ***************************************************************************/
+
+#ifndef CTXWINDOW_H
+#define CTXWINDOW_H
+
+
+
+#include <qmultilineedit.h>
+#include <qkeycode.h>
+#include <qapplication.h>
+#include <qbuttongroup.h>
+#include <ctype.h>
+#include "constants.h"
+#include  "parameter.h"
+
+extern Parameter settings;
+
+/**TX Window
+  *@author Volker Schroer
+  */
+
+class CTxwindow : public QMultiLineEdit  {
+  Q_OBJECT
+public:
+	CTxwindow(QWidget *parent=0, const char *name=0);
+	~CTxwindow();
+	void setMaxLine(int count=0);
+	void setMaxVisible(int count=0);
+	int getTxChar(void);
+	int insertTxChar(const char *,int);
+	void insertCntrlChar(int);
+	bool TxBufferisEmpty();
+private:
+	int maxline;
+	int visible;
+	int akt_line;
+	int akt_col;
+	int txbuffer[TXBUFFER_LENGTH];
+  unsigned int inpos;
+	unsigned int outpos;
+	unsigned int filled;
+protected:
+	void keyPressEvent(QKeyEvent *e);
+signals:
+	
+};
+
+#endif
diff --git a/linpsk/docs/Makefile.am b/linpsk/docs/Makefile.am
new file mode 100644
index 0000000..550ae51
--- /dev/null
+++ b/linpsk/docs/Makefile.am
@@ -0,0 +1,5 @@
+####### kdevelop will overwrite this part!!! (begin)##########
+
+SUBDIRS = en 
+
+####### kdevelop will overwrite this part!!! (end)############
diff --git a/linpsk/docs/Makefile.in b/linpsk/docs/Makefile.in
new file mode 100644
index 0000000..7779c3f
--- /dev/null
+++ b/linpsk/docs/Makefile.in
@@ -0,0 +1,443 @@
+# KDE tags expanded automatically by am_edit - $Revision: 1.237 $ 
+# Makefile.in generated automatically by automake 1.4 from Makefile.am
+
+# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+####### kdevelop will overwrite this part!!! (begin)##########
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+#>- 
+bindir = @bindir@
+#>+ 3
+DEPDIR = .deps
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DESTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = ../..
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_alias = @build_alias@
+build_triplet = @build@
+host_alias = @host_alias@
+host_triplet = @host@
+target_alias = @target_alias@
+target_triplet = @target@
+ARTSCCONFIG = @ARTSCCONFIG@
+AS = @AS@
+AUTODIRS = @AUTODIRS@
+CC = @CC@
+CONF_FILES = @CONF_FILES@
+CPP = @CPP@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+DCOPIDL = @DCOPIDL@
+DCOPIDL2CPP = @DCOPIDL2CPP@
+DCOP_DEPENDENCIES = @DCOP_DEPENDENCIES@
+DLLTOOL = @DLLTOOL@
+DPMSINC = @DPMSINC@
+DPMSLIB = @DPMSLIB@
+EXEEXT = @EXEEXT@
+GCJ = @GCJ@
+GCJFLAGS = @GCJFLAGS@
+GLINC = @GLINC@
+GLLIB = @GLLIB@
+GMSGFMT = @GMSGFMT@
+IDL = @IDL@
+IDL_DEPENDENCIES = @IDL_DEPENDENCIES@
+KDB2HTML = @KDB2HTML@
+KDECONFIG = @KDECONFIG@
+KDE_CXXFLAGS = @KDE_CXXFLAGS@
+KDE_EXTRA_RPATH = @KDE_EXTRA_RPATH@
+KDE_INCLUDES = @KDE_INCLUDES@
+KDE_LDFLAGS = @KDE_LDFLAGS@
+KDE_PLUGIN = @KDE_PLUGIN@
+KDE_RPATH = @KDE_RPATH@
+KDE_USE_CLOSURE_FALSE = @KDE_USE_CLOSURE_FALSE@
+KDE_USE_CLOSURE_TRUE = @KDE_USE_CLOSURE_TRUE@
+KDE_USE_FINAL_FALSE = @KDE_USE_FINAL_FALSE@
+KDE_USE_FINAL_TRUE = @KDE_USE_FINAL_TRUE@
+LIBCOMPAT = @LIBCOMPAT@
+LIBCRYPT = @LIBCRYPT@
+LIBDL = @LIBDL@
+LIBJPEG = @LIBJPEG@
+LIBMICO = @LIBMICO@
+LIBOBJS = @LIBOBJS@
+LIBPNG = @LIBPNG@
+LIBPTHREAD = @LIBPTHREAD@
+LIBPYTHON = @LIBPYTHON@
+LIBQIMGIO = @LIBQIMGIO@
+LIBSM = @LIBSM@
+LIBSOCKET = @LIBSOCKET@
+LIBTIFF = @LIBTIFF@
+LIBTOOL = @LIBTOOL@
+LIBUCB = @LIBUCB@
+LIBZ = @LIBZ@
+LIB_KAB = @LIB_KAB@
+LIB_KDECORE = @LIB_KDECORE@
+LIB_KDEUI = @LIB_KDEUI@
+LIB_KFILE = @LIB_KFILE@
+LIB_KFM = @LIB_KFM@
+LIB_KFORMULA = @LIB_KFORMULA@
+LIB_KHTML = @LIB_KHTML@
+LIB_KIMGIO = @LIB_KIMGIO@
+LIB_KIO = @LIB_KIO@
+LIB_KPARTS = @LIB_KPARTS@
+LIB_KSPELL = @LIB_KSPELL@
+LIB_KSYCOCA = @LIB_KSYCOCA@
+LIB_KWRITE = @LIB_KWRITE@
+LIB_QT = @LIB_QT@
+LIB_SMB = @LIB_SMB@
+LIB_X11 = @LIB_X11@
+LN_S = @LN_S@
+MAKEINFO = @MAKEINFO@
+MCOPIDL = @MCOPIDL@
+MICO_INCLUDES = @MICO_INCLUDES@
+MICO_LDFLAGS = @MICO_LDFLAGS@
+MOC = @MOC@
+MSGFMT = @MSGFMT@
+NOOPT_CXXFLAGS = @NOOPT_CXXFLAGS@
+NOREPO = @NOREPO@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PAMINC = @PAMINC@
+PAMLIBPATHS = @PAMLIBPATHS@
+PAMLIBS = @PAMLIBS@
+PYTHONINC = @PYTHONINC@
+PYTHONLIB = @PYTHONLIB@
+PYTHONMODDIR = @PYTHONMODDIR@
+QT_INCLUDES = @QT_INCLUDES@
+QT_LDFLAGS = @QT_LDFLAGS@
+RANLIB = @RANLIB@
+REPO = @REPO@
+STRIP = @STRIP@
+TOPSUBDIRS = @TOPSUBDIRS@
+UIC = @UIC@
+USER_INCLUDES = @USER_INCLUDES@
+USER_LDFLAGS = @USER_LDFLAGS@
+USE_EXCEPTIONS = @USE_EXCEPTIONS@
+USE_RTTI = @USE_RTTI@
+USE_THREADS = @USE_THREADS@
+VERSION = @VERSION@
+XGETTEXT = @XGETTEXT@
+XPMINC = @XPMINC@
+XPMLIB = @XPMLIB@
+X_EXTRA_LIBS = @X_EXTRA_LIBS@
+X_INCLUDES = @X_INCLUDES@
+X_LDFLAGS = @X_LDFLAGS@
+X_PRE_LIBS = @X_PRE_LIBS@
+all_includes = @all_includes@
+all_libraries = @all_libraries@
+idldir = @idldir@
+kde_appsdir = @kde_appsdir@
+kde_bindir = @kde_bindir@
+kde_confdir = @kde_confdir@
+kde_datadir = @kde_datadir@
+kde_htmldir = @kde_htmldir@
+kde_icondir = @kde_icondir@
+kde_includes = @kde_includes@
+kde_libraries = @kde_libraries@
+kde_libs_htmldir = @kde_libs_htmldir@
+kde_libs_prefix = @kde_libs_prefix@
+kde_locale = @kde_locale@
+kde_mimedir = @kde_mimedir@
+kde_moduledir = @kde_moduledir@
+kde_servicesdir = @kde_servicesdir@
+kde_servicetypesdir = @kde_servicetypesdir@
+kde_sounddir = @kde_sounddir@
+kde_templatesdir = @kde_templatesdir@
+kde_wallpaperdir = @kde_wallpaperdir@
+micodir = @micodir@
+qt_includes = @qt_includes@
+qt_libraries = @qt_libraries@
+x_includes = @x_includes@
+x_libraries = @x_libraries@
+
+SUBDIRS = en 
+mkinstalldirs = $(SHELL) $(top_srcdir)/admin/mkinstalldirs
+CONFIG_HEADER = ../../config.h
+CONFIG_CLEAN_FILES = 
+DIST_COMMON =  Makefile.am Makefile.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP_ENV = --best
+#>- all: all-redirect
+#>+ 1
+all: docs-am  all-redirect
+.SUFFIXES:
+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
+#>- 	cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps linpsk/docs/Makefile
+#>+ 2
+	cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps linpsk/docs/Makefile
+	cd $(top_srcdir) && perl admin/am_edit linpsk/docs/Makefile.in
+
+Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status
+	cd $(top_builddir) \
+	  && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+#     (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+
+ at SET_MAKE@
+
+all-recursive install-data-recursive install-exec-recursive \
+installdirs-recursive install-recursive uninstall-recursive  \
+check-recursive installcheck-recursive info-recursive dvi-recursive:
+	@set fnord $(MAKEFLAGS); amf=$$2; \
+	dot_seen=no; \
+	target=`echo $@ | sed s/-recursive//`; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  echo "Making $$target in $$subdir"; \
+	  if test "$$subdir" = "."; then \
+	    dot_seen=yes; \
+	    local_target="$$target-am"; \
+	  else \
+	    local_target="$$target"; \
+	  fi; \
+	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	   || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+	done; \
+	if test "$$dot_seen" = "no"; then \
+	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+	fi; test -z "$$fail"
+
+mostlyclean-recursive clean-recursive distclean-recursive \
+maintainer-clean-recursive:
+	@set fnord $(MAKEFLAGS); amf=$$2; \
+	dot_seen=no; \
+	rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \
+	  rev="$$subdir $$rev"; \
+	  test "$$subdir" = "." && dot_seen=yes; \
+	done; \
+	test "$$dot_seen" = "no" && rev=". $$rev"; \
+	target=`echo $@ | sed s/-recursive//`; \
+	for subdir in $$rev; do \
+	  echo "Making $$target in $$subdir"; \
+	  if test "$$subdir" = "."; then \
+	    local_target="$$target-am"; \
+	  else \
+	    local_target="$$target"; \
+	  fi; \
+	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	   || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+	done && test -z "$$fail"
+tags-recursive:
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+	done
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP)
+	list='$(SOURCES) $(HEADERS)'; \
+	unique=`for i in $$list; do echo $$i; done | \
+	  awk '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	here=`pwd` && cd $(srcdir) \
+	  && mkid -f$$here/ID $$unique $(LISP)
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+   if test "$$subdir" = .; then :; else \
+	    test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
+   fi; \
+	done; \
+	list='$(SOURCES) $(HEADERS)'; \
+	unique=`for i in $$list; do echo $$i; done | \
+	  awk '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+	  || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags  $$unique $(LISP) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+	-rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
+
+subdir = linpsk/docs
+
+distdir: $(DISTFILES)
+	@for file in $(DISTFILES); do \
+	  d=$(srcdir); \
+	  if test -d $$d/$$file; then \
+	    cp -pr $$d/$$file $(distdir)/$$file; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+	    || cp -p $$d/$$file $(distdir)/$$file || :; \
+	  fi; \
+	done
+	for subdir in $(SUBDIRS); do \
+	  if test "$$subdir" = .; then :; else \
+	    test -d $(distdir)/$$subdir \
+	    || mkdir $(distdir)/$$subdir \
+	    || exit 1; \
+	    chmod 777 $(distdir)/$$subdir; \
+	    (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir=../$(top_distdir) distdir=../$(distdir)/$$subdir distdir) \
+	      || exit 1; \
+	  fi; \
+	done
+info-am:
+info: info-recursive
+dvi-am:
+dvi: dvi-recursive
+check-am: all-am
+check: check-recursive
+installcheck-am:
+installcheck: installcheck-recursive
+install-exec-am:
+install-exec: install-exec-recursive
+
+install-data-am:
+install-data: install-data-recursive
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+install: install-recursive
+uninstall-am:
+uninstall: uninstall-recursive
+all-am: Makefile
+all-redirect: all-recursive
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
+installdirs: installdirs-recursive
+installdirs-am:
+
+
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-rm -f Makefile $(CONFIG_CLEAN_FILES)
+	-rm -f config.cache config.log stamp-h stamp-h[0-9]*
+
+maintainer-clean-generic:
+mostlyclean-am:  mostlyclean-tags mostlyclean-generic
+
+mostlyclean: mostlyclean-recursive
+
+clean-am:  clean-tags clean-generic mostlyclean-am
+
+#>- clean: clean-recursive
+#>+ 1
+clean: kde-rpo-clean  clean-recursive
+
+distclean-am:  distclean-tags distclean-generic clean-am
+	-rm -f libtool
+
+distclean: distclean-recursive
+
+maintainer-clean-am:  maintainer-clean-tags maintainer-clean-generic \
+		distclean-am
+	@echo "This command is intended for maintainers to use;"
+	@echo "it deletes files that may require special tools to rebuild."
+
+maintainer-clean: maintainer-clean-recursive
+
+.PHONY: install-data-recursive uninstall-data-recursive \
+install-exec-recursive uninstall-exec-recursive installdirs-recursive \
+uninstalldirs-recursive all-recursive check-recursive \
+installcheck-recursive info-recursive dvi-recursive \
+mostlyclean-recursive distclean-recursive clean-recursive \
+maintainer-clean-recursive tags tags-recursive mostlyclean-tags \
+distclean-tags clean-tags maintainer-clean-tags distdir info-am info \
+dvi-am dvi check check-am installcheck-am installcheck install-exec-am \
+install-exec install-data-am install-data install-am install \
+uninstall-am uninstall all-redirect all-am all installdirs-am \
+installdirs mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+####### kdevelop will overwrite this part!!! (end)############
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
+
+#>+ 2
+docs-am:
+
+#>+ 5
+force-reedit:
+		cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps linpsk/docs/Makefile
+	cd $(top_srcdir) && perl admin/am_edit linpsk/docs/Makefile.in
+
+
+#>+ 2
+final:
+	$(MAKE) all-am
+#>+ 2
+no-final:
+	$(MAKE) all-am
+#>+ 3
+cvs-clean:
+	$(MAKE) -f $(top_srcdir)/admin/Makefile.common cvs-clean
+
+#>+ 3
+kde-rpo-clean:
+	-rm -f *.rpo
diff --git a/linpsk/docs/en/Makefile.am b/linpsk/docs/en/Makefile.am
new file mode 100644
index 0000000..df2e574
--- /dev/null
+++ b/linpsk/docs/en/Makefile.am
@@ -0,0 +1,28 @@
+####### kdevelop will overwrite this part!!! (begin)##########
+
+
+EXTRA_DIST = index.html index-1.html index-2.html index-3.html index-4.html index-5.html 
+
+install-data-local:
+	$(mkinstalldirs) $(prefix)/doc/linpsk/
+	$(INSTALL_DATA) $(srcdir)/index.html $(prefix)/doc/linpsk/index.html
+	$(mkinstalldirs) $(prefix)/doc/linpsk/
+	$(INSTALL_DATA) $(srcdir)/index-1.html $(prefix)/doc/linpsk/index-1.html
+	$(mkinstalldirs) $(prefix)/doc/linpsk/
+	$(INSTALL_DATA) $(srcdir)/index-2.html $(prefix)/doc/linpsk/index-2.html
+	$(mkinstalldirs) $(prefix)/doc/linpsk/
+	$(INSTALL_DATA) $(srcdir)/index-3.html $(prefix)/doc/linpsk/index-3.html
+	$(mkinstalldirs) $(prefix)/doc/linpsk/
+	$(INSTALL_DATA) $(srcdir)/index-4.html $(prefix)/doc/linpsk/index-4.html
+	$(mkinstalldirs) $(prefix)/doc/linpsk/
+	$(INSTALL_DATA) $(srcdir)/index-5.html $(prefix)/doc/linpsk/index-5.html
+
+uninstall-local:
+	-rm -f $(prefix)/doc/linpsk/index.html
+	-rm -f $(prefix)/doc/linpsk/index-1.html
+	-rm -f $(prefix)/doc/linpsk/index-2.html
+	-rm -f $(prefix)/doc/linpsk/index-3.html
+	-rm -f $(prefix)/doc/linpsk/index-4.html
+	-rm -f $(prefix)/doc/linpsk/index-5.html
+
+####### kdevelop will overwrite this part!!! (end)############
diff --git a/linpsk/docs/en/Makefile.in b/linpsk/docs/en/Makefile.in
new file mode 100644
index 0000000..cc87a94
--- /dev/null
+++ b/linpsk/docs/en/Makefile.in
@@ -0,0 +1,402 @@
+# KDE tags expanded automatically by am_edit - $Revision: 1.237 $ 
+# Makefile.in generated automatically by automake 1.4 from Makefile.am
+
+# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+####### kdevelop will overwrite this part!!! (begin)##########
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+#>- 
+bindir = @bindir@
+#>+ 3
+DEPDIR = .deps
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DESTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = ../../..
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_alias = @build_alias@
+build_triplet = @build@
+host_alias = @host_alias@
+host_triplet = @host@
+target_alias = @target_alias@
+target_triplet = @target@
+ARTSCCONFIG = @ARTSCCONFIG@
+AS = @AS@
+AUTODIRS = @AUTODIRS@
+CC = @CC@
+CONF_FILES = @CONF_FILES@
+CPP = @CPP@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+DCOPIDL = @DCOPIDL@
+DCOPIDL2CPP = @DCOPIDL2CPP@
+DCOP_DEPENDENCIES = @DCOP_DEPENDENCIES@
+DLLTOOL = @DLLTOOL@
+DPMSINC = @DPMSINC@
+DPMSLIB = @DPMSLIB@
+EXEEXT = @EXEEXT@
+GCJ = @GCJ@
+GCJFLAGS = @GCJFLAGS@
+GLINC = @GLINC@
+GLLIB = @GLLIB@
+GMSGFMT = @GMSGFMT@
+IDL = @IDL@
+IDL_DEPENDENCIES = @IDL_DEPENDENCIES@
+KDB2HTML = @KDB2HTML@
+KDECONFIG = @KDECONFIG@
+KDE_CXXFLAGS = @KDE_CXXFLAGS@
+KDE_EXTRA_RPATH = @KDE_EXTRA_RPATH@
+KDE_INCLUDES = @KDE_INCLUDES@
+KDE_LDFLAGS = @KDE_LDFLAGS@
+KDE_PLUGIN = @KDE_PLUGIN@
+KDE_RPATH = @KDE_RPATH@
+KDE_USE_CLOSURE_FALSE = @KDE_USE_CLOSURE_FALSE@
+KDE_USE_CLOSURE_TRUE = @KDE_USE_CLOSURE_TRUE@
+KDE_USE_FINAL_FALSE = @KDE_USE_FINAL_FALSE@
+KDE_USE_FINAL_TRUE = @KDE_USE_FINAL_TRUE@
+LIBCOMPAT = @LIBCOMPAT@
+LIBCRYPT = @LIBCRYPT@
+LIBDL = @LIBDL@
+LIBJPEG = @LIBJPEG@
+LIBMICO = @LIBMICO@
+LIBOBJS = @LIBOBJS@
+LIBPNG = @LIBPNG@
+LIBPTHREAD = @LIBPTHREAD@
+LIBPYTHON = @LIBPYTHON@
+LIBQIMGIO = @LIBQIMGIO@
+LIBSM = @LIBSM@
+LIBSOCKET = @LIBSOCKET@
+LIBTIFF = @LIBTIFF@
+LIBTOOL = @LIBTOOL@
+LIBUCB = @LIBUCB@
+LIBZ = @LIBZ@
+LIB_KAB = @LIB_KAB@
+LIB_KDECORE = @LIB_KDECORE@
+LIB_KDEUI = @LIB_KDEUI@
+LIB_KFILE = @LIB_KFILE@
+LIB_KFM = @LIB_KFM@
+LIB_KFORMULA = @LIB_KFORMULA@
+LIB_KHTML = @LIB_KHTML@
+LIB_KIMGIO = @LIB_KIMGIO@
+LIB_KIO = @LIB_KIO@
+LIB_KPARTS = @LIB_KPARTS@
+LIB_KSPELL = @LIB_KSPELL@
+LIB_KSYCOCA = @LIB_KSYCOCA@
+LIB_KWRITE = @LIB_KWRITE@
+LIB_QT = @LIB_QT@
+LIB_SMB = @LIB_SMB@
+LIB_X11 = @LIB_X11@
+LN_S = @LN_S@
+MAKEINFO = @MAKEINFO@
+MCOPIDL = @MCOPIDL@
+MICO_INCLUDES = @MICO_INCLUDES@
+MICO_LDFLAGS = @MICO_LDFLAGS@
+MOC = @MOC@
+MSGFMT = @MSGFMT@
+NOOPT_CXXFLAGS = @NOOPT_CXXFLAGS@
+NOREPO = @NOREPO@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PAMINC = @PAMINC@
+PAMLIBPATHS = @PAMLIBPATHS@
+PAMLIBS = @PAMLIBS@
+PYTHONINC = @PYTHONINC@
+PYTHONLIB = @PYTHONLIB@
+PYTHONMODDIR = @PYTHONMODDIR@
+QT_INCLUDES = @QT_INCLUDES@
+QT_LDFLAGS = @QT_LDFLAGS@
+RANLIB = @RANLIB@
+REPO = @REPO@
+STRIP = @STRIP@
+TOPSUBDIRS = @TOPSUBDIRS@
+UIC = @UIC@
+USER_INCLUDES = @USER_INCLUDES@
+USER_LDFLAGS = @USER_LDFLAGS@
+USE_EXCEPTIONS = @USE_EXCEPTIONS@
+USE_RTTI = @USE_RTTI@
+USE_THREADS = @USE_THREADS@
+VERSION = @VERSION@
+XGETTEXT = @XGETTEXT@
+XPMINC = @XPMINC@
+XPMLIB = @XPMLIB@
+X_EXTRA_LIBS = @X_EXTRA_LIBS@
+X_INCLUDES = @X_INCLUDES@
+X_LDFLAGS = @X_LDFLAGS@
+X_PRE_LIBS = @X_PRE_LIBS@
+all_includes = @all_includes@
+all_libraries = @all_libraries@
+idldir = @idldir@
+kde_appsdir = @kde_appsdir@
+kde_bindir = @kde_bindir@
+kde_confdir = @kde_confdir@
+kde_datadir = @kde_datadir@
+kde_htmldir = @kde_htmldir@
+kde_icondir = @kde_icondir@
+kde_includes = @kde_includes@
+kde_libraries = @kde_libraries@
+kde_libs_htmldir = @kde_libs_htmldir@
+kde_libs_prefix = @kde_libs_prefix@
+kde_locale = @kde_locale@
+kde_mimedir = @kde_mimedir@
+kde_moduledir = @kde_moduledir@
+kde_servicesdir = @kde_servicesdir@
+kde_servicetypesdir = @kde_servicetypesdir@
+kde_sounddir = @kde_sounddir@
+kde_templatesdir = @kde_templatesdir@
+kde_wallpaperdir = @kde_wallpaperdir@
+micodir = @micodir@
+qt_includes = @qt_includes@
+qt_libraries = @qt_libraries@
+x_includes = @x_includes@
+x_libraries = @x_libraries@
+
+EXTRA_DIST = index.html index-1.html index-2.html index-3.html index-4.html index-5.html 
+mkinstalldirs = $(SHELL) $(top_srcdir)/admin/mkinstalldirs
+CONFIG_HEADER = ../../../config.h
+CONFIG_CLEAN_FILES = 
+DIST_COMMON =  Makefile.am Makefile.in
+
+
+#>- DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+#>+ 4
+KDE_DIST=index.tex index.sgml 
+
+DISTFILES= $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) $(KDE_DIST)
+
+
+TAR = tar
+GZIP_ENV = --best
+#>- all: all-redirect
+#>+ 1
+all: docs-am  all-redirect
+.SUFFIXES:
+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
+#>- 	cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps linpsk/docs/en/Makefile
+#>+ 2
+	cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps linpsk/docs/en/Makefile
+	cd $(top_srcdir) && perl admin/am_edit linpsk/docs/en/Makefile.in
+
+Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status
+	cd $(top_builddir) \
+	  && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+tags: TAGS
+TAGS:
+
+
+distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
+
+subdir = linpsk/docs/en
+
+distdir: $(DISTFILES)
+	@for file in $(DISTFILES); do \
+	  d=$(srcdir); \
+	  if test -d $$d/$$file; then \
+	    cp -pr $$d/$$file $(distdir)/$$file; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+	    || cp -p $$d/$$file $(distdir)/$$file || :; \
+	  fi; \
+	done
+info-am:
+info: info-am
+dvi-am:
+dvi: dvi-am
+check-am: all-am
+check: check-am
+installcheck-am:
+installcheck: installcheck-am
+install-exec-am:
+install-exec: install-exec-am
+
+install-data-am: install-data-local
+install-data: install-data-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+install: install-am
+uninstall-am: uninstall-local
+uninstall: uninstall-am
+all-am: Makefile
+all-redirect: all-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
+installdirs:
+
+
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-rm -f Makefile $(CONFIG_CLEAN_FILES)
+	-rm -f config.cache config.log stamp-h stamp-h[0-9]*
+
+maintainer-clean-generic:
+mostlyclean-am:  mostlyclean-generic
+
+mostlyclean: mostlyclean-am
+
+clean-am:  clean-generic mostlyclean-am
+
+#>- clean: clean-am
+#>+ 1
+clean: kde-rpo-clean  clean-am
+
+distclean-am:  distclean-generic clean-am
+	-rm -f libtool
+
+distclean: distclean-am
+
+maintainer-clean-am:  maintainer-clean-generic distclean-am
+	@echo "This command is intended for maintainers to use;"
+	@echo "it deletes files that may require special tools to rebuild."
+
+maintainer-clean: maintainer-clean-am
+
+.PHONY: tags distdir info-am info dvi-am dvi check check-am \
+installcheck-am installcheck install-exec-am install-exec \
+install-data-local install-data-am install-data install-am install \
+uninstall-local uninstall-am uninstall all-redirect all-am all \
+installdirs mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+install-data-local:
+#>- 	$(mkinstalldirs) $(prefix)/doc/linpsk/
+#>+ 1
+	$(mkinstalldirs) $(DESTDIR)$(prefix)/doc/linpsk/
+#>- 	$(INSTALL_DATA) $(srcdir)/index.html $(prefix)/doc/linpsk/index.html
+#>+ 1
+	$(INSTALL_DATA) $(srcdir)/index.html $(DESTDIR)$(prefix)/doc/linpsk/index.html
+#>- 	$(mkinstalldirs) $(prefix)/doc/linpsk/
+#>+ 1
+	$(mkinstalldirs) $(DESTDIR)$(prefix)/doc/linpsk/
+#>- 	$(INSTALL_DATA) $(srcdir)/index-1.html $(prefix)/doc/linpsk/index-1.html
+#>+ 1
+	$(INSTALL_DATA) $(srcdir)/index-1.html $(DESTDIR)$(prefix)/doc/linpsk/index-1.html
+#>- 	$(mkinstalldirs) $(prefix)/doc/linpsk/
+#>+ 1
+	$(mkinstalldirs) $(DESTDIR)$(prefix)/doc/linpsk/
+#>- 	$(INSTALL_DATA) $(srcdir)/index-2.html $(prefix)/doc/linpsk/index-2.html
+#>+ 1
+	$(INSTALL_DATA) $(srcdir)/index-2.html $(DESTDIR)$(prefix)/doc/linpsk/index-2.html
+#>- 	$(mkinstalldirs) $(prefix)/doc/linpsk/
+#>+ 1
+	$(mkinstalldirs) $(DESTDIR)$(prefix)/doc/linpsk/
+#>- 	$(INSTALL_DATA) $(srcdir)/index-3.html $(prefix)/doc/linpsk/index-3.html
+#>+ 1
+	$(INSTALL_DATA) $(srcdir)/index-3.html $(DESTDIR)$(prefix)/doc/linpsk/index-3.html
+#>- 	$(mkinstalldirs) $(prefix)/doc/linpsk/
+#>+ 1
+	$(mkinstalldirs) $(DESTDIR)$(prefix)/doc/linpsk/
+#>- 	$(INSTALL_DATA) $(srcdir)/index-4.html $(prefix)/doc/linpsk/index-4.html
+#>+ 1
+	$(INSTALL_DATA) $(srcdir)/index-4.html $(DESTDIR)$(prefix)/doc/linpsk/index-4.html
+#>- 	$(mkinstalldirs) $(prefix)/doc/linpsk/
+#>+ 1
+	$(mkinstalldirs) $(DESTDIR)$(prefix)/doc/linpsk/
+#>- 	$(INSTALL_DATA) $(srcdir)/index-5.html $(prefix)/doc/linpsk/index-5.html
+#>+ 1
+	$(INSTALL_DATA) $(srcdir)/index-5.html $(DESTDIR)$(prefix)/doc/linpsk/index-5.html
+
+uninstall-local:
+#>- 	-rm -f $(prefix)/doc/linpsk/index.html
+#>+ 1
+	-rm -f $(DESTDIR)$(prefix)/doc/linpsk/index.html
+#>- 	-rm -f $(prefix)/doc/linpsk/index-1.html
+#>+ 1
+	-rm -f $(DESTDIR)$(prefix)/doc/linpsk/index-1.html
+#>- 	-rm -f $(prefix)/doc/linpsk/index-2.html
+#>+ 1
+	-rm -f $(DESTDIR)$(prefix)/doc/linpsk/index-2.html
+#>- 	-rm -f $(prefix)/doc/linpsk/index-3.html
+#>+ 1
+	-rm -f $(DESTDIR)$(prefix)/doc/linpsk/index-3.html
+#>- 	-rm -f $(prefix)/doc/linpsk/index-4.html
+#>+ 1
+	-rm -f $(DESTDIR)$(prefix)/doc/linpsk/index-4.html
+#>- 	-rm -f $(prefix)/doc/linpsk/index-5.html
+#>+ 1
+	-rm -f $(DESTDIR)$(prefix)/doc/linpsk/index-5.html
+
+####### kdevelop will overwrite this part!!! (end)############
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
+
+#>+ 2
+docs-am:
+
+#>+ 5
+force-reedit:
+		cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps linpsk/docs/en/Makefile
+	cd $(top_srcdir) && perl admin/am_edit linpsk/docs/en/Makefile.in
+
+
+#>+ 2
+final:
+	$(MAKE) all-am
+#>+ 2
+no-final:
+	$(MAKE) all-am
+#>+ 3
+cvs-clean:
+	$(MAKE) -f $(top_srcdir)/admin/Makefile.common cvs-clean
+
+#>+ 3
+kde-rpo-clean:
+	-rm -f *.rpo
diff --git a/linpsk/docs/en/index-1.html b/linpsk/docs/en/index-1.html
new file mode 100644
index 0000000..835b0cf
--- /dev/null
+++ b/linpsk/docs/en/index-1.html
@@ -0,0 +1,90 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<HTML>
+<HEAD>
+ <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
+ <TITLE>The LinPsk Handbook: Introduction</TITLE>
+ <LINK HREF="index-2.html" REL=next>
+
+ <LINK HREF="index.html#toc1" REL=contents>
+</HEAD>
+<BODY>
+<A HREF="index-2.html">Next</A>
+Previous
+<A HREF="index.html#toc1">Contents</A>
+<HR>
+<H2><A NAME="s1">1. Introduction</A></H2>
+
+<P>
+<P>
+<H2><A NAME="ss1.1">1.1 Features</A>
+</H2>
+
+<P>LinPsk is a  program for operating on digital modes running on Linux.
+<P>LinPsk supports BPSK , QPSK and RTTY at the moment. 
+<P>Main features are:
+<P>
+<UL>
+<LI> the simultaneuos decoding of up to four channels.</LI>
+<LI> The different digital modes may be mixed</LI>
+<LI>You can define a trigger on each channel to be notified if a text of your choice is detected.</LI>
+<LI>You can log each received channel at a file.</LI>
+<LI>For easy qso'ing you can define macros and for larger texts to be send you can use two files.</LI>
+<LI>You can view the signal as spectrum or in a waterfall display. Both are scalable in the frequency domain.</LI>
+</UL>
+<P>At the Moment RTTY only supports 45 baud and 1.5 stopbits.
+<P>
+<P>
+<P>
+<H2><A NAME="ss1.2">1.2 Changes</A>
+</H2>
+
+<P>
+<UL>
+<LI>Version 0.6 additionally supports receiving and transmitting of RTTY.</LI>
+<LI>In demo mode you can 'play' wav - files that are sampled at 11025 Hz, mono.
+<P>I only implemented a simple interface for reading wav - files, but files that were sampled by
+the linux rec command will work ( mono, 11025 Hz).
+</LI>
+<LI>Now you can select the input source in the setup menu.</LI>
+<LI>Furthermore I changed from kdevelop 1.2 to kdevelop 1.4. That means that the Makefiles have
+changed. So I hope that some problems with configure and the resulting Makefiles disappered.</LI>
+<LI>The distribution now contains a user documentation.</LI>
+</UL>
+<P>
+<H2><A NAME="ss1.3">1.3 Installation</A>
+</H2>
+
+<P>
+<P>
+<H2><A NAME="ss1.4">1.4 How to obtain LinPsk</A>
+</H2>
+
+<P>You can download the latest version of LinPsk from
+<A HREF="http://linpsk.sourceforge.net">http://linpsk.sourceforge.net</A><P>
+<H2><A NAME="ss1.5">1.5 Requirements</A>
+</H2>
+
+<H3>Hardware</H3>
+
+<P>Istarted with LinPsk on a Pentium with 133 MHz and 32 Mb Ram. Perhaps it still
+works on a Pentium 90 , but I have not had the chance to try. 
+<P>Meanwhile I use a AMD Duron , 600 Mhz with 128 MB Ram for developing and testing.
+<P>
+<H3>Software</H3>
+
+<P>
+<UL>
+<LI>Besides Automake and autoconf Qt 2.x has to be installed.
+Qt 3.x will not work at the moment.</LI>
+<LI>A soundcard and the related Opensound Driver must be installed. If you
+only want to have a look at the demo mode ,there is no need for a soundcard.</LI>
+<LI>LinPsk uses /dev/audio for contacting the soundcard. This special file
+normally exists, otherwise you have to make a link.</LI>
+</UL>
+<P>
+<HR>
+<A HREF="index-2.html">Next</A>
+Previous
+<A HREF="index.html#toc1">Contents</A>
+</BODY>
+</HTML>
diff --git a/linpsk/docs/en/index-2.html b/linpsk/docs/en/index-2.html
new file mode 100644
index 0000000..9ced536
--- /dev/null
+++ b/linpsk/docs/en/index-2.html
@@ -0,0 +1,41 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<HTML>
+<HEAD>
+ <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
+ <TITLE>The LinPsk Handbook: Compilation and installation</TITLE>
+ <LINK HREF="index-3.html" REL=next>
+ <LINK HREF="index-1.html" REL=previous>
+ <LINK HREF="index.html#toc2" REL=contents>
+</HEAD>
+<BODY>
+<A HREF="index-3.html">Next</A>
+<A HREF="index-1.html">Previous</A>
+<A HREF="index.html#toc2">Contents</A>
+<HR>
+<H2><A NAME="s2">2. Compilation and installation</A></H2>
+
+<P>In order to compile and install LinPsk on your system, type the following in
+the base directory of the LinPsk distribution:
+<P>
+<BLOCKQUOTE><CODE>
+<PRE>
+% ./configure
+% make
+% make install
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>Since LinPsk uses 
+<PRE>
+autoconf
+</PRE>
+ you should not have any trouble
+compiling it.
+<P>Should you run into problems please report them to the author
+<A HREF="mailto:dl1ksv at gmx.de">Volker Schroer</A><P>
+<P>
+<HR>
+<A HREF="index-3.html">Next</A>
+<A HREF="index-1.html">Previous</A>
+<A HREF="index.html#toc2">Contents</A>
+</BODY>
+</HTML>
diff --git a/linpsk/docs/en/index-3.html b/linpsk/docs/en/index-3.html
new file mode 100644
index 0000000..d52cc48
--- /dev/null
+++ b/linpsk/docs/en/index-3.html
@@ -0,0 +1,443 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<HTML>
+<HEAD>
+ <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
+ <TITLE>The LinPsk Handbook: Usage </TITLE>
+ <LINK HREF="index-4.html" REL=next>
+ <LINK HREF="index-2.html" REL=previous>
+ <LINK HREF="index.html#toc3" REL=contents>
+</HEAD>
+<BODY>
+<A HREF="index-4.html">Next</A>
+<A HREF="index-2.html">Previous</A>
+<A HREF="index.html#toc3">Contents</A>
+<HR>
+<H2><A NAME="s3">3. Usage </A></H2>
+
+<P>LinPsk supports two modes:
+<UL>
+<LI>Demomode</LI>
+<LI>Normal mode.</LI>
+</UL>
+<P>On the first start Linpsk is in demomode.You can run the demomode even without a soundcard installed.
+<P>Starting LinPsk you'll get the following window:
+<P>
+<FIGURE>
+<EPS FILE="LinPsk">
+<IMG SRC="img/Start.png">
+</FIGURE>
+<P>
+<H2><A NAME="ss3.1">3.1 The menu</A>
+</H2>
+
+<P>
+<P>
+<H3><A NAME="FileMenu"></A> The File menu</H3>
+
+<P>The File Menu consists of following items 
+<P>
+<FIGURE>
+<EPS FILE="File">
+<IMG SRC="img/File.png">
+</FIGURE>
+<P>
+<H3>Open DemoFile</H3>
+
+<P>You can select a file for running different demos. Depending on the type of file you choosed in your setup
+the selection is restricted to the resulting file type.
+<P>
+<FIGURE>
+<EPS FILE="DemoFile">
+<IMG SRC="img/DemoFile.png">
+</FIGURE>
+<P>
+<P>
+<H3>Exit</H3>
+
+<P>Terminates the program
+<P>
+<H2><A NAME="ss3.2">3.2 Setup</A>
+</H2>
+
+<P>The settings menu contains the following items 
+<P>
+<FIGURE>
+<EPS FILE="Settings">
+<IMG SRC="img/Settings.png">
+</FIGURE>
+<P>
+<H3>Settings</H3>
+
+<P>Selecting Settings results in the following window
+<P>
+<FIGURE>
+<EPS FILE="SettingsSubmenu">
+<IMG SRC="img/SettingsSubmenu.png">
+</FIGURE>
+<P>
+<H3>DemoMode</H3>
+
+<P>Here you decide whether to use LinPsk in Demomode or not.
+<P>In Demomode you can choose an input file to play with in the 
+<A HREF="#FileMenu">File menu</A> Two different modes are supported
+<UL>
+<LI> Textfile<P>The distribution contains two textfiles
+<UL>
+<LI>></LI>
+<LI>psk31.out</LI>
+<LI>qpsk.out</LI>
+</UL>
+<P>These files contain demosample computed with the software made by w5xd.
+<P>Having clicked the RX - button  you should read 
+<P>
+<P><B>Hello World</B>
+<P>in the RX- window , if you selected the bpsk.out file and
+<P>
+<P><B>cq cq cq de DL1KSV</B>
+<P>if you selected the qpsk.out file.
+<P>At the same time the RX on the button changes to TX.
+<P>
+</LI>
+<LI> wav File <P>Because of the size of the files the distribution doesn't contain wav -files. But you can
+download some samples from my homepage. 
+<P>
+<A HREF="http://linpsk.sourceforge.net">http://linpsk.sourceforge.net</A><P>
+<P>The files were sampled with the rec program and contain a short part of real qso's
+<P>
+</LI>
+</UL>
+<P>You can try the impacts of the different buttons in the demo mode.
+<P>
+<P>
+<H3>Callsign</H3>
+
+<P>Enter your callsign. You can use it in different macros.Some 
+<A HREF="#Macros">macros</A>
+won't work without a callsign set.
+<P>
+<H3><A NAME="UserDefinedButton"></A> Name of userdefined button</H3>
+
+<P>You can name a button  named 
+<A HREF="#Macros">' user defined button'</A> as
+you like.If you are in TX- Mode pushing this button the content of the file you entered in
+<A HREF="#CorrespondingFile">Corresponding file</A> will be sent..
+Pushing this button in RX mode will have no effect.
+<P>
+<H3><A NAME="CorrespondingFile"></A> Corresponding file</H3>
+
+<P>Here you define the name of the file that should be transmitted when you press the
+<A HREF="#UserDefinedButton">user defined button.</A> If this file doesn't reside in your home directory
+you have to enter the filename  including the absolute path.
+<P>
+<H3>Input selection</H3>
+
+<P>Select the input device (mic or line) depending on your installation.
+<P>
+<H3>Input level</H3>
+
+<P>Select the input level. Don't overdrive the soundcard input!
+<P>Have a close look to the spectrum display.
+If the plot changes to red  then the level is too
+high.
+You can control the level using a common mixer program or the Input Level control.
+<P>
+<P>
+<H3><A NAME="OutputControl"></A> Output level</H3>
+
+<P>Sselect the outputlevel carefully !
+<P>You should set the outputlevel as low as the ALC of your transmitter doesn't
+respond .
+<P>Setting output level too high will cause a broadband signal with much
+splatter instead of narrow band signal!!!!!!!!!!!.
+<P>
+<P>
+<H3>Display zero as slashed zero</H3>
+
+<P>You can select whether a zero is be displayed with or without a slash.This option only influences
+how a zero is displayed. A zero will be transmitted as character 0 in any case.
+<P>
+<H3>PTT Control</H3>
+
+<P>LinPSk tries to detect the usable com ports for switch RX/TX mode of your transmitter.
+Select the one you use to control your transmitter.Linpsk drives the RTS/DTR pins.
+<P>
+<P>
+<H3>Time offset to UTC</H3>
+
+<P>Insert the offset from UTC to the time you use for your computer clock.
+<P>
+<H3>Station File </H3>
+
+<P>Insert the name of the file that contains your station description. If the file doesn't reside in your home
+directory enter the name including the absolute path.
+<P>Of course you can enter different contents in this file, too.
+<P>
+<H3><A NAME="RXChannels"></A> Number of RX Channels</H3>
+
+<P>Here you select ( up to to 4) the number of channels you wish to receive simultaneuosly. How many channels work properly
+depends on your processor power. Due to a bug changing the number of rx channels leads to a wrong display.
+Don't be confused . Save the 
+<A HREF="#SaveSettings">settings</A> and restart LinPsk.
+<P>
+<H3>Font Settings</H3>
+
+<P>Selecting fonts settings you reach the following menu
+<P>
+<FIGURE>
+<EPS FILE="fonts">
+<IMG SRC="img/fonts.png">
+</FIGURE>
+<P>
+<P>Independently you can choose the fonts for the different rx windows and the tx - window.
+For both submenus you get the same looking window.
+<P>
+<FIGURE>
+<EPS FILE="fontsselect">
+<IMG SRC="img/fontsselect.png">
+</FIGURE>
+<P>
+<P>Make the selection of your choise.
+<P>
+<P>
+<P>
+<H3>Colour Settings</H3>
+
+<P>Selecting Colour settings you'll get a submenu where you can select a colour settings menu for
+each rx- window depending on  the 
+<A HREF="#RXChannels">numbers of rx channels</A>
+you've choosen.
+<P>The colour you've choosen is used for the window heading , the display text and button text in the
+<A HREF="#SelectWindow">select window menu</A>.
+<P>The colour settings menu looks like the following
+<P>
+<FIGURE>
+<EPS FILE="Colours">
+<IMG SRC="img/ColourSettings.png">
+</FIGURE>
+<P>
+<P>Make the selection of your choise.
+<P>
+<P>
+<H3><A NAME="EditMacros"></A> Edit Macros</H3>
+
+<P>To simplify qso'ing you can define macros.
+<P>Selecting Edit Macros you'll get the following window: 
+<P>
+<FIGURE>
+<EPS FILE="EditMacros">
+<IMG SRC="img/EditMacros.png">
+</FIGURE>
+<P>
+<P>Here you can define or change Macros.
+<P>Beside plain text you can use variables in the text. Using these variables in a macro
+causes in replacing the variables by their actual values.
+<P>The variables are:
+<UL>
+<LI>@CALLSIGN@<P>The callsign as defined in the setup.
+<P>
+</LI>
+<LI>@THEIRCALL@<P>The content of the Their Call box. You can change its content by edititing
+the box by hand or by double clicking in front  of a callsign in the receive window.
+<P>
+</LI>
+<LI>@NAME@<P>The name of the remote op as defined in the Name field                                                                                                                                                                             
+<P>                                                                                     
+</LI>
+<LI>@CWID@<P>This variable will be replaced by "de @CALLSIGN@ kn" and be sent in cw.
+<P>
+</LI>
+</UL>
+<P>Here are some examples for macro definition:
+<UL>
+<LI>@THEIRCALL@ @THEIRCALL@ de @CALLSIGN@ @CALLSIGN@ @CALLSIGN@ pse k
+<P>
+</LI>
+<LI>So btu @NAME@ @THEIRCALL@ de @CALLSIGN@ pse k
+<P>
+</LI>
+<LI>cq cq cq de @CALLSIGN@ @CALLSIGN@ @CALLSIGN@ \n cq cq cq de @CALLSIGN@ @CALLSIGN@ @CALLSIGN@ \n cq cq cq de @CALLSIGN@ @CALLSIGN@ @CALLSIGN@ @CALLSIGN@ pse kkk \n
+<P>
+</LI>
+</UL>
+
+/n means new line.
+<P>
+<H3><A NAME="SaveSettings"></A> Save Settings</H3>
+
+<P>This will save your actual configuration to a file named LinPsk.config, which will be loaded
+every time you start LinPsk.
+<P>
+<P>
+<H2><A NAME="ss3.3">3.3 Parameters to change in the LinPsk.config file</A>
+</H2>
+
+<P>The Linpsk.config file is located in your home directory. There are a few paramters that can only
+be modified by editing this config file. These paramters are:
+<UL>
+<LI>MinimumWindowWidth=xxx<P>Defines the minimum width of the LinPsk main window, default width is 640.
+<P>
+</LI>
+<LI>MinimumWindowHeight=xxx<P>Defines the minimum height of the LinPsk main window, default height is 540. 
+<P>
+</LI>
+<LI>StatusBarHeight=xx<P>Height of the statusbar. Default height is 20
+<P>
+</LI>
+</UL>
+<P>
+<H2><A NAME="ss3.4">3.4 The control elements</A>
+</H2>
+
+<P>
+<P>
+<H3>Trigger</H3>
+
+<P>For each RX window a trigger text may be defined independently. If the trigger is activated and
+the defined text is detected in the text just received you'll get a beep and the window will be
+the active RX window.The trigger itself will be deactivated by this action.
+<P>This feature for instance gives the oportunity to read a running qso while waiting for
+a cq call.
+<P>
+<P>
+<H3><A NAME="RXFrequency"></A> RX Frequency</H3>
+
+<P>You can select the RX - frequency by directly entering the frequecny in the frequency box by
+clicking the up and down arrows of the frequency box or by directly clicking on the signal in the
+<A HREF="#SpectrumDisplay">spectrum display</A>.
+<P>If you activate AFC (Automatic Frequency Control), the frequency will be adjusted to the center of the PSK
+signal. AFC works in a range of about 50Hz around the signal.
+<P>At the moment AFC doesn't work for RTTY:
+<P>
+<H3>Mode Select</H3>
+
+<P>Select the mode of operation you intend to work on. The mode is set independently for each RX window.
+<P>In one window you can listen to an psk qso meanwhile in the other you're listening to RTTY.
+<P>Receiving in RX mode you may see a <F> This means that the followings displayed character had
+a framing error.
+<P>
+<H3>Record QSO</H3>
+
+<P>Activating this feature, up from now the text, received in this window, will be written to a file named
+Rx_Debug_x. x ranges form 0 to 3 and  corresponds to windownumber -1 .
+<P>
+<H3>Squelch</H3>
+
+<P>The squelch control is used to set a threshold to inhibit signal reception beyond a specified level.
+The colour of the squelch bar changes from blue to yellow if the squelch opens.
+<P>To change the squelch level simply click into the control.
+<P>
+<P>
+<H3>TX Frequency</H3>
+
+<P>You can select the TX frequency in the same way you select the 
+<A HREF="#RXFrequency">RX frequency</A>.
+If you've activated NET the TX frequency will be the same as the RX frequency. The X frequency will be adjusted,
+when you change from RX to TX mode.
+<P>
+<H3>RX</H3>
+
+<P>The RX/TX button is a toggle button. It's label describes what happens if you press the button.
+If LinPsk starts, the button is labeld with RX. This ensures that the first possible operation
+is to listen on the band.
+<P>Pressing the button the label changes to TX signaling the next
+possible operation is to transmit.
+<P>
+<H3><A NAME="SelectWindow"></A> Selection of the active RX Window</H3>
+
+<P>This control lets you select the active RX window. If you change from RX to TX, the TX operation always
+uses the parameters (mode of operation, etc.) of the active RX- window.
+<P>
+<P>
+<H3><A NAME="SpectrumDisplay"></A> Spectrum Display</H3>
+
+<P>The spectrum display and the included phase display are the main tuning aid. You can choose a direct
+frequency representation or the waterfall representation.
+<P>You select the appropriate mode by clicking the tab bar.
+<P>In the waterfall a stronger amplitude results in a brighter colour.As time goes on each horizontal frequency
+sample line shifts down and the new one is placed on top.This gives the appearance of an waterfall.
+<P>Normally the spectrum reaches from 100 Hz to 2200 Hz. Changing the endpoints of the spectrum zooms the display.
+<P>By clicking into the display you can select the frequency of the active RX window.
+<P>If you overdrive your soundcard the colour of the spectrum turns to red.
+<P>
+<P>
+<H3>Tune</H3>
+
+<P>Pressing Tune you 'll send a steady carrier. With the 
+<A HREF="#OutputControl">output control</A>
+in the settings menu you can adjust the output level. Don't overdrive your transmitter.The ALC of your transmitter shouldn't
+respond. 
+<P>
+<H3>CW ID</H3>
+
+<P>Pressing this button sends "de @CALLSIGN@ pse k" in CW.
+<P>
+<P>
+<H3>Clear RX Window</H3>
+
+<P>Clears the content of active RX - Window
+<P>
+<P>
+<H3>Clear QSO Info</H3>
+
+<P>Clears the contents of the QSO - Info fields
+<P>
+<P>
+<H3>QSOInfo</H3>
+
+<P>Here you can fill in some QSO - Infos. These are used in some macros
+<P>
+<H3>Remote Call</H3>
+
+<P>The callsign of the remote station. You can enter it by clicking into this field and
+typing the callsign on the keyboard or you doubleclick in the active RX - window
+in front of the callsign and it will be copied in this field
+<P>
+<P>
+<H3>Name</H3>
+
+<P>Click into this field and enter the remote op's name by the keyboard
+<P>
+<P>
+<H3><A NAME="Macros"></A> Macros</H3>
+
+<P>The contents of the macros will be defined in the 
+<A HREF="#EditMacros">Edit Macros</A>
+section of the setup menu
+<P>
+<H3>QSO Start</H3>
+
+<P>Only works in RX mode and switches to TX mode, sends the start macro and switches back to RX mode
+<P>
+<H3>QSO BTU</H3>
+
+<P>Only works in TX mode. Sends the BTU macro and switches back to RX mode.
+<H3>QSO Final</H3>
+
+<P>Works in RX and in TX mode. If you're in RX- Mode it switches into TX mode , send the Final macro and switches
+to RX mode|p>
+In TX mode the Final macro text is sent and then the mode switches to RX mode.
+<P>
+<H3>CQ</H3>
+
+<P>Only works in RX mode. It is switched to TX mode, the cq macro is sent and then switched back to RX mode.
+<P>
+<H3>Send Station File</H3>
+
+<P>This only works in TX mode. In TX mode the content of the station file is send.
+The macro variables won't be evaluated at the monment.
+<P>
+<P>
+<H3>undefined button</H3>
+
+<P>If you defined this button in the setup menu, the content of the correspondig file will be
+sent, if you're in TX mode. In RX mode nothing happens.
+<P>The macro variables won't be evaluated at the monment.
+<P>Personally I  use a file to introduce myself.
+<P>
+<P>
+<HR>
+<A HREF="index-4.html">Next</A>
+<A HREF="index-2.html">Previous</A>
+<A HREF="index.html#toc3">Contents</A>
+</BODY>
+</HTML>
diff --git a/linpsk/docs/en/index-4.html b/linpsk/docs/en/index-4.html
new file mode 100644
index 0000000..dd319ab
--- /dev/null
+++ b/linpsk/docs/en/index-4.html
@@ -0,0 +1,135 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<HTML>
+<HEAD>
+ <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
+ <TITLE>The LinPsk Handbook: Faq's</TITLE>
+ <LINK HREF="index-5.html" REL=next>
+ <LINK HREF="index-3.html" REL=previous>
+ <LINK HREF="index.html#toc4" REL=contents>
+</HEAD>
+<BODY>
+<A HREF="index-5.html">Next</A>
+<A HREF="index-3.html">Previous</A>
+<A HREF="index.html#toc4">Contents</A>
+<HR>
+<H2><A NAME="s4">4. Faq's</A></H2>
+
+<P>
+<P>
+<OL>
+<LI>Question:
+<P>
+<A HREF="#Q1">Running ./configure results in an error message like qt-.... not found</A><P>
+<P>
+</LI>
+<LI>Question:
+<P>
+<A HREF="#Q2">Though I ran  configure with the parameter --with-qt-dir I get an file not found error when running make</A><P>
+</LI>
+<LI>Question:
+<P>
+<A HREF="#Q3">Though configure worked properly, running make I get an error like:</A><P>
+<BLOCKQUOTE><CODE>
+<PRE>
+cdisplay.moc.cpp:45: new declaration `static void
+CDisplay::staticMetaObject()'
+cdisplay.h:47: ambiguates old declaration `static class QMetaObject *
+CDisplay::staticMetaObject()'
+cdisplay.moc.cpp: In function `void
+__static_initialization_and_destruction_0(int, int)':
+cdisplay.moc.cpp:29: no matching function for call to
+`QMetaObjectInit::QMetaObjectInit (QMetaObject * (*)())'
+/usr/lib/qt-2.2.4/include/qmetaobject.h:259: candidates are:
+QMetaObjectInit::QMetaObjectInit(void (*)())
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>
+</LI>
+<LI>Question:
+<P>
+<A HREF="#Q4">Though my computer has two ( or more ) com- ports I can't select one in the setup menu</A><P>
+</LI>
+<LI>Question:
+<P>
+<A HREF="#Q5">How can I check whether my soundcard is installed properly ?</A><P>
+</LI>
+</OL>
+<P>
+<P>
+<P>
+<OL>
+<LI>Running ./configure results in an error message like qt-.... not found
+<A NAME="Q1"></A> <P>
+<P>You need qt-2.2.x to be installed. If you're shure that a proper qt- version
+is installed 
+<P>try 
+<P>
+<P>rm config.cache
+<P>./configure --with-qt-dir="Where your qt is installed"
+<P>
+<P>Have a look that you use the correct moc version when you run make
+<P>
+<P>
+</LI>
+<LI>Though I ran  configure with the parameter --with-qt-dir I get an file not
+found error when running make
+<A NAME="Q2"></A> <P>
+<P>Find out where the qt header files reside and try
+<P>
+<BLOCKQUOTE><CODE>
+<PRE>
+rm config.cache
+./configure --with-qt-dir="Where your qt is installed" --with-qt-include="where the include files reside"
+</PRE>
+</CODE></BLOCKQUOTE>
+<P>
+</LI>
+<LI>Though configure worked properly, running make I get an error like:<P>
+<BLOCKQUOTE><CODE>
+<PRE>
+cdisplay.moc.cpp:45: new declaration `static void
+CDisplay::staticMetaObject()'
+cdisplay.h:47: ambiguates old declaration `static class QMetaObject *
+CDisplay::staticMetaObject()'
+cdisplay.moc.cpp: In function `void
+__static_initialization_and_destruction_0(int, int)':
+cdisplay.moc.cpp:29: no matching function for call to
+`QMetaObjectInit::QMetaObjectInit (QMetaObject * (*)())'
+/usr/lib/qt-2.2.4/include/qmetaobject.h:259: candidates are:
+QMetaObjectInit::QMetaObjectInit(void (*)())
+</PRE>
+</CODE></BLOCKQUOTE>
+
+<A NAME="Q3"></A> <P>Be sure to have the correct version of moc, when you run make.
+<P>Probably you don't use the version of moc that corresponds to your qt- version.
+<P>Check where your moc resides and if you have several versions installed on
+your system.
+<P>Sometimes there is a link in /usr/bin to "QT-directory/bin/moc".
+<P>Set the link appropriate or adjust your PATH- environment- variable that the
+correct moc version is to be found.
+<P>
+</LI>
+<LI>Though my computer has two ( or more ) com- ports I can't select one in the setup menu.<P>
+<A NAME="Q4"></A> <P>Propably you don't have the permissions to access the com - ports. Check the permissions of /dev/ttyS0 - /dev/ttyS3.
+In most systems the group of these files is uucp and the group has read/write permission.
+Check if you belong to the group uucp, if not add your id to this group.
+<P>
+</LI>
+<LI>How can I check whether my soundcard is installed properly ? <P>
+<A NAME="Q5"></A> <P>Make sure that soem input source is connected to your soundcard. then run 
+<P>dd if=/dev/audio of=/tmp/test.wav bs=4k count=4
+<P>This command samples 16k 'sound'. Then run
+<P>cat /tmp/test.wav >/dev/audio
+and you should be able to hear what you sampled earlier.
+<P>
+<P>
+<P>
+</LI>
+</OL>
+<P>
+<HR>
+<A HREF="index-5.html">Next</A>
+<A HREF="index-3.html">Previous</A>
+<A HREF="index.html#toc4">Contents</A>
+</BODY>
+</HTML>
diff --git a/linpsk/docs/en/index-5.html b/linpsk/docs/en/index-5.html
new file mode 100644
index 0000000..1236222
--- /dev/null
+++ b/linpsk/docs/en/index-5.html
@@ -0,0 +1,38 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<HTML>
+<HEAD>
+ <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
+ <TITLE>The LinPsk Handbook: Copyright</TITLE>
+ <LINK HREF="index-4.html" REL=previous>
+ <LINK HREF="index.html#toc5" REL=contents>
+</HEAD>
+<BODY>
+Next
+<A HREF="index-4.html">Previous</A>
+<A HREF="index.html#toc5">Contents</A>
+<HR>
+<H2><A NAME="s5">5. Copyright</A></H2>
+
+<P>
+<P>LinPsk Copyright 2001 Volker Schroer , dl1ksv at gmx.de
+<P>
+<P>This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
+<P>This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+<P>You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+<P>
+<P>
+<P>
+<HR>
+Next
+<A HREF="index-4.html">Previous</A>
+<A HREF="index.html#toc5">Contents</A>
+</BODY>
+</HTML>
diff --git a/linpsk/docs/en/index.html b/linpsk/docs/en/index.html
new file mode 100644
index 0000000..20d86d7
--- /dev/null
+++ b/linpsk/docs/en/index.html
@@ -0,0 +1,56 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<HTML>
+<HEAD>
+ <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
+ <TITLE>The LinPsk Handbook</TITLE>
+ <LINK HREF="index-1.html" REL=next>
+
+
+</HEAD>
+<BODY>
+<A HREF="index-1.html">Next</A>
+Previous
+Contents
+<HR>
+<H1>The LinPsk Handbook</H1>
+
+<H2>Volker Schroer <CODE>dl1ksv at gmx.de</CODE></H2>Version 0.6.2 ,  Januar 2002
+<P><HR>
+<EM>This Handbook describes LinPsk Version 0.6.2
+LinPsk is a PSK/RTTY program for Linux . The PSK part is based on the sources of WinPsk 1.0
+by Moe Wheatly, AE4JY.</EM>
+<HR>
+<P>
+<H2><A NAME="toc1">1.</A> <A HREF="index-1.html">Introduction</A></H2>
+
+<UL>
+<LI><A HREF="index-1.html#ss1.1">1.1 Features</A>
+<LI><A HREF="index-1.html#ss1.2">1.2 Changes</A>
+<LI><A HREF="index-1.html#ss1.3">1.3 Installation</A>
+<LI><A HREF="index-1.html#ss1.4">1.4 How to obtain LinPsk</A>
+<LI><A HREF="index-1.html#ss1.5">1.5 Requirements</A>
+</UL>
+<P>
+<H2><A NAME="toc2">2.</A> <A HREF="index-2.html">Compilation and installation</A></H2>
+
+<P>
+<H2><A NAME="toc3">3.</A> <A HREF="index-3.html">Usage </A></H2>
+
+<UL>
+<LI><A HREF="index-3.html#ss3.1">3.1 The menu</A>
+<LI><A HREF="index-3.html#ss3.2">3.2 Setup</A>
+<LI><A HREF="index-3.html#ss3.3">3.3 Parameters to change in the LinPsk.config file</A>
+<LI><A HREF="index-3.html#ss3.4">3.4 The control elements</A>
+</UL>
+<P>
+<H2><A NAME="toc4">4.</A> <A HREF="index-4.html">Faq's</A></H2>
+
+<P>
+<H2><A NAME="toc5">5.</A> <A HREF="index-5.html">Copyright</A></H2>
+
+<HR>
+<A HREF="index-1.html">Next</A>
+Previous
+Contents
+</BODY>
+</HTML>
diff --git a/linpsk/docs/en/index.sgml b/linpsk/docs/en/index.sgml
new file mode 100644
index 0000000..6eeab11
--- /dev/null
+++ b/linpsk/docs/en/index.sgml
@@ -0,0 +1,573 @@
+<!doctype linuxdoc system>
+<article>
+<title>The LinPsk Handbook
+<author>Volker Schroer <tt>dl1ksv at gmx.de</tt>
+<date>Version 0.6.2 ,  Januar 2002
+<abstract>
+This Handbook describes LinPsk Version 0.6.2
+LinPsk is a PSK/RTTY program for Linux . The PSK part is based on the sources of WinPsk 1.0
+by Moe Wheatly, AE4JY.
+</abstract>
+
+<toc>
+<lof>
+<sect>Introduction<p>
+
+<sect1>Features
+<p>
+LinPsk is a  program for operating on digital modes running on Linux.<p>
+LinPsk supports BPSK , QPSK and RTTY at the moment. <p>
+Main features are:
+<p>
+<itemize>
+<item> the simultaneuos decoding of up to four channels.
+<item> The different digital modes may be mixed
+<item>
+You can define a trigger on each channel to be notified if a text of your choice is detected.
+<item>
+You can log each received channel at a file.
+<item>
+For easy qso'ing you can define macros and for larger texts to be send you can use two files.
+<item>
+You can view the signal as spectrum or in a waterfall display. Both are scalable in the frequency domain.
+</itemize>
+<p>
+At the Moment RTTY only supports 45 baud and 1.5 stopbits.
+<p>
+
+
+<sect1>Changes
+<p>
+<itemize>
+<item>
+Version 0.6 additionally supports receiving and transmitting of RTTY.
+<item>
+In demo mode you can 'play' wav - files that are sampled at 11025 Hz, mono.
+<p>
+I only implemented a simple interface for reading wav - files, but files that were sampled by
+the linux rec command will work ( mono, 11025 Hz).
+<item>Now you can select the input source in the setup menu.
+<item>Furthermore I changed from kdevelop 1.2 to kdevelop 1.4. That means that the Makefiles have
+ changed. So I hope that some problems with configure and the resulting Makefiles disappered.
+<item>
+The distribution now contains a user documentation.
+</itemize>
+
+<sect1>Installation<p>
+
+<sect1>How to obtain LinPsk<p>
+You can download the latest version of LinPsk from
+<htmlurl url="http://linpsk.sourceforge.net">
+
+<sect1>Requirements
+
+<sect2>Hardware<p>
+Istarted with LinPsk on a Pentium with 133 MHz and 32 Mb Ram. Perhaps it still
+works on a Pentium 90 , but I have not had the chance to try. <p>
+Meanwhile I use a AMD Duron , 600 Mhz with 128 MB Ram for developing and testing.
+
+<sect2>Software<p>
+<itemize>
+<item>
+Besides Automake and autoconf Qt 2.x has to be installed.
+Qt 3.x will not work at the moment.
+<item>
+A soundcard and the related Opensound Driver must be installed. If you
+only want to have a look at the demo mode ,there is no need for a soundcard.
+<item>
+LinPsk uses /dev/audio for contacting the soundcard. This special file
+normally exists, otherwise you have to make a link.
+</itemize>
+
+<sect>Compilation and installation<p>
+In order to compile and install LinPsk on your system, type the following in
+the base directory of the LinPsk distribution:
+<p>
+<tscreen><verb>
+% ./configure
+% make
+% make install
+</verb></tscreen>
+<p>
+Since LinPsk uses <verb>autoconf</verb> you should not have any trouble
+compiling it.<p>
+Should you run into problems please report them to the author
+<htmlurl url="mailto:dl1ksv at gmx.de" name = "Volker Schroer">
+<p>
+
+<sect> Usage <p>
+LinPsk supports two modes:
+<itemize>
+<item>Demomode
+<item>Normal mode.
+</itemize>
+<p>On the first start Linpsk is in demomode.You can run the demomode even without a soundcard installed.
+<p>Starting LinPsk you'll get the following window:
+<p>
+<figure loc="here">
+<eps file="LinPsk" height="4cm" angle = "0">
+<img src="img/Start.png">
+</figure>
+
+<sect1>The menu<p>
+
+<sect2>The File menu<label id="FileMenu"><p>
+The File Menu consists of following items <p>
+<figure loc="here">
+<eps file="File" height="4cm" angle = "0" >
+<img src="img/File.png">
+</figure>
+
+<sect3>Open DemoFile<p>
+You can select a file for running different demos. Depending on the type of file you choosed in your setup
+the selection is restricted to the resulting file type.
+
+<figure loc="here">
+<eps file="DemoFile" height="4cm" angle = "0" >
+<img src="img/DemoFile.png">
+</figure>
+
+
+<sect3>Exit<p>
+Terminates the program
+
+<sect1>Setup<p>
+The settings menu contains the following items <p>
+<figure loc="here">
+<eps file="Settings" height="4cm" angle = "0" >
+<img src="img/Settings.png">
+</figure>
+
+<sect2>Settings<p>
+Selecting Settings results in the following window
+<p>
+<figure loc="here">
+<eps file="SettingsSubmenu" height="4cm" angle = "0" >
+<img src="img/SettingsSubmenu.png">
+</figure>
+
+<sect3>DemoMode<p>
+Here you decide whether to use LinPsk in Demomode or not.
+<p>
+In Demomode you can choose an input file to play with in the <ref id="FileMenu" name ="File menu"> Two different modes are supported
+<itemize>
+<item> Textfile<p>
+The distribution contains two textfiles
+<itemize>>
+<item>psk31.out
+<item>qpsk.out
+</itemize>
+
+These files contain demosample computed with the software made by w5xd.
+
+Having clicked the RX - button  you should read <p>
+
+<bf>Hello World</bf><p>
+in the RX- window , if you selected the bpsk.out file and<p>
+
+<bf>cq cq cq de DL1KSV</bf><p>
+if you selected the qpsk.out file.<p>
+At the same time the RX on the button changes to TX.
+
+<item> wav File <p>
+Because of the size of the files the distribution doesn't contain wav -files. But you can
+download some samples from my homepage. <p><htmlurl url="http://linpsk.sourceforge.net">
+<p>
+
+The files were sampled with the rec program and contain a short part of real qso's
+
+</itemize>
+
+You can try the impacts of the different buttons in the demo mode.
+
+
+<sect3>Callsign<p>
+Enter your callsign. You can use it in different macros.Some <ref id="Macros" name="macros">
+won't work without a callsign set.
+
+<sect3>Name of userdefined button<label id = "UserDefinedButton"><p>
+You can name a button  named <ref id="Macros" name="' user defined button'"> as
+ you like.If you are in TX- Mode pushing this button the content of the file you entered in
+<ref id="CorrespondingFile" name="Corresponding file"> will be sent..
+Pushing this button in RX mode will have no effect.
+
+<sect3>Corresponding file<label id="CorrespondingFile"><p>
+Here you define the name of the file that should be transmitted when you press the
+<ref id="UserDefinedButton" name="user defined button."> If this file doesn't reside in your home directory
+you have to enter the filename  including the absolute path.
+
+<sect3>Input selection<p>
+Select the input device (mic or line) depending on your installation.
+
+<sect4>Input level<p>
+Select the input level. Don't overdrive the soundcard input!<p>
+Have a close look to the spectrum display.
+If the plot changes to red  then the level is too
+high.
+You can control the level using a common mixer program or the Input Level control.<p>
+
+<sect4>Output level<label id="OutputControl"><p>
+Sselect the outputlevel carefully !<p>
+You should set the outputlevel as low as the ALC of your transmitter doesn't
+respond .
+
+Setting output level too high will cause a broadband signal with much
+splatter instead of narrow band signal!!!!!!!!!!!.
+
+
+<sect3>Display zero as slashed zero<p>
+You can select whether a zero is be displayed with or without a slash.This option only influences
+how a zero is displayed. A zero will be transmitted as character 0 in any case.
+
+<sect3>PTT Control<p>
+LinPSk tries to detect the usable com ports for switch RX/TX mode of your transmitter.
+Select the one you use to control your transmitter.Linpsk drives the RTS/DTR pins.
+
+
+<sect3>Time offset to UTC<p>
+Insert the offset from UTC to the time you use for your computer clock.
+
+<sect3>Station File <p>
+Insert the name of the file that contains your station description. If the file doesn't reside in your home
+directory enter the name including the absolute path.<p>
+Of course you can enter different contents in this file, too.
+
+<sect3>Number of RX Channels<label id="RXChannels"><p>
+Here you select ( up to to 4) the number of channels you wish to receive simultaneuosly. How many channels work properly
+depends on your processor power. Due to a bug changing the number of rx channels leads to a wrong display.
+Don't be confused . Save the <ref id="SaveSettings" name= "settings"> and restart LinPsk.
+
+<sect2>Font Settings<p>
+Selecting fonts settings you reach the following menu
+<p>
+<figure loc="here">
+<eps file="fonts" height="4cm" angle = "0" >
+<img src="img/fonts.png">
+</figure>
+<p>
+<p>Independently you can choose the fonts for the different rx windows and the tx - window.
+For both submenus you get the same looking window.<p>
+<figure loc="here">
+<eps file="fontsselect" height="4cm" angle = "0" >
+<img src="img/fontsselect.png">
+</figure>
+
+<p>
+Make the selection of your choise.<p>
+
+
+<sect2>Colour Settings<p>
+Selecting Colour settings you'll get a submenu where you can select a colour settings menu for
+ each rx- window depending on  the <ref id="RXChannels" name="numbers of rx channels">
+ you've choosen.<p>
+The colour you've choosen is used for the window heading , the display text and button text in the
+<ref id="SelectWindow" name="select window menu">.<p>
+The colour settings menu looks like the following<p>
+<figure loc="here">
+<eps file="Colours" height="4cm" angle = "0" >
+<img src="img/ColourSettings.png">
+</figure>
+
+<p>
+Make the selection of your choise.<p>
+
+<sect2>Edit Macros<label id="EditMacros"><p>
+To simplify qso'ing you can define macros.
+<p>
+Selecting Edit Macros you'll get the following window: <p>
+<figure loc="here">
+<eps file="EditMacros" height="4cm" angle = "0" >
+<img src="img/EditMacros.png">
+</figure>
+<p>
+
+Here you can define or change Macros.<p>
+Beside plain text you can use variables in the text. Using these variables in a macro
+causes in replacing the variables by their actual values.
+<p>
+The variables are:
+<itemize>
+<item>@CALLSIGN@<p>
+The callsign as defined in the setup.
+<p>
+<item>@THEIRCALL@<p>
+The content of the Their Call box. You can change its	content by edititing
+ the box by hand or by double clicking in front	of a callsign in the receive window.
+<p>
+<item>@NAME@<p>
+The name of the remote op as defined in the Name field																						
+<p>											
+<item>@CWID@<p>
+This variable will be replaced by "de @CALLSIGN@ kn" and be sent in cw.
+<p>
+</itemize>
+<p>
+Here are some examples for macro definition:
+<itemize>
+<item>
+ at THEIRCALL@ @THEIRCALL@ de @CALLSIGN@ @CALLSIGN@ @CALLSIGN@ pse k
+<p>
+<item>
+So btu @NAME@ @THEIRCALL@ de @CALLSIGN@ pse k
+<p>
+<item>
+cq cq cq de @CALLSIGN@ @CALLSIGN@ @CALLSIGN@ \n cq cq cq de @CALLSIGN@ @CALLSIGN@ @CALLSIGN@ \n cq cq cq de @CALLSIGN@ @CALLSIGN@ @CALLSIGN@ @CALLSIGN@ pse kkk \n
+<p>
+</itemize>
+/n means new line.
+
+<sect2>Save Settings<label id="SaveSettings"><p>
+This will save your actual configuration to a file named LinPsk.config, which will be loaded
+every time you start LinPsk.
+<p>
+
+<sect1>Parameters to change in the LinPsk.config file<p>
+The Linpsk.config file is located in your home directory. There are a few paramters that can only
+be modified by editing this config file. These paramters are:
+<itemize>
+<item>MinimumWindowWidth=xxx<p>
+Defines the minimum width of the LinPsk main window, default width is 640.<p>
+<item>MinimumWindowHeight=xxx<p>
+Defines the minimum height of the LinPsk main window, default height is 540. <p>
+<item>StatusBarHeight=xx<p>
+Height of the statusbar. Default height is 20<p>
+</itemize>
+
+<sect1>The control elements<p>
+
+<sect2>Trigger<p>
+For each RX window a trigger text may be defined independently. If the trigger is activated and
+the defined text is detected in the text just received you'll get a beep and the window will be
+the active RX window.The trigger itself will be deactivated by this action.<p>
+This feature for instance gives the oportunity to read a running qso while waiting for
+a cq call.<p>
+
+<sect2>RX Frequency<label id="RXFrequency"><p>
+You can select the RX - frequency by directly entering the frequecny in the frequency box by
+clicking the up and down arrows of the frequency box or by directly clicking on the signal in the
+<ref id="SpectrumDisplay" name ="spectrum display">.<p>
+If you activate AFC (Automatic Frequency Control), the frequency will be adjusted to the center of the PSK
+signal. AFC works in a range of about 50Hz around the signal.<p>
+At the moment AFC doesn't work for RTTY:
+
+<sect2>Mode Select<p>
+Select the mode of operation you intend to work on. The mode is set independently for each RX window.<p>
+In one window you can listen to an psk qso meanwhile in the other you're listening to RTTY.<p>
+Receiving in RX mode you may see a <F> This means that the followings displayed character had
+a framing error.
+
+<sect2>Record QSO<p>
+Activating this feature, up from now the text, received in this window, will be written to a file named
+Rx_Debug_x. x ranges form 0 to 3 and  corresponds to windownumber -1 .
+
+<sect2>Squelch<p>
+The squelch control is used to set a threshold to inhibit signal reception beyond a specified level.
+The colour of the squelch bar changes from blue to yellow if the squelch opens.<p>
+To change the squelch level simply click into the control.<p>
+
+<sect2>TX Frequency<p>
+You can select the TX frequency in the same way you select the <ref id="RXFrequency" name ="RX frequency">.
+If you've activated NET the TX frequency will be the same as the RX frequency. The X frequency will be adjusted,
+when you change from RX to TX mode.
+
+<sect2>RX<p>
+The RX/TX button is a toggle button. It's label describes what happens if you press the button.
+If LinPsk starts, the button is labeld with RX. This ensures that the first possible operation
+is to listen on the band.<p>Pressing the button the label changes to TX signaling the next
+possible operation is to transmit.
+
+<sect2>Selection of the active RX Window<label id="SelectWindow"><p>
+This control lets you select the active RX window. If you change from RX to TX, the TX operation always
+uses the parameters (mode of operation, etc.) of the active RX- window.<p>
+
+<sect2>Spectrum Display<label id="SpectrumDisplay"><p>
+The spectrum display and the included phase display are the main tuning aid. You can choose a direct
+frequency representation or the waterfall representation.<p>
+You select the appropriate mode by clicking the tab bar.<p>
+In the waterfall a stronger amplitude results in a brighter colour.As time goes on each horizontal frequency
+sample line shifts down and the new one is placed on top.This gives the appearance of an waterfall.
+<p>
+Normally the spectrum reaches from 100 Hz to 2200 Hz. Changing the endpoints of the spectrum zooms the display.
+<p>
+By clicking into the display you can select the frequency of the active RX window.<p>
+If you overdrive your soundcard the colour of the spectrum turns to red.<p>
+
+<sect2>Tune<p>
+Pressing Tune you 'll send a steady carrier. With the <ref id="OutputControl" name="output control">
+in the settings menu you can adjust the output level. Don't overdrive your transmitter.The ALC of your transmitter shouldn't
+respond. <p>
+<sect2>CW ID<p>
+Pressing this button sends "de @CALLSIGN@ pse k" in CW.<p>
+
+<sect2>Clear RX Window<p>
+Clears the content of active RX - Window<p>
+
+<sect2>Clear QSO Info<p>
+Clears the contents of the QSO - Info fields<p>
+
+<sect2>QSOInfo<p>
+Here you can fill in some QSO - Infos. These are used in some macros<p>
+<sect3>Remote Call<p>
+The callsign of the remote station. You can enter it by clicking into this field and
+typing the callsign on the keyboard or you doubleclick in the active RX - window
+in front of the callsign and it will be copied in this field<p>
+
+<sect3>Name<p>
+Click into this field and enter the remote op's name by the keyboard<p>
+
+<sect2>Macros<label id="Macros"><p>
+The contents of the macros will be defined in the <ref id ="EditMacros" name = "Edit Macros">
+section of the setup menu<p>
+<sect3>QSO Start<p>
+Only works in RX mode and switches to TX mode, sends the start macro and switches back to RX mode
+<p>
+<sect3>QSO BTU<p>
+Only works in TX mode. Sends the BTU macro and switches back to RX mode.
+<sect3>QSO Final<p>
+Works in RX and in TX mode. If you're in RX- Mode it switches into TX mode , send the Final macro and switches
+to RX mode|p>
+In TX mode the Final macro text is sent and then the mode switches to RX mode.
+<p>
+<sect3>CQ<p>
+Only works in RX mode. It is switched to TX mode, the cq macro is sent and then switched back to RX mode.
+<p>
+<sect3>Send Station File<p>
+This only works in TX mode. In TX mode the content of the station file is send.
+The macro variables won't be evaluated at the monment.<p>
+
+<sect3>undefined button<p>
+If you defined this button in the setup menu, the content of the correspondig file will be
+sent, if you're in TX mode. In RX mode nothing happens.<p>
+The macro variables won't be evaluated at the monment.<p>
+Personally I  use a file to introduce myself.<p>
+
+<sect>Faq's<p>
+
+<enum>
+<item>Question:
+<p>
+<ref id="Q1" name="Running ./configure results in an error message like qt-.... not found">
+<p>
+<p>
+<item>Question:
+<p>
+<ref id="Q2" name="Though I ran  configure with the parameter --with-qt-dir I get an file not
+found error when running make">
+<p>
+<item>Question:
+<p>
+<ref id= "Q3" name="Though configure worked properly, running make I get an error like:">
+<p>
+<tscreen><verb>
+cdisplay.moc.cpp:45: new declaration `static void
+CDisplay::staticMetaObject()'
+cdisplay.h:47: ambiguates old declaration `static class QMetaObject *
+CDisplay::staticMetaObject()'
+cdisplay.moc.cpp: In function `void
+__static_initialization_and_destruction_0(int, int)':
+cdisplay.moc.cpp:29: no matching function for call to
+`QMetaObjectInit::QMetaObjectInit (QMetaObject * (*)())'
+/usr/lib/qt-2.2.4/include/qmetaobject.h:259: candidates are:
+QMetaObjectInit::QMetaObjectInit(void (*)())
+</verb>
+</tscreen>
+<p>
+<item>Question:
+<p>
+<ref id = "Q4" name="Though my computer has two ( or more ) com- ports I can't select one in the setup menu">
+<p>
+<item>Question:
+<p>
+<ref id = "Q5" name="How can I check whether my soundcard is installed properly ?">
+<p>
+</enum>
+
+<p><p>
+<enum>
+<item>Running ./configure results in an error message like qt-.... not found<label id="Q1"><p>
+
+You need qt-2.2.x to be installed. If you're shure that a proper qt- version
+is installed <p>
+try <p>
+
+rm config.cache<p>
+./configure --with-qt-dir="Where your qt is installed"<p>
+
+Have a look that you use the correct moc version when you run make
+
+<p>
+<item>Though I ran  configure with the parameter --with-qt-dir I get an file not
+found error when running make<label id="Q2"><p>
+
+Find out where the qt header files reside and try<p>
+<tscreen><verb>
+rm config.cache
+./configure --with-qt-dir="Where your qt is installed" --with-qt-include="where the include files reside"
+</verb>
+</tscreen>
+<p>
+<item>Though configure worked properly, running make I get an error like:<p>
+<tscreen><verb>
+cdisplay.moc.cpp:45: new declaration `static void
+CDisplay::staticMetaObject()'
+cdisplay.h:47: ambiguates old declaration `static class QMetaObject *
+CDisplay::staticMetaObject()'
+cdisplay.moc.cpp: In function `void
+__static_initialization_and_destruction_0(int, int)':
+cdisplay.moc.cpp:29: no matching function for call to
+`QMetaObjectInit::QMetaObjectInit (QMetaObject * (*)())'
+/usr/lib/qt-2.2.4/include/qmetaobject.h:259: candidates are:
+QMetaObjectInit::QMetaObjectInit(void (*)())
+</verb>
+</tscreen>
+<Label id="Q3"><p>
+Be sure to have the correct version of moc, when you run make.<p>
+Probably you don't use the version of moc that corresponds to your qt- version.
+
+Check where your moc resides and if you have several versions installed on
+your system.
+
+Sometimes there is a link in /usr/bin to "QT-directory/bin/moc".
+
+Set the link appropriate or adjust your PATH- environment- variable that the
+correct moc version is to be found.
+<p>
+<item>Though my computer has two ( or more ) com- ports I can't select one in the setup menu.<p>
+<Label id="Q4"><p>
+Propably you don't have the permissions to access the com - ports. Check the permissions of /dev/ttyS0 - /dev/ttyS3.
+In most systems the group of these files is uucp and the group has read/write permission.
+ Check if you belong to the group uucp, if not add your id to this group.
+<p>
+<item>How can I check whether my soundcard is installed properly ? <p>
+<Label id="Q5"><p>
+Make sure that soem input source is connected to your soundcard. then run <p>
+dd if=/dev/audio of=/tmp/test.wav bs=4k count=4<p>
+This command samples 16k 'sound'. Then run<p>
+cat /tmp/test.wav >/dev/audio
+and you should be able to hear what you sampled earlier.<p>
+
+
+</enum>
+
+<sect>Copyright<p>
+
+LinPsk Copyright 2001 Volker Schroer , dl1ksv at gmx.de
+
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+<p>
+
+</article>
diff --git a/linpsk/docs/en/index.tex b/linpsk/docs/en/index.tex
new file mode 100644
index 0000000..2fe2752
--- /dev/null
+++ b/linpsk/docs/en/index.tex
@@ -0,0 +1,1230 @@
+\FOT{2}\Node%
+{}\Node%
+{\def\Element%
+{0}}
+\Node%
+{\def\Element%
+{1}}The LinPsk Handbook
+\Node%
+{\def\Element%
+{2}}Volker Schroer \Node%
+{\def\Element%
+{3}}dl1ksv at gmx.de\endNode{}
+\Node%
+{\def\Element%
+{4}}Version 0.6 ,  Sept. 2001
+\Node%
+{\def\Element%
+{5}}
+This Handbook describes LinPsk Version 0.6
+LinPsk is a PSK/RTTY program for Linux . The PSK part is based on the sources of WinPsk 1.0
+by Moe Wheatly, AE4JY.
+\endNode{}
+
+\Node%
+{\def\Element%
+{6}}
+\Node%
+{\def\Element%
+{7}}
+\Node%
+{\def\Element%
+{8}}Introduction\Node%
+{\def\Element%
+{9}}
+
+\Node%
+{\def\Element%
+{10}}Features
+\Node%
+{\def\Element%
+{11}}
+LinPsk is a  program for operating on digital modes running on Linux.\Node%
+{\def\Element%
+{12}}
+LinPsk supports BPSK , QPSK and RTTY at the moment. \Node%
+{\def\Element%
+{13}}
+Main features are:
+\Node%
+{\def\Element%
+{14}}
+\Node%
+{\def\Element%
+{15}}
+\Node%
+{\def\Element%
+{16}} the simultaneuos decoding of up to four channels.
+\Node%
+{\def\Element%
+{17}} The different digital modes may be mixed
+\Node%
+{\def\Element%
+{18}}
+You can define a trigger on each channel to be notified if a text of your choice is detected.
+\Node%
+{\def\Element%
+{19}}
+You can log each received channel at a file.
+\Node%
+{\def\Element%
+{20}}
+For easy qso'ing you can define macros and for larger texts to be send you can use two files.
+\Node%
+{\def\Element%
+{21}}
+You can view the signal as spectrum or in a waterfall display. Both are scalable in the frequency domain.
+\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}
+\Node%
+{\def\Element%
+{22}}
+At the Moment RTTY only supports 45 baud and 1.5 stopbits.
+\Node%
+{\def\Element%
+{23}}
+
+
+\Node%
+{\def\Element%
+{24}}Changes
+\Node%
+{\def\Element%
+{25}}
+\Node%
+{\def\Element%
+{26}}
+\Node%
+{\def\Element%
+{27}}
+Version 0.6 additionally supports receiving and transmitting of RTTY.
+\Node%
+{\def\Element%
+{28}}
+In demo mode you can 'play' wav -\/ files that are sampled at 11025 Hz, mono.
+\Node%
+{\def\Element%
+{29}}
+I only implemented a simple interface for reading wav -\/ files, but files that were sampled by
+the linux rec command will work ( mono, 11025 Hz).
+\Node%
+{\def\Element%
+{30}}Now you can select the input source in the setup menu.
+\Node%
+{\def\Element%
+{31}}Furthermore I changed from kdevelop 1.2 to kdevelop 1.4. That means that the Makefiles have
+ changed. So I hope that some problems with configure and the resulting Makefiles disappered.
+\Node%
+{\def\Element%
+{32}}
+The distribution now contains a user documentation.
+\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}
+
+\Node%
+{\def\Element%
+{33}}Installation\Node%
+{\def\Element%
+{34}}
+
+\Node%
+{\def\Element%
+{35}}How to obtain LinPsk\Node%
+{\def\Element%
+{36}}
+You can download the latest version of LinPsk from
+\Node%
+{\def\Element%
+{37}}
+
+\Node%
+{\def\Element%
+{38}}Requirements
+
+\Node%
+{\def\Element%
+{39}}Hardware\Node%
+{\def\Element%
+{40}}
+Istarted with LinPsk on a Pentium with 133 MHz and 32 Mb Ram. Perhaps it still
+works on a Pentium 90 , but I have not had the chance to try. \Node%
+{\def\Element%
+{41}}
+Meanwhile I use a AMD Duron , 600 Mhz with 128 MB Ram for developing and testing.
+
+\Node%
+{\def\Element%
+{42}}Software\Node%
+{\def\Element%
+{43}}
+\Node%
+{\def\Element%
+{44}}
+\Node%
+{\def\Element%
+{45}}
+Besides Automake and autoconf Qt 2.x has to be installed.
+Qt 3.x will not work at the moment.
+\Node%
+{\def\Element%
+{46}}
+A soundcard and the related Opensound Driver must be installed. If you
+only want to have a look at the demo mode ,there is no need for a soundcard.
+\Node%
+{\def\Element%
+{47}}
+LinPsk uses /dev/audio for contacting the soundcard. This special file
+normally exists, otherwise you have to make a link.
+\endNode{}\endNode{}\endNode{}\endNode{}
+
+\Node%
+{\def\Element%
+{48}}Compilation and installation\Node%
+{\def\Element%
+{49}}
+In order to compile and install LinPsk on your system, type the following in
+the base directory of the LinPsk distribution:
+\Node%
+{\def\Element%
+{50}}
+\Node%
+{\def\Element%
+{51}}\Node%
+{\def\Element%
+{52}}
+\% ./configure
+\% make
+\% make install
+\endNode{}\endNode{}
+\Node%
+{\def\Element%
+{53}}
+Since LinPsk uses \Node%
+{\def\Element%
+{54}}autoconf\endNode{} you should not have any trouble
+compiling it.\Node%
+{\def\Element%
+{55}}
+Should you run into problems please report them to the author
+\Node%
+{\def\Element%
+{56}}
+\Node%
+{\def\Element%
+{57}}
+
+\Node%
+{\def\Element%
+{58}} Usage \Node%
+{\def\Element%
+{59}}
+LinPsk supports two modes:
+\Node%
+{\def\Element%
+{60}}
+\Node%
+{\def\Element%
+{61}}Demomode
+\Node%
+{\def\Element%
+{62}}Normal mode.
+\endNode{}\endNode{}\endNode{}
+\Node%
+{\def\Element%
+{63}}On the first start Linpsk is in demomode.You can run the demomode even without a soundcard installed.
+\Node%
+{\def\Element%
+{64}}Starting LinPsk you'll get the following window:
+\Node%
+{\def\Element%
+{65}}
+\Node%
+{\def\Element%
+{66}}
+\Node%
+{\def\Element%
+{67}}
+\Node%
+{\def\Element%
+{68}}
+\endNode{}\endNode{}\endNode{}
+
+\Node%
+{\def\Element%
+{69}}The menu\Node%
+{\def\Element%
+{70}}
+
+\Node%
+{\def\Element%
+{71}}The File menu\Node%
+{\def\Element%
+{72}}\Node%
+{\def\Element%
+{73}}
+The File Menu consists of following items \Node%
+{\def\Element%
+{74}}
+\Node%
+{\def\Element%
+{75}}
+\Node%
+{\def\Element%
+{76}}
+\Node%
+{\def\Element%
+{77}}
+\endNode{}\endNode{}\endNode{}
+
+\Node%
+{\def\Element%
+{78}}Open DemoFile\Node%
+{\def\Element%
+{79}}
+You can select a file for running different demos. Depending on the type of file you choosed in your setup
+the selection is restricted to the resulting file type.
+
+\Node%
+{\def\Element%
+{80}}
+\Node%
+{\def\Element%
+{81}}
+\Node%
+{\def\Element%
+{82}}
+\endNode{}\endNode{}\endNode{}
+
+
+\Node%
+{\def\Element%
+{83}}Exit\Node%
+{\def\Element%
+{84}}
+Terminates the program
+
+\Node%
+{\def\Element%
+{85}}Setup\Node%
+{\def\Element%
+{86}}
+The settings menu contains the following items \Node%
+{\def\Element%
+{87}}
+\Node%
+{\def\Element%
+{88}}
+\Node%
+{\def\Element%
+{89}}
+\Node%
+{\def\Element%
+{90}}
+\endNode{}\endNode{}\endNode{}
+
+\Node%
+{\def\Element%
+{91}}Settings\Node%
+{\def\Element%
+{92}}
+Selecting Settings results in the following window
+\Node%
+{\def\Element%
+{93}}
+\Node%
+{\def\Element%
+{94}}
+\Node%
+{\def\Element%
+{95}}
+\Node%
+{\def\Element%
+{96}}
+\endNode{}\endNode{}\endNode{}
+
+\Node%
+{\def\Element%
+{97}}DemoMode\Node%
+{\def\Element%
+{98}}
+Here you decide whether to use LinPsk in Demomode or not.
+\Node%
+{\def\Element%
+{99}}
+In Demomode you can choose an input file to play with in the \Node%
+{\def\Element%
+{100}} Two different modes are supported
+\Node%
+{\def\Element%
+{101}}
+\Node%
+{\def\Element%
+{102}} Textfile\Node%
+{\def\Element%
+{103}}
+The distribution contains two textfiles
+\Node%
+{\def\Element%
+{104}}>\/
+\Node%
+{\def\Element%
+{105}}bpsk.out
+\Node%
+{\def\Element%
+{106}}qpsk.out
+\endNode{}\endNode{}\endNode{}
+
+These files contain demosample computed with the software made by w5xd.
+
+Having clicked the RX -\/ button  you should read \Node%
+{\def\Element%
+{107}}
+
+\Node%
+{\def\Element%
+{108}}Hello World\endNode{}\Node%
+{\def\Element%
+{109}}
+in the RX-\/ window , if you selected the bpsk.out file and\Node%
+{\def\Element%
+{110}}
+
+\Node%
+{\def\Element%
+{111}}cq cq cq de DL1KSV\endNode{}\Node%
+{\def\Element%
+{112}}
+if you selected the qpsk.out file.\Node%
+{\def\Element%
+{113}}
+At the same time the RX on the button changes to TX.
+
+\Node%
+{\def\Element%
+{114}} wav File \Node%
+{\def\Element%
+{115}}
+Because of the size of the files the distribution doesn't contain wav -\/files. But you can
+download some samples from my homepage. \Node%
+{\def\Element%
+{116}}\Node%
+{\def\Element%
+{117}}
+\Node%
+{\def\Element%
+{118}}
+
+The files were sampled with the rec program and contain a short part of real qso's
+
+\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}
+
+You can try the impacts of the different buttons in the demo mode.
+
+
+\Node%
+{\def\Element%
+{119}}Callsign\Node%
+{\def\Element%
+{120}}
+Enter your callsign. You can use it in different macros.Some \Node%
+{\def\Element%
+{121}}
+won't work without a callsign set.
+
+\Node%
+{\def\Element%
+{122}}Name of userdefined button\Node%
+{\def\Element%
+{123}}\Node%
+{\def\Element%
+{124}}
+You can name a button  named \Node%
+{\def\Element%
+{125}} as
+ you like.If you are in TX-\/ Mode pushing this button the content of the file you entered in
+\Node%
+{\def\Element%
+{126}} will be sent..
+Pushing this button in RX mode will have no effect.
+
+\Node%
+{\def\Element%
+{127}}Corresponding file\Node%
+{\def\Element%
+{128}}\Node%
+{\def\Element%
+{129}}
+Here you define the name of the file that should be transmitted when you press the
+\Node%
+{\def\Element%
+{130}} If this file doesn't reside in your home directory
+you have to enter the filename  including the absolute path.
+
+\Node%
+{\def\Element%
+{131}}Input selection\Node%
+{\def\Element%
+{132}}
+Select the input device (mic or line) depending on your installation.
+
+\Node%
+{\def\Element%
+{133}}Input level\Node%
+{\def\Element%
+{134}}
+Select the input level. Don't overdrive the soundcard input!\Node%
+{\def\Element%
+{135}}
+Have a close look to the spectrum display.
+If the plot changes to red  then the level is too
+high.
+You can control the level using a common mixer program or the Input Level control.\Node%
+{\def\Element%
+{136}}
+
+\Node%
+{\def\Element%
+{137}}Output level\Node%
+{\def\Element%
+{138}}\Node%
+{\def\Element%
+{139}}
+Sselect the outputlevel carefully !\Node%
+{\def\Element%
+{140}}
+You should set the outputlevel as low as the ALC of your transmitter doesn't
+respond .
+
+Setting output level too high will cause a broadband signal with much
+splatter instead of narrow band signal!!!!!!!!!!!.
+
+
+\Node%
+{\def\Element%
+{141}}Display zero as slashed zero\Node%
+{\def\Element%
+{142}}
+You can select whether a zero is be displayed with or without a slash.This option only influences
+how a zero is displayed. A zero will be transmitted as character 0 in any case.
+
+\Node%
+{\def\Element%
+{143}}PTT Control\Node%
+{\def\Element%
+{144}}
+LinPSk tries to detect the usable com ports for switch RX/TX mode of your transmitter.
+Select the one you use to control your transmitter.Linpsk drives the RTS/DTR pins.
+
+
+\Node%
+{\def\Element%
+{145}}Time offset to UTC\Node%
+{\def\Element%
+{146}}
+Insert the offset from UTC to the time you use for your computer clock.
+
+\Node%
+{\def\Element%
+{147}}Station File \Node%
+{\def\Element%
+{148}}
+Insert the name of the file that contains your station description. If the file doesn't reside in your home
+directory enter the name including the absolute path.\Node%
+{\def\Element%
+{149}}
+Of course you can enter different contents in this file, too.
+
+\Node%
+{\def\Element%
+{150}}Number of RX Channels\Node%
+{\def\Element%
+{151}}\Node%
+{\def\Element%
+{152}}
+Here you select ( up to to 4) the number of channels you wish to receive simultaneuosly. How many channels work properly
+depends on your processor power. Due to a bug changing the number of rx channels leads to a wrong display.
+Don't be confused . Save the \Node%
+{\def\Element%
+{153}} and restart LinPsk.
+
+\Node%
+{\def\Element%
+{154}}Font Settings\Node%
+{\def\Element%
+{155}}
+Selecting fonts settings you reach the following menu
+\Node%
+{\def\Element%
+{156}}
+\Node%
+{\def\Element%
+{157}}
+\Node%
+{\def\Element%
+{158}}
+\Node%
+{\def\Element%
+{159}}
+\endNode{}\endNode{}\endNode{}
+\Node%
+{\def\Element%
+{160}}
+\Node%
+{\def\Element%
+{161}}Independently you can choose the fonts for the different rx windows and the tx -\/ window.
+For both submenus you get the same looking window.\Node%
+{\def\Element%
+{162}}
+\Node%
+{\def\Element%
+{163}}
+\Node%
+{\def\Element%
+{164}}
+\Node%
+{\def\Element%
+{165}}
+\endNode{}\endNode{}\endNode{}
+
+\Node%
+{\def\Element%
+{166}}
+Make the selection of your choise.\Node%
+{\def\Element%
+{167}}
+
+
+\Node%
+{\def\Element%
+{168}}Colour Settings\Node%
+{\def\Element%
+{169}}
+Selecting Colour settings you'll get a submenu where you can select a colour settings menu for
+ each rx-\/ window depending on  the \Node%
+{\def\Element%
+{170}}
+ you've choosen.\Node%
+{\def\Element%
+{171}}
+The colour you've choosen is used for the window heading , the display text and button text in the
+\Node%
+{\def\Element%
+{172}}.\Node%
+{\def\Element%
+{173}}
+The colour settings menu looks like the following\Node%
+{\def\Element%
+{174}}
+\Node%
+{\def\Element%
+{175}}
+\Node%
+{\def\Element%
+{176}}
+\Node%
+{\def\Element%
+{177}}
+\endNode{}\endNode{}\endNode{}
+
+\Node%
+{\def\Element%
+{178}}
+Make the selection of your choise.\Node%
+{\def\Element%
+{179}}
+
+\Node%
+{\def\Element%
+{180}}Edit Macros\Node%
+{\def\Element%
+{181}}\Node%
+{\def\Element%
+{182}}
+To simplify qso'ing you can define macros.
+\Node%
+{\def\Element%
+{183}}
+Selecting Edit Macros you'll get the following window: \Node%
+{\def\Element%
+{184}}
+\Node%
+{\def\Element%
+{185}}
+\Node%
+{\def\Element%
+{186}}
+\Node%
+{\def\Element%
+{187}}
+\endNode{}\endNode{}\endNode{}
+\Node%
+{\def\Element%
+{188}}
+
+Here you can define or change Macros.\Node%
+{\def\Element%
+{189}}
+Beside plain text you can use variables in the text. Using these variables in a macro
+causes in replacing the variables by their actual values.
+\Node%
+{\def\Element%
+{190}}
+The variables are:
+\Node%
+{\def\Element%
+{191}}
+\Node%
+{\def\Element%
+{192}}@CALLSIGN@\Node%
+{\def\Element%
+{193}}
+The callsign as defined in the setup.
+\Node%
+{\def\Element%
+{194}}
+\Node%
+{\def\Element%
+{195}}@THEIRCALL@\Node%
+{\def\Element%
+{196}}
+The content of the Their Call box. You can change its	content by edititing
+ the box by hand or by double clicking in front	of a callsign in the receive window.
+\Node%
+{\def\Element%
+{197}}
+\Node%
+{\def\Element%
+{198}}@NAME@\Node%
+{\def\Element%
+{199}}
+The name of the remote op as defined in the Name field																						
+\Node%
+{\def\Element%
+{200}}											
+\Node%
+{\def\Element%
+{201}}@CWID@\Node%
+{\def\Element%
+{202}}
+This variable will be replaced by "de @CALLSIGN@ kn" and be sent in cw.
+\Node%
+{\def\Element%
+{203}}
+\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}
+\Node%
+{\def\Element%
+{204}}
+Here are some examples for macro definition:
+\Node%
+{\def\Element%
+{205}}
+\Node%
+{\def\Element%
+{206}}
+ at THEIRCALL@ @THEIRCALL@ de @CALLSIGN@ @CALLSIGN@ @CALLSIGN@ pse k
+\Node%
+{\def\Element%
+{207}}
+\Node%
+{\def\Element%
+{208}}
+So btu @NAME@ @THEIRCALL@ de @CALLSIGN@ pse k
+\Node%
+{\def\Element%
+{209}}
+\Node%
+{\def\Element%
+{210}}
+cq cq cq de @CALLSIGN@ @CALLSIGN@ @CALLSIGN@ \char92{}n cq cq cq de @CALLSIGN@ @CALLSIGN@ @CALLSIGN@ \char92{}n cq cq cq de @CALLSIGN@ @CALLSIGN@ @CALLSIGN@ @CALLSIGN@ pse kkk \char92{}n
+\Node%
+{\def\Element%
+{211}}
+\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}
+/n means new line.
+
+\Node%
+{\def\Element%
+{212}}Save Settings\Node%
+{\def\Element%
+{213}}\Node%
+{\def\Element%
+{214}}
+This will save your actual configuration to a file named LinPsk.config, which will be loaded
+every time you start LinPsk.
+\Node%
+{\def\Element%
+{215}}
+\Node%
+{\def\Element%
+{216}}The control elements\Node%
+{\def\Element%
+{217}}
+
+\Node%
+{\def\Element%
+{218}}Trigger\Node%
+{\def\Element%
+{219}}
+For each RX window a trigger text may be defined independently. If the trigger is activated and
+the defined text is detected in the text just received you'll get a beep and the window will be
+the active RX window.The trigger itself will be deactivated by this action.\Node%
+{\def\Element%
+{220}}
+This feature for instance gives the oportunity to read a running qso while waiting for
+a cq call.\Node%
+{\def\Element%
+{221}}
+
+\Node%
+{\def\Element%
+{222}}RX Frequency\Node%
+{\def\Element%
+{223}}\Node%
+{\def\Element%
+{224}}
+You can select the RX -\/ frequency by directly entering the frequecny in the frequency box by
+clicking the up and down arrows of the frequency box or by directly clicking on the signal in the
+\Node%
+{\def\Element%
+{225}}.\Node%
+{\def\Element%
+{226}}
+If you activate AFC (Automatic Frequency Control), the frequency will be adjusted to the center of the PSK
+signal. AFC works in a range of about 50Hz around the signal.\Node%
+{\def\Element%
+{227}}
+At the moment AFC doesn't work for RTTY:
+
+\Node%
+{\def\Element%
+{228}}Mode Select\Node%
+{\def\Element%
+{229}}
+Select the mode of operation you intend to work on. The mode is set independently for each RX window.\Node%
+{\def\Element%
+{230}}
+In one window you can listen to an psk qso meanwhile in the other you're listening to RTTY.\Node%
+{\def\Element%
+{231}}
+
+\Node%
+{\def\Element%
+{232}}Record QSO\Node%
+{\def\Element%
+{233}}
+Activating this feature, up from now the text, received in this window, will be written to a file named
+Rx\char95{}Debug\char95{}x. x ranges form 0 to 3 and  corresponds to windownumber -\/1 .
+
+\Node%
+{\def\Element%
+{234}}Squelch\Node%
+{\def\Element%
+{235}}
+The squelch control is used to set a threshold to inhibit signal reception beyond a specified level.
+The colour of the squelch bar changes from blue to yellow if the squelch opens.\Node%
+{\def\Element%
+{236}}
+To change the squelch level simply click into the control.\Node%
+{\def\Element%
+{237}}
+
+\Node%
+{\def\Element%
+{238}}TX Frequency\Node%
+{\def\Element%
+{239}}
+You can select the TX frequency in the same way you select the \Node%
+{\def\Element%
+{240}}.
+If you've activated NET the TX frequency will be the same as the RX frequency. The X frequency will be adjusted,
+when you change from RX to TX mode.
+
+\Node%
+{\def\Element%
+{241}}RX\Node%
+{\def\Element%
+{242}}
+The RX/TX button is a toggle button. It's label describes what happens if you press the button.
+If LinPsk starts, the button is labeld with RX. This ensures that the first possible operation
+is to listen on the band.\Node%
+{\def\Element%
+{243}}Pressing the button the label changes to TX signaling the next
+possible operation is to transmit.
+
+\Node%
+{\def\Element%
+{244}}Selection of the active RX Window\Node%
+{\def\Element%
+{245}}\Node%
+{\def\Element%
+{246}}
+This control lets you select the active RX window. If you change from RX to TX, the TX operation always
+uses the parameters (mode of operation, etc.) of the active RX-\/ window.\Node%
+{\def\Element%
+{247}}
+
+\Node%
+{\def\Element%
+{248}}Spectrum Display\Node%
+{\def\Element%
+{249}}\Node%
+{\def\Element%
+{250}}
+The spectrum display and the included phase display are the main tuning aid. You can choose a direct
+frequency representation or the waterfall representation.\Node%
+{\def\Element%
+{251}}
+You select the appropriate mode by clicking the tab bar.\Node%
+{\def\Element%
+{252}}
+In the waterfall a stronger amplitude results in a brighter colour.As time goes on each horizontal frequency
+sample line shifts down and the new one is placed on top.This gives the appearance of an waterfall.
+\Node%
+{\def\Element%
+{253}}
+Normally the spectrum reaches from 100 Hz to 2200 Hz. Changing the endpoints of the spectrum zooms the display.
+\Node%
+{\def\Element%
+{254}}
+By clicking into the display you can select the frequency of the active RX window.\Node%
+{\def\Element%
+{255}}
+If you overdrive your soundcard the colour of the spectrum turns to red.\Node%
+{\def\Element%
+{256}}
+
+\Node%
+{\def\Element%
+{257}}Tune\Node%
+{\def\Element%
+{258}}
+Pressing Tune you 'll send a steady carrier. With the \Node%
+{\def\Element%
+{259}}
+in the settings menu you can adjust the output level. Don't overdrive your transmitter.The ALC of your transmitter shouldn't
+respond. \Node%
+{\def\Element%
+{260}}
+\Node%
+{\def\Element%
+{261}}CW ID\Node%
+{\def\Element%
+{262}}
+Pressing this button sends "de @CALLSIGN@ pse k" in CW.\Node%
+{\def\Element%
+{263}}
+
+\Node%
+{\def\Element%
+{264}}Clear RX Window\Node%
+{\def\Element%
+{265}}
+Clears the content of active RX -\/ Window\Node%
+{\def\Element%
+{266}}
+
+\Node%
+{\def\Element%
+{267}}Clear QSO Info\Node%
+{\def\Element%
+{268}}
+Clears the contents of the QSO -\/ Info fields\Node%
+{\def\Element%
+{269}}
+
+\Node%
+{\def\Element%
+{270}}QSOInfo\Node%
+{\def\Element%
+{271}}
+Here you can fill in some QSO -\/ Infos. These are used in some macros\Node%
+{\def\Element%
+{272}}
+\Node%
+{\def\Element%
+{273}}Remote Call\Node%
+{\def\Element%
+{274}}
+The callsign of the remote station. You can enter it by clicking into this field and
+typing the callsign on the keyboard or you doubleclick in the active RX -\/ window
+in front of the callsign and it will be copied in this field\Node%
+{\def\Element%
+{275}}
+
+\Node%
+{\def\Element%
+{276}}Name\Node%
+{\def\Element%
+{277}}
+Click into this field and enter the remote op's name by the keyboard\Node%
+{\def\Element%
+{278}}
+
+\Node%
+{\def\Element%
+{279}}Macros\Node%
+{\def\Element%
+{280}}\Node%
+{\def\Element%
+{281}}
+The contents of the macros will be defined in the \Node%
+{\def\Element%
+{282}}
+section of the setup menu\Node%
+{\def\Element%
+{283}}
+\Node%
+{\def\Element%
+{284}}QSO Start\Node%
+{\def\Element%
+{285}}
+Only works in RX mode and switches to TX mode, sends the start macro and switches back to RX mode
+\Node%
+{\def\Element%
+{286}}
+\Node%
+{\def\Element%
+{287}}QSO BTU\Node%
+{\def\Element%
+{288}}
+Only works in TX mode. Sends the BTU macro and switches back to RX mode.
+\Node%
+{\def\Element%
+{289}}QSO Final\Node%
+{\def\Element%
+{290}}
+Works in RX and in TX mode. If you're in RX-\/ Mode it switches into TX mode , send the Final macro and switches
+to RX mode|p>\/
+In TX mode the Final macro text is sent and then the mode switches to RX mode.
+\Node%
+{\def\Element%
+{291}}
+\Node%
+{\def\Element%
+{292}}CQ\Node%
+{\def\Element%
+{293}}
+Only works in RX mode. It is switched to TX mode, the cq macro is sent and then switched back to RX mode.
+\Node%
+{\def\Element%
+{294}}
+\Node%
+{\def\Element%
+{295}}Send Station File\Node%
+{\def\Element%
+{296}}
+This only works in TX mode. In TX mode the content of the station file is send.
+The macro variables won't be evaluated at the monment.\Node%
+{\def\Element%
+{297}}
+
+\Node%
+{\def\Element%
+{298}}undefined button\Node%
+{\def\Element%
+{299}}
+If you defined this button in the setup menu, the content of the correspondig file will be
+sent, if you're in TX mode. In RX mode nothing happens.\Node%
+{\def\Element%
+{300}}
+The macro variables won't be evaluated at the monment.\Node%
+{\def\Element%
+{301}}
+Personally I  use a file to introduce myself.\Node%
+{\def\Element%
+{302}}
+\Node%
+{\def\Element%
+{303}}Faq's\Node%
+{\def\Element%
+{304}}
+
+\Node%
+{\def\Element%
+{305}}
+\Node%
+{\def\Element%
+{306}}Question:
+\Node%
+{\def\Element%
+{307}}
+\Node%
+{\def\Element%
+{308}}
+\Node%
+{\def\Element%
+{309}}
+\Node%
+{\def\Element%
+{310}}
+\Node%
+{\def\Element%
+{311}}Question:
+\Node%
+{\def\Element%
+{312}}
+\Node%
+{\def\Element%
+{313}}
+\Node%
+{\def\Element%
+{314}}
+\Node%
+{\def\Element%
+{315}}Question:
+\Node%
+{\def\Element%
+{316}}
+\Node%
+{\def\Element%
+{317}}
+\Node%
+{\def\Element%
+{318}}
+\Node%
+{\def\Element%
+{319}}\Node%
+{\def\Element%
+{320}}
+cdisplay.moc.cpp:45: new declaration `static void
+CDisplay::staticMetaObject()'
+cdisplay.h:47: ambiguates old declaration `static class QMetaObject *
+CDisplay::staticMetaObject()'
+cdisplay.moc.cpp: In function `void
+\char95{}\char95{}static\char95{}initialization\char95{}and\char95{}destruction\char95{}0(int, int)':
+cdisplay.moc.cpp:29: no matching function for call to
+`QMetaObjectInit::QMetaObjectInit (QMetaObject * (*)())'
+/usr/lib/qt-\/2.2.4/include/qmetaobject.h:259: candidates are:
+QMetaObjectInit::QMetaObjectInit(void (*)())
+\endNode{}
+\endNode{}
+\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}
+
+\Node%
+{\def\Element%
+{321}}\Node%
+{\def\Element%
+{322}}
+\Node%
+{\def\Element%
+{323}}
+\Node%
+{\def\Element%
+{324}}Running ./configure results in an error message like qt-\/.... not found\Node%
+{\def\Element%
+{325}}\Node%
+{\def\Element%
+{326}}
+
+You need qt-\/2.2.x to be installed. If you're shure that a proper qt-\/ version
+is installed \Node%
+{\def\Element%
+{327}}
+try \Node%
+{\def\Element%
+{328}}
+
+rm config.cache\Node%
+{\def\Element%
+{329}}
+./configure -\/-\/with-\/qt-\/dir="Where your qt is installed"\Node%
+{\def\Element%
+{330}}
+
+Have a look that you use the correct moc version when you run make
+
+\Node%
+{\def\Element%
+{331}}
+\Node%
+{\def\Element%
+{332}}Though I ran  configure with the parameter -\/-\/with-\/qt-\/dir I get an file not
+found error when running make\Node%
+{\def\Element%
+{333}}\Node%
+{\def\Element%
+{334}}
+
+Find out where the qt header files reside and try\Node%
+{\def\Element%
+{335}}
+\Node%
+{\def\Element%
+{336}}\Node%
+{\def\Element%
+{337}}
+rm config.cache
+./configure -\/-\/with-\/qt-\/dir="Where your qt is installed" -\/-\/with-\/qt-\/include="where the include files reside"
+\endNode{}
+\endNode{}
+\Node%
+{\def\Element%
+{338}}
+\Node%
+{\def\Element%
+{339}}Though configure worked properly, running make I get an error like:\Node%
+{\def\Element%
+{340}}
+\Node%
+{\def\Element%
+{341}}\Node%
+{\def\Element%
+{342}}
+cdisplay.moc.cpp:45: new declaration `static void
+CDisplay::staticMetaObject()'
+cdisplay.h:47: ambiguates old declaration `static class QMetaObject *
+CDisplay::staticMetaObject()'
+cdisplay.moc.cpp: In function `void
+\char95{}\char95{}static\char95{}initialization\char95{}and\char95{}destruction\char95{}0(int, int)':
+cdisplay.moc.cpp:29: no matching function for call to
+`QMetaObjectInit::QMetaObjectInit (QMetaObject * (*)())'
+/usr/lib/qt-\/2.2.4/include/qmetaobject.h:259: candidates are:
+QMetaObjectInit::QMetaObjectInit(void (*)())
+\endNode{}
+\endNode{}
+\Node%
+{\def\Element%
+{343}}\Node%
+{\def\Element%
+{344}}
+Be sure to have the correct version of moc, when you run make.\Node%
+{\def\Element%
+{345}}
+Probably you don't use the version of moc that corresponds to your qt-\/ version.
+
+Check where your moc resides and if you have several versions installed on
+your system.
+
+Sometimes there is a link in /usr/bin to "QT-\/directory/bin/moc".
+
+Set the link appropriate or adjust your PATH-\/ environment-\/ variable that the
+correct moc version is to be found.
+
+\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}
+
+\Node%
+{\def\Element%
+{346}}Copyright\Node%
+{\def\Element%
+{347}}
+
+LinPsk Copyright 2001 Volker Schroer , dl1ksv at gmx.de
+
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+\Node%
+{\def\Element%
+{348}}
+
+\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\endNode{}\e [...]
\ No newline at end of file
diff --git a/linpsk/editmacro.cpp b/linpsk/editmacro.cpp
new file mode 100644
index 0000000..7fdd931
--- /dev/null
+++ b/linpsk/editmacro.cpp
@@ -0,0 +1,66 @@
+/***************************************************************************
+                          editmacro.cpp  -  description
+                             -------------------
+    begin                : Mon May 22 2000
+    copyright            : (C) 2000 by Volker Schroer
+    email                : DL1KSV at gmx.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *    based on the work of  Moe Wheatly, AE4JY                             *  
+ ***************************************************************************/
+
+#include "editmacro.h"
+
+editMacro::editMacro(QWidget *parent, const char *name ) : QDialog(parent,name,true)
+{
+this->resize(500,200);
+this->setMinimumSize(0,0);
+
+WMacro0 = new QLineEdit(this);
+WMacro0->setGeometry(100,20,390,20);
+WMacro0->setText(settings.Macro0.data());
+
+QLabel *Macro0L = new QLabel("QSO Start",this);
+Macro0L->setGeometry(10,20,75,20);
+
+WMacro1 = new QLineEdit(this);
+WMacro1->setGeometry(100,60,390,20);
+WMacro1->setText(settings.Macro1.data());
+
+QLabel *Macro1L = new QLabel("BTU",this);
+Macro1L->setGeometry(10,60,75,20);
+
+WMacro2 = new QLineEdit(this);
+WMacro2->setGeometry(100,100,390,20);
+WMacro2->setText(settings.Macro2.data());
+
+QLabel *Macro2L = new QLabel("QSO Final",this);
+Macro2L->setGeometry(10,100,75,20);
+
+WMacro3 = new QLineEdit(this);
+WMacro3->setGeometry(100,140,390,20);
+WMacro3->setText(settings.Macro3.data());
+
+QLabel *Macro3L = new QLabel("CQ",this);
+Macro3L->setGeometry(10,140,75,20);
+
+QPushButton *OK= new QPushButton(this,"OK");
+  OK->setGeometry(150,170,50,20);
+  OK->setText("OK");
+  connect(OK,SIGNAL(clicked()),SLOT(accept()));
+
+QPushButton  *Cancel= new QPushButton(this,"Cancel");
+  Cancel->setGeometry(300,170,100,20);
+  Cancel->setText("Cancel");
+	connect(Cancel,SIGNAL(clicked()),SLOT(reject()));
+
+
+}
+editMacro::~editMacro(){
+}
diff --git a/linpsk/editmacro.h b/linpsk/editmacro.h
new file mode 100644
index 0000000..e174a9d
--- /dev/null
+++ b/linpsk/editmacro.h
@@ -0,0 +1,46 @@
+/***************************************************************************
+                          editmacro.h  -  description
+                             -------------------
+    begin                : Mon May 22 2000
+    copyright            : (C) 2000 by Volker Schroer
+    email                : DL1KSV at gmx.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *   based on the work of Moe Wheatley, AE4JY                              *
+ ***************************************************************************/
+
+#ifndef EDITMACRO_H
+#define EDITMACRO_H
+
+#include <qwidget.h>
+#include <qdialog.h>
+#include <qlineedit.h>
+#include <qlabel.h>
+#include <qpushbutton.h>
+
+#include "parameter.h"
+
+/**WIndow for editing Macros
+  *@author Volker Schroer
+  */
+
+extern Parameter settings;
+
+class editMacro : public QDialog  {
+   Q_OBJECT
+public: 
+	editMacro(QWidget *parent=0, const char *name=0);
+	~editMacro();
+QLineEdit *WMacro0;
+QLineEdit *WMacro1;
+QLineEdit	*WMacro2;
+QLineEdit *WMacro3;
+};
+
+#endif
diff --git a/linpsk/fft.cpp b/linpsk/fft.cpp
new file mode 100644
index 0000000..35571b8
--- /dev/null
+++ b/linpsk/fft.cpp
@@ -0,0 +1,576 @@
+// fft.cpp: implementation of the Cfft class.
+//  This is a slightly modified version of Takuya OOURA's
+//     original radix 4 FFT package.
+//Copyright(C) 1996-1998 Takuya OOURA
+//    (email: ooura at mmm.t.u-tokyo.ac.jp).
+//////////////////////////////////////////////////////////////////////
+
+
+#include <math.h>
+#include "fft.h"
+
+//////////////////////////////////////////////////////////////////////
+// Local Defines
+//////////////////////////////////////////////////////////////////////
+#define SQRT_FFT_SIZE 46//sqrt(2048)
+#define K_2PI 6.283185307
+
+//////////////////////////////////////////////////////////////////////
+// A pure input sin wave ... Asin(wt)... will produce an fft output 
+//   peak of (N*A/4)^2  where N is FFT_SIZE.
+// To convert to a Power dB range:
+//   PdBmax = 10*log10( (N*A/4)^2 + K_C ) + K_B
+//   PdBmin = 10*log10( 0 + K_C ) + K_B
+//  if (N*A/4)^2 >> K_C 
+//  Then K_B = PdBmax - 20*log10( N*A/4 )
+//       K_C = 10 ^ ( (PdBmin-K_B)/10 )
+//  for power range of 0 to 100 dB with input(A) of 32767 and N=4096
+//			K_B = -50.51473275  and K_C = 1.1258312e5
+// To eliminate the multiply by 10, divide by 10 so for an output
+//		range of 0 to 100dB the stored value is 0.0 to 10.0
+//   so final constant K_B = -5.051473275
+#define K_B (-5.051473275)
+#define K_C (1.1258312e5)
+//////////////////////////////////////////////////////////////////////
+// Construction/Destruction
+//////////////////////////////////////////////////////////////////////
+Cfft::Cfft()
+{
+	InBuf	= new double[FFT_SIZE];
+	WindowTbl = new double[FFT_SIZE];
+	SinCosTbl = new double[FFT_SIZE/2];
+	WorkArea = new int[SQRT_FFT_SIZE+2];
+	pFFTAveBuf = new double[FFT_SIZE];	//Even index's hold average
+	WorkArea[0] = 0;
+	makewt(FFT_SIZE/4, WorkArea, SinCosTbl);
+    makect(FFT_SIZE/4, WorkArea, SinCosTbl + WorkArea[0]);
+	for(int i=0; i<FFT_SIZE; i++)
+	{
+		pFFTAveBuf[i] = 0.0;
+// Pick a data windowing function:
+//		WindowTbl[i] = 1.0;										//rectangle
+//		WindowTbl[i] = .54 - .46*cos( (K_2PI*i)/(FFT_SIZE-1) );	//Hamming
+		WindowTbl[i] = (.5 - .5*cos( (K_2PI*i)/(FFT_SIZE-1) ));	//Hanning
+	}
+	m_AveSize = 1;
+	m_AverageOn = false;
+}
+
+Cfft::~Cfft()
+{							// free all resources
+	if(WorkArea)
+	{
+		delete WorkArea;
+		WorkArea = NULL;
+	}
+	if(SinCosTbl)
+	{
+		delete SinCosTbl;
+		SinCosTbl = NULL;
+	}
+	if(WindowTbl)
+	{
+		delete WindowTbl;
+		WindowTbl = NULL;
+	}
+	if(pFFTAveBuf)
+	{
+		delete pFFTAveBuf;
+		pFFTAveBuf = NULL;
+	}
+	if(InBuf)
+		{
+			delete InBuf;
+			InBuf = NULL;
+		}	
+
+}
+
+//////////////////////////////////////////////////////////////////////
+// "InBuf[]" is first multiplied by a window function and then
+//  calculates an "FFT_SIZE" point FFT on "InBuf[]".
+//  The result is converted to dB, and the range "start" to "stop"
+//  is multiplied by "gain" and copied into "OutBuf[]".
+//  If "Ave" is > 1, a LP smoothing filter 
+//  is calculated on the output.
+//     Execution times for 4096 point fft:
+//			 ~820nSec/sample with 266MHz PII
+// The function returns true if the input is overloaded
+//////////////////////////////////////////////////////////////////////
+bool Cfft::CalcFFT(double * InPut, int start, int stop,double gain, int Ave,int* OutBuf)
+{
+int i;
+bool Ovrld = false;
+	if( Ave>1 )
+		m_AverageOn = true;
+	else
+		m_AverageOn = false;
+	m_AveSize = Ave;
+	for(i=0; i<FFT_SIZE; i++)
+	{
+		if( InPut[i] > 16384.0 )	//flag overload if within 3dB of max
+			Ovrld = true;
+		InBuf[i] = WindowTbl[i] * InPut[i];		//window the data
+	}
+//Calculate the FFT
+	bitrv2(FFT_SIZE, WorkArea + 2, InBuf);
+	cftfsub(FFT_SIZE, InBuf, SinCosTbl);
+	rftfsub(FFT_SIZE, InBuf, WorkArea[1], SinCosTbl + WorkArea[0]);
+	for( i=start; i<=stop; i++ )		//copy and scale into OutBuf[]
+		OutBuf[i] = (int)(gain*pFFTAveBuf[i<<1]);
+	return Ovrld;
+}
+
+void Cfft::rftfsub(int n, double *a, int nc, double *c)
+{
+    int j, k, kk, ks, m;
+    double wkr, wki, xr, xi, yr, yi;
+    
+    ks = (nc << 2) / n;
+    kk = 0;
+    m = n >> 1;
+	if(m_AverageOn)
+	{
+		for (k = 2; k <= m; k += 2 ) 
+		{
+			j = n - k;
+			kk += ks;
+			wkr = 0.5 - c[nc - kk];
+			wki = c[kk];
+			xr = a[k] - a[j];
+			xi = a[k + 1] + a[j + 1];
+			yr = wkr * xr - wki * xi;
+			yi = wkr * xi + wki * xr;
+			a[k] -= yr;
+			xi = a[k]*a[k];
+			a[k+1] -= yi;
+			xi += ( a[k+1]*a[k+1]);
+			a[j] += yr;
+			xr = a[j]*a[j];
+			a[j+1] -= yi;
+			xr += (a[j+1]*a[j+1]);
+ 			pFFTAveBuf[k] = (1.0-1.0/m_AveSize)*pFFTAveBuf[k] +
+									(1.0/m_AveSize)*(log10(xi+K_C) + K_B);
+ 			pFFTAveBuf[j] = (1.0-1.0/m_AveSize)*pFFTAveBuf[j] +
+									(1.0/m_AveSize)*(log10(xr+K_C) + K_B);
+		}
+	}
+	else
+	{
+
+		for (k = 2; k <= m; k += 2 ) 
+		{
+			j = n - k;
+			kk += ks;
+			wkr = 0.5 - c[nc - kk];
+			wki = c[kk];
+			xr = a[k] - a[j];
+			xi = a[k + 1] + a[j + 1];
+			yr = wkr * xr - wki * xi;
+			yi = wkr * xi + wki * xr;
+			a[k] -= yr;
+			xi = a[k]*a[k];
+			a[k+1] -= yi;
+			xi += ( a[k+1]*a[k+1]);
+			a[j] += yr;
+			xr = a[j]*a[j];
+			a[j+1] -= yi;
+			xr += (a[j+1]*a[j+1]);
+ 			pFFTAveBuf[k] = log10(xi+K_C)+K_B;
+ 			pFFTAveBuf[j] = log10(xr+K_C)+K_B;
+		}
+	}
+}
+
+/* -------- initializing routines -------- */
+void Cfft::makewt(int nw, int *ip, double *w)
+{
+    int nwh, j;
+    double delta, x, y;
+    
+    ip[0] = nw;
+    ip[1] = 1;
+    if (nw > 2) {
+        nwh = nw >> 1;
+        delta = atan(1.0) / nwh;
+        w[0] = 1;
+        w[1] = 0;
+        w[nwh] = cos(delta * nwh);
+        w[nwh + 1] = w[nwh];
+        for (j = 2; j < nwh; j += 2) {
+            x = cos(delta * j);
+            y = sin(delta * j);
+            w[j] = x;
+            w[j + 1] = y;
+            w[nw - j] = y;
+
+            w[nw - j + 1] = x;
+        }
+        bitrv2(nw, ip + 2, w);
+    }
+}
+
+
+void Cfft::makect(int nc, int *ip, double *c)
+{
+    int nch, j;
+    double delta;
+    
+    ip[1] = nc;
+    if (nc > 1) {
+        nch = nc >> 1;
+        delta = atan(1.0) / nch;
+        c[0] = cos(delta * nch);
+        c[nch] = 0.5 * c[0];
+        for (j = 1; j < nch; j++) {
+            c[j] = 0.5 * cos(delta * j);
+            c[nc - j] = 0.5 * sin(delta * j);
+        }
+    }
+}
+
+
+/* -------- child routines -------- */
+void Cfft::bitrv2(int n, int *ip, double *a)
+{
+    int j, j1, k, k1, l, m, m2;
+    double xr, xi;
+    
+    ip[0] = 0;
+    l = n;
+    m = 1;
+    while ((m << 2) < l) {
+        l >>= 1;
+        for (j = 0; j < m; j++) {
+            ip[m + j] = ip[j] + l;
+        }
+        m <<= 1;
+    }
+    if ((m << 2) > l) {
+        for (k = 1; k < m; k++) {
+            for (j = 0; j < k; j++) {
+                j1 = (j << 1) + ip[k];
+                k1 = (k << 1) + ip[j];
+                xr = a[j1];
+
+                xi = a[j1 + 1];
+                a[j1] = a[k1];
+                a[j1 + 1] = a[k1 + 1];
+                a[k1] = xr;
+                a[k1 + 1] = xi;
+            }
+        }
+    } else {
+        m2 = m << 1;
+        for (k = 1; k < m; k++) {
+            for (j = 0; j < k; j++) {
+                j1 = (j << 1) + ip[k];
+                k1 = (k << 1) + ip[j];
+                xr = a[j1];
+                xi = a[j1 + 1];
+                a[j1] = a[k1];
+                a[j1 + 1] = a[k1 + 1];
+                a[k1] = xr;
+                a[k1 + 1] = xi;
+                j1 += m2;
+                k1 += m2;
+                xr = a[j1];
+                xi = a[j1 + 1];
+                a[j1] = a[k1];
+                a[j1 + 1] = a[k1 + 1];
+                a[k1] = xr;
+                a[k1 + 1] = xi;
+            }
+        }
+    }
+}
+
+void Cfft::cftfsub(int n, double *a, double *w)
+{
+    int j, j1, j2, j3, l;
+    double x0r, x0i, x1r, x1i, x2r, x2i, x3r, x3i;
+    
+    l = 2;
+    if (n > 8) {
+        cft1st(n, a, w);
+        l = 8;
+        while ((l << 2) < n) {
+            cftmdl(n, l, a, w);
+            l <<= 2;
+        }
+    }
+    if ((l << 2) == n) {
+        for (j = 0; j < l; j += 2) {
+            j1 = j + l;
+            j2 = j1 + l;
+            j3 = j2 + l;
+            x0r = a[j] + a[j1];
+            x0i = a[j + 1] + a[j1 + 1];
+            x1r = a[j] - a[j1];
+            x1i = a[j + 1] - a[j1 + 1];
+            x2r = a[j2] + a[j3];
+            x2i = a[j2 + 1] + a[j3 + 1];
+            x3r = a[j2] - a[j3];
+            x3i = a[j2 + 1] - a[j3 + 1];
+            a[j] = x0r + x2r;
+            a[j + 1] = x0i + x2i;
+            a[j2] = x0r - x2r;
+            a[j2 + 1] = x0i - x2i;
+            a[j1] = x1r - x3i;
+            a[j1 + 1] = x1i + x3r;
+            a[j3] = x1r + x3i;
+            a[j3 + 1] = x1i - x3r;
+        }
+    } else {
+        for (j = 0; j < l; j += 2) {
+            j1 = j + l;
+            x0r = a[j] - a[j1];
+            x0i = a[j + 1] - a[j1 + 1];
+            a[j] += a[j1];
+            a[j + 1] += a[j1 + 1];
+            a[j1] = x0r;
+            a[j1 + 1] = x0i;
+        }
+    }
+}
+
+
+
+void Cfft::cft1st(int n, double *a, double *w)
+{
+    int j, k1, k2;
+    double wk1r, wk1i, wk2r, wk2i, wk3r, wk3i;
+    double x0r, x0i, x1r, x1i, x2r, x2i, x3r, x3i;
+    
+    x0r = a[0] + a[2];
+    x0i = a[1] + a[3];
+    x1r = a[0] - a[2];
+    x1i = a[1] - a[3];
+    x2r = a[4] + a[6];
+    x2i = a[5] + a[7];
+    x3r = a[4] - a[6];
+    x3i = a[5] - a[7];
+    a[0] = x0r + x2r;
+    a[1] = x0i + x2i;
+    a[4] = x0r - x2r;
+    a[5] = x0i - x2i;
+    a[2] = x1r - x3i;
+    a[3] = x1i + x3r;
+    a[6] = x1r + x3i;
+    a[7] = x1i - x3r;
+    wk1r = w[2];
+    x0r = a[8] + a[10];
+    x0i = a[9] + a[11];
+    x1r = a[8] - a[10];
+    x1i = a[9] - a[11];
+    x2r = a[12] + a[14];
+    x2i = a[13] + a[15];
+    x3r = a[12] - a[14];
+    x3i = a[13] - a[15];
+    a[8] = x0r + x2r;
+    a[9] = x0i + x2i;
+    a[12] = x2i - x0i;
+    a[13] = x0r - x2r;
+    x0r = x1r - x3i;
+    x0i = x1i + x3r;
+    a[10] = wk1r * (x0r - x0i);
+    a[11] = wk1r * (x0r + x0i);
+    x0r = x3i + x1r;
+    x0i = x3r - x1i;
+    a[14] = wk1r * (x0i - x0r);
+    a[15] = wk1r * (x0i + x0r);
+    k1 = 0;
+    for (j = 16; j < n; j += 16) {
+        k1 += 2;
+        k2 = k1 << 1;
+        wk2r = w[k1];
+        wk2i = w[k1 + 1];
+        wk1r = w[k2];
+        wk1i = w[k2 + 1];
+        wk3r = wk1r - 2 * wk2i * wk1i;
+        wk3i = 2 * wk2i * wk1r - wk1i;
+        x0r = a[j] + a[j + 2];
+        x0i = a[j + 1] + a[j + 3];
+        x1r = a[j] - a[j + 2];
+        x1i = a[j + 1] - a[j + 3];
+        x2r = a[j + 4] + a[j + 6];
+        x2i = a[j + 5] + a[j + 7];
+        x3r = a[j + 4] - a[j + 6];
+        x3i = a[j + 5] - a[j + 7];
+        a[j] = x0r + x2r;
+        a[j + 1] = x0i + x2i;
+        x0r -= x2r;
+        x0i -= x2i;
+        a[j + 4] = wk2r * x0r - wk2i * x0i;
+        a[j + 5] = wk2r * x0i + wk2i * x0r;
+        x0r = x1r - x3i;
+        x0i = x1i + x3r;
+        a[j + 2] = wk1r * x0r - wk1i * x0i;
+        a[j + 3] = wk1r * x0i + wk1i * x0r;
+        x0r = x1r + x3i;
+        x0i = x1i - x3r;
+        a[j + 6] = wk3r * x0r - wk3i * x0i;
+        a[j + 7] = wk3r * x0i + wk3i * x0r;
+        wk1r = w[k2 + 2];
+        wk1i = w[k2 + 3];
+        wk3r = wk1r - 2 * wk2r * wk1i;
+        wk3i = 2 * wk2r * wk1r - wk1i;
+        x0r = a[j + 8] + a[j + 10];
+        x0i = a[j + 9] + a[j + 11];
+        x1r = a[j + 8] - a[j + 10];
+        x1i = a[j + 9] - a[j + 11];
+        x2r = a[j + 12] + a[j + 14];
+        x2i = a[j + 13] + a[j + 15];
+        x3r = a[j + 12] - a[j + 14];
+        x3i = a[j + 13] - a[j + 15];
+        a[j + 8] = x0r + x2r;
+        a[j + 9] = x0i + x2i;
+        x0r -= x2r;
+        x0i -= x2i;
+        a[j + 12] = -wk2i * x0r - wk2r * x0i;
+        a[j + 13] = -wk2i * x0i + wk2r * x0r;
+        x0r = x1r - x3i;
+        x0i = x1i + x3r;
+        a[j + 10] = wk1r * x0r - wk1i * x0i;
+        a[j + 11] = wk1r * x0i + wk1i * x0r;
+        x0r = x1r + x3i;
+        x0i = x1i - x3r;
+        a[j + 14] = wk3r * x0r - wk3i * x0i;
+        a[j + 15] = wk3r * x0i + wk3i * x0r;
+    }
+}
+
+
+void Cfft::cftmdl(int n, int l, double *a, double *w)
+{
+    int j, j1, j2, j3, k, k1, k2, m, m2;
+    double wk1r, wk1i, wk2r, wk2i, wk3r, wk3i;
+    double x0r, x0i, x1r, x1i, x2r, x2i, x3r, x3i;
+    
+    m = l << 2;
+    for (j = 0; j < l; j += 2) {
+        j1 = j + l;
+        j2 = j1 + l;
+        j3 = j2 + l;
+        x0r = a[j] + a[j1];
+        x0i = a[j + 1] + a[j1 + 1];
+        x1r = a[j] - a[j1];
+        x1i = a[j + 1] - a[j1 + 1];
+        x2r = a[j2] + a[j3];
+        x2i = a[j2 + 1] + a[j3 + 1];
+        x3r = a[j2] - a[j3];
+        x3i = a[j2 + 1] - a[j3 + 1];
+        a[j] = x0r + x2r;
+        a[j + 1] = x0i + x2i;
+        a[j2] = x0r - x2r;
+        a[j2 + 1] = x0i - x2i;
+        a[j1] = x1r - x3i;
+        a[j1 + 1] = x1i + x3r;
+        a[j3] = x1r + x3i;
+        a[j3 + 1] = x1i - x3r;
+    }
+    wk1r = w[2];
+    for (j = m; j < l + m; j += 2) {
+        j1 = j + l;
+        j2 = j1 + l;
+        j3 = j2 + l;
+        x0r = a[j] + a[j1];
+        x0i = a[j + 1] + a[j1 + 1];
+        x1r = a[j] - a[j1];
+        x1i = a[j + 1] - a[j1 + 1];
+        x2r = a[j2] + a[j3];
+        x2i = a[j2 + 1] + a[j3 + 1];
+        x3r = a[j2] - a[j3];
+        x3i = a[j2 + 1] - a[j3 + 1];
+        a[j] = x0r + x2r;
+        a[j + 1] = x0i + x2i;
+        a[j2] = x2i - x0i;
+        a[j2 + 1] = x0r - x2r;
+        x0r = x1r - x3i;
+        x0i = x1i + x3r;
+        a[j1] = wk1r * (x0r - x0i);
+        a[j1 + 1] = wk1r * (x0r + x0i);
+        x0r = x3i + x1r;
+        x0i = x3r - x1i;
+        a[j3] = wk1r * (x0i - x0r);
+        a[j3 + 1] = wk1r * (x0i + x0r);
+    }
+    k1 = 0;
+    m2 = m << 1;
+    for (k = m2; k < n; k += m2) {
+        k1 += 2;
+        k2 = k1 << 1;
+        wk2r = w[k1];
+        wk2i = w[k1 + 1];
+        wk1r = w[k2];
+        wk1i = w[k2 + 1];
+        wk3r = wk1r - 2 * wk2i * wk1i;
+        wk3i = 2 * wk2i * wk1r - wk1i;
+        for (j = k; j < l + k; j += 2) {
+            j1 = j + l;
+            j2 = j1 + l;
+            j3 = j2 + l;
+            x0r = a[j] + a[j1];
+            x0i = a[j + 1] + a[j1 + 1];
+            x1r = a[j] - a[j1];
+            x1i = a[j + 1] - a[j1 + 1];
+            x2r = a[j2] + a[j3];
+            x2i = a[j2 + 1] + a[j3 + 1];
+            x3r = a[j2] - a[j3];
+            x3i = a[j2 + 1] - a[j3 + 1];
+            a[j] = x0r + x2r;
+            a[j + 1] = x0i + x2i;
+            x0r -= x2r;
+            x0i -= x2i;
+
+            a[j2] = wk2r * x0r - wk2i * x0i;
+            a[j2 + 1] = wk2r * x0i + wk2i * x0r;
+            x0r = x1r - x3i;
+            x0i = x1i + x3r;
+            a[j1] = wk1r * x0r - wk1i * x0i;
+            a[j1 + 1] = wk1r * x0i + wk1i * x0r;
+            x0r = x1r + x3i;
+            x0i = x1i - x3r;
+            a[j3] = wk3r * x0r - wk3i * x0i;
+            a[j3 + 1] = wk3r * x0i + wk3i * x0r;
+        }
+        wk1r = w[k2 + 2];
+        wk1i = w[k2 + 3];
+        wk3r = wk1r - 2 * wk2r * wk1i;
+        wk3i = 2 * wk2r * wk1r - wk1i;
+        for (j = k + m; j < l + (k + m); j += 2) {
+            j1 = j + l;
+            j2 = j1 + l;
+            j3 = j2 + l;
+            x0r = a[j] + a[j1];
+            x0i = a[j + 1] + a[j1 + 1];
+            x1r = a[j] - a[j1];
+            x1i = a[j + 1] - a[j1 + 1];
+            x2r = a[j2] + a[j3];
+            x2i = a[j2 + 1] + a[j3 + 1];
+            x3r = a[j2] - a[j3];
+            x3i = a[j2 + 1] - a[j3 + 1];
+            a[j] = x0r + x2r;
+            a[j + 1] = x0i + x2i;
+            x0r -= x2r;
+            x0i -= x2i;
+            a[j2] = -wk2i * x0r - wk2r * x0i;
+            a[j2 + 1] = -wk2i * x0i + wk2r * x0r;
+            x0r = x1r - x3i;
+            x0i = x1i + x3r;
+            a[j1] = wk1r * x0r - wk1i * x0i;
+            a[j1 + 1] = wk1r * x0i + wk1i * x0r;
+            x0r = x1r + x3i;
+            x0i = x1i - x3r;
+            a[j3] = wk3r * x0r - wk3i * x0i;
+            a[j3 + 1] = wk3r * x0i + wk3i * x0r;
+        }
+    }
+}
+
+
+
+
+
+
+
diff --git a/linpsk/fft.h b/linpsk/fft.h
new file mode 100644
index 0000000..a058397
--- /dev/null
+++ b/linpsk/fft.h
@@ -0,0 +1,38 @@
+// fft.h: interface for the Cfft class.
+//
+//  This is a slightly modified version of Takuya OOURA's
+//     original radix 4 FFT package.
+//Copyright(C) 1996-1998 Takuya OOURA
+//    (email: ooura at mmm.t.u-tokyo.ac.jp).
+//////////////////////////////////////////////////////////////////////
+
+#ifndef FFT_H
+#define FFT_H
+
+#include <stddef.h>
+#include "constants.h"
+
+class Cfft  
+{
+public:
+	bool CalcFFT(double * InPut, int start, int stop,double gain, int Ave, int* OutBuf);
+	Cfft();
+	virtual ~Cfft();
+private:
+	bool m_AverageOn;
+	int m_AveSize;
+	double *SinCosTbl;
+	double *WindowTbl;
+	double *pFFTAveBuf;
+	double *InBuf;
+	int *WorkArea;
+	void makewt(int nw, int *ip, double *w);
+	void makect(int nc, int *ip, double *c);
+	void bitrv2(int n, int *ip, double *a);
+	void cftfsub(int n, double *a, double *w);
+	void rftfsub(int n, double *a, int nc, double *c);
+    void cft1st(int n, double *a, double *w);
+    void cftmdl(int n, int l, double *a, double *w);
+};
+
+#endif
diff --git a/linpsk/filenew.xpm b/linpsk/filenew.xpm
new file mode 100644
index 0000000..2543c9b
--- /dev/null
+++ b/linpsk/filenew.xpm
@@ -0,0 +1,22 @@
+/* XPM */
+static const char * filenew[] = {
+"10 14 5 1",
+" 	c None",
+".	c #000000",
+"+	c #FFFFFF",
+"@	c #DCDCDC",
+"#	c #C0C0C0",
+".......   ",
+".++++@@.  ",
+".++++#+ at . ",
+".++++#++ at .",
+".++++#....",
+".+++++###.",
+".++++++++.",
+".++++++++.",
+".++++++++.",
+".++++++++.",
+".++++++++.",
+".++++++++.",
+".++++++++.",
+".........."};
diff --git a/linpsk/fileopen.xpm b/linpsk/fileopen.xpm
new file mode 100644
index 0000000..48211e2
--- /dev/null
+++ b/linpsk/fileopen.xpm
@@ -0,0 +1,22 @@
+/* XPM */
+static const char *fileopen[] = {
+"    16    13        5            1",
+". c #040404",
+"# c #808304",
+"a c #bfc2bf",
+"b c #f3f704",
+"c c #f3f7f3",
+"aaaaaaaaa...aaaa",
+"aaaaaaaa.aaa.a.a",
+"aaaaaaaaaaaaa..a",
+"a...aaaaaaaa...a",
+".bcb.......aaaaa",
+".cbcbcbcbc.aaaaa",
+".bcbcbcbcb.aaaaa",
+".cbcb...........",
+".bcb.#########.a",
+".cb.#########.aa",
+".b.#########.aaa",
+"..#########.aaaa",
+"...........aaaaa"
+};
diff --git a/linpsk/filesave.xpm b/linpsk/filesave.xpm
new file mode 100644
index 0000000..ed3ea96
--- /dev/null
+++ b/linpsk/filesave.xpm
@@ -0,0 +1,21 @@
+/* XPM */
+static const char *filesave[] = {
+"    14    14        3            1",
+". c #040404",
+"# c #808304",
+"a c #bfc2bf",
+"..............",
+".#.aaaaaaaa.a.",
+".#.aaaaaaaa...",
+".#.aaaaaaaa.#.",
+".#.aaaaaaaa.#.",
+".#.aaaaaaaa.#.",
+".#.aaaaaaaa.#.",
+".##........##.",
+".############.",
+".##.........#.",
+".##......aa.#.",
+".##......aa.#.",
+".##......aa.#.",
+"a............."
+};
diff --git a/linpsk/fircoeffs.h b/linpsk/fircoeffs.h
new file mode 100644
index 0000000..d073bfd
--- /dev/null
+++ b/linpsk/fircoeffs.h
@@ -0,0 +1,405 @@
+//////////////////////////////////////////////////////////////////////
+// Copyright 1999.    Moe Wheatley AE4JY  <ae4jy at mindspring.com>
+//
+//This program is free software; you can redistribute it and/or
+//modify it under the terms of the GNU General Public License
+//as published by the Free Software Foundation; either version 2
+//of the License, or any later version.
+//
+//This program is distributed in the hope that it will be useful,
+//but WITHOUT ANY WARRANTY; without even the implied warranty of
+//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//GNU General Public License for more details.
+//
+//You should have received a copy of the GNU General Public License
+//along with this program; if not, write to the Free Software
+//Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+//
+//////////////////////////////////////////////////////////////////////
+//
+
+#define DEC2_LPFIR_LENGTH 45
+
+//  Design method: Parks-McClellan method
+//  Number of taps  =  45 
+
+
+//  Number of bands =  2 
+//  Band     Lower       Upper       Value      Weight
+//            edge        edge
+//   1         0.0       .018         1.0         1
+//   2         .25        .5        .00007       100  
+const double Dec2LPCoef[DEC2_LPFIR_LENGTH ] = {
+  0.00041063658,
+  0.00040020444,
+  -0.0014690721,
+  -0.0046244896,
+  -0.0048873265,
+  0.00057075169,
+   0.0064849067,
+   0.0034999371,
+  -0.0072838126,
+   -0.010484073,
+   0.0032609865,
+    0.017545124,
+   0.0073308048,
+    -0.02042501,
+   -0.024496589,
+    0.013398095,
+    0.045762697,
+    0.010940839,
+   -0.066633815,
+   -0.069373038,
+    0.081944411,
+     0.30510648,
+     0.41246774,
+     0.30510648,
+    0.081944411,
+   -0.069373038,
+   -0.066633815,
+    0.010940839,
+    0.045762697,
+    0.013398095,
+   -0.024496589,
+    -0.02042501,
+   0.0073308048,
+    0.017545124,
+   0.0032609865,
+   -0.010484073,
+  -0.0072838126,
+   0.0034999371,
+   0.0064849067,
+  0.00057075169,
+  -0.0048873265,
+  -0.0046244896,
+  -0.0014690721,
+  0.00040020444,
+  0.00041063658
+};
+
+#define DEC3_LPFIR_LENGTH 27
+//  Design method: Parks-McClellan method
+//  Number of taps  =  27 
+//  Number of bands =  2 
+//  Band     Lower       Upper       Value      Weight
+//            edge        edge
+//   1         0.0       .017         1.0         1
+//   2         .166666    .5        .00002       10  
+const double Dec3LPCoef[DEC3_LPFIR_LENGTH ] = {
+ -0.00028892587,
+  -0.0012431135,
+  -0.0033184787,
+  -0.0065777314,
+   -0.010172455,
+   -0.011982908,
+  -0.0087991708,
+   0.0027573615,
+    0.024743232,
+     0.05640933,
+     0.09349033,
+     0.12882953,
+     0.15434156,
+     0.16367159,
+     0.15434156,
+     0.12882953,
+     0.09349033,
+     0.05640933,
+    0.024743232,
+   0.0027573615,
+  -0.0087991708,
+   -0.011982908,
+   -0.010172455,
+  -0.0065777314,
+  -0.0033184787,
+  -0.0012431135,
+ -0.00028892587
+};
+
+
+#if 1
+#define BITFIR_LENGTH 79
+const double BitFirCoef[BITFIR_LENGTH] = { // 16 Hz bw LP filter for data recovery
+ 3.8780526e-005,
+ -0.00043373927,
+ -0.00057165992,
+ -0.00090520784,
+    -0.00135488,
+  -0.0019236412,
+  -0.0026169379,
+  -0.0034345504,
+  -0.0043691791,
+  -0.0054046365,
+  -0.0065156454,
+  -0.0076664838,
+  -0.0088120663,
+  -0.0098975766,
+   -0.010860162,
+   -0.011630504,
+   -0.012135381,
+   -0.012299909,
+   -0.012051495,
+   -0.011323131,
+   -0.010057012,
+  -0.0082078785,
+  -0.0057472009,
+  -0.0026644814,
+   0.0010286189,
+   0.0052985616,
+    0.010087661,
+    0.015316424,
+    0.020883009,
+    0.026668057,
+    0.032536465,
+    0.038341551,
+    0.043932665,
+    0.049156847,
+    0.053867496,
+    0.057929091,
+    0.061222375,
+    0.063648481,
+    0.065134147,
+    0.065654404,
+    0.065134147,
+    0.063648481,
+    0.061222375,
+    0.057929091,
+    0.053867496,
+    0.049156847,
+    0.043932665,
+    0.038341551,
+    0.032536465,
+    0.026668057,
+    0.020883009,
+    0.015316424,
+    0.010087661,
+   0.0052985616,
+   0.0010286189,
+  -0.0026644814,
+  -0.0057472009,
+  -0.0082078785,
+   -0.010057012,
+   -0.011323131,
+   -0.012051495,
+   -0.012299909,
+   -0.012135381,
+   -0.011630504,
+   -0.010860162,
+  -0.0098975766,
+  -0.0088120663,
+  -0.0076664838,
+  -0.0065156454,
+  -0.0054046365,
+  -0.0043691791,
+  -0.0034345504,
+  -0.0026169379,
+  -0.0019236412,
+    -0.00135488,
+ -0.00090520784,
+ -0.00057165992,
+ -0.00043373927,
+ 3.8780526e-005
+
+};
+#else
+#define BITFIR_LENGTH 79
+const double BitFirCoef[BITFIR_LENGTH] = { // 16 Hz bw Martinez LP filter for data recovery
+	-3.567202e-004,
+	-4.542733e-004,
+	-6.506069e-004,
+	-9.477393e-004,
+	-1.347645e-003,
+	-1.851098e-003,
+	-2.456292e-003,
+	-3.157368e-003,
+	-3.942984e-003,
+	-4.795060e-003,
+	-5.687838e-003,
+	-6.587355e-003,
+	-7.451419e-003,
+	-8.230144e-003,
+	-8.867057e-003,
+	-9.300761e-003,
+	-9.467104e-003,
+	-9.301771e-003,
+	-8.743191e-003,
+	-7.735620e-003,
+	-6.232267e-003,
+	-4.198302e-003,
+	-1.613592e-003,
+	1.524992e-003,
+	5.201817e-003,
+	9.381422e-003,
+	1.400822e-002,
+	1.900705e-002,
+	2.428456e-002,
+	2.973155e-002,
+	3.522593e-002,
+	4.063663e-002,
+	4.582786e-002,
+	5.066388e-002,
+	5.501399e-002,
+	5.875741e-002,
+	6.178797e-002,
+	6.401828e-002,
+	6.538327e-002,
+	6.584278e-002,
+	6.538327e-002,
+	6.401828e-002,
+	6.178797e-002,
+	5.875741e-002,
+	5.501399e-002,
+	5.066388e-002,
+	4.582786e-002,
+	4.063663e-002,
+	3.522593e-002,
+	2.973155e-002,
+	2.428456e-002,
+	1.900705e-002,
+	1.400822e-002,
+	9.381422e-003,
+	5.201817e-003,
+	1.524992e-003,
+	-1.613592e-003,
+	-4.198302e-003,
+	-6.232267e-003,
+	-7.735620e-003,
+	-8.743191e-003,
+	-9.301771e-003,
+	-9.467104e-003,
+	-9.300761e-003,
+	-8.867057e-003,
+	-8.230144e-003,
+	-7.451419e-003,
+	-6.587355e-003,
+	-5.687838e-003,
+	-4.795060e-003,
+	-3.942984e-003,
+	-3.157368e-003,
+	-2.456292e-003,
+	-1.851098e-003,
+	-1.347645e-003,
+	-9.477393e-004,
+	-6.506069e-004,
+	-4.542733e-004,
+	-3.567202e-004
+};
+#endif
+
+
+//  Filter type:   Multiband filter
+//  Design method: Parks-McClellan method
+//  Number of taps  =  79 
+//  Number of bands =  2 
+//  Band   Lower       Upper       Value      Weight
+//         edge        edge
+//
+//	1       0.0        .04           1.         1.
+//	2        .07       .5          .00001      30.
+const double FreqFirCoef[BITFIR_LENGTH] = { // 31.25 Hz bw LP filter for frequency error
+ -0.00088970285,
+ -0.00095069429,
+   -0.001333873,
+  -0.0016964002,
+  -0.0019708148,
+  -0.0020817198,
+  -0.0019538899,
+  -0.0015246954,
+ -0.00075521572,
+  0.00035617931,
+   0.0017654549,
+   0.0033764437,
+    0.005044567,
+    0.006582916,
+   0.0077790286,
+    0.008414395,
+   0.0082949352,
+    0.007277045,
+   0.0052959804,
+   0.0023882104,
+  -0.0012898644,
+  -0.0054642152,
+  -0.0097488405,
+   -0.013668084,
+    -0.01669712,
+   -0.018301826,
+   -0.017996533,
+   -0.015393401,
+   -0.010253263,
+  -0.0025234426,
+   0.0076375654,
+    0.019855931,
+    0.033557222,
+    0.048001634,
+    0.062336497,
+    0.075662948,
+    0.087109104,
+    0.095901874,
+     0.10143605,
+     0.10333491,
+     0.10143605,
+    0.095901874,
+    0.087109104,
+    0.075662948,
+    0.062336497,
+    0.048001634,
+    0.033557222,
+    0.019855931,
+   0.0076375654,
+  -0.0025234426,
+   -0.010253263,
+   -0.015393401,
+   -0.017996533,
+   -0.018301826,
+    -0.01669712,
+   -0.013668084,
+  -0.0097488405,
+  -0.0054642152,
+  -0.0012898644,
+   0.0023882104,
+   0.0052959804,
+    0.007277045,
+   0.0082949352,
+    0.008414395,
+   0.0077790286,
+    0.006582916,
+    0.005044567,
+   0.0033764437,
+   0.0017654549,
+  0.00035617931,
+ -0.00075521572,
+  -0.0015246954,
+  -0.0019538899,
+  -0.0020817198,
+  -0.0019708148,
+  -0.0016964002,
+   -0.001333873,
+ -0.00095069429,
+ -0.00088970285
+};
+
+// bit sync half distance table
+// index any position 0 to 19 and it returns a position halfway from the index
+const int HALF_TBL[20] = {
+    9,	// 0
+   10,	// 1
+   11,	// 2
+   12,	// 3
+   13,	// 4
+   14,	// 5
+   15,	// 6
+   16,	// 7
+   17,	// 8
+   18,	// 9
+    0,	// 10
+    1,	// 11
+
+    2,	// 12
+    3,	// 13
+    4,	// 14
+    5,	// 15
+    6,	// 16
+    7,	// 17
+    8,	// 18
+    9,	// 19
+};
+
diff --git a/linpsk/fmodeselect.cpp b/linpsk/fmodeselect.cpp
new file mode 100644
index 0000000..511f951
--- /dev/null
+++ b/linpsk/fmodeselect.cpp
@@ -0,0 +1,80 @@
+/****************************************************************************
+** Form implementation generated from reading ui file './fmodeselect.ui'
+**
+** Created: Mon Jan 28 21:38:30 2002
+**      by:  The User Interface Compiler (uic)
+**
+** WARNING! All changes made in this file will be lost!
+****************************************************************************/
+#include "fmodeselect.h"
+
+#include <qbuttongroup.h>
+#include <qradiobutton.h>
+#include <qlayout.h>
+#include <qvariant.h>
+#include <qtooltip.h>
+#include <qwhatsthis.h>
+
+/* 
+ *  Constructs a FModeSelect which is a child of 'parent', with the 
+ *  name 'name' and widget flags set to 'f' 
+ */
+FModeSelect::FModeSelect( QWidget* parent,  const char* name, WFlags fl )
+    : QWidget( parent, name, fl )
+{
+    if ( !name )
+	setName( "FModeSelect" );
+    resize( 120, 80 ); 
+    setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)0, (QSizePolicy::SizeType)0, sizePolicy().hasHeightForWidth() ) );
+    setMinimumSize( QSize( 120, 80 ) );
+    setMaximumSize( QSize( 120, 80 ) );
+    QFont f( font() );
+    f.setPointSize( 10 );
+    setFont( f ); 
+    setCaption( tr( "FModeSelect" ) );
+
+    Select = new QButtonGroup( this, "Select" );
+    Select->setGeometry( QRect( 0, 0, 120, 80 ) ); 
+    Select->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)0, (QSizePolicy::SizeType)0, Select->sizePolicy().hasHeightForWidth() ) );
+    Select->setFrameShape( QButtonGroup::WinPanel );
+    Select->setFrameShadow( QButtonGroup::Raised );
+    Select->setTitle( tr( "ModeSelect " ) );
+    Select->setAlignment( int( QButtonGroup::AlignHCenter ) );
+
+    rb3 = new QRadioButton( Select, "rb3" );
+    rb3->setGeometry( QRect( 20, 55, 100, 25 ) ); 
+    rb3->setText( tr( "RTTY" ) );
+    Select->insert( rb3, 2 );
+
+    rb0 = new QRadioButton( Select, "rb0" );
+    rb0->setGeometry( QRect( 20, 15, 100, 25 ) ); 
+    rb0->setText( tr( "BPSK" ) );
+    Select->insert( rb0, 0 );
+
+    rb1 = new QRadioButton( Select, "rb1" );
+    rb1->setGeometry( QRect( 20, 35, 100, 25 ) ); 
+    rb1->setText( tr( "QPSK (USB)" ) );
+    Select->insert( rb1, 1 );
+
+    // signals and slots connections
+    connect( Select, SIGNAL( clicked(int) ), this, SLOT( selectMode(int) ) );
+
+    // tab order
+    setTabOrder( rb0, rb1 );
+    setTabOrder( rb1, rb3 );
+}
+
+/*  
+ *  Destroys the object and frees any allocated resources
+ */
+FModeSelect::~FModeSelect()
+{
+    // no need to delete child widgets, Qt does it all for us
+}
+
+void FModeSelect::selectMode(int)
+{
+    qWarning( "FModeSelect::selectMode(int): Not implemented yet!" );
+}
+
+#include "fmodeselect.moc"
diff --git a/linpsk/fmodeselect.h b/linpsk/fmodeselect.h
new file mode 100644
index 0000000..c3c530d
--- /dev/null
+++ b/linpsk/fmodeselect.h
@@ -0,0 +1,38 @@
+/****************************************************************************
+** Form interface generated from reading ui file './fmodeselect.ui'
+**
+** Created: Mon Jan 28 21:38:30 2002
+**      by:  The User Interface Compiler (uic)
+**
+** WARNING! All changes made in this file will be lost!
+****************************************************************************/
+#ifndef FMODESELECT_H
+#define FMODESELECT_H
+
+#include <qvariant.h>
+#include <qwidget.h>
+class QVBoxLayout; 
+class QHBoxLayout; 
+class QGridLayout; 
+class QButtonGroup;
+class QRadioButton;
+
+class FModeSelect : public QWidget
+{ 
+    Q_OBJECT
+
+public:
+    FModeSelect( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 );
+    ~FModeSelect();
+
+    QButtonGroup* Select;
+    QRadioButton* rb3;
+    QRadioButton* rb0;
+    QRadioButton* rb1;
+
+public slots:
+    virtual void selectMode(int);
+
+};
+
+#endif // FMODESELECT_H
diff --git a/linpsk/fmodeselect.ui b/linpsk/fmodeselect.ui
new file mode 100644
index 0000000..90cc7ad
--- /dev/null
+++ b/linpsk/fmodeselect.ui
@@ -0,0 +1,178 @@
+<!DOCTYPE UI><UI>
+<class>FModeSelect</class>
+<widget>
+    <class>QWidget</class>
+    <property stdset="1">
+        <name>name</name>
+        <cstring>FModeSelect</cstring>
+    </property>
+    <property stdset="1">
+        <name>geometry</name>
+        <rect>
+            <x>2</x>
+            <y>2</y>
+            <width>120</width>
+            <height>80</height>
+        </rect>
+    </property>
+    <property stdset="1">
+        <name>sizePolicy</name>
+        <sizepolicy>
+            <hsizetype>0</hsizetype>
+            <vsizetype>0</vsizetype>
+        </sizepolicy>
+    </property>
+    <property stdset="1">
+        <name>minimumSize</name>
+        <size>
+            <width>120</width>
+            <height>80</height>
+        </size>
+    </property>
+    <property stdset="1">
+        <name>maximumSize</name>
+        <size>
+            <width>120</width>
+            <height>80</height>
+        </size>
+    </property>
+    <property stdset="1">
+        <name>font</name>
+        <font>
+            <pointsize>10</pointsize>
+        </font>
+    </property>
+    <property stdset="1">
+        <name>caption</name>
+        <string>FModeSelect</string>
+    </property>
+    <widget>
+        <class>QButtonGroup</class>
+        <property stdset="1">
+            <name>name</name>
+            <cstring>Select</cstring>
+        </property>
+        <property stdset="1">
+            <name>geometry</name>
+            <rect>
+                <x>0</x>
+                <y>0</y>
+                <width>120</width>
+                <height>80</height>
+            </rect>
+        </property>
+        <property stdset="1">
+            <name>sizePolicy</name>
+            <sizepolicy>
+                <hsizetype>0</hsizetype>
+                <vsizetype>0</vsizetype>
+            </sizepolicy>
+        </property>
+        <property stdset="1">
+            <name>frameShape</name>
+            <enum>WinPanel</enum>
+        </property>
+        <property stdset="1">
+            <name>frameShadow</name>
+            <enum>Raised</enum>
+        </property>
+        <property stdset="1">
+            <name>title</name>
+            <string>ModeSelect </string>
+        </property>
+        <property stdset="1">
+            <name>alignment</name>
+            <set>AlignHCenter</set>
+        </property>
+        <property>
+            <name>hAlign</name>
+        </property>
+        <widget>
+            <class>QRadioButton</class>
+            <property stdset="1">
+                <name>name</name>
+                <cstring>rb3</cstring>
+            </property>
+            <property stdset="1">
+                <name>geometry</name>
+                <rect>
+                    <x>20</x>
+                    <y>55</y>
+                    <width>100</width>
+                    <height>25</height>
+                </rect>
+            </property>
+            <property stdset="1">
+                <name>text</name>
+                <string>RTTY</string>
+            </property>
+            <property stdset="1">
+                <name>buttonGroupId</name>
+                <number>2</number>
+            </property>
+        </widget>
+        <widget>
+            <class>QRadioButton</class>
+            <property stdset="1">
+                <name>name</name>
+                <cstring>rb0</cstring>
+            </property>
+            <property stdset="1">
+                <name>geometry</name>
+                <rect>
+                    <x>20</x>
+                    <y>15</y>
+                    <width>100</width>
+                    <height>25</height>
+                </rect>
+            </property>
+            <property stdset="1">
+                <name>text</name>
+                <string>BPSK</string>
+            </property>
+            <property stdset="1">
+                <name>buttonGroupId</name>
+                <number>0</number>
+            </property>
+        </widget>
+        <widget>
+            <class>QRadioButton</class>
+            <property stdset="1">
+                <name>name</name>
+                <cstring>rb1</cstring>
+            </property>
+            <property stdset="1">
+                <name>geometry</name>
+                <rect>
+                    <x>20</x>
+                    <y>35</y>
+                    <width>100</width>
+                    <height>25</height>
+                </rect>
+            </property>
+            <property stdset="1">
+                <name>text</name>
+                <string>QPSK (USB)</string>
+            </property>
+            <property stdset="1">
+                <name>buttonGroupId</name>
+                <number>1</number>
+            </property>
+        </widget>
+    </widget>
+</widget>
+<connections>
+    <connection>
+        <sender>Select</sender>
+        <signal>clicked(int)</signal>
+        <receiver>FModeSelect</receiver>
+        <slot>selectMode(int)</slot>
+    </connection>
+    <slot access="public">selectMode(int)</slot>
+</connections>
+<tabstops>
+    <tabstop>rb0</tabstop>
+    <tabstop>rb1</tabstop>
+    <tabstop>rb3</tabstop>
+</tabstops>
+</UI>
diff --git a/linpsk/fsetup.cpp b/linpsk/fsetup.cpp
new file mode 100644
index 0000000..72c13ca
--- /dev/null
+++ b/linpsk/fsetup.cpp
@@ -0,0 +1,307 @@
+/****************************************************************************
+** Form implementation generated from reading ui file './fsetup.ui'
+**
+** Created: Mon Jan 28 21:38:30 2002
+**      by:  The User Interface Compiler (uic)
+**
+** WARNING! All changes made in this file will be lost!
+****************************************************************************/
+#include "fsetup.h"
+
+#include <qbuttongroup.h>
+#include <qframe.h>
+#include <qlabel.h>
+#include <qlineedit.h>
+#include <qpushbutton.h>
+#include <qradiobutton.h>
+#include <qspinbox.h>
+#include <qlayout.h>
+#include <qvariant.h>
+#include <qtooltip.h>
+#include <qwhatsthis.h>
+
+/* 
+ *  Constructs a FSetup which is a child of 'parent', with the 
+ *  name 'name' and widget flags set to 'f' 
+ *
+ *  The dialog will by default be modeless, unless you set 'modal' to
+ *  TRUE to construct a modal dialog.
+ */
+FSetup::FSetup( QWidget* parent,  const char* name, bool modal, WFlags fl )
+    : QDialog( parent, name, modal, fl )
+{
+    if ( !name )
+	setName( "FSetup" );
+    resize( 510, 502 ); 
+    setCaption( tr( "LinPsk Setup" ) );
+    setSizeGripEnabled( TRUE );
+
+    QWidget* privateLayoutWidget = new QWidget( this, "Layout4" );
+    privateLayoutWidget->setGeometry( QRect( 160, 450, 246, 28 ) ); 
+    Layout4 = new QHBoxLayout( privateLayoutWidget ); 
+    Layout4->setSpacing( 6 );
+    Layout4->setMargin( 0 );
+    QSpacerItem* spacer = new QSpacerItem( 20, 20, QSizePolicy::Expanding, QSizePolicy::Minimum );
+    Layout4->addItem( spacer );
+
+    OK = new QPushButton( privateLayoutWidget, "OK" );
+    OK->setText( tr( "&OK" ) );
+    OK->setAutoDefault( TRUE );
+    OK->setDefault( TRUE );
+    Layout4->addWidget( OK );
+    QSpacerItem* spacer_2 = new QSpacerItem( 20, 20, QSizePolicy::Expanding, QSizePolicy::Minimum );
+    Layout4->addItem( spacer_2 );
+
+    Cancel = new QPushButton( privateLayoutWidget, "Cancel" );
+    Cancel->setText( tr( "&Cancel" ) );
+    Cancel->setAutoDefault( TRUE );
+    Layout4->addWidget( Cancel );
+    QSpacerItem* spacer_3 = new QSpacerItem( 20, 20, QSizePolicy::Expanding, QSizePolicy::Minimum );
+    Layout4->addItem( spacer_3 );
+
+    Frame3 = new QFrame( this, "Frame3" );
+    Frame3->setGeometry( QRect( 20, 280, 210, 81 ) ); 
+    Frame3->setFrameShape( QFrame::StyledPanel );
+    Frame3->setFrameShadow( QFrame::Raised );
+
+    InputL = new QLabel( Frame3, "InputL" );
+    InputL->setGeometry( QRect( 130, 10, 70, 21 ) ); 
+    InputL->setText( tr( "Input Level" ) );
+
+    InputLevel = new QSpinBox( Frame3, "InputLevel" );
+    InputLevel->setGeometry( QRect( 130, 30, 70, 31 ) ); 
+
+    InputSelect = new QButtonGroup( Frame3, "InputSelect" );
+    InputSelect->setGeometry( QRect( 10, 0, 110, 70 ) ); 
+    InputSelect->setTitle( tr( "Input Selection" ) );
+
+    Mic = new QRadioButton( InputSelect, "Mic" );
+    Mic->setGeometry( QRect( 20, 20, 61, 21 ) ); 
+    Mic->setText( tr( "Mic" ) );
+    Mic->setChecked( TRUE );
+    InputSelect->insert( Mic, 0 );
+
+    Line = new QRadioButton( InputSelect, "Line" );
+    Line->setGeometry( QRect( 20, 40, 61, 21 ) ); 
+    Line->setText( tr( "Line" ) );
+    InputSelect->insert( Line, 1 );
+
+    Frame5 = new QFrame( this, "Frame5" );
+    Frame5->setGeometry( QRect( 20, 10, 141, 111 ) ); 
+    Frame5->setFrameShape( QFrame::StyledPanel );
+    Frame5->setFrameShadow( QFrame::Raised );
+
+    DemoMode = new QRadioButton( Frame5, "DemoMode" );
+    DemoMode->setGeometry( QRect( 10, 0, 101, 31 ) ); 
+    DemoMode->setText( tr( "DemoMode" ) );
+
+    DemoInputMode = new QButtonGroup( Frame5, "DemoInputMode" );
+    DemoInputMode->setEnabled( TRUE );
+    DemoInputMode->setGeometry( QRect( 30, 40, 102, 66 ) ); 
+    DemoInputMode->setTitle( tr( "" ) );
+    DemoInputMode->setRadioButtonExclusive( TRUE );
+    DemoInputMode->setColumnLayout(0, Qt::Vertical );
+    DemoInputMode->layout()->setSpacing( 0 );
+    DemoInputMode->layout()->setMargin( 0 );
+    DemoInputModeLayout = new QVBoxLayout( DemoInputMode->layout() );
+    DemoInputModeLayout->setAlignment( Qt::AlignTop );
+    DemoInputModeLayout->setSpacing( 6 );
+    DemoInputModeLayout->setMargin( 11 );
+
+    WaveInput = new QRadioButton( DemoInputMode, "WaveInput" );
+    WaveInput->setText( tr( "WaveInput" ) );
+    DemoInputMode->insert( WaveInput, 1 );
+    DemoInputModeLayout->addWidget( WaveInput );
+
+    TextInput = new QRadioButton( DemoInputMode, "TextInput" );
+    TextInput->setText( tr( "TextInput" ) );
+    DemoInputMode->insert( TextInput, 2 );
+    DemoInputModeLayout->addWidget( TextInput );
+
+    Frame4 = new QFrame( this, "Frame4" );
+    Frame4->setGeometry( QRect( 310, 280, 141, 81 ) ); 
+    Frame4->setFrameShape( QFrame::StyledPanel );
+    Frame4->setFrameShadow( QFrame::Raised );
+
+    OutputLevell = new QLabel( Frame4, "OutputLevell" );
+    OutputLevell->setGeometry( QRect( 20, 0, 90, 31 ) ); 
+    OutputLevell->setText( tr( "OutputLevel" ) );
+
+    OutputLevel = new QSpinBox( Frame4, "OutputLevel" );
+    OutputLevel->setGeometry( QRect( 20, 40, 91, 31 ) ); 
+
+    RxL = new QLabel( this, "RxL" );
+    RxL->setGeometry( QRect( 320, 380, 130, 21 ) ); 
+    RxL->setText( tr( "Number of RxChannels" ) );
+
+    QWidget* privateLayoutWidget_2 = new QWidget( this, "Layout17" );
+    privateLayoutWidget_2->setGeometry( QRect( 320, 150, 112, 45 ) ); 
+    Layout17 = new QVBoxLayout( privateLayoutWidget_2 ); 
+    Layout17->setSpacing( 6 );
+    Layout17->setMargin( 0 );
+
+    TimeOffsetL = new QLabel( privateLayoutWidget_2, "TimeOffsetL" );
+    TimeOffsetL->setText( tr( "TimeOffset to UTC" ) );
+    TimeOffsetL->setAlignment( int( QLabel::AlignCenter ) );
+    Layout17->addWidget( TimeOffsetL );
+
+    TimeOffset = new QLineEdit( privateLayoutWidget_2, "TimeOffset" );
+    Layout17->addWidget( TimeOffset );
+
+    QWidget* privateLayoutWidget_3 = new QWidget( this, "Layout16" );
+    privateLayoutWidget_3->setGeometry( QRect( 30, 150, 112, 45 ) ); 
+    Layout16 = new QVBoxLayout( privateLayoutWidget_3 ); 
+    Layout16->setSpacing( 6 );
+    Layout16->setMargin( 0 );
+
+    CallSignL = new QLabel( privateLayoutWidget_3, "CallSignL" );
+    CallSignL->setText( tr( "Callsign" ) );
+    CallSignL->setAlignment( int( QLabel::AlignCenter ) );
+    Layout16->addWidget( CallSignL );
+
+    UserCallSign = new QLineEdit( privateLayoutWidget_3, "UserCallSign" );
+    Layout16->addWidget( UserCallSign );
+
+    QWidget* privateLayoutWidget_4 = new QWidget( this, "Layout11" );
+    privateLayoutWidget_4->setGeometry( QRect( 200, 210, 112, 45 ) ); 
+    Layout11 = new QVBoxLayout( privateLayoutWidget_4 ); 
+    Layout11->setSpacing( 6 );
+    Layout11->setMargin( 0 );
+
+    ButtonFileL = new QLabel( privateLayoutWidget_4, "ButtonFileL" );
+    ButtonFileL->setText( tr( "Corresponding File" ) );
+    ButtonFileL->setAlignment( int( QLabel::AlignCenter ) );
+    Layout11->addWidget( ButtonFileL );
+
+    ButtonFile = new QLineEdit( privateLayoutWidget_4, "ButtonFile" );
+    Layout11->addWidget( ButtonFile );
+
+    QWidget* privateLayoutWidget_5 = new QWidget( this, "Layout8" );
+    privateLayoutWidget_5->setGeometry( QRect( 330, 210, 112, 45 ) ); 
+    Layout8 = new QVBoxLayout( privateLayoutWidget_5 ); 
+    Layout8->setSpacing( 6 );
+    Layout8->setMargin( 0 );
+
+    SendFileL = new QLabel( privateLayoutWidget_5, "SendFileL" );
+    SendFileL->setText( tr( "Station File" ) );
+    Layout8->addWidget( SendFileL );
+
+    SendFile = new QLineEdit( privateLayoutWidget_5, "SendFile" );
+    Layout8->addWidget( SendFile );
+
+    QWidget* privateLayoutWidget_6 = new QWidget( this, "Layout13" );
+    privateLayoutWidget_6->setGeometry( QRect( 20, 210, 156, 45 ) ); 
+    Layout13 = new QVBoxLayout( privateLayoutWidget_6 ); 
+    Layout13->setSpacing( 6 );
+    Layout13->setMargin( 0 );
+
+    ButtonNameL = new QLabel( privateLayoutWidget_6, "ButtonNameL" );
+    ButtonNameL->setText( tr( "Name of userdefined Button" ) );
+    ButtonNameL->setAlignment( int( QLabel::AlignCenter ) );
+    Layout13->addWidget( ButtonNameL );
+
+    ButtonName = new QLineEdit( privateLayoutWidget_6, "ButtonName" );
+    Layout13->addWidget( ButtonName );
+
+    RxChannels = new QSpinBox( this, "RxChannels" );
+    RxChannels->setGeometry( QRect( 320, 400, 130, 20 ) ); 
+    RxChannels->setMaxValue( 4 );
+    RxChannels->setMinValue( 1 );
+
+    PTTControl = new QButtonGroup( this, "PTTControl" );
+    PTTControl->setGeometry( QRect( 310, 10, 160, 110 ) ); 
+    PTTControl->setFrameShape( QButtonGroup::Panel );
+    PTTControl->setFrameShadow( QButtonGroup::Raised );
+    PTTControl->setTitle( tr( "PTT Control" ) );
+    PTTControl->setAlignment( int( QButtonGroup::AlignHCenter ) );
+    PTTControl->setExclusive( TRUE );
+
+    NONE = new QRadioButton( PTTControl, "NONE" );
+    NONE->setGeometry( QRect( 50, 20, 60, 20 ) ); 
+    NONE->setText( tr( "None" ) );
+
+    Com1 = new QRadioButton( PTTControl, "Com1" );
+    Com1->setGeometry( QRect( 11, 51, 58, 19 ) ); 
+    Com1->setText( tr( "COM1" ) );
+    PTTControl->insert( Com1, 1 );
+
+    Com2 = new QRadioButton( PTTControl, "Com2" );
+    Com2->setGeometry( QRect( 11, 76, 58, 19 ) ); 
+    Com2->setText( tr( "COM2" ) );
+    PTTControl->insert( Com2, 2 );
+
+    Com3 = new QRadioButton( PTTControl, "Com3" );
+    Com3->setGeometry( QRect( 91, 51, 58, 19 ) ); 
+    Com3->setText( tr( "COM3" ) );
+    PTTControl->insert( Com3, 3 );
+
+    Com4 = new QRadioButton( PTTControl, "Com4" );
+    Com4->setGeometry( QRect( 91, 76, 58, 19 ) ); 
+    Com4->setText( tr( "COM4" ) );
+    PTTControl->insert( Com4, 4 );
+
+    slashedZero = new QRadioButton( this, "slashedZero" );
+    slashedZero->setGeometry( QRect( 30, 380, 200, 41 ) ); 
+    slashedZero->setText( tr( "Display Zero as slashed Zero" ) );
+
+    // signals and slots connections
+    connect( OK, SIGNAL( clicked() ), this, SLOT( accept() ) );
+    connect( Cancel, SIGNAL( clicked() ), this, SLOT( reject() ) );
+    connect( DemoMode, SIGNAL( toggled(bool) ), this, SLOT( activateTypeWindow(bool) ) );
+    connect( DemoInputMode, SIGNAL( clicked(int) ), this, SLOT( selectDemoType(int) ) );
+    connect( InputSelect, SIGNAL( clicked(int) ), this, SLOT( selectInput(int) ) );
+    connect( InputLevel, SIGNAL( valueChanged(int) ), this, SLOT( setInputLevel(int) ) );
+    connect( OutputLevel, SIGNAL( valueChanged(int) ), this, SLOT( setOutputLevel(int) ) );
+    connect( PTTControl, SIGNAL( clicked(int) ), this, SLOT( setComPort(int) ) );
+    connect( slashedZero, SIGNAL( toggled(bool) ), this, SLOT( setSlashed0(bool) ) );
+}
+
+/*  
+ *  Destroys the object and frees any allocated resources
+ */
+FSetup::~FSetup()
+{
+    // no need to delete child widgets, Qt does it all for us
+}
+
+void FSetup::activateTypeWindow(bool)
+{
+    qWarning( "FSetup::activateTypeWindow(bool): Not implemented yet!" );
+}
+
+void FSetup::selectDemoType(int)
+{
+    qWarning( "FSetup::selectDemoType(int): Not implemented yet!" );
+}
+
+void FSetup::selectInput(int)
+{
+    qWarning( "FSetup::selectInput(int): Not implemented yet!" );
+}
+
+void FSetup::setComPort(int)
+{
+    qWarning( "FSetup::setComPort(int): Not implemented yet!" );
+}
+
+void FSetup::setDemoMode(bool mode)
+{
+    qWarning( "FSetup::setDemoMode(bool mode): Not implemented yet!" );
+}
+
+void FSetup::setInputLevel(int)
+{
+    qWarning( "FSetup::setInputLevel(int): Not implemented yet!" );
+}
+
+void FSetup::setOutputLevel(int)
+{
+    qWarning( "FSetup::setOutputLevel(int): Not implemented yet!" );
+}
+
+void FSetup::setSlashed0(bool)
+{
+    qWarning( "FSetup::setSlashed0(bool): Not implemented yet!" );
+}
+
+#include "fsetup.moc"
diff --git a/linpsk/fsetup.h b/linpsk/fsetup.h
new file mode 100644
index 0000000..2140df7
--- /dev/null
+++ b/linpsk/fsetup.h
@@ -0,0 +1,89 @@
+/****************************************************************************
+** Form interface generated from reading ui file './fsetup.ui'
+**
+** Created: Mon Jan 28 21:38:29 2002
+**      by:  The User Interface Compiler (uic)
+**
+** WARNING! All changes made in this file will be lost!
+****************************************************************************/
+#ifndef FSETUP_H
+#define FSETUP_H
+
+#include <qvariant.h>
+#include <qdialog.h>
+class QVBoxLayout; 
+class QHBoxLayout; 
+class QGridLayout; 
+class QButtonGroup;
+class QFrame;
+class QLabel;
+class QLineEdit;
+class QPushButton;
+class QRadioButton;
+class QSpinBox;
+
+class FSetup : public QDialog
+{ 
+    Q_OBJECT
+
+public:
+    FSetup( QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0 );
+    ~FSetup();
+
+    QPushButton* OK;
+    QPushButton* Cancel;
+    QFrame* Frame3;
+    QLabel* InputL;
+    QSpinBox* InputLevel;
+    QButtonGroup* InputSelect;
+    QRadioButton* Mic;
+    QRadioButton* Line;
+    QFrame* Frame5;
+    QRadioButton* DemoMode;
+    QButtonGroup* DemoInputMode;
+    QRadioButton* WaveInput;
+    QRadioButton* TextInput;
+    QFrame* Frame4;
+    QLabel* OutputLevell;
+    QSpinBox* OutputLevel;
+    QLabel* RxL;
+    QLabel* TimeOffsetL;
+    QLineEdit* TimeOffset;
+    QLabel* CallSignL;
+    QLineEdit* UserCallSign;
+    QLabel* ButtonFileL;
+    QLineEdit* ButtonFile;
+    QLabel* SendFileL;
+    QLineEdit* SendFile;
+    QLabel* ButtonNameL;
+    QLineEdit* ButtonName;
+    QSpinBox* RxChannels;
+    QButtonGroup* PTTControl;
+    QRadioButton* NONE;
+    QRadioButton* Com1;
+    QRadioButton* Com2;
+    QRadioButton* Com3;
+    QRadioButton* Com4;
+    QRadioButton* slashedZero;
+
+public slots:
+    virtual void activateTypeWindow(bool);
+    virtual void selectDemoType(int);
+    virtual void selectInput(int);
+    virtual void setComPort(int);
+    virtual void setDemoMode(bool mode);
+    virtual void setInputLevel(int);
+    virtual void setOutputLevel(int);
+    virtual void setSlashed0(bool);
+
+protected:
+    QHBoxLayout* Layout4;
+    QVBoxLayout* DemoInputModeLayout;
+    QVBoxLayout* Layout17;
+    QVBoxLayout* Layout16;
+    QVBoxLayout* Layout11;
+    QVBoxLayout* Layout8;
+    QVBoxLayout* Layout13;
+};
+
+#endif // FSETUP_H
diff --git a/linpsk/fsetup.ui b/linpsk/fsetup.ui
new file mode 100644
index 0000000..5ff28ed
--- /dev/null
+++ b/linpsk/fsetup.ui
@@ -0,0 +1,985 @@
+<!DOCTYPE UI><UI>
+<class>FSetup</class>
+<widget>
+    <class>QDialog</class>
+    <property stdset="1">
+        <name>name</name>
+        <cstring>FSetup</cstring>
+    </property>
+    <property stdset="1">
+        <name>geometry</name>
+        <rect>
+            <x>0</x>
+            <y>0</y>
+            <width>510</width>
+            <height>502</height>
+        </rect>
+    </property>
+    <property stdset="1">
+        <name>caption</name>
+        <string>LinPsk Setup</string>
+    </property>
+    <property stdset="1">
+        <name>sizeGripEnabled</name>
+        <bool>true</bool>
+    </property>
+    <widget>
+        <class>QLayoutWidget</class>
+        <property stdset="1">
+            <name>name</name>
+            <cstring>Layout4</cstring>
+        </property>
+        <property stdset="1">
+            <name>geometry</name>
+            <rect>
+                <x>160</x>
+                <y>450</y>
+                <width>246</width>
+                <height>28</height>
+            </rect>
+        </property>
+        <hbox>
+            <property stdset="1">
+                <name>margin</name>
+                <number>0</number>
+            </property>
+            <property stdset="1">
+                <name>spacing</name>
+                <number>6</number>
+            </property>
+            <spacer>
+                <property>
+                    <name>name</name>
+                    <cstring>Spacer2</cstring>
+                </property>
+                <property stdset="1">
+                    <name>orientation</name>
+                    <enum>Horizontal</enum>
+                </property>
+                <property stdset="1">
+                    <name>sizeType</name>
+                    <enum>Expanding</enum>
+                </property>
+                <property>
+                    <name>sizeHint</name>
+                    <size>
+                        <width>20</width>
+                        <height>20</height>
+                    </size>
+                </property>
+            </spacer>
+            <widget>
+                <class>QPushButton</class>
+                <property stdset="1">
+                    <name>name</name>
+                    <cstring>OK</cstring>
+                </property>
+                <property stdset="1">
+                    <name>text</name>
+                    <string>&OK</string>
+                </property>
+                <property stdset="1">
+                    <name>autoDefault</name>
+                    <bool>true</bool>
+                </property>
+                <property stdset="1">
+                    <name>default</name>
+                    <bool>true</bool>
+                </property>
+            </widget>
+            <spacer>
+                <property>
+                    <name>name</name>
+                    <cstring>Spacer1</cstring>
+                </property>
+                <property stdset="1">
+                    <name>orientation</name>
+                    <enum>Horizontal</enum>
+                </property>
+                <property stdset="1">
+                    <name>sizeType</name>
+                    <enum>Expanding</enum>
+                </property>
+                <property>
+                    <name>sizeHint</name>
+                    <size>
+                        <width>20</width>
+                        <height>20</height>
+                    </size>
+                </property>
+            </spacer>
+            <widget>
+                <class>QPushButton</class>
+                <property stdset="1">
+                    <name>name</name>
+                    <cstring>Cancel</cstring>
+                </property>
+                <property stdset="1">
+                    <name>text</name>
+                    <string>&Cancel</string>
+                </property>
+                <property stdset="1">
+                    <name>autoDefault</name>
+                    <bool>true</bool>
+                </property>
+            </widget>
+            <spacer>
+                <property>
+                    <name>name</name>
+                    <cstring>Spacer3</cstring>
+                </property>
+                <property stdset="1">
+                    <name>orientation</name>
+                    <enum>Horizontal</enum>
+                </property>
+                <property stdset="1">
+                    <name>sizeType</name>
+                    <enum>Expanding</enum>
+                </property>
+                <property>
+                    <name>sizeHint</name>
+                    <size>
+                        <width>20</width>
+                        <height>20</height>
+                    </size>
+                </property>
+            </spacer>
+        </hbox>
+    </widget>
+    <widget>
+        <class>QFrame</class>
+        <property stdset="1">
+            <name>name</name>
+            <cstring>Frame3</cstring>
+        </property>
+        <property stdset="1">
+            <name>geometry</name>
+            <rect>
+                <x>20</x>
+                <y>280</y>
+                <width>210</width>
+                <height>81</height>
+            </rect>
+        </property>
+        <property stdset="1">
+            <name>frameShape</name>
+            <enum>StyledPanel</enum>
+        </property>
+        <property stdset="1">
+            <name>frameShadow</name>
+            <enum>Raised</enum>
+        </property>
+        <widget>
+            <class>QLabel</class>
+            <property stdset="1">
+                <name>name</name>
+                <cstring>InputL</cstring>
+            </property>
+            <property stdset="1">
+                <name>geometry</name>
+                <rect>
+                    <x>130</x>
+                    <y>10</y>
+                    <width>70</width>
+                    <height>21</height>
+                </rect>
+            </property>
+            <property stdset="1">
+                <name>text</name>
+                <string>Input Level</string>
+            </property>
+        </widget>
+        <widget>
+            <class>QSpinBox</class>
+            <property stdset="1">
+                <name>name</name>
+                <cstring>InputLevel</cstring>
+            </property>
+            <property stdset="1">
+                <name>geometry</name>
+                <rect>
+                    <x>130</x>
+                    <y>30</y>
+                    <width>70</width>
+                    <height>31</height>
+                </rect>
+            </property>
+        </widget>
+        <widget>
+            <class>QButtonGroup</class>
+            <property stdset="1">
+                <name>name</name>
+                <cstring>InputSelect</cstring>
+            </property>
+            <property stdset="1">
+                <name>geometry</name>
+                <rect>
+                    <x>10</x>
+                    <y>0</y>
+                    <width>110</width>
+                    <height>70</height>
+                </rect>
+            </property>
+            <property stdset="1">
+                <name>title</name>
+                <string>Input Selection</string>
+            </property>
+            <widget>
+                <class>QRadioButton</class>
+                <property stdset="1">
+                    <name>name</name>
+                    <cstring>Mic</cstring>
+                </property>
+                <property stdset="1">
+                    <name>geometry</name>
+                    <rect>
+                        <x>20</x>
+                        <y>20</y>
+                        <width>61</width>
+                        <height>21</height>
+                    </rect>
+                </property>
+                <property stdset="1">
+                    <name>text</name>
+                    <string>Mic</string>
+                </property>
+                <property stdset="1">
+                    <name>checked</name>
+                    <bool>true</bool>
+                </property>
+                <property stdset="1">
+                    <name>buttonGroupId</name>
+                    <number>0</number>
+                </property>
+            </widget>
+            <widget>
+                <class>QRadioButton</class>
+                <property stdset="1">
+                    <name>name</name>
+                    <cstring>Line</cstring>
+                </property>
+                <property stdset="1">
+                    <name>geometry</name>
+                    <rect>
+                        <x>20</x>
+                        <y>40</y>
+                        <width>61</width>
+                        <height>21</height>
+                    </rect>
+                </property>
+                <property stdset="1">
+                    <name>text</name>
+                    <string>Line</string>
+                </property>
+                <property stdset="1">
+                    <name>buttonGroupId</name>
+                    <number>1</number>
+                </property>
+            </widget>
+        </widget>
+    </widget>
+    <widget>
+        <class>QFrame</class>
+        <property stdset="1">
+            <name>name</name>
+            <cstring>Frame5</cstring>
+        </property>
+        <property stdset="1">
+            <name>geometry</name>
+            <rect>
+                <x>20</x>
+                <y>10</y>
+                <width>141</width>
+                <height>111</height>
+            </rect>
+        </property>
+        <property stdset="1">
+            <name>frameShape</name>
+            <enum>StyledPanel</enum>
+        </property>
+        <property stdset="1">
+            <name>frameShadow</name>
+            <enum>Raised</enum>
+        </property>
+        <widget>
+            <class>QRadioButton</class>
+            <property stdset="1">
+                <name>name</name>
+                <cstring>DemoMode</cstring>
+            </property>
+            <property stdset="1">
+                <name>geometry</name>
+                <rect>
+                    <x>10</x>
+                    <y>0</y>
+                    <width>101</width>
+                    <height>31</height>
+                </rect>
+            </property>
+            <property stdset="1">
+                <name>text</name>
+                <string>DemoMode</string>
+            </property>
+        </widget>
+        <widget>
+            <class>QButtonGroup</class>
+            <property stdset="1">
+                <name>name</name>
+                <cstring>DemoInputMode</cstring>
+            </property>
+            <property stdset="1">
+                <name>enabled</name>
+                <bool>true</bool>
+            </property>
+            <property stdset="1">
+                <name>geometry</name>
+                <rect>
+                    <x>30</x>
+                    <y>40</y>
+                    <width>102</width>
+                    <height>66</height>
+                </rect>
+            </property>
+            <property stdset="1">
+                <name>title</name>
+                <string></string>
+            </property>
+            <property stdset="1">
+                <name>radioButtonExclusive</name>
+                <bool>true</bool>
+            </property>
+            <vbox>
+                <property stdset="1">
+                    <name>margin</name>
+                    <number>11</number>
+                </property>
+                <property stdset="1">
+                    <name>spacing</name>
+                    <number>6</number>
+                </property>
+                <widget>
+                    <class>QRadioButton</class>
+                    <property stdset="1">
+                        <name>name</name>
+                        <cstring>WaveInput</cstring>
+                    </property>
+                    <property stdset="1">
+                        <name>text</name>
+                        <string>WaveInput</string>
+                    </property>
+                    <property stdset="1">
+                        <name>buttonGroupId</name>
+                        <number>1</number>
+                    </property>
+                </widget>
+                <widget>
+                    <class>QRadioButton</class>
+                    <property stdset="1">
+                        <name>name</name>
+                        <cstring>TextInput</cstring>
+                    </property>
+                    <property stdset="1">
+                        <name>text</name>
+                        <string>TextInput</string>
+                    </property>
+                    <property stdset="1">
+                        <name>buttonGroupId</name>
+                        <number>2</number>
+                    </property>
+                </widget>
+            </vbox>
+        </widget>
+    </widget>
+    <widget>
+        <class>QFrame</class>
+        <property stdset="1">
+            <name>name</name>
+            <cstring>Frame4</cstring>
+        </property>
+        <property stdset="1">
+            <name>geometry</name>
+            <rect>
+                <x>310</x>
+                <y>280</y>
+                <width>141</width>
+                <height>81</height>
+            </rect>
+        </property>
+        <property stdset="1">
+            <name>frameShape</name>
+            <enum>StyledPanel</enum>
+        </property>
+        <property stdset="1">
+            <name>frameShadow</name>
+            <enum>Raised</enum>
+        </property>
+        <widget>
+            <class>QLabel</class>
+            <property stdset="1">
+                <name>name</name>
+                <cstring>OutputLevell</cstring>
+            </property>
+            <property stdset="1">
+                <name>geometry</name>
+                <rect>
+                    <x>20</x>
+                    <y>0</y>
+                    <width>90</width>
+                    <height>31</height>
+                </rect>
+            </property>
+            <property stdset="1">
+                <name>text</name>
+                <string>OutputLevel</string>
+            </property>
+        </widget>
+        <widget>
+            <class>QSpinBox</class>
+            <property stdset="1">
+                <name>name</name>
+                <cstring>OutputLevel</cstring>
+            </property>
+            <property stdset="1">
+                <name>geometry</name>
+                <rect>
+                    <x>20</x>
+                    <y>40</y>
+                    <width>91</width>
+                    <height>31</height>
+                </rect>
+            </property>
+        </widget>
+    </widget>
+    <widget>
+        <class>QLabel</class>
+        <property stdset="1">
+            <name>name</name>
+            <cstring>RxL</cstring>
+        </property>
+        <property stdset="1">
+            <name>geometry</name>
+            <rect>
+                <x>320</x>
+                <y>380</y>
+                <width>130</width>
+                <height>21</height>
+            </rect>
+        </property>
+        <property stdset="1">
+            <name>text</name>
+            <string>Number of RxChannels</string>
+        </property>
+    </widget>
+    <widget>
+        <class>QLayoutWidget</class>
+        <property stdset="1">
+            <name>name</name>
+            <cstring>Layout17</cstring>
+        </property>
+        <property stdset="1">
+            <name>geometry</name>
+            <rect>
+                <x>320</x>
+                <y>150</y>
+                <width>112</width>
+                <height>45</height>
+            </rect>
+        </property>
+        <vbox>
+            <property stdset="1">
+                <name>margin</name>
+                <number>0</number>
+            </property>
+            <property stdset="1">
+                <name>spacing</name>
+                <number>6</number>
+            </property>
+            <widget>
+                <class>QLabel</class>
+                <property stdset="1">
+                    <name>name</name>
+                    <cstring>TimeOffsetL</cstring>
+                </property>
+                <property stdset="1">
+                    <name>text</name>
+                    <string>TimeOffset to UTC</string>
+                </property>
+                <property stdset="1">
+                    <name>alignment</name>
+                    <set>AlignCenter</set>
+                </property>
+                <property>
+                    <name>hAlign</name>
+                </property>
+            </widget>
+            <widget>
+                <class>QLineEdit</class>
+                <property stdset="1">
+                    <name>name</name>
+                    <cstring>TimeOffset</cstring>
+                </property>
+            </widget>
+        </vbox>
+    </widget>
+    <widget>
+        <class>QLayoutWidget</class>
+        <property stdset="1">
+            <name>name</name>
+            <cstring>Layout16</cstring>
+        </property>
+        <property stdset="1">
+            <name>geometry</name>
+            <rect>
+                <x>30</x>
+                <y>150</y>
+                <width>112</width>
+                <height>45</height>
+            </rect>
+        </property>
+        <vbox>
+            <property stdset="1">
+                <name>margin</name>
+                <number>0</number>
+            </property>
+            <property stdset="1">
+                <name>spacing</name>
+                <number>6</number>
+            </property>
+            <widget>
+                <class>QLabel</class>
+                <property stdset="1">
+                    <name>name</name>
+                    <cstring>CallSignL</cstring>
+                </property>
+                <property stdset="1">
+                    <name>text</name>
+                    <string>Callsign</string>
+                </property>
+                <property stdset="1">
+                    <name>alignment</name>
+                    <set>AlignCenter</set>
+                </property>
+                <property>
+                    <name>hAlign</name>
+                </property>
+            </widget>
+            <widget>
+                <class>QLineEdit</class>
+                <property stdset="1">
+                    <name>name</name>
+                    <cstring>UserCallSign</cstring>
+                </property>
+            </widget>
+        </vbox>
+    </widget>
+    <widget>
+        <class>QLayoutWidget</class>
+        <property stdset="1">
+            <name>name</name>
+            <cstring>Layout11</cstring>
+        </property>
+        <property stdset="1">
+            <name>geometry</name>
+            <rect>
+                <x>200</x>
+                <y>210</y>
+                <width>112</width>
+                <height>45</height>
+            </rect>
+        </property>
+        <vbox>
+            <property stdset="1">
+                <name>margin</name>
+                <number>0</number>
+            </property>
+            <property stdset="1">
+                <name>spacing</name>
+                <number>6</number>
+            </property>
+            <widget>
+                <class>QLabel</class>
+                <property stdset="1">
+                    <name>name</name>
+                    <cstring>ButtonFileL</cstring>
+                </property>
+                <property stdset="1">
+                    <name>text</name>
+                    <string>Corresponding File</string>
+                </property>
+                <property stdset="1">
+                    <name>alignment</name>
+                    <set>AlignCenter</set>
+                </property>
+                <property>
+                    <name>hAlign</name>
+                </property>
+            </widget>
+            <widget>
+                <class>QLineEdit</class>
+                <property stdset="1">
+                    <name>name</name>
+                    <cstring>ButtonFile</cstring>
+                </property>
+            </widget>
+        </vbox>
+    </widget>
+    <widget>
+        <class>QLayoutWidget</class>
+        <property stdset="1">
+            <name>name</name>
+            <cstring>Layout8</cstring>
+        </property>
+        <property stdset="1">
+            <name>geometry</name>
+            <rect>
+                <x>330</x>
+                <y>210</y>
+                <width>112</width>
+                <height>45</height>
+            </rect>
+        </property>
+        <vbox>
+            <property stdset="1">
+                <name>margin</name>
+                <number>0</number>
+            </property>
+            <property stdset="1">
+                <name>spacing</name>
+                <number>6</number>
+            </property>
+            <widget>
+                <class>QLabel</class>
+                <property stdset="1">
+                    <name>name</name>
+                    <cstring>SendFileL</cstring>
+                </property>
+                <property stdset="1">
+                    <name>text</name>
+                    <string>Station File</string>
+                </property>
+            </widget>
+            <widget>
+                <class>QLineEdit</class>
+                <property stdset="1">
+                    <name>name</name>
+                    <cstring>SendFile</cstring>
+                </property>
+            </widget>
+        </vbox>
+    </widget>
+    <widget>
+        <class>QLayoutWidget</class>
+        <property stdset="1">
+            <name>name</name>
+            <cstring>Layout13</cstring>
+        </property>
+        <property stdset="1">
+            <name>geometry</name>
+            <rect>
+                <x>20</x>
+                <y>210</y>
+                <width>156</width>
+                <height>45</height>
+            </rect>
+        </property>
+        <vbox>
+            <property stdset="1">
+                <name>margin</name>
+                <number>0</number>
+            </property>
+            <property stdset="1">
+                <name>spacing</name>
+                <number>6</number>
+            </property>
+            <widget>
+                <class>QLabel</class>
+                <property stdset="1">
+                    <name>name</name>
+                    <cstring>ButtonNameL</cstring>
+                </property>
+                <property stdset="1">
+                    <name>text</name>
+                    <string>Name of userdefined Button</string>
+                </property>
+                <property stdset="1">
+                    <name>alignment</name>
+                    <set>AlignCenter</set>
+                </property>
+                <property>
+                    <name>hAlign</name>
+                </property>
+            </widget>
+            <widget>
+                <class>QLineEdit</class>
+                <property stdset="1">
+                    <name>name</name>
+                    <cstring>ButtonName</cstring>
+                </property>
+            </widget>
+        </vbox>
+    </widget>
+    <widget>
+        <class>QSpinBox</class>
+        <property stdset="1">
+            <name>name</name>
+            <cstring>RxChannels</cstring>
+        </property>
+        <property stdset="1">
+            <name>geometry</name>
+            <rect>
+                <x>320</x>
+                <y>400</y>
+                <width>130</width>
+                <height>20</height>
+            </rect>
+        </property>
+        <property stdset="1">
+            <name>maxValue</name>
+            <number>4</number>
+        </property>
+        <property stdset="1">
+            <name>minValue</name>
+            <number>1</number>
+        </property>
+    </widget>
+    <widget>
+        <class>QButtonGroup</class>
+        <property stdset="1">
+            <name>name</name>
+            <cstring>PTTControl</cstring>
+        </property>
+        <property stdset="1">
+            <name>geometry</name>
+            <rect>
+                <x>310</x>
+                <y>10</y>
+                <width>160</width>
+                <height>110</height>
+            </rect>
+        </property>
+        <property stdset="1">
+            <name>frameShape</name>
+            <enum>Panel</enum>
+        </property>
+        <property stdset="1">
+            <name>frameShadow</name>
+            <enum>Raised</enum>
+        </property>
+        <property stdset="1">
+            <name>title</name>
+            <string>PTT Control</string>
+        </property>
+        <property stdset="1">
+            <name>alignment</name>
+            <set>AlignHCenter</set>
+        </property>
+        <property stdset="1">
+            <name>exclusive</name>
+            <bool>true</bool>
+        </property>
+        <property>
+            <name>hAlign</name>
+        </property>
+        <widget>
+            <class>QRadioButton</class>
+            <property stdset="1">
+                <name>name</name>
+                <cstring>NONE</cstring>
+            </property>
+            <property stdset="1">
+                <name>geometry</name>
+                <rect>
+                    <x>50</x>
+                    <y>20</y>
+                    <width>60</width>
+                    <height>20</height>
+                </rect>
+            </property>
+            <property stdset="1">
+                <name>text</name>
+                <string>None</string>
+            </property>
+        </widget>
+        <widget>
+            <class>QRadioButton</class>
+            <property stdset="1">
+                <name>name</name>
+                <cstring>Com1</cstring>
+            </property>
+            <property stdset="1">
+                <name>geometry</name>
+                <rect>
+                    <x>11</x>
+                    <y>51</y>
+                    <width>58</width>
+                    <height>19</height>
+                </rect>
+            </property>
+            <property stdset="1">
+                <name>text</name>
+                <string>COM1</string>
+            </property>
+            <property stdset="1">
+                <name>buttonGroupId</name>
+                <number>1</number>
+            </property>
+        </widget>
+        <widget>
+            <class>QRadioButton</class>
+            <property stdset="1">
+                <name>name</name>
+                <cstring>Com2</cstring>
+            </property>
+            <property stdset="1">
+                <name>geometry</name>
+                <rect>
+                    <x>11</x>
+                    <y>76</y>
+                    <width>58</width>
+                    <height>19</height>
+                </rect>
+            </property>
+            <property stdset="1">
+                <name>text</name>
+                <string>COM2</string>
+            </property>
+            <property stdset="1">
+                <name>buttonGroupId</name>
+                <number>2</number>
+            </property>
+        </widget>
+        <widget>
+            <class>QRadioButton</class>
+            <property stdset="1">
+                <name>name</name>
+                <cstring>Com3</cstring>
+            </property>
+            <property stdset="1">
+                <name>geometry</name>
+                <rect>
+                    <x>91</x>
+                    <y>51</y>
+                    <width>58</width>
+                    <height>19</height>
+                </rect>
+            </property>
+            <property stdset="1">
+                <name>text</name>
+                <string>COM3</string>
+            </property>
+            <property stdset="1">
+                <name>buttonGroupId</name>
+                <number>3</number>
+            </property>
+        </widget>
+        <widget>
+            <class>QRadioButton</class>
+            <property stdset="1">
+                <name>name</name>
+                <cstring>Com4</cstring>
+            </property>
+            <property stdset="1">
+                <name>geometry</name>
+                <rect>
+                    <x>91</x>
+                    <y>76</y>
+                    <width>58</width>
+                    <height>19</height>
+                </rect>
+            </property>
+            <property stdset="1">
+                <name>text</name>
+                <string>COM4</string>
+            </property>
+            <property stdset="1">
+                <name>buttonGroupId</name>
+                <number>4</number>
+            </property>
+        </widget>
+    </widget>
+    <widget>
+        <class>QRadioButton</class>
+        <property stdset="1">
+            <name>name</name>
+            <cstring>slashedZero</cstring>
+        </property>
+        <property stdset="1">
+            <name>geometry</name>
+            <rect>
+                <x>30</x>
+                <y>380</y>
+                <width>200</width>
+                <height>41</height>
+            </rect>
+        </property>
+        <property stdset="1">
+            <name>text</name>
+            <string>Display Zero as slashed Zero</string>
+        </property>
+    </widget>
+</widget>
+<connections>
+    <connection>
+        <sender>OK</sender>
+        <signal>clicked()</signal>
+        <receiver>FSetup</receiver>
+        <slot>accept()</slot>
+    </connection>
+    <connection>
+        <sender>Cancel</sender>
+        <signal>clicked()</signal>
+        <receiver>FSetup</receiver>
+        <slot>reject()</slot>
+    </connection>
+    <connection>
+        <sender>DemoMode</sender>
+        <signal>toggled(bool)</signal>
+        <receiver>FSetup</receiver>
+        <slot>activateTypeWindow(bool)</slot>
+    </connection>
+    <connection>
+        <sender>DemoInputMode</sender>
+        <signal>clicked(int)</signal>
+        <receiver>FSetup</receiver>
+        <slot>selectDemoType(int)</slot>
+    </connection>
+    <connection>
+        <sender>InputSelect</sender>
+        <signal>clicked(int)</signal>
+        <receiver>FSetup</receiver>
+        <slot>selectInput(int)</slot>
+    </connection>
+    <connection>
+        <sender>InputLevel</sender>
+        <signal>valueChanged(int)</signal>
+        <receiver>FSetup</receiver>
+        <slot>setInputLevel(int)</slot>
+    </connection>
+    <connection>
+        <sender>OutputLevel</sender>
+        <signal>valueChanged(int)</signal>
+        <receiver>FSetup</receiver>
+        <slot>setOutputLevel(int)</slot>
+    </connection>
+    <connection>
+        <sender>PTTControl</sender>
+        <signal>clicked(int)</signal>
+        <receiver>FSetup</receiver>
+        <slot>setComPort(int)</slot>
+    </connection>
+    <connection>
+        <sender>slashedZero</sender>
+        <signal>toggled(bool)</signal>
+        <receiver>FSetup</receiver>
+        <slot>setSlashed0(bool)</slot>
+    </connection>
+    <slot access="public">activateTypeWindow(bool)</slot>
+    <slot access="public">selectDemoType(int)</slot>
+    <slot access="public">selectInput(int)</slot>
+    <slot access="public">setComPort(int)</slot>
+    <slot access="public">setDemoMode(bool mode)</slot>
+    <slot access="public">setInputLevel(int)</slot>
+    <slot access="public">setOutputLevel(int)</slot>
+    <slot access="public">setSlashed0(bool)</slot>
+</connections>
+</UI>
diff --git a/linpsk/input.cpp b/linpsk/input.cpp
new file mode 100644
index 0000000..e3d1d79
--- /dev/null
+++ b/linpsk/input.cpp
@@ -0,0 +1,53 @@
+/***************************************************************************
+                          input.cpp  -  description
+                             -------------------
+    begin                : Sat May 5 2001
+    copyright            : (C) 2001 by Volker Schroer
+    email                : DL1KSV at gmx.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ ***************************************************************************/
+
+#include "input.h"
+#include <errno.h>
+Input::Input(int ptt)
+{
+fd = -1;
+serial=ptt;
+}
+Input::~Input()
+{
+}
+
+ /** Opens the Device named Device for reading */
+
+bool Input::open_Device_read(QString Device)
+{
+fd = open(Device,O_RDONLY);
+if (fd > 0)
+	return true;
+else
+	return false;
+}
+
+  /** Closes the open Device */
+bool Input::close_Device()
+{
+int i;
+if (fd >= 0)
+	i=close(fd);
+	if ( i!=0)
+		i=errno;
+fd = -1;
+return true;
+}
+
+
+	
+
diff --git a/linpsk/input.h b/linpsk/input.h
new file mode 100644
index 0000000..168e7da
--- /dev/null
+++ b/linpsk/input.h
@@ -0,0 +1,66 @@
+/***************************************************************************
+                          input.h  -  description
+                             -------------------
+    begin                : Sat May 5 2001
+    copyright            : (C) 2001 by Volker Schroer
+    email                : DL1KSV at gmx.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *   based on the work of Moe Wheatley, AE4JY                              *
+ ***************************************************************************/
+
+#ifndef INPUT_H
+#define INPUT_H
+
+#include <qstring.h>
+
+#include <sys/ioctl.h>
+#include <unistd.h>
+#include <fcntl.h>
+
+/**Abstract base class for the different input devices like soundcard, textfile,  Wavfile
+  *@author Volker Schroer
+  */
+
+class Input {
+public: 
+	Input(int ptt);
+	virtual ~Input();
+	
+  /** Opens the Device named Device for reading */
+  virtual bool open_Device_read(QString Device);
+
+  /** Opens the Device named Device for writing */
+  virtual bool open_Device_write(QString Device) = 0;
+
+  /** Closes the open Device */
+  virtual bool close_Device() ;
+
+  /** Tries to read anzahl samples and returns the nuber of read samples */
+  virtual int getSamples(double *sample,int anzahl) = 0;
+
+  /** Tries to write anzahl samples and returns the nuber of written samples */
+  virtual int putSamples(double *sample,int anzahl) = 0;
+
+  /** Switches PTT */
+  virtual void PTT(bool mode) = 0;
+
+  /** Sets the neede Parameters and returns an Errorstring if unsuccessfull */
+  virtual bool setParams(QString *errorstring) = 0;
+
+protected:
+	
+	/** Filedescriptor of Input/Output Device */
+	
+int fd;
+	/** Filedescriptor of PTT- Device */
+int serial;  	
+};
+
+#endif
diff --git a/linpsk/linpsk.cpp b/linpsk/linpsk.cpp
new file mode 100644
index 0000000..36998ed
--- /dev/null
+++ b/linpsk/linpsk.cpp
@@ -0,0 +1,609 @@
+/***************************************************************************
+                          linpsk.cpp  -  description
+                             -------------------
+    begin                : Sat Mar  4 22:29:25 /etc/localtime 2000
+    copyright            : (C) 2000 by Volker Schroer
+    email                : huv.schroer at gmx.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *    based on the work of  Moe Wheatly, AE4JY                             *  
+ ***************************************************************************/
+
+#include "linpsk.h"
+
+LinPskApp::LinPskApp()
+{
+
+
+  ///////////////////////////////////////////////////////////////////
+  // call inits to invoke all other construction parts
+
+  initView();
+
+  initMenuBar();
+  SaveText="";
+  statusTime=new QTimer(this);
+  connect( statusTime, SIGNAL(timeout()),this, SLOT(restoreStatusLine()) );
+	
+	setMaximumSize(800,680);
+  view->setMinimumSize(settings.MinimumWindowWidth,settings.MinimumWindowHeight);
+}
+
+LinPskApp::~LinPskApp()
+{
+}
+
+void LinPskApp::initMenuBar()
+{
+  ///////////////////////////////////////////////////////////////////
+  // MENUBAR
+  ///////////////////////////////////////////////////////////////////
+  // menuBar entry fileMenu
+
+  fileMenu=new QPopupMenu();
+	//Open DemoFile
+  fileMenu->insertItem("&Open DemoFile ...", this, SLOT(slotFileOpen()), CTRL+Key_O, ID_FILE_OPEN);
+  fileMenu->insertSeparator();
+  //Quit
+  fileMenu->insertItem("E&xit", this, SLOT(slotFileQuit()), CTRL+Key_Q, ID_FILE_QUIT);
+
+
+  //////////////////////////////////////////////////////////////////
+	// Setup Menu
+	/////////////////////////////////////////////////////////////////
+	settingsMenu=new QPopupMenu();
+	// Settings
+
+	settingsMenu->insertItem("Settings...",this,SLOT(slotSetup()),0,ID_SETTINGS_SETUP);
+	// Fonts
+	settingsMenu->insertItem("Font Settings...",this,SLOT(slotFontSetup()),0,ID_SETTINGS_FONT_SETUP);
+	// Colors
+	settingsMenu->insertItem("Color Settings...",this,SLOT(slotColorSetup()),0,ID_SETTINGS_COLOR_SETTINGS);
+	// Edit Macros
+	settingsMenu->insertItem("Edit Macros",this,SLOT(sloteditMacros()),0,ID_SETTINGS_EDITMACROS);
+
+	settingsMenu->insertSeparator();
+	// Save Settings
+	settingsMenu->insertItem("Save Settings ",this,SLOT(slotsaveSettings()),0,ID_SETTINGS_SAVESETTINGS);	
+  
+  ///////////////////////////////////////////////////////////////////
+  // menuBar entry helpMenu
+  helpMenu=new QPopupMenu();
+  helpMenu->insertItem("About...", this, SLOT(slotHelpAbout()), 0, ID_HELP_ABOUT);
+
+
+  ///////////////////////////////////////////////////////////////////
+  // MENUBAR CONFIGURATION
+  // set menuBar() the current menuBar 
+
+  menuBar()->insertItem("&File", fileMenu);
+  menuBar()->insertSeparator();
+	menuBar()->insertItem("&Settings", settingsMenu);
+	menuBar()->insertSeparator();
+  menuBar()->insertItem("&Help", helpMenu);
+  
+  ///////////////////////////////////////////////////////////////////
+  // CONNECT THE SUBMENU SLOTS WITH SIGNALS
+
+  connect(fileMenu, SIGNAL(highlighted(int)), SLOT(statusCallback(int)));
+  connect(settingsMenu,SIGNAL(highlighted(int)),SLOT(statusCallback(int)));
+  connect(helpMenu, SIGNAL(highlighted(int)), SLOT(statusCallback(int)));
+  
+}
+
+
+
+
+void LinPskApp::initView()
+{ 
+  ////////////////////////////////////////////////////////////////////
+  // set the main widget here
+
+  view=new LinPskView(this);
+	setCentralWidget(view);
+	
+	connect(view,SIGNAL(abbruch()),this,SLOT(slotFileQuit()));
+	connect(this,SIGNAL(ButtonNameChanged()),view->controls,SLOT(NameChanged()));
+
+
+}
+
+
+/////////////////////////////////////////////////////////////////////
+// SLOT IMPLEMENTATION
+/////////////////////////////////////////////////////////////////////
+
+
+
+void LinPskApp::slotFileOpen()
+{
+  slotStatusHelpMsg(tr("Opening file..."));
+
+  QString fileName = QFileDialog::getOpenFileName(0,settings.DemoModeFileType[settings.DemoTypeNumber],this);
+  if (!fileName.isEmpty())
+
+	settings.inputFilename = fileName;
+
+  else
+
+   slotStatusHelpMsg(tr("Opening aborted"));
+
+
+
+}
+
+
+
+
+
+void LinPskApp::slotFileQuit()
+{ 
+  slotStatusHelpMsg(tr("Exiting application..."));
+    qApp->quit();
+
+ }
+
+
+
+void LinPskApp::slotHelpAbout()
+{
+  QMessageBox::about(this,tr("About..."),
+                     IDS_APP_ABOUT );
+  setActiveWindow();
+}
+
+void LinPskApp::slotStatusHelpMsg(const QString &text)
+{	
+	if ( statusTime->isActive() )  //Check if timer is running
+				
+					 statusTime->stop();   // Stop timer
+				
+		else			
+			SaveText=view->msg->text(); // Only save text if timer wasn't active
+
+	statusTime->start(3000,true);
+  view->msg->setText( text);
+
+
+}
+
+void LinPskApp::statusCallback(int id_)
+{
+  switch (id_)
+  {
+
+    case ID_FILE_OPEN:
+         slotStatusHelpMsg(tr("Opens an existing document"));
+         break;
+
+
+
+
+    case ID_FILE_QUIT:
+         slotStatusHelpMsg(tr("Quits the application"));
+         break;
+
+		case ID_SETTINGS_SETUP:
+				 slotStatusHelpMsg(tr("General Setup..."));
+				 break;
+
+		case ID_SETTINGS_FONT_SETUP:
+				 slotStatusHelpMsg(tr("Setting up Fonts for the different Windows"));
+				 break;
+				 				 	
+		case ID_SETTINGS_EDITMACROS:		
+				 slotStatusHelpMsg(tr("Define/Change Macros..."));
+				 break;
+				
+ 		case ID_SETTINGS_SAVESETTINGS:
+				 slotStatusHelpMsg(tr("Save Setup and Macros"));
+				 break;
+				  		
+    case ID_HELP_ABOUT:
+         slotStatusHelpMsg(tr("Shows an aboutbox"));
+         break;
+  }
+}
+
+void LinPskApp::slotSetup()
+{
+int flags;
+bool ok;
+QString c;
+
+Setup *setup = new Setup(this);
+
+setup->move(this->x()+50,this->y()+50);
+
+flags=TIOCM_RTS|TIOCM_DTR;
+if (setup->exec() != 0)
+	{
+
+
+	//DemoMode	
+	if (settings.DemoMode != setup->demoMode)
+		{
+			settings.DemoMode=setup->demoMode;
+			settings.inputFilename="";
+			view->stopAll();			
+			if (view->sound != 0)
+				{
+					delete view->sound;
+					view->sound =0;
+				}
+			}
+		settings.DemoTypeNumber=setup->DemoTypeNumber; // Save Demo File Type
+		
+		settings.InputSource = setup->InputSource;
+					
+
+	//UserCallsign
+	settings.callsign  = setup->UserCallSign->text();
+
+	// StationFile
+	settings.StationFile=setup->SendFile->text();
+
+	// TimeOffset
+
+	c=setup->TimeOffset->text();
+	flags = c.toInt(&ok);
+	if ( ok)
+		settings.timeoffset=flags;
+
+	view->setclock(); // Setting Clock
+	//ButtonName
+	c= setup->ButtonName->text();
+	if ( c != "")
+		settings.ButtonName = setup->ButtonName->text();
+	else
+		settings.ButtonName = "undefined";
+
+	emit ButtonNameChanged();
+
+	settings.ButtonFile = setup->ButtonFile->text();
+	// InputVolume
+	c=setup->InputLevel->text();
+	flags = c.toInt(&ok);
+	if (ok)
+		if (flags != settings.InputVolume)
+					settings.InputVolume=flags;
+		
+	// OutputVolume
+
+	c=setup->OutputLevel->text();
+	flags = c.toInt(&ok);
+	if (ok)
+		if (flags != settings.OutputVolume)
+					settings.OutputVolume=flags;
+
+		
+	
+	// Slashed Zero
+	settings.slashed0 = setup->slashed0;
+
+	// RxChannels
+	c=setup->RxChannels->text();
+	flags= c.toInt(&ok);
+	if (ok)
+	 {
+	 	if (flags != settings.RxChannels )	
+			{
+			delete view->tx->SelectRxWindow;
+			view->tx->SelectRxWindow = new CRxSelect(flags,view,view->tx,"RXWindow");
+			view->tx->SelectRxWindow->setButton(0);
+	
+			if (flags > settings.RxChannels) // Maximum of RxChannels is checked in the Box
+			 																 // We have to construct the new Channels	
+					view->initRxChannels(settings.RxChannels,flags);
+			 else
+			 {															 // We have to delete the unused Channels	
+			 for(int i=settings.RxChannels-1;i>=flags;i--)
+			 	{
+			 		delete view->demodulator[i];
+			 		view->demodulator[i]=0;
+			 		delete view->rx[i];
+			 		view->rx[i]=0;
+			 	}
+
+			 }
+		
+		 	settings.actChannel=0;
+		 	settings.RxChannels=flags;
+			view->rx[0]->show();
+			view->tx->SelectRxWindow->show();
+			
+			}		
+	 }
+
+	if (settings.ptt != setup->ptt)
+		{
+			settings.ptt =setup->ptt;
+			switch (settings.ptt)
+				{
+					case 1:
+						settings.serial=open("/dev/ttyS0",O_RDONLY);
+						break;
+					case 2:
+						settings.serial=open("/dev/ttyS1",O_RDONLY);
+						break;
+					case 3:
+						settings.serial=open("/dev/ttyS2",O_RDONLY);
+						break;
+					case 4:
+						settings.serial=open("/dev/ttyS3",O_RDONLY);
+						break;
+					default:
+						break;
+				 }
+				if (settings.serial >0)
+					 ioctl(settings.serial,TIOCMBIC,&flags);
+				}
+
+
+
+c="LinPsk Version ";
+c +=VERSION;
+
+
+
+	if (!settings.DemoMode)
+		{
+			settings.inputFilename="/dev/audio";
+			c += " -- "+settings.callsign;
+			if (view->sound == 0 )
+				view->sound = new CSound(settings.serial);
+		}
+	else
+    c += " -- DemoMode";
+		this->setCaption(c);
+			if (view->sound == 0)
+			{	
+				if (settings.DemoTypeNumber == 1)
+					view->sound = new WaveInput(-1);
+				else
+					view->sound = new TextInput(-1);	
+			}		
+	}
+	
+setInputSource(settings.InputSource);
+setVolume(settings.InputSource,settings.InputVolume);
+setOutputVolume(settings.OutputVolume);
+setActiveWindow();
+view->repaint(true);
+}
+
+void LinPskApp::slotsaveSettings()
+{
+QFile ConfigFile("LinPsk.config");
+QString s;
+s=QDir::homeDirPath();
+QDir d=QDir::home();
+d.setCurrent(s.data());
+if ( ConfigFile.open(IO_WriteOnly) )	// File is writable
+	{
+		s="MinimumWindowWidth=" + s.setNum(settings.MinimumWindowWidth) + "\n";
+		ConfigFile.writeBlock(s.data(),s.length());
+		s="MinimumWindowHeight=" + s.setNum(settings.MinimumWindowHeight) + "\n";
+		ConfigFile.writeBlock(s.data(),s.length());
+		s="StatusBarHeight=" + s.setNum(settings.StatusBarHeight) + "\n";
+		ConfigFile.writeBlock(s.data(),s.length());
+
+		s="callsign="+settings.callsign+"\n";  //Callsign
+		ConfigFile.writeBlock(s.data(),s.length());
+		s.sprintf("ptt=%d\n",settings.ptt);            //ptt
+		ConfigFile.writeBlock(s.data(),s.length());
+		if(settings.DemoMode)                          //Demomode
+			s="DemoMode=true\n";
+		else
+			s="DemoMode=false\n";
+		ConfigFile.writeBlock(s.data(),s.length());			
+		
+		if (settings.DemoTypeNumber > 0)														//DemoTypeNumber
+			{
+				s="DemoType=" + s.setNum(settings.DemoTypeNumber) + "\n";
+				ConfigFile.writeBlock(s.data(),s.length());
+			}	
+		if(settings.slashed0)                        //Decoder
+			s="SlashedZero=true\n";
+		else
+			s="SlashedZero=false\n";
+		ConfigFile.writeBlock(s.data(),s.length());
+                                                      // Macros
+    s="Macro0="+settings.Macro0+"\n";	
+		ConfigFile.writeBlock(s.data(),s.length());
+
+    s="Macro1="+settings.Macro1+"\n";	
+		ConfigFile.writeBlock(s.data(),s.length());
+
+    s="Macro2="+settings.Macro2+"\n";	
+		ConfigFile.writeBlock(s.data(),s.length());
+
+    s="Macro3="+settings.Macro3+"\n";	
+		ConfigFile.writeBlock(s.data(),s.length());
+
+		s="StationFile="+settings.StationFile+"\n";				// Files
+		ConfigFile.writeBlock(s.data(),s.length());
+
+		s="ButtonName="+settings.ButtonName+"\n";
+		ConfigFile.writeBlock(s.data(),s.length());
+
+		s="ButtonFile="+settings.ButtonFile+"\n";
+		ConfigFile.writeBlock(s.data(),s.length());
+
+		s="TimeOffset="+s.setNum(settings.timeoffset)+"\n";	//Time
+		ConfigFile.writeBlock(s.data(),s.length());
+
+		s="InputSource="+s.setNum(settings.InputSource)+"\n";
+		ConfigFile.writeBlock(s.data(),s.length());
+		s="InputVolume="+s.setNum(settings.InputVolume)+"\n";	//InputVolume
+		ConfigFile.writeBlock(s.data(),s.length());
+
+		s="OutputVolume="+s.setNum(settings.OutputVolume)+"\n";	//OutputVolume
+		ConfigFile.writeBlock(s.data(),s.length());
+
+		s="Net";
+		if (settings.net)
+			s +="=true\n";
+		else
+			s +="=false\n";
+ 		ConfigFile.writeBlock(s.data(),s.length());					// Net
+
+
+		s="RxChannels="+s.setNum(settings.RxChannels)+"\n"; //Number of RxChannels
+		ConfigFile.writeBlock(s.data(),s.length());
+																												//Font Information
+		s="RxLabelFont="+settings.RxLabelFont.family()+"\n";
+		ConfigFile.writeBlock(s.data(),s.length());	
+		s="RxLabelPointSize="+s.setNum(settings.RxLabelFont.pointSize())+"\n";
+		ConfigFile.writeBlock(s.data(),s.length());																											
+
+		s="RxWindowTextFont="+settings.RxWindowTextFont.family()+"\n";
+		ConfigFile.writeBlock(s.data(),s.length());	
+		s="RxWindowTextPointSize="+s.setNum(settings.RxWindowTextFont.pointSize())+"\n";
+		ConfigFile.writeBlock(s.data(),s.length());																											
+		
+		s="TxLabelFont="+settings.TxLabelFont.family()+"\n";
+		ConfigFile.writeBlock(s.data(),s.length());	
+		s="TxLabelPointSize="+s.setNum(settings.TxLabelFont.pointSize())+"\n";
+		ConfigFile.writeBlock(s.data(),s.length());
+																													
+		s="TxWindowTextFont="+settings.TxWindowTextFont.family()+"\n";
+		ConfigFile.writeBlock(s.data(),s.length());	
+		s="TxWindowTextPointSize="+s.setNum(settings.TxWindowTextFont.pointSize())+"\n";
+		ConfigFile.writeBlock(s.data(),s.length());																											
+		
+		s="PanelLabelFont="+settings.PanelLabelFont.family()+"\n";
+		ConfigFile.writeBlock(s.data(),s.length());																												
+		s="PanelLabelPointSize="+s.setNum(settings.PanelLabelFont.pointSize())+"\n";
+		ConfigFile.writeBlock(s.data(),s.length());	
+																													// Save ColorSettings
+		for (int i=0;i < 4;i++)
+			{
+			int r,g,b;
+			long int rgbvalue;
+			settings.colours[i].rgb(&r,&g,&b);
+			rgbvalue=b+256*g+256*256*r;	
+			s="Color"+s.setNum(i)+"="+s.setNum(rgbvalue)+"\n";																																
+			ConfigFile.writeBlock(s.data(),s.length());	
+			}
+						
+		ConfigFile.close();
+	}
+else
+	QMessageBox::critical(0,"LinPsk","Could not write LinPsk.config in Directory\n");
+}
+
+void LinPskApp::sloteditMacros()
+{
+
+editMacro *WMacro = new editMacro(this);
+
+WMacro->move(this->x()+50,this->y()+50);
+if ( WMacro->exec() !=  0)
+	{
+	settings.Macro0 = WMacro->WMacro0->text();
+	settings.Macro1 = WMacro->WMacro1->text();
+	settings.Macro2 = WMacro->WMacro2->text();
+	settings.Macro3 = WMacro->WMacro3->text();
+
+
+	}
+}
+
+void LinPskApp::restoreStatusLine()
+{
+view->msg->setText(SaveText);
+}
+
+/** Setting up the different Fonts  for the windows */
+void LinPskApp::slotFontSetup(void)
+{
+QPopupMenu *FontSetup=new QPopupMenu(this);
+FontSetup->insertItem("RxWindow..",this,SLOT(slotRxFontSetup()),0,ID_RX_WINDOW_FONTS);
+FontSetup->insertItem("TxWindow..",this,SLOT(slotTxFontSetup()),0,ID_TX_WINDOW_FONTS);
+FontSetup->exec(QCursor::pos());
+
+}
+/** Selecting RX/TX fonts */
+
+void LinPskApp::slotRxFontSetup()
+{
+bool ok;
+QFont f=QFontDialog::getFont(&ok,settings.RxWindowTextFont,this);
+if (ok)
+	{
+	settings.RxWindowTextFont=f;								//Save Settings
+	for(int i=0;i<settings.RxChannels;i++)			//Apply Font
+	 view->rx[i]->rxwindow->setFont(settings.RxWindowTextFont);
+	}
+	
+	
+}
+
+void LinPskApp::slotTxFontSetup()
+{
+bool ok;
+QFont f=QFontDialog::getFont(&ok,settings.TxWindowTextFont,this);
+if (ok)
+	{
+	settings.TxWindowTextFont=f; // Save Settings
+	view->tx->txwindow->setFont(settings.TxWindowTextFont); // Apply Font
+	}
+}
+/** Setup the four different window Colors */
+void LinPskApp::slotColorSetup()
+{
+QPopupMenu *ColorSetup = new QPopupMenu(this);
+ColorSetup->insertItem("RxWindow 1",this,SLOT(RxWindowColor0()),0);
+if (settings.RxChannels >1)
+	ColorSetup->insertItem("RxWindow 2",this,SLOT(RxWindowColor1()),0);
+
+if (settings.RxChannels >2)
+	ColorSetup->insertItem("RxWindow 3",this,SLOT(RxWindowColor2()),0);
+	
+if (settings.RxChannels >3)
+	ColorSetup->insertItem("RxWindow 4",this,SLOT(RxWindowColor3()),0);
+
+ColorSetup->exec(QCursor::pos());
+ColorSetup->~QPopupMenu();
+
+}
+/** Select Color for Window 1 -4 */
+
+void LinPskApp::RxWindowColor0()
+{
+RxWindowColor(0);
+}
+
+void LinPskApp::RxWindowColor1()
+{
+RxWindowColor(1);
+}
+
+void LinPskApp::RxWindowColor2()
+{
+RxWindowColor(2);
+}
+
+void LinPskApp::RxWindowColor3()
+{
+RxWindowColor(3);
+}
+
+
+void LinPskApp::RxWindowColor(int window)
+{
+QColor color=QColorDialog::getColor(settings.colours[window],this);
+if (color.isValid())
+	{
+		settings.colours[window]=color;
+		view->rx[window]->setColor(color);
+		view->tx->SelectRxWindow->setColor(window);
+	}	
+}
diff --git a/linpsk/linpsk.h b/linpsk/linpsk.h
new file mode 100644
index 0000000..2dd993a
--- /dev/null
+++ b/linpsk/linpsk.h
@@ -0,0 +1,139 @@
+/***************************************************************************
+                          linpsk.h  -  description
+                             -------------------
+    begin                : Sat Mar  4 22:29:25 /etc/localtime 2000
+    copyright            : (C) 2000 by Volker Schroer
+    email                : DL1KSV at gmx.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *   The psk part is based on the work of Moe Wheatley, AE4JY              *
+ ***************************************************************************/
+
+#ifndef LINPSK_H
+#define LINPSK_H
+
+// include files for QT
+#include <qstring.h>
+#include <qpopupmenu.h>
+#include <qmainwindow.h>
+#include <qaccel.h>
+#include <qmenubar.h>
+#include <qtoolbar.h>
+#include <qpixmap.h>
+#include <qtoolbutton.h>
+#include <qapp.h>
+#include <qstatusbar.h>
+#include <qwhatsthis.h>
+#include <qmsgbox.h>
+#include <qfiledialog.h>
+#include <qprinter.h>
+#include <qpainter.h>
+#include <qsplitter.h>
+#include <qfontdialog.h>
+#include <qcolordialog.h>
+
+// application specific includes
+#include "linpskview.h"
+
+#include "resource.h"
+#include "setup.h"
+#include "editmacro.h"
+#include "checkcom.h"
+#include "crxselect.h"
+
+
+/**
+  * This Class is the base class for your application. It sets up the main
+  * window and providing a menubar, toolbar
+  * and statusbar. For the main view, an instance of class LinPskView is
+  * created which creates your view.
+  */
+class LinPskApp : public QMainWindow
+{
+  Q_OBJECT
+  
+  public:
+    /** construtor */
+    LinPskApp();
+    /** destructor */
+    ~LinPskApp();
+    /** initMenuBar creates the menu_bar and inserts the menuitems */
+    void initMenuBar();
+
+    /** setup the mainview*/
+    void initView();
+  
+    /** overloaded for Message box on last window exit */
+
+    // Starting with window components
+
+
+  public slots:
+  
+    /** switch argument for Statusbar help entries on slot selection */
+    void statusCallback(int id_);
+    /** open a DemoFile */
+    void slotFileOpen();
+    /** exits the application */
+    void slotFileQuit();
+
+		/** DemoMode */
+		void slotSetup();
+		void sloteditMacros();
+		void slotsaveSettings();
+		
+  
+    /** shows an about dlg*/
+    void slotHelpAbout();
+  
+    /** change the status message of the whole statusbar temporary */
+    void slotStatusHelpMsg(const QString &text);
+	  void restoreStatusLine();
+  /** Setting up the different Fonts  for the windows */
+  void slotFontSetup(void);
+  /** Selecting RX/TX fonts */
+  void slotRxFontSetup();
+  void slotTxFontSetup();
+  /** Setup the four different window Colors */
+  void slotColorSetup();
+  /** Select Color for Window 1-4 */
+  void RxWindowColor0();
+  void RxWindowColor1();
+  void RxWindowColor2();
+  void RxWindowColor3();
+
+protected:
+	void RxWindowColor(int);
+signals:
+void ButtonNameChanged();
+  
+  private:
+
+    /** view is the main widget which represents your working area. The View
+     * class should handle all events of the view widget.  It is kept empty so
+     * you can create your view according to your application's needs by
+     * changing the view class.
+     */
+    LinPskView *view;
+
+    /** file_menu contains all items of the menubar entry "File" */
+    QPopupMenu *fileMenu;
+    /** edit_menu contains all items of the menubar entry "Edit" */
+    QPopupMenu *editMenu;
+   /** Menu contains the Settings */
+	  QPopupMenu *settingsMenu;
+   /** Menu contains all items of the menubar entry "Help" */
+    QPopupMenu *helpMenu;
+   /** String for saving Statusmessage, to avoid problems with statusbar()->message function
+   			in qt 2.2.0 */
+ 	QString SaveText;
+ 	QTimer *statusTime;
+};
+#endif 
+
diff --git a/linpsk/linpskview.cpp b/linpsk/linpskview.cpp
new file mode 100644
index 0000000..1d010b1
--- /dev/null
+++ b/linpsk/linpskview.cpp
@@ -0,0 +1,865 @@
+/***************************************************************************
+                          linpskview.cpp  -  description
+                             -------------------
+    begin                : Sat Mar  4 22:29:25 /etc/localtime 2000
+    copyright            : (C) 2000 by Volker Schroer
+    email                : DL1KSV at gmx.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *    based on the work of  Moe Wheatly, AE4JY                             *  
+ ***************************************************************************/
+#include <stdio.h>
+
+#include "linpskview.h"
+#include "fircoeffs.h"
+#include "bpskdemodulator.h"
+#include "pskmod.h"
+
+LinPskView::LinPskView(QWidget *parent) : QWidget(parent)
+{
+QString s;
+processingMacros = false;
+//Preparing the use of Function Keys
+functions = new QAccel(this);
+
+// Constructing StatusBar
+
+ statusBar=new QStatusBar(parent);
+ statusBar->setFixedHeight(settings.StatusBarHeight);
+
+//Messages
+	msg=new QLabel(statusBar);
+	statusBar->addWidget(msg,2,true);
+	msg->setText(tr("Ready"));
+//AFC- Debugging
+#ifdef AFC_DEBUG
+	Error = new QLabel(statusBar);
+	statusBar -> addWidget(Error,1,true);
+	Df = new QLabel(statusBar);
+	statusBar -> addWidget(Df,1,true);
+	Dp = new QLabel(statusBar);
+	statusBar -> addWidget(Dp,1,true);
+#endif		
+	
+// IMD
+	IMD = new QLabel(statusBar);
+	statusBar -> addWidget(IMD,1,true);
+	  	
+
+//Clockadjust
+#ifndef AFC_DEBUG
+	clockadj=new QLabel(statusBar);
+	clockadj->setText("CLK ppm = 0");
+	statusBar->addWidget(clockadj,1,true);
+#endif	
+
+// Time
+	zeit=new QLabel(statusBar);
+	statusBar->addWidget(zeit,1,true);
+
+// date
+  datum=new QLabel(statusBar);
+	statusBar ->addWidget(datum,1,true);
+  setclock();
+
+
+	QTimer *clock=new QTimer(this);
+ 	connect(clock,SIGNAL(timeout()),SLOT(setclock()));
+  clock->start(60000,false);
+
+
+  controls = new CPanel(this); // Controlpanel
+// Executing Macros
+
+	connect(controls->Macros,SIGNAL(clicked(int)),this,SLOT(executeMacro(int)));
+// Constructing the Tx - Display, has to be done before initializing the rx- Channels
+	tx = new CTxdisplay(this);  //Editorfeld fuer tx
+
+
+// Constructing the different Demodulator Channels
+// and depending Rx - Windows
+	initRxChannels(0,settings.RxChannels);
+
+// Connect the active (that is the displayed) Demodulator 	to the phase display
+	connect(demodulator[settings.actChannel],SIGNAL(newPhaseValue(int,float_complex)),
+						controls->display,SLOT(newPhaseValue(int,float_complex)));
+	 // Changing RX-Frequency by clicking in Display
+   connect(controls->display,SIGNAL(rxFreqChanged(int)),this,SLOT(rxfreqchanged(int)));
+
+//Theircall or Name
+  connect(rx[settings.actChannel]->rxwindow,SIGNAL(theircallChanged(const QString &)),
+  						controls,SLOT(setString(const QString &)));
+
+
+// Timer
+ 	rxtimer = new QTimer(this);
+	connect(rxtimer,SIGNAL(timeout()),this,SLOT(process_rxdata()));
+	txtimer = new QTimer(this);
+	connect(txtimer,SIGNAL(timeout()),this,SLOT(process_txdata()));
+// For switching XMIT/RX  in Macros
+//	pPSKMod=new CPSKMod();
+//	connect(pPSKMod,SIGNAL(finished()),this,SLOT(start_process_loop()));
+
+	Modulator = NULL;
+
+// Start Receiving /Transmitting
+	connect(tx->start,SIGNAL(clicked()),this,SLOT(start_process_loop()));
+  functions->connectItem(functions->insertItem(Key_F5),this,SLOT(start_process_loop()));
+
+// Tune
+	connect(controls->Tune,SIGNAL(clicked()),this,SLOT(Tune()));
+// Tie F8 to Tune
+	functions->connectItem(functions->insertItem(Key_F8),this,SLOT(Tune()));
+
+// Send CW ID
+	connect(controls->CWID,SIGNAL(clicked()),this,SLOT(SendCWid()));
+	functions->connectItem(functions->insertItem(Key_F6),this,SLOT(SendCWid()));
+// Clear RxWindow
+  connect(controls->Clear,SIGNAL(clicked()),rx[0],SLOT(clearWindow()));
+
+
+// Tie F11 to Macro 0 (QSO- Start)
+	functions->connectItem(functions->insertItem(Key_F11),this,SLOT(executeMacro0()));
+// Tie F12 to Macro 1 (BTU)
+	functions->connectItem(functions->insertItem(Key_F12),this,SLOT(executeMacro1()));
+//Initialisation of some Variabels
+			inbuf= new double[sizeof(double)*BUF_SIZE];
+			dec2fir = new double[sizeof(double)*DEC2_LPFIR_LENGTH];
+   		outbuf = new double[sizeof(double)*BUF_SIZE];
+			if (settings.DemoMode)
+				{
+					if (settings.DemoTypeNumber == 1)
+						sound = new WaveInput(-1);
+					else
+						sound = new TextInput(-1);
+				}			
+			else	
+				sound = new CSound(settings.serial);
+//			controls->display->inputdata = inbuf;
+			controls->display->inputdata = outbuf;
+
+// Sizing
+		
+}
+
+LinPskView::~LinPskView()
+{
+}
+
+/** Starting receiving */
+void LinPskView::start_process_loop()
+{
+
+int time;
+QString errorstring;
+
+
+switch (settings.status)
+	{
+	case TX_SENDING_STATE:
+	case TX_PREAMBLE_STATE:
+			if ( processingMacros ) // If Processing Macros, we shouldn't switch
+						return;
+			
+		  tx->txwindow->insertCntrlChar(TXOFF_CODE);
+			break;
+			
+	case TX_END_STATE:
+				settings.status = TX_OFF_STATE;
+	case TX_POSTAMBLE_STATE:
+	case TX_CWID_STATE:   // Sending CW - ID;
+	case TX_TUNE_STATE:		// Tuning
+											 // Stop xmitting
+
+ 			{
+//				rxwindows[settings.actChannel]->updaterx('\n');
+				txtimer->stop();
+				
+				tx->clearFocus();
+				sound->close_Device();
+				sound->PTT(false); //PTT off
+
+				if (Modulator != NULL )    // Delete Modulator Class , if exists
+					  {
+							delete Modulator;
+							Modulator = NULL;
+            }
+				tx->start->setStatus(OFF);
+				if(settings.net &&  (rx[settings.actChannel]->getRxFrequency() != tx->getTxFrequency()))
+					{
+						rx[settings.actChannel]->changerxfreq(tx->getTxFrequency());
+
+					}
+				
+ 				
+				}
+    		m_pDec2InPtr=dec2fir;
+
+				for (int i=0; i <DEC2_LPFIR_LENGTH;i++)
+					dec2fir[i] = 0.0; // fill delay buffer with zero
+			
+
+
+				if ( sound->open_Device_read(settings.inputFilename))
+					{
+						if(settings.DemoMode)
+		    			time= 350; // In Demomode we should get realistic Timing;
+						else
+							time =160;
+						if (!sound->setParams(&errorstring))
+							{
+							QMessageBox::information(0,"LinPsk",errorstring);
+						 	return;
+							}
+						tx->SelectRxWindow->show();		
+   					rxtimer->start(time,false);		// Every 371 ms we shoud get BUF_SIZE samples in DemoMode
+						msg->setText(tr("Receiving"));                             // Or we poll the soundcard
+						settings.status=TX_OFF_STATE;
+						tx->start->setText("TX\n(F5)");
+						IMD->show();
+          }
+
+				else														//Something went wrong in Opening Input File
+ 						{
+							msg->setText(tr("Error Starting Receiving"));
+            	if (settings.DemoMode)
+							QMessageBox::information(0,"LinPsk","No Samplefile for Demo selected or no File found\nPlease select File in File Menu");
+    					else
+							{
+  							QMessageBox::critical(0,"LinPsk","Input Device not available\nProgram is terminating");
+    					emit abbruch();
+    					}
+ 						}
+					
+					break;
+
+			case TX_OFF_STATE:          //Change to Xmitting;
+				{
+					tx->SelectRxWindow->hide();					
+					rxtimer->stop();
+          sound->close_Device();
+					if(settings.net && (rx[settings.actChannel]->getRxFrequency() != tx->getTxFrequency()))
+													tx->changetxfreq(rx[settings.actChannel]->getRxFrequency());
+							
+							
+						
+				
+					sound->open_Device_write(settings.inputFilename);
+					if (!sound->setParams(&errorstring))
+						{
+							QMessageBox::information(0,"LinPsk",errorstring);
+						 	return;
+						}
+					
+					settings.status=TX_PREAMBLE_STATE;
+					switch (settings.DemodulatorType[settings.actChannel])
+						{
+							case BPSK:
+							case QPSK:
+									Modulator = new PSKModulator(11025,float(tx->getTxFrequency()),tx);
+									Modulator->setMode(rx[settings.actChannel]->mode);
+									break;
+							case RTTY:
+									Modulator = new RTTYModulator(11025,float(tx->getTxFrequency()),tx);
+									break;	
+						}				  	
+						connect(Modulator,SIGNAL(charSend(char)),rx[settings.actChannel]->rxwindow,
+																SLOT(updaterx(char))); 						
+							connect(Modulator,SIGNAL(finished()),this,SLOT(start_process_loop()));
+						
+       		m_pDec2InPtr=dec2fir;
+					for (int i=0; i <DEC2_LPFIR_LENGTH;i++)
+							dec2fir[i] = 0.0; // fill delay buffer with zero
+					// We should save remote call and name if return was'nt pressed
+					msg->setText(tr("Transmitting"));
+					
+					tx->start->setText("RX\n(F5)");
+					tx->start->setStatus(ON);
+					tx->txwindow->setFocus();
+					txtimer->start(300,false);
+					txcount=BUF_SIZE;
+				  sound->PTT(true);
+					IMD->hide();
+
+				}
+				
+				break;
+
+				case TX_PAUSED_STATE:
+
+				break;
+
+	}
+}
+
+/** Reading and processing Data from
+input source */
+
+void LinPskView::process_rxdata()
+
+{
+QString s;
+
+ if (sound->getSamples(inbuf,BUF_SIZE) == 0)
+		return; 														// No sample available, try later
+//if (settings.DemoMode)
+//	 AddGaussian(inbuf,BUF_SIZE,5000.0);
+
+//ProcDec2Fir( inbuf, inbuf , BUF_SIZE);	// 2uS per sample
+
+ProcDec2Fir( inbuf, outbuf , BUF_SIZE);	// 2uS per sample
+for (int channel=0;channel<settings.RxChannels;channel++)
+	{
+		demodulator[channel]->setRxFrequency(rx[channel]->getRxFrequency());
+		if(settings.DemodulatorType[channel] != RTTY)		
+			demodulator[channel]->ProcessInput(outbuf);
+		else
+			demodulator[channel]->ProcessInput(inbuf);
+		
+	}
+#ifndef AFC_DEBUG	
+s.sprintf(" Clk ppm = %6d",settings.clockerror);
+clockadj->setText(s);
+clockadj->update();
+if (settings.DemodulatorType[settings.actChannel] != RTTY )
+			s.sprintf(" IMD = %6.2f dB",controls->display->calcIMD());
+else
+	s="";
+
+		IMD->setText(s);
+		IMD->update();
+	
+#endif
+
+
+
+#ifdef AFC_DEBUG
+s.sprintf(" Dp0 = %6.2f dB",demodulator[settings.actChannel]->m_QFreqError);
+IMD->setText(s);
+IMD->update();
+s.sprintf("Total=%8.5f",demodulator[settings.actChannel]->m_FreqError);
+Error->setText(s);
+Error->update();
+s.sprintf("df=%8.5f",demodulator[settings.actChannel]->ferror);
+Df->setText(s);
+Df->update();
+s.sprintf("dp=%8.5f",demodulator[settings.actChannel]->dp);
+Dp->setText(s);
+Dp->update();
+#endif
+controls->display->repaint(false);
+}
+/** Get next sample to process */
+
+/**
+Decimate by 2 FIR filter on 'BlockSize' samples.
+pIn == pointer to input array of double's (can be same buffer as pOut )
+pOut == pointer to output array of double's
+Blocksize == number of samples to process
+ */
+void LinPskView::ProcDec2Fir(double *pIn, double *pOut,int BlockSize)
+{
+int i,j;
+double acc;				
+const double* Kptr;
+double* Firptr;
+double* Qptr;
+double* Inptr;
+	Inptr = m_pDec2InPtr;	//use automatic copies of member variables
+	Qptr =  dec2fir;			// for better speed.
+	j = 0;
+	for( i = 0; i<BlockSize; i++ )	// put new samples into Queue
+	{
+		if( --Inptr < Qptr )		//deal with wraparound
+			Inptr = Qptr+DEC2_LPFIR_LENGTH-1;
+		*Inptr = pIn[i];
+		if( i&1 )		//calculate MAC's every other time for decimation by 2
+		{
+			acc = 0.0;
+			Firptr = Inptr;
+			Kptr = Dec2LPCoef;
+			while( Kptr < (Dec2LPCoef + DEC2_LPFIR_LENGTH) )	//do the MAC's
+			{
+				acc += ( (*Firptr++)*(*Kptr++) );
+				if( Firptr >= Qptr+DEC2_LPFIR_LENGTH )	//deal with wraparound
+					Firptr = Qptr;
+			}
+			pOut[j++] = acc;		//save output sample
+		}
+	}
+	m_pDec2InPtr = Inptr;		// save position in circular delay line
+}
+
+/////////////////////////////////////////////////////////////////
+// Adds n gaussian random doubles with 0 mean and std_dev = RMS = std
+//    to the specified buffer
+//////////////////////////////////////////////////////////////////
+void LinPskView::AddGaussian(double * pData, int n, double std)
+{
+int i = 0;
+double rad;
+double r;
+double u1;
+double u2;
+	while( i<n )
+	{
+// Generate two uniform random numbers between -1 and +1
+// that are inside the unit circle
+		do {
+			u1 = 1.0 - 2.0 * (double)rand()/(double)RAND_MAX ;
+			u2 = 1.0 - 2.0 * (double)rand()/(double)RAND_MAX ;
+			r = u1*u1 + u2*u2;
+		} while(r >= 1.0 || r == 0.0);
+		rad = sqrt(-2.0*log(r)/r);
+		pData[i++] += (std*u1*rad);
+		pData[i++] += (std*u2*rad);
+	}
+}
+
+void LinPskView::setclock()
+{
+	QCString s;
+  QDateTime t;
+  t=QDateTime::currentDateTime();
+	t=t.addSecs(settings.timeoffset*3600);
+	s.sprintf(" %2d:%2d UTC",t.time().hour(),t.time().minute());
+	s.replace(QRegExp(": "),":0");
+	zeit->setText(s);
+	zeit->update();
+	s.sprintf("%2d.  %s. %4d",t.date().day(),t.date().monthName(t.date().month()).data(),t.date().year());
+	datum->setText(s);
+
+}
+
+void LinPskView::process_txdata()
+{
+int length;
+
+if (txcount >0)
+	length = Modulator->CalcSignal(inbuf,BUF_SIZE);
+else
+length = BUF_SIZE;
+
+txcount=sound->putSamples(inbuf,length);
+if (txcount >0)
+	{
+		ProcDec2Fir( inbuf, inbuf , BUF_SIZE);
+		for (int i=0; i < BUF_SIZE/2; i++)
+	 			controls->display->inputdata[i]=*(inbuf+i);
+				controls->display->repaint(false);
+	}
+}
+
+void LinPskView::executeMacro(int macro)
+{
+
+QString txstring;
+
+ QFile TextFile;
+
+
+switch(macro)
+	{
+		case 0:				// QSO Start
+
+			if (settings.status != TX_OFF_STATE) return; // Macro switches the state
+																									 //therefor we should be receiving	
+
+
+				if (settings.theircall.isEmpty())
+					return;    // Can only start is theircall is set
+
+						txstring=prepareMacro(settings.Macro0);
+						if (txstring.length() == 0)						// txstring empty, error in Macro?
+							return;
+
+						processingMacros=true;
+
+						start_process_loop();
+						
+     				tx->txwindow->clear();
+						
+						sendString(txstring.data());
+				
+         		tx->txwindow->insertCntrlChar(TXOFF_CODE);
+
+						break;
+		case 1:         			//BTU
+
+     				if (settings.theircall.isEmpty())
+							return;    // Can only start is theircall is set
+						if (settings.status != TX_SENDING_STATE) // We should be in TX- mode
+							return;
+							tx->txwindow->clear();
+							txstring=prepareMacro(settings.Macro1);
+							if (txstring.length() == 0)						// txstring empty, error in Macro?
+								return;
+
+							sendString(txstring.data());
+							tx->txwindow->insertCntrlChar(TXOFF_CODE);
+
+							break;
+
+		case 2:					//QSO Final
+						txstring=prepareMacro(settings.Macro2);
+						if (txstring.length() == 0)							// txstring empty, nothing to do
+							return;
+            processingMacros = true;
+						if ( settings.status ==  TX_OFF_STATE )
+							start_process_loop();
+							sendString(txstring.data());
+							tx->txwindow->insertCntrlChar(TXOFF_CODE);
+
+							break;
+
+
+		case 3:				//CQ
+
+				if (settings.status != TX_OFF_STATE) return; // Macro switches the state
+																										 //therefor we should be receiving	
+
+
+				if (settings.callsign ==  "")
+				{
+					QMessageBox::information(0,"LinPsk","Callsign not set.\n Please set your Callsign!");
+					return;
+				}
+				processingMacros = true;
+				start_process_loop();
+				//tx->insertCntrlChar(TXTOG_CODE);
+				txstring=prepareMacro(settings.Macro3);
+				if (txstring.length() == 0)						// txstring empty, error in Macro?
+							{
+								processingMacros = false;
+								return;
+							 }
+
+				tx->txwindow->clear();
+				sendString(txstring.data());
+				tx->txwindow->insertCntrlChar(TXOFF_CODE);
+		//			settings.status=TX_POSTAMBLE_STATE;
+			break;
+
+	case 4:			//Send Station Text - File
+				if (settings.status != TX_SENDING_STATE) // We should be in TX- mode
+							return;
+				processingMacros = true;
+        TextFile.setName(settings.StationFile);
+				if (TextFile.open(IO_ReadOnly) )
+						{
+							tx->txwindow->clear();
+           		QTextStream line(&TextFile);
+							while(!line.eof())
+								{
+									txstring=line.readLine();
+									txstring.append("\n");
+									sendString(txstring.data());
+								}
+							TextFile.close();
+						}
+             else
+             QMessageBox::information(0,"LinPsk","Couldn't open StationFile");
+				break;
+
+	case 5:		//Execute UserFile
+
+				if (settings.status != TX_SENDING_STATE) return; // We should be in TX- mode
+																										
+        processingMacros = true;
+        TextFile.setName(settings.ButtonFile);
+				if (TextFile.open(IO_ReadOnly) )
+						{
+							tx->txwindow->clear();
+
+           		QTextStream line(&TextFile);
+							while(!line.eof())
+								{
+									txstring=line.readLine();
+									txstring.append("\n");
+									sendString(txstring.data());
+								}
+							TextFile.close();
+						}
+             else
+             QMessageBox::information(0,"LinPsk","Couldn't open UserFile");
+				break;
+
+
+		default:
+			break;	
+	}
+processingMacros = false;
+}
+
+void LinPskView::sendString(const char *c)
+{
+
+int len,j,i;
+
+						len=strlen(c);
+						j=0;
+						while ( (i=tx->txwindow->insertTxChar(c+j,len)) <len)
+							{
+								qApp->processEvents(100);
+								j +=i;
+								len -=i;
+							}	
+}
+
+
+void LinPskView::executeMacro0()
+{
+executeMacro(0);
+}
+void LinPskView::executeMacro1()
+{
+executeMacro(1);
+}
+
+QString LinPskView::prepareMacro(QString Macro)
+{
+
+int anzahl;
+int i,indexvon,indexbis;
+unsigned int len;
+QString s;
+QString token;
+
+// Replace possible \n
+
+anzahl=Macro.contains("\\n",false);
+indexvon=0;
+for (i=0;i < anzahl; i++)
+	{
+	indexvon=Macro.find("\\n",indexvon,false);
+	Macro.replace(indexvon,2,"\n");
+	}
+
+anzahl=Macro.contains('@',true);
+
+if( (anzahl/2)*2 != anzahl )
+	{
+		s="Syntaxerror in Macro\n";
+		s.append(Macro.data());
+		QMessageBox::information(0,"LinPsk",s.data());
+		s="";
+  }
+if ( anzahl == 0)
+	s=Macro.copy();
+else
+	{
+		anzahl = anzahl/2;
+		indexvon = 0;
+		s="";
+		indexbis = Macro.find('@',indexvon,true);
+		for (i=0;i < anzahl; i++)
+			{
+				len= indexbis-indexvon;
+				if (len >0 )
+					s.append(Macro.mid(indexvon,len));
+				indexvon=indexbis+1;
+				indexbis = Macro.find('@',indexvon,true);
+				len = indexbis-indexvon;
+        token = Macro.mid(indexvon,len);
+				if (len >0)
+					{
+						if ( strcmp(token.data(),"CALLSIGN") == 0)
+							s +=settings.callsign;
+						if ( strcmp(token.data(),"THEIRCALL") == 0)
+							s +=settings.theircall;
+						if ( token == "NAME")
+							s +=settings.Name;	
+						if (token == "CWID" )
+							settings.NeedCWid= true;
+						indexvon =indexbis+1;
+						indexbis = Macro.find("@",indexvon,true);	
+							
+					}
+			}
+		s.append(Macro.mid(indexvon,10000));	// Append rest of string
+	}
+	
+return s;
+}
+
+void LinPskView::SendCWid()
+{
+settings.NeedCWid = true;
+if (settings.status == TX_OFF_STATE )
+	start_process_loop() ;
+settings.status = TX_CWID_STATE;
+}
+
+void LinPskView::Tune()
+{
+if (settings.status == TX_OFF_STATE )
+		start_process_loop();
+settings.status= TX_TUNE_STATE;
+}
+
+void LinPskView::resizeEvent(QResizeEvent *e)
+
+{
+
+int control_height; /** Height of ControlPanel */
+int rx_height; /** Height of RX- Panel */
+int tx_height; /** Height of TX- Panel */
+int width; /** witdh of all (Sub-) Panels */
+
+
+width=this->width()-20;
+control_height=(height()*38)/100; // 38% of hole height
+																	// but 210 is Minimum Size for Readability of Controls
+if (control_height <200)
+		 control_height = 200;
+		
+tx_height=(height()-control_height)*30/100;
+if (tx_height > 80 )
+		tx_height =80; // Should be enough for TX- Window
+rx_height=height()-control_height-tx_height-15;
+
+
+for (int i=0;i<settings.RxChannels;i++)
+ {
+		rx[i]->resize(width,rx_height);
+
+		if ( i != settings.actChannel)
+		 rx[i]->hide();
+	}	
+
+tx->resize(width,tx_height);
+tx->move(10,rx_height+8);
+
+controls->setGeometry(10,tx->y()+tx->height()+7,width,control_height);
+
+}
+
+void LinPskView::selectRxWindow(int window)
+
+{
+if (settings.status != TX_OFF_STATE) return; // If we are not in RX- State we should not switch
+																						 // the selected RX- Window 	
+if (window!= settings.actChannel)
+ {
+	 	rx[settings.actChannel]->hide();
+	 	rx[settings.actChannel]->setTheirCall(settings.theircall); // Save Call
+	 	rx[settings.actChannel]->setName(settings.Name);					 // Save Name	
+	 	controls->Clear->disconnect(SIGNAL(clicked()));
+	 	demodulator[settings.actChannel]->disconnect(SIGNAL(newPhaseValue(int,float_complex)));
+ //Theircall
+	  rx[settings.actChannel]->rxwindow->disconnect(controls);
+ 		 connect(rx[window]->rxwindow,SIGNAL(theircallChanged(const QString &)),
+  						controls,SLOT(setString(const QString &)));
+	
+// restore Call and Name in Panel
+		controls->theircall->setText(rx[window]->theircall);
+		controls->Name->setText(rx[window]->Name);		
+	 	rx[window]->show();
+	 	settings.actChannel=window;
+	 	connect(demodulator[window],SIGNAL(newPhaseValue(int,float_complex)),
+	 		controls->display,SLOT(newPhaseValue(int,float_complex)));
+	 	connect(controls->Clear,SIGNAL(clicked()),rx[window],SLOT(clearWindow()));	
+		controls->display->setMode(settings.DemodulatorType[window]);
+	
+	}
+}		 	
+
+void LinPskView::rxfreqchanged(int freq)
+{
+rx[settings.actChannel]->setRxFrequency(freq);
+}
+
+void LinPskView::initRxChannels(int from, int to)
+{
+	for (int i=from;i<to;i++)
+		{
+		 demodulator[i] = new BPskDemodulator();	
+
+		 demodulator[i]->Init(double(5512.5),BUF_SIZE/2); // Should changed later to adjusted Samplerate
+		 settings.DemodulatorType[i] = BPSK;
+		 rx[i] = new CRxdisplay(this,i);
+		 	
+		 demodulator[i]->setRxFrequency(rx[i]->getRxFrequency());
+		 		
+			connect(demodulator[i],SIGNAL(newSymbol(char)),rx[i],SLOT(showchar(char)));
+			connect(demodulator[i],SIGNAL(setFastSquelch(bool)),rx[i],SLOT(setFastSquelch(bool)));
+			connect(demodulator[i],SIGNAL(setSquelchValue(int)),rx[i],SLOT(setSquelchValue(int)));
+  	  connect(demodulator[i],SIGNAL(rxFrequencyChanged(double)),rx[i],SLOT(setRxFrequency(double)));
+
+			connect(rx[i],SIGNAL(ModeChanged(Mode,int)),this,SLOT(setMode(Mode,int)));
+			connect(rx[i],SIGNAL(toggleAfc(bool)),demodulator[i],SLOT(setAfc(bool)));
+			// Connect the Triggers to select the appropriate Rx- Window
+			connect(rx[i],SIGNAL(triggeredWindow(int)),tx->SelectRxWindow,SLOT(selectRxWindow(int)));
+			// Taking the rxfrequency from the  RX- Window to the Display
+			connect(rx[i],SIGNAL(rxFrequencyChanged(int,int)),controls->display,SLOT(setRxFrequency(int,int)));												
+
+			demodulator[i]->setAfc(true);
+	
+		}
+}
+void LinPskView::stopAll()
+{
+txtimer->stop();
+rxtimer->stop();
+msg->setText("Ready");
+settings.status=TX_POSTAMBLE_STATE;
+if (sound != 0)
+	{
+				sound->close_Device();
+				sound->PTT(false); //PTT off
+	}			
+tx->start->setStatus(OFF);
+
+}
+/** changes the Demodulator to the new Mode */
+void LinPskView::setMode(Mode modus,int channel)
+{
+double usedFrequency;
+
+
+if (demodulator[channel] != 0)
+	{
+		
+		demodulator[channel]->disconnect();
+		delete demodulator[channel];
+	}
+usedFrequency = rx[channel]->getRxFrequency();
+switch (modus)
+	{
+		case QPSK:
+			demodulator[channel] = new QPskDemodulator();
+			break;
+		case RTTY:
+			demodulator[channel] = new RTTYDemodulator();
+			break;	
+		default:
+			demodulator[channel] = new BPskDemodulator();
+			break;	
+	}
+	settings.DemodulatorType[channel]= modus;
+	controls->display->setMode(modus);
+	if ( modus != RTTY )
+		demodulator[channel]->Init(double(5512.5),BUF_SIZE/2);
+	else
+		demodulator[channel]->Init(double(11025),BUF_SIZE);
+//		demodulator[channel]->Init(double(5512.5),BUF_SIZE/2);
+		
+	connect(demodulator[channel],SIGNAL(newSymbol(char)),rx[channel],SLOT(showchar(char)));
+	connect(demodulator[channel],SIGNAL(setFastSquelch(bool)),rx[channel],SLOT(setFastSquelch(bool)));
+	connect(demodulator[channel],SIGNAL(setSquelchValue(int)),rx[channel],SLOT(setSquelchValue(int)));
+  connect(demodulator[channel],SIGNAL(rxFrequencyChanged(double)),rx[channel],SLOT(setRxFrequency(double)));
+	connect(demodulator[channel],SIGNAL(newPhaseValue(int,float_complex)),
+						controls->display,SLOT(newPhaseValue(int,float_complex)));
+
+	connect(rx[channel],SIGNAL(toggleAfc(bool)),demodulator[channel],SLOT(setAfc(bool)));	
+// Set the correct RxFrequency
+	demodulator[channel]->setRxFrequency(usedFrequency);
+	demodulator[channel]->setAfc(rx[channel]->getAFCsetting());
+	controls->display->setRxFrequency(channel,(int)usedFrequency);
+}
diff --git a/linpsk/linpskview.h b/linpsk/linpskview.h
new file mode 100644
index 0000000..969af26
--- /dev/null
+++ b/linpsk/linpskview.h
@@ -0,0 +1,160 @@
+/***************************************************************************
+                          linpskview.h  -  description
+                             -------------------
+    begin                : Sat Mar  4 22:29:25 /etc/localtime 2000
+    copyright            : (C) 2000 by Volker Schroer
+    email                : DL1KSV at gmx.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *   based on the work of Moe Wheatley, AE4JY                              *
+ ***************************************************************************/
+
+#ifndef LINPSKVIEW_H
+#define LINPSKVIEW_H
+
+// include files for QT
+#include <qwidget.h>
+#include <qtimer.h>
+#include <qstatusbar.h>
+#include <qlabel.h>
+#include <qdatetime.h>
+
+#include <qmessagebox.h>
+#include <qkeycode.h>
+#include <qaccel.h>
+
+#include <qfile.h>
+#include <qtextstream.h>
+#include <qregexp.h>
+
+// application specific includes
+
+//#include "crxdisplay.h"
+#include "ctxdisplay.h"
+#include "cpanel.h"
+#include "parameter.h"
+//#include "pskdet.h"
+
+#include "csound.h"
+#include "textinput.h"
+#include "waveinput.h"
+#include "cledbutton.h"
+#include "bpskdemodulator.h"
+#include "qpskdemodulator.h"
+#include "rttydemodulator.h"
+
+#include "cmodulator.h"
+#include "rttymodulator.h"
+
+
+extern Parameter settings;
+
+class Input;
+/**
+ * This class defines the  application view.
+ */
+
+class LinPskView : public QWidget
+{
+  Q_OBJECT
+  public:
+
+     LinPskView(QWidget *parent=0);
+    ~LinPskView();
+void AddGaussian(double * pData, int n, double std);
+		void initRxChannels(int from,int to);
+		/* Stops the current activity */
+		void stopAll();
+Input *sound;
+
+// Window - Components
+
+CRxdisplay *rx[4];
+CDemodulator *demodulator[4];
+
+CTxdisplay	*tx;
+CPanel 		*controls;
+
+QStatusBar *statusBar;
+QLabel *msg;
+// Timer for idle loop for receiving and Transmitting
+
+QTimer *rxtimer;
+QTimer *txtimer;
+
+protected:
+
+void resizeEvent(QResizeEvent *);
+
+
+protected slots:
+public slots: // Public slots
+  /** Reading and processing Data from input source */
+  void process_rxdata();
+	/** Processing txdata and writing to Soundcard*/
+	void process_txdata();
+  /** Starting receiving/transmitting */
+  void start_process_loop();
+	/** Show Time */
+	void setclock();
+	/** excute Macr0 */
+	void executeMacro(int);
+	/** executeMacro0 */
+	void executeMacro0();
+	/** executeMacr01 */
+	void executeMacro1();
+	/** Send CW ID */
+	void SendCWid();	
+	/** Tune */
+	void Tune();
+	/** Select appropriate Rx- Window*/
+	void selectRxWindow(int);
+	/** Change RxFrequency of apprpriate RxWindow */
+	void rxfreqchanged(int);
+  /** changes the Demodulator to the new Mode */
+  void setMode(Mode,int);
+signals: // Signals
+  /** Stop PSK31 in case of unrecoverable error */
+  void abbruch();
+private:
+
+   /** Decimation Filter to reduce samplerate */
+  void ProcDec2Fir(double *pIn, double *pOut,int BlockSize);
+	void sendString(const char *);
+
+ double *inbuf;	//Input Buffer
+ double *dec2fir; // queue for decimation by 2 filter
+ double *outbuf; // outputbuffer
+ double *m_pDec2InPtr;
+
+ CModulator *Modulator;
+	int txcount; // Number of transmitted Data; 0 if Soundcard Buffer is full;	
+/** Some Labels in the Statusbar*/
+#ifndef AFC_DEBUG
+QLabel *clockadj;
+#endif
+QLabel *datum;
+QLabel *zeit;
+QLabel *IMD;
+
+/** For Debugging AFC */
+#ifdef AFC_DEBUG
+QLabel *Error;		// Total
+QLabel *Df;				// Frequency component
+QLabel *Dp;				// Phase component
+#endif
+
+QAccel * functions;
+
+QString prepareMacro(QString Macro);
+
+bool processingMacros; // To ensure that Macro will be completly execute
+};
+
+#endif
diff --git a/linpsk/main.cpp b/linpsk/main.cpp
new file mode 100644
index 0000000..3e26c50
--- /dev/null
+++ b/linpsk/main.cpp
@@ -0,0 +1,60 @@
+/***************************************************************************
+                          main.cpp  -  description
+                             -------------------
+    begin                : Die Mai  8 21:20:50 CEST 2001
+    copyright            : (C) 2001 by Volker Schroer
+    email                : dl1ksv at gmx.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+
+#include <qapplication.h>
+#include <qfont.h>
+#include <qstring.h>
+#include <qtextcodec.h>
+#include <qtranslator.h>
+
+#include "linpsk.h"
+
+#include "parameter.h"
+Parameter settings;
+
+int main(int argc, char *argv[])
+{
+QString c;
+
+c="LinPsk Version ";
+c +=VERSION;
+	if (settings.DemoMode)
+	c += " -- DemoMode";
+	else
+	c += " -- "+settings.callsign;
+  QApplication a(argc, argv);
+  a.setFont(QFont("helvetica", 12));
+  QTranslator tor( 0 );
+  // set the location where your .qm files are in load() below as the last parameter instead of "."
+  // for development, use "/" to use the english original as
+  // .qm files are stored in the base project directory.
+  tor.load( QString("linpsk.") + QTextCodec::locale(), "/" );
+
+  a.installTranslator( &tor );
+  /* uncomment the following line, if you want a Windows 95 look*/
+  // a.setStyle(WindowsStyle);
+    
+  LinPskApp *LinPsk=new LinPskApp();
+  a.setMainWidget(LinPsk);
+	LinPsk->setCaption(c);
+
+  LinPsk->show();
+
+  return a.exec();
+}
+
+
diff --git a/linpsk/mfskdemodulator.cpp b/linpsk/mfskdemodulator.cpp
new file mode 100644
index 0000000..89ca755
--- /dev/null
+++ b/linpsk/mfskdemodulator.cpp
@@ -0,0 +1,23 @@
+/***************************************************************************
+                          mfskdemodulator.cpp  -  description
+                             -------------------
+    begin                : Mon Jul 2 2001
+    copyright            : (C) 2001 by Volker Schroer
+    email                : dl1ksv at gmx.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *    based on the work of  Moe Wheatly, AE4JY                             *  
+ ***************************************************************************/
+
+#include "mfskdemodulator.h"
+
+MFSKDemodulator::MFSKDemodulator(){
+}
+MFSKDemodulator::~MFSKDemodulator(){
+}
diff --git a/linpsk/mfskdemodulator.h b/linpsk/mfskdemodulator.h
new file mode 100644
index 0000000..69888b2
--- /dev/null
+++ b/linpsk/mfskdemodulator.h
@@ -0,0 +1,33 @@
+/***************************************************************************
+                          mfskdemodulator.h  -  description
+                             -------------------
+    begin                : Mon Jul 2 2001
+    copyright            : (C) 2001 by Volker Schroer
+    email                : dl1ksv at gmx.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *   based on the work of Moe Wheatley, AE4JY                              *
+ ***************************************************************************/
+
+#ifndef MFSKDEMODULATOR_H
+#define MFSKDEMODULATOR_H
+
+#include <cdemodulator.h>
+
+/**Class for some FSK demodulator like RTTY or MFSK
+  *@author Volker Schroer
+  */
+
+class MFSKDemodulator : public CDemodulator  {
+public: 
+	MFSKDemodulator();
+	~MFSKDemodulator();
+};
+
+#endif
diff --git a/linpsk/modeselect.cpp b/linpsk/modeselect.cpp
new file mode 100644
index 0000000..2e62763
--- /dev/null
+++ b/linpsk/modeselect.cpp
@@ -0,0 +1,50 @@
+/***************************************************************************
+                          modeselect.cpp  -  description
+                             -------------------
+    begin                : Tue May 29 2001
+    copyright            : (C) 2001 by Volker Schroer
+    email                : dl1ksv at gmx.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *    based on the work of  Moe Wheatly, AE4JY                             *  
+ ***************************************************************************/
+
+#include "modeselect.h"
+#include <qbuttongroup.h>
+
+ModeSelect::ModeSelect(QWidget * parent,const char *name) : FModeSelect(parent,name)
+{
+Select->setButton(0);
+}
+ModeSelect::~ModeSelect(){
+}
+/** selects the mode */
+void ModeSelect::selectMode(int id)
+{
+Mode mode;
+switch(id)
+	{
+	case 0:
+		mode=BPSK;	//BSPK
+		break;
+	case 1:
+		mode = QPSK;	// QPSK USB
+		break;
+	case 2:
+		mode = RTTY; // RTTY
+		break;
+	case 3:
+		mode = MFSK16; // MFSK
+		break;		
+	default:
+		mode=BPSK;
+		break;
+	}
+		emit ModeChanged(mode);
+}
diff --git a/linpsk/modeselect.h b/linpsk/modeselect.h
new file mode 100644
index 0000000..98f519a
--- /dev/null
+++ b/linpsk/modeselect.h
@@ -0,0 +1,40 @@
+/***************************************************************************
+                          modeselect.h  -  description
+                             -------------------
+    begin                : Tue May 29 2001
+    copyright            : (C) 2001 by Volker Schroer
+    email                : dl1ksv at gmx.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *   based on the work of Moe Wheatley, AE4JY                              *
+ ***************************************************************************/
+
+#ifndef MODESELECT_H
+#define MODESELECT_H
+
+#include "fmodeselect.h"
+#include "parameter.h"
+
+/**Class for Selection of different transmission modes
+  *@author Volker Schroer
+  */
+
+class ModeSelect : public FModeSelect  {
+	Q_OBJECT
+public: 
+	ModeSelect(QWidget *parent = 0, const char * name =0);
+	~ModeSelect();
+public slots: // Public slots
+  /** selects the mode */
+  void selectMode(int id);
+signals:
+	void ModeChanged(Mode);
+};
+
+#endif
diff --git a/linpsk/parameter.cpp b/linpsk/parameter.cpp
new file mode 100644
index 0000000..e654d1a
--- /dev/null
+++ b/linpsk/parameter.cpp
@@ -0,0 +1,284 @@
+/***************************************************************************
+                          parameter.cpp  -  description
+                             -------------------
+    begin                : Sat Apr 1 2000
+    copyright            : (C) 2000 by Volker Schroer
+    email                : DL1KSV at gmx.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *    based on the work of  Moe Wheatly, AE4JY                             *  
+ ***************************************************************************/
+
+#include "parameter.h"
+
+Parameter::Parameter()
+{
+QFile ConfigFile("LinPsk.config");
+QString s;
+int index;
+
+int r,g,b;
+long int rgbvalue;
+bool ok;
+
+// Defaultfont
+
+RxLabelFont=qApp->font();
+RxLabelFont.setPointSize(10);
+RxWindowTextFont=qApp->font();
+TxLabelFont=qApp->font();
+TxLabelFont.setPointSize(10);
+TxWindowTextFont=qApp->font();
+PanelLabelFont=qApp->font();
+PanelLabelFont.setPointSize(12);
+
+
+// Colours
+colours[0].setRgb(255,0,0);
+colours[1].setRgb(128,128,0);
+colours[2].setRgb(0,0,255);
+colours[3].setRgb(255,0,255);
+// Defaultsettings
+
+MinimumWindowWidth=640;
+MinimumWindowHeight=540;
+StatusBarHeight=20;
+
+net=true;
+
+status= TX_POSTAMBLE_STATE;
+
+callsign="";
+theircall="";
+StationFile="";
+Name="";
+
+ButtonName="undefined";
+ButtonFile="";
+
+ptt=0;
+timeoffset=-2;
+clockerror=0;
+serial=-1; // Serial none
+
+
+DemoMode=true;
+DemoModeFileType[0]="*";
+DemoModeFileType[1]="*.wav";
+DemoModeFileType[2]="*.out";
+DemoTypeNumber=0;
+
+InputSource=SOUND_MIXER_MIC;
+InputVolume=50;
+OutputVolume=50;
+slashed0=false;
+RxChannels=1;
+actChannel=0; //0 <=actChannel < 4
+
+CWIdString="";
+NeedCWid= false;
+// Try to read settings from Configfile
+// ConfigFile has Format
+// Variable=value
+s=QDir::homeDirPath();
+QDir d=QDir::home();
+d.setCurrent(s.data());
+if ( ConfigFile.open(IO_ReadOnly) )	// File exists and is readable
+	{
+		QTextStream line(&ConfigFile);
+		
+		QString VariableName;
+		QString Value;
+		while (!line.eof())
+			{
+				s= line.readLine();
+				if (s.contains('=',false) == 1) // Exactly one =
+					{
+						index=s.find('=',0,false);
+            if (index > 1)							// Variablename is given
+							{
+
+							VariableName = s.left(index);
+							Value = s.right(s.length()-index-1);
+
+							if (VariableName == "MinimumWindowWidth") 				// Minimum window width
+								{
+									if ( Value.toInt() > 0)
+										MinimumWindowWidth = Value.toInt();	
+								}
+
+							if (VariableName == "MinimumWindowHeight") 				// Minimum window height
+								{
+									if ( Value.toInt() > 0)
+										MinimumWindowHeight = Value.toInt();	
+								}
+
+							if (VariableName == "StatusBarHeight") 				// Statusbar height
+								{
+									if ( Value.toInt() > 0)
+										StatusBarHeight = Value.toInt();	
+								}
+
+              if ( VariableName == "callsign")                // Callsign
+										{
+											callsign=Value;
+											CWIdString="de " + callsign + " kn";
+										}
+							if ( VariableName == "DemoMode" )
+									if ( Value == "true" )
+										DemoMode = true;
+									else
+										{
+										DemoMode = false;
+                    inputFilename="/dev/audio";
+										}
+							if ( VariableName == "DemoTypeNumber")
+								DemoTypeNumber = Value.toInt();			
+							if (strcmp(VariableName.data(),"ptt") == 0)
+								{
+									ptt =Value.toInt();
+									switch (ptt)
+										{
+											case 1:
+												serial=open("/dev/ttyS0",O_EXCL);
+												break;
+											case 2:
+												serial=open("/dev/ttyS1",O_EXCL);
+												break;
+											case 3:
+												serial=open("/dev/ttyS2",O_EXCL);
+												break;
+											case 4:
+												serial=open("/dev/ttyS3",O_EXCL);
+												break;
+											default:
+												break;
+				 						}
+									int flags;
+                  flags=TIOCM_RTS|TIOCM_DTR;
+									if (serial >0)
+					 					ioctl(serial,TIOCMBIC,&flags);
+					 				else
+					 					ptt=0; //Their seems to be a wrong Value in the ConfigFile	
+									}
+						    if ( VariableName == "SlashedZero")
+									if ( Value == "true")
+										slashed0 = true;
+									else
+										slashed0 = false;
+                // Macros
+								if ( VariableName == "Macro0")
+									Macro0 = Value;
+								if ( VariableName == "Macro1")
+									Macro1 = Value;
+								if ( VariableName == "Macro2")
+									Macro2 = Value;
+								if ( VariableName == "Macro3")
+									Macro3 = Value;
+								// Station File
+								if ( VariableName == "StationFile")
+									StationFile = Value;
+								if ( VariableName == "ButtonName")
+									ButtonName = Value;
+								if ( VariableName == "ButtonFile")
+									ButtonFile = Value;
+								
+				        if( VariableName == "TimeOffset")   // Timeoffset to UTC
+									timeoffset =Value.toInt();
+								
+								if( VariableName == "InputSource")  // Input Source
+									InputSource= Value.toInt();
+									setInputSource(InputSource);
+			
+								if( VariableName == "InputVolume")  // InputVolume
+									InputVolume= Value.toInt();
+									setVolume(InputSource,InputVolume);
+
+								if( VariableName == "OutputVolume") // OutputVolume
+									OutputVolume= Value.toInt();
+									setOutputVolume(OutputVolume);
+
+								if( VariableName == "Net")	// Net
+									if ( Value == "false" )
+										net = false;
+									else
+										net = true;
+
+							if(VariableName == "RxChannels")	// Number of RxChannels
+									RxChannels=Value.toInt();		
+									
+							if(VariableName == 	"RxLabelFont")	//FontInfos
+								RxLabelFont.setFamily(Value);
+							if(VariableName == 	"RxLabelPointSize")	
+								RxLabelFont.setPointSize(Value.toInt());
+								
+							if(VariableName == 	"RxWindowTextFont")	
+								RxWindowTextFont.setFamily(Value);
+							if(VariableName == 	"RxWindowTextPointSize")	
+								RxWindowTextFont.setPointSize(Value.toInt());
+
+							if(VariableName == 	"TxLabelFont")	
+								TxLabelFont.setFamily(Value);
+							if(VariableName == 	"TxLabelPointSize")	
+								TxLabelFont.setPointSize(Value.toInt());
+
+							if(VariableName == 	"TxWindowTextFont")	
+								TxWindowTextFont.setFamily(Value);
+							if(VariableName == 	"TxWindowTextPointSize")	
+								TxWindowTextFont.setPointSize(Value.toInt());
+
+							if(VariableName == 	"PanelLabelFont")	
+								PanelLabelFont.setFamily(Value);
+							if(VariableName == 	"PanelLabelPointSize")	
+								PanelLabelFont.setPointSize(Value.toInt());
+																															//Setting ColorComponets
+							if(VariableName == "Color0" || VariableName == "Color1"
+									|| VariableName == "Color2" || VariableName == "Color3")
+									{
+									rgbvalue=Value.toLong(&ok);
+									if (ok)
+										{
+										r=rgbvalue/(256*256);
+										g=(rgbvalue-r*256*256)/256;
+										b=rgbvalue-(r*256+g)*256;
+										if (VariableName == "Color0"	)
+												colours[0].setRgb(r,g,b);																															
+										if (VariableName == "Color1"	)
+												colours[1].setRgb(r,g,b);																															
+										if (VariableName == "Color2"	)
+												colours[2].setRgb(r,g,b);																															
+										if (VariableName == "Color3"	)
+												colours[3].setRgb(r,g,b);																															
+										}
+									}								
+						}
+					}
+				}
+			
+		ConfigFile.close();
+	}
+}
+Parameter::~Parameter(){
+}
+
+
+void Parameter::usenet(bool type)
+{
+net=type;
+}
+
+void Parameter::setTheirCall(const QString &call)
+{
+theircall.operator=(call);
+}
+
+void Parameter::setName(const QString &name)
+{
+Name.operator=(name);
+}
diff --git a/linpsk/parameter.h b/linpsk/parameter.h
new file mode 100644
index 0000000..358e386
--- /dev/null
+++ b/linpsk/parameter.h
@@ -0,0 +1,140 @@
+/***************************************************************************
+                          parameter.h  -  description
+                             -------------------
+    begin                : Sat Apr 1 2000
+    copyright            : (C) 2000 by Volker Schroer
+    email                : DL1KSV at gmx.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *   based on the work of Moe Wheatley, AE4JY                              *
+ ***************************************************************************/
+
+#ifndef PARAMETER_H
+#define PARAMETER_H
+
+#include <qobject.h>
+#include <qapplication.h>
+#include <qfont.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <sys/ioctl.h>
+#include <sys/soundcard.h>
+#include <qcolor.h>
+#include "color.h"
+#include <qfile.h>
+#include <qtextstream.h>
+#include <qdir.h>
+
+#include "checkcom.h"
+
+
+/**Contains parameters for transmitting and receiving
+
+some of them are set by settup
+  *@author Volker Schroer
+  */
+//class CSound;
+
+//enum Mode {BPSK,QPSK,CW_MODE,IQPSK,RTTY,MFSK16};
+enum Mode {BPSK,QPSK,RTTY,MFSK16};
+
+enum Status
+{
+TX_END_STATE,				//Xmitting should be stoped
+TX_OFF_STATE,				//TX is off, so we are receiving
+TX_SENDING_STATE,		//TX is sending text
+TX_PAUSED_STATE ,		//TX is paused
+TX_PREAMBLE_STATE,	//TX sending starting preamble
+TX_POSTAMBLE_STATE,	//TX sending ending posteamble
+TX_CWID_STATE,			//TX sending CW ID
+TX_TUNE_STATE			//TX is tuning mode
+};
+
+class Parameter : public QObject
+	{
+   Q_OBJECT
+public: 
+	Parameter();
+	~Parameter();
+
+// Variables
+
+/** MinimumWindowWidth */
+int MinimumWindowWidth;
+/** MinimumWindowHeight */
+int MinimumWindowHeight;
+/** Height of Statusbar */
+int StatusBarHeight;
+
+/** Userdefinable Font for the Labels in Rx Window */
+QFont RxLabelFont;
+/** Userdefinable Font for the text in RxWindow*/
+QFont	RxWindowTextFont;
+/** Userdefinable Font for the Labels in TxWindow*/
+QFont TxLabelFont;
+/** Userdefinable Font for the text in TxWindow */
+QFont TxWindowTextFont;
+/** Font for Panel Labels*/
+QFont PanelLabelFont;
+
+bool net;								// Connect RX- Frequency to TX - Frequency ?
+QColor colours[4];			// Colours to recognize the different RX- Windows
+
+
+Status status;					// Status
+QString callsign;				// Callsign
+
+QString theircall;			// Callsign of remote Op
+QString Name; 					// Name of remote Op
+
+QString inputFilename;	//Name of Demofile
+QString DemoModeFileType[3]; // File Type of DemoFile
+int DemoTypeNumber;				// Index of selected FileType
+//int SampleSource;				// Filedescriptor for input File
+int serial; 						// Filedescriptor for serial Device for PTT
+bool DemoMode;					// DemoMode ?
+
+int ptt;								// Number of ComPort for PTT 0=none 1-4 Number of ComPort
+int timeoffset;					// offset to UTC
+int clockerror;
+QString CWIdString;     // CWIdString  = de CALLSIGN
+bool NeedCWid;
+
+QString Macro0;
+QString Macro1;
+QString Macro2;
+QString Macro3;
+
+QString StationFile;
+QString ButtonName;
+QString ButtonFile;
+/** Number of Input Device
+		1 = Mic
+		2 = Line
+		*/
+int InputSource; 				
+int InputVolume;				//Input Volume off Mic
+int OutputVolume;				//OutputVolume (line)
+
+bool slashed0; 				// True if to print 0 slashed
+
+int RxChannels;
+int actChannel;
+
+Mode DemodulatorType[4];
+
+
+public slots:
+//void afc(bool);
+void usenet(bool);
+void setTheirCall(const QString &call);
+void setName(const QString &name);
+};
+
+#endif
diff --git a/linpsk/pskmod.cpp b/linpsk/pskmod.cpp
new file mode 100644
index 0000000..b2c1d21
--- /dev/null
+++ b/linpsk/pskmod.cpp
@@ -0,0 +1,595 @@
+//////////////////////////////////////////////////////////////////////
+// PSKMod.cpp: implementation of the PSKModulator class.
+//
+//////////////////////////////////////////////////////////////////////
+//      PSK31/CW modulator
+// Copyright 1999.    Moe Wheatley AE4JY  <ae4jy at mindspring.com>
+//
+//This program is free software; you can redistribute it and/or
+//modify it under the terms of the GNU General Public License
+//as published by the Free Software Foundation; either version 2
+//of the License, or any later version.
+//
+//This program is distributed in the hope that it will be useful,
+//but WITHOUT ANY WARRANTY; without even the implied warranty of
+//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//GNU General Public License for more details.
+//
+//You should have received a copy of the GNU General Public License
+//along with this program; if not, write to the Free Software
+//Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+//
+//////////////////////////////////////////////////////////////////////
+//
+// modified by Volker Schroer , DL1KSV for use in LinPsk
+
+#include <math.h>
+#include "psktable.h"
+#include "pskmod.h"
+
+
+// local defines.................
+
+#define PHZ_0 0			//specify various signal phase states
+#define PHZ_90 1
+#define PHZ_180 2
+#define PHZ_270 3
+#define PHZ_OFF 4
+
+#define SYM_NOCHANGE 0	//Stay the same phase
+#define SYM_P90 1		//Plus 90  deg
+#define SYM_P180 2		//Plus 180 deg
+#define SYM_M90 3		//Minus 90 deg
+#define SYM_OFF 4		//No output
+#define SYM_ON 5		//constant output
+
+
+#define SYMBOL_RATE 31.25		// 31.25 Symbols per Second
+
+#define MAXRAMP_SIZE (((100*11100)/3125)+1) // max number of envelope ramp steps per symbol
+
+#define TX_CONSTANT 23000.0		// TX Amplitude Factor
+
+#define CW_SPEED 1		//bigger is slower. 1 is fastest.
+
+// The use of static's here preclude having multiple instantiations
+// of this class but should not be an issue since only one soundcard.
+
+//Ramp shape tables that are loaded with cosine shaped functions at init
+static double PSKShapeTbl_Z[MAXRAMP_SIZE];	// 0 
+static double PSKShapeTbl_P[MAXRAMP_SIZE];	// +1
+static double PSKShapeTbl_M[MAXRAMP_SIZE];	// -1
+static double PSKShapeTbl_ZP[MAXRAMP_SIZE];	// 0 to +1
+static double PSKShapeTbl_PZ[MAXRAMP_SIZE];	// +1 to 0
+static double PSKShapeTbl_MZ[MAXRAMP_SIZE];	// -1 to 0
+static double PSKShapeTbl_PM[MAXRAMP_SIZE];	// +1 to -1
+static double PSKShapeTbl_MP[MAXRAMP_SIZE];	// -1 to +1
+
+struct PSKStruct
+{
+	double* iptr;
+	double* qptr;
+	
+	int	next;
+};
+
+typedef PSKStruct PSKSTATE;
+
+//Lookup table for determining the next ramp shape depending on the
+//  next symbol and the present output phase.
+// indexing format is [symbol][presentPhase]
+//returns the PSKSTRUCT containing the next phase and the I and Q
+//   ramp table pointers.
+
+static PSKSTATE PSKPhaseLookupTable[6][5]=
+{
+// SYMBOL = 0 = SYM_NOCHANGE
+//   I ramp shape     Q ramp shape     Next Phase
+	PSKShapeTbl_P, PSKShapeTbl_P, PHZ_0,	//present PHZ_0
+	PSKShapeTbl_M, PSKShapeTbl_P, PHZ_90,	//present PHZ_90
+	PSKShapeTbl_M, PSKShapeTbl_M, PHZ_180,	//present PHZ_180
+	PSKShapeTbl_P, PSKShapeTbl_M, PHZ_270,	//present PHZ_270
+	PSKShapeTbl_Z, PSKShapeTbl_Z, PHZ_OFF,	//present PHZ_OFF
+// SYMBOL = 1 = SYM_P90 = Advance 90 degrees
+//   I ramp shape     Q ramp shape     Next Phase
+	PSKShapeTbl_PM, PSKShapeTbl_P, PHZ_90,	//present PHZ_0
+	PSKShapeTbl_M, PSKShapeTbl_PM, PHZ_180,	//present PHZ_90
+	PSKShapeTbl_MP, PSKShapeTbl_M, PHZ_270,	//present PHZ_180
+	PSKShapeTbl_P, PSKShapeTbl_MP, PHZ_0,	//present PHZ_270
+	PSKShapeTbl_ZP, PSKShapeTbl_ZP, PHZ_0,	//present PHZ_OFF
+// SYMBOL = 2 = SYM_P180 = Advance 180 degrees
+//   I ramp shape     Q ramp shape     Next Phase
+	PSKShapeTbl_PM, PSKShapeTbl_PM, PHZ_180,//present PHZ_0
+	PSKShapeTbl_MP, PSKShapeTbl_PM, PHZ_270,//present PHZ_90
+	PSKShapeTbl_MP, PSKShapeTbl_MP, PHZ_0,	//present PHZ_180
+	PSKShapeTbl_PM, PSKShapeTbl_MP, PHZ_90,	//present PHZ_270
+	PSKShapeTbl_ZP, PSKShapeTbl_ZP, PHZ_0,	//present PHZ_OFF
+// SYMBOL = 3 = SYM_M90	= retard 90 degrees
+//   I ramp shape     Q ramp shape     Next Phase
+	PSKShapeTbl_P, PSKShapeTbl_PM, PHZ_270,	//present PHZ_0
+	PSKShapeTbl_MP, PSKShapeTbl_P, PHZ_0,	//present PHZ_90
+	PSKShapeTbl_M, PSKShapeTbl_MP, PHZ_90,	//present PHZ_180
+	PSKShapeTbl_PM, PSKShapeTbl_M, PHZ_180,	//present PHZ_270
+	PSKShapeTbl_ZP, PSKShapeTbl_ZP, PHZ_0,	//present PHZ_OFF
+// SYMBOL = 4 = SYM_OFF
+//   I ramp shape     Q ramp shape     Next Phase
+	PSKShapeTbl_PZ, PSKShapeTbl_PZ, PHZ_OFF,//present PHZ_0
+	PSKShapeTbl_MZ, PSKShapeTbl_PZ, PHZ_OFF,//present PHZ_90
+	PSKShapeTbl_MZ, PSKShapeTbl_MZ, PHZ_OFF,//present PHZ_180
+	PSKShapeTbl_PZ, PSKShapeTbl_MZ, PHZ_OFF,//present PHZ_270
+	PSKShapeTbl_Z, PSKShapeTbl_Z, PHZ_OFF,	//present PHZ_OFF
+// SYMBOL = 5 = SYM_ON	
+//   I ramp shape     Q ramp shape     Next Phase
+	PSKShapeTbl_P, PSKShapeTbl_P, PHZ_0,	//present PHZ_0
+	PSKShapeTbl_MP, PSKShapeTbl_P, PHZ_0,	//present PHZ_90
+	PSKShapeTbl_MP, PSKShapeTbl_MP, PHZ_0,	//present PHZ_180
+	PSKShapeTbl_P, PSKShapeTbl_MP, PHZ_0,	//present PHZ_270
+	PSKShapeTbl_ZP, PSKShapeTbl_ZP, PHZ_0	//present PHZ_OFF
+};
+//////////////////////////////////////////////////////////////////////
+// Construction/Destruction
+//////////////////////////////////////////////////////////////////////
+
+PSKModulator::PSKModulator(int FS,double freq,CTxdisplay *txwindow): CModulator(FS,txwindow)
+{
+
+	m_AmblePtr = 0;
+int RampSize;
+int i;
+
+
+	m_PSKPhaseInc = PI2 * freq/(double)SampleRate;		//carrier frequency
+	
+//	if( settings.status == TX_CWID_STATE )
+//  	m_PSKmode = CW_MODE;
+	m_PSKSecPerSamp = 1.0/(double)SampleRate;
+	m_PSKTime = 0.0;
+	m_t = 0.0;
+	m_Ramp = 0;
+	m_PSKPeriodUpdate = 1.0/SYMBOL_RATE;	//symbol period
+	m_Lastsymb = SYM_OFF;
+	m_AddEndingZero = true;
+	m_CWState = 0;
+	m_CWtimer = 0;
+// Generate cosine ramp envelope lookup tables
+	RampSize =  (((100*SampleRate)/3125)+1); //  number of envelope ramp steps per symbol
+	for( i=0; i<RampSize; i++)
+	{
+		PSKShapeTbl_Z[i] = 0.0;
+		PSKShapeTbl_P[i] = 1.0;
+		PSKShapeTbl_M[i] = -1.0;
+		PSKShapeTbl_PM[i] = cos( (double)i*PI2/(RampSize*2) );
+		PSKShapeTbl_MP[i] = -PSKShapeTbl_PM[i];
+
+		if( i <RampSize/2 )
+		{
+			PSKShapeTbl_PZ[i] = cos( (double)i*PI2/(RampSize*2) );
+			PSKShapeTbl_MZ[i] = -PSKShapeTbl_PZ[i];
+			PSKShapeTbl_ZP[i] = 0.0;
+		}
+		else
+		{
+			PSKShapeTbl_ZP[i] = -cos( (double)i*PI2/(RampSize*2) );
+			PSKShapeTbl_PZ[i] = 0.0;
+			PSKShapeTbl_MZ[i] = 0.0;
+		}
+
+	}
+	i = 0;
+	while(i<32)		//create post/preamble tables
+	{
+		m_Preamble[i] = TXTOG_CODE;
+		m_Postamble[i++] = TXON_CODE;
+	}
+	m_Preamble[i] = 0;		// null terminate these tables
+	m_Postamble[i] = 0;
+	
+	m_pPSKtxI = PSKShapeTbl_Z;
+	m_pPSKtxQ = PSKShapeTbl_Z;
+	m_PresentPhase = PHZ_OFF;
+	m_TxShiftReg = 0;
+	m_TxCodeWord = 0;
+
+}
+
+PSKModulator::~PSKModulator()
+{
+}
+
+///////////++++++++++++++++++++++++++++++++++////////////////
+///////////   P S K 3 1   M O D U L A T O R  ////////////////
+///////////++++++++++++++++++++++++++++++++++////////////////
+
+/////////////////////////////////////////////////////////////
+//Initialize the PSK/CW modulator with the sample frequncy Fs,
+// the carrier frequency freq, and the PSK mode.
+/////////////////////////////////////////////////////////////
+/*)void PSKModulator::InitPSKModulator(double freq,CTxdisplay *txwindow)
+{
+int RampSize;
+int i;
+
+// Save Adresses of window- components
+tx=txwindow;
+
+	m_PSKPhaseInc = PI2 * freq/(double)SampleRate;		//carrier frequency
+	
+//	if( settings.status == TX_CWID_STATE )
+//  	m_PSKmode = CW_MODE;
+	m_PSKSecPerSamp = 1.0/(double)SampleRate;
+	m_PSKTime = 0.0;
+	m_t = 0.0;
+	m_Ramp = 0;
+	m_PSKPeriodUpdate = 1.0/SYMBOL_RATE;	//symbol period
+	m_Lastsymb = SYM_OFF;
+	m_AddEndingZero = true;
+	m_CWState = 0;
+	m_CWtimer = 0;
+// Generate cosine ramp envelope lookup tables
+	RampSize =  (((100*SampleRate)/3125)+1); //  number of envelope ramp steps per symbol
+	for( i=0; i<RampSize; i++)
+	{
+		PSKShapeTbl_Z[i] = 0.0;
+		PSKShapeTbl_P[i] = 1.0;
+		PSKShapeTbl_M[i] = -1.0;
+		PSKShapeTbl_PM[i] = cos( (double)i*PI2/(RampSize*2) );
+		PSKShapeTbl_MP[i] = -PSKShapeTbl_PM[i];
+
+		if( i <RampSize/2 )
+		{
+			PSKShapeTbl_PZ[i] = cos( (double)i*PI2/(RampSize*2) );
+			PSKShapeTbl_MZ[i] = -PSKShapeTbl_PZ[i];
+			PSKShapeTbl_ZP[i] = 0.0;
+		}
+		else
+		{
+			PSKShapeTbl_ZP[i] = -cos( (double)i*PI2/(RampSize*2) );
+			PSKShapeTbl_PZ[i] = 0.0;
+			PSKShapeTbl_MZ[i] = 0.0;
+		}
+
+	}
+	i = 0;
+	while(i<32)		//create post/preamble tables
+	{
+		m_Preamble[i] = TXTOG_CODE;
+		m_Postamble[i++] = TXON_CODE;
+	}
+	m_Preamble[i] = 0;		// null terminate these tables
+	m_Postamble[i] = 0;
+	
+	m_pPSKtxI = PSKShapeTbl_Z;
+	m_pPSKtxQ = PSKShapeTbl_Z;
+	m_PresentPhase = PHZ_OFF;
+	m_TxShiftReg = 0;
+	m_TxCodeWord = 0;
+} */
+
+
+/////////////////////////////////////////////////////////////
+// generates n samples of psk31 waveform in data array pData
+/////////////////////////////////////////////////////////////
+unsigned int PSKModulator::CalcSignal(double *pData, int n)
+
+{
+int symbol;
+int i;
+/**	if( m_PSKmode != CW_MODE)
+		m_PSKmode = mode;	//change mode on fly if not CW */
+		m_RMSConstant = TX_CONSTANT;
+
+	for( i=0; i<n; i++ )		//calculate n samples of tx data stream
+	{
+		m_t += m_PSKPhaseInc;			// increment radian phase count
+		
+// create sample from sin/cos and shape tables
+		pData[i] = m_RMSConstant*( m_pPSKtxI[m_Ramp]*sin( m_t ) + m_pPSKtxQ[m_Ramp++]*cos( m_t ) );
+		m_PSKTime += m_PSKSecPerSamp;
+		if( m_PSKTime >= m_PSKPeriodUpdate )//if time to update envelope ramp index
+		{
+			m_PSKTime -= m_PSKPeriodUpdate;	//keep time bounded
+			m_Ramp = 0;						// time to update symbol
+			m_t = fmod(m_t,PI2);			//keep radian counter bounded
+      if (settings.status == TX_CWID_STATE)
+					symbol = GetNextCWSymbol();
+			else				
+			switch( PSKMode)				//get next symbol to send
+				{
+				case BPSK:
+					symbol = GetNextBPSKSymbol();
+					break;
+				case QPSK:
+					symbol = GetNextQPSKSymbol();
+					break;
+/*				case IQPSK:	
+						symbol = GetNextQPSKSymbol();
+						if(symbol==SYM_P90)		//rotate vectors the opposite way
+							symbol = SYM_M90;
+						else
+							if(symbol==SYM_M90)
+							symbol = SYM_P90;
+					break; */
+				}
+			//get new I/Q ramp tables and next phase
+			m_pPSKtxI = PSKPhaseLookupTable[symbol][m_PresentPhase].iptr;
+			m_pPSKtxQ = PSKPhaseLookupTable[symbol][m_PresentPhase].qptr;
+			m_PresentPhase = PSKPhaseLookupTable[symbol][m_PresentPhase].next;
+		}
+	if (settings.status == TX_END_STATE) // We have reached end of Transmission
+		return i;
+	}
+return n;
+}
+
+
+/////////////////////////////////////////////////////////////
+// called every symbol time to get next CW symbol and get the
+// next character from the character Queue if no more symbols
+// are left to send.
+/////////////////////////////////////////////////////////////
+char PSKModulator::GetNextCWSymbol(void)
+{
+char symb;
+int ch;
+	symb = m_Lastsymb;		//use last symbol unless it needs to change
+	if( (m_TxShiftReg == 0 ) && (m_CWState == 0) )
+	{
+		ch = GetChar();			//get next character to xmit
+		if( ch >=0 )			//if is not a control code
+		{
+			ch &= 0xFF;		
+			ch = (int)toupper( (char)ch );	//make upper case
+			if( ch>=' ' && ch<='Z')
+				m_TxShiftReg = CW_TABLE[ ch-' '];	//look up pattern
+		}
+		else					// is a control code
+		{
+			if( ch == TXON_CODE )
+				symb = SYM_ON;
+			else
+				symb = SYM_OFF;
+			return symb;
+		}
+		m_CWState = 0;
+	}
+	switch( m_CWState )		// CW timing state machine
+	{
+		case 0:			//get next cw symbol state from pattern
+			switch( m_TxShiftReg&0xC000 )
+			{
+				case 0x4000:	//dot
+					m_CWState = 1;
+					m_CWtimer = 1*CW_SPEED;
+					symb = SYM_ON;
+					break;
+				case 0x8000:	//dash
+					m_CWState = 1;
+					m_CWtimer = 3*CW_SPEED;
+					symb = SYM_ON;
+					break;
+				case 0xC000:	//inter char space 
+					m_CWState = 2;
+					m_CWtimer = 3*CW_SPEED;
+					symb = SYM_OFF;
+					break;
+				default:
+					symb = SYM_OFF;
+					break;
+			}
+			m_TxShiftReg = m_TxShiftReg<<2;	//
+			break;
+		case 1:		//On time state
+			if( --m_CWtimer <= 0 )
+			{
+				m_CWState = 2;
+				m_CWtimer = 1*CW_SPEED;	//inter symbol time
+				symb = SYM_OFF;
+			}
+			else
+				symb = SYM_NOCHANGE;
+			break;
+		case 2:		//Off time state
+			if( --m_CWtimer <= 0 )
+				m_CWState = 0;
+			break;
+	}
+	m_Lastsymb = symb;
+	return symb;
+}
+
+/////////////////////////////////////////////////////////////
+// called every symbol time to get next BPSK symbol and get the
+// next character from the character Queue if no more symbols
+// are left to send.
+/////////////////////////////////////////////////////////////
+char PSKModulator::GetNextBPSKSymbol(void)
+{
+char symb;
+int ch;
+	symb = m_Lastsymb;
+	if( m_TxShiftReg == 0 )
+	{
+		if( m_AddEndingZero )		// if is end of code
+		{
+			symb = SYM_P180;		// end with a zero
+			m_AddEndingZero = false;
+		}
+		else
+		{
+			ch = GetChar();			//get next character to xmit
+			if( ch >=0 )			//if is not a control code
+			{						//get next VARICODE codeword to send
+				m_TxShiftReg = VARICODE_TABLE[ ch&0xFF ];
+				symb = SYM_P180;	//Start with a zero
+			}
+			else					// is a control code
+			{
+				switch( ch )
+				{
+				case TXON_CODE:
+					symb = SYM_ON;
+					break;
+				case TXTOG_CODE:
+					symb = SYM_P180;
+					break;
+				case TXOFF_CODE:
+					symb = SYM_OFF;
+					break;
+				}
+			}
+		}
+	}
+	else			// is not end of code word so send next bit
+	{
+		if( m_TxShiftReg&0x8000 )
+			symb = SYM_NOCHANGE;
+		else
+			symb = SYM_P180;
+		m_TxShiftReg = m_TxShiftReg<<1;	//point to next bit
+		if( m_TxShiftReg == 0 )			// if at end of codeword
+			m_AddEndingZero = true;		// need to send a zero nextime
+	}
+	m_Lastsymb = symb;
+	return symb;
+}
+
+		
+/////////////////////////////////////////////////////////////
+// called every symbol time to get next QPSK symbol and get the
+// next character from the character Queue if no more symbols
+// are left to send.
+/////////////////////////////////////////////////////////////
+char PSKModulator::GetNextQPSKSymbol(void)
+{
+char symb;
+int ch;
+	symb = ConvolutionCodeTable[m_TxShiftReg&0x1F];	//get next convolution code
+	m_TxShiftReg = m_TxShiftReg<<1;
+	if( m_TxCodeWord == 0 )			//need to get next codeword
+	{
+		if( m_AddEndingZero )		//if need to add a zero
+		{
+			m_AddEndingZero = false;	//end with a zero
+		}
+		else
+		{
+			ch = GetChar();			//get next character to xmit
+			if( ch >=0 )			//if not a control code
+			{						//get next VARICODE codeword to send
+				m_TxCodeWord = VARICODE_TABLE[ ch&0xFF ];
+			}
+			else					//is a control code
+			{
+				switch( ch )
+				{
+				case TXON_CODE:
+					symb = SYM_ON;
+					break;
+				case TXTOG_CODE:
+					m_TxCodeWord = 0;
+					break;
+				case TXOFF_CODE:
+					symb = SYM_OFF;
+					break;
+				}
+			}
+		}
+	}
+	else
+	{
+		if(m_TxCodeWord&0x8000 )
+		{
+			m_TxShiftReg |= 1;
+		}
+		m_TxCodeWord = m_TxCodeWord<<1;
+		if(m_TxCodeWord == 0)
+			m_AddEndingZero = true;	//need to add another zero
+	}
+	return symb;
+}
+
+/////////////////////////////////////////////////////////////
+//get next character/symbol depending on TX state.
+/////////////////////////////////////////////////////////////
+int PSKModulator::GetChar()
+{
+int ch;
+static int last=0;
+	switch( settings.status )
+	{
+		case TX_OFF_STATE:		//is receiving
+			if( settings.DemoMode )	//test mode
+				ch = ' '; //MakeTestChar();	//generate some test characters
+			else
+				ch = TXOFF_CODE;		//else turn off
+			break;
+		case TX_TUNE_STATE:
+			ch = TXON_CODE;				// steady carrier
+			break;
+		case TX_PAUSED_STATE:
+			ch = TXTOG_CODE;			// steady idle symbol
+			break;
+		case TX_POSTAMBLE_STATE:		// ending sequence
+			if( !(ch = m_Postamble[m_AmblePtr++] ))
+			{
+				if(	settings.NeedCWid  )
+				{
+					settings.status = TX_CWID_STATE;
+//					m_PSKmode = CW_MODE;
+					settings.NeedCWid = false;
+					m_AmblePtr = 0;
+					ch = TXOFF_CODE;
+				}
+				else
+				{
+					
+					m_AmblePtr = 0;
+					ch = TXOFF_CODE;
+					settings.status = TX_END_STATE;
+					emit finished();
+				}
+			}
+			break;
+		case TX_PREAMBLE_STATE:			//starting sequence
+			if( !(ch = m_Preamble[m_AmblePtr++] ))
+			{
+				settings.status = TX_SENDING_STATE;
+				m_AmblePtr = 0;
+				ch = TXTOG_CODE;
+			}
+			break;
+		case TX_CWID_STATE:				// id sendingnCW ID
+			if( m_AmblePtr >= settings.CWIdString.length() )
+			{
+
+				m_AmblePtr = 0;
+				ch = TXOFF_CODE;
+				settings.status = TX_END_STATE;
+				emit finished();
+			}
+			else
+			{
+//				m_PSKmode = CW_MODE;
+			
+				ch = settings.CWIdString.at(m_AmblePtr++).cell();
+
+			}
+			break;
+		case TX_SENDING_STATE:		//if sending text from TX window
+		ch = tx->txwindow->getTxChar();
+		if (ch >0)
+			{
+				emit charSend((char) ch);
+				m_AmblePtr = 0;
+			}
+		else
+			if ( ch == TXOFF_CODE)
+			settings.status=TX_POSTAMBLE_STATE;	
+			break;
+    case TX_END_STATE:		// Should never be reached here
+			break;
+	}
+	last = ch;
+	return( ch );
+}
+
diff --git a/linpsk/pskmod.h b/linpsk/pskmod.h
new file mode 100644
index 0000000..24db887
--- /dev/null
+++ b/linpsk/pskmod.h
@@ -0,0 +1,95 @@
+//////////////////////////////////////////////////////////////////////
+// PSKMod.h: interface for the CPSKMod class.
+//
+//////////////////////////////////////////////////////////////////////
+//      PSK31/CW modulator
+// Copyright 1999.    Moe Wheatley AE4JY  <ae4jy at mindspring.com>
+//
+//This program is free software; you can redistribute it and/or
+//modify it under the terms of the GNU General Public License
+//as published by the Free Software Foundation; either version 2
+//of the License, or any later version.
+//
+//This program is distributed in the hope that it will be useful,
+//but WITHOUT ANY WARRANTY; without even the implied warranty of
+//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//GNU General Public License for more details.
+//
+//You should have received a copy of the GNU General Public License
+//along with this program; if not, write to the Free Software
+//Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+//
+//////////////////////////////////////////////////////////////////////
+//
+// Modified by Volker Schroer, DL1KSV, for use in LinPsk
+
+#ifndef PSKMOD_H
+#define PSKMOD_H
+
+#include <qobject.h>
+#include "constants.h"
+#include "parameter.h"
+#include <ctype.h>
+
+#include "ctxdisplay.h"
+#include "ctxwindow.h"
+#include "cmodulator.h"
+
+extern Parameter settings;
+
+class PSKModulator  : public CModulator
+{
+   Q_OBJECT
+public:
+	PSKModulator(int,double,CTxdisplay *);
+	virtual ~PSKModulator();
+// PSK31 and CW modulator
+//	void InitPSKModulator(double freq, CTxdisplay *);
+	unsigned int CalcSignal( double* pData , int n);
+/** length = CalcSignal (double *pData, int n)
+		Reads tx  Buffer and calculates the signal values to be transmitted
+		double *pData 	pointer to array for computed signal values
+		n								length of array
+		length 					number of calculated values , normally n but shorter at end of tx
+*/
+
+private:
+	QString m_TestString;
+	unsigned int m_AmblePtr;
+	int m_Preamble[33];
+	int m_Postamble[33];
+
+// PSK31 and CW generator variables
+	double m_t;
+	int m_Ramp;
+	double m_RMSConstant;
+
+	double m_PSKSecPerSamp;
+	double m_PSKTime;
+	double m_PSKPeriodUpdate;
+	double m_PSKPhaseInc;
+	unsigned short int m_TxShiftReg;
+	unsigned short int m_TxCodeWord;
+	double* m_pPSKtxI;
+	double* m_pPSKtxQ;
+	char m_PresentPhase;
+	char m_Lastsymb;
+	int m_CWState;
+	int m_CWtimer;
+	bool m_AddEndingZero;
+// Window pointer
+// CTxdisplay *tx;
+
+// PSK31 and CW modulator private functions
+	int GetChar();
+	char GetNextBPSKSymbol(void);
+	char GetNextQPSKSymbol(void);
+	char GetNextCWSymbol(void);
+public slots:
+signals: // Signals
+  /** Tx finished */
+//  void finished();
+//  void charSend(char);
+};
+
+#endif
diff --git a/linpsk/psktable.h b/linpsk/psktable.h
new file mode 100644
index 0000000..0c0d338
--- /dev/null
+++ b/linpsk/psktable.h
@@ -0,0 +1,378 @@
+#if !defined(PSKTablesXYZ)
+#define PSKTablesXYZ
+//////////////////////////////////////////////////////////////////////
+// Copyright 1999.    Moe Wheatley AE4JY  <ae4jy at mindspring.com>
+//
+//This program is free software; you can redistribute it and/or
+//modify it under the terms of the GNU General Public License
+//as published by the Free Software Foundation; either version 2
+//of the License, or any later version.
+//
+//This program is distributed in the hope that it will be useful,
+//but WITHOUT ANY WARRANTY; without even the implied warranty of
+//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//GNU General Public License for more details.
+//
+//You should have received a copy of the GNU General Public License
+//along with this program; if not, write to the Free Software
+//Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+//
+//////////////////////////////////////////////////////////////////////
+//
+////////////////////  Various constant tabels  //////////////////////////
+// The word in the CW table is divided into 8 groups of two bits starting
+// at the msb side.  The two bits represent one of four possible states.
+//  00 - end of character
+//  01 - DOT
+//  10 - DASH 
+//  11 - SPACE of two dot times
+const unsigned short int CW_TABLE[59]=
+{
+	0xF000,		// 1111 0000 0000 0000b  ( 32)       WORD SPACE
+	0x0000,		// 0000 0000 0000 0000b  ( 33)  !
+	0x0000,		// 0000 0000 0000 0000b  ( 34)  "
+	0x0000,		// 0000 0000 0000 0000b  ( 35)  #
+	0x0000,		// 0000 0000 0000 0000b  ( 36)  $
+	0x0000,		// 0000 0000 0000 0000b  ( 37)  %
+	0x0000,		// 0000 0000 0000 0000b  ( 38)  &
+	0x0000,		// 0000 0000 0000 0000b  ( 39)  '
+	0x0000,		// 0000 0000 0000 0000b  ( 40)  (
+	0x0000,		// 0000 0000 0000 0000b  ( 41)  )
+	0x566C,		// 0101 0110 0110 1100b  ( 42)  *    ...-.-  SK
+	0x6670,		// 0110 0110 0111 0000b  ( 43)  +    .-.-.   AR
+	0xA5AC,		// 1010 0101 1010 1100b  ( 44)  ,    --..--
+	0x0000,		// 0000 0000 0000 0000b  ( 45)  -
+	0x666C,		// 0110 0110 0110 1100b  ( 46)  .    .-.-.-
+	0x9670,		// 1001 0110 0111 0000b  ( 47)  /    -..-.
+	0xAAB0,		// 1010 1010 1011 0000b  ( 48)  0    -----
+	0x6AB0,		// 0110 1010 1011 0000b  ( 49)  1    .----
+	0x5AB0,		// 0101 1010 1011 0000b  ( 50)  2    ..---
+	0x56B0,		// 0101 0110 1011 0000b  ( 51)  3    ...--
+	0x55B0,		// 0101 0101 1011 0000b  ( 52)  4    ....-
+	0x5570,		// 0101 0101 0111 0000b  ( 53)  5    .....
+	0x9570,		// 1001 0101 0111 0000b  ( 54)  6    -....
+	0xA570,		// 1010 0101 0111 0000b  ( 55)  7    --...
+	0xA970,		// 1010 1001 0111 0000b  ( 56)  8    ---..
+	0xAA70,		// 1010 1010 0111 0000b  ( 57)  9    ----.
+	0x0000,		// 0000 0000 0000 0000b  ( 58)  :
+	0x0000,		// 0000 0000 0000 0000b  ( 59)  ;
+	0x0000,		// 0000 0000 0000 0000b  ( 60)  <    
+	0x95B0,		// 1001 0101 1011 0000b  ( 61)  =    -...-   BT
+	0x0000,		// 0000 0000 0000 0000b  ( 62)  >
+	0x5A5C,		// 0101 1010 0101 1100b  ( 63)  ?    ..--..
+	0x0000,		// 0000 0000 0000 0000b  ( 64)  @
+	0x6C00,		// 0110 1100 0000 0000b  ( 65)  A    .-
+	0x95C0,		// 1001 0101 1100 0000b  ( 66)  B    -...
+	0x99C0,		// 1001 1001 1100 0000b  ( 67)  C    -.-.
+	0x9700,		// 1001 0111 0000 0000b  ( 68)  D    -..
+	0x7000,		// 0111 0000 0000 0000b  ( 69)  E    .
+	0x59C0,		// 0101 1001 1100 0000b  ( 70)  F    ..-.
+	0xA700,		// 1010 0111 0000 0000b  ( 71)  G    --.
+	0x55C0,		// 0101 0101 1100 0000b  ( 72)  H    ....
+	0x5C00,		// 0101 1100 0000 0000b  ( 73)  I    ..
+	0x6AC0,		// 0110 1010 1100 0000b  ( 74)  J    .---
+	0x9B00,		// 1001 1011 0000 0000b  ( 75)  K    -.-
+	0x65C0,		// 0110 0101 1100 0000b  ( 76)  L    .-..
+	0xAC00,		// 1010 1100 0000 0000b  ( 77)  M    --
+	0x9C00,		// 1001 1100 0000 0000b  ( 78)  N    -.
+	0xAB00,		// 1010 1011 0000 0000b  ( 79)  O    ---
+	0x69C0,		// 0110 1001 1100 0000b  ( 80)  P    .--.
+	0xA6C0,		// 1010 0110 1100 0000b  ( 81)  Q    --.-
+	0x6700,		// 0110 0111 0000 0000b  ( 82)  R    .-.
+	0x5700,		// 0101 0111 0000 0000b  ( 83)  S    ...
+	0xB000,		// 1011 0000 0000 0000b  ( 84)  T    -
+	0x5B00,		// 0101 1011 0000 0000b  ( 85)  U    ..-
+	0x56C0,		// 0101 0110 1100 0000b  ( 86)  V    ...-
+	0x6B00,		// 0110 1011 0000 0000b  ( 87)  W    .--
+	0x96C0,		// 1001 0110 1100 0000b  ( 88)  X    -..-
+	0x9AC0,		// 1001 1010 1100 0000b  ( 89)  Y    -.--
+	0xA5C0		// 1010 0101 1100 0000b  ( 90)  Z    --..
+};
+
+// each character is separated by two zeros. The bits are sent msbit first.
+const unsigned short int VARICODE_TABLE[256] = {
+	0xAAC0,	// ASCII =   0	1010101011
+	0xB6C0,	// ASCII =   1	1011011011
+	0xBB40,	// ASCII =   2	1011101101
+	0xDDC0,	// ASCII =   3	1101110111
+	0xBAC0,	// ASCII =   4	1011101011
+	0xD7C0,	// ASCII =   5	1101011111
+	0xBBC0,	// ASCII =   6	1011101111
+	0xBF40,	// ASCII =   7	1011111101
+	0xBFC0,	// ASCII =   8	1011111111
+	0xEF00,	// ASCII =   9	11101111
+	0xE800,	// ASCII =  10	11101
+	0xDBC0,	// ASCII =  11	1101101111
+	0xB740,	// ASCII =  12	1011011101
+	0xF800,	// ASCII =  13	11111
+	0xDD40,	// ASCII =  14	1101110101
+	0xEAC0,	// ASCII =  15	1110101011
+	0xBDC0,	// ASCII =  16	1011110111
+	0xBD40,	// ASCII =  17	1011110101
+	0xEB40,	// ASCII =  18	1110101101
+	0xEBC0,	// ASCII =  19	1110101111
+	0xD6C0,	// ASCII =  20	1101011011
+	0xDAC0,	// ASCII =  21	1101101011
+	0xDB40,	// ASCII =  22	1101101101
+	0xD5C0,	// ASCII =  23	1101010111
+	0xDEC0,	// ASCII =  24	1101111011
+	0xDF40,	// ASCII =  25	1101111101
+	0xEDC0,	// ASCII =  26	1110110111
+	0xD540,	// ASCII =  27	1101010101
+	0xD740,	// ASCII =  28	1101011101
+	0xEEC0,	// ASCII =  29	1110111011
+	0xBEC0,	// ASCII =  30	1011111011
+	0xDFC0,	// ASCII =  31	1101111111
+	0x8000,	// ASCII = ' '	1
+	0xFF80,	// ASCII = '!'	111111111
+	0xAF80,	// ASCII = '"'	101011111
+	0xFA80,	// ASCII = '#'	111110101
+	0xED80,	// ASCII = '$'	111011011
+	0xB540,	// ASCII = '%'	1011010101
+	0xAEC0,	// ASCII = '&'	1010111011
+	0xBF80,	// ASCII = '''	101111111
+	0xFB00,	// ASCII = '('	11111011
+	0xF700,	// ASCII = ')'	11110111
+	0xB780,	// ASCII = '*'	101101111
+	0xEF80,	// ASCII = '+'	111011111
+	0xEA00,	// ASCII = ','	1110101
+	0xD400,	// ASCII = '-'	110101
+	0xAE00,	// ASCII = '.'	1010111
+	0xD780,	// ASCII = '/'	110101111
+	0xB700,	// ASCII = '0'	10110111
+	0xBD00,	// ASCII = '1'	10111101
+	0xED00,	// ASCII = '2'	11101101
+	0xFF00,	// ASCII = '3'	11111111
+	0xBB80,	// ASCII = '4'	101110111
+	0xAD80,	// ASCII = '5'	101011011
+	0xB580,	// ASCII = '6'	101101011
+	0xD680,	// ASCII = '7'	110101101
+	0xD580,	// ASCII = '8'	110101011
+	0xDB80,	// ASCII = '9'	110110111
+	0xF500,	// ASCII = ':'	11110101
+	0xDE80,	// ASCII = ';'	110111101
+	0xF680,	// ASCII = '<'	111101101
+	0xAA00,	// ASCII = '='	1010101
+	0xEB80,	// ASCII = '>'	111010111
+	0xABC0,	// ASCII = '?'	1010101111
+	0xAF40,	// ASCII = '@'	1010111101
+	0xFA00,	// ASCII = 'A'	1111101
+	0xEB00,	// ASCII = 'B'	11101011
+	0xAD00,	// ASCII = 'C'	10101101
+	0xB500,	// ASCII = 'D'	10110101
+	0xEE00,	// ASCII = 'E'	1110111
+	0xDB00,	// ASCII = 'F'	11011011
+	0xFD00,	// ASCII = 'G'	11111101
+	0xAA80,	// ASCII = 'H'	101010101
+	0xFE00,	// ASCII = 'I'	1111111
+	0xFE80,	// ASCII = 'J'	111111101
+	0xBE80,	// ASCII = 'K'	101111101
+	0xD700,	// ASCII = 'L'	11010111
+	0xBB00,	// ASCII = 'M'	10111011
+	0xDD00,	// ASCII = 'N'	11011101
+	0xAB00,	// ASCII = 'O'	10101011
+	0xD500,	// ASCII = 'P'	11010101
+	0xEE80,	// ASCII = 'Q'	111011101
+	0xAF00,	// ASCII = 'R'	10101111
+	0xDE00,	// ASCII = 'S'	1101111
+	0xDA00,	// ASCII = 'T'	1101101
+	0xAB80,	// ASCII = 'U'	101010111
+	0xDA80,	// ASCII = 'V'	110110101
+	0xAE80,	// ASCII = 'W'	101011101
+	0xBA80,	// ASCII = 'X'	101110101
+	0xBD80,	// ASCII = 'Y'	101111011
+	0xAB40,	// ASCII = 'Z'	1010101101
+	0xFB80,	// ASCII = '['	111110111
+	0xF780,	// ASCII = '\'	111101111
+	0xFD80,	// ASCII = ']'	111111011
+	0xAFC0,	// ASCII = '^'	1010111111
+	0xB680,	// ASCII = '_'	101101101
+	0xB7C0,	// ASCII = '`'	1011011111
+	0xB000,	// ASCII = 'a'	1011
+	0xBE00,	// ASCII = 'b'	1011111
+	0xBC00,	// ASCII = 'c'	101111
+	0xB400,	// ASCII = 'd'	101101
+	0xC000,	// ASCII = 'e'	11
+	0xF400,	// ASCII = 'f'	111101
+	0xB600,	// ASCII = 'g'	1011011
+	0xAC00,	// ASCII = 'h'	101011
+	0xD000,	// ASCII = 'i'	1101
+	0xF580,	// ASCII = 'j'	111101011
+	0xBF00,	// ASCII = 'k'	10111111
+	0xD800,	// ASCII = 'l'	11011
+	0xEC00,	// ASCII = 'm'	111011
+	0xF000,	// ASCII = 'n'	1111
+	0xE000,	// ASCII = 'o'	111
+	0xFC00,	// ASCII = 'p'	111111
+	0xDF80,	// ASCII = 'q'	110111111
+	0xA800,	// ASCII = 'r'	10101
+	0xB800,	// ASCII = 's'	10111
+	0xA000,	// ASCII = 't'	101
+	0xDC00,	// ASCII = 'u'	110111
+	0xF600,	// ASCII = 'v'	1111011
+	0xD600,	// ASCII = 'w'	1101011
+	0xDF00,	// ASCII = 'x'	11011111
+	0xBA00,	// ASCII = 'y'	1011101
+	0xEA80,	// ASCII = 'z'	111010101
+	0xADC0,	// ASCII = '{'	1010110111
+
+	0xDD80,	// ASCII = '|'	110111011
+	0xAD40,	// ASCII = '}'	1010110101
+	0xB5C0,	// ASCII = '~'	1011010111
+	0xED40,	// ASCII = 127	1110110101
+	0xEF40,	// ASCII = 128	1110111101
+	0xEFC0,	// ASCII = 129	1110111111
+	0xF540,	// ASCII = 130	1111010101
+	0xF5C0,	// ASCII = 131	1111010111
+	0xF6C0,	// ASCII = 132	1111011011
+	0xF740,	// ASCII = 133	1111011101
+	0xF7C0,	// ASCII = 134	1111011111
+	0xFAC0,	// ASCII = 135	1111101011
+	0xFB40,	// ASCII = 136	1111101101
+	0xFBC0,	// ASCII = 137	1111101111
+	0xFD40,	// ASCII = 138	1111110101
+	0xFDC0,	// ASCII = 139	1111110111
+	0xFEC0,	// ASCII = 140	1111111011
+	0xFF40,	// ASCII = 141	1111111101
+	0xFFC0,	// ASCII = 142	1111111111
+	0xAAA0,	// ASCII = 143	10101010101
+	0xAAE0,	// ASCII = 144	10101010111
+	0xAB60,	// ASCII = 145	10101011011
+	0xABA0,	// ASCII = 146	10101011101
+	0xABE0,	// ASCII = 147	10101011111
+	0xAD60,	// ASCII = 148	10101101011
+	0xADA0,	// ASCII = 149	10101101101
+	0xADE0,	// ASCII = 150	10101101111
+	0xAEA0,	// ASCII = 151	10101110101
+	0xAEE0,	// ASCII = 152	10101110111
+	0xAF60,	// ASCII = 153	10101111011
+	0xAFA0,	// ASCII = 154	10101111101
+	0xAFE0,	// ASCII = 155	10101111111
+	0xB560,	// ASCII = 156	10110101011
+	0xB5A0,	// ASCII = 157	10110101101
+	0xB5E0,	// ASCII = 158	10110101111
+	0xB6A0,	// ASCII = 159	10110110101
+	0xB6E0,	// ASCII = 160	10110110111
+	0xB760,	// ASCII = 161	10110111011
+	0xB7A0,	// ASCII = 162	10110111101
+	0xB7E0,	// ASCII = 163	10110111111
+	0xBAA0,	// ASCII = 164	10111010101
+	0xBAE0,	// ASCII = 165	10111010111
+	0xBB60,	// ASCII = 166	10111011011
+	0xBBA0,	// ASCII = 167	10111011101
+	0xBBE0,	// ASCII = 168	10111011111
+	0xBD60,	// ASCII = 169	10111101011
+	0xBDA0,	// ASCII = 170	10111101101
+	0xBDE0,	// ASCII = 171	10111101111
+	0xBEA0,	// ASCII = 172	10111110101
+	0xBEE0,	// ASCII = 173	10111110111
+	0xBF60,	// ASCII = 174	10111111011
+	0xBFA0,	// ASCII = 175	10111111101
+	0xBFE0,	// ASCII = 176	10111111111
+	0xD560,	// ASCII = 177	11010101011
+	0xD5A0,	// ASCII = 178	11010101101
+	0xD5E0,	// ASCII = 179	11010101111
+	0xD6A0,	// ASCII = 180	11010110101
+	0xD6E0,	// ASCII = 181	11010110111
+	0xD760,	// ASCII = 182	11010111011
+	0xD7A0,	// ASCII = 183	11010111101
+	0xD7E0,	// ASCII = 184	11010111111
+	0xDAA0,	// ASCII = 185	11011010101
+	0xDAE0,	// ASCII = 186	11011010111
+	0xDB60,	// ASCII = 187	11011011011
+	0xDBA0,	// ASCII = 188	11011011101
+	0xDBE0,	// ASCII = 189	11011011111
+	0xDD60,	// ASCII = 190	11011101011
+	0xDDA0,	// ASCII = 191	11011101101
+	0xDDE0,	// ASCII = 192	11011101111
+	0xDEA0,	// ASCII = 193	11011110101
+	0xDEE0,	// ASCII = 194	11011110111
+	0xDF60,	// ASCII = 195	11011111011
+	0xDFA0,	// ASCII = 196	11011111101
+	0xDFE0,	// ASCII = 197	11011111111
+	0xEAA0,	// ASCII = 198	11101010101
+	0xEAE0,	// ASCII = 199	11101010111
+	0xEB60,	// ASCII = 200	11101011011
+	0xEBA0,	// ASCII = 201	11101011101
+	0xEBE0,	// ASCII = 202	11101011111
+	0xED60,	// ASCII = 203	11101101011
+	0xEDA0,	// ASCII = 204	11101101101
+	0xEDE0,	// ASCII = 205	11101101111
+	0xEEA0,	// ASCII = 206	11101110101
+	0xEEE0,	// ASCII = 207	11101110111
+	0xEF60,	// ASCII = 208	11101111011
+	0xEFA0,	// ASCII = 209	11101111101
+	0xEFE0,	// ASCII = 210	11101111111
+	0xF560,	// ASCII = 211	11110101011
+	0xF5A0,	// ASCII = 212	11110101101
+	0xF5E0,	// ASCII = 213	11110101111
+	0xF6A0,	// ASCII = 214	11110110101
+	0xF6E0,	// ASCII = 215	11110110111
+	0xF760,	// ASCII = 216	11110111011
+	0xF7A0,	// ASCII = 217	11110111101
+	0xF7E0,	// ASCII = 218	11110111111
+	0xFAA0,	// ASCII = 219	11111010101
+	0xFAE0,	// ASCII = 220	11111010111
+	0xFB60,	// ASCII = 221	11111011011
+	0xFBA0,	// ASCII = 222	11111011101
+	0xFBE0,	// ASCII = 223	11111011111
+	0xFD60,	// ASCII = 224	11111101011
+	0xFDA0,	// ASCII = 225	11111101101
+	0xFDE0,	// ASCII = 226	11111101111
+	0xFEA0,	// ASCII = 227	11111110101
+	0xFEE0,	// ASCII = 228	11111110111
+	0xFF60,	// ASCII = 229	11111111011
+	0xFFA0,	// ASCII = 230	11111111101
+	0xFFE0,	// ASCII = 231	11111111111
+	0xAAB0,	// ASCII = 232	101010101011
+	0xAAD0,	// ASCII = 233	101010101101
+	0xAAF0,	// ASCII = 234	101010101111
+	0xAB50,	// ASCII = 235	101010110101
+	0xAB70,	// ASCII = 236	101010110111
+	0xABB0,	// ASCII = 237	101010111011
+	0xABD0,	// ASCII = 238	101010111101
+	0xABF0,	// ASCII = 239	101010111111
+	0xAD50,	// ASCII = 240	101011010101
+	0xAD70,	// ASCII = 241	101011010111
+	0xADB0,	// ASCII = 242	101011011011
+	0xADD0,	// ASCII = 243	101011011101
+	0xADF0,	// ASCII = 244	101011011111
+	0xAEB0,	// ASCII = 245	101011101011
+	0xAED0,	// ASCII = 246	101011101101
+	0xAEF0,	// ASCII = 247	101011101111
+	0xAF50,	// ASCII = 248	101011110101
+	0xAF70,	// ASCII = 249	101011110111
+	0xAFB0,	// ASCII = 250	101011111011
+	0xAFD0,	// ASCII = 251	101011111101
+	0xAFF0,	// ASCII = 252	101011111111
+	0xB550,	// ASCII = 253	101101010101
+	0xB570,	// ASCII = 254	101101010111
+	0xB5B0	// ASCII = 255	101101011011
+}; 
+
+// For the QPSK modulator/demodulator, rate 1/2 constraint length 5 
+//   convolutional FEC coding is used.
+// The generator polynomials used are:
+//  g1(x) = x^4 + x^3           + 1		= 0x19
+//  g0(x) = x^4	+       x^2 + x + 1		= 0x17
+// 
+//                                g1(x)
+//              /----+--------+--------------------------+
+//            /      |        |                          |
+// symbol msb       ---      ---      ---      ---      ---
+//                 | b4|<---| b3|<---| b2|<---| b1|<---| b0| <-- inverted data in
+// symbol lsb       ---      ---      ---      ---      ---
+//            \      |                 |        |        |
+//              \----+-----------------+--------+--------+
+//                                g0(x)
+//
+// Lookup table to get symbol from non-inverted data stream
+static const unsigned char ConvolutionCodeTable[32] =
+{
+	2, 1, 3, 0, 3, 0, 2, 1,
+	0, 3, 1, 2, 1, 2, 0, 3,
+	1, 2, 0, 3, 0, 3, 1, 2,
+	3, 0, 2, 1, 2, 1, 3, 0 
+};
+
+#endif
diff --git a/linpsk/qpskdemodulator.cpp b/linpsk/qpskdemodulator.cpp
new file mode 100644
index 0000000..d006317
--- /dev/null
+++ b/linpsk/qpskdemodulator.cpp
@@ -0,0 +1,197 @@
+/***************************************************************************
+                          qpskdemodulator.cpp  -  description
+                             -------------------
+    begin                : Sat Jun 2 2001
+    copyright            : (C) 2001 by Volker Schroer
+    email                : dl1ksv at gmx.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *    based on the work of  Moe Wheatly, AE4JY                             *  
+ ***************************************************************************/
+
+#include "qpskdemodulator.h"
+
+// phase wraparound correction table for viterbi decoder
+const double AngleTbl1[4] = { M_PI_3_2, 0.0, M_PI/2.0, M_PI};
+const double AngleTbl2[4] = { M_PI_3_2, PI2, M_PI/2.0, M_PI};
+
+
+
+QPskDemodulator::QPskDemodulator():CPskDemodulator()
+{
+int i;
+	for( i=0; i<21; i++)
+		ViterbiDecode( M_PI_3_2);	// init the Viterbi decoder
+ave1=0.0;
+ave2=0.0;
+
+}
+QPskDemodulator::~QPskDemodulator()
+{
+}
+void QPskDemodulator::DecodeSymbol(double_complex newsamp)
+
+{
+
+bool bit;
+//unsigned char ch = 0;
+
+char ch =0;
+bool GotChar = false;
+double angle;
+
+
+	m_I1 = m_I0;	//form the multi delayed symbol samples
+	m_Q1 = m_Q0;
+	m_I0 = newsamp.real();
+	m_Q0 = newsamp.imag();
+// calculates difference angle for QPSK, BPSK, and IQPSK decoding
+//create vector whose angle is the difference angle by multiplying the
+// current smaple by the complex conjugate of the previous sample.
+//swap I and Q axis to keep away from  the +/-Pi discontinuity and
+//  add Pi to make make range from 0 to 2Pi.
+// 180 deg phase changes center at Pi/4
+// 0 deg phase changes center at 3Pi/2
+// +90 deg phase changes center at 2Pi or 0
+// -90 deg phase changes center at Pi
+
+		angle = M_PI + atan2( (m_I1*m_I0 + m_Q1*m_Q0),
+								(m_I1*m_Q0 - m_I0*m_Q1));	 //QPSK or BPSK
+
+	CalcQuality(angle);
+	
+	bit = ViterbiDecode( angle);
+			
+	if( (bit==0) && m_LastBitZero )	//if character delimiter
+	{
+		if(m_BitAcc != 0 )
+		{
+			m_BitAcc >>= 2;				//get rid of last zero and one
+			m_BitAcc &= 0x07FF;
+			ch = m_VaricodeDecTbl[m_BitAcc];
+			m_BitAcc = 0;
+			GotChar = true;
+		}
+	}
+	else
+	{
+		m_BitAcc <<= 1;
+		m_BitAcc |= bit;
+		if(bit==0)
+			m_LastBitZero = true;
+		else
+			m_LastBitZero = false;
+	}
+	if(GotChar && (ch!=0) )
+		emit newSymbol(ch);
+	if (bit)
+		{
+		m_OffCount=0;
+		if (m_OnCount++ >20)
+			emit setFastSquelch(true);
+
+		}
+	else
+		{
+		m_OnCount=0;
+		if (m_OffCount++ > 20)
+			emit setFastSquelch(false);			
+		}	
+GotChar = false;
+
+}
+
+///////////////////////////////////////////////////////////////////////
+// Soft-decision Viterbi decoder function.
+///////////////////////////////////////////////////////////////////////
+bool QPskDemodulator::ViterbiDecode( double newangle)
+{
+double pathdist[32];
+double min;
+int bitestimates[32];
+int ones;
+int i;
+const double* pAngleTbl;
+	min = 1.0e100;		// make sure can find a minimum value
+	//alternative soft decision method using angle differences
+	{
+		if( newangle >= PI2/2 )			//deal with ambiguity at +/- 2PI
+			pAngleTbl = AngleTbl2;		// by using two different tables
+		else
+			pAngleTbl = AngleTbl1;
+		for(i = 0; i < 32; i++)		// calculate all possible distances
+		{							//lsb of 'i' is newest bit estimate
+			pathdist[i] = m_SurvivorStates[i / 2].Pathdistance +
+					fabs(newangle - pAngleTbl[ ConvolutionCodeTable[i] ]);
+			if(pathdist[i] < min)	// keep track of minimum distance
+				min = pathdist[i];
+			// shift in newest bit estimates
+			bitestimates[i] = ((m_SurvivorStates[i / 2].BitEstimates) << 1) + (i & 1);
+		}
+	}
+	for(i = 0; i < 16; i++)	//compare path lengths with the same end state
+							// and keep only the smallest path in m_SurvivorStates[].
+	{
+		if(pathdist[i] < pathdist[16 + i])
+		{
+			m_SurvivorStates[i].Pathdistance = pathdist[i] - min;
+			m_SurvivorStates[i].BitEstimates = bitestimates[i];
+		}
+		else
+		{
+			m_SurvivorStates[i].Pathdistance = pathdist[16 + i] - min;
+			m_SurvivorStates[i].BitEstimates = bitestimates[16 + i];
+		}
+	}
+	ones = 0;
+	for(i = 0; i < 16; i++)		// find if more ones than zeros at bit 20 position
+		ones += (m_SurvivorStates[i].BitEstimates&(1L << 20));
+	if( ones == (8L << 20 ) )
+		return ( rand() & 0x1000 );	//if a tie then guess
+	else
+		return(ones > (8L << 20) );	//else return most likely bit value
+}
+
+//////////////////////////////////////////////////////////////////////
+// Calculate signal quality based on the statistics of the phase
+//	difference angle.  The more dispersion of the "0" and "180" degree
+//  phase shifts, the worse the signal quality.  This information is used
+//  to activate the squelch control.  If 20 consecutive "180" degree shifts
+//  occur, the squelch is forced on, and if 20 consecutive "0" degree
+//  shifts occur, the squelch is forced off quickly.
+//////////////////////////////////////////////////////////////////////
+
+void QPskDemodulator::CalcQuality(  double angle )
+{
+
+double temp;
+
+ave2=ave1;
+ave1=m_DevAve;
+angle = angle - M_PI_2;
+if (angle < 0.0)
+	angle = angle + PI2;
+
+temp = fmod(angle,M_PI_2);
+
+if (temp > M_PI)
+	temp=temp - M_PI;
+
+			m_QFreqError = temp;
+			temp = fabs(temp);
+			if (temp > M_PI_4)
+					temp= M_PI_4;
+
+		m_DevAve =0.47 * ave1 + 0.46 * ave2 + 0.03 *temp;
+
+
+
+		temp=100.-250.0*m_DevAve;
+		emit setSquelchValue((int)temp);
+}
diff --git a/linpsk/qpskdemodulator.h b/linpsk/qpskdemodulator.h
new file mode 100644
index 0000000..3020667
--- /dev/null
+++ b/linpsk/qpskdemodulator.h
@@ -0,0 +1,52 @@
+/***************************************************************************
+                          qpskdemodulator.h  -  description
+                             -------------------
+    begin                : Sat Jun 2 2001
+    copyright            : (C) 2001 by Volker Schroer
+    email                : dl1ksv at gmx.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *   based on the work of Moe Wheatley, AE4JY                              *
+ ***************************************************************************/
+
+#ifndef QPSKDEMODULATOR_H
+#define QPSKDEMODULATOR_H
+
+#include "cpskdemodulator.h"
+#include "psktable.h"
+
+/**Implementation of the QPsk demodulator
+  *@author Volker Schroer
+  */
+
+struct SurvivorStates
+{
+	double Pathdistance;	// sum of all metrics for a given survivor path
+	long BitEstimates;		// the bit pattern estimate associated with given survivor path
+};
+
+
+class QPskDemodulator : public CPskDemodulator  {
+public: 
+	QPskDemodulator();
+	~QPskDemodulator();
+protected:	
+/** Decodes a BPSK Symbol */
+void DecodeSymbol( double_complex newsamp);
+void CalcQuality(double);	
+private:
+// Methods
+	bool ViterbiDecode( double newangle);
+//Variables
+	struct SurvivorStates m_SurvivorStates[16]; /* Survivor path trellis */
+ double ave1,ave2;
+
+};
+
+#endif
diff --git a/linpsk/resource.h b/linpsk/resource.h
new file mode 100644
index 0000000..d3f1c7c
--- /dev/null
+++ b/linpsk/resource.h
@@ -0,0 +1,68 @@
+/***************************************************************************
+                          resource.h  -  description
+                             -------------------
+    begin                : Sat Mar  4 22:29:25 /etc/localtime 2000
+    copyright            : (C) 2000 by Volker Schroer
+    email                : Dl1KSV at gmx.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *   based on the work of Moe Wheatley, AE4JY                              *
+ ***************************************************************************/
+#ifndef RESOURCE_H
+#define RESOURCE_H
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+
+///////////////////////////////////////////////////////////////////
+// resource.h  -- contains macros used for commands
+
+
+///////////////////////////////////////////////////////////////////
+// COMMAND VALUES FOR MENUBAR AND TOOLBAR ENTRIES
+
+
+///////////////////////////////////////////////////////////////////
+// File-menu entries
+
+#define ID_FILE_OPEN                10030
+
+
+
+#define ID_FILE_QUIT                10100
+
+
+
+///////////////////////////////////////////////////////////////////
+// Settings-Menu entries
+//
+#define ID_SETTINGS_SETUP							13010
+#define	ID_SETTINGS_FONT_SETUP				13015
+#define ID_SETTINGS_COLOR_SETTINGS		13017
+#define ID_SETTINGS_EDITMACROS				13020
+#define ID_SETTINGS_SAVESETTINGS			13030
+
+#define ID_RX_WINDOW_FONTS						14010
+#define ID_TX_WINDOW_FONTS						14020
+
+
+// Help-menu entries
+#define ID_HELP_ABOUT               1002
+
+///////////////////////////////////////////////////////////////////
+// General application values
+#define IDS_APP_ABOUT               "Linpsk\nVersion " VERSION \
+                                    "\n(w) 2000 by Volker Schroer"
+#define IDS_STATUS_DEFAULT          "Receiving"
+
+
+
+#endif // RESOURCE_H
diff --git a/linpsk/rttydemodulator.cpp b/linpsk/rttydemodulator.cpp
new file mode 100644
index 0000000..749ffb0
--- /dev/null
+++ b/linpsk/rttydemodulator.cpp
@@ -0,0 +1,554 @@
+/***************************************************************************
+                          rttydemodulator.cpp  -  description
+                             -------------------
+    begin                : Mon Jun 4 2001
+    copyright            : (C) 2001 by Volker Schroer
+    email                : dl1ksv at gmx.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *    based on the work of  Moe Wheatly, AE4JY                             *  
+ ***************************************************************************/
+
+#include "rttydemodulator.h"
+
+RTTYDemodulator::RTTYDemodulator():CDemodulator()
+{
+ShiftOn = false;
+NumberOfStopBits = 2;
+parity = 0;
+x1=0;
+
+NxSamples = 0;
+
+twiddles = NULL;
+bins = NULL;
+history = NULL;
+FrequencyNumber = NULL;
+// Disable PhaseDisplay
+
+}
+RTTYDemodulator::~RTTYDemodulator()
+{
+if (twiddles != NULL)
+  delete twiddles;
+
+if (bins != NULL)
+	delete bins;
+
+if (history != NULL )
+	delete history;
+if (FrequencyNumber != NULL)
+	delete FrequencyNumber;
+}
+/** returns the asci char corresponding to the baudot code */
+char RTTYDemodulator::baudot_code(char data)
+{
+/** Table of letters */
+
+static const char letters[32] =	{0x00,'E','\n','A',' ','S','I','U',
+								 '\n','D','R','J','N','F','C','K',
+								 'T','Z','L','W','H','Y','P','Q',
+								 'O','B','G','^','M','X','V','^'};
+
+
+/** Table of symbols */
+static const char symbols[32] = {0x00,'3','\n','-',' ',',','8','7',
+ '\n','$','4','#',',','�',':','(',
+ '5','+',')','2','�','6','0','1',
+'9','7','�','^','.','/','=','^'};
+
+char c;
+
+	switch (data)
+	 {
+		case 0x1f :
+				ShiftOn = false;  //LTRS
+				c = 0;
+				break;
+		case 0x1b :
+		 		ShiftOn = true;   //FIGS
+		 		c = 0;
+		  	break;
+		default:	if (!ShiftOn)
+								c=letters[data];
+							 else
+							 c=symbols[data];
+						 break;
+ 		}
+
+
+if ( c == ' ')				// Unshift on Space
+	ShiftOn =false;	
+
+return c;
+}
+
+bool RTTYDemodulator::Init(double FS,int NumberOfSamples)
+{
+
+int i;
+float x;
+
+Baudrate=45;
+NumberOfBits=5;
+NxSamples=NumberOfSamples;
+SamplesPerBit=int (FS/Baudrate+0.5);
+SampleRate=FS;
+Status = WaitingForMark;
+actSample=0;
+data=0;
+BitsInData=0;
+bitcounter=0;
+c=0;
+count=0;
+
+FrequencyChanged = false;
+
+
+ave1=0.0;
+ave2=0.0;
+
+
+
+if ( (twiddles = new float_complex [SamplesPerBit]) == NULL )
+	return false;
+
+if ( (bins = new float_complex[NumberofTones]) == NULL )
+	return false;
+
+if ( (history = new float[SamplesPerBit] ) == NULL )
+	return false;
+if ( (FrequencyNumber=new int[NumberofTones]) == NULL )
+	return false;
+ptr = 0;
+
+setRxFrequency(1000.);
+
+// Initialize the coefficients for the slfft
+
+for (i=0;i < SamplesPerBit; i++)
+	{
+		x =2*i * M_PI*Baudrate/FS;
+		twiddles[i] = float_complex( cos(x), sin(x) ) ;
+	}
+
+for (i=0;i<SamplesPerBit; i++)
+{
+history[i]= 0.;
+}
+for(i=0;i<NumberofTones;i++)
+		bins[i]= float_complex(0.,0.);
+return true;
+}
+
+void RTTYDemodulator::ProcessInput(double *input)
+{
+
+
+
+
+
+char c1;
+
+bool bit;
+
+DataAvailable = true;	// Just read the data
+actSample = 0;				// Start processing, counter will be incremented while processing
+											// the next value
+data=input;	
+while (DataAvailable)
+	{
+		switch (Status)
+			{
+				case WaitingForMark:
+						while ( DataAvailable ) 				// Waiting for Mark
+		 					if (ProcessNextSample() > 0)
+							{
+								Status = WaitingForSpace;   // We seem to have found Mark, so we can wait for
+								break;                     // Space
+							}
+				break;
+				
+				case WaitingForSpace:   	           // Mark seems to be found, now waiting for transition																																
+						while ( DataAvailable )					 // Waiting for transition
+							if (ProcessNextSample() < 0 ) 		
+							{
+								Status  = CheckingStartBit;  // Transition seems to be found	
+								bitcounter = SamplesPerBit/2;
+								CalcQuality();
+								break;
+							}
+						break;				
+							
+				case CheckingStartBit:
+
+					while ( DataAvailable  )
+							if ( --bitcounter > 0)
+								ProcessNextSample();
+							else
+					if ( ProcessNextSample() > 0 ) 		// 0.5 bit processed
+							{
+								Status  = WaitingForSpace; // Was'nt the correct start bit, as we found Mark
+								break;                     // here , so go and look for another Space
+							}	
+						else
+							{		
+///								Status = SkipRestOfStartBit;   // We are tight behind the midle of the Startbit
+								Status = CollectingByte;   // We are tight behind the midle of the Startbit
+
+///							bitcounter = SamplesPerBit/4;
+///								bitcounter =1;
+///                CalcQuality();
+								Frequencykor = 0;
+								bitcounter =5;
+                CalcQuality();
+                reset();
+								break;
+							}
+						
+					break;				// We've reached the end of the available data or completed Status
+
+        case SkipRestOfStartBit:
+					while ( DataAvailable && (--bitcounter > 0) )
+						if  ( ProcessNextSample() > 0 )		// Oops, already Mark
+							{
+								Status = CollectingByte;
+								bitcounter = 5;
+								reset();
+								count = 10;										// This is only aguess
+								break;
+							}
+					if ( bitcounter == 0 )			// Normal end of skip
+						{
+								Status = CollectingByte;
+								bitcounter = 5;
+								reset();
+								break;
+						}
+					break;
+				case CollectingByte:
+					while( DataAvailable && (bitcounter > 0) )
+						{
+							bit=get_next_bit();							
+							if ( DataAvailable )
+								{
+									if (bit)
+										BitsInData++;
+									bitcounter--;
+									c >>=1;
+									if (bit)
+										c |= 128;
+								}									
+							else
+								break;			// No more data to be processed at the moment	
+							
+						}
+					if ( bitcounter == 0 ) // Data 'byte' completed
+						{
+							c >>= (8- NumberOfBits);
+							Status = CheckingParity;
+							c1=c;
+							c1 = baudot_code(c1);  // FIGS or LTRS result in c1 = 0 !
+							if ( c1 > 0 )
+								emit newSymbol( c1 );
+						}	
+							
+					break;	
+					
+				case CheckingParity:
+
+					if (parity)
+						{
+							bit=get_next_bit();
+							if (	DataAvailable )
+								{
+									if (bit)
+										BitsInData++;
+									if (parity == 1 ) // even
+										{
+										if ( BitsInData & 1)	// error						
+											{
+											emit newSymbol('<');
+											emit newSymbol('P');
+											emit newSymbol('>');
+											}
+										}
+									else							// odd
+										{
+										if (! (BitsInData & 1))	// error						
+											{
+											emit newSymbol('<');
+											emit newSymbol('P');
+											emit newSymbol('>');
+											}
+										}
+									
+									}
+									else
+										break;
+								}	
+								Status =WaitingForStopBits;
+								BitsInData = 0;
+//								bitcounter=NumberOfStopBits;
+								bitcounter =1;
+							
+				break;	
+									
+				case WaitingForStopBits:
+					while ( DataAvailable && bitcounter >0 )
+						{
+						bit = get_next_bit();
+						if ( DataAvailable)		// We've got a bit
+							{
+								bitcounter --;
+								if  (!bit)		// Framing Error
+									{
+									emit newSymbol('<');
+									emit newSymbol('F');
+									emit newSymbol('>');
+      						Status = CollectingByte;   // Lets try whether this was already the start bit
+///									Status = WaitingForMark;
+									bitcounter=NumberOfBits;
+									c=0;
+									if ( (Frequencykor != 0) && UseAfc && (ave1 > 0.35))
+									{
+										emit rxFrequencyChanged( RxFrequency + Frequencykor);
+                    setRxFrequency ( RxFrequency + Frequencykor);
+										Frequencykor =0;
+									}
+			            break;
+									}
+								else
+							{
+										
+								c=0;
+///								Status=WaitingForSpace;
+								Status=WaitingForMark;
+
+								if ( ( Frequencykor != 0) && UseAfc && ( ave1 >0.35 ))
+									{
+										emit rxFrequencyChanged( RxFrequency + Frequencykor);
+                    setRxFrequency ( RxFrequency + Frequencykor);
+										Frequencykor =0;
+                  }
+								break;
+							}	
+
+							}
+						}
+				
+				break;
+				
+				case ThrowHalfBit:
+					while ( DataAvailable && --bitcounter > 0)
+						ProcessNextSample();
+					if ( bitcounter == 0 )
+						Status = WaitingForMark;
+				break;			
+						
+		}	// End switch	
+	}	// End While
+}
+
+int RTTYDemodulator::ProcessNextSample()
+{
+float x;
+float z[NumberofTones];
+int i,index;
+if ( actSample<NxSamples )
+	{
+	DataAvailable = true;
+	x= (float) data[actSample];
+	actSample++;
+  slfft(x);
+	for (i=0;i < NumberofTones; i++)
+		z[i] = abs(bins[i]);
+
+index=0;
+x= z[0];
+for (i=1;i <NumberofTones;i++)
+	{
+	if (z[i]> x)
+		{
+			index = i;
+			x = z[i];
+		}
+	}
+	if ( index > 3)
+		return 1;
+	else
+		return -1;
+	}
+else
+	DataAvailable = false;
+	
+return 0;		
+}
+
+
+
+bool RTTYDemodulator::get_next_bit()
+{
+
+int x;
+float z[NumberofTones],y;
+int i, index;
+
+/*while (DataAvailable)
+	{
+ 	if (count != SamplesPerBit )
+			{
+				if ( actSample<NxSamples )
+				{
+					z= (float) data[actSample];
+					count++;
+					actSample++;
+  				slfft(z);
+				}
+				else
+					DataAvailable = false;
+				x = 0;
+			}
+	else
+		{
+			x = ProcessNextSample();
+			CalcQuality();
+      reset();
+			break;
+  	}
+	}*/
+while (DataAvailable)
+	{
+	if ( actSample < NxSamples)
+		{
+			y= (float) data[actSample];
+			count++;
+			actSample++;
+			slfft(y);
+			if ( count == SamplesPerBit)
+				{
+					if (UseAfc)
+						{
+							for (i=0;i < NumberofTones; i++)
+								z[i] = abs(bins[i]);
+
+							index=0;
+							y	= z[0];
+							for (i=1;i <NumberofTones;i++)
+								{
+									if (z[i]> y)
+									{
+										index = i;
+										y = z[i];
+									}
+								}
+							if ( z[1] > z[5] )
+								x = -1;
+							else
+								x =1;
+							switch (index)
+								{
+									case 1:       // Frequency is ok
+									case 5:
+										break;
+									case 0:				// Frequency is too high
+									case 4:
+										Frequencykor -= 1;
+										break;
+									case 2: 			// Frequency is too low
+									case 6:
+										Frequencykor += 1;
+										break;
+									default:
+										break;
+								}	
+									
+						}
+					else
+						if ( abs(bins[1]) > abs(bins[5]) )
+							x= -1;
+						else
+							x =1;
+          CalcQuality();
+					reset();
+					break;
+				}
+		}
+	 else
+		{
+			DataAvailable = false;
+			x = 0;
+		}
+	}
+return ( (x > 0 ) ? true : false) ;	
+}
+
+void RTTYDemodulator::slfft(float x)
+{
+float old;
+
+///old = x - history[ptr];
+old = history[ptr];
+
+history[ptr] = x;
+ptr = (ptr +1) % SamplesPerBit;
+
+for (int i=0; i <NumberofTones;i++)
+  	bins[i] = bins[i]*twiddles[FrequencyNumber[i]] +x - old;
+	
+}
+
+void RTTYDemodulator::setRxFrequency(double freq)
+{
+int i;
+if ( freq != RxFrequency)
+	{
+		RxFrequency=freq;
+		for(i=0; i < NumberofTones; i++)
+			bins[i]=float_complex(0.0,0.0);
+
+		FrequencyNumber[1]= (RxFrequency*SamplesPerBit)/SampleRate+0.5;
+		FrequencyNumber[0] = FrequencyNumber[1] - 1;
+		FrequencyNumber[2] = FrequencyNumber[1] + 1;
+		FrequencyNumber[3] = FrequencyNumber[2] + 1;
+		FrequencyNumber[5]= ( (RxFrequency+170) *SamplesPerBit)/SampleRate+0.5;
+		FrequencyNumber[4] = FrequencyNumber[5] - 1;
+		FrequencyNumber[6] = FrequencyNumber[5] + 1;
+   }
+}
+
+void RTTYDemodulator::CalcQuality()
+{
+ave2=ave1;
+float sum,diff;
+sum=abs(bins[1])+abs(bins[5]);
+diff=abs( abs(bins[1])-abs(bins[5]));
+//ave1=0.8*ave1 + 0.2 * abs(y0-y1)/(y0+y1);
+if ( sum > 0.5 )
+	ave1=0.7*ave1 + 0.25 * ave2 + 0.05 * diff/sum;
+else
+	ave1 = 0.5*ave1 + 0.3 *ave2;
+emit setSquelchValue((int)(100*ave1));
+}
+
+
+
+
+void RTTYDemodulator::reset()
+{
+int i;
+
+for(i=0;i<NumberofTones;i++)
+			bins[i]=float_complex(0.0,0.0);
+for(i=0;i < SamplesPerBit; i++)	
+			history[i]=0.;
+count =0;
+x1=0;
+
+}
diff --git a/linpsk/rttydemodulator.cpp.sav b/linpsk/rttydemodulator.cpp.sav
new file mode 100644
index 0000000..1852f68
--- /dev/null
+++ b/linpsk/rttydemodulator.cpp.sav
@@ -0,0 +1,399 @@
+/***************************************************************************
+                          rttydemodulator.cpp  -  description
+                             -------------------
+    begin                : Mon Jun 4 2001
+    copyright            : (C) 2001 by Volker Schroer
+    email                : dl1ksv at gmx.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *    based on the work of  Moe Wheatly, AE4JY                             *  
+ ***************************************************************************/
+
+#include "rttydemodulator.h"
+
+RTTYDemodulator::RTTYDemodulator():CDemodulator()
+{
+ShiftOn= false;
+NumberOfStopBits = 2;
+parity =0;
+
+NxSamples=0;
+
+}
+RTTYDemodulator::~RTTYDemodulator()
+{
+}
+/** Sets the frequency to be received */
+void RTTYDemodulator::setRxFrequency(double frequency)
+{
+RxFrequency=frequency;
+}
+/** returns the asci char corresponding to the baudot code */
+char RTTYDemodulator::baudot_code(char data)
+{
+/** Table of letters */
+
+static const char letters[32] =	{'<','E','\n','A',' ','S','I','U',
+								 '\n','D','R','J','N','F','C','K',
+								 'T','Z','L','W','H','Y','P','Q',
+								 'O','B','G','^','M','X','V','^'};
+
+
+/** Table of symbols */
+static const char symbols[32] = {'<','3','\n','-',' ',',','8','7',
+ '\n','$','4','#',',','�',':','(',
+ '5','+',')','2','�','6','0','1',
+'9','7','�','^','.','/','=','^'};
+
+char c;
+
+switch (data)
+	 {
+		case 0x1f :
+				ShiftOn = false;  //LTRS
+				c = 0;
+				break;
+		case 0x1b :
+		 		ShiftOn = true;   //FIGS
+		 		c = 0;
+		  	break;
+		default:	if (!ShiftOn)
+								c=letters[data];
+							 else
+							 c=symbols[data];
+						 break;
+	}
+if ( c == ' ')				// Unshift on Space
+	ShiftOn =false;	
+return c;
+}
+
+bool RTTYDemodulator::Init(double FS,int NumberOfSamples)
+{
+Baudrate=45;
+NumberOfBits=5;
+NxSamples=NumberOfSamples;
+SamplesPerBit=int (FS)/Baudrate;
+Status = WaitingForStart;
+data=0;
+return true;
+}
+
+void RTTYDemodulator::ProcessInput(double *input)
+{
+static double x1 = 0.0;
+static int bitcounter = 0;
+static int c=0;
+char c1;
+static unsigned int BitsInData=0;
+double x2;
+bool bit;
+
+DataAvailable = true;	// Just read the data
+actSample = 0;				// Start processing, counter will be incremented while processing
+											// the next value
+data=input;											
+while (DataAvailable)
+	{
+		switch (Status)
+			{
+				case WaitingForStart:
+					while ( DataAvailable)
+						{
+							x2=ProcessNextSample();
+								if ( x1 > 0.0 && x2 < 0.0)
+									{
+										Status  = CountingStartBits;
+										bitcounter = SamplesPerBit/2;
+										break;
+									}
+								else
+									x1 = x2;
+							}					// End While
+							
+							break;				
+							
+				case CountingStartBits:
+					while ( DataAvailable  )
+							if ( --bitcounter > 0)
+								x1 = ProcessNextSample();
+							else
+								break;		// End while
+					if ( bitcounter == 0 ) // 0.5 bits processed
+						{
+						if ( x1 > 0 )
+							{
+								Status  = WaitingForStart; // Was'nt the correct start bit
+								x2 = x1;
+							}	
+						else
+							{													// Initializing starting values for next state
+							Status = CollectingByte;
+							bitcounter = NumberOfBits;
+							}
+						}
+						
+					break;				// We've reached the end of the available data
+					
+				case CollectingByte:
+					while( DataAvailable && (bitcounter > 0) )
+						{
+							bit=get_next_bit();							
+							if ( DataAvailable )
+								{
+									if (bit)
+										BitsInData++;
+									bitcounter--;
+									c >>=1;
+									if (bit)
+										c |= 128;
+								}									
+							else
+								break;			// No more data to be processed at the moment	
+							
+						}
+					if ( bitcounter == 0 ) // Data 'byte' completed
+						{
+							c >>= (8- NumberOfBits);
+							Status = CheckingParity;
+							c1=c;
+							c1 = baudot_code(c1);
+						}	
+							
+					break;	
+					
+				case CheckingParity:
+					if (parity)
+						bit=get_next_bit();
+					if (	DataAvailable )
+						{
+							if ( parity )
+								{
+									if (bit)
+										BitsInData++;
+									if (parity == 1 ) // even
+										{
+										if ( BitsInData & 1)	// error						
+											{
+											emit newSymbol('<');
+											emit newSymbol('P');
+											emit newSymbol('>');
+											}
+										}
+									else							// odd
+										{
+										if (! (BitsInData & 1))	// error						
+											{
+											emit newSymbol('<');
+											emit newSymbol('P');
+											emit newSymbol('>');
+											}
+										}
+									}	
+								Status =WaitingForStopBits;
+//								bitcounter=NumberOfStopBits;
+								bitcounter =1;
+							}
+				break;	
+									
+				case WaitingForStopBits:
+					while ( DataAvailable && bitcounter >0 )
+						{
+						bit = get_next_bit();
+						if ( DataAvailable)		// We've got a bit
+							{
+								bitcounter --;
+								if  (!bit)		// Framing Error
+									{
+									emit newSymbol('<');
+									emit newSymbol('F');
+									emit newSymbol('>');
+									}
+							}
+						}
+						if ( bitcounter == 0)
+							{
+								if ( c1 != 0)
+									emit newSymbol(c1);				
+								c=0;
+								Status=ThrowHalfBit;
+								bitcounter =  SamplesPerBit/2;
+							}	
+				
+				break;
+				
+				case ThrowHalfBit:
+					while ( DataAvailable && --bitcounter > 0)
+						x1 = ProcessNextSample();
+					if ( bitcounter == 0 )
+						Status = WaitingForStart;
+				break;			
+						
+		}	// End switch	
+	}	// End While
+}
+
+double RTTYDemodulator::ProcessNextSample()
+{
+double x, xspace,xmark;
+if ( actSample<NxSamples )
+	{
+	DataAvailable = true;
+	x= *(data + actSample);
+	actSample++;
+	xspace = filter_space(x);
+	xmark = filter_mark(x);
+	x = filter_lp(xmark*xmark - xspace *xspace);
+	}
+else
+	DataAvailable = false;
+	
+return x;		
+}
+
+  /** Filter for Space - Frequency */
+double RTTYDemodulator::filter_space(double x)
+{
+/* Filter 1000 Hz for sampling rate 11025 hz */
+//static double coef[8]={1.6568422699e-04,-7.9605735036e-01,4.1809525736e+00,
+//												-9.8944155103e+00,1.3290535211e+01,-1.0676259822e+01,
+//												4.8677922322e+00,0.0000000000e+00};
+/* Filter for 1000/1500 HZ for sampling rate 5512.5/11025 HZ index  200 */
+//static double coef[8]={1.1937902572e-03,-6.3323041898e-01,2.7002602806e+00,
+//												-6.0371014945e+00,8.0884907811e+00,-7.0304017312e+00,
+//													3.6631236336e+00,0.0000000000e+00};
+
+/* Filter for 1000/1000 HZ for sampling rate 5512.5/11025 HZ index  0 */
+static double coef[8]={7.8961638927e-03,-3.9843520072e-01,2.7110678715e+00,-7.7715702580e+00,1.2023679171e+01,-1.0584260167e+01,5.0195020855e+00,0.0000000000e+00};
+
+static double xv[8]={0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0};
+static double yv[8]={0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0};
+static int p=0;
+int i,j;
+double s,*pc;
+
+pc = &coef[0];
+xv [ (p + 6 ) & 7] = x * ( * (pc++));
+s = (xv[ ( p + 6 ) & 7] -xv[p]) + 3.0 *(xv[ ( p + 2 ) & 7 ] - xv[ ( p + 4 ) & 7] ) ;
+for (i=0,j = p; i < 6; i++,j++)
+	s += yv[ j & 7 ] * ( * (pc++));
+yv[ j & 7] =s;
+p++;
+p &= 7;
+return s;		
+														
+}
+  /** Filter for Mark Frequency */
+double RTTYDemodulator::filter_mark(double x)
+{
+/** Filter 1170 HZ for sampling rate of 11025 */
+//static double coef[8]={1.6569215171e-04,-7.9605434440e-01,3.9021574923e+00,
+//											-8.9501263083e+00,1.1889237161e+01,-9.6573114446e+00,
+//											4.5432086242e+00,0.0000000000e+00};
+/** Filter 1170/1830 for sampling rate 5512.5/11025 (index 268) */
+//static double coef[8]={1.1937902491e-03,-6.3323041898e-01,2.0520182309e+00,
+//												-4.4107715804e+00,5.5574400517e+00,-5.1353269145e+00,
+//												2.7837303434e+00,0.0000000000e+00};
+/** Filter 1170/840 for sampling rate 5512.5/11025 (index 68) */
+static double coef[8]={7.8826724039e-03,-3.9843370709e-01,2.5074074265e+00,-6.8728980807e+00,1.0474701683e+01,-9.3567580870e+00,4.6424395073e+00,0.0000000000e+00};
+
+static double xv[8]={0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0};
+static double yv[8]={0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0};
+static int p=0;
+int i,j;
+double s, *pc;
+
+pc = &coef[0];
+xv [ (p + 6 ) & 7] = x * (*pc++);
+s = (xv[ ( p + 6 ) & 7] -xv[p]) + 3.0 *(xv[ ( p + 2 ) & 7 ] - xv[ ( p + 4 ) & 7] ) ;
+for (i=0,j = p; i < 6; i++,j++)
+	s += yv[ j & 7 ] * (*pc++);
+
+yv[ j & 7] =s;
+
+p++;
+p &= 7;
+return s;		
+														
+														
+}
+  /** Low  Pass Filter */
+double RTTYDemodulator::filter_lp(double x)
+{
+//static  double coef[8]={1.9955128522e-10,-8.0143818111e-01,4.9869298677e+00,
+//												-1.2932067082e+01,1.7888953401e+01,-1.3922232937e+01,
+//												5.7798549182e+00,0.0000000000e+00};
+
+//static  double coef[8]={1.1457227575e-08,-6.4231682759e-01,4.1410340947e+00,
+//														-1.1132204116e+01,1.5972877352e+01,-1.2901661290e+01,
+//														5.5622700534e+00,0.0};
+//static double coef[8]={5.9265013989e-07,-4.1263905616e-01,2.8477089524e+00,
+//											-8.2121097122e+00,1.2668069902e+01,-1.1026628415e+01,
+//												5.1355603995e+00,0.0000000000e+00};		
+static double coef[8]={5.4871165422e-06,-2.6517665199e-01,1.9517062803e+00,-6.0224459706e+00,9.9768459845e+00,-9.3624590165e+00,4.7211781989e+00,0.0000000000e+00};
+static double xv[8]={0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0};
+static double yv[8]={0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0};
+static int p=0;
+int i,j;
+double s,*pc;
+
+pc = &coef[0];
+xv [ (p + 6 ) & 7] = x * (*pc++);
+
+
+s =			(xv[p]							+ xv[ (p + 6) & 7 ])	+
+	 6.	*(xv[ ( p + 1) & 7]		+ xv[ (p + 5) & 7 ])	+
+	 15.*(xv[ ( p + 2) & 7] 	+ xv[ (p + 4) & 7 ])	+
+	 20.* xv[ ( p + 3) & 7];
+
+for (i=0,j = p; i < 6; i++,j++)
+	s += yv[ j & 7 ] * (*pc++);
+
+yv[ j & 7] =s;
+
+p++;
+p &= 7;
+return s;		
+	
+}
+
+bool RTTYDemodulator::get_next_bit()
+{
+static double x0 = 0.0;
+double x;
+static float cont = 0.0;
+static bool FrequencyChanged = false;
+while ( DataAvailable )
+	{
+		x = ProcessNextSample();
+	  if ( (x *x0 ) < 0 )
+	   {
+	  	if ( !FrequencyChanged )
+	  		{
+	  			if ( cont < ( SamplesPerBit/2. ) )
+//	  				cont += SamplesPerBit/32.0;
+	  				cont += SamplesPerBit/64.0;
+	  			else
+	  				cont -= SamplesPerBit/32.0;
+	  				cont -= SamplesPerBit/64.0;
+	  			FrequencyChanged = true;
+	  		}
+	  	}
+	  	x0 = x;
+	  	cont +=1.;
+	  	if ( cont > SamplesPerBit )
+	  		{
+	  			cont -= SamplesPerBit;
+	  			break;
+	  		}						
+	}
+if ( DataAvailable )	
+	FrequencyChanged = false ;
+return ( (x > 0 ) ? true : false) ;	
+}
diff --git a/linpsk/rttydemodulator.h b/linpsk/rttydemodulator.h
new file mode 100644
index 0000000..3dd98a6
--- /dev/null
+++ b/linpsk/rttydemodulator.h
@@ -0,0 +1,128 @@
+/***************************************************************************
+                          rttydemodulator.h  -  description
+                             -------------------
+    begin                : Mon Jun 4 2001
+    copyright            : (C) 2001 by Volker Schroer
+    email                : dl1ksv at gmx.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ ***************************************************************************/
+
+#ifndef RTTYDEMODULATOR_H
+#define RTTYDEMODULATOR_H
+
+#include <cdemodulator.h>
+#include <complex.h>
+
+/**Decodes RTTY 
+  *@author Volker Schroer
+  */
+enum StateOfReception { WaitingForMark,WaitingForSpace, CheckingStartBit,SkipRestOfStartBit,CollectingByte,
+												 CheckingParity, WaitingForStopBits,ThrowHalfBit};
+/** Number of tones used in fsk (2 for Rtty) but we use 7 for doing some afc */
+
+#define  NumberofTones 7
+
+class RTTYDemodulator : public CDemodulator  {
+public: 
+	RTTYDemodulator();
+	~RTTYDemodulator();
+
+	/** Prozess the input */
+	void ProcessInput(double * input);
+	
+	bool Init(double,int);
+	
+public slots: // Public slots
+/** Set RxFrequencies for RTTY */
+void setRxFrequency(double);
+
+private: 	//Private Variables
+
+/** coeficients for slidding fft */
+float_complex *twiddles;
+
+/** result of slidding fft for the different tones */
+float_complex *bins;
+/** history of sampled values for fft */
+float *history;
+/** Mapping of Frequency to integer number (index) */
+int *FrequencyNumber;
+
+/** Number of samples to process */
+int NxSamples;
+/** Actuell Sample , just to be processed */
+int actSample;
+/** Adress of data */
+double *data;
+
+/** SampleRate */
+double SampleRate;
+
+/** Status of Shift */
+bool ShiftOn;
+
+/** Baudrate */
+int Baudrate;
+/** Number of Stopbits */
+
+unsigned int NumberOfStopBits;
+
+/** Parity
+	0 none
+	1 even
+	2 odd	*/
+unsigned int parity;
+/** Samples per bit */
+unsigned int SamplesPerBit;
+/** Number of Bits per Character */
+unsigned int NumberOfBits;
+
+bool DataAvailable;
+
+/** Status of reception*/
+StateOfReception Status;
+
+/** Pointer to history */
+int ptr;
+
+/** Counts the number of bits in act. Character ( for parity) */
+unsigned int BitsInData;
+/** Number of Bits to be processed */
+int bitcounter ;
+/** Bitpattern of actual processed byte */
+int c;
+/** has detected Frequency changed ? */
+bool FrequencyChanged;
+/** How to correct the Rxfrequency */
+int Frequencykor;
+/** previous sample */
+int x1;
+/** Sample position in bit */
+unsigned int count ;
+/** Variables for Squelch computing */
+float ave1,ave2;
+
+
+private: // Private methods
+  /** returns the asci char coresponding to the baudot code */
+  char baudot_code(char);
+  /** Processes the next sample */
+  int ProcessNextSample();
+  /** gets the next bit */
+  bool get_next_bit();
+	/** Sliding fft */
+	void slfft(float);
+	/** Calc the quality of the signal for squelch */
+	void CalcQuality();
+	/** Reset the values of sliding of fft */
+	void reset();
+};
+
+#endif
diff --git a/linpsk/rttydemodulator.h.sav b/linpsk/rttydemodulator.h.sav
new file mode 100644
index 0000000..82123fe
--- /dev/null
+++ b/linpsk/rttydemodulator.h.sav
@@ -0,0 +1,93 @@
+/***************************************************************************
+                          rttydemodulator.h  -  description
+                             -------------------
+    begin                : Mon Jun 4 2001
+    copyright            : (C) 2001 by Volker Schroer
+    email                : dl1ksv at gmx.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *   based on the work of Moe Wheatley, AE4JY                              *
+ ***************************************************************************/
+
+#ifndef RTTYDEMODULATOR_H
+#define RTTYDEMODULATOR_H
+
+#include <cdemodulator.h>
+
+/**Decodes RTTY 
+  *@author Volker Schroer
+  */
+enum StateOfReception { WaitingForStart, CountingStartBits,CollectingByte,
+												 CheckingParity, WaitingForStopBits,ThrowHalfBit};
+
+class RTTYDemodulator : public CDemodulator  {
+public: 
+	RTTYDemodulator();
+	~RTTYDemodulator();
+
+	/** Prozess the input */
+	void ProcessInput(double * input);
+	
+	bool Init(double,int);
+	
+public slots: // Public slots
+  /** Sets the frequency to be received */
+  void setRxFrequency(double freq);
+
+private: 	//Private Variables
+
+
+
+/** Number of samples to process */
+int NxSamples;
+/** Actuell Sample , just to be processed */
+int actSample;
+/** Adress of data */
+double *data;
+
+double	RxFrequency;
+/** Status of Shift */
+bool ShiftOn;
+
+/** Baudrate */
+int Baudrate;
+/** Number of Stopbits */
+
+unsigned int NumberOfStopBits;
+
+/** Parity
+	0 none
+	1 even
+	2 odd	*/
+unsigned int parity;
+/* Samples per bit */
+int SamplesPerBit;
+/* Number of Bits per Charackter */
+unsigned int NumberOfBits;
+
+bool DataAvailable;
+
+/* Status of reception*/
+StateOfReception Status;
+private: // Private methods
+  /** returns the asci char coresponding to the baudot code */
+  char baudot_code(char);
+  /** Processes the next sample */
+  double ProcessNextSample();
+  /** Filter for Space - Frequency */
+  double filter_space(double);
+  /** Filter for Mark Frequency */
+  double filter_mark(double);
+  /** Low  Pass Filter */
+  double filter_lp(double);
+  /** gets the next bit */
+  bool get_next_bit();
+};
+
+#endif
diff --git a/linpsk/rttymodulator.cpp b/linpsk/rttymodulator.cpp
new file mode 100644
index 0000000..1879512
--- /dev/null
+++ b/linpsk/rttymodulator.cpp
@@ -0,0 +1,428 @@
+/***************************************************************************
+                          rttymodulator.cpp  -  description
+                             -------------------
+    begin                : Tue Aug 21 2001
+    copyright            : (C) 2001 by Volker Schroer
+    email                : dl1ksv at gmx.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *    based on the work of  Moe Wheatly, AE4JY                             *  
+ ***************************************************************************/
+
+#include "rttymodulator.h"
+
+RTTYModulator::RTTYModulator(int FS,double frequency,CTxdisplay *txwindow) : CModulator(FS,txwindow)
+
+{
+Baudrate=45;
+NumberofStopBits=onepoint5;
+SamplesPerBit=SampleRate/Baudrate;
+f0=frequency;
+f1=frequency+170.;
+xr=1.0;
+xi=0.0;
+dr[0]=cos(f0*2.0*M_PI/SampleRate);
+di[0]=sin(f0*2.0*M_PI/SampleRate);
+dr[1]=cos(f1*2.0*M_PI/SampleRate);
+di[1]=sin(f1*2.0*M_PI/SampleRate);
+
+
+
+NxSamples=SamplesPerBit;
+actBit=0;  // Startbit
+BitsPerChar = 5;
+BitinChar=0;
+actChar=0;
+settings.status=TX_PREAMBLE_STATE;
+
+actCharacterStatus=IGNORE;
+secondchar =0;
+
+}
+RTTYModulator::~RTTYModulator()
+{
+
+}
+
+unsigned int RTTYModulator::CalcSignal(double *data,int BUFSIZE)
+{
+int i;
+for(i=0;i<BUFSIZE;i++)
+	{
+		if ( NxSamples >= SamplesPerBit) // get next bit , NxSamples will be reset in getNextBit
+					actBit = getNextBit();
+		if ( settings.status == TX_END_STATE)
+			  {
+					if (i >0) i--;
+					emit  finished();
+    			return i;
+				}
+		// Calculate next Sample
+		data[i] = calcNextSample(actBit);
+		NxSamples++;
+	}
+return BUFSIZE;
+}
+
+int RTTYModulator::getNextBit()
+{
+int bit;
+
+NxSamples =0;
+switch(settings.status)
+	{
+	case TX_PREAMBLE_STATE:       							
+  	bit = 1;
+		if (BitinChar++ >= Baudrate)
+				{
+				settings.status = TX_SENDING_STATE;
+				TX_Status = Startbit;
+				actChar = getChar();
+				if (actChar < 0 )
+					{
+						if ( actChar == TXOFF_CODE )
+							settings.status = TX_END_STATE;
+						else     // No character to transmit at the moment
+							TX_Status = WaitingforChar;
+					}
+				}
+		break;
+	case TX_SENDING_STATE:
+			switch(TX_Status)
+				{
+				case WaitingforChar:
+					actChar = getChar();
+					bit = 1;
+					if ( actChar < 0 )
+						{
+							if ( actChar == TXOFF_CODE )
+								settings.status = TX_END_STATE;
+							else
+								TX_Status = Startbit;
+								actChar = 0;
+							break;
+						}
+					else
+						TX_Status = Startbit; // We got a char to transmit, so start with startbit
+																	// direct
+				case Startbit:
+					bit=0;
+					BitinChar = 0;
+					TX_Status = SendChar;
+          break;
+				case SendChar:
+					if (BitinChar < BitsPerChar )
+						{
+							bit = actChar & 1;
+							BitinChar++;
+							actChar >>=1;
+						}
+					if (BitinChar == BitsPerChar)
+							TX_Status = Stopbit;
+				break;
+				case Stopbit:
+					switch (NumberofStopBits)
+						{
+						case one:
+							NxSamples=0;
+							break;
+						case onepoint5:
+							NxSamples=-SamplesPerBit/2;
+							break;
+						case two:
+							NxSamples= - SamplesPerBit;
+							break;
+						}
+///					actChar = getChar();
+					bit = 1;
+///					if ( actChar == TXOFF_CODE )
+///						settings.status = TX_END_STATE;
+///					else
+///					TX_Status = Startbit;
+					TX_Status = WaitingforChar;
+
+				break;
+			  }
+		break;
+	case TX_POSTAMBLE_STATE:
+		break;	
+	case TX_TUNE_STATE:
+		actChar = getChar();
+		bit =0;
+		if ( actChar == TXOFF_CODE)
+			{
+				settings.status = TX_END_STATE;
+				emit finished();
+			}			
+		break;
+	case TX_END_STATE:
+		bit=1;
+		break;
+	case TX_OFF_STATE:
+	case TX_PAUSED_STATE:
+	case TX_CWID_STATE:
+		break;							// ??????? !!!!
+
+	}
+
+
+return bit;
+}
+double RTTYModulator::calcNextSample(unsigned int bit)
+{
+double temp;
+temp = xr *dr[bit] - xi*di[bit];
+xi = xr *di[bit] + xi*dr[bit];
+xr = temp;
+temp = 2.0 -(xr*xr+xi*xi);
+xr *=temp;
+xi *=temp;
+
+return  40000.*xr;
+}
+
+int RTTYModulator::Char2Baudot(int character)
+{
+int value;
+static const char symbols[128]=
+	{
+	0x00,				// NULL               0
+	0x00,				// SOH   undefined    1
+	0x00,				// STX       "        2
+	0x00,				// ETX       "        3
+	0x00,				// EOT	     "        4
+	0x09,				// ENQ                5
+	0x00,				// ACK	undefined     6
+	0x0A,				// BEL                7
+	0x08,				// BS			?						8
+	0x00,				// HT		undefined			9
+	0x03,				// LF                10
+	0x00,				// VT		undefined		 11
+	0x00,				// FF				"        12
+	0x08,				// CR								 13
+	0x00,				// SO		undefined    14
+	0x00,				// SI				"        15
+	0x00,				// DLE	undefined    16
+	0x00,				// DC1			"				 17
+	0x00,				// DC2			"				 18
+	0x00,				// DC3			"        19
+	0x00,				// DC4			"				 20
+	0x00,				// NAK			"				 21		
+	0x00,				// SYN			"				 22
+	0x00,				// ETB			"				 23
+	0x00,				// CAN			"        24
+	0x00,				// EM 			"				 25
+	0x00,				// SUB			"				 26		
+	0x00,				// ESC			"				 27
+	0x00,				// FS 			"				 28
+	0x00,				// GS	 		  "        29
+	0x00,				// RS 	 		"				 30
+	0x00,				// US		  	"				 31		
+	0x04,				// SPACE						 32
+	0x00,				// !	   undefined	 33
+	0x11,				// "								 34
+	0x14,				// #								 35
+	0x09,				// $								 36
+	0x00,				// %		 undefinded	 37
+	0x00,				// &				"        38
+	0x05,				// '				"				 39
+	0x0f,				// (								 40
+	0x12,				// )								 41
+	0x00,				// *			undefined  42
+	0x11,				// +								 43
+	0x0c,				// ,								 44
+	0x03,				// -								 45
+	0x1A,				// .								 46
+	0x1d,				// /								 47
+	0x16,				// 0								 48
+	0x17,				// 1								 49
+	0x13,				// 2								 50
+	0x01,				// 3								 51
+	0x0A,				// 4								 52
+	0x10,				// 5								 53
+	0x15,       // 6								 54			
+ 	0x07,				// 7								 55
+	0x06,				// 8								 56
+	0x18,				// 9								 57
+	0x0E,				// :								 58
+	0x1e,				// ;								 59
+	0x00,				// <		undefined		 60
+	0x1e,				// =			?					 61
+	0x00,				// >		undefined 	 62
+	0x19,				// ?								 63
+	0x00,				// @		undefined		 64
+	0x03,				// A								 65
+	0x19,				// B								 66
+	0x0E,				// C								 67
+	0x09,				// D								 68
+	0x01,				// E								 69
+	0x0D,				// F								 70
+	0x1A,				// G								 71
+	0x14,				// H								 72
+	0x06,				// I								 73
+	0x0b,				// J								 74
+	0x0F,				// K								 75
+	0x12,				// L								 76
+	0x1C,				// M								 77
+	0x0C,				// N								 78
+	0x18,				// O								 79
+	0x16,				// P								 80
+	0x17,				// Q								 81
+	0x0A,				// R								 82
+	0x05,				// S								 83
+	0x10,				// T							   84
+	0x07,				// U								 85
+	0x1E,				// V								 86
+	0x13,				// W								 87
+	0x1D,				// X								 88
+	0x15,				// Y								 89
+	0x11,				// Z								 90
+	0x00,				// [ 		undefined		 91
+	0x00,				// \				"				 92
+	0x00,				// ]				"				 93
+	0x00,				// ^				"				 94
+	0x00,				// _				"				 95
+	0x00,				// '				"				 96
+	0x03,				// A								 97
+	0x19,				// B								 98
+	0x0E,				// C								 99
+	0x09,				// D								100
+	0x01,				// E								101
+	0x0D,				// F								102
+	0x1A,				// G								103
+	0x14,				// H								104
+	0x06,				// I								105
+	0x0b,				// J								106
+	0x0F,				// K								107
+	0x12,				// L								108
+	0x1C,				// M								109
+	0x0C,				// N								110
+	0x18,				// O								111
+	0x16,				// P								112
+	0x17,				// Q								113
+	0x0A,				// R								114
+	0x05,				// S								115
+	0x10,				// T							  116
+	0x07,				// U								117
+	0x1E,				// V								118
+	0x13,				// W								119
+	0x1D,				// X								120
+	0x15,				// Y								121
+	0x11,				// Z								122
+	0x00,				// { 		undefined		123
+	0x00,				// \				"				124
+	0x00,				// }				"				125
+	0x00,				// ~				"				126
+	0x00				// DEL			"				127
+	};
+static const CharacterStatus shift[128] =
+	{
+
+	 	IGNORE,IGNORE,IGNORE,IGNORE,  // 4* IGNORE
+		FIGS,
+		IGNORE,
+		FIGS,
+		IGNORE,IGNORE,IGNORE,IGNORE,  // 26 * IGNORE
+	 	IGNORE,IGNORE,IGNORE,IGNORE,
+	 	IGNORE,IGNORE,IGNORE,IGNORE,
+	 	IGNORE,IGNORE,IGNORE,IGNORE,
+	 	IGNORE,IGNORE,IGNORE,IGNORE,
+	 	IGNORE,IGNORE,IGNORE,IGNORE,
+	 	IGNORE,IGNORE,
+		FIGS,FIGS,FIGS,              // 3 * FIGS
+		IGNORE,
+		FIGS,FIGS,FIGS,FIGS,         // 4 * FIGS
+		IGNORE,
+		FIGS,FIGS,FIGS,FIGS,FIGS,    // 17 * FIGS
+		FIGS,FIGS,FIGS,FIGS,FIGS,
+		FIGS,FIGS,FIGS,FIGS,FIGS,
+		FIGS,FIGS,
+		IGNORE,
+		FIGS,
+		IGNORE,
+		FIGS,
+		IGNORE,
+		LTRS,LTRS,LTRS,LTRS, 					//26 * LTRS
+		LTRS,LTRS,LTRS,LTRS,
+		LTRS,LTRS,LTRS,LTRS,
+		LTRS,LTRS,LTRS,LTRS,
+		LTRS,LTRS,LTRS,LTRS,
+		LTRS,LTRS,LTRS,LTRS,
+		LTRS,LTRS,
+		IGNORE,IGNORE,IGNORE,IGNORE,  // 6* IGNORE
+		IGNORE,IGNORE,
+		LTRS,LTRS,LTRS,LTRS,					// 26 * LTRS
+		LTRS,LTRS,LTRS,LTRS,
+		LTRS,LTRS,LTRS,LTRS,
+		LTRS,LTRS,LTRS,LTRS,
+		LTRS,LTRS,LTRS,LTRS,
+		LTRS,LTRS,LTRS,LTRS,
+		LTRS,LTRS,
+		IGNORE,IGNORE,IGNORE,IGNORE,   // 5 * IGNORE
+		IGNORE
+
+	};
+switch (shift[character])
+	{
+	case IGNORE:
+		value = symbols[character];
+		break;
+	case LTRS:
+		if ( actCharacterStatus != LTRS)
+			{
+				value = 0x1f;
+				secondchar = symbols[character];
+				actCharacterStatus = LTRS;
+			}
+		else
+			value = symbols[character];
+		break;
+	case FIGS:
+		if ( actCharacterStatus != FIGS)
+			{
+				value = 0x1b;
+				secondchar = symbols[character];
+				actCharacterStatus = FIGS;
+			}
+		else
+			value = symbols[character];
+		break;
+			
+	}
+return value;
+}
+
+int RTTYModulator::getChar()
+{
+int value;
+char ch;
+	
+ch = 0;
+
+if (secondchar != 0)
+	{
+		value = secondchar;
+		secondchar = 0;
+	}
+else
+	do
+		{
+			value =   tx->txwindow->getTxChar();
+				if ( value > 0 )
+					{
+						ch = value;
+						if ( value > 127 )
+						value = value -128;
+					value = Char2Baudot(value);
+	       }
+		}   while ( value == 0 );
+if (ch > 0)
+	emit charSend(ch);
+return value;
+}
diff --git a/linpsk/rttymodulator.h b/linpsk/rttymodulator.h
new file mode 100644
index 0000000..0c6bf34
--- /dev/null
+++ b/linpsk/rttymodulator.h
@@ -0,0 +1,63 @@
+/***************************************************************************
+                          rttymodulator.h  -  description
+                             -------------------
+    begin                : Tue Aug 21 2001
+    copyright            : (C) 2001 by Volker Schroer
+    email                : dl1ksv at gmx.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ ***************************************************************************/
+
+#ifndef RTTYMODULATOR_H
+#define RTTYMODULATOR_H
+
+#include "cmodulator.h"
+#include "parameter.h"
+
+/**Implementation of the RTTY Modulator
+  *@author Volker Schroer
+  */
+enum CharacterStatus {IGNORE,LTRS,FIGS};
+enum RTTYStates {Startbit,SendChar,Stopbit,WaitingforChar};
+enum StopBits{one,onepoint5,two};
+
+class RTTYModulator : public CModulator
+{
+Q_OBJECT
+public: 
+	RTTYModulator(int FS,double freq,CTxdisplay *txwindow);
+	~RTTYModulator();
+unsigned int CalcSignal(double *data,int BufferSize);
+
+private:
+
+unsigned int Baudrate;
+StopBits NumberofStopBits;
+int SamplesPerBit;
+unsigned int BitsPerChar;
+int NxSamples;
+unsigned int actBit;
+int actChar;
+unsigned int BitinChar;
+double xr,xi;
+double dr[2],di[2];
+
+double f0,f1; // Mark and Space frequencies
+CharacterStatus actCharacterStatus;
+RTTYStates TX_Status;
+int secondchar;
+int getNextBit();
+/** int getNextBit() returns the next bit to be transmitted */
+double calcNextSample(unsigned int bit);
+/** calculates the next Sample value depending on bit */
+int Char2Baudot(int);
+int getChar();
+};
+
+#endif
diff --git a/linpsk/setup.cpp b/linpsk/setup.cpp
new file mode 100644
index 0000000..4ff0a9b
--- /dev/null
+++ b/linpsk/setup.cpp
@@ -0,0 +1,166 @@
+/***************************************************************************
+                          setup.cpp  -  description
+                             -------------------
+    begin                : Tue Apr 4 2000
+    copyright            : (C) 2000 by Volker Schroer
+    email                : DL1KSV at gmx.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *    based on the work of  Moe Wheatly, AE4JY                             *  
+ ***************************************************************************/
+#include "setup.h"
+
+extern bool checkcom(char *s);
+extern int getVolume(int Device);
+extern int getOutputVolume();
+
+Setup::Setup(QWidget *parent, const char *name) : FSetup(parent,name,TRUE)
+{
+QString s;
+
+// DemoMode
+  demoMode=settings.DemoMode;
+	DemoMode->setChecked(demoMode);
+	if (demoMode)
+	{
+		DemoInputMode->show();
+		DemoInputMode->setButton(settings.DemoTypeNumber);
+	}	
+else
+	DemoInputMode->hide();	
+
+// Callsign
+	
+  UserCallSign->setText(settings.callsign);
+
+// Station File
+	SendFile->setText(settings.StationFile);
+
+// TimeOffset
+  TimeOffset->setText(s.setNum(settings.timeoffset));
+
+// UserDefined Button
+	ButtonName->setText(settings.ButtonName);
+
+// Corresponding ButtonFile
+	ButtonFile->setText(settings.ButtonFile);
+// Input Source (Ugly coding)
+	if (settings.InputSource == SOUND_MIXER_MIC)
+	InputSelect->setButton(0);
+		if (settings.InputSource == SOUND_MIXER_LINE)
+	InputSelect->setButton(1);
+	InputSource = settings.InputSource;
+	setInputSource(InputSource);
+
+// InputLevel
+	level = getVolume(settings.InputSource);
+	InputLevel->setValue(level);
+	
+// OutputLevel
+	OutputLevel->setValue(getOutputVolume());
+
+// slashedZero
+	slashed0=settings.slashed0;
+	slashedZero->setChecked(slashed0);
+
+
+//  PTTControl
+	if(!checkcom("/dev/ttyS0"))
+		Com1->hide();
+		
+
+	if(!checkcom("/dev/ttyS1"))
+		 Com2->hide();
+
+  if(!checkcom("/dev/ttyS2"))
+		Com3->hide();
+
+
+	if(!checkcom("/dev/ttyS3"))
+		Com4->hide();
+  ptt=settings.ptt;
+	PTTControl->setButton(ptt);
+
+// Number of receive windows
+  RxChannels->setValue(settings.RxChannels);
+	
+}
+
+Setup::~Setup(){
+}
+
+/** Sets the Demomode on or off */
+void Setup::setDemoMode(bool mode)
+{
+demoMode=mode;
+}
+
+
+void Setup::setComPort(int port)
+{
+ptt=port;
+}
+
+void Setup::setSlashed0(bool zero)
+{
+slashed0=zero;
+}
+
+
+void Setup::setInputLevel(int SelectedLevel)
+
+{
+	level=SelectedLevel;
+	setVolume(InputSource,level);
+}
+
+
+void Setup::setOutputLevel(int level)
+
+{
+	setOutputVolume(level);
+}
+/** Activates/Deactivates the SubWindow for the different Demo's */
+void Setup::activateTypeWindow(bool type)
+{
+if (type)
+	{
+		DemoInputMode->show();
+		demoMode= true;
+	}	
+else
+	{
+		DemoInputMode->hide();
+		demoMode = false;
+	}	
+}
+/** Selects the type of the input file
+1 wav
+2 text , sample rate 11025 */
+void Setup::selectDemoType(int type)
+{
+ DemoTypeNumber = type;
+
+}
+
+void Setup::selectInput(int source)
+{
+if (source == 0)
+	{
+		setInputSource(SOUND_MIXER_MIC);
+		InputSource=SOUND_MIXER_MIC;
+	 }	
+if (source == 1)
+	{
+		setInputSource(SOUND_MIXER_LINE);	
+		InputSource=SOUND_MIXER_LINE;
+	}	
+	
+setInputLevel(level);	
+}
diff --git a/linpsk/setup.h b/linpsk/setup.h
new file mode 100644
index 0000000..7f6be30
--- /dev/null
+++ b/linpsk/setup.h
@@ -0,0 +1,82 @@
+/***************************************************************************
+                          setup.h  -  description
+                             -------------------
+    begin                : Tue Apr 4 2000
+    copyright            : (C) 2000 by Volker Schroer
+    email                : DL1KSV at gmx.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *   based on the work of Moe Wheatley, AE4JY                              *
+ ***************************************************************************/
+
+#ifndef SETUP_H
+#define SETUP_H
+
+
+
+#include <qwidget.h>
+#include <qradiobutton.h>
+#include <qbuttongroup.h>
+#include <qpushbutton.h>
+#include <qlineedit.h>
+#include <qcheckbox.h>
+#include <qlabel.h>
+#include <qspinbox.h>
+
+#include "parameter.h"
+#include "checkcom.h"
+
+#include <string.h>
+
+#include <sys/types.h>
+#include <sys/soundcard.h>
+
+#include "fsetup.h"
+
+
+extern Parameter settings;
+
+class Setup : public FSetup {
+   Q_OBJECT
+public: 
+	Setup(QWidget *parent=0, const char *name=0);
+	~Setup();
+  bool demoMode;
+	bool slashed0;
+
+	int ptt;
+	int DemoTypeNumber;
+/** InputSource
+ButtonId		0= Mic -> SOUND_MASK_MIC
+ButtonID		1= Line -> SOUND_MASK_MIC
+*/		 	
+	int InputSource;
+private:
+	int level;
+
+public slots: // Public slots
+  /** Sets the Demomode on or off */
+void setDemoMode(bool mode);
+	/** Sets the Com port for ptt */
+void setComPort(int);
+	
+void setSlashed0(bool);
+void setInputLevel(int);
+void setOutputLevel(int);
+  /** Activates/Deactivates the SubWindow for the different Demo's */
+  void activateTypeWindow(bool type);
+  /** Selects the type of the input file
+1 wav , sample rate 11025
+2 text
+ */
+  void selectDemoType(int type);
+  void selectInput(int source);
+};
+
+#endif
diff --git a/linpsk/textinput.cpp b/linpsk/textinput.cpp
new file mode 100644
index 0000000..b5712ff
--- /dev/null
+++ b/linpsk/textinput.cpp
@@ -0,0 +1,104 @@
+/***************************************************************************
+                          textinput.cpp  -  description
+                             -------------------
+    begin                : Sat May 5 2001
+    copyright            : (C) 2001 by Volker Schroer
+    email                : DL1KSV at gmx.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *    based on the work of  Moe Wheatly, AE4JY                             *  
+ ***************************************************************************/
+
+#include "textinput.h"
+#include <errno.h>
+
+extern int errno;
+
+TextInput::TextInput(int ptt = -1):Input(ptt)
+{
+}
+TextInput::~TextInput()
+{
+}
+
+/** Opens the Device for writting, for Textfiles this means write nothing ! */
+bool TextInput::open_Device_write(QString Device)
+{
+int j;
+const char name[]="RTTY.out";
+		fd=open(name,O_RDWR|O_CREAT|O_TRUNC,S_IRWXU);
+		if (fd >= 0)
+			return true;
+			else
+			{
+      j= errno;
+			return false;
+			}
+}
+
+/** gets the samples from the device */
+int TextInput::getSamples(double *sample,int anzahl)
+{
+static char Buf[128];
+int pos;
+int i,j;
+double x;
+
+pos = 0;
+j=0;
+while (j<anzahl)
+ {
+  do
+  i= read(fd,&Buf[pos],sizeof(Buf[0]));
+  while ( (i == 1) && (Buf[pos++] != '\n') && (pos <128) );
+  if ( i== 1 )
+   {
+   	if ( pos >= 127)
+   		qWarning("Input file has strange lines\n");
+    pos--;
+	  Buf[pos]=0;
+    x = atof(Buf);
+	  *(sample++)=x/8.;
+    j++;
+		pos=0;
+    }
+   else
+
+		
+    lseek(fd,0,SEEK_SET);
+		
+ } // End while
+return j;
+}
+
+/** puts the Samples onto the Device, for a Textmode Device nothing happens */
+int TextInput::putSamples(double *sample,int anzahl)
+{
+int i;
+char c;
+QString s;
+for(i=0;i<anzahl;i++)
+	{
+		s.setNum((int) sample[i]);
+				write(fd,s.latin1(),s.length());
+		c='\n';
+		write(fd,&c,1);
+	}
+return anzahl;
+}
+	
+/** Dummy */
+void TextInput::PTT(bool mode)
+{
+}
+/** Dummy */
+bool TextInput::setParams(QString *errorstring)
+{
+return true;
+}
diff --git a/linpsk/textinput.h b/linpsk/textinput.h
new file mode 100644
index 0000000..5a9c5b7
--- /dev/null
+++ b/linpsk/textinput.h
@@ -0,0 +1,45 @@
+/***************************************************************************
+                          textinput.h  -  description
+                             -------------------
+    begin                : Sat May 5 2001
+    copyright            : (C) 2001 by Volker Schroer
+    email                : DL1KSV at gmx.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *   based on the work of Moe Wheatley, AE4JY                              *
+ ***************************************************************************/
+
+#ifndef TEXTINPUT_H
+#define TEXTINPUT_H
+
+#include "input.h"
+#include <stdlib.h>
+#include <sys/stat.h>
+/**Implementation of the Input Class for textfiles
+  *@author Volker Schroer
+  */
+
+class TextInput : public Input  {
+public: 
+	TextInput(int ptt);
+	~TextInput();
+
+	/** Opens the Device for writting */	
+	bool open_Device_write(QString Device);
+	/** gets the samples from the device */
+	int getSamples(double *sample,int anzahl);
+	/** puts the Samples onto the Device, for a Textmode Device nothing happens */
+	int putSamples(double *sample,int anzahl);
+	/** Dummy */
+	void PTT(bool mode);
+	/** Dummy */
+	bool setParams(QString *errorstring);
+};
+
+#endif
diff --git a/linpsk/waveinput.cpp b/linpsk/waveinput.cpp
new file mode 100644
index 0000000..0a6a83d
--- /dev/null
+++ b/linpsk/waveinput.cpp
@@ -0,0 +1,157 @@
+/***************************************************************************
+                          waveinput.cpp  -  description
+                             -------------------
+    begin                : Sat May 5 2001
+    copyright            : (C) 2001 by Volker Schroer
+    email                : DL1KSV at gmx.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *    based on the work of  Moe Wheatly, AE4JY                             *  
+ ***************************************************************************/
+
+#include "waveinput.h"
+
+WaveInput::WaveInput(int ptt = -1): Input(ptt)
+{
+}
+WaveInput::~WaveInput(){
+}
+
+/** Opens the Device for writting, for Wavefiles this means write nothing ! */
+bool WaveInput::open_Device_write(QString Device)
+{
+return true;
+}
+
+/** puts the Samples onto the Device, for a Wavemode Device nothing happens */
+int WaveInput::putSamples(double *sample,int anzahl)
+{
+return anzahl;
+}
+	
+/** Dummy */
+void WaveInput::PTT(bool mode)
+{
+}
+/** Dummy */
+bool WaveInput::setParams(QString *errorstring)
+{
+return true;
+}
+
+ /** Opens the Device named Device for reading */
+
+bool WaveInput::open_Device_read(QString Device)
+{
+char header[5];
+char c;
+QString s;
+int i;
+fd = open(Device,O_RDONLY);
+if (fd < 0)
+	return false;
+// Check for RIFF
+i =read(fd,&header[0],4*sizeof(header[0]));
+if ( i != 4)
+	{
+		close(fd);
+		qWarning("Header mismatch\n");
+		return false;
+	}
+header[4]=0;	
+s=QString(header);
+
+if  ( s != "RIFF")
+	{
+		close(fd);
+		qWarning(Device + " is not a RIFF File\n");
+		return false;
+	}
+//Check for Wave
+lseek(fd,8,SEEK_SET);
+
+i =read(fd,&header[0],4*sizeof(header[0]));
+header[4]=0;
+if ( i != 4)
+	{
+		close(fd);
+		qWarning("SubType mismatch\n");
+		return false;
+	}
+s=QString(header);
+
+if  ( s != "WAVE")
+	{
+		close(fd);
+		qWarning(Device + " is not a WAVE File\n");
+		return false;
+	}
+// Now find data
+
+i=read(fd,&header[0],4*sizeof(header[0]));
+if ( i != 4)		
+	{
+		close(fd);
+			qWarning("No data found\n");
+	return false;
+	}
+header[5]=0;
+
+s=QString(header);
+while( ( s != "data" ) && (i > 0) )
+	{
+		i = read (fd,&c,1);
+		s.remove(0,1); 	// remove first character
+		s += c;					// append new one
+	}		
+if ( s == "data")
+	{		// got it
+		offset = lseek(fd,4,SEEK_CUR);		
+		lseek(fd,offset,SEEK_SET); //Remove 4 bytes length info
+		return true;
+	}
+else
+	{								//no data found
+		close(fd);
+			qWarning("No data found\n");
+	return false;
+	}
+	
+}
+
+int WaveInput::getSamples(double *sample,int anzahl)
+{
+unsigned char c[2];
+int i,j;
+j=0;
+double x;
+while (j<anzahl)
+ {
+
+  i= read(fd,&c[0],2*sizeof(c[0]));
+  if (i == 2)
+  	{
+			if ( c[1] < 128 )
+			i =  c[0]+ c[1]* 256 ;
+			else
+			i = ( c[1]- 256) *256 +c[0];
+  		x= i;
+			*(sample++)= x/8.;
+			
+			j++;
+		}		
+   else
+
+		
+    lseek(fd,offset,SEEK_SET);
+		
+ } // End while
+return j;
+
+}
diff --git a/linpsk/waveinput.h b/linpsk/waveinput.h
new file mode 100644
index 0000000..7a2c98c
--- /dev/null
+++ b/linpsk/waveinput.h
@@ -0,0 +1,52 @@
+/***************************************************************************
+                          waveinput.h  -  description
+                             -------------------
+    begin                : Sat May 5 2001
+    copyright            : (C) 2001 by Volker Schroer
+    email                : DL1KSV at gmx.de
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *   based on the work of Moe Wheatley, AE4JY                              *
+ ***************************************************************************/
+
+#ifndef WAVEINPUT_H
+#define WAVEINPUT_H
+
+#include "input.h"
+#include <stdlib.h>
+
+/**Implementation of the Input Class for wave - files
+The implementation is simplified . But it can process the two sample files
+for mfsk16 and psk31.
+The class doesn't produce output at the moment
+  *@author Volker Schroer
+  */
+
+class WaveInput : public Input  {
+public: 
+	WaveInput(int ptt);
+	~WaveInput();
+	/** Opens the Device for writting */	
+	bool open_Device_write(QString Device);
+	/** gets the samples from the device */
+	int getSamples(double *sample,int anzahl);
+	/** puts the Samples onto the Device, for a Textmode Device nothing happens */
+	int putSamples(double *sample,int anzahl);
+	/** Dummy */
+	void PTT(bool mode);
+	/** Dummy */
+	bool setParams(QString *errorstring);	
+  /** Opens the Device named Device for reading */
+  bool open_Device_read(QString Device);
+	
+protected:
+ int offset;	
+};
+
+#endif
diff --git a/stamp-h.in b/stamp-h.in
new file mode 100644
index 0000000..e69de29
diff --git a/subdirs b/subdirs
new file mode 100644
index 0000000..ff39ccc
--- /dev/null
+++ b/subdirs
@@ -0,0 +1 @@
+linpsk

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-hamradio/linpsk.git



More information about the pkg-hamradio-commits mailing list